Lesson 9: 导航-Diego 1# 的导航框架

机器人的SLAM导航,是一个比较复杂的问题,设计到很多数学模型和算法,好在ROS平台,这些模型算法都已经被很好的实现了,而且封装成了符合ROS框架的功能包,使得SLAM实现起来已经变得比较容易了,所以在diego 1#机器人中我们使用ROS的导航框架。

1. ROS的导航框架

下图是官方提供的导航框架,官方说明http://wiki.ros.org/navigation/Tutorials/RobotSetup

在此框架中白色和灰色的都是ROS已经封装好的功能包:

这其中gmapping 和hector的功能是一样的,都是用来构建地图的,区别在于gmapping在构建过程中依赖于机器人的里程odom数据,hector则不需要odom,算法不同,在实际使用中选用其中的一个就可以了。

而蓝色标识的功能包则需要根据选用硬件平台的不同来定制。

2. Diego 1#机器人中功能包对应

这里在官方导航框架图上用不同的色块标注了,各个功能块需要包,和对应的硬件

ROS导航功能软件包硬件资源说明
move_basemove_base.树莓派
map_servergmapping
. hector
. 树莓派
. 激光雷达
. xtion
激光雷达和xtion深度相机,可以二选其一
acmlacml. 树莓派
. 激光雷达
. xtion
激光雷达和xtion深度相机,可以二选其一
base_controllerros_arduino_bridge.Arduino UNOros_arduino_bridge包包含了base_controller
odometer sourceros_arduino_bridge.Arduino UNO
.霍尔编码器
ros_arduino_firmware获取霍尔编码器数据,在ros_arduino_bridge中经过计算发布odom消息
sensor transform. 树莓派tf基本上都是静态的,可以在launch文件中实现
sensor sourcerplidar A2 Driver
OpenNI
. 树莓派
. 激光雷达
. xtion
rplidar激光雷达本身提供laser数据发布的驱动包
如果用深度相机,可以使用OpenNI包发布laser数据

发表评论

Scroll to top
%d 博主赞过: