Is there a way to get the Centroidal Momentum Matrix in Robotics Toolbox?

1 view (last 30 days)
In Robotics toolbox centerOfMass function returns center of mass of the robot and center of mass Jacobian of it. When I look inside the function I have realized that centroidal momentum matrix (written as cmm) is also being calculated but not returned, and I want to get that matrix. I cannot overwrite the file to change the outputs, and cannot write a wrapper due to class property being private. The error:
'No public property 'TreeInternal' for class 'RigidBodyTree'
Is there a way to get the Centroidal Momentum Matrix in Robotics Toolbox somehow? Thanks

Accepted Answer

Amal George M
Amal George M on 11 Sep 2018
Hi Yigit,
In order to access this variable, you can edit the 'RigidBodyTree.m' file outside of MATLAB. At the location "<Matlabroot>\toolbox\robotics\robotmanip\+robotics" (Write permission required). You can add 'cmm' in the list of output variables to the function 'centerOfMass()'. The modified line will be:
function [com, comJac, cmm] = centerOfMass(obj, varargin)
Restart MATLAB for changes to take effect.
Full disclosure: If there is a dependency associated with this function it might result in an error in future. Also, there is no guarantee that the file will be accessible in later releases.
  1 Comment
Marijn Peters
Marijn Peters on 7 May 2020
Hi Amal,
Do you happen to know if this is still possible in matlab 2020a? Or maybe another way to find the CMM in simscape?
kind regards,

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!