57
MIN Faculty Department of Informatics Introduction to Robotics Lecture 1 Jianwei Zhang, Lasse Einig [zhang, einig]@informatik.uni-hamburg.de University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems April 07, 2017 J. Zhang, L. Einig 1 / 335

Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

MIN FacultyDepartment of Informatics

Introduction to RoboticsLecture 1

Jianwei Zhang, Lasse Einig[zhang, einig]@informatik.uni-hamburg.de

University of HamburgFaculty of Mathematics, Informatics and Natural SciencesDepartment of InformaticsTechnical Aspects of Multimodal Systems

April 07, 2017

J. Zhang, L. Einig 1 / 335

Page 2: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

General InformationGeneral Information Introduction to Robotics

Lecture: Friday 10:00 c. t. - 12:00 c. t.Room: F-334Web: http://tams.inf...burg.de/lectures/

Name: Prof. Dr. Jianwei ZhangOffice: F-330aE-mail: [email protected]: by arrangement

Secretary: Tatjana TetsisOffice: F-311Tel.: +49 40 42883-2430E-mail: [email protected]

J. Zhang, L. Einig 2 / 335

Page 3: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

General Information (cont.)General Information Introduction to Robotics

Exercises Friday 8:00 c. t. - 10:00 c. t. (alternating)/RPC: see website for datesRoom: F-334/F-304Web: http://tams.inf...burg.de/lectures/

Name: Lasse EinigOffice: F-324Tel.: +49 40 42883-2504E-mail: [email protected]: by arrangement (E-mail)

J. Zhang, L. Einig 3 / 335

Page 4: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Exercises/RPCGeneral Information Introduction to Robotics

Criteria for Course Certificate:I min. 50% of points in the exercises

I min. 33% in each exerciseI regular presence in exercises and RPCI presentation of three tasksI solutions in groups of 2–3

I no solo submissionI each member of a group must be able to present the tasksI failure to present results in 0 points

You may use your own laptop for the RPC.

J. Zhang, L. Einig 4 / 335

Page 5: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Previous KnowledgeGeneral Information Introduction to Robotics

I Basics in physicsI basics of electrical engineering

I Linear algebraI Elementary algebra of matricesI Programming knowledge

I Python or Matlab (recommended)I JavaScript (RPC)

J. Zhang, L. Einig 5 / 335

Page 6: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

ContentGeneral Information Introduction to Robotics

I Mathematic conceptsI description of space and coordinate transformationsI kinematicsI dynamics

I Control conceptsI movement execution

I Programming aspectsI ROS, URDF, Kinematics Simulator

I Task-oriented movement and planning

J. Zhang, L. Einig 6 / 335

Page 7: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

OutlineIntroduction Introduction to Robotics

1. IntroductionBasic termsRobot Classification

2. Coordinate systems3. Kinematic Equations4. Robot Description5. Inverse Kinematics for Manipulators6. Differential motion with homogeneous transformations7. Jacobian8. Trajectory planning9. Trajectory generation10. Dynamics11. Robot Control12. Task-Level Programming and Trajectory GenerationJ. Zhang, L. Einig 7 / 335

Page 8: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Components of a robotIntroduction - Basic terms Introduction to Robotics

computers

actuators sensors

control +feedback

control+ data

feedback+ data

RoboticsIntelligent combination of computers, sensors and actuators.

J. Zhang, L. Einig 8 / 335

Page 9: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

An Interdisciplinary FieldIntroduction - Basic terms Introduction to Robotics

robotics

electricalengineering

machineengineering

medicalengineering

chemicalengineering

physics

biologymathematics

linguistics

computerscience

J. Zhang, L. Einig 9 / 335

Page 10: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Definition of Industry RobotsIntroduction - Basic terms Introduction to Robotics

According to RIA1, a robot is:...a reprogrammable and multifunctional manipulator,devised for the transport of materials, parts, tools orspecialized systems, with varied and programmedmovements, with the aim of carrying out varied tasks.

Intelligent SystemIs such a robot also an intelligent system?

1Robot Institute of AmericaJ. Zhang, L. Einig 10 / 335

Page 11: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Background of Some TermsIntroduction - Basic terms Introduction to Robotics

Robot became popular through a stage play by Karel Čapek in1923, being a capable servant.

Robotics was invented by Isaac Asimov in 1942.Autonomous (literally) (gr.) "living by one’s own laws"

(Auto: Self; nomos: Law)Personal Robot a small, mobile robot system with simple skills

regarding vision system, speech, movement, etc. (from1980).

Service Robot a mobile handling system featuring sensors forsophisticated operations in service areas (from 1989).

Intelligent Robot, Cognitive Robot, Intelligent System ...

J. Zhang, L. Einig 11 / 335

Page 12: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Degree of Freedom (DOF)Introduction - Basic terms Introduction to Robotics

The number of independent coordinate planes or orientations onwhich a joint or end-point of a robot can move.The DOF are determined by the number of independent variablesof the control system.I Point on a lineI Point on a planeI Point in spaceI Rigid body

I one a surfaceI on a planeI in space

I Non-rigid bodyI Manipulator

I number of independently controllable jointsI a robot should have at least two

J. Zhang, L. Einig 12 / 335

Page 13: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

DOF ExamplesIntroduction - Basic terms Introduction to Robotics

80’s toy robot (Quickshot)4-DOF + 1-DOF gripper

J. Zhang, L. Einig 13 / 335

Page 14: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics

KUKA LWR 4+ arm with Schunk gripper7-DOF + 1-DOF gripper

J. Zhang, L. Einig 14 / 335

Page 15: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics

Shadow C5 Air Muscle hand20-DOF + 4 unactuated joints

J. Zhang, L. Einig 15 / 335

Page 16: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics

Boston Dynamics Atlas (2013)28-DOF

J. Zhang, L. Einig 16 / 335

Page 17: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics

PR2 service robot with Shadow C6 electrical hand19-DOF + 20-DOF gripper

J. Zhang, L. Einig 17 / 335

Page 18: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot classificationIntroduction - Robot Classification Introduction to Robotics

by input power sourceI electricalI hydraulicI pneumatic

J. Zhang, L. Einig 18 / 335

Page 19: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot Classification (cont.)Introduction - Robot Classification Introduction to Robotics

by field of workI stationary

I arms with 2 DOFI arms with 3 DOFI ...I arms with 6 DOFI redundant arms (> 6 DOF)I multi-finger hand

I mobileI automated guided vehiclesI portal robotI mobile platformI running machines and flying robotsI anthropomorphic robots (humanoids)

J. Zhang, L. Einig 19 / 335

Page 20: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot Classification (cont.)Introduction - Robot Classification Introduction to Robotics

by type of jointI translatory

I linear jointI translationalI cartesianI prismatic

I rotatoryI combinationsby robot coordinate systemI cartesianI cylindricalI spherical

J. Zhang, L. Einig 20 / 335

Page 21: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot Classification (cont.)Introduction - Robot Classification Introduction to Robotics

by usageI object manipulationI object modificationI object processingI transportI assemblyI quality testingI deployment in non-accessible areasI agriculture and forestryI underwaterI building industryI service robot in medicine, housework, ...

J. Zhang, L. Einig 21 / 335

Page 22: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot Classification (cont.)Introduction - Robot Classification Introduction to Robotics

by intelligenceI manual controlI programmable for repeated movementsI featuring cognitive ability and responsivenessI adaptive on task level

J. Zhang, L. Einig 22 / 335

Page 23: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robotics is Fun!Introduction - Robot Classification Introduction to Robotics

I robots move — computers don’tI interdisciplinarity

I soft- and hardware technologyI sensor technologyI mechatronicsI control engineeringI multimedia, . . .

I A dream of mankind:Computers are the most ingeniousproduct of human laziness to date.

computers ⇒ robots

J. Zhang, L. Einig 23 / 335

Page 24: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

LiteratureIntroduction - Robot Classification Introduction to Robotics

Slides and literature references @http://tams.informatik.uni-hamburg.de/lectures/

K. Fu, R. González, and C. Lee, Robotics: Control, Sensing, Vision, andIntelligence. McGraw-Hill series in CAD/CAM robotics and computervision, McGraw-Hill, 1987R. Paul, Robot Manipulators: Mathematics, Programming, and Control :the Computer Control of Robot Manipulators. Artificial IntelligenceSeries, MIT Press, 1981J. Craig, Introduction to Robotics: Pearson New International Edition:Mechanics and Control. Always learning, Pearson Education, Limited,2013

J. Zhang, L. Einig 24 / 335

Page 25: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

OutlineCoordinate systems Introduction to Robotics

1. Introduction2. Coordinate systems

Concatenation of rotation matricesInverse transformationTransformation equationSummary of homogeneous transformationsOutlook

3. Kinematic Equations4. Robot Description5. Inverse Kinematics for Manipulators6. Differential motion with homogeneous transformations7. Jacobian8. Trajectory planning9. Trajectory generation

J. Zhang, L. Einig 25 / 335

Page 26: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outline (cont.)Coordinate systems Introduction to Robotics

10. Dynamics11. Robot Control12. Task-Level Programming and Trajectory Generation

J. Zhang, L. Einig 26 / 335

Page 27: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Coordinate systemsCoordinate systems Introduction to Robotics

The pose of objects, in other words their location andorientation in Euclidian space can be described throughspecification of a cartesian coordinate system (CS) in relation to abase coordinate system (B).

ezB

exB

eyB

B

p

ezC

exC

eyC

CSp’

P

e unit vectorsp, p’ position vectors

J. Zhang, L. Einig 27 / 335

Page 28: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Specification of location and orientationCoordinate systems Introduction to Robotics

Position (object coordinates):I translation along the axes of the base coordinate system (B)

ezB

exB

eyB

B

p

ezC

exC

eyC

CSp’

P

e unit vectorsp, p’ position vectors

I given by p = [px , py , pz ]T ∈ R3

J. Zhang, L. Einig 28 / 335

Page 29: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Specification of location and orientation (cont.)Coordinate systems Introduction to Robotics

Orientation (in space):I Euler-angles φ, θ, ψ

I rotations are performed successively aroundthe axes of the new coordinate systems,e. g. ZY ′X ′′ or ZX ′Z ′′ (12 possibilities)

I Gimbal-angles (Roll-Pitch-Yaw)I relative to object coordinates

(used in aviation and maritime)I rotation with respect to fixed axes

(X –Roll, Y –Pitch, Z –Yaw)

I given by Rotation-matrix R ∈ R3×3

I redundant; 9 parameters for 3 DOF

Y

X

α’

’β

’’β

α’’

Hinweis:

−− Winkel nach Euler

β

α

−− Winkel nach RPY

X’’

Y’’

X’

Y’

α β

R =

r11 r12 r13r21 r22 r23r31 r32 r33

J. Zhang, L. Einig 29 / 335

Page 30: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Specification of location and orientation (cont.)Coordinate systems Introduction to Robotics

I Position:I given through ~p ∈ R3

I Orientation:I given through projection ~n,~o,~a ∈ R3 of the axes of the CS to the

origin systemI summarized to rotation matrix R =

[~n ~o ~a

]∈ R3×3

I redundant, since there are 9 parameters for 3 degrees of freedomI other kinds of representation possible, e.g. roll, pitch, yaw angle,

qaternions etc.

J. Zhang, L. Einig 30 / 335

Page 31: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Coordinate transformationsCoordinate systems Introduction to Robotics

I Transform of Coordinate systems:frame: a reference CStypical frames:I robot baseI end-effectorI table (world)I objectI cameraI screen

ZT6 E

GBI ...

Frame-transformations transform one frame into another.ATB transforms frame A to frame B (Latex: $ˆ{A}T_{B}$)

J. Zhang, L. Einig 31 / 335

Page 32: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Homogenous transformationCoordinate systems Introduction to Robotics

I Combination of ~p and R to T =[

R ~p0 0 0 1

]∈ R4×4

I Concatenation of several T through matrix multiplicationI ATB

BTC = ATC

I not commutative, in other words BTCATB 6= ATB

BTC

J. Zhang, L. Einig 32 / 335

Page 33: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Homogenous transformation (cont.)Coordinate systems Introduction to Robotics

I Homogeneous transformation matrices:

H =[R TP S

]where P depicts the perspective transformation and S thescaling.

I In robotics, P =[0 0 0

]and S = 1. Other values are used

for computer graphics.

J. Zhang, L. Einig 33 / 335

Page 34: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Translatory transformationCoordinate systems Introduction to Robotics

A translation with a vector [px , py , pz ]T is expressed through atransformation H:

H = T(px ,py ,pz ) =

1 0 0 px0 1 0 py0 0 1 pz0 0 0 1

J. Zhang, L. Einig 34 / 335

Page 35: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Rotatory transformationCoordinate systems Introduction to Robotics

(shortened representation: S : sin, C : cos)The transformation corresponding to a rotation around the x -axiswith angle ψ (Psi):

Rx ,ψ =

1 0 0 00 Cψ −Sψ 00 Sψ Cψ 00 0 0 1

J. Zhang, L. Einig 35 / 335

Page 36: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Rotatory transformation (cont.)Coordinate systems Introduction to Robotics

r(x1,y1)

r(x2,y2)

θ1θ2

Coordinates of a circlex = r sin θ, y = r cos θ

J. Zhang, L. Einig 36 / 335

Page 37: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Rotatory transformation (cont.)Coordinate systems Introduction to Robotics

The transformation corresponding to a rotation around the y -axiswith angle θ (Theta):

Ry ,θ =

Cθ 0 Sθ 00 1 0 0−Sθ 0 Cθ 00 0 0 1

J. Zhang, L. Einig 37 / 335

Page 38: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Rotatory transformation (cont.)Coordinate systems Introduction to Robotics

The transformation corresponding to a rotation around the z-axiswith angle φ (Phi):

Rz,φ =

Cφ −Sφ 0 0Sφ Cφ 0 00 0 1 00 0 0 1

J. Zhang, L. Einig 38 / 335

Page 39: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Rotatory transformation (cont.)Coordinate systems Introduction to Robotics

Signs of transformations:

R =

+ − + 0+ + − 0− + + 00 0 0 1

J. Zhang, L. Einig 39 / 335

Page 40: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Multiple rotationsCoordinate systems Introduction to Robotics

Sequential left-multiplication of the transformation matrices byorder of rotation.

1. rotation ψ around the x -axisRx ,ψ – Yaw

2. rotation θ around the y -axisRy ,θ – Pitch

3. rotation φ around the z-axisRz,φ – Roll

z

y

x

ψYaw

φRoll

θPitch

J. Zhang, L. Einig 40 / 335

Page 41: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Concatenation of rotation matricesCoordinate systems - Concatenation of rotation matrices Introduction to Robotics

Rφ,θ,ψ = Rz,φRy ,θRx ,ψ

=

Cφ −Sφ 0 0Sφ Cφ 0 00 0 1 00 0 0 1

Cθ 0 Sθ 00 1 0 0−Sθ 0 Cθ 00 0 0 1

1 0 0 00 Cψ −Sψ 00 Sψ Cψ 00 0 0 1

=

CφCθ CφSθSψ − SφCψ CφSθCψ + SφSψ 0SφCθ SφSθSψ + CφCψ SφSθCψ − CφSψ 0−Sθ CθSψ CθCψ 00 0 0 1

Remark: Matrix multiplication is not commutative:

AB 6= BA

J. Zhang, L. Einig 41 / 335

Page 42: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Coordinate framesCoordinate systems - Concatenation of rotation matrices Introduction to Robotics

They are represented as four vectors using the elements ofhomogeneous transformation.

H =[r1 r2 r3 p0 0 0 1

]=

r11 r12 r13 pxr21 r22 r23 pyr31 r32 r33 pz0 0 0 1

(1)

J. Zhang, L. Einig 42 / 335

Page 43: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Inverse transformationCoordinate systems - Inverse transformation Introduction to Robotics

The inverse of a rotation matrix is simply its transpose:R−1 = RT and RRT = I

whereas I is the identity matrix.The inverse of (1) is:

H−1 =

r11 r21 r31 −pT · r1r12 r22 r32 −pT · r2r13 r23 r33 −pT · r30 0 0 1

whereas r1, r2, r3 and p are the four column vectors of (1)and · represents the scalar product of vectors.

J. Zhang, L. Einig 43 / 335

Page 44: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Relative transformationsCoordinate systems - Inverse transformation Introduction to Robotics

One has the following transformations:I Z:

World → Manipulator baseI T6:

Manipulator base → Manipulator endI E:

Manipulator end → EndeffectorZ

T6 E

GBI B:World → Object

I G:Object → Endeffector

J. Zhang, L. Einig 44 / 335

Page 45: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Transformation equationCoordinate systems - Transformation equation Introduction to Robotics

There are two descriptions for the desired endeffector position, one inrelation to the object and the other in relation to the manipulator. Bothdescriptions should equal to each other for grasping:

ZT6E = BG

Z T6 E G B

In order to find the manipulator transformation:

T6 = Z−1BGE−1

In order to determine the position of the object:

B = ZT6EG−1

This is also called kinematic chain.

J. Zhang, L. Einig 45 / 335

Page 46: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Example: coordinate transformationCoordinate systems - Transformation equation Introduction to Robotics

J. Zhang, L. Einig 46 / 335

Page 47: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Summary of homogeneous transformationsCoordinate systems - Summary of homogeneous transformations Introduction to Robotics

I A homogeneous transformation depicts the position andorientation of a coordinate frame in space.

I If the coordinate frame is defined in relation to a solidobject, the position and orientation of the solid object isunambiguously specified.

I The depiction of an object A can be derived from ahomogeneous transformation relating to object A′. This is alsopossible the other way around using inverse transformation.

J. Zhang, L. Einig 47 / 335

Page 48: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Summary of homogeneous transformations (cont.)Coordinate systems - Summary of homogeneous transformations Introduction to Robotics

I Several translations and rotations can be multiplied. Thefollowing applies:I If the rotations / translations are performed in relation to the

current, newly defined (or changed) coordinate system, the newlyadded transformation matrices need to be multiplicativelyappended on the right-hand side.

I If all of them are performed in relation to the fixed referencecoordinate system, the transformation matrices need to bemultiplicatively appended on the left-hand side.

I A homogeneous transformation can be segemented into arotational and a translational part.

J. Zhang, L. Einig 48 / 335

Page 49: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Robot kinematicsCoordinate systems - Summary of homogeneous transformations Introduction to Robotics

Reduction to area of interestFor grasping, position and orientation of the robot gripper are ofinterest.

The robot itself is reduced to a single transformation and treatedas a solid object.

J. Zhang, L. Einig 49 / 335

Page 50: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Coordinates of a manipulatorCoordinate systems - Summary of homogeneous transformations Introduction to Robotics

I Joint coordinates:A vector q(t) = (q1(t), q2(t), ..., qn(t))T

(a robot configuration)I Endeffector coordinates

(Object coordinates):A Vector p = [px , py , pz ]T

I Description of orientations:I Euler angle φ, θ, ψI Rotation matrix:

R =

r11 r12 r13r21 r22 r23r31 r32 r33

J. Zhang, L. Einig 50 / 335

Page 51: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outlook: Denavit-Hartenberg ConventionCoordinate systems - Outlook Introduction to Robotics

I Definition of one coordinate system per segment i = 1..nI Definition of 4 parameters per segment i = 1..nI Definition of one transformation Ai per segment i = 1..nI T6 =

∏ni=1 Ai

OutlookLater Denavit Hartenberg Convention will be presented in moredetail!

J. Zhang, L. Einig 51 / 335

Page 52: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outlook: KinematicsCoordinate systems - Outlook Introduction to Robotics

I The direct kinematic problem:Given the joint values and geometrical parameters of all jointsof a manipulator, how is it possible to determine the positionand orientation of the manipulator’s endeffector?

I The inverse kinematic problem:Given a desired position and orientation of the manipulator’sendeffector and the geometrical parameters of all joints, is itpossible for the manipulator to reach this position /orientation? If it is, how many manipulator configurations arecapable of matching these conditions?

ExampleA two-joint-manipulator moving on a plane

J. Zhang, L. Einig 52 / 335

Page 53: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outlook: PositionCoordinate systems - Outlook Introduction to Robotics

T6 defines, how the n joint angles are supposed to be consolidatedto 12 non-linear formulas in order to describe 6 cartesian degreesof freedom.I Forward kinematics K defined as:

I K : ~θ ∈ Rn → ~x ∈ R6

I Joint angle → Position + OrientationI Inverse kinematics K−1 defined as:

I K−1 : ~x ∈ R6 → ~θ ∈ Rn

I Position + Orientation → Joint angleI non-trivial, since K is usually not unambiguously invertible

J. Zhang, L. Einig 53 / 335

Page 54: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outlook: Differential movementCoordinate systems - Outlook Introduction to Robotics

Non-linear kinematics K can be linearized through the Taylor seriesf (x) =

∑∞n=0

f (n)(x0)n! (x − x0)n.

I The Jacobian matrix J as factor for n = 1 of themulti-dimensional Taylor series is defined as:I J(~θ) : ~̇θ ∈ Rn → ~̇x ∈ R6

I Joint speed → cartesian speedI Inverse Jacobian matrix J−1 defined as:

I J−1(~θ) : ~̇x ∈ R6 → ~̇θ ∈ Rn

I cartesian speed → Joint speedI non-trivial, since J not necessarily invertible (e.g. not quadratic)

J. Zhang, L. Einig 54 / 335

Page 55: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

Outlook: Motion planningCoordinate systems - Outlook Introduction to Robotics

Since T6 describes only the target position, explicit generation ofa trajectory is necessary.Depending on constraints different for:I joint angle spaceI cartesian space

Interpolation through:I piecewise straight linesI piecewise polynomsI B-SplinesI ...

J. Zhang, L. Einig 55 / 335

Page 56: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

SuggestionsCoordinate systems - Outlook Introduction to Robotics

I Read (available on google & library):I J. F. Engelberger, Robotics in service. MIT Press, 1989I K. Fu, R. González, and C. Lee, Robotics: Control, Sensing,

Vision, and Intelligence. McGraw-Hill series in CAD/CAMrobotics and computer vision, McGraw-Hill, 1987

I R. Paul, Robot Manipulators: Mathematics, Programming, andControl : the Computer Control of Robot Manipulators. ArtificialIntelligence Series, MIT Press, 1981

I J. Craig, Introduction to Robotics: Pearson New InternationalEdition: Mechanics and Control. Always learning, PearsonEducation, Limited, 2013

I Repeat your linear algebra knowledge, especially regardingelementary algebra of matrices.

J. Zhang, L. Einig 56 / 335

Page 57: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de

BibliographyCoordinate systems - Outlook Introduction to Robotics

[1] K. Fu, R. González, and C. Lee, Robotics: Control, Sensing, Vision,and Intelligence.McGraw-Hill series in CAD/CAM robotics and computer vision,McGraw-Hill, 1987.

[2] R. Paul, Robot Manipulators: Mathematics, Programming, andControl : the Computer Control of Robot Manipulators.Artificial Intelligence Series, MIT Press, 1981.

[3] J. Craig, Introduction to Robotics: Pearson New InternationalEdition: Mechanics and Control.Always learning, Pearson Education, Limited, 2013.

[4] J. F. Engelberger, Robotics in service.MIT Press, 1989.

[5] W. Böhm, G. Farin, and J. Kahmann, “A Survey of Curve andSurface Methods in CAGD,” Comput. Aided Geom. Des., vol. 1,pp. 1–60, July 1984.

[6] J. Zhang and A. Knoll, “Constructing fuzzy controllers with B-splinemodels-principles and applications,” International Journal ofIntelligent Systems, vol. 13, no. 2-3, pp. 257–285, 1998.

[7] M. Eck and H. Hoppe, “Automatic reconstruction of b-spline surfacesof arbitrary topological type,” in Proceedings of the 23rd AnnualConference on Computer Graphics and Interactive Techniques,SIGGRAPH ’96, (New York, NY, USA), pp. 325–334, ACM, 1996.

J. Zhang, L. Einig 335 / 335