orientatjon orientatjon
play

Orientatjon Orientatjon We will defjne orientatjon to mean an - PowerPoint PPT Presentation

Orientatjon Orientatjon We will defjne orientatjon to mean an objects instantaneous rotatjonal confjguratjon This is the rotatjonal equivalent of positjon Rotatjonal State Representjng Positjons Cartesian


  1. Orientatjon

  2. Orientatjon • We will defjne ‘orientatjon’ to mean an object’s instantaneous rotatjonal confjguratjon • This is the rotatjonal equivalent of positjon • “Rotatjonal State”

  3. Representjng Positjons • Cartesian coordinates (x,y,z) are an easy and natural means of representjng a positjon in 3D space • There are many other alternatjves such as Polar notatjon (r,θ,φ) • Others can be defjned…

  4. Representjng Orientatjons • Is there a simple means of representjng a 3D orientatjon? (analogous to Cartesian coordinates?) • Not really. • There are several popular optjons though: – Euler angles – Rotatjon vectors (axis/angle) – 3x3 matrices – Quaternions – and more…

  5. Euler’s Theorem • Euler’s Theorem: Any two independent orthonormal coordinate frames can be related by a sequence of rotatjons (not more than three) about coordinate axes, where no two successive rotatjons may be about the same axis. • Not to be confused with Euler angles, Euler integratjon, Newton- Euler dynamics, inviscid Euler equatjons, Euler characteristjc… • Leonard Euler (1707-1783)

  6. Euler Angles • This means that we can represent an orientatjon with 3 numbers. • A sequence of rotatjons around principle axes is called an Euler Angle Sequence. • Assuming we limit ourselves to 3 rotatjons without successive rotatjons about the same axis, we could use any of the following 12 sequences: XYZ XZY XYX XZX YXZ YZX YXY YZY ZXY ZYX ZXZ ZYZ

  7. Euler Angles • This gives us 12 redundant ways to store an orientatjon using Euler angles • Difgerent industries use difgerent conventjons for handling Euler angles (or no conventjons)

  8. Euler Angles to Matrix Conversion • To build a matrix from a set of Euler angles, we just multjply a sequence of rotatjon matrices together: c z s z 0 1 0 0 c y 0 − s y ⋅ [ 1 ] R x ⋅ R y ⋅ R z = [ ⋅ [ c x ] c y ] 0 c x s x − s z c z 0 0 1 0 0 − s x s y 0 0 0 c y c z c y s z − s y = [ c x c y ] s x s y c z − c x s z s x s y s z +c x c z s x c y c x s y c z +s x s z c x s y s z − s x c z

  9. Euler Angle Order • As matrix multjplicatjon is not commutatjve, the order of operatjons is important • Rotatjons are assumed to be relatjve to fjxed world axes, rather than local to the object • One can think of them as being local to the object if the sequence order is reversed

  10. Using Euler Angles • To use Euler angles, one must choose one of the 12 representatjons. • There may be some practjcal difgerences between them and the best sequence may depend on what exactly you are trying to accomplish. • Euler angles can be stored in degrees, radians or …

  11. Vehicle Orientatjon • Generally, for vehicles, it is most convenient to rotate in roll (z), pitch (x), and then yaw (y) • In situatjons where there is a defjnite ground plane, y Euler angles can actually front of vehicle be an intuitjve representatjon x z

  12. Orientatjon HPR

  13. Gimbal lock • Gimbal = device used for holding a gyroscope • Illustrates problem with interpolatjng Euler angles • Gimbal lock is a basic problem with representjng 3D rotatjons using Euler angles

  14. Gimbal Lock • One potentjal problem that Euler Angles can sufger is the ‘gimbal lock’. • This results when two axes efgectjvely line up, resultjng in a temporary loss of a degree of freedom. • This is related to the singularitjes in longitude that you get at the north and south poles.

  15. Gimbal Lock • Roll, pitch, yaw • Gimbal lock: reduced DOF due to overlapping axes Ref: htup://www.fio-emden.de/~hofgmann/gimbal09082002.pdf

  16. Interpolatjng Euler Angles • One can simply interpolate between the three values independently • This will result in the interpolatjon following a difgerent path depending on which of the 12 schemes you choose • This may or may not be a problem, depending on your situatjon • Interpolatjng near the ‘poles’ can be problematjc • Note: when interpolatjng angles, remember to check for crossing the +180/-180 degree boundaries

  17. Euler Angles • Euler angles are used in a lot of applicatjons, but they tend to require some rather arbitrary decisions. • They also do not interpolate in a consistent way (but this isn’t always bad). • They can sufger from Gimbal lock and related problems. • There is no simple way to concatenate rotatjons. • Conversion to/from a matrix requires several trigonometry operatjons. • They are compact (requiring only 3 numbers).

  18. Axis/Angle • Euler’s Theorem also shows that any two orientatjons can be related by a single rotatjon about some axis (not necessarily a principle axis) • This means that we can represent an arbitrary orientatjon as a rotatjon about some unit axis by some angle (4 numbers) (Axis/Angle form) R = [ θ , a x , a y , a z ]

  19. Axis/Angle θ a (x,y,z)

  20. Axis/Angle to Matrix • To generate a matrix as a rotatjon θ around an arbitrary unit axis a : 2 +c θ ( 1 − a x 2 ) a x a x a y ( 1 − c θ ) +a z s θ a x a z ( 1 − c θ )− a y s θ 2 ) ] [ 2 +c θ ( 1 − a y 2 ) a x a y ( 1 − c θ )− a z s θ a y a y a z ( 1 − c θ ) +a x s θ 2 +c θ ( 1 − a z a x a z ( 1 − c θ ) +a y s θ a y a z ( 1 − c θ )− a x s θ a z

  21. Axis/Angle Representatjon • Storing an orientatjon as an axis and an angle uses 4 numbers, but Euler’s theorem says that we only need 3 numbers to represent an orientatjon • Mathematjcally, this means that we are using 4 degrees of freedom to represent a 3 degrees of freedom value • This implies that there is possibly extra or redundant informatjon in the axis/angle format • The redundancy manifests itself in the magnitude of the axis vector. The magnitude carries no informatjon, and so it is redundant. To remove the redundancy, we choose to normalize the axis, thus constraining the extra degree of freedom. • Alternately, we can scale the axis by the angle and compact it down to a single 3D vector (Rotatjon vector).

  22. Rotatjon Vectors • To convert a scaled rotatjon vector to a matrix, one would have to extract the magnitude out of it and then rotate around the normalized axis • Normally, rotatjon vector format is more useful for representjng angular velocitjes and angular acceleratjons, rather than angular positjon (orientatjon)

  23. Matrix Representatjon • We can use a 3x3 matrix to represent an orientatjon as well • This means we now have 9 numbers instead of 3, and therefore, we have 6 extra degrees of freedom • NOTE: We don’t use 4x4 matrices here, as those are mainly useful because they give us the ability to combine translatjons.

  24. Matrix Representatjon • 3 x 3 = 9 DOFs • Those extra 6 DOFs manifest themselves as 3 scales (x, y, and z) and 3 shears (xy, xz, and yz) • If we assume the matrix represents a rigid transform (orthonormal), then we can constrain the extra 6 DOFs | a |=| b |=| c |= 1 a=b × c b=c × a c=a × b

  25. Matrix Representatjon • Matrices are usually the most computatjonally effjcient way to apply rotatjons to geometric data. • Most orientatjon representatjons ultjmately need to be converted into a matrix in order to do anything useful (transform verts…) • Why then, shouldn’t we just always use matrices? – Numerical issues – Storage issues – User interactjon issues – Interpolatjon issues

  26. Rotatjons • Euler angles • Matrix • Axis / angle • Rotatjon Vector

  27. Quaternions

  28. Applicatjons of Quaternions • Used to represent rotatjons and orientatjons of objects in three-dimensional space in: – Computer graphics – Control theory – Signal processing – Attjtude controls – Physics – Orbital mechanics – Quantum Computjng, quantum circuit design From: http://en.wikipedia.org/wiki/Quaternion 29

  29. Quaternions • Quaternions are an interestjng mathematjcal concept with a deep relatjonship with the foundatjons of algebra and number theory • Invented by W.R.Hamilton in 1843 • In practjce, they are most useful as a means of representjng orientatjons • A quaternion has 4 components q= [ q 0 q 1 q 2 q 3 ]

  30. Quaternions

  31. Quaternions (Scalar/Vector) • Sometjmes, they are writuen as the combinatjon of a scalar value s and a vector value v q= ⟨ s,v ⟩ where s=q 0 v= [ q 1 q 2 q 3 ]

  32. Quaternions (Imaginary Space) • Quaternions are an extension to complex numbers • Of the 4 components, one is a ‘real’ scalar number, and the other 3 form a vector in imaginary ijk space! q=q 0 +iq 1 +jq 2 +kq 3 i 2 =j 2 =k 2 =ijk= − 1 i=jk= − kj j=ki= − ik k=ij= − ji

  33. Unit Quaternions • For convenience, we will use only unit length quaternions, as they will be suffjcient for our purposes and make things a litule easier 2 +q 1 2 +q 2 2 +q 3 2 = 1 | q |= √ q 0 • These correspond to the set of vectors that form the ‘surface’ of a 4D hypersphere of radius 1 • The ‘surface’ is actually a 3D volume in 4D space, but it can sometjmes be visualized as an extension to the concept of a 2D surface on a 3D sphere

  34. Quaternions as Rotatjons • A quaternion can represent a rotatjon by an angle θ around a unit axis a : q= [ cos θ a x sin θ a y sin θ a z sin θ 2 ] 2 2 2 or q= ⟨ cos θ 2 ,a sin θ 2 ⟩ • If a is unit length, then q will also be unit lenght

Recommend


More recommend