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

Revision history [back]

So it looks like the serviceName is set before topicName is set, so while perhaps the intent was for serviceName to be set to imu/calibrate (putting it in the right namespace) it is ending up as just /calibrate. I'll switch the order of these two and we'll see what happens. Thanks.

  if (!_sdf->HasElement("serviceName"))
    serviceName = topicName + "/calibrate";
  else
    serviceName = _sdf->GetElement("serviceName")->GetValueString();

  if (!_sdf->HasElement("topicName"))
    topicName = "imu";
  else
    topicName = _sdf->GetElement("topicName")->GetValueString();

So it looks like the serviceName is set before topicName is set, so while perhaps the intent was for serviceName to be set to imu/calibrate (putting it in the right namespace) it is ending up as just /calibrate. I'll switch the order of these two and we'll see what happens. Thanks.

  if (!_sdf->HasElement("serviceName"))
    serviceName = topicName + "/calibrate";
  else
    serviceName = _sdf->GetElement("serviceName")->GetValueString();

  if (!_sdf->HasElement("topicName"))
    topicName = "imu";
  else
    topicName = _sdf->GetElement("topicName")->GetValueString();

UPDATE:

It also turned out that the sensor code in hector_gazebo_plugins was getting confused because both robots had the same link name for their base link.. So the sensor plugins were both pointing at the same robot rather than different robots for different sensors. Johannes applied a patch this week which should fix it, so the plugin gets the link for the model that its attached to.