VGRAPH路径规划(Lozano-Perez and Wesley, 1979)

本文中的方法来自文章:
Lozano-Pérez T, Wesley M A. An algorithm for planning collision-free paths among polyhedral obstacles[J]. Communications of the ACM, 1979, 22(10): 560-570.

本文参考了以下项目代码(特别是地图数据、增长障碍物部分代码、线段是否相交检查部分代码),特表示感谢:

https://github.com/jingxixu/vgraph

VGRAPH路径规划算法代码下载本文代码。

算法的主要思想是,将运动体看作一个点,通过将障碍物“增长”适当的程度,以满足避碰需求。在图中搜寻一条从起点到目标点的路径即可。

该路径的重要特性是它由通过障碍物顶点序列将原点连接到目的地的直线组成。在具有任意多边形运动体的平面中运动的情况下,连接任何两个可访问点的最短无碰撞路径始终具有此属性。

如下图所示,正方形运动体(绿色框)要从当前位置(起点)移动到终点(红色*),不考虑运动体的旋转,以运动体的中心为参考点,为该参考点确定一条路径。

地图

由于运动体被看作一个点,因此需要对障碍物进行增长,以满足避碰需要:

增长障碍物

从上图可见,即便运动体的参考点(正方形中心)在增长后障碍物的边缘,运动体与障碍物之间正好不会发生碰撞。

之后,寻找可直接相连的路径:

检查可直接相连的顶点

最后,搜索地图以得到最短通行路径:

最短路径

推荐阅读更多精彩内容

  • 跟女儿打了个视频电话,我问了下她什么是正能量,她告诉我正能量就是听话,做好事。她愉快地跟我分享了从学堂重返一年级这...
    山水青清阅读 108评论 0 2
  • 不知是哪个伙伴说休息日完成作业好难呀,我深有同感。 休息日有着大把的时间完成写作作业,家务虽多,全安排好了,还是有...
    洛阳向日葵阅读 53评论 0 0
  • 张良劝告刘邦烧毁栈道后,便带着近百个随从,快马加鞭地向阳翟奔去。 凌厉的寒风从耳边呼啸而过,他不觉得冷,只感到舒适...
    月儿上山了阅读 1,519评论 41 32
  • 小学喜欢一个女孩儿,结果没追成。但也收获了爱情,因为她闺蜜喜欢上了我。后来我也喜欢上了她闺蜜,然后我们就在一起了,...
    夜宵河粉阅读 16评论 0 0
  • 渔人码头。 深圳蛇口港。 深圳蛇口游艇会。 香港TV深圳总部。 海上世界。 深圳海事。 蛇口市场。 一路被我骑车悠...
    里里溪主笔阅读 140评论 0 0