Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2...

22
| | 151-0851-00 V lecture: CAB G11 Tuesday 10:15 – 12:00, every week exercise: HG G1 Wednesday 8:15 – 10:00, according to schedule (about every 2nd week) office hour: LEE H303 Friday 12.15 – 13.00 Marco Hutter, Roland Siegwart, and Thomas Stastny 27.09.2016 Robot Dynamics - Kinematics 2 1 Lecture «Robot Dynamics»: Kinematics 2

Transcript of Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2...

Page 1: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

151-0851-00 Vlecture: CAB G11 Tuesday 10:15 – 12:00, every weekexercise: HG G1 Wednesday 8:15 – 10:00, according to schedule (about every 2nd week)office hour: LEE H303 Friday 12.15 – 13.00Marco Hutter, Roland Siegwart, and Thomas Stastny

27.09.2016Robot Dynamics - Kinematics 2 1

Lecture «Robot Dynamics»: Kinematics 2

Page 2: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Topic Title20.09.2016 Intro and Outline L1 Course Introduction; Recapitulation Position, Linear Velocity, Transformation27.09.2016 Kinematics 1 L2 Rotation Representation; Introduction to Multi-body Kinematics 28.09.2016 Exercise 1a E1a Kinematics Modeling the ABB arm04.10.2016 Kinematics 2 L3 Kinematics of Systems of Bodies; Jacobians11.10.2016 Kinematics 3 L4 Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation

Error; Multi-task Control12.10.2016 Exercise 1b E1b Kinematic Control of the ABB Arm18.10.2016 Dynamics L1 L5 Multi-body Dynamics19.10.2016 Exercise 2a E2a Dynamic Modeling of the ABB Arm25.10.2016 Dynamics L2 L6 Dynamic Model Based Control Methods26.10.2016 Exercise 2b E2b Dynamic Control Methods Applied to the ABB arm01.11.2016 Legged Robots L7 Case Study and Application of Control Methods08.11.2016 Rotorcraft 1 L8 Dynamic Modeling of Rotorcraft I15.11.2016 Rotorcraft 2 L9 Dynamic Modeling of Rotorcraft II & Control16.11.2016 Exercise 3 E3 Modeling and Control of Multicopter22.11.2016 Case Studies 2 L10 Rotor Craft Case Study29.11.2016 Fixed-wing 1 L11 Flight Dynamics; Basics of Aerodynamics; Modeling of Fixed-wing Aircraft30.11.2016 Exercise 4 E4 Aircraft Aerodynamics / Flight performance / Model derivation06.12.2016 Fixed-wing 2 L12 Stability, Control and Derivation of a Dynamic Model07.12.2016 Exercise 5 E5 Fixed-wing Control and Simulation13.12.2016 Case Studies 3 L13 Fixed-wing Case Study20.12.2016 Summery and Outlook L14 Summery; Wrap-up; Exam

27.09.2016Robot Dynamics - Kinematics 2 2

Page 3: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Position vector: Parameterization:

Cartesian

Cylindrical coordinates

Spherical coordinates

Relation between linear velocity and parameter differentiation… with the parameterization specific matrix

27.09.2016Robot Dynamics - Kinematics 2 3

Last Time: Position Parameterization

3e e r r χ

3P χ

ee P P P

P

rr χ E χχ

3 3

P PE χ

Page 4: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Rotation matrix: 3x3 = 9 parameters Orthonormality = 6 constraints

Euler Angles 3 parameters, singularity problem

Angle Axis 4 parameters, unitary constraint, singularity problem

Rotation vector 3 parameters, singularity problem

Quaternions 4 parameters no singularity

27.09.2016Robot Dynamics - Kinematics 2 4

Rotation Parameterization

,R rotvec χ φ n

Page 5: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Last time: Elementary rotation

27.09.2016Robot Dynamics - Kinematics 2 5

Euler Angles Consecutive elementary rotations

Page 6: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Three elementary rotations ZYZ and ZXZ: proper Euler angles ZYX: Tait-Bryan angles XYZ: Cardan angles

Example Z-Y-Z

27.09.2016Robot Dynamics - Kinematics 2 6

Euler Angles Consecutive elementary rotations

, 1 2R eulerZYZ z y z C C χ C C CAD AD AB BC CD

Page 7: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

|| 27.09.2016Robot Dynamics - Kinematics 2 7

From Euler Angles to Rotation Matrix ZYZ example

, 1 2R eulerZYZ z y z C C χ C C CAD AD AB BC CD

Page 8: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

A rotation matrix has the following form

As a function of ZYZ Euler Angles, we found

27.09.2016Robot Dynamics - Kinematics 2 8

From Rotation Matrix to Euler AnglesZYZ example

Atan2 function:uses sign of both arguments to determine the correct quadrant

Page 9: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Rotation parameters

Rotation matrix from Euler Angles

27.09.2016Robot Dynamics - Kinematics 2 9

Euler Angles Rotation MatrixZYX example

Euler Angles from Rotation matrix

Page 10: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

What is the relation

Analog to linear velocity: Find , s.t.

27.09.2016Robot Dynamics - Kinematics 2 10

Time Derivatives and Rotational Velocity

ω χAD AD

Page 11: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

|| 27.09.2016Robot Dynamics - Kinematics 2 11

Time Derivatives and Rotational VelocityZYX example

ω ω ω ωA AD A AB A BC A CD

ω C ω C C ωA AB AB B BC AB BC C CD

z y xz y x e C e C C e A B CA AB B AB BC C

z y x

zyx

e C e C C e

A B CA AB B AB BC C

0 0 10 0 1 0 0

0 0 1 0 0

z z y y y z

x z z y z

y y y

c s c s c cs c c s

s c s

C C eCAB BC C

0 00 1

0 0 1 0 0

z z z

y z z z

c s ss c c

C eBAB B

001 0

z y z

z y z

y

s c cc c s

s

ω χ ,det cosR eulerZYX y E

Page 12: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Angle axis parameterize the rotation by:

Rotation vector (aka Euler vectors)

Rotation matrix is given by:

27.09.2016Robot Dynamics - Kinematics 2 12

Angle Axis and Rotation Vector

Rotation angleRotation axis

Parameters from rotation matrix

3 3, cos sin 1 cos T C n I n nnAB

Page 13: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Complex numbers in 4D

As vector

Real part

Imaginary part

Unitary constraint

Inverse

Identity 27.09.2016Robot Dynamics - Kinematics 2 13

Unit QuaternionsRotation parameterization w/o singularity problem

0 1 2 3i j k ξ2 2 2 1i j k ijk

Hamiltonian convention

1 0 0 0 Tξ

Page 14: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Rotation matrixfrom unit quaternion

Unit quaternionsfrom rotation matrix

Algebra

27.09.2016Robot Dynamics - Kinematics 2 14

Unit Quaternions Rotation matrix

ξ ξ ξAC AB BC C C CAC AB BC

Page 15: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Product of quaternions Given two quaternions q and p, the product is defined as

⊗⊗ ⊗ ⊗ ⊗ ⊗ ⊗⊗⊗

:

:

27.09.2016Robot Dynamics - Kinematics 2 15

Unit QuaternionsAlgebra

0 1 2 3i j k ξ2 2 2 1i j k ijk

Hamiltonian convention

2ij ji ijk kjk kj iki ik j

Page 16: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

The pure (imaginary) quaternion of a coordinate vector is given by

0

Given the unit quaternion representing the orientation of w.r.t. , one can show: ⊗ ⊗

Proof (see Quaternion Kinematics by Joan Solà on lecture homepage)

Decompose vector in parallel and orthogonal part to get vector rotation formula

Show that equation above does exactly the same

27.09.2016Robot Dynamics - Kinematics 2 16

Unit QuaternionsRotating a vector

r C rB BI I

Page 17: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Derivation of rotation matrix ( ): ⊗ ⊗ 0

0

ζζ

ζζ

0

0

ζ ζ ζ

ζ ζ ζ 2ζ0

0

1 00 ζ 2ζ

0

ζ 2ζ

2ζ 1 2ζ27.09.2016Robot Dynamics - Kinematics 2 17

Unit QuaternionDerivation of rotation matrix

= - I

=

Page 18: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Given the rotation matrix 2 1 2

Use this with the angle axis representation cos

sin

, 2 cos 1 2 cos sin sin

cos sin cos

27.09.2016Robot Dynamics - Kinematics 2 18

Unit QuaternionLink to angle axis

Page 19: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Angle Axis

Rotation Vector

Quaternion with

27.09.2016Robot Dynamics - Kinematics 2 19

Derivative Angle Axis, Rotation Vector, Quaternions Angular Velocity

Page 20: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Rotation matrix

EulerZYX

Angle Axis

Quaternions

27.09.2016Robot Dynamics - Kinematics 2 20

Quiz

60 CAB

0 00 0

60atan2( 3 / 2,1 / 2)

1 11 1 / 2 1 / 2 1cos cos 1 / 2 602

3 / 2 ( 3 / 2) 11 0 0 0

2sin 600 0 0

1 1 / 2 1 / 2 1 31 1 / 2 1 / 2 11 1 1

2 2 01 / 2 1 / 2 1 101 / 2 1 1 / 2 1

ξAB

cos 2

sin 2

1 0 0

0 1/ 2 3 / 2

0 3 / 2 1 / 2

Page 21: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Given a vector in A frame

Rotate this to B frame using quaternions

27.09.2016Robot Dynamics - Kinematics 2 21

Quiz 2

60

010

rA

31 12 0

0

ξAB

31 12 0

0

ξBA

00 T Tl r

p r ξ p r ξ M ξ M ξrrB BA A BA BA BA

AB

3 1 0 0 3 1 0 0 0001 3 0 0 1 3 0 0 01 1

1 / 212 20 0 3 1 0 0 3 10 3 / 20 0 1 3 0 0 1 3

Page 22: Lecture «Robot Dynamics»: Kinematics 2 - ETH Zürich · Identity Robot Dynamics - Kinematics 2 1327.09.2016 Unit Quaternions Rotation parameterization w/o singularity problem

||

Rotation matrix

Quaternion

27.09.2016Robot Dynamics - Kinematics 2 22

Quiz 360z 60y

1/ 2 3 / 2 0

3 / 2 1/ 2 00 0 1

CAB

1/ 2 0 3 / 20 1 0

3 / 2 0 1 / 2

CBC

31 02 0

1

ξAB

31 02 1

0

ξBC

3 31 0 1 02 20 1

1 0

ξ ξ ξAC AB BC

3 0 0 1 30 3 1 01 1 0

2 2 10 1 3 001 0 0 3

311 132 2

3

29 1 3 3 2 3 6 3 6 3 2 3

1 1 6 3 2 3 9 1 3 3 2 3 3 62 2

2 3 6 3 6 2 3 3 9 1 3 3

CAC

?CAC