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
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
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
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
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
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
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
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
An Interdisciplinary FieldIntroduction - Basic terms Introduction to Robotics
robotics
electricalengineering
machineengineering
medicalengineering
chemicalengineering
physics
biologymathematics
linguistics
computerscience
J. Zhang, L. Einig 9 / 335
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
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
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
DOF ExamplesIntroduction - Basic terms Introduction to Robotics
80’s toy robot (Quickshot)4-DOF + 1-DOF gripper
J. Zhang, L. Einig 13 / 335
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
DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics
Shadow C5 Air Muscle hand20-DOF + 4 unactuated joints
J. Zhang, L. Einig 15 / 335
DOF Examples (cont.)Introduction - Basic terms Introduction to Robotics
Boston Dynamics Atlas (2013)28-DOF
J. Zhang, L. Einig 16 / 335
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
Robot classificationIntroduction - Robot Classification Introduction to Robotics
by input power sourceI electricalI hydraulicI pneumatic
J. Zhang, L. Einig 18 / 335
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
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
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
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
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
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
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
Outline (cont.)Coordinate systems Introduction to Robotics
10. Dynamics11. Robot Control12. Task-Level Programming and Trajectory Generation
J. Zhang, L. Einig 26 / 335
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
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
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
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
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
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
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
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
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
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
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
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
Rotatory transformation (cont.)Coordinate systems Introduction to Robotics
Signs of transformations:
R =
+ − + 0+ + − 0− + + 00 0 0 1
J. Zhang, L. Einig 39 / 335
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
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
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
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
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
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
Example: coordinate transformationCoordinate systems - Transformation equation Introduction to Robotics
J. Zhang, L. Einig 46 / 335
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
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
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
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
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
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
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
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
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
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
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