simuling to ros float64multiarray publish layout problem

Hi,
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.
Best regards.
EG
(from terminal simulation runs if I write " rostopic pub -l /***/joint_motor_controller/command std_msgs/Float64MultiArray "data: [50, -50, 50]" ")

1 Kommentar

Hi,
I have exactly the same proplem. Could I possible ask, did you managed to solve that and how?
Regards,
Ali

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Tohru Kikawada
Tohru Kikawada am 24 Apr. 2021

1 Stimme

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.

Kategorien

Produkte

Version

R2020a

Gefragt:

am 30 Aug. 2020

Beantwortet:

am 24 Apr. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by