ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, there's a problem with the gazebo script that I wrote for starting gzserver, i.e.:

rosrun gazebo gazebo

A fix has been checked into fuerte trunk.

Alternatively, you can change the gazebo node in the launch file to do what the script does, i.e. load the gazebo server plugins for ros api.

Further, I notice you are setting GAZEBO_RESOURCE_PATH in your launch file for the gazebo node; you can avoid doing so by updating manifest.xml in the youbot_description package to make sure it includes the following items:

<depend package="gazebo" />
<export>
  <gazebo gazebo_media_path="${prefix}/gazebo/share/gazebo-1.0.2" />
</export>

So the gazebo node in the launch file should look like below:

        <node name="gazebo" pkg="gzserver" type="gazebo" args="-s $(find gazebo)/lib/libgazebo_ros_paths_plugin.so -s $(find gazebo)/lib/libgazebo_ros_api_plugin.so  $(find gazebo_worlds)/worlds/empty.world" respawn="false" output="screen">
                <remap from="base_controller/command" to="cmd_vel"/>
                <remap from="scan_front" to="base_scan"/>
                <remap from="/base_odometry/odom" to="/odom" />
        </node>

hope this helps.

Yes, there's it's a problem with Fuerte that the gazebo script node is no longer a ros node. The command line arguments needs to be passed in to underlying gazebo executable and passed through to the ros plugin that I wrote for starting gzserver, i.e.:

calls rosrun gazebo gazebo
ros::init

A fix has been checked into fuerte trunk.. I'll working on fixing this so namespace remapping works.

Alternatively, you can change the gazebo node in the launch file to do what the script does, i.e. load the gazebo server plugins for ros api.

Further, As a side note, I notice you are setting GAZEBO_RESOURCE_PATH in your launch file for the gazebo node; you can avoid doing so by updating manifest.xml in the youbot_description package to make sure it includes the following items:

<depend package="gazebo" />
<export>
  <gazebo gazebo_media_path="${prefix}/gazebo/share/gazebo-1.0.2" />
</export>

So the gazebo node in the launch file should look like below:

        <node name="gazebo" pkg="gzserver" type="gazebo" args="-s $(find gazebo)/lib/libgazebo_ros_paths_plugin.so -s $(find gazebo)/lib/libgazebo_ros_api_plugin.so  $(find gazebo_worlds)/worlds/empty.world" respawn="false" output="screen">
                <remap from="base_controller/command" to="cmd_vel"/>
                <remap from="scan_front" to="base_scan"/>
                <remap from="/base_odometry/odom" to="/odom" />
        </node>

hope this helps.

Ticketed.

Yes, it's a problem with Fuerte that the gazebo node is no longer a ros node. The command line arguments needs to be passed in to underlying gazebo executable and passed through to the ros plugin that calls ros::init. I'll working on fixing this so namespace remapping works.

As a side note, I notice you are setting GAZEBO_RESOURCE_PATH in your launch file for the gazebo node; you can avoid doing so by updating manifest.xml in the youbot_description package to make sure it includes the following items:

<depend package="gazebo" />
<export>
  <gazebo gazebo_media_path="${prefix}/gazebo/share/gazebo-1.0.2" />
</export>