![Page 1: Introduction to Robotics - uni-hamburg.de€¦ · MINFaculty DepartmentofInformatics IntroductiontoRobotics Lecture1 JianweiZhang,LasseEinig [zhang,einig]@informatik.uni-hamburg.de](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062603/5f0318287e708231d40781af/html5/thumbnails/57.jpg)
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