天下网吧 >> 网吧系统 >> 系统动态 >> 正文

科普:导航软件是如何规划路线的?

2016-9-26不详佚名

路径规划无论在民用还是军用领域都应用广泛,汽车行驶需要路径规划,导弹、无人机等飞行器也需要进行航路(或航迹)规划,它们的底层算法是相通的,只不过汽车路径规划相对简单只需要在二维平面进行,而且对规划环境以及反应速度等方面的要求没有飞行器那么高。本质上说,底层算法包括两大类。

第一种是数值优化算法。它在起点和终点之间布设一系列路径点,使用坐标值表述路径点位置,让汽车沿着这些点行驶。在选择路径点时,就需要定义目标函数,例如路径长度最短。规划过程中还需考虑一些约束条件,比如对咱们日常驾驶的汽车来说,必须要求路径点都位于已有道路上。然后,借鉴一些现代数值优化算法(比如粒子群算法,它是模拟鸟群、鱼群捕食过程的全局搜索算法),不断地对可能布设路径点的区域进行探索,最终确定使得目标函数最优(如路径长度最低)的路径点。

但总体来说,如果路径点规模较大时,使用数值优化算法求解路径规划时,问题的维度将急剧增加,导致规划过程所需时间较长,难以满足导航软件的时效性要求。如今非常具有实用性的是第二种算法——启发式算法

启发式算法,以我们导航上常用的“A*算法”“Dijikstra算法”等为代表,它从起始点开始,以一定的步长为单位,进行节点扩展。选取代价值(如路径长度)最小的节点作为扩展节点,扩展过程中需要考虑一些约束,比如转弯半径的限制以及对风险障碍的规避等等,这就使扩展角度不可能总是全方位的。如此一步步扩展,直到当某个扩展节点到达目标终点时,再从终点倒过来回溯到起点,这样,把过程中的各个节点串起来,就成为了一条规划的路径。

本文来源:不详 作者:佚名

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下