Introduction to Robotics Jianwei Zhang - - PowerPoint PPT Presentation

introduction to robotics
SMART_READER_LITE
LIVE PREVIEW

Introduction to Robotics Jianwei Zhang - - PowerPoint PPT Presentation

MIN-Fakult at Department Informatik Universit at Hamburg Introduction to Robotics Introduction to Robotics Jianwei Zhang zhang@informatik.uni-hamburg.de Universit at Hamburg Fakult at f ur Mathematik, Informatik und


slide-1
SLIDE 1

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction to Robotics

Introduction to Robotics

Jianwei Zhang

zhang@informatik.uni-hamburg.de

Universit¨ at Hamburg Fakult¨ at f¨ ur Mathematik, Informatik und Naturwissenschaften Department Informatik Technische Aspekte Multimodaler Systeme

  • 04. April 2014
  • J. Zhang

1

slide-2
SLIDE 2

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

Outline

General Information Introduction Architectures of Sensor-based Intelligent Systems Conclusions and Outlook

  • J. Zhang

2

slide-3
SLIDE 3

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

General Information (1)

Lecture: Friday 10:15 s.t - 11:45 s.t. Room: F334 Web: http://tams-www.informatik.uni-hamburg.de/lehre/ Name:

  • Prof. Dr. Jianwei Zhang

Office: F308 E-mail: zhang@informatik.uni-hamburg.de Consultation hour: (Thursday 15:00 - 16:00) Secretary: Tatjana Tetsis Office: F311 Tel.: +49 40 - 42883-2430 E-mail: tetsis@informatik.uni-hamburg.de

  • J. Zhang

3

slide-4
SLIDE 4

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

General Information (2)

Exercises: Friday 9:15 s.t - 10:00 s.t. Room: F334 Web: http://tams-www.informatik.uni-hamburg.de/lehre/ Name: Hannes Bistry Office: F313 Tel.: +49 40 - 42883-2398 E-mail: bistry@informatik.uni-hamburg.de Consultation hour: by arrangement

  • J. Zhang

4

slide-5
SLIDE 5

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

Exercises:

Criteria for Course Certificate:

◮ 60 % of points in the exercises ◮ regular presence in exercises ◮ presentation of two tasks ◮ everyone of a group should be able to present the tasks

  • J. Zhang

5

slide-6
SLIDE 6

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

Previous knowledge

◮ Basics in physics ◮ (Basics of electrical engineering) ◮ Linear algebra ◮ Elementary algebra of matrices ◮ Programming knowledge

  • J. Zhang

6

slide-7
SLIDE 7

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik General Information Introduction to Robotics

Content

◮ Mathematic concepts (description of space and coordinate

transformations, kinematics, dynamics)

◮ Control concepts (movement execution) ◮ Programming aspects(ROS, RCCL) ◮ Task-oriented movement

  • J. Zhang

7

slide-8
SLIDE 8

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction Introduction to Robotics

Outline

General Information Introduction Basic terms Robot classification Coordinate systems Concatenation of rotation matrices Inverse transformation Transformation equation Summary of homogenous transformations Architectures of Sensor-based Intelligent Systems Conclusions and Outlook

  • J. Zhang

8

slide-9
SLIDE 9

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Basic terms Introduction to Robotics

Introduction

Basic terms

Components of a robot

Robotics: intelligent combination of computers, sensors and actuators.

  • J. Zhang

9

slide-10
SLIDE 10

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Basic terms Introduction to Robotics

An interdisciplinary field

  • J. Zhang

10

slide-11
SLIDE 11

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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 or specialized systems, with varied and programmed movements, with the aim of carrying out varied tasks.

  • J. Zhang

11

slide-12
SLIDE 12

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Basic terms Introduction to Robotics

Background of some terms

“Robot” became popular through a stage play by Karel Capek in 1923, 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. (from 1980). “Service Robot”: a mobile handling system featuring sensors for sophisticated operations in service areas (from 1989).

  • J. Zhang

12

slide-13
SLIDE 13

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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 on which a joint or end-point of a robot can move. The DOF are determined by the number of independent variables

  • f the control system.

◮ On a plane: translational / rotational movement ◮ In a space: translational / rotational movement - location +

  • rientation (the maximum DOF of a solid object?)

◮ The DOF of a manipulator: Number of joints which can be

controlled independently. A “Robot” should have at least two degrees of freedom.

  • J. Zhang

13

slide-14
SLIDE 14

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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

slide-15
SLIDE 15

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by engine type

◮ electrical ◮ hydraulic ◮ pneumatic

  • J. Zhang

15

slide-16
SLIDE 16

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by field of work

◮ stationary

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

◮ mobile

◮ automated guided vehicles ◮ portal robot ◮ mobile platform ◮ running machines and flying robots ◮ anthropomorphic robots (humanoids)

  • J. Zhang

16

slide-17
SLIDE 17

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by type of joint

◮ translatory (“linear joint”, “translational”, “cartesian”,

“prismatic”)

◮ rotatory ◮ combinations

  • J. Zhang

17

slide-18
SLIDE 18

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by robot coordinate system

◮ cartesian ◮ cylindrical ◮ spherical

  • J. Zhang

18

slide-19
SLIDE 19

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by usage

◮ object manipulation ◮ object modification ◮ object processing ◮ transport ◮ assembly ◮ quality testing ◮ deployment in non-accessible areas ◮ agriculture and forestry ◮ unterwater ◮ building industry ◮ service robot in medicine, housework, ...

  • J. Zhang

19

slide-20
SLIDE 20

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robot classification

by intelligence

◮ manuel control ◮ programmable for repeated movements ◮ featuring cognitive ability and responsiveness ◮ adaptive on task level

  • J. Zhang

20

slide-21
SLIDE 21

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Robotics is fun!

◮ robots move - computers don’t ◮ interdisciplinarity:

◮ soft- and hardware technology ◮ sensor technology ◮ mechatronics ◮ control engineering ◮ multimedia, ...

◮ A dream of mankind:

"Computers are the most ingenious product of human laziness to date." computers ⇔ robots

  • J. Zhang

21

slide-22
SLIDE 22

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Robot classification Introduction to Robotics

Literature

The official slides (including more literature references) are available through the TAMS website under ”lectures” Important secondary literature:

◮ K. S. Fu, R. C. Gonzales and C. S. G. Lee, Robotics:

Control, Sensing, Vision and Intelligence, McGraw-Hill, 1987

◮ R. P. Paul, Robot Manipulators: Mathematics, Programming

and Control, MIT Press, 1981

◮ J. J. Craig. Introduction to Robotics, Addison-Wesley, 1989.

  • J. Zhang

22

slide-23
SLIDE 23

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Coordinate systems

The position of objects, in other words their location and

  • rientation in Euclidian space can be described through

specification of a cartesian coordinate system (CS) in relation to a base coordinate system (B).

ezK exB ezB exK eyK

p’ p

P B

eyB

e −− unit vectors p, p’ −− position vectors

CS

  • J. Zhang

23

slide-24
SLIDE 24

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Specification of location and orientation

position (object-coordinates):

◮ translation along the axes of the base coordinate system (here

B)

ezK exB ezB exK eyK

p’ p

P B

eyB

e −− unit vectors p, p’ −− position vectors

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

  • J. Zhang

24

slide-25
SLIDE 25

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Specification of location and orientation (cont.)

  • rientation (in space):

◮ Euler-angles φ, θ, ψ

◮ 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’ α β

◮ Gimbal-angles (Roll-Pitch-Yaw)

◮ relative to object coordinates

(used in aviation and maritime)

◮ rotation with respect to fixed axes (X - Roll,

Y - Pitch, Z - Yaw)

◮ given by Rotation-

matrix R ∈ R3×3

◮ redundant; 9 parameters for 3 DOF

R =   r11 r12 r13 r21 r22 r23 r31 r32 r33  

  • J. Zhang

25

slide-26
SLIDE 26

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Specification of location and orientation - summary

◮ Position:

◮ given through

p ∈ R3

◮ Orientation:

◮ given through projection

n,

  • ,

a ∈ R3 of the axes of the CS to the

  • rigin system

◮ summarized to rotation matrix R =

n

  • a

∈ R3×3

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

  • J. Zhang

26

slide-27
SLIDE 27

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Coordinate-Transformations

◮ Transform of Coordinate systems:

frame: a reference CS typical frames:

◮ robot base

T6

◮ end-effector ◮ table (world) ◮ object ◮ camera ◮ screen ◮ ...

Frame-transformations transform one frame into another.

  • J. Zhang

27

slide-28
SLIDE 28

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Homogenous transformation

◮ Combination of

p and R to T =

  • R
  • p

1

  • ∈ R4×4

◮ Concatenation of several T through matrix multiplication ◮ not commutative, in other words A · B = B · A

  • J. Zhang

28

slide-29
SLIDE 29

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Homogeneous transformation

◮ Homogeneous transformation matrices:

H = R T P S

  • whereas P depicts the perspective transformation and S the

scaling.

  • J. Zhang

29

slide-30
SLIDE 30

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Translatory transformation

A translation with a vector [px, py, pz]T is expressed through a transformation H: H = T(px,py,pz) =     1 px 1 py 1 pz 1    

  • J. Zhang

30

slide-31
SLIDE 31

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Rotatory transformation

(shortened representation: S : sin, C : cos) The transformation corresponding to a rotation around the x-axis with angle ψ: Rx,ψ =     1 Cψ −Sψ Sψ Cψ 1    

  • J. Zhang

31

slide-32
SLIDE 32

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Rotatory transformation

The transformation corresponding to a rotation around the y-axis with angle θ: Ry,θ =     Cθ Sθ 1 −Sθ Cθ 1    

  • J. Zhang

32

slide-33
SLIDE 33

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Rotatory transformation

The transformation corresponding to a rotation around the y-axis with angle φ: Rz,φ =     Cφ −Sφ Sφ Cφ 1 1    

  • J. Zhang

33

slide-34
SLIDE 34

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Coordinate systems Introduction to Robotics

Multiple rotations

Sequential left-multiplication of the transformation matrices by

  • rder 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

slide-35
SLIDE 35

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Concatenation of rotation matrices Introduction to Robotics

Concatenation of rotation matrices

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

=     Cφ −Sφ Sφ Cφ 1 1         Cθ Sθ 1 −Sθ Cθ 1         1 Cψ −Sψ Sψ Cψ 1     =     CφCθ CφSθSψ − SφCψ CφSθCψ + SφSψ SφCθ SφSθSψ + CφCψ SφSθCψ − CφSψ −Sθ CθSψ CθCψ 1    

Remark: Matrice multiplication is not commutative: AB = BA

  • J. Zhang

35

slide-36
SLIDE 36

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Concatenation of rotation matrices Introduction to Robotics

Coordinate frames

They are represented as four vectors using the elements of homogenous transformation. H = r1 r2 r3 p 1

  • =

    r11 r12 r13 px r21 r22 r23 py r31 r32 r33 pz 1     (1)

  • J. Zhang

36

slide-37
SLIDE 37

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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 1     whereas r1, r2, r3 and p are the four column vectors of (1) and · represents the scalar product of vectors.

  • J. Zhang

37

slide-38
SLIDE 38

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Inverse transformation Introduction to Robotics

Relative transformations

One has the following transformations:

◮ Z: World → Manipulator base ◮ T6: Manipulator base → Manipulator end ◮ E: Manipulator end → Endeffector ◮ B: World → Object ◮ G: Object → Endeffector

  • J. Zhang

38

slide-39
SLIDE 39

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Transformation equation Introduction to Robotics

Transformation equation

There are two descriptions of the endeffector position, one in relation to the object and the other in relation to the manipulator. Both descriptions are 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

slide-40
SLIDE 40

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Transformation equation Introduction to Robotics

Example: coordinate transformation

  • J. Zhang

40

slide-41
SLIDE 41

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Summary of homogenous transformations

◮ A homogenous transformation depicts the position and

  • rientation of a coordinate frame in space.

◮ If the coordinate frame is defined in relation to a solid

  • bject, the position and orientation of the solid object is

unambiguously specified.

◮ The depiction of an object A can be derived from a

homogenous transformation relating to object B. This is also possible the other way around using inverse transformation.

  • J. Zhang

41

slide-42
SLIDE 42

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Summary of homogenous transformations

◮ Several translations and rotations can be multiplied. The

following applies:

◮ If the rotations / translations are performed in relation to the

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

◮ If all of them are performed in relation to the fixed reference

coodinate system, the transformation matrices need to be multiplicatively appended on the left-hand side.

◮ A homogenous transformation can be segemented into a

rotation and a translation part.

  • J. Zhang

42

slide-43
SLIDE 43

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Robot kinematics

Quite often, only position and orientation of the robot gripper is

  • f interest. In that case, a robot is treated just like a regular
  • bject, depicted through a transformation like all others.
  • J. Zhang

43

slide-44
SLIDE 44

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Coordinates of a manipulator

◮ Joint coordinates:

A vector q(t) = (q1(t), q2(t), ..., qn(t))T (a robot configuration)

◮ Endeffector coordinates

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

◮ Description of orientations:

◮ Euler angle φ, θ, ψ ◮ Rotation matrix:

R =   r11 r12 r13 r21 r22 r23 r31 r32 r33  

  • J. Zhang

44

slide-45
SLIDE 45

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Denavit Hartenberg Convention (outlook)

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

Later Denavit Hartenberg Convention will be presented more detailed!

  • J. Zhang

45

slide-46
SLIDE 46

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Kinematics

◮ The direct kinematic problem:

Given the joint values and geometrical parameters of all joints

  • f a manipulator, how is it possible to determine the position

and orientation of the manipulator-endeffector?

◮ The inverse kinematic problem:

Given a desired position and orientation of the manipulator-endeffector and the geometrical parameters of all joints, is it possible for the manipulator to reach this position /

  • rientation? If it is, how many manipulator configurations are

capable of matching these conditions?

(An example: A two-joint-manipulator moving on a plane)

  • J. Zhang

46

slide-47
SLIDE 47

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Position

T6 defines, how the n joint angles are supposed to be consolidated to 12 non-linear formulas in order to descriebe 6 cartesian degrees

  • f freedom.

◮ Forward kinematics K defined as:

◮ K :

θ ∈ Rn → x ∈ R6

◮ Joint angle → Position + Orientation

◮ Inverse kinematics K −1 defined as:

◮ K −1 :

x ∈ R6 → θ ∈ Rn

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

  • J. Zhang

47

slide-48
SLIDE 48

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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=0 f (n)(x0) n!

(x − x0)n.

◮ The Jacobi matrix J as factor for n = 1 of the

multi-dimensional Taylor series is defined as:

◮ J(

θ) : ˙

  • θ ∈ Rn → ˙
  • x ∈ R6

◮ Joint speed → kartesian speed

◮ Inverse Jacobi matrix J−1 defined as:

◮ J−1(

θ) : ˙

  • x ∈ R6 → ˙
  • θ ∈ Rn

◮ kartesian speed → Joint speed ◮ non-trivial, since J not necessarily invertible (e.g. not quadratic)

  • J. Zhang

48

slide-49
SLIDE 49

Universit¨ at Hamburg

MIN-Fakult¨ at Department Informatik Introduction - Summary of homogenous transformations Introduction to Robotics

Motion planning

Since T6 describes only the target position, explicit generation of a trajectory is necessary - depending on constraints differently for:

◮ joint angle space ◮ cartesiaan space

Interpolation through:

◮ piecewise straight lines ◮ piecewise polynoms ◮ B-Splines ◮ ...

  • J. Zhang

49

slide-50
SLIDE 50

Universit¨ at Hamburg

MIN-Fakult¨ at Department 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 regarding elementary algebra of matrices.

  • J. Zhang

50