Docstoc

IK

Document Sample
IK Powered By Docstoc
					Mathematical Foundations of 
Computer Graphics and Vision


             Metrics on SO(3), SE(3) 
             and Inverse Kinematic

                      Luca Ballan




                      Institute of Visual Computing
   Summary of the previous lecture
Rigid transformations                                                                                         Angle/axis representation
(maps which preserve distances 
                                         isomorphic
and space orientation)


                                                                                     I               so(3) =  Tangent space at the identity
                  Rigid                                                                                       Lie algebra of the 3x3 skew‐
                  rotations                                                                                    symmetric matrices

                                                                                              exp:                        smooth map
                                                                                                                          coincides with the 
                                                              SO(3) =   3 – manifold of the rotation                      matrix exponential
                                                                         matrices immerse in 
                                                                                                                              exp
                                                                        Lie group 
        isomorphic                                    isomorphic




    SE(3) =  6 – Manifold defined as 
              Lie group 



                                                                                 =        3 – manifold of the unit quaternions
                                                                                          Lie group
Content
 Quaternions

 Interpolation in SO(3)

 Kinematic Chains and Inverse Kinematics
Quaternions

 Quaternions are objects which extend the concept of complex numbers from the 
   2D plane to the 4D space.

 Complex numbers       are 2D points for which an internal multiplication is defined 
  (remind that what we call                     is just a vector space with no internal multiplication)

 Quaternions are 4D points for which an internal multiplication operation is defined




 SO(2) is somehow related to the space of complex numbers 

 SO(3) is somehow related to the space of quaternions
Complex Numbers and the Unit Circle
                      is the field of complex numbers

 the set of the all the points in       distant 1 from the origin, is called unit circle, and
    denoted with the symbol  
      with the complex multiplication is a group, called

                               =   Group of the unitary complex numbers


                                                          An element of      can always be written as



                                                          the multiplication of two elements in 
                                                           is an element in 


       is a smooth 1‐manifold

         is a Lie group
The Unit Circle Lie Group
 as before, given a lie group, the tangent space at the identity has a natural structure 
  of Lie Algebra (      = the imaginary axis)
 moreover, there exist a smooth map called exponential map connecting the lie 
  Algebra with the Lie group

                                            the exponential map, in this case, coincides with 
             exp:
                                             the complex exponential

                                                        exp


                            I = (1,0)
                                            and for imaginary elements it simplifies to 
The Unit Circle and SO(2)
         is isomorphic to SO(2)


                                   Isomorphic
             SO(2)                                           unit circle in




                            1‐manifold                  1‐manifold


The isomorphism implies that:

 We have a duality between elements in SO(2) and elements in 

 Matrix multiplications on one side maps to complex number multiplications on the 
    other side
The Duality extends also to the rest of the field
The Duality: Concatenation of Rotations




                                                        =
           =
                                                     this holds because of the isomorphism




                                                        =
           =




 In              the multiplication is commutative and the exponential is a linear map

 Therefore, due to the isomorphism, in SO(2) the multiplication must also be 
  commutative and can be combined
  (this does not hold in SO(3))
SO(3) and the Unit Sphere
                       Isomorphic                                   = the hypersphere in 
SO(3)
                                                                      quotient the antipodal 
                                                                      points.
                                                                     (the hemisphere)


               3‐manifold                            3‐manifold



        Intuitively:
             (w, x, y, z) with norm 1
             1 coordinate is fixed since the norm has to be 1
             2 coordinates identify the new position of the x‐axis
             1 coordinate identifies the roll along this axis
             (w, x, y, z) and (‐w, ‐x, ‐y, ‐z) represent the same rotation
Quaternions
       is a (non‐commutative) field, called Quaternion space
Unit Quaternions
 the hemi‐hypersphere                         with the quaternion multiplication is a group, 
    called

                                                   Group of the unit quaternions




                                                           3‐manifold


 as before,                       is a manifold

                     is a Lie Group
Unit Quaternions as Lie Group
 given the identity I=(1,0), the tangent space in I is an “plane” consisting of all the 
  imaginary numbers

                                                         has a natural Lie algebra structure
                     exp
                                                   the related exponential map in this case 
                                                       coincides with the quaternion exponential

                                                             exp
                              I = (1,0)

                                                             exp


                                                          resembles a lot the angle/axis 
                                                       representation of SO(3) and infact…
Unit Quaternions
 the group of unit quaternions                is isomorphic to SO(3)


                                Isomorphic
         SO(3)




                       3‐manifold                         3‐manifold




The isomorphism implies that:

 We have a duality between elements in SO(3) and elements in 

 Matrix multiplications on one side maps to quaternion multiplications on the other 
  side
The Duality extends also to the rest of the field




                                             conjugate




                                        (non commutative)
Unit Quaternions: Summary
Pro:
   This representation is a smooth isomorphism between the two manifolds SO(3) and  
   This representation is unique (contrary to angle/axis and Euler angles)
   It has a nice geometrical interpretation (the hemisphere)
   No conversion singularities (except between +q and –q)
   Concatenation of rotations correspond to quaternions multiplication
    (and quaternion multiplication are a bit faster than matrix multiplication)
 Computationally inexpensive w.r.t. other representations (suitable for real‐time application)
    (also when interpolating, see later)



Con:
 Computing the derivative is not easy 
 The quaternion space                        is not a “simple” flat space (it is not a vector space, like in the 
  other cases, it is still a manifold)
 therefore, we cannot apply easily standard optimization techniques
 one can use the tangent space for optimization, but this “corresponds” to the angle/axis 
  representation
Questions?
Content
 Quaternions

 Interpolation in SO(3)

 Kinematic Chains and Inverse Kinematics
Interpolation in SO(3)
                                                               SO(3)
 Given two rotation matrices                              ,
   one would like to find a smooth path in SO(3)
   connecting these two matrices.



                 smooth
Rotation Interpolation
Approach 1: Linearly interpolate R1 and R2 and project the interpolation back into 
SO(3)




 The projection into SO(3) can be defined as the closest element in SO(3) to the 
  linear interpolation




 If R1 and R2 are too far each other, their linear interpolation is very far from the 
  SO(3) manifold. The resulting motion will be not intuitive.
Rotation Interpolation 
Approach 2: Linearly interpolate R1 and R2 in one of their representation spaces

 Euler angles:  (R1, R2 too far ‐> not intuitive motion)


 Angle/Axis:  (similar to Euler angles) The problem is that sum of angle/axis does 
 not correspond to composition of rotations



 Quaternions:  (LERP) The linear interpolation of element on a hypersphere is not 
 an element of a hypersphere, therefore we need to projected the result back to 




    The result is not that bad, the motion is intuitive, but the angular speed in the space
    of quaternion is not uniform (whatever this really means).

                                                                   angular speed
Rotation Interpolation
Approach 3: use the geodesics of SO(3)

 the geodesics of a manifold are the curves of minimum/maximum length on that 
 manifold 

 from the exponential map we know that, a line passing through 0 in the Lie 
 Algebra maps to a geodesic passing through the identity in the associated Lie 
 group.


                   I                      consequently the curve
                              so(3)
  SO(3)
                                          is a geodesic of SO(3) passing through I 


                                      This holds only for line passing through 0 and 
                                      consequently for geodesic passing through I
Rotation Interpolation
 To find the geodesic passing through        and        we need to rotate the ball SO(3)
  by 




                                                         geodesic between I and 

                                                         geodesic between        and 
Rotation Interpolation
Approach 4: use geodesics of




 Since                      is also a Lie group, we know
                      exp




                            I




 as before, the interpolation between q1 and q2 along the geodesic can be written 
  as
Rotation Interpolation

 using the properties of the quaternion exponential (similar to the standard exponential)




                                                                                             it remains always on the 
 this interpolation method is called SLERP                                                  sphere since we are only 
  (spherical linear interpolation)                                      SLERP                using multiplications
                                                             LERP



 This is equivalent to 




 The resulting motion is very intuitive and it is performed at uniform angular speed in the space of 
  quaternions

 Note: q and ‐q represent the same rotation, to get the shortest path (geodesic) we need to 
  ensure that both q1 and q2 belong to the same hemisphere (their dot product must be positive).
Rotation Interpolation: which is best?
SE(3) geodesic interpolation




                                                            the geodesics are defined
    geodesic interpolation   (SLERP)                        accordingly to the metric 
                                                            defined on those spaces.
                                                            Are the metric on those 
                                                            spaces equivalent?



 Clearly, SLERP is computationally faster than the SE(3) geodesic interpolation
   because of this formula



 But, are they actually doing the same motion? at the same speed?
Interpolation: Summary
 We show four different interpolation approaches

 Are those the only ones? No
  (anyone can come up with his own interpolation method)


 Which interpolation is the best? It depends on the application

 Geodesic interpolations are typically overrated...
Interpolation: Summary




      SLERP
Questions?


 Given two rotations R1 and R2, interpolate along the geodesic starting from R1 
 passing n times through R2 and R1 and ending in R2.



                                                                          something like this but
                                                                          not limited to a single 
                                                                          axis
                                                   from [jacobson 2011]
Content
 Quaternions

 Interpolation in SO(3)

 Kinematic Chains and Inverse Kinematics
Special Euclidean group SE(3)
                                                Special Euclidean group of order 3


 for simplicity of notation, from now on, we will use homogenous coordinates




 The straightforward way of parameterize SE(3) is the following




                              Translation
                       Angle/axis representation of the rotation

       is called twist, and usually indicated with the symbol
Composition of Rigid Motions


     Transform p

                                              p
 Transform the transformation 
 of p

                                                  p
                                                                         p


                                 is expressed in local coordinates
                                 relative to the framework induced 
                                 by

                                 The second transformation is actually
                                 performed on the twist
Kinematic Chain
 A kinematic chain is an ordered set of rigid transformations


                                                    2       3
                        0                 1             C
                               A              B



 Each                 is called bone   (A,B,C)

 Each       is called joint            (0,1,2,3)

 joint 0 is called base/root (and assumed to be fixed)
 joint 3 is called end effector
Kinematic Chain
 A kinematic chain is an ordered set of rigid transformations


                                                  2           3
                     0                 1              C
                          A                B




 Each joint has its own coordinate system          determining its position in the space and the 
  orientation of its local axes

 Each reference system is an element of SE(3) determined by a twists            (     ,    ,     ,     )

 the bones A, B, C are oriented accordingly to the x‐axis of the reference system of joint 0, 1 and 
  2, respectively



 the twists      ,    ,     , and      all together determine completely the configuration of the kinematic 
  chain
Kinematic Chain
                                                                                                         2
 The base twist        has the form                                             0             1             C
                                                                                                                   3
                                                                                     A             B
                                        represents the coordinates of
                                         the joint 0


                                        determine the orientation of the
                                        reference system of joint 0



 All the internal twists (   and      )  are defined as


                                                               the translation is applied only along the x‐axis 
                                                               with amount




                                and      denote the length of the bone A 
                              and B, respectively
Kinematic Chain
                                                                                                  2
 The end effector twist        has the form                                      0       1           C
                                                                                                          3
                                                                                      A       B




                                                denote the length of the bone C



                                The orientation of the end effector is the 
                                same as the bone C
Kinematic Chain: Summary
                                                  2
                                                            3
                         0              1             C
                             A              B




      determines the position of joint 0 and the orientation of bone A



      determine the position of joint 1, the length of bone A, and the 
    orientation of bone B w.r.t. the reference system of joint 0



      determine the position of joint 2, the length of bone B, and the 
    orientation of bone C w.r.t. the reference system of joint 1



     determine the position of joint 3 and the length of bone C
Kinematic Chain: DOF
                                                 2
                                                           3
                       0              1              C
                           A              B




 Given the constraints




 the actual DOFs of this particular kinematic chain are


                                                 3x3 DOF                              (ball joints)

                                                 +3 DOF if the base can move

                                                 +3x1 DOF if the bone is extendible   (prismatic joints)
Kinematics Problems
Given a kinematic chain

 Forward Kinematics Problem consists in finding the coordinates of the end 
 effector given a specific kinematic chain configuration

                                                                Forward Kinematics 
                                                                of the end effector



 Inverse Kinematics Problem consists in finding the configuration of the 
 kinematic chain for which the distance between the end effector and a pre‐
 defined target point q is minimized



                                                                             fixed/or not
                                                                             fixed/or not
Inverse Kinematics
 Solving an inverse kinematic problem is a non‐linear least square optimization 
 problem 




 The problem is under‐constrained, 3 equations and (at least) 9 unknowns
    If q is reachable by the kinematic chain, there are infinite solutions to the 
     problem
    If q is not reachable, the solution is unique up to rotations along the bones axes
A Possible Solution
Newton’s method
   let denote with      our unknowns 




    let       be the current estimate for the solution
    compute the Taylor expansion of          around 
The Jacobian of the Forward Kinematics
 Given the forward kinematic


 assuming
                                             fixed
                                             fixed

 and


 the Jacobian of the forward kinematic is                      1x3 column vector




                                                     only one term depends on
The Jacobian of the Forward Kinematics
The Jacobian of the Forward Kinematics




 and so on… (all the other derivatives can be computed in a similar way)


 The Jacobian of forward kinematic is very easy to compute if the angle/axis 
  representation is used. On the contrary, if quaternions are used instead, the 
  Jacobian is not as trivial
Questions?
References
SO(3) and SE(3)
 [Murray’94] A Mathematical Introduction to Robotic Manipulation, R. Murray, Z. Li and S. 
  Sastry, CRC Press 1994

 [Belta] Euclidean metrics for motion generation on SE(3), Calin Belta and Vijay Kumar 
  http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.1496



Quaternions and Interpolations
 [Dam’98] Quaternions, Interpolation and Animation 
  http://www.itu.dk/people/erikdam/DOWNLOAD/98‐5.pdf

 [Shoemake] Quaternions, Ken Shoemake
  http://www.cs.ucr.edu/~vbz/resources/quatut.pdf

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:4/3/2013
language:Unknown
pages:46