No action when using Simulink ROS Publish block

2 views (last 30 days)
Hi everyone.
This is a strange problem. I'm trying to use simulink Ros block to monitor and actuate a robotic arm. After several attempts, the Subscribe block is finally capable to provide real time measures of the robot sensors (Joint Positions).
What I'm trying to do now is to Publish torque command in order to achieve one task.
So I input Sine wave signals to all my joints (fixed array [7 x 1]) just to see what happens when I publish it with Ros Publish Block. From time to time I got a Segmentation Fault in my Robot Ros node, but most of the time nothing happens.
I really don't understand what is the problem.
So anybody experience would be welcome.
Sincerely

Accepted Answer

Sebastian Castro
Sebastian Castro on 3 Oct 2018
In the Simulink-ROS interface, all arrays are treated like C arrays. You need both the content and the length of the array to successfully publish.
In addition to setting the Effort signal, you need to go into the Effort_SL_Info > CurrentLength signal and set its value to the dimension of the vector -- in this case, a uint32 valued 7.
- Sebastian

More Answers (0)

Categories

Find more on Publishers and Subscribers in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!