Aerospace toolbox rotations: right-handed or left-handed?

9 Ansichten (letzte 30 Tage)
Tyler
Tyler am 15 Sep. 2013
Kommentiert: James Tursa am 7 Feb. 2020
I'm getting myself all confused over this. Supposedly, the toolbox uses a right-handed coordinate system ( ref ). But this is producing a left-handed rotation matrix:
>> which angle2dcm
...../Matlab/toolbox/aero/aero/angle2dcm.m
>> angle2dcm(pi/2,0,0,'zyx')
ans =
0.000000000000000 1.000000000000000 0
-1.000000000000000 0.000000000000000 0
0 0 1.000000000000000
This behavior seems relatively consistent throughout the toolbox. Is the documentation just wrong?

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 9 Dez. 2013
Bearbeitet: Mischa Kim am 9 Dez. 2013
It is proper right-handed. The rotation matrix for a right-handed rotation about the z-axis with a rotation angle psi is given by
Rz(psi) = [ cos(psi) sin(psi) 0;
-sin(psi) cos(psi) 0;
0 0 1]
For a rotation angle of 90 deg (pi/2) this results in
angle2dcm(pi/2,0,0,'zyx')
ans =
0.0000 1.0000 0
-1.0000 0.0000 0
0 0 1.0000
As an example, the vetor v in the graph below has coordinates [1; 0; 0] in the un-primed reference frame (left). When rotating the reference frame about 90 deg (right-handed) about the z-axis the vector points in negative y direction, [0; -1: 0], which corresponds to the result from the matrix-vector multiplication:
angle2dcm(pi/2,0,0,'zyx')*[1; 0; 0]
ans =
0.0000
-1.0000
0
  4 Kommentare
Tamas Sarvary
Tamas Sarvary am 24 Jan. 2019
@Mischa from the behavior of quatrotate I can see your observation is right but in the documentation that isn't mentioned at all.
"n = quatrotate(q,r) calculates the rotated vector, n, for a quaternion, q, and a vector, r."
James Tursa
James Tursa am 7 Feb. 2020
See also this post. The quatrotate function should probably use the phrase "coordinate system transformation" instead of the phrase "rotated vector".

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Robust Control Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by