ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
小强ROS机器人教程(4)___惯性导航自主移动测试
-
上一篇教程中,我们已经制作出了小强的3d模型,接下来开始测试小强的惯性导航功能。
这里的惯性导航,是指利用小强自身佩戴的惯性传感器(加速度和陀螺仪)和底盘编码器器信息进行定位和移动。需要的ROS软件包有:- 底层驱动xqserial_server
- 机器人模型包xiaoqiang_udrf
- 惯性导航测试软件包nav_test
先上教程最后效果图
整个导航测试的内部框架如下两图所示:如果对ROS导航框架不熟悉,请移步这篇教程
1. ssh方式在小强主机上完成的操作
请确保小强已经正常启动,小强主机正常启动完成后会自动运行上面提到的三个软件包,不需要手工启动相应的launch文件。如果是前期购买的用户,请自行更新安装这三个软件包,同时更新startup任务(请参考robot_upstart教程),再重新启动。
a.新开一个终端,启动导航基础程序
ssh -X xiaoqiang@192.168.xxx.xxx # 重启服务程序,有些程序基础可能没有运行 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树和下图并不相同,请检查一下底盘驱动是不是正常运行
b.新开一个终端,检查是否所有tf都已经就位
ssh -X xiaoqiang@192.168.xxx.xxx rosrun tf view_frames evince frames.pdf
如果上面的指令提示如下图
根据提示选择一个
view_frame
的程序。比如1正常会显示下图
2. 在本地遥控端上完成的操作
本地遥控端必须是安装好对应版本ROS的ubuntu系统,请参考教程安装小强系统镜像,同时保证和小强主机在同一个局域网内
因为需要在本地窗口用rviz显示小强姿态和路径轨迹(ssh中不能直接打开rviz),所以需要使用ros的分布式网络配置方案,同在本地遥控端也需要安装好机器人模型包xiaoqiang_udrf。概括来说:本地遥控端打开自己的rviz,接收显示小强主机上的topic,而小强模型数据则直接从本地获取。具体过程如下:a.在本地开一个命令行终端,在本地的hosts文件内添加小强的ip
sudo gedit /etc/hosts #添加 xxx.xxx.xxx.xxx xiaoqiang-desktop #请将xx改成实际ip
b.新开一个命令终端输入
export ROS_MASTER_URI=http://xiaoqiang-desktop:11311 #继续执行 rostopic list
如果可以看到小强的 topic了,就说明配置成功。
d.安装了小强镜像的用户请不要执行本步骤,安装模型软件包,更新本地ROS包环境变量,因为需要从本地读取模型数据
mkdir ~/Documents/ros/src cd ~/Documents/ros/src catkin_init_workspace git clone https://github.com/BlueWhaleRobot/xiaoqiang_udrf.git #小强pro用户切换到master分支 cd xiaoqiang_udrf git checkout master #小强mini用户切换到mini分支 cd xiaoqiang_udrf git checkout mini #小强XQ5用户切换到lungu分支 cd xiaoqiang_udrf git checkout lungu #编译完成安装 cd .. cd .. catkin_make
e.打开rviz图形界面。
export ROS_MASTER_URI=http://xiaoqiang-desktop:11311 source ~/Documents/ros/devel/setup.sh rviz
当窗口打开后,点击左上角的file->open,选择小强里的/home/xiaoqiang/Documents/ros/src/nav_test/config/nav.rviz文件。这时界面应该如下图显示,关于如何访问小强主机上的文件,请参考之前的教程。(如果无法打开小强的文件夹,可以把配置文件复制到本地电脑上打开)
3. 在小强主机远程ssh窗口内完成最后操作
rosrun nav_test square.py
如果小强无法移动,请检查底盘驱动程序是否正常运行。可以输入 rostopic echo /system_monitor/report 如果有电压显示则底盘驱动正常。如果还是无法移动,可以再检查小强红外传感器是否被触发。触发时红外传感器会发红光。
4.现在在rviz中就能看到文章开头的视频效果了, enjoy it!