ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

小强ROS机器人教程(4)___惯性导航自主移动测试



  • 小强主页

    上一篇教程中,我们已经制作出了小强的3d模型,接下来开始测试小强的惯性导航功能。
    这里的惯性导航,是指利用小强自身佩戴的惯性传感器(加速度和陀螺仪)和底盘编码器器信息进行定位和移动。需要的ROS软件包有:

    1. 底层驱动xqserial_server
    2. 机器人模型包xiaoqiang_udrf
    3. 惯性导航测试软件包nav_test

    先上教程最后效果图

    整个导航测试的内部框架如下两图所示:如果对ROS导航框架不熟悉,请移步这篇教程

    0_1464270870030_navigaion总体介绍.jpg
    0_1464272794422_framework.png

    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
    

    如果上面的指令提示如下图

    0_1536917254256_df37c595-9034-4507-b447-69b25b2ae144-image.png

    根据提示选择一个view_frame的程序。比如1

    正常会显示下图
    0_1464311306398_topic.png

    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文件。这时界面应该如下图显示,关于如何访问小强主机上的文件,请参考之前的教程。
    0_1464274863775_2.png

    3. 在小强主机远程ssh窗口内完成最后操作

    rosrun nav_test square.py
    

    如果小强无法移动,请检查底盘驱动程序是否正常运行。可以输入 rostopic echo /system_monitor/report 如果有电压显示则底盘驱动正常。如果还是无法移动,可以再检查小强红外传感器是否被触发。触发时红外传感器会发红光。

    4.现在在rviz中就能看到文章开头的视频效果了, enjoy it!

    小强主页
    返回目录