
Tags: algorithm, dcm, integration, orientation
Permalink Reply by mmormota on July 31, 2010 at 6:17pm
Permalink Reply by Hassan Azeem on July 31, 2010 at 7:58pm
Permalink Reply by mmormota on August 1, 2010 at 8:21am
Permalink Reply by Hassan Azeem on July 31, 2010 at 8:00pm
Permalink Reply by Hassan Azeem on July 31, 2010 at 8:38pm
Permalink Reply by Hassan Azeem on August 1, 2010 at 9:09am
Permalink Reply by Scott Harris on February 8, 2011 at 6:18pm I've just come across this thread and I'm still not clear on what the original poster means by "direct integration." What do you mean by direct integration?
DCM just directly integrates the differential equation:
dr/dt=w x r.
Also, that's a system of three linear ODEs. There isn't anything nonlinear about the differential equation for rotational kinematics.
Perhaps he is applying the rotation matrices sequentially?
If you express w as a skew symmetric matrix, you can solve the differential equation for the kinematics by taking the matrix exponential of the matrix version of w (\Omega). The integrating factor approach to solving the first order ODE is related to the exponential map that takes the Lie algebra so(3) to the Lie group SO(3). You end up with an exact matrix that you can multiply the DCM by at each time step. Since this matrix (exp(\Omega)) is a member of SO(3), there is no need to renormalize at each time step. This is mostly of pedagogical value, however, since the use of the infinitesimal rotation matrix along with renormalization is faster.
So what do people mean by "direct integration?"
Also, I'm puzzled by people referring to the ODE for rotational kinematics as nonlinear.
-Scott
Permalink Reply by Roy Brewer on February 8, 2011 at 6:59pm SCott,
The OP was just assuming that omega = d theta / dt (where theta is pitch, roll, or yaw attitude), as opposed to your correct coupled formulation. Since the cross product can be parameterized as a matrix, I think you are correct that the equation is linear. I just never thought of it that way before.
- Roy
Permalink Reply by Scott Harris on February 8, 2011 at 8:01pm So he was applying finite rotation matrices sequentially, using \theta_x=wx*dt, \theta+y=wy*dt, \theta_z=wz*dt? It wasn't clear what he was doing and I currently don't have Simulink so I couldn't load up his models.
Applying a single rotation matrix given by exponentiating the skew-symmetric representation of w does work. You form the finite rotation matrix that rotates about the instantaneous axis of rotation.
Yeah, the kinematics are linear. They have the form
L(r)=0 where L is the operator D=d/dt+w x.
Written in matrix form, you just get a linear system of ODEs:
dr/dt=\Omega r, where \Omega is the skew-symmetric matrix.
It's linear, just non-abelian.
Solving the ODE in closed form and using that to update the DCM is more accurate, but much more computationally expensive. It's not worth it unless you have tons of processing power to spare. I've implemented it in Matlab just for completeness.
It is fun to see the deep connection between Lie groups, Lie algebras, and differential equations in action.
-Scott
Permalink Reply by Roy Brewer on February 9, 2011 at 5:22am Scott,
I've seen some papers that discuss "invariant observers" that I believe are based on the idea of keeping the product in SO(3). Do you have a reference that describes what you mean, or can you at least type out the equation? I think you mean somethinng like this:
expm(A),
where m is for Matrix, and A is the skew-symmetric matrix form of omega
0 -omegaz omegay
A = omegaz 0 -omegax
-omegay omegax 0
Does expm(A) have a closed form solution? Is the first order approximation any different than multiplying by I + A dt then renormalizing? Actually, I think that would be identical, from a Taylor series approach. How about if we add the next term - something like A^2/2?
- Roy
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.185 members
87 members
24 members
18 members
181 members
© 2013 Created by Chris Anderson.
Powered by
