一起自学SLAM算法:11.3 路径规划

连载文章,长期更新,欢迎关注:


写在前面

第1章-ROS入门必备知识

第2章-C++编程范式

第3章-OpenCV图像处理

第4章-机器人传感器

第5章-机器人主机

第6章-机器人底盘

第7章-SLAM中的数学基础

第8章-激光SLAM系统

第9章-视觉SLAM系统

第10章-其他SLAM系统

第11章-自主导航中的数学基础

        11.1 自主导航发展简史

        11.2 环境感知

        11.3 路径规划

        11.4 运动控制

        11.5 强化学习与自主导航

第12章-典型自主导航系统

第13章-机器人SLAM导航综合实战


路径规划其实就是在回答图11-1中机器人提出的第3个问题“我该如何去”,不管是在已知地图上导航或是在未知环境下通过一边探索地图一边导航,路径规划其实就是在地图上寻找到一条从起点到目标点可行通路的问题。广义上的路径规划就是一种问题求解策略,比如魔方还原、积木拼图、计算机网络通信中的路由通路选择、数控机床车刀动作线、机械臂抓取动作、机器人自主导航等都蕴含着路径规划思想[7]p4~26。

对于机器人自主导航问题,通常在给定的栅格地图上进行路径规划。如图11-8所示,通过对整个栅格地图遍历很容易找到一条从A到B的路径,比如路径L1或L2,而且这样的路径并不唯一。在实际机器人导航中,不仅仅是找到一条可通行路径就完了,还必须考虑路径的各项性能(比如长度、平滑性、碰撞风险、各种附加约束等)。由于在二维栅格地图和三维栅格地图上的路径规划原理是一样的,为了方便讨论,下面就以二维栅格地图为例来介绍一些具体的路径规划算法。

一起自学SLAM算法:11.3 路径规划_第1张图片

 图11-8  路径规划

11.3.1 常见的路径规划算法

机器人自主导航中比较常用的路径规划算法包括Dijkstra、A*、D*、PRM(Probabilistic Roadmaps)、RRT(Rapidly-exploring Random Tree),另外还有遗传算法、蚁群算法、模糊算法等[8]。

1.基于图结构的路径搜索

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

2.基于采样的路径搜索

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

11.3.2 带约束的路径规划算法

通常路径规划问题的解并不唯一,对于导航中的路径规划来说就是存在多条可行的路径,如图11-8所示。在实际应用中,需要依据某些准则从多条可行的路径中挑选出最合适的一条路径,这就是带约束的路径规划。

1.什么是约束

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

2.几何约束

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

3.微分约束

(先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

11.3.3 覆盖的路径规划算法

 (先占个坑,有时间再来补充详细内容,大家可以直接看文后的参考文献)

源码仓库

  • Github下载:github.com/xiihoo/Books_Robot_SLAM_Navigation

  • Gitee下载(国内访问速度快):gitee.com/xiihoo-robot/Books_Robot_SLAM_Navigation

参考文献

【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

你可能感兴趣的:(一起自学SLAM算法,机器人,自动驾驶,人工智能,算法)