Clear Filters
Clear Filters

how get coriolis matrix and inertia matrix for rididBodyTree

10 views (last 30 days)
I know for serialLink there are functions M = robot. inertia(q) and C = robot. coriolis(q,qd) .Well, I didn't find any function for rigidBodyTree.

Answers (1)

Sachin Lodhi
Sachin Lodhi on 11 Jun 2024
Hello 舒媛 ,
The inertia matrix (M(q)) is a key component in the dynamics equation.
To calculate the inertia matrix, use the massMatrix object function with your current robot configuration.
Unfortunately, there isn’t a direct function for obtaining the Coriolis matrix or inertia matrix for a rigidBodyTree. However, you can compute the Coriolis terms and inertia matrix manually using the following equation -
Here,
  • M(q) — is a joint-space mass matrix based on the current robot configuration. You can calculate this matrix by using the "massMatrix" object function.
  • C(q,˙q) — are the Coriolis terms, which are multiplied by ˙q to calculate the velocity product. You can calculate the velocity product by using by the "velocityProduct" object function.
  • G(q) — is the gravity torques and forces required for all joints to maintain their positions in the specified gravity "Gravity". You can calculate the gravity torque by using the "gravityTorque" object function.
  • J(q) — is the geometric Jacobian for the specified joint configuration. You can calculate the geometric Jacobian by using the "geometricJacobian" object function.
  • FExt — is a matrix of the external forces applied to the rigid body. You can generate external forces by using the "externalForce" object function.
  • τ — are the joint torques and forces applied directly as a vector to each joint.
  • q,˙q,¨q — are the joint configuration, joint velocities, and joint accelerations, respectively, as individual vectors. For revolute joints, kindly specify values in radians, rad/s, and rad/s2, respectively. For prismatic joints, specify in meters, m/s, and m/s2.
I hope this helps.

Categories

Find more on Inertias and Loads 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!