Open schmerl opened 4 years ago
In ROS2, plugins to gazebo seem to start their own nodes.
For example, in the turtlebot for ROS1, the topics added by the diff_drive plugin are added as /odom, /cmd_vel on the node gazebo.
diff_drive
/odom
/cmd_vel
gazebo
In ROS2, when loading the diff_drive plugin, a new node is created: /turtlebot3_diff_drive, and its info is:
/turtlebot3_diff_drive
/turtlebot3_diff_drive Subscribers: /clock: rosgraph_msgs/msg/Clock /cmd_vel: geometry_msgs/msg/Twist /parameter_events: rcl_interfaces/msg/ParameterEvent Publishers: /odom: nav_msgs/msg/Odometry /parameter_events: rcl_interfaces/msg/ParameterEvent /rosout: rcl_interfaces/msg/Log /tf: tf2_msgs/msg/TFMessage Service Servers: /turtlebot3_diff_drive/describe_parameters: rcl_interfaces/srv/DescribeParameters /turtlebot3_diff_drive/get_parameter_types: rcl_interfaces/srv/GetParameterTypes /turtlebot3_diff_drive/get_parameters: rcl_interfaces/srv/GetParameters /turtlebot3_diff_drive/list_parameters: rcl_interfaces/srv/ListParameters /turtlebot3_diff_drive/set_parameters: rcl_interfaces/srv/SetParameters /turtlebot3_diff_drive/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically Service Clients: Action Servers: Action Clients:
So, loading a gazebo plugin now causes the creation of a new nodes. Passing an existing NodeContext into the model won't work now.
NodeContext
@ChrisTimperley We need to discuss how to implement this now, and migrate gazebo in ROSDiscover to use a (more sophisticated) plugin mechanism.
P.S. I think this might also be an issue with nav2.
nav2
In ROS2, plugins to gazebo seem to start their own nodes.
For example, in the turtlebot for ROS1, the topics added by the
diff_drive
plugin are added as/odom
,/cmd_vel
on the nodegazebo
.In ROS2, when loading the
diff_drive
plugin, a new node is created:/turtlebot3_diff_drive
, and its info is:So, loading a gazebo plugin now causes the creation of a new nodes. Passing an existing
NodeContext
into the model won't work now.