传统的导航算法介绍

nav1

传统定位方法通常依赖于先验全局地图外部传感器的结合来实现。

  • 系统首先利用外部传感器(如GPS、激光雷达、摄像头或里程计)进行感知输入。
  • 当有先验全局地图时,传感器信息与全局地图进行匹配,从而得到全局定位结果。
  • 在缺乏全局定位或精度不足的情况下,传感器数据还会用于构建局部地图。局部地图与传感器观测不断更新,并通过局部定位模块进行实时位置估计。
  • 局部定位局部地图之间形成闭环:局部定位依赖地图进行匹配,而地图的更新也基于局部定位的结果。

nav2

传统路径规划与控制通常分为全局路径规划局部路径规划两个层次:

  • 全局层面,系统依赖先验全局地图全局定位,通过路径搜索算法(如A*、Dijkstra或基于图的优化方法)生成一条从起点到目标点的可行路径。
  • 局部层面,系统结合局部定位局部地图,实时进行局部路径规划。局部规划能够在已有全局路径的指导下,动态避障、修正轨迹,使机器人适应实际环境中的局部变化。
  • 最终,规划出的路径由本体感知(如速度、姿态、动力学状态反馈)驱动的反馈控制模块来执行,确保机器人按照预期轨迹稳定运行。

这种架构实现了“全局目标导向 + 局部动态避障 + 底层反馈控制”的完整链路。

新一代的导航

1. 多模态信息耦合的控制算法 (本体通过能力)

nav3

典型的长时序本体感知被用于反馈控制例子是,

  1. 如果四足机器人盲走到楼梯上,那么它每个腿的落点以及身体的倾角应该包含了楼梯的几何信息,可以用这些信息进行后续的行走。因此,长时序本体感知信息是非常有用的。
  2. 如果轮式机器人爬一个很陡峭的坡,第一次滑下来了,那么他应该后退给起步距离,然后冲上去

这些都是长时序本体感知用于反馈控制的例子

典型的视觉信息用于前馈控制的例子有

  1. 望梅止渴,人们看到梅子就自动的产生口水而缓解口渴,这说明视觉是可以直接作用于动作,不需要高级的大脑功能。尤其需要注意的是,这是在吃梅子之前就产生的反应,因此更多是前馈控制。
  2. 机器人行走在楼梯,不连续的地面等复杂情况时
  3. 轻车熟路,在某个场景中开车走过了很多遍之后,看到某个场景就会马上执行某些特定动作,而不需要大脑规划路线、感知环境,这似乎是直接从视觉到动作的关联

直接从原始的视觉信息中的反馈控制可以有效的提高反馈控制效率,并且提高机器人在不同地形的通过性,这实际上很多时候并不需要更高级的大脑参与。

2. 局部环境感知和本体运动估计 (外部感知能力)

发展过程中依托于自动驾驶的发展得到的三种技术路线为:

nav4

  1. 局部地图构建与局部定位是非耦合的;在某些极端场景下例如无纹理长走廊,更本不需要定位只需要当前帧信息身成的地图就可以导航,人类可以只根据一张图片即可确定下一步的路径。因此,BEV方案将这一耦合去除,只需要低精度的里程计就够了。
  2. 一朝被蛇咬,十年怕井绳;动作/行为与感知任务之间存在关联性,每一种物体的感知重要性是不一样的。
  3. 外部环境感知的目标是安全的执行移动任务,而非感知全部的外部环境;因此,端到端模型中利用路径规划表达指导感知任务,重点关注那些会导致重大安全事故的物体特征,为他们分配最多的资源。所以端到端的训练是必须的,而争议点在于是采用一个整体的模型进行黑箱端到端训练,还是拆分为具有具体功能的可导模块再训练,如下图所示。

nav5

  1. 对于机器人来说,仿真永远仿的不够真实;因此,运行机器人执行错误并且具有自主调整能力非常重要。例如,遇到没见过的地形或障碍物,低速撞上去之后能得到反馈,下次遇到这类情况能更好的处理。

3. 认知地图和方向感导航 (空间记忆和逻辑推理能力)

认知地图的基本功能

  • 几何记忆
  • 场景理解和逻辑推理
  • 拓扑场景关联

nav6

  1. 动作和记忆构建的认知地图是强关联的,即
    1. 人类开车的时候对直行道路两边的记忆是很少的,因为你只需要往前开就好;但是在转弯或者有多个道路可以选择的区域记忆深刻,因为你要做动作的决策。
    2. 你可以路过一个小店铺很多次,但是你都不记得它的具体细节,甚至不记得门牌,而当某一天你需要去店铺购买东西,执行很多动作时,大量的细节都会被记忆。
  2. 认知地图是非欧空间的,也就是拓扑关联的,这一点已经被很多地方论证过
  3. 人类导航除了开车的导航地图有全局路径规划,大部分时间都依赖于
    1. 记忆构建的认知地图,给出的拓扑关联估计的方向感
    2. 一些常识给出最有可能的方向,例如冰箱在厨房,以及公共区域的标志含义理解等

这一部分的研究主要分为两类方案

3.1 端到端导航

nav7

3.2 模块化导航

nav7