Turtlebot添加Hokuyo传感器进行仿真

    官网原有的Turtlebot Gazebo仿真demo的激光数据是利用depth_image进行转换而得到的,存在探测范围小,性能差且不易调节的特点,可以在原先的模型基础上增加hokuyo及相应的gazebo模块。

    github代码链接:turtlebot_hokuyo_demo

    通过git clone上述git之后按照如下步骤进行操作。

环境:Ubuntu 16.04 Kinetic

(1)安装官网demo.

sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-rocon-remocon ros-kinetic-rocon-qt-library ros-kinetic-ar-track-alvar-msgs

如果遇到安装ros-kinetic-rocon-remocon和ros-kinetic-rocon-qt-library的错误时,可以不用管,不会影响后续操作。

(2)安装hokuyo节点.

由于官网还没有hokuyo的kinetic版本的节点,因此可以通过源码编译来安装。

cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/driver_common.git
cd ..
catkin_make
cd src
git clone https://github.com/ros-drivers/hokuyo_node.git
cd ..
catkin_make 

不要clone完两个文件然后一起编译,会出错。

(3)删除替代部分文件.

cd /opt/ros/kinetic/share
sudo rm -rf turtlebot_navigation/
sudo rm -rf turtlebot_description/
sudo rm -rf turtlebot_simulator/
sudo cp -r ~/turtlebot_hokuyo_demo/turtlebot_navigation/ .
sudo cp -r ~/turtlebot_hokuyo_demo/turtlebot_description/ .
cp -r ~/turtlebot_hokuyo_demo/turtlebot_simulator/ ~/catkin_ws/src
cd ~/catkin_ws
catkin_make

(4)修改.bashrc文件加入环境变量.

export TURTLEBOT_GAZEBO_WORLD_FILE=~/worlds/corridor.world
export TURTLEBOT_3D_SENSOR="hokuyo"

  (5)拷贝map和world文件.

cp -r ~/turtlebot_hokuyo_demo/map ~/
cp -r ~/turtlebot_hokuyo_demo/worlds ~/

(6)修改launch_hpv文件.

修改turtlebot_simulator/turtlebot_gazebo/launch目录下的amcl_demo.launch,把/home/cjw/map/corridor.map 改成/home/XXX/map/corridor.map.(XXX 代表你的用户名).

(7)测试仿真器.

运行如下命令,如果你能看到Turtlebot顶部多了一个hokuyo传感器并且能看到激光光束,证明你成功了。

roslaunch turtlebot_gazebo turtlebot_world.launch

(8)激光参数调整.

你可以通过修改urdf文件来修改激光参数,文件位于/opt/ros/kinetic/share/turtlebot_description/urdf目录下,打开turtlebot_gazebo.urdf.xacro文件,可以看到如下内容:


    
      0 0 0 0 0 0
      true
      5
      
        
          
            180
            1.0
            -1.5707
            1.5707
          
        
        
          0.10
          3.0
          0.01
        
        
          gaussian
          
          0.0
          0.01
        
      
      
        scan
        hokuyo_link
      
    
  

你可以修改upate_rate、samples、resolution等内容。

你可能感兴趣的:(Turtlebot添加Hokuyo传感器进行仿真)