今天是:2017年6月26日 星期一   设为首页 | 重要文件 济南市天桥区科学技术协会
济南市天桥区科学技术协会
详细信息
当前位置:首页 > 生活百科 > 正文
导航软件是如何规划路线的?
作者:科技日报    来源:原创    发布日期:2016-09-16 00:00:00   点击次数:0

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

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

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

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

版权所有:济南市天桥区科学技术协会 地 址:济南市天桥区堤口路53号
电 话:0531-85872670 邮 编:250031
传 真:0531-85872670 电子邮件:jntqkx@163.com
技术支持:恒创 鲁ICP备14003541号