各位小伙伴可在闲鱼搜索 优化算法交流地,即可搜索到官方闲鱼账号,谨防上当受骗。
hello,大家好,今天先为各位讲解三维路径规划预备知识。
首先以一个问题为例引入今天所讲的三维路径规划,在21 km * 21 km的一片海域中搜索从起点到终点,并且避开所有障碍物的路径。起点坐标为(1,10,800),终点坐标为(21,8,1200),示意图如下所示。
面对这样一个实际的三维路径规划问题,其实各位可以设身处地的思考一下。如果让各位去从起点到终点,找到这样一条路径,各位会怎么做?
一个比较原始的想法是:每走一小段路程,就拿出指南针调整路径,然后继续走,继续调整,直到到达终点。
但是如果让电脑处理这个问题,首先电脑不知道这“一小段路程”究竟是多远;其次电脑也不知道该向哪个方向走。
因此,在使用算法求解三维路径规划问题的第一步就是建立三维空间的抽象模型。
抽象建模的方法如下:把三维地图左下角的顶点作为三维空间的坐标原点A,在点A建立三维坐标系,其中x轴沿经度增加的方向,y轴为沿纬度增加的方向,z轴为垂直于海平面方向。
以A点为顶点,沿x轴方向取三维地图的最大长度AB,沿y轴方向取三维地图的最大长度AD,沿z轴方向取三维地图的最大长度AA1,这样就构造了包含三维地图的立方体区域ABCD-A1B1C1D1,该区域即为三维路径的规划空间。
三维路径空间建立起来后,采用等分空间的方法从三维空间抽取三维路径所需的网格点。首先沿边AB把空间ABCD-A1B1C1D1等分为n+1份,得到n+1个平面;其次对这n+1个平面沿边AD等分为m+1份;然后沿边AA1等分为h+1份;最后求出里面的交点。
假设n=1,m=1,h=1,则得到的交点示意图如下所示。
得到三维图中的各个交点后,就可以采用蚁群算法确定究竟选择哪些交点作为路径点。好了,今天就讲到这里,各位,下期见!
参考
1.郁磊. MATLAB智能算法30个案例分析[M]. 北京航空航天大学出版社, 2011.