小强ROS机器人教程(4)_惯性导航自主移动测试
上一篇教程中,我们已经制作出了小强的3d模型,接下来开始测试小强的惯性导航功能。 这里的惯性导航,是指利用小强自身佩戴的惯性传感器(加速度和陀螺仪)和底盘编码器器信息进行定位和移动。需要的ROS软件包有:
- 底层驱动xqserial_server
- 机器人模型包xiaoqiang_udrf
- 惯性导航测试软件包nav_test
先上教程最后效果图
整个导航测试的内部框架如下两图所示
VNC方式在小强主机上完成的操作
请确保小强已经正常启动,小强主机正常启动完成后会自动运行上面提到的三个软件包,不需要手工启动相应的launch文件。如果是前期购买的用户,请自行更新安装这三个软件包,同时更新startup任务(请参考robot_upstart教程),再重新启动。
通过VNC在机器人上打开命令行
# 重启服务程序,有些程序基础可能没有运行
sudo service startup restart
roslaunch nav_test fake_move_base_blank_map.launch
如果出现了 You must specify at least three point for the robot footprint 这样的错误可以忽略,这个并没有什么影响。这是由于foot_print要求设置一个形状,所以至少要三个点。foot_print就是机器人的轮廓形状,这个参数会用于避障。小强的foot_print设置的是圆形,所以并不需要指定三个点。如果出现的tf树和下图并不相同,请检查一下底盘驱动是不是正常运行
在机器人上新开一个终端,检查是否所有tf都已经就位
rosrun tf2_tools view_frames.py
evince frames.pdf
如果上面的指令提示如下图
根据提示选择一个view_frame
的程序。比如1
正常会显示下图
在机器人上打开rviz 当窗口打开后,点击左上角的file->open,选择小强里的/home/xiaoqiang/Documents/ros/src/nav_test/config/nav.rviz文件。这时界面应该如下图显示。
在机器人上打开一个新的窗口
rosrun nav_test square.py
如果小强无法移动,请检查底盘驱动程序是否正常运行。可以输入bwcheck进行自检。如果还是无法移动,可以再检查小强红外传感器是否被触发。触发时红外传感器会发光。
现在在rviz中就能看到文章开头的视频效果了