MATLAB Answers

How to load rigidbodyTree from Workspace into Simulink

6 views (last 30 days)
I wish to import a rigidbodyTree model into Simulink as this is a required parameter for the 'externalForce' function (I could not find a Simulink block that did the same thing). So I chose to do this in a MATLAB Function block instead.
After saving the rigidbodyTree to a .mat file, I am unable to load it. This results in the following error:
"Simulink does not support loading the input data in the variable 'myrobot' in file 'myrobot_saved.mat'. The From File block can only load MATLAB timeseries objects, structures of MATLAB timeseries objects, or two-dimensional arrays consisting of one-dimensional, double, non-complex samples. "
NOTE: I save it by going to the 'Model Explorer' (from Simulink), going to 'Base Workspace', right clicking on my rigidbodyTree and clicking 'export'.
It appears as if I am unable to obtain a type rigidbodyTree from my Workspace into my Simulink model. However, I know it must be possible as this is what blocks such as 'Velocity Product Torque' and 'Gravity Torque' do (as well as some other blocks in the Robotics Systems Toolbox).
TLDR: How do I load a rigidbodyTree object from the Base Workspace into my Simulink model for use in a MATLAB Function block?
Any help would be much appreciated.

Accepted Answer

Nishant Gupta
Nishant Gupta on 29 May 2020
You can use 'MATLAB System' block to implement rigidBodyTree object in your simulink model. Blocks like 'Velocity Product Torque' and 'Gravity Torque' as you mentioned are also created using 'MATLAB System' block only.
Refer to the following links, it might help you:
  2 Comments
Rachid Ramadan
Rachid Ramadan on 30 Oct 2020
I want to implement a matlab system for the externalForce function. Could you share your results?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by