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 件のコメント

Ali Aflakian
Ali Aflakian 2021 年 2 月 22 日
Hi,
I have exactly the same proplem. Could I possible ask, did you managed to solve that and how?
Regards,
Ali

サインインしてコメントする。

回答 (1 件)

Tohru Kikawada
Tohru Kikawada 2021 年 4 月 24 日

1 投票

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.

カテゴリ

ヘルプ センター および File ExchangePublishers and Subscribers についてさらに検索

製品

リリース

R2020a

質問済み:

2020 年 8 月 30 日

回答済み:

2021 年 4 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by