필터 지우기
필터 지우기

how get coriolis matrix and inertia matrix for rididBodyTree

조회 수: 19 (최근 30일)
舒媛
舒媛 2024년 5월 16일
답변: Sachin Lodhi 2024년 6월 11일
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에서 Inertias and Loads에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by