Publish and Subscribe to ROS 2 Messages in Simulink
This model shows how to publish and subscribe to a ROS 2 topic using Simulink®.
Prerequisites: Get Started with ROS 2 in Simulink
open_system('simulinkPubSubROS2Example');
Use the Blank Message and Bus Assignment blocks to specify the x and y values of a 'geometry_msgs/Point'
message type. Open the Blank Message block mask to specify the message type. set Sample time to 0.01. Open the Bus Assignment block mask to select the signals you want to assign. Remove any values with '???'
from the right column. Supply the Bus Assignment block with relevant values for x and y.
Feed the Bus
output to the Publish block. Open the block mask and choose Specify your own
as the topic source. Specify the topic, '/location'
, and message type, 'geoemetry_msgs/Point'
. Set Sample time to 0.01.
Add a Subscribe block and specify the topic and message type. Feed the output Msg
to a Bus Selector and specify the selected signals in the block mask. Display the x and y values.
Set the simulation stop time to Inf
and run the model. You should see the xPosition_Out
and yPosition_Out
displays show the corresponding values published to the ROS 2 network.