sbrml part1 differential geometry in robotics · 2018. 11. 5. · a differential geometry...
TRANSCRIPT
Differential Geometry in Robotics
Sensor Based Manipulation and Locomotion
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
Sensor Based Manipulation and Locomotion
Motivation
What is a vector in robotics?
Usual understanding: an element of a metric Euclidian space
Example: joint position, joint velocity, and joint accelerationjoint torques
First remove again all certainties…
Cartesian accelerationsCartesian forces/torques
Cartesian positions, Cartesian velocities
Sensor Based Manipulation and Locomotion
What's to object against?
1. All these "vector" quantities transform in different ways betweencoordinate systems
)(qTx T - Homogeneoustransformation
qqJx )(
FqJ T )(J - Jacobian matrix
xq
F)(qJT
)(qJ
Joint dynamics Cartesian dynamics
A differential geometry perspective enables a deeper understanding of these aspects
Obviously, there is a richer structure behind, than vector spaces
A
),( 21 xxx
x111 ,, qq
222 ,, qq
),( yx FFF
Sensor Based Manipulation and Locomotion
What's to object against?
2. The six-dimensional vector spaces of Cartesian velocities, rotational velocities (twists) and of Cartesian forces and torques (wrench) are not metric spaces!
Neither the scalar product , nor the induced
vector norm
can be defined in a physically meaningful way, namely:- independent of the choice of the coordinate system- independent of the units
21 yyT
yyy T
Sensor Based Manipulation and Locomotion
What's to object against?
Example:Tx ]2,2,2,1,1,1[1 Tx ]1,1,1,2,2,2[2
with velocity [m/s], angular velocity [rad/s]
021 xx
with velocity [mm/s], angular velocity [rad/s]
but
Tx ]2,2,2,101,101,101[ 3331
Tx ]1,1,1102,102,102[ 3332
021 xx
care is needed when generalizing the notion of orthogonality(familiar from translations) to twist und wrenches
Sensor Based Manipulation and Locomotion
What's to object against?
3. Rotations in 3D are not described by a vector space(in contrast to translations)
- for example, rotations are not comutative
Further care is therefore needed when generalizing the concepts of stiffness,potentials, controller design etc. from translational to rotational case.
Sensor Based Manipulation and Locomotion
Manifolds
2R
A differential manifold is a topological space which is locally diffeomorphicto the Euclidian space .mR
A diffeomorphism is a differentiable function which is invertible and whoseinverse is differentiable
What is the space of all configurations of the robot tip?
x x x
x xx
MExample:
why only locally?:
2R
2S
x
x
x
xxx
2T
TCP
On which manifold does the TCP of the following robot move?And its joints?
Sensor Based Manipulation and Locomotion
Manifolds: Examples I1. The earth
Local coordinates: to each point x in M there exists one subset U in Mwhich contains x and a bijective mapping
manifold M
x in the vicinityof the south pole
local (polar) coordinates (r,)
localmaparound x
singularity at the poles
nx R
n: R UUU U mapping
map imagelocal coordinate
To describe a manifold one needs in general several, overlapping maps=> AtlasChange of coordinates: the maps and contain x),( U ),( V ))(( 1
xx
local coordinate:Geogr. longitude and latitude
local (conical)coordinates
Sensor Based Manipulation and Locomotion
Chicago Cloud Gate
o
Sensor Based Manipulation and Locomotion
Embedded ManifoldsnR
pn: RR hAn embedded manifold is a subspace of , defined through the solution set of a vector function
0),,(
0),,(
1
1
np
n1
xxh
xxh
(1)
If there exist p coordinates, such that the Jacobian in a pointis 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)
)(),,(),,(
01
1 xxxhh
p
p
n0 Rx
),,(
),,(
1
111
nppp
np
xxfx
xxfx
),,( 1 mpnp xx are then m local coordinates in the vicinity of x0
pn
Sensor Based Manipulation and Locomotion
Embedded Manifolds: Examples2R 0),( 2121 bxaxxxh1
)(112 ax
bx1x - Local coordinates
1x
2x
1x2x
3x
´3R
0),,( 321321 cxbxaxxxxh1
21, xx - Local coordinates )(1213 bxax
cx
3R2E
1x
2x
3x 0),,( 23
22
21321 rcxbxaxxxxh1
21, xx - Local coordinates(e.g. for the northern hemisphere)
)(1 22
213 bxaxr
cx
Sensor Based Manipulation and Locomotion
Manifold Examples: Examples II2. Orientation of a rigid body
33xRdescribed by a rotation matrix
The configuration space is the set of all rotation matrices and isdenoted as SO(3) – Special Orthogonal Group
properties: IRRT 1)det( R
- orthogonal- right-handed coordinate system
Exercise: check that SO(3) fulfills the group definition(closure, associativity, identity element, inverse element)however not the additional abelian group requirement (comutativity)
9R
Local coordinates: - Euler angles () (in all alternatives)- Axis-angle representation (r, )- Roll-Pitch-Yaw angles ()
SO(3) is a 3 – dimensional manifold, embedded for example in which is isomorph to the set of all 3x3 matrices
Smallest singularity-free representation: , e.g. quaternions4R
Sensor Based Manipulation and Locomotion
Addition: Rotational Representations
1221
3113
2332
3322111
sin21
21cos
rrrrrr
k
rrr
Axis-angle Representation
Roll-Pitch-Yaw
1kk
(Repetition from "Grundlagen Intelligenter Roboter")
Quaternions (Euler Parameter) not minimal, singularity-free, global
2sin,
2cos3,2,1,0
k
Singular for! n
Sensor Based Manipulation and Locomotion
Manifolds: Examples III3. Configuration of a rigid body in three-dimensional space
44xTdescribed by a homogeneous transformation
10 31x
pRT
Local coordinates: x = (px,py,pz,) (with all alternatives)
The configuration space is the set of all homogeneous transformations and is denoted as SE(3) –Special Euclidian Group (= SO(3)x ) 6 – dimensional manifold
3R
p position
6R
4. configuration of a (6-dimensional) robot Q
joint angles q: - global map
Locally, in the vicinity of the point q0, the forward kinematics x=f(q) can be regarded as a mapping between the coordinates of two manifolds.
5. The configuration space and the workspaceof a non- planar, 2-joint robot with endless turning joints is each a torus
Sensor Based Manipulation and Locomotion
Tangent Vectors and Tangential Space
1v 2v
xGiven an m - dimensional manifold M,we define at each point x the tangent spaceTxM as the m-dimensional vector space of allvelocities passing through x (along the manifold).
Only these quantities are called "vectors" in differential geometry. They are represented as column vectors.
Examples:
z
y
x
z
y
x
ppp
x
n
i
q
q
q
q
1
joint velocities in Cartesian velocities in SE3nR
(contravariant vectors or simply vectors)
vector on Q vector on SE3
vector on SO3
Sensor Based Manipulation and Locomotion
Cotangent Vectors and Cotangent Space
The cotangent Space at a point x of the manifold M isthe linear vector space of all linear functionals
MTx*
RMTx:
The elements of the cotangent space are called covectors
(covectors, covector space)
If the manifold is m-dimensional, the cotanget space has alsodimension m.
Examples:
z
y
x
z
y
x
mmmfff
f
n
i
1
Cartesian wrenchtorque in joint space
Pqq T )( Pxfxf T )(power
Sensor Based Manipulation and Locomotion
Transformation of Vectors and CovectorsWhy is it important to distinguish between vectors and covectors?
Vectors and covectors transform in a different way between coordinate systems or between manifolds.
Example:
The forward kinematics x=f(q) is a local mapping between Q und SE3
Velocity transformation:
qqJqqqf
tqfx )()(
d)(d
JacobianSince the power P is independent of representation :
x
f
qP xP
xq PP
qqJfxfP TTx )(
qP Tq => fqJ T )(
Remark: the product between vector and covector is thus well defined, i.e.invariant with respect to the change of coordinates or to representation manifolds for a given physical system
Sensor Based Manipulation and Locomotion
Transformation of Vectors and Covectors
Generally, if is a mapping between two manifolds and with
x - coordinates ofy - coordinates of
mM nN
mMnN
)(xy
then the vectors transform in a contravariant manner:
while the covectors transform covariantly:
xxJxxyy )(
yT
y
T
x xJxy )(
Why is it important to distinguish between vectors and covectors?
Sensor Based Manipulation and Locomotion
TensorsWhat are the remaining quantities in robotics? How do they transform?
)(),()( qgqqcqqM
)()()( qqDqqKqg ddd
Robot dynamics:
Simple PD controller with gravity compensation:
A tensor of type (p,q) is a multilinear mapping (or operator)
R
qxx
pxx MTMTMTMTA **: p times covariant
q times contravariant
Example:1. A covector is a tensor of type (1,0), thus covariant
A MTv x, R ii
iT vvv )( (=P for ) qv ,
2. A vector is a tensor of type (0,1), thus contravariant
vA MTx*, R
iii
T vvv )( (=P for ) qv ,
Sensor Based Manipulation and Locomotion
TensorsExample:
3. M, K, D are tensors of type (2,0), thus twice covariant
ijaA MTvv x2,1 R jji
iijT vvaAvvvvA 2
,12121 ),(
- For qvvqMA 21,),(21
R ),()(21),( 21 qqTqqMqvvA T
Kinetic energy
mass matrix
- For qvvDA 21,,
R DT PqDqvvA ),( 21
Heat power dissipatedby the viscous damper
damping matrix
- For qvvKA 21,,21
Stiffness matrix
R pT EqKqvvA
21),( 21
Potential energy of the (m-dim.) spring
Remark: q is only approximately (for very "small increments") in tangent space. A more precise definition of Ep will follow later.
What are the remaining quantities in robotics? How do they transform?
Sensor Based Manipulation and Locomotion
Tensors
Remark: from the definition it follows that, when applying a covariant tensor on a vector, the result will be another covariant tensor, whose order is reduced by 1
Example
qDD (2,0)(1,0) (0,1)
qE DT
D (1,0)(0,0) (0,1)
Remark: we see that formally, a scalaris a tensor of order zero
4. Tensors of type (1,1)
- linear dynamical system: xAx
(1,1)(0,1) (0,1)
Why can x be regardedas a vector for linear systems?
The system matrix in this case is of type (1,1) - one time covariant, one time contravariant
What are the remaining quantities in robotics? How do they transform?
Sensor Based Manipulation and Locomotion
Tensors
Examples:
5. are tensors of type (0,2), thus two times contravariant
ijaA MTx*
2,1 R jji
iijT aAA 2
,12121 ),(
11, KM
- For ))((,),(21
211 qqMppqMA
R ),()(21),( 1
21 pqTpqMpA Tkinetic energy
mobility matrix:momentums
- For eKA 21
1 ,,21
compliance matrix
R pe
Te EKA 1
21 21),(
potential energyof the (m-dim.) spring
Elastic torque
What are the remaining quantities in robotics? How do they transform?
Sensor Based Manipulation and Locomotion
Supplemental Slide Tensors
6. Coriolis and centrifugal forces:
k
ij
j
ki
i
kjijk q
mqm
qm
c 21
jji
iijkk qqcqqc ,
),(
tensor of type (3,0)
m-elements of the mass matrix
Example:
tensor of type (1,0)(covector)
Sensor Based Manipulation and Locomotion
Tensor Coordinate TransformationsWhy do we need to differentiate between tensor types?
Generally, given a mapping between the manifolds and with x coordinates ofy coordinates of
mM nNmMnN )(xy
Basic idea: the scalar quantities from the tensor definition are always conserved when performing coordinate transformations (energy, power, ... ).
2. Tensors of type (1,1)
xyTxyy
Tyy vxJAxJvAE )()(1
xxTxx vAE )()(1 xJAxJA yx
=>
similarity transformation
1. Tensors of type (2,0)
xyTT
xyyTyy vxJAxJvvAvE )()(
xxTxx vAvE )()( xJAxJA y
Tx =>
congruence-transformation
Sensor Based Manipulation and Locomotion
Scalar Products and Metrics
Vector product and vector norm in in Euclidian space
21
,, uuuvuvuvui
iiT
Therein, M is a (positive definite - p.d.) tensor (also called metric tensor) of type (2,0) and must be transformed accordingly when changing coordinates!
Example: For velocity vectors , when choosing the mass matrix as a metric, the norm represents the kinetic energy
(this also solves the problem of different units for the vectors)
q2Mq
Remark: remember that a vector cannot be applied directly on another vector, but only on a covariant tensor.
21
,
,,MM
jiiiji
TM
uuuvMuMvuvu Generalization on manifolds
)(21 qMM
Sensor Based Manipulation and Locomotion
Reciprocal Twists and Wrenches
Orthogonality between vectors
is therefore not well defined in differential geometry,
We can talk instead in a consistent way only about a reciprocal relation ofvectors and a covectors:
0 i
iivuvu
0))()(( i
iiT vvvv
A vector v and a covector are called reciprocal, if:
Example: For : a wrench and a twist are reciprocal, if the powertransfered by the pair is zero.
Hybrid force/position control: One can control m linearly independent twistsand (6-m) wrenches, which are reciprocal to the m twists.
xvf ,
Sensor Based Manipulation and Locomotion
Tangent Bundle
1v
2v
(what is the state space of a mechanical system?)
2q
1q
the state w of the mechanical systemcan be regarded as local coordinatesof a 2n manifold, the tangent bundle,denoted by So the tangent bundle is the union of the manifold M andall tangent spaces at all points of the manifold
q coordinates of , the configuration space ofa mechanical system
nM
is a tangent vector at the point w on
Coordinate transformation: ,
,
0,