robot从软件控制的层面,从直接控制电机转动的低级层面到路径规划乃至定位壁障的高级层面,这中间需要经过几层的软件封装。庆幸的是,ROS已经为我们提供了这些软件包。下面我就一一列出这些软件的层次:
第一层次:通过在电机或者轮子上安装编码器,就可以将轮子滚动的圈数转化为距离。在ROS中,这种编码器就是我们常说的 odometry(里程计);
第二层次:电机控制器和驱动。电机驱动是驱动硬件工作的非常重要的模块。ROS官方不直接提供驱动,因为硬件规格不同,驱动就不同,无法提供一个通用的驱动。但是第三方的ROS包提供了一些类型的驱动。比如 Arduino Turtlebot 等。
第三层次:robot基础控制器。机器人一旦有了这个控制器,机器人就可以很好的控制自己的速度和角速度了。通常情况下,电机驱动和PID算法都放在一个ROS节点里,这个节点的名字是 base controller。需要