# calculate difference of euler angles between two dynamic moving objects

46 views (last 30 days)

Show older comments

Florian Mayerle
on 12 Aug 2019

Commented: Florian Mayerle
on 12 Aug 2019

Hi,

I have two Objekts in same coordinate System. I want to calculate the difference between object1 and object2 in yaw, pitch and roll by comparing the rotation matrix .

If the objects dont move and if it has almoast the same orientation I can calculate each position relative to the origin and compare the angles, this already works verry good.

But if the objcts move and the orientation differs a lot I get allways a wrong angle differnce on one of the axises.

I dont know hot two fix this Problem.

Is there any sollution to calculate the difference between Rotation Matrixes/Quaterions/Axis and Angle and get solid results without singularitys?

Greetings

Florian

##### 0 Comments

### Accepted Answer

Jim Riggs
on 12 Aug 2019

Edited: Jim Riggs
on 12 Aug 2019

You have two objects described in a common reference frame. Lets call the objects A and B, and the frame is the I frame. So if Direction cosine matrix [I -> A] represents the transformation from the I frame to body A frame, and [I -> B] is the DCM which transforms coordinates from I to body B, then the transformation from A to B is:

[A -> B] = [I -> B] [I -> A]^T (where [I -> A]^T is the transpose of [I -> A]

This is the same as [A -> B] = [I -> B] [A -> I].

Now you can extract the Euler angles from [A -> B] which represent the rotation to get from A to B.

##### 4 Comments

### More Answers (1)

Chris
on 12 Aug 2019

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!