[ROS] Solution to fix "Unable to handle 'index' format version '2', please update rosdistro" problem

[ROS] Use irobot create in gazebo with ROS

Author posted @ 2014年8月24日 10:08 in ROS with tags ubuntu ROS , 4641 阅读

So far there is no complete tutorial to guide users how to create an irobot create in gazeboros. I find a helpful answer from Saurav Agarwal at [1]. Based on his anwser, I post my steps here:

1. Install Gazebo_ros [2] an run it [3] (I assume you have ROS installed, so as the the catkin_workspace is also configured well)

2. Download the Irobot create SDF from OSRF's repo [4].

3. Unzip the downloaded file and copy the folder "create" into your catkin_ws/src directory. For me, I put it to ~/catkin_workspace/src/ directory.

4. Insert the differential drive plugin to the model-1_4.sdf file according to [5] (libgazebo_ros_diff_drive.so is already compiled in Hydro, use "roscd gazebo_plugins && cd lib " to see it)

     Note that, you have to make necessary changes from the plugin shown on [5]:

<model name="create">
<!-- other stuffs 

-->
<plugin name="differential_drive_controller"     filename="libgazebo_ros_diff_drive.so">
    <alwaysOn>true</alwaysOn>
    <updateRate>10</updateRate>
    <leftJoint>base_link_right_wheel_joint</leftJoint> 
    <!-- matching your left joint name -->
    <rightJoint>base_link_left_wheel_joint</rightJoint>
    <!-- matching your right joint name -->
    <wheelSeparation>0.5380</wheelSeparation>
    <wheelDiameter>0.2410</wheelDiameter>
    <torque>20</torque>
    <commandTopic>cmd_vel</commandTopic>
    <!-- topic name published in the cpp file -->
    <odometryTopic>odom</odometryTopic>
    <odometryFrame>odom</odometryFrame>
    <robotBaseFrame>base_footprint</robotBaseFrame>
  </plugin>  
</model>

5. In a terminal, run $roscore

6. Launch gazebo with an empty world using

roslaunch gazebo_ros empty_world.launch

7. In another terminial , spawn the create into gazebo usin command:

rosrun gazebo_ros  spawn_model -file ~/catkin_workspace/src/create/model-1_4.sdf -sdf -model create

So far you should be able to see the figure above.

8. To send commands manually to drive the robot, using

rostopic pub /cmd_vel geometry_msgs/Twist -- '[1.0, 0.0, 0.0]' '[0.0, 0.0, 1]'

9. To write a program constantly sending moving commands to the robot,  a demo program shown in [1] can be used. Codes are here: https://github.com/ysonggit/gazebo_simple

    type "catkin_make" to compile and in a new terminal, type "roscore && rosrun gazebo_simple gazebo_simple_node" to drive the robot 

    ---------------------------------------------------------------------------

    Note: I re-organized the folder on Aug 25th, so for the files used in article, you need run:

git clone https://github.com/ysonggit/gazebo_simple.git

    then run:

 git checkout f0f31534b87a35a63294860c9e8ae78de5223f4c

  Reference:

[1] How to use irobot create in gazebo with ROS hydro

[2] Install gazebo

[3] Run gazebo

[4] OSRF Model Lib

[5] Gazebo Plugin

memen 说:
2017年9月20日 03:46

very long antv streaming material, but interesting to try. thank you, I will immediately try it ... hopefully this article can be useful for everyone, streaming antv once again I say thank you

Sara Hobler 说:
2018年11月28日 16:41

The investigation of the fact and all figures is done for the humans. The reform and best essay services reviews is apprehended for the happiness of the citizens. The joyful moves have been ensured for the users of the blogs and all linkages in life.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter