Closed vmayoral closed 4 years ago
Working on the implementation, I'll ping you when is ready for review @vmayoral.
The output is this:
root@alias:/aztarna# aztarna -t ros2 --daemon -d 0
Scanning the network...
Exploring ROS_DOMAIN_ID: 0
Exploring ROS_DOMAIN_ID for topics: 0
Exploring ROS_DOMAIN_ID for services: 0
Nodes:
/_ros2cli_daemon_0
domain: 0
subscribers: []
publishers: [Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])
Topic(name=/rosout
types=[rcl_interfaces/msg/Log])]
services: []
actionservers: []
actionclient: []
/talker
domain: 0
subscribers: [Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])]
publishers: [Topic(name=/chatter
types=[std_msgs/msg/String])
Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])
Topic(name=/rosout
types=[rcl_interfaces/msg/Log])]
services: [Topic(name=/talker/describe_parameters
types=[rcl_interfaces/srv/DescribeParameters])
Topic(name=/talker/get_parameter_types
types=[rcl_interfaces/srv/GetParameterTypes])
Topic(name=/talker/get_parameters
types=[rcl_interfaces/srv/GetParameters])
Topic(name=/talker/list_parameters
types=[rcl_interfaces/srv/ListParameters])
Topic(name=/talker/set_parameters
types=[rcl_interfaces/srv/SetParameters])
Topic(name=/talker/set_parameters_atomically
types=[rcl_interfaces/srv/SetParametersAtomically])]
actionservers: []
actionclient: []
/_ros2cli_daemon_0
domain: 0
subscribers: []
publishers: [Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])
Topic(name=/rosout
types=[rcl_interfaces/msg/Log])]
services: []
actionservers: []
actionclient: []
/talker
domain: 0
subscribers: [Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])]
publishers: [Topic(name=/chatter
types=[std_msgs/msg/String])
Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])
Topic(name=/rosout
types=[rcl_interfaces/msg/Log])]
services: [Topic(name=/talker/describe_parameters
types=[rcl_interfaces/srv/DescribeParameters])
Topic(name=/talker/get_parameter_types
types=[rcl_interfaces/srv/GetParameterTypes])
Topic(name=/talker/get_parameters
types=[rcl_interfaces/srv/GetParameters])
Topic(name=/talker/list_parameters
types=[rcl_interfaces/srv/ListParameters])
Topic(name=/talker/set_parameters
types=[rcl_interfaces/srv/SetParameters])
Topic(name=/talker/set_parameters_atomically
types=[rcl_interfaces/srv/SetParametersAtomically])]
actionservers: []
actionclient: []
Topics:
/chatter
domain: 0
type: "std_msgs/msg/String"
publishers: 1
subscriber: 0
Services:
/talker/describe_parameters
domain: 0
type: "rcl_interfaces/srv/DescribeParameters"
/talker/get_parameter_types
domain: 0
type: "rcl_interfaces/srv/GetParameterTypes"
/talker/get_parameters
domain: 0
type: "rcl_interfaces/srv/GetParameters"
/talker/list_parameters
domain: 0
type: "rcl_interfaces/srv/ListParameters"
/talker/set_parameters
domain: 0
type: "rcl_interfaces/srv/SetParameters"
/talker/set_parameters_atomically
domain: 0
type: "rcl_interfaces/srv/SetParametersAtomically"
Looks we're going in the right direction. Comment:
/talker
node and others twice?Mmm, not sure. I'll review it again.
root@alias:/aztarna# aztarna -t ros2 --daemon -d 0
Scanning the network...
Exploring ROS_DOMAIN_ID: 0 for nodes
Exploring ROS_DOMAIN_ID: 0 for topics
Exploring ROS_DOMAIN_ID: 0 for services
Nodes:
/talker
domain: 0
subscribers: [Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])]
publishers: [Topic(name=/chatter
types=[std_msgs/msg/String])
Topic(name=/parameter_events
types=[rcl_interfaces/msg/ParameterEvent])
Topic(name=/rosout
types=[rcl_interfaces/msg/Log])]
services: [Topic(name=/talker/describe_parameters
types=[rcl_interfaces/srv/DescribeParameters])
Topic(name=/talker/get_parameter_types
types=[rcl_interfaces/srv/GetParameterTypes])
Topic(name=/talker/get_parameters
types=[rcl_interfaces/srv/GetParameters])
Topic(name=/talker/list_parameters
types=[rcl_interfaces/srv/ListParameters])
Topic(name=/talker/set_parameters
types=[rcl_interfaces/srv/SetParameters])
Topic(name=/talker/set_parameters_atomically
types=[rcl_interfaces/srv/SetParametersAtomically])]
actionservers: []
actionclient: []
Topics:
/chatter
domain: 0
type: "std_msgs/msg/String"
publishers: 1
subscriber: 0
Services:
/talker/describe_parameters
domain: 0
type: "rcl_interfaces/srv/DescribeParameters"
/talker/get_parameter_types
domain: 0
type: "rcl_interfaces/srv/GetParameterTypes"
/talker/get_parameters
domain: 0
type: "rcl_interfaces/srv/GetParameters"
/talker/list_parameters
domain: 0
type: "rcl_interfaces/srv/ListParameters"
/talker/set_parameters
domain: 0
type: "rcl_interfaces/srv/SetParameters"
/talker/set_parameters_atomically
domain: 0
type: "rcl_interfaces/srv/SetParametersAtomically"
Fixed! Wrong indentation :sleeping:
root@48807626eafa:/tmp/aztarna# aztarna -t ros2 -d 0 --daemon --hidden
Scanning the network...
Exploring ROS_DOMAIN_ID: 0 for nodes
Exploring ROS_DOMAIN_ID: 0 for topics
Exploring ROS_DOMAIN_ID: 0 for services
Nodes:
/listener
domain: 0
subscribers: []
publishers: [Topic(name='/parameter_events', types=['rcl_interfaces/msg/ParameterEvent']), Topic(name='/rosout', types=['rcl_interfaces/msg/Log'])]
services: []
actionservers: []
actionclient: []
/talker
domain: 0
subscribers: []
publishers: [Topic(name='/chatter', types=['std_msgs/msg/String']), Topic(name='/parameter_events', types=['rcl_interfaces/msg/ParameterEvent']), Topic(name='/rosout', types=['rcl_interfaces/msg/Log'])]
services: []
actionservers: []
actionclient: []
Topics:
/chatter
domain: 0
type: "std_msgs/msg/String"
publishers: 1
subscriber: 0
Services:
/listener/describe_parameters
domain: 0
type: "rcl_interfaces/srv/DescribeParameters"
/listener/get_parameter_types
domain: 0
type: "rcl_interfaces/srv/GetParameterTypes"
/listener/get_parameters
domain: 0
type: "rcl_interfaces/srv/GetParameters"
/listener/list_parameters
domain: 0
type: "rcl_interfaces/srv/ListParameters"
/listener/set_parameters
domain: 0
type: "rcl_interfaces/srv/SetParameters"
/listener/set_parameters_atomically
domain: 0
type: "rcl_interfaces/srv/SetParametersAtomically"
/talker/describe_parameters
domain: 0
type: "rcl_interfaces/srv/DescribeParameters"
/talker/get_parameter_types
domain: 0
type: "rcl_interfaces/srv/GetParameterTypes"
/talker/get_parameters
domain: 0
type: "rcl_interfaces/srv/GetParameters"
/talker/list_parameters
domain: 0
type: "rcl_interfaces/srv/ListParameters"
/talker/set_parameters
domain: 0
type: "rcl_interfaces/srv/SetParameters"
/talker/set_parameters_atomically
domain: 0
type: "rcl_interfaces/srv/SetParametersAtomically"
This PR builds upon the ideas developed today by @LanderU and @vmayoral and further improves the previous capabilities using ros2cli daemon. Moreover, this PR also aims to capture the ROS 2 abtractions in a more complete set of helper classes (created a new script
helper2.py
for that purpose).Some pending items are left as a
TODO
in the code and should be addressed before merging.