Ask Your Question
0

Incomplete turtlebot model on fuerte gazebo

asked 2013-03-14 00:08:45 -0600

prasanna.kumar gravatar image

updated 2013-03-14 00:10:00 -0600

I know questions like this have already come up (here and here). Since I am yet to get a clear solution, I am re-posting. I face the following problems:

Incomplete model of the TurtleBot.

From this, I found that by uncommenting a part of the code in turtlebot_body.urdf.xacro, one can see the complete model of the robot instead of just 2 wheels. After uncommenting the part, I was able to the complete model of the robot in the empty.world but in the world that I built. I am still seeing just two wheels in my world. Does this problem still persist? Is there a solution ?

RaySensor warning.

My gazebo shell in spammed with Warning [RaySensor.cc:206] ranges not constructed yet (zero sized) when I spawn the TurtleBot. I searched for the file which has this line and comment it, but without any luck. Though this isn't a major issue, it still is irritating.

I am running ROS-Fuerte on Unbuntu 12.04.

Thanks,

Prasanna

P.S: I know this could be posted in gazebosim forum. I hope some ROS enthusiasts might help me here.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2013-04-24 04:22:27 -0600

abencz gravatar image

updated 2013-04-24 04:24:40 -0600

Besides launching Gazebo and robot.launch at the same time I've found two (very hacky) solutions to the problem of an incomplete Turtlebot model in Fuerte.


Solution 1

After launching turtlebot_world.launch and adding the turtlebot, close the GUI. This should not close the Gazebo server, just the GUI component.

Now you can re-open the GUI from another terminal window by typing rosrun gazebo gui. This will not work every time, but I find that after relaunching the GUI window a few times the entire turtlebot appears.


Solution 2

Find the Turtlebot URDF file

roscd turtlebot_description/urdf

Now modify the turtlebot urdf to remove the "hardware" (supports and such).

vim turtlebot.urdf.xarcro

Comment out the line that includes the hardware urdf file - the result should look something like this:

<?xml version="1.0"?>

<robot name="turtlebot"
       xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
       xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
       xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
       xmlns:xacro="http://ros.org/wiki/xacro">
    <!--
    <include filename="$(find turtlebot_description)/urdf/turtlebot_hardware.urdf.xacro" />
    -->
    <include filename="$(find turtlebot_description)/urdf/turtlebot_body.urdf.xacro" />
    <include filename="$(find turtlebot_description)/urdf/turtlebot_calibration.xacro" />
    <include filename="$(find turtlebot_description)/urdf/turtlebot_kinect.urdf.xacro" />

    <property name="M_PI" value="3.14159"/>  <property name="SCALE" value="0.0254"/>

    <!-- Body of TurtleBot, with plates, standoffs and Create (including sim sensors) -->
    <turtlebot_body/>

    <!-- Kinect frames and mounting (includes simulation) -->
    <turtlebot_kinect/>
</robot>

Note that this will result in the turtlebot being rendered without standoffs between the plates, however the simulation seems to work just fine without these.

edit flag offensive delete link more

Comments

@abencz Excellent! Awesome! I tried your first solution and it worked. Thanks a lot :-) I do not have the option of giving 10 up-votes! I will try the second one and get back.

prasanna.kumar gravatar imageprasanna.kumar ( 2013-04-24 05:14:04 -0600 )edit
0

answered 2013-03-14 00:39:31 -0600

prasanna.kumar gravatar image

I kind of solved the first problem (but I don't know if this is a proper solution).

When I launch the world and turtlebot separately like _world.launch and robot.launch, I see incomplete model but when I launch both in a single launch with <include>, I see the complete model. Strange, but works! And also uncommenting some lines in turtlebot_body.urdf.xacro in not needed. It works fine when the below lines were left commented.

<inertial>
  <mass value="0.0001" />
  <origin xyz="0 0 0" />
  <inertia ixx="0.0001" ixy="0.0" ixz="0.0"
          iyy="0.0001" iyz="0.0" 
          izz="0.0001" />
</inertial>

I am still to solve the second part.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-03-14 00:08:45 -0600

Seen: 502 times

Last updated: Apr 24 '13