Acceleration error for free flyer base #1922
Unanswered
MaximilianDio
asked this question in
Q&A
Replies: 1 comment
-
@MaximilianDio We currently have limited human resources to answer from Pinocchio's team. We hope the community will be able to provide help in the meantime. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello, I encountered an error in the calculation of the classical frame acceleration for freeFlyer bodies.
Assume we have a FreeFlyer body (B) and a frame (i) attached to it. The position from the freeflyer frame to the frame (i) is given by$r_{Bi}$ .$x^B$ is a vector x represented in the body frame and $x^W=R^W_B x^B$ is a vector represented in the world frame.$a_{WB}^W, \dot{\omega}$ as well as the velocity $v_{WB}^W, \omega_{WB}^W$
Also assume that
We are given the freeflyer acceleration in world frame
From classical mechanics we can evaluate the acceleration of a frame attached to a free moving object like
$a_{Wi}^W = a_{WB}^W + \dot{\omega} \times r_{Bi}^W + \omega_{WB}^W \times (\omega_{WB}^W \times r_{Bi}^W)$ $a_{Wi}^B = R^B_W a_{Wi}^W$
The acceleration in the body frame is then simply
I would like to compose multiple objects and robots using pinocchio. Therefore, I need a way to compute the kinematics and dynamics of a freeflyer object. However, it seems that there is an issue when evaluating the acceleration of a frame attached to a freeflyer object.
Here is a sample code and a sample urdf file:
Note that the frame acceleration changes, when the linear velocity$v_{WB}^W$ of the freeflyer is not 0! - However, the linear velocity should not have any effect on the frame acceleration.
The following python script was used to evaluate the frame acceleration
It seems that the calculation of the classical acceleration assumes a fixed base frame.
It can be easily corrected by subtracting the cross product of the angular velocity and the linea velocity of the base frame.
Beta Was this translation helpful? Give feedback.
All reactions