ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Status on configurable topic renames and qos?

What is the plan and status on being able to rename topics from the command line?

I see that we are getting argv passed into rclcpp::init. That means we should be able to make use of some command line parameters deep in the node. I would like something like this for renames:

my_node --ros_topic_rename /compiled-in_topic_name /new_topic_name

and like this for duplicating output or handling multiple input messages:

my_node --ros_topic_clone /compiled-in_topic_name /additional_topic_name

and like this for silencing output (or maybe ignoring input) when there is a conflict:

my_node --ros_topic_silenced /compiled-in_topic_name

and like this for qos:

my_node --ros_topic_qos /compiled-in_topic_name standard_qos_identifier

And what did we decide on the clock? Something like this?

my_node --ros_clock_topic /clock

I still think an environment variable for the clock would be useful as the same thing would apply to many nodes.

Command line parameters or environment variables to put all topics into a partition also seems useful to me.

The other one I would like to do from the command line is set defaults for parameters (as in those parameters received by the ParameterService). Example:

my_node --ros_parameter_default param_name_1 42

This plan is going to be slightly more difficult for complex types, but most parameters are strings or numbers. JSON or YAML formats would be fine. Simple types alone would be better than nothing.

There is a design document describing name remapping here . It has a syntax for remapping rules that could be passed on the command line. It isn’t part of the next release, and as far as I know the feature has not been worked on.

I don’t know of anything that describes remapping qos settings.