simuling to ros float64multiarray publish layout problem
33 views (last 30 days)
I am trying to publish 1x4 float64multiarray type message (exact message= [50, -50, 50, -50]) from simulink to ros topic. Although I followed regular procedure to do so; and did not feed in anything for layout at first, I am encountering this error from ros/gazebo simulation:
[ERROR] [1598824459.302691869, 6043.341000000]: Dimension of command (0) does not match number of joints (4)! Not executing!
I managed the array sizes for ROS message as 4 (which it is for [50, -50, 50, -50]). Thus, I think I have problem with layout. How can I resolve this problem? Which layout data shall I feed in for bus assignment?
Further details can be found from picture.
(from terminal simulation runs if I write " rostopic pub -l /***/joint_motor_controller/command std_msgs/Float64MultiArray "data: [50, -50, 50]" ")
Tohru Kikawada on 24 Apr 2021
In your case, you'll need to use MATLAB Function block for the nested message type, so it's a bit complicated. I've attached an example to assign an array to std_msgs/Float64MultiArray. Pleasse refer Work with Nested Arrays of Messages section in the following documentation for details.