ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
This is not really a solution. I worked around the same issue last week by ensuring that each of my nodelets stored a unique string identifier coming from the name under which it was launched. e.g. "goo_base" in
<node pkg="nodelet" type="nodelet" name="goo_base" args="load goo/GooNodelet robot_core" output="screen">
We pulled that name from the nodehandle and then simple applied that to the name when adding a task to the diagnostic_updater:
this->diagnostic_updater.add(device_comms::DiagnosticStrings::FirmwareStatus + std::string(" [") + unresolved_name + std::string("]"), this, &GooNodelet::firmwareDiagnostic);
2 | No.2 Revision |
This is not really a solution. I worked around the same issue last week by ensuring that each of my nodelets stored a unique string identifier coming from the name under which it was launched. e.g. "goo_base" in
<node pkg="nodelet" type="nodelet" name="goo_base" args="load goo/GooNodelet robot_core" output="screen">
We pulled that name from the nodehandle and then simple applied that to the name when adding a task to the diagnostic_updater:
this->diagnostic_updater.add(device_comms::DiagnosticStrings::FirmwareStatus + std::string(" this->diagnostic_updater.add("firmware [") + unresolved_name + std::string("]"), this, &GooNodelet::firmwareDiagnostic);
It would be nice if diagnostics pulled that unresolved name directly.