simuling to ros array publish

14 visualizzazioni (ultimi 30 giorni)
Emre Gür
Emre Gür il 21 Lug 2020
Commentato: Emre Gür il 24 Lug 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?

Risposta accettata

Cam Salzberger
Cam Salzberger il 21 Lug 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.
-Cam

Più risposte (0)

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by