introduction to robotics - uni-hamburg.detams- · i j. j. craig. introduction to robotics,...
TRANSCRIPT
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction to Robotics
Introduction to Robotics
Jianwei [email protected]
Universitat HamburgFakultat fur Mathematik, Informatik und NaturwissenschaftenDepartment Informatik
Technische Aspekte Multimodaler Systeme
04. April 2014
J. Zhang 1
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
Outline
General InformationIntroductionArchitectures of Sensor-based Intelligent SystemsConclusions and Outlook
J. Zhang 2
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
General Information (1)
Lecture: Friday 10:15 s.t - 11:45 s.t.Room: F334Web: http://tams-www.informatik.uni-hamburg.de/lehre/
Name: Prof. Dr. Jianwei ZhangOffice: F308E-mail: [email protected] hour: (Thursday 15:00 - 16:00)
Secretary: Tatjana TetsisOffice: F311Tel.: +49 40 - 42883-2430E-mail: [email protected]
J. Zhang 3
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
General Information (2)
Exercises: Friday 9:15 s.t - 10:00 s.t.Room: F334Web: http://tams-www.informatik.uni-hamburg.de/lehre/
Name: Hannes BistryOffice: F313Tel.: +49 40 - 42883-2398E-mail: [email protected] hour: by arrangement
J. Zhang 4
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
Exercises:
Criteria for Course Certificate:
I 60 % of points in the exercises
I regular presence in exercises
I presentation of two tasks
I everyone of a group should be able to present the tasks
J. Zhang 5
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
Previous knowledge
I Basics in physics
I (Basics of electrical engineering)
I Linear algebra
I Elementary algebra of matrices
I Programming knowledge
J. Zhang 6
Universitat Hamburg
MIN-FakultatDepartment Informatik
General Information Introduction to Robotics
Content
I Mathematic concepts (description of space and coordinatetransformations, kinematics, dynamics)
I Control concepts (movement execution)
I Programming aspects(ROS, RCCL)
I Task-oriented movement
J. Zhang 7
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction Introduction to Robotics
Outline
General InformationIntroduction
Basic termsRobot classificationCoordinate systemsConcatenation of rotation matricesInverse transformationTransformation equationSummary of homogenous transformations
Architectures of Sensor-based Intelligent SystemsConclusions and Outlook
J. Zhang 8
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
IntroductionBasic terms
Components of a robot
Robotics: intelligent combination of computers, sensors andactuators.
J. Zhang 9
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
An interdisciplinary field
J. Zhang 10
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
Definition of Industry robots
According to RIA (Robot Institute of America), 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.
J. Zhang 11
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
Background of some terms
“Robot” became popular through a stage play by Karel Capek 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 skillsregarding vision system, speech, movement, etc. (from1980).
“Service Robot”: a mobile handling system featuring sensors forsophisticated operations in service areas (from 1989).
J. Zhang 12
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
A robot’s degree of freedom
Degrees of freedom (DOF):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 On a plane: translational / rotational movement
I In a space: translational / rotational movement - location +orientation (the maximum DOF of a solid object?)
I The DOF of a manipulator: Number of joints which can becontrolled independently. A “Robot” should have at least twodegrees of freedom.
J. Zhang 13
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Basic terms Introduction to Robotics
A robot’s degree of freedom - Examples
• Kuka LBR 4+ robot arm: 7 (without gripper)• Shadow Air Muscle Robot Hand: 20 (+4 unactuated joints)• 80’s Toy Robot (Quickshot): 4 (without gripper)
J. Zhang 14
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
by engine type
I electrical
I hydraulic
I pneumatic
J. Zhang 15
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
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 16
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
by type of joint
I translatory (“linear joint”, “translational”, “cartesian”,“prismatic”)
I rotatory
I combinations
J. Zhang 17
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
by robot coordinate system
I cartesian
I cylindrical
I spherical
J. Zhang 18
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
by usage
I object manipulation
I object modification
I object processing
I transport
I assembly
I quality testing
I deployment in non-accessible areas
I agriculture and forestry
I unterwater
I building industry
I service robot in medicine, housework, ...J. Zhang 19
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robot classification
by intelligence
I manuel control
I programmable for repeated movements
I featuring cognitive ability and responsiveness
I adaptive on task level
J. Zhang 20
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Robotics is fun!
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 ingenious product of human
laziness to date."
computers ⇔ robots
J. Zhang 21
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Robot classification Introduction to Robotics
Literature
The official slides (including more literature references) areavailable through the TAMS website under ”lectures”
Important secondary literature:
I K. S. Fu, R. C. Gonzales and C. S. G. Lee, Robotics:Control, Sensing, Vision and Intelligence, McGraw-Hill, 1987
I R. P. Paul, Robot Manipulators: Mathematics, Programmingand Control, MIT Press, 1981
I J. J. Craig. Introduction to Robotics, Addison-Wesley, 1989.
J. Zhang 22
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Coordinate systems
The position 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).
ezK
exB
ezB
exK
eyK
p’
p
P
B
eyB
e −− unit vectors
p, p’ −− position vectors
CS
J. Zhang 23
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Specification of location and orientation
position (object-coordinates):
I translation along the axes of the base coordinate system (hereB)
ezK
exB
ezB
exK
eyK
p’
p
P
B
eyB
e −− unit vectors
p, p’ −− position vectors
CS
I given by p = [px , py , pz ]T ∈ R3
J. Zhang 24
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Specification of location and orientation (cont.)
orientation (in space):
I Euler-angles φ, θ, ψI rotations are performed successively around
the axes of the new coordinate systems, e. g.ZY ′X ′′ or ZX ′Z ′′ (12 possibilities)
Y
X
α’
’β
’’β
α’’
Hinweis:
−− Winkel nach Euler
β
α
−− Winkel nach RPY
X’’
Y’’
X’
Y’
α β
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 DOFR =
r11 r12 r13
r21 r22 r23
r31 r32 r33
J. Zhang 25
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Specification of location and orientation - summary
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
J. Zhang 26
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Coordinate-Transformations
I Transform of Coordinate systems:frame: a reference CStypical frames:I robot base
T6
I end-effectorI table (world)I objectI cameraI screenI ...
Frame-transformations transform one frame into another.
J. Zhang 27
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Homogenous transformation
I Combination of ~p and R to T =
[R ~p
0 0 0 1
]∈ R4×4
I Concatenation of several T through matrix multiplication
I not commutative, in other words A · B 6= B · A
J. Zhang 28
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Homogeneous transformation
I Homogeneous transformation matrices:
H =
[R TP S
]whereas P depicts the perspective transformation and S thescaling.
J. Zhang 29
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Translatory transformation
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 30
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Rotatory transformation
(shortened representation: S : sin, C : cos)The transformation corresponding to a rotation around the x-axiswith angle ψ:
Rx ,ψ =
1 0 0 00 Cψ −Sψ 00 Sψ Cψ 00 0 0 1
J. Zhang 31
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Rotatory transformation
The transformation corresponding to a rotation around the y -axiswith angle θ:
Ry ,θ =
Cθ 0 Sθ 00 1 0 0−Sθ 0 Cθ 0
0 0 0 1
J. Zhang 32
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Rotatory transformation
The transformation corresponding to a rotation around the y -axiswith angle φ:
Rz,φ =
Cφ −Sφ 0 0Sφ Cφ 0 00 0 1 00 0 0 1
J. Zhang 33
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Coordinate systems Introduction to Robotics
Multiple rotations
Sequential left-multiplication of the transformation matrices byorder of rotation.
An example:1. A rotation ψ around the x-axis Rx,ψ - ”yaw”2. A rotation θ around the y -axis Ry ,θ - ”pitch”3. A rotation φ around the z-axis Rz,φ - ”roll”
J. Zhang 34
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Concatenation of rotation matrices Introduction to Robotics
Concatenation of rotation matrices
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θ 0
0 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ψ 0
0 0 0 1
Remark: Matrice multiplication is not commutative:
AB 6= BA
J. Zhang 35
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Concatenation of rotation matrices Introduction to Robotics
Coordinate frames
They are represented as four vectors using the elements ofhomogenous 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 36
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Inverse transformation Introduction to Robotics
Inverse transformation
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 −p · r1
r12 r22 r32 −p · r2
r13 r23 r33 −p · r3
0 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 37
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Inverse transformation Introduction to Robotics
Relative transformations
One has the following transformations:
I Z: World → Manipulator base
I T6: Manipulator base → Manipulator end
I E: Manipulator end → Endeffector
I B: World → Object
I G: Object → Endeffector
J. Zhang 38
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Transformation equation Introduction to Robotics
Transformation equation
There are two descriptions of the endeffector position, one in relation tothe object and the other in relation to the manipulator. Both descriptionsare equal to eachother:
ZT6E = BG
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 39
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Transformation equation Introduction to Robotics
Example: coordinate transformation
J. Zhang 40
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Summary of homogenous transformations
I A homogenous 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 ahomogenous transformation relating to object B. This is alsopossible the other way around using inverse transformation.
J. Zhang 41
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Summary of homogenous transformations
I Several translations and rotations can be multiplied. Thefollowing applies:
I If the rotations / translations are performed in relation to thecurrent, 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 referencecoodinate system, the transformation matrices need to bemultiplicatively appended on the left-hand side.
I A homogenous transformation can be segemented into arotation and a translation part.
J. Zhang 42
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Robot kinematics
Quite often, only position and orientation of the robot gripper isof interest. In that case, a robot is treated just like a regularobject, depicted through a transformation like all others.
J. Zhang 43
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Coordinates of a manipulator
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 r13
r21 r22 r23
r31 r32 r33
J. Zhang 44
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Denavit Hartenberg Convention (outlook)
I Definition of one coordinate system per segment i = 1..n
I Definition of 4 parameters per segment i = 1..n
I Definition of one transformation Ai per segment i = 1..n
I T6 =∏n
i=1 Ai
Later Denavit Hartenberg Convention will be presented moredetailed!
J. Zhang 45
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Kinematics
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-endeffector?
I The inverse kinematic problem:Given a desired position and orientation of themanipulator-endeffector and the geometrical parameters of alljoints, is it possible for the manipulator to reach this position /orientation? If it is, how many manipulator configurations arecapable of matching these conditions?(An example: A two-joint-manipulator moving on a plane)
J. Zhang 46
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Position
T6 defines, how the n joint angles are supposed to be consolidatedto 12 non-linear formulas in order to descriebe 6 cartesian degreesof freedom.I Forward kinematics K defined as:
I K : ~θ ∈ Rn → ~x ∈ R6
I Joint angle → Position + Orientation
I 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 47
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Differential movement
Non-linear kinematics K can be linearized through the Taylor series
f (x) =∑∞
n=0f (n)(x0)
n! (x − x0)n.
I The Jacobi matrix J as factor for n = 1 of themulti-dimensional Taylor series is defined as:
I J(~θ) : ~θ ∈ Rn → ~x ∈ R6
I Joint speed → kartesian speed
I Inverse Jacobi matrix J−1 defined as:I J−1(~θ) : ~x ∈ R6 → ~θ ∈ Rn
I kartesian speed → Joint speedI non-trivial, since J not necessarily invertible (e.g. not quadratic)
J. Zhang 48
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Motion planning
Since T6 describes only the target position, explicit generation ofa trajectory is necessary - depending on constraints differently for:
I joint angle space
I cartesiaan space
Interpolation through:
I piecewise straight lines
I piecewise polynoms
I B-Splines
I ...
J. Zhang 49
Universitat Hamburg
MIN-FakultatDepartment Informatik
Introduction - Summary of homogenous transformations Introduction to Robotics
Suggestions
1.1 Read: J. F. Engelberger. Robotics in Service, The MIT Press,1989. (available in key texts)
1.3 Repeat your linear algebra knowledge, especially regardingelementary algebra of matrices.
J. Zhang 50