Solving an ordinary differential equation including a rotation matrix

4 visualizaciones (últimos 30 días)
I would like to solve the following first order ODEs in MATLAB:
R_dot = R*u_hat;
P_dot = R*v;
m_dot = m*u_hat + n*v + l
n_dot = n*u_hat + f;
With states:
R, P, m, n
I am familiar with Matlab's ode45 solver and have used it before, but on vectors only.
However, I was wondering if this could be applied on rotation matrices such as R.
Keeping in mind that R must remain orthonormal and:
inv(R) = R'
Thanks!

Respuesta aceptada

Omar Alahmad
Omar Alahmad el 3 de Sept. de 2020
I found the solution to be in chapter 6 of the Technical Report of Oliver J. Woodman, "An introduction to inertial navigation".
I simply implemented my own ODE solver for that.
Regards,
Omar

Más respuestas (1)

Bruno Luong
Bruno Luong el 16 de Ag. de 2020
Might be you should rewrite ODE with the rotation not in term of 3x3 matrix but euler-rotation vector 3x1, then you should not worry much about constraint violation due to integration.
  1 comentario
Omar Alahmad
Omar Alahmad el 3 de Sept. de 2020
Hi Bruno Luong,
I found the solution to be in chapter 6 of the Technical Report of Oliver J. Woodman, "An introduction to inertial navigation".
I simply implemented my own ODE solver for that.
Regards,
Omar

Iniciar sesión para comentar.

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by