simuling to ros array publish
8 次查看(过去 30 天)
显示 更早的评论
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? ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/334857/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/334857/image.png)
0 个评论
采纳的回答
Cam Salzberger
2020-7-21
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
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!