SBRML Part1 Differential Geometry in Robotics
SBRML Part1 Differential Geometry in Robotics
SBRML Part1 Differential Geometry in Robotics
Robotics
Differential Geometric Concepts
• Motivation
• Manifolds
• Tangent vectors and tangential space
• Cotangent vectors and cotangent space
• Transformation of vectors and covectors
• Tensors
• Coordinate transformations for tensors
Cartesian accelerations
Cartesian forces/torques
but
with velocity [mm/s], angular velocity [rad/s]
Example: x x
M x
x
R2
R 2 x x On which manifold does the
TCP of the following robot move?
And its joints?
why only locally?:
S2 T2
x
x
x
x
x x
Sensor Based Manipulation and Locomotion
Manifolds: Examples I
1. The earth
singularity at the poles manifold M
local
map
around x
h1 ( x1 , , xn ) 0
(1) n p
h p ( x1 , , xn ) 0
(h1, , h p )
( x0 )
If there exist p coordinates, such that the Jacobian ( x1,, x p ) in a point
x0 R n is invertible, then the manifold has the dimension m=n-p in the
vicinity of the point and (1) can be locally solved. (implicit function theorem)
x1 f1 ( x p 1 ,, xn )
x p f p ( x p 1 ,, xn )
( x p 1 ,, xn p m ) are then m local coordinates in the vicinity of x0
x1
Sensor Based Manipulation and Locomotion
Manifold Examples: Examples II
2. Orientation of a rigid body
described by a rotation matrix R3x 3
properties: RT R I - orthogonal
det( R) 1 - right-handed coordinate system
The configuration space is the set of all rotation matrices and is
denoted as SO(3) – Special Orthogonal Group
Exercise: check that SO(3) fulfills the group definition
(closure, associativity, identity element, inverse element)
however not the additional abelian group requirement (comutativity)
9
SO(3) is a 3 – dimensional manifold, embedded for example in R
which is isomorph to the set of all 3x3 matrices
Local coordinates:
- Euler angles () (in all alternatives)
- Axis-angle representation (r, )
- Roll-Pitch-Yaw angles ()
Axis-angle Representation
r11 r22 r33 1 k k 1
cos 1
2
r32 r23
1 Singular for
k r r
2 sin
13 31
r21 r12
n !
n
Generally, if is a mapping between two manifolds M m and N with
m
x - coordinates of M y ( x)
y - coordinates of N n
y
T
x y J T ( x) y
x
Robot dynamics:
M (q )q c(q, q ) g (q )
Simple PD controller with gravity compensation:
g (qd ) K (qd q ) D (q d q )
Example
D Dq
Remark: we see that formally, a scalar
E D D q
T
is a tensor of order zero
(1,0) (2,0) (0,1) (0,0) (1,0) (0,1)
Examples:
1
5. M , K 1 are tensors of type (0,2), thus two times contravariant
A aij 1, 2 Tx*M A(1, 2 ) 1T A 2 aij1i 2 j R
i, j
1 1
- For A M ( q ), 1, 2 p ( p M ( q ) q ) :momentums
2
1 T 1 mobility matrix
A(1, 2 ) p M (q ) p T (q, p ) R
2 kinetic energy
1 1
K , 1, 2 e
Elastic torque
- For A
2 potential energy
1 T 1 of the (m-dim.) spring
A(1 , 2 ) e K e E p R
2
compliance matrix
m n
Generally, given a mapping between the manifolds M and N with
m
x coordinates of M
y (x)
y coordinates of N n
Basic idea: the scalar quantities from the tensor definition are always
conserved when performing coordinate transformations (energy, power, ... ).
Generalization on manifolds
u Mv ui M ij vi
1
u, v M
T
u M
u, u M
2
i, j
Coordinate transformation: ,
,
0
,
Sensor Based Manipulation and Locomotion