论文部分内容阅读
移动机器人在帮助社会产生巨大效益的前提之一就是它能够自主操作,不受到人为参与。其核心技术之一就是自主导航。自主导航是移动机器人在预先已知或者未知地图环境的情况下,从一个地点自主导航到另外一个地点来完成人们给机器人预先安排的任务。机器人从一个地点行走到另外一个地点需要考虑的问题有三个,包括机器人所在地图环境中的位置、机器人所到达的目的地、机器人如何到达指定地点。以上三个问题实际上就是导航系统三大内容:地图创建,机器人定位,路径导航。本论文是以水利水电行业电力智能巡检机器人项目的研发为基础,其重点研究的是机器人移动导航技术的实现。其中包括对地图环境的建模,主要采用拓扑地图抽象表示机器人导航所在的环境信息;采用ORB-SLAM和超宽带结合定位方法对机器人定位;提出一种基于贪心策略处理包含中间节点集的最短路径算法;提出了一种简单但高效的局部路径避障算法;以及处理机器人行走过程中所遇到的偏离航向、速度、方向等问题。本文所完成的工作以及贡献详细说明如下:(一)利用PHP+MYSQL+IIS开发一套web上位机系统。主要用于工作人员查看机器人状态、机器人位置;编写代码实现了Dijkstra最短路径算法,即给定目的地后,系统能够生成一条全局最短导航路径;编写代码实现了基于贪心策略来处理中间节点集的最短路径算法;可以通过可视化界面控制机器人前后左右运动;利用了多线程和非阻塞通信机制实现机器人与上位机系统通信、传输全局导航路径数据、机器人所在位置数据、控制机器人前后左右运动数据。(二)利用C/C++语言设计了一套移动机器人导航主体软件系统。机器人主体采用了两台mini电脑,一台控制机器人运动,进行局部路径规划的避障算法,控制机器人运动速度和方向,以及运行超宽带定位算法。一台处理ORB-SLAM算法和Kinect摄像头数据,并将所得到的数据通过以太网的形式传递给另一台电脑。(三)本文结合了ORB-SLAM定位算法和超宽带定位算法各自的优点,设计出在地图环境下不同位置采用不同的算法定位方法。机器人在直线行走时采用ORB-SLAM定位算法,而机器人在转弯时则采用超宽带定位算法。这样极大地提高了机器人的定位精度,并且所受到的外界干扰也有明显改善;同时本文还针对机器人在全局路径导航过程中,所出现的中间节点集情况下,提出一种基于贪心策略的最短路径算法。并且通过反复实验,证实了本算法有很强的实用性;最后本文在局部路径导航中针对水电巡检机器人特定的地图环境提出了一种简单但高效快速的避障算法,能够让机器人迅速地避开障碍物。