How to apply relative force/torque/wrench using Gazebo Co simulation blocks in Simulink?

10 views (last 30 days)
Kenneth Hoffmann
Kenneth Hoffmann on 13 Jul 2020
Edited: Gaurav Bhosale on 22 May 2021
hello!
I am simulating a flying robot in gazebo, and have been using the Gazebo simulink cosimulation approach. I calculate lift/drag and so on in the relative, body frame of the robot using my own functions. I know gazebo has this capability through other means(outside of MATLAB), but I would like to stay in the MATLAB-Simulink-Gazebo world. The documentation for the gazebo applylinkwrench blocks is not thorough, and I only see the ability to apply two message types in the block: ApplyLinkWrench or ApplyJointTorque. It seems there should be a ApplyLinkWrenchRelative, or something along those lines, but I cannot find it.
Additionally, if anyone has any insight into how to extract velocity in relative frame from a model/link, I would appriciate that as well!
thanks!

Answers (1)

Gaurav Bhosale
Gaurav Bhosale on 22 May 2021
Edited: Gaurav Bhosale on 22 May 2021
Hi Kenneth,
To enable Gazebo functionality which are not available in current MATLAB-Simulink support, you can create custom plugin and call Gazebo API. Further, to connect with Simulink , you can use Gazebo Subscribe/Publish blocks (Custom Message Support) from R2020b and later.
Further, we have extended Gazebo Co-Sim funcationality in R2020b such as read link/joint state, set joint position, etc.

Community Treasure Hunt

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

Start Hunting!

Translated by