运动规划和SLAM什么关系?

2022-05-10 08:30:51 浏览数 (1)

前言

SLAM知识星球里经常有小伙伴问我,学习了SLAM开源代码后,如何进行导航。星球里我是这样回复的:

这里解释下运动规划和SLAM什么关系?

其实在企业里,SLAM算法工程师、运动规划工程师通常是相对独立的岗位,SLAM技术通常可以得到稀疏的定位地图,结合后处理可以得到稠密的三维点云地图。此时我们需要用一定的规则将其转化为栅格化地图,机器人在这个地图的基础上进行运动规划(导航)。SLAM和运动规划是自主机器人的两个核心技术。

什么是导航与运动规划?

简单来说,解决机器人导航问题一般被称为运动规划,就是让机器人可以自主根据传感器获取外部环境信息,在当前环境中找到一条适合机器人行走的最佳路径。这不是一个简单的工作,因为地图可能发生变化,其他运动的物体也是必须要绕过的障碍物,所以常常需要更改自己的规划,如何在这种复杂的环境下高效率地实现最佳路径,就是运动规划的使命。

我们先来看下面的例子,这是一个用在DARPA城市挑战赛中的真实运动规划算法。

自动驾驶实时运动规划

我们可以看到,当汽车运行时,迷宫在不断变化,这是模拟汽车正在用传感器探测附近的障碍物,只有障碍物距离汽车足够近被汽车探测到后,我们才会把障碍物考虑到运动规划框架里,这时候汽车需要更改当前已经规划好的路径,橘色的树是规划算法的搜索树,指引汽车找到通向目标的路径,运动规划算法的更新要足够准确,并且及时,确保在最短的时间做出最佳决策,这样才能尽快找到出路,在规定时间内完成任务。

运动规划应用

只要是移动智能体都需要运动规划。比如家用扫地机器人、物流仓库用的仓储机器人、饭店里的送餐机器人、酒店/医院里的配送机器人等;还有自动驾驶汽车;在复杂的环境(如树林、建筑群)里飞行的智能无人机等。

扫地机器人的运动规划

运动规划在移动机器人的应用

运动规划在无人机的应用

运动规划好学吗?

ROS中导航模块就包含了运动规划部分。不过存在如下问题:

  • ROS导航模块的结构比较复杂,代码比较多,对初学者不太友好,学习理解代码比较困难。
  • 而且运动规划是非常重视实践的学科,空有理论根本无法实操项目,企业对运动规划的从业者要求越来越高,从业者不能只做个调包侠。只有深入理解算法原理和代码实现才能具有核心竞争力,在找工作中成为offer收割机。

0 人点赞