SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry...

28
Differential Geometry in Robotics

Transcript of SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry...

Page 1: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

Differential Geometry in Robotics

Page 2: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 3: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 4: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 5: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 6: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 7: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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.

Page 8: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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?

Page 9: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 10: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

Sensor Based Manipulation and Locomotion

Chicago Cloud Gate

o

Page 11: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 12: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 13: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 14: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 15: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 16: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 17: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 18: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 19: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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?

Page 20: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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 ,

Page 21: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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?

Page 22: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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?

Page 23: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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?

Page 24: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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)

Page 25: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 26: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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

Page 27: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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 ,

Page 28: SBRML Part1 Differential Geometry in Robotics · 2018. 11. 5. · A differential geometry perspective enables a deeper understanding ... the solution set of a vector function ( ,

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,