Robotics System Toolbox - inverseDynamics() has inconsistent results

4 views (last 30 days)
Hello,
I am trying to learn how to use the Robotics System Toolbox to validate a library of dynamic modeling I am currently working on. Firstly, though, I am following the tutorials and comparing the results with the ones given by the Robotics Toolbox by Peter Corke [1], a library I already know how to use.
So far, I have followed this tutorial [2] to create a robotic manipulator using D-H parameters. I then compared the forward kinematic model with the one given by Peter Corke's library, and they have matched perfectly.
Next, I started to work with the dynamic model. I followed this tutorial [3], set the dynamic parameters of the robot, calculated the torques on the joints of the robot using the method "inverseDynamics()," and then compared the results with:
  1. The torques returned by Peter Corke's library;
  2. The torques of the analytical model of a planar robotic manipulator given by Spong et al.
In both scenarios, however, the results given by the Robotics System Toolbox did not match.
I suspect the problem could be with my definition of the center of mass of each link of the robot. The documentation says this vector is supposed to be the position of the center of mass "relative to the body frame," but does not specify what the library considers as the "body frame." Therefore, I have assumed it to be the frame of the "rigidBodyJoint," as this is the only frame I am aware of existing on every link of the robot.
Does anyone know if this is correct? Have anyone tried to perform this validation with Peter Corke's Robotics Toolbox and realize what I am doing wrong?
Regards,
Frederico Silva

Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!