目前为止, 我们都旨在构建一个能够自主运行的机器人,这个就研究方向更加合理的名词应该叫自主移动机器人. 推荐一本个人觉得很不错的书 Ronald C. Arkin – 2011- Introduction to Autonomous Mobile Robots. 本文的主要目的是先把框架搭起来, 采用原型模式, 然后在此基础上循环的进行深化, 望能够起到抛砖引玉的作用.
Part 5 机器人环境探索与避障
一个完整的自主移动机器人应该是一个see-think-act的环路, 包括机器人感知, 定位与制图, 路径规划, 运动控制.
导航规划部分可以分为全局的目标导航(路径规划), 和局部的导航(避障). 机器人刚开始进入环境. 没有明确的终点设定, 机器人在环境中进行自由探索, 主要依赖避障来控制机器人的运动.
Turtlebot提供Kinect相机可以用于避障, 对于RGB-D深度相机的避障可分为两类. 第一就是直接采用Kinect点云避障, 可以使用SBPL (Search-based planning library), OMPL (Open Motion Planning Library)等库. 第二类, 将点云转换为平面的laser scan, 类似于gmapping, cartographer, 采用DWA (Dynamic Window Approach) 或者 TEB (Timed Elastic Band algorithm)避障.
这里我们采用一种更加简单的方式, 将点云进行裁剪, 然后在水平方向求和, 根据左右两边障碍物点云判断向左向右运动, 参考robot-photographer.
1 架构
本文中所述的自主移动机器人采用turtlebot,