Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Or is there a way to declare certain topics in a nodelet manager "for internal use only" and hide them from external subscribers (like rosbag record -a)?

No, afaik there is no support for flagging topics as such.

rosbag interrogates the ROS master and asks it for all topics that are being published.

Should we move towards a whitelist-based approach to log recording?

Perhaps a blacklist would be more scalable:

  -x EXCLUDE_REGEX, --exclude=EXCLUDE_REGEX
                        exclude topics matching the follow regular expression
                        (subtracts from -a or regex)

Or is there a way to declare certain topics in a nodelet manager "for internal use only" and hide them from external subscribers (like rosbag record -a)?

No, afaik there is no support for flagging topics as such.

rosbag interrogates the ROS master and asks it for all topics that are being published.published (here). As topics published by nodelets are just topics, they would appear in that list.

Should we move towards a whitelist-based approach to log recording?

Perhaps a blacklist would be more scalable:

  -x EXCLUDE_REGEX, --exclude=EXCLUDE_REGEX
                        exclude topics matching the follow regular expression
                        (subtracts from -a or regex)

Or is there a way to declare certain topics in a nodelet manager "for internal use only" and hide them from external subscribers (like rosbag record -a)?

No, afaik there is no support for flagging topics as such.

rosbag interrogates the ROS master and asks it for all topics that are being published (here). The master then responds here. As topics published by nodelets are just topics, they would appear in that list.

Should we move towards a whitelist-based approach to log recording?

Perhaps a blacklist would be more scalable:

  -x EXCLUDE_REGEX, --exclude=EXCLUDE_REGEX
                        exclude topics matching the follow regular expression
                        (subtracts from -a or regex)

Or is there a way to declare certain topics in a nodelet manager "for internal use only" and hide them from external subscribers (like rosbag record -a)?

No, afaik there is no support for flagging topics as such.

rosbag interrogates the ROS master and asks it for all topics that are being published (here). The master then responds here. As topics published by nodelets .

There is nothing that makes "nodelet topics" special as far as the master is concerned (they are just topics, they registered in the same way as non-nodelet topics), so it would have no way to distinguish them from the others and all appear in that list.the list returned by the master.

Should we move towards a whitelist-based approach to log recording?

Perhaps a blacklist would be more scalable:

  -x EXCLUDE_REGEX, --exclude=EXCLUDE_REGEX
                        exclude topics matching the follow regular expression
                        (subtracts from -a or regex)

Or is there a way to declare certain topics in a nodelet manager "for internal use only" and hide them from external subscribers (like rosbag record -a)?

No, afaik there is no support for flagging topics as such.

rosbag interrogates the ROS master and asks it for all topics that are being published (here). The master then responds here.

There is nothing that makes "nodelet topics" special as far as the master is concerned (they are registered in the same way as non-nodelet topics), so it would have no way to distinguish them from the others and all appear in the list returned by the master.

Should we move towards a whitelist-based approach to log recording?

Perhaps a blacklist would be more scalable:

$ rosbag record --help
[..]
  -x EXCLUDE_REGEX, --exclude=EXCLUDE_REGEX
                        exclude topics matching the follow regular expression
                        (subtracts from -a or regex)