how get coriolis matrix and inertia matrix for rididBodyTree

42 次查看(过去 30 天)
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.

回答(1 个)

Sachin Lodhi
Sachin Lodhi 2024-6-11
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.

类别

Help CenterFile Exchange 中查找有关 Manipulator Modeling 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by