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

Revision history [back]

This is a bug in the gazebo SDF interface, which parses the XML config for the plugins from the robot description. It also affects other plugins like gazebo_ros_imu that use non-string parameters, as gazebo parses all plugin parameters as strings. The error message is generated in the Param::Get(double &) at Param.cc:241 method, which in turn is called by Element::GetValueDouble(const std::string &_key) in SDF.cc:676. The check if the given value is a string fails because gazebo mixes up its internal type name "string" and the typeid for std::string "Ss". As a result the value will not be casted to double as it should be.

This bug has been fixed in the the dev branch of the upstream gazebo repository in 2926:ad1e317e2155, but unfortunately the commit has not found its way to the fuerte branch yet. I guess we have to wait until Gazebo 1.3 is released for ROS.

It would be possible to work around this by getting the parameter as string and do the conversion to double in the plugin code, but we hoped that it is a matter of time until this is fixed in gazebo itself.