simuling to ros array publish

14 views (last 30 days)
Emre Gür
Emre Gür on 21 Jul 2020
Commented: Emre Gür on 24 Jul 2020
Hi I have a question. I need to publish this array from simuling to my ros network: "data: [50, -50, 50, -50]"
From terminal I can give this command and it works fine:
rostopic pub -1 /****/joint_motor_controller/command std_msgs/Float64MultiArray "data: [50, -50, 50, -50]"
But I want to achieve this from simulink as well however I couldnt achieve it. I set my publisher like the picture as well and my connection to my ros network is established successfully. I tried summing variables from MUX and BUS but it did not work. Thus how can I send a data array like the one above to my ros network?

Accepted Answer

Cam Salzberger
Cam Salzberger on 21 Jul 2020
Hello Emre,
In order to send a ROS message through the Publish block, you first need to create a Blank Message to have the appropriate bus structure. Then you can assign data to the fields of the message using a Bus Assignment block, and pass the output of that into the Publish block. See here for a basic example.
Now using std_msgs/Float64MultiArray gets a little trickier because it has a variable-sized array as one of its message fields. If you have any trouble using, take a look at this page dedicated to the topic.

More Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by