Closed wayneparrott closed 3 years ago
Example output:
$ node example/ros-graph-example.js
This example creates the following nodes and outputs the corresponding ROS2 graph:
publisher_node
subscriber_node
service_node
ros_graph_display_node
NODES
[
'publisher_node',
'subscriber_node',
'service_node',
'ros_graph_display_node'
]
[
{ name: 'publisher_node', namespace: '/ns1' },
{ name: 'subscriber_node', namespace: '/ns1' },
{ name: 'service_node', namespace: '/ns1' },
{ name: 'ros_graph_display_node', namespace: '/ns1' }
]
TOPICS & TYPES
[
{
name: '/ns1/parameter_events',
types: [ 'rcl_interfaces/msg/ParameterEvent' ]
},
{ name: '/ns1/topic', types: [ 'std_msgs/msg/String' ] },
{ name: '/rosout', types: [ 'rcl_interfaces/msg/Log' ] }
]
SERVICES & TYPES
[
{
name: '/ns1/add_two_ints',
types: [ 'example_interfaces/srv/AddTwoInts' ]
},
{
name: '/ns1/publisher_node/describe_parameters',
types: [ 'rcl_interfaces/srv/DescribeParameters' ]
},
{
name: '/ns1/publisher_node/get_parameters',
types: [ 'rcl_interfaces/srv/GetParameters' ]
},
{
name: '/ns1/publisher_node/list_parameters',
types: [ 'rcl_interfaces/srv/ListParameters' ]
},
{
name: '/ns1/publisher_node/set_parameters',
types: [ 'rcl_interfaces/srv/SetParameters' ]
},
{
name: '/ns1/publisher_node/set_parameters_atomically',
types: [ 'rcl_interfaces/srv/SetParametersAtomically' ]
},
{
name: '/ns1/ros_graph_display_node/describe_parameters',
types: [ 'rcl_interfaces/srv/DescribeParameters' ]
},
{
name: '/ns1/ros_graph_display_node/get_parameters',
types: [ 'rcl_interfaces/srv/GetParameters' ]
},
{
name: '/ns1/ros_graph_display_node/list_parameters',
types: [ 'rcl_interfaces/srv/ListParameters' ]
},
{
name: '/ns1/ros_graph_display_node/set_parameters',
types: [ 'rcl_interfaces/srv/SetParameters' ]
},
{
name: '/ns1/ros_graph_display_node/set_parameters_atomically',
types: [ 'rcl_interfaces/srv/SetParametersAtomically' ]
},
{
name: '/ns1/service_node/describe_parameters',
types: [ 'rcl_interfaces/srv/DescribeParameters' ]
},
{
name: '/ns1/service_node/get_parameters',
types: [ 'rcl_interfaces/srv/GetParameters' ]
},
{
name: '/ns1/service_node/list_parameters',
types: [ 'rcl_interfaces/srv/ListParameters' ]
},
{
name: '/ns1/service_node/set_parameters',
types: [ 'rcl_interfaces/srv/SetParameters' ]
},
{
name: '/ns1/service_node/set_parameters_atomically',
types: [ 'rcl_interfaces/srv/SetParametersAtomically' ]
},
{
name: '/ns1/subscriber_node/describe_parameters',
types: [ 'rcl_interfaces/srv/DescribeParameters' ]
},
{
name: '/ns1/subscriber_node/get_parameters',
types: [ 'rcl_interfaces/srv/GetParameters' ]
},
{
name: '/ns1/subscriber_node/list_parameters',
types: [ 'rcl_interfaces/srv/ListParameters' ]
},
{
name: '/ns1/subscriber_node/set_parameters',
types: [ 'rcl_interfaces/srv/SetParameters' ]
},
{
name: '/ns1/subscriber_node/set_parameters_atomically',
types: [ 'rcl_interfaces/srv/SetParametersAtomically' ]
}
]
PUBLISHERS BY NODE
[
{
"node": {
"name": "publisher_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/parameter_events",
"types": [
"rcl_interfaces/msg/ParameterEvent"
]
},
{
"name": "/ns1/topic",
"types": [
"std_msgs/msg/String"
]
},
{
"name": "/rosout",
"types": [
"rcl_interfaces/msg/Log"
]
}
]
},
{
"node": {
"name": "subscriber_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/parameter_events",
"types": [
"rcl_interfaces/msg/ParameterEvent"
]
},
{
"name": "/rosout",
"types": [
"rcl_interfaces/msg/Log"
]
}
]
},
{
"node": {
"name": "service_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/parameter_events",
"types": [
"rcl_interfaces/msg/ParameterEvent"
]
},
{
"name": "/rosout",
"types": [
"rcl_interfaces/msg/Log"
]
}
]
},
{
"node": {
"name": "ros_graph_display_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/parameter_events",
"types": [
"rcl_interfaces/msg/ParameterEvent"
]
},
{
"name": "/rosout",
"types": [
"rcl_interfaces/msg/Log"
]
}
]
}
]
SUBSCRIPTIONS BY NODE
[
{
"node": {
"name": "publisher_node",
"namespace": "/ns1"
},
"info": []
},
{
"node": {
"name": "subscriber_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/topic",
"types": [
"std_msgs/msg/String"
]
}
]
},
{
"node": {
"name": "service_node",
"namespace": "/ns1"
},
"info": []
},
{
"node": {
"name": "ros_graph_display_node",
"namespace": "/ns1"
},
"info": []
}
]
SERVICES BY NODE
[
{
"node": {
"name": "publisher_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/publisher_node/describe_parameters",
"types": [
"rcl_interfaces/srv/DescribeParameters"
]
},
{
"name": "/ns1/publisher_node/get_parameters",
"types": [
"rcl_interfaces/srv/GetParameters"
]
},
{
"name": "/ns1/publisher_node/list_parameters",
"types": [
"rcl_interfaces/srv/ListParameters"
]
},
{
"name": "/ns1/publisher_node/set_parameters",
"types": [
"rcl_interfaces/srv/SetParameters"
]
},
{
"name": "/ns1/publisher_node/set_parameters_atomically",
"types": [
"rcl_interfaces/srv/SetParametersAtomically"
]
}
]
},
{
"node": {
"name": "subscriber_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/subscriber_node/describe_parameters",
"types": [
"rcl_interfaces/srv/DescribeParameters"
]
},
{
"name": "/ns1/subscriber_node/get_parameters",
"types": [
"rcl_interfaces/srv/GetParameters"
]
},
{
"name": "/ns1/subscriber_node/list_parameters",
"types": [
"rcl_interfaces/srv/ListParameters"
]
},
{
"name": "/ns1/subscriber_node/set_parameters",
"types": [
"rcl_interfaces/srv/SetParameters"
]
},
{
"name": "/ns1/subscriber_node/set_parameters_atomically",
"types": [
"rcl_interfaces/srv/SetParametersAtomically"
]
}
]
},
{
"node": {
"name": "service_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/add_two_ints",
"types": [
"example_interfaces/srv/AddTwoInts"
]
},
{
"name": "/ns1/service_node/describe_parameters",
"types": [
"rcl_interfaces/srv/DescribeParameters"
]
},
{
"name": "/ns1/service_node/get_parameters",
"types": [
"rcl_interfaces/srv/GetParameters"
]
},
{
"name": "/ns1/service_node/list_parameters",
"types": [
"rcl_interfaces/srv/ListParameters"
]
},
{
"name": "/ns1/service_node/set_parameters",
"types": [
"rcl_interfaces/srv/SetParameters"
]
},
{
"name": "/ns1/service_node/set_parameters_atomically",
"types": [
"rcl_interfaces/srv/SetParametersAtomically"
]
}
]
},
{
"node": {
"name": "ros_graph_display_node",
"namespace": "/ns1"
},
"info": [
{
"name": "/ns1/ros_graph_display_node/describe_parameters",
"types": [
"rcl_interfaces/srv/DescribeParameters"
]
},
{
"name": "/ns1/ros_graph_display_node/get_parameters",
"types": [
"rcl_interfaces/srv/GetParameters"
]
},
{
"name": "/ns1/ros_graph_display_node/list_parameters",
"types": [
"rcl_interfaces/srv/ListParameters"
]
},
{
"name": "/ns1/ros_graph_display_node/set_parameters",
"types": [
"rcl_interfaces/srv/SetParameters"
]
},
{
"name": "/ns1/ros_graph_display_node/set_parameters_atomically",
"types": [
"rcl_interfaces/srv/SetParametersAtomically"
]
}
]
}
]
The ros-graph-example.js demonstrates use of the Node api for accessing ROS2 graph info. When executed the example creates 4 nodes: a publisher node, a subscription node, a service node and a ros-info node that outputs detail of the other 3 nodes to stdout.