- #1
TGVF
- 6
- 2
Hello,
Trying to develop a multibody dynamics software of my own (just to understand the nitty-gritty details of such stuff), I chose the Lagrangian equations approach, with the Euler-Rodrigues parametrisation (quaternion) for 3D rotation as it is supposed to remove the gimbal locking singularity of conventional Euler angles. When angular position is to be part of the generalized coordinates, I take b, c and d and leave a as a dependant variable computed from the normalisation condition: ##a^2= b^2+c^2+d^2 ## . I take the positive value of a, by convention. Sounds good but... The 3x3 transformation from angular velocity vector ## \begin{pmatrix} u \\ v \\ w \end{pmatrix} ## to vector ## \begin{pmatrix} \dot b \\ \dot c \\ \dot d \end{pmatrix} ## is singular for any rotation such that a=0 (determinant is a/8), which a π rd rotation about any axis. This singularity is a potential problem for the calculation of the inverse transform ## \frac {\partial \Omega} {\partial \dot q}## and also ## \frac {\partial^2 \Omega} {\partial \dot q \partial q}## that are necessary for computing the Lagrange equations.
Looks like another sort of gimbal-locking case! Did I miss something ? Or how to circumvent this problem?
Thanks for any clarification!
Trying to develop a multibody dynamics software of my own (just to understand the nitty-gritty details of such stuff), I chose the Lagrangian equations approach, with the Euler-Rodrigues parametrisation (quaternion) for 3D rotation as it is supposed to remove the gimbal locking singularity of conventional Euler angles. When angular position is to be part of the generalized coordinates, I take b, c and d and leave a as a dependant variable computed from the normalisation condition: ##a^2= b^2+c^2+d^2 ## . I take the positive value of a, by convention. Sounds good but... The 3x3 transformation from angular velocity vector ## \begin{pmatrix} u \\ v \\ w \end{pmatrix} ## to vector ## \begin{pmatrix} \dot b \\ \dot c \\ \dot d \end{pmatrix} ## is singular for any rotation such that a=0 (determinant is a/8), which a π rd rotation about any axis. This singularity is a potential problem for the calculation of the inverse transform ## \frac {\partial \Omega} {\partial \dot q}## and also ## \frac {\partial^2 \Omega} {\partial \dot q \partial q}## that are necessary for computing the Lagrange equations.
Looks like another sort of gimbal-locking case! Did I miss something ? Or how to circumvent this problem?
Thanks for any clarification!