一起自学SLAM算法:11.1 自主导航发展简史

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


写在前面

第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导航综合实战


导航其实是一个很古老的问题,古代军队行军打仗时会将战场的地形绘制在布匹上,然后根据当前观测到的地形地貌与地图比对确定位置。在航海途中周围并没有太多可观测的地形,通常借助指南针和天上的星星来确定位置。而如今航天、航海、汽车、日常出行等方方面面都离不开全球导航卫星系统(Global Navigation Satellite System,GNSS),GNSS其实就是美国的GPS、俄罗斯的GLONASS、欧盟的GALILEO、中国的北斗等众多卫星导航系统的统称。很遗憾的是,以上介绍的这些方法只是解决了自主导航问题中的定位子问题而已。

自主导航问题的本质可以用图11-1所示的过程来描述,也就是从地点A自主移动到地点B的问题。当向机器人下达移动到地点B的命令后,机器人不免会问出3个颇具哲学性的问题,即“我在哪”、“我将到何处去”和“我该如何去”。目前自主导航主要是针对机器人、无人机、无人驾驶汽车等无人操控的对象而言,室内低速移动的机器人自主导航相对容易一些,而室外高速移动的无人驾驶汽车或无人机自主导航会更难一些。不过这些自主导航系统都需要通过所搭载的传感器来进行环境感知,并利用感知到的信息做决策来控制执行器以形成具体运动。

图11-1  自主导航问题的本质

自主导航是非常复杂的工程性问题,需要在工程化的体系架构上来具体实施。自主导航系统大致可以分为响应式体系结构和层级式体系结构,如图11-2所示。响应式体系架构能在低层级逻辑上对任务作出迅速响应(比如当障碍物突然出现时可以立马触发避障任务的响应而不需经过其他任务处理结果的层层触发),层级式体系架构则能够对高层级任务进行逐层条理清晰的逻辑推理。在实际中通常是将两种体系结构混合起来使用,比如著名的4D/RCS体系结构、Boss体系结构、各大机器人或无人驾驶公司开发的专门体系结构等。[1]p15~30

图11-2  响应式体系结构和层级式体系结构

不管采用哪种体系结构的自主导航系统,都要围绕着环境感知、路径规划、运动控制等核心技术来展开[2]。本章接下来主要讨论这几个核心技术点,带领大家了解自主导航中的数学基础。

最后说一说仿生导航,目前被广受关注的SLAM导航方案却存在一些严重的缺陷。为了克服传感器存在的各种不确定性问题,目前的SLAM导航方案普遍以概率建模方法来处理。但应对复杂多变的环境,一种单一的数学模型势必存在诸多局限性,这些局限性是无法靠算法改进彻底摆脱。而地球上的生物能非常轻松地在复杂环境中完成各种导航任务,这让研究者们开始怀疑目前人们对自主导航问题研究的出发点是不是错了。2014年诺贝尔生物或医学奖获得者发现了基于动物导航机制的大脑定位系统细胞,给自主导航问题带来了新研究思路。研究发现老鼠通过各种感官从环境中获取外界的特征信息,然后通过老鼠大脑位置细胞和海马体细胞记忆整理,形成空间记忆。基于老鼠大脑导航细胞的模型,可以建立能直接存储机器人环境空间、视觉、时间、行为等信息的仿生导航细胞网络模型。[3]p180~207

源码仓库

参考文献

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

猜你喜欢

转载自blog.csdn.net/m0_68732180/article/details/128783765