Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik

Forward Serial link manipulators

Dr.-Ing. John Nassour

01.11.2016 J.Nassour 1 Suggested literature

Modeling and Control • : Modelling, Planning and Control

01.11.2016 J.Nassour 2 Reminder: Right Hand Rules

Cross product

01.11.2016 J.Nassour 3 Reminder: Right Hand Rules

풛 A right-handed coordinate frame 풙 풙 × 풚 풙 풚

풛 풚

The first three fingers of your right hand which indicate the relative directions of the x-, y- and z-axes respectively.

01.11.2016 J.Nassour 4 Reminder: Right Hand Rules

Rotation about a vector

Wrap your right hand around the vector with your thumb (your x-finger) in the direction of 흎 the arrow. The curl of your fingers indicates the direction of increasing angle.

+

01.11.2016 J.Nassour 5 Kinematics

The problem of kinematics is to describe the motion of the manipulator without consideration of the forces and torques causing that motion.

The kinematic description is therefore a geometric one.

01.11.2016 J.Nassour 6 Forward Kinematics

Determine the position and orientation of the end-effector given the values for the joint variables of the robot.

Joint n-1 Link 2 Joint 3

Link n-1 Link 1 Joint 2 Joint n End-Effector

Joint 1 Robot Manipulators are composed of links connected by joints to form a Base .

01.11.2016 J.Nassour 7 Robot Manipulators

Revolute joint (R): allows a relative rotation about a single axis. Prismatic joint (P): allows a linear motion along a single axis (extension or retraction). Prismatic joint

Link i Revolute joint

Spherical wrist: A three degree of freedom rotational joint with all three axes of rotation crossing at a point is typically called a spherical wrist. Base

01.11.2016 J.Nassour 8 The Workspace Of A Robot

The total volume its end - effector could sweep as the robot executes all possible motions. It is constrained by the geometry of the manipulator as well as mechanical limits imposed on the joints. Prismatic joint

Link i Revolute joint

Base

01.11.2016 J.Nassour 9 Robot Manipulators

Symbolic representation of robot joints

e.g. A three-link arm with three revolute joints was denoted by RRR.

Joint variables, denoted by 휽 for a revolute joint and 풅 for the prismatic joint, represent the relative displacement between adjacent links.

01.11.2016 J.Nassour 10 Articulated Manipulators (RRR)

01.11.2016 J.Nassour 11 Articulated Manipulators (RRR)

Also called: Anthropomorphic Manipulators

Three joints of the rotational type (RRR). It resembles the human arm. The second joint axis is perpendicular to the first one. The third joint axis is parallel to the second one. The workspace of the anthropomorphic robot arm, encompassing all the points that can be reached by the robot end point.

01.11.2016 J.Nassour 12 Elbow Manipulator (RRR)

Workspace

Structure

01.11.2016 J.Nassour 13 Spherical Manipulator

The Stanford Arm

01.11.2016 J.Nassour 14 Spherical Manipulator RRP

Two rotation and one translation (RRP). The second joint axis is perpendicular to the first one and the third axis is perpendicular to the second one.

Workspace

Structure

01.11.2016 J.Nassour 15 Spherical Manipulator RRP

Two rotation and one translation (RRP). The second joint axis is perpendicular to the first one and the third axis is perpendicular to the second one. The workspace of the robot arm has a spherical shape as in the case of the anthropomorphic robot arm.

Workspace

Structure

01.11.2016 J.Nassour 16 Spherical Manipulator RRR

Workspace?

Structure

01.11.2016 J.Nassour 17 SCARA Manipulator

Two joints are rotational and one is translational (RRP). The axes of all three joints are parallel.

Workspace

01.11.2016 J.Nassour 18 SCARA Manipulator

Two joints are rotational and one is translational (RRP). The axes of all three joints are parallel. The workspace of SCARA robot arm is of cylindrical shape.

Workspace

01.11.2016 J.Nassour 19 Cylindrical Manipulator

Workspace

One rotational and two translational (RPP). The axis of the second joint is parallel to the first axis. The third joint axis is perpendicular to the second one.

01.11.2016 J.Nassour 20 Cylindrical Manipulator

Workspace

One rotational and two translational (RPP). The axis of the second joint is parallel to the first axis. The third joint axis is perpendicular to the second one.

01.11.2016 J.Nassour 21 The Cartesian Manipulators

Workspace Three joints of the translational type (PPP). The joint axes are perpendicular one to another.

01.11.2016 J.Nassour 22 The Cartesian Manipulators

Workspace Three joints of the translational type (PPP). The joint axes are perpendicular one to another.

01.11.2016 J.Nassour 23 Configuration Parameters

A set of position parameters that describes the full configuration of the system.

Base

01.11.2016 J.Nassour 24 Configuration Parameters

A set of position parameters that describes the full configuration of the system.

9 parameters/link

Base

01.11.2016 J.Nassour 25 Generalized Coordinates

A set of independent configuration parameters

ퟑ 풑풐풔풊풕풊풐풏풔 ퟔ 풑풂풓풂풎풆풕풆풓풔/풍풊풏풌 ퟑ 풐풓풊풆풏풕풂풕풊풐풏풔

01.11.2016 J.Nassour 26 Generalized Coordinates

A set of independent configuration parameters

ퟑ 풑풐풔풊풕풊풐풏풔 ퟔ 풑풂풓풂풎풆풕풆풓풔/풍풊풏풌 ퟑ 풐풓풊풆풏풕풂풕풊풐풏풔

퐿푖푛푘 2

퐿푖푛푘 1 퐿푖푛푘 푛 6n parameters for n moving links

Base

01.11.2016 J.Nassour 27 Generalized Coordinates

A set of independent configuration parameters

ퟑ 풑풐풔풊풕풊풐풏풔 ퟔ 풑풂풓풂풎풆풕풆풓풔/풍풊풏풌 ퟑ 풐풓풊풆풏풕풂풕풊풐풏풔

퐿푖푛푘 2

퐿푖푛푘 1 ퟓ 푪풐풏풔풕풓풂풊풏풕 퐿푖푛푘 푛 6n parameters for n moving links

Base

01.11.2016 J.Nassour 28 Generalized Coordinates

A set of independent configuration parameters

ퟑ 풑풐풔풊풕풊풐풏풔 ퟔ 풑풂풓풂풎풆풕풆풓풔/풍풊풏풌 ퟑ 풐풓풊풆풏풕풂풕풊풐풏풔

퐿푖푛푘 2

퐿푖푛푘 1 ퟓ 푪풐풏풔풕풓풂풊풏풕 퐿푖푛푘 푛 6n parameters for n moving links 5n constraints for n joints

Base

01.11.2016 J.Nassour 29 Generalized Coordinates

A set of independent configuration parameters

ퟑ 풑풐풔풊풕풊풐풏풔 ퟔ 풑풂풓풂풎풆풕풆풓풔/풍풊풏풌 ퟑ 풐풓풊풆풏풕풂풕풊풐풏풔

퐿푖푛푘 2

퐿푖푛푘 1 ퟓ 푪풐풏풔풕풓풂풊풏풕 퐿푖푛푘 푛 6n parameters for n moving links 5n constraints for n joints D.O.F: 6n - 5n = n Base

01.11.2016 J.Nassour 30 Generalized Coordinates

D.O.F: n joints + ?

01.11.2016 J.Nassour 31 Generalized Coordinates

The robot is free to move forward/backward, up/down, left/right (translation in three perpendicular axes) combined with rotation about three perpendicular axes, often termed pitch, yaw, and roll.

01.11.2016 J.Nassour 32 Generalized Coordinates

The robot is free to move forward/backward, up/down, left/right (translation in three perpendicular axes) combined with rotation about three perpendicular axes, often termed pitch, yaw, and roll.

D.O.F: n joints + 6

01.11.2016 J.Nassour 33 Operational Coordinates

End-effector configuration parameters are a set of 풎 parameters (풙ퟏ, 풙ퟐ, 풙ퟑ, . . , 풙풎) that completely specify the end-effector position and orientation with respect to the frame 풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ.

풐ퟎ 풙ퟎ 풚ퟎ 풛ퟎ 풐풏+ퟏ is the operational point.

A set (풙ퟏ, 풙ퟐ, 풙ퟑ, . . , 풙풎ퟎ) of independent configuration Parameters 풎ퟎ: number of degree of freedom of the end-effector.

풐풏+ퟏ 풙풏+ퟏ 풚풏+ퟏ 풛풏+ퟏ

01.11.2016 J.Nassour 34 Operational Coordinates

Is also called Operational Space

풙 풚 휶

풚 Base 풙 01.11.2016 J.Nassour 35 Joint Coordinates

Is also called Joint Space

휽2

휽2 휽3 휽3

휽1

휽1

Base

01.11.2016 J.Nassour 36 Joint Space -> Operational Space

Determine the position and orientation of the end- effector given the values for the joint variables of the robot. 휽2

휽3

휽1

풚 Base 풙 01.11.2016 J.Nassour 37 Redundancy

A robot is said to be redundant if 풏 > 풎ퟎ. Degree of redundancy: 풏 − 풎ퟎ how many solutions exist?

풎ퟎ = ퟑ 풏 = ퟒ

Base

01.11.2016 J.Nassour 38 Redundancy

A robot is said to be redundant if 풏 > 풎ퟎ. Degree of redundancy: 풏 − 풎ퟎ how many solutions exist?

풎ퟎ = ퟑ 풏 = ퟒ

Base

01.11.2016 J.Nassour 39 Redundancy

A robot is said to be redundant if 풏 > 풎ퟎ. Degree of redundancy: 풏 − 풎ퟎ how many solutions exist?

풎ퟎ = ퟑ 풏 = ퟒ

Base

01.11.2016 J.Nassour 40 Redundancy

A robot is said to be redundant if 풏 > 풎ퟎ. Degree of redundancy: 풏 − 풎ퟎ how many solutions exist?

풎ퟎ = ퟑ 풏 = ퟑ Base

01.11.2016 J.Nassour 41 Redundancy

A robot is said to be redundant if 풏 > 풎ퟎ. Degree of redundancy: 풏 − 풎ퟎ how many solutions exist?

풎ퟎ = ퟑ 풏 = ퟑ Base

01.11.2016 J.Nassour 42 Kinematic Arrangements

The objective of forward kinematic analysis is to determine the cumulative effect of the entire set of joint variables, that is, to determine the position and orientation of the end effector given the values of these joint variables.

We assume that each joint has one D.O.F

The action of each joint can be described by one real number: the angle of rotation in the case of a revolute joint or the displacement in the case of a prismatic joint.

When joint 풊 is actuated, link 풊 moves.

풒풊 is the joint variable

01.11.2016 J.Nassour 43 Kinematic Arrangements

The objective of forward kinematic analysis is to determine the cumulative effect of the entire set of joint variables, that is, to determine the position and orientation of the end effector given the values of these joint variables.

We assume that each joint has one D.O.F

The action of each joint can be described by one real number: the angle of rotation in the case of a revolute joint or the displacement in the case of a prismatic joint.

Spherical wrist 3 D.O.F spherical wrist: RRR Links’ lengths = 0

01.11.2016 J.Nassour 44 Kinematic Arrangements

To perform the kinematic analysis, we attach a coordinate frame rigidly to each link. In particular, we attach 풐풊풙풊 풚풊 풛풊 to 풍풊풏풌 풊. This means that, whatever motion the robot executes, the coordinates of any point 풑 on 풕풉 link 풊 are constant when expressed in the 풊 coordinate frame 풑풊 = 풄풐풏풔풕풂풏풕. When 풋풐풊풏풕 풊 is actuated, 풍풊풏풌 풊 and its attached frame, 풐풊풙풊 풚풊 풛풊, experience a resulting motion.

풑 풍풊풏풌 풊

풐풊풙풊 풚풊 풛풊

The frame 풐 풙 풚 풛 , which is attached to the 풐 풙 풚 풛 ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ robot base, is referred to as the reference frame. Base

01.11.2016 J.Nassour 45 Kinematic Arrangements

To perform the kinematic analysis, we attach a coordinate frame rigidly to each link. In particular, we attach 풐풊풙풊 풚풊 풛풊 to 풍풊풏풌 풊. This means that, whatever motion the robot executes, the coordinates of any point 풑 on 풕풉 link 풊 are constant when expressed in the 풊 coordinate frame 풑풊 = 풄풐풏풔풕풂풏풕. When 풋풐풊풏풕 풊 is actuated, 풍풊풏풌 풊 and its attached frame, 풐풊풙풊 풚풊 풛풊, experience a resulting motion.

풍풊풏풌 풊 풑

풐풊풙풊 풚풊 풛풊

The frame 풐 풙 풚 풛 , which is attached to the 풐 풙 풚 풛 ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ robot base, is referred to as the reference frame. Base

01.11.2016 J.Nassour 46 Kinematic Arrangements

To perform the kinematic analysis, we attach a coordinate frame rigidly to each link. In particular, we attach 풐풊풙풊 풚풊 풛풊 to 풍풊풏풌 풊. This means that, whatever motion the robot executes, the coordinates of any point 풑 on 풕풉 link 풊 are constant when expressed in the 풊 coordinate frame 풑풊 = 풄풐풏풔풕풂풏풕. When 풋풐풊풏풕 풊 is actuated, 풍풊풏풌 풊 and its attached frame, 풐풊풙풊 풚풊 풛풊, experience a resulting motion.

풍풊풏풌 풊

풐풊풙풊 풚풊 풛풊

The frame 풐 풙 풚 풛 , which is attached to the 풐 풙 풚 풛 ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ ퟎ robot base, is referred to as the reference frame. Base

01.11.2016 J.Nassour 47 Joint And Link Labelling

01.11.2016 J.Nassour 48 Joint And Link Labelling

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

01.11.2016 J.Nassour 49 Joint And Link Labelling

Joint variable 휽1 Link 1 Joint 1

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

01.11.2016 J.Nassour 50 Joint And Link Labelling

Joint variable 휽2

풐ퟏ풙ퟏ 풚ퟏ 풛ퟏ Joint 2 Link 2

Joint variable 휽1 Link 1 Joint 1

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

01.11.2016 J.Nassour 51 Joint And Link Labelling

Joint variable 휽3 Joint variable 휽2

풐ퟏ풙ퟏ 풚ퟏ 풛ퟏ Joint 3 Joint 2 Link 2 Link 3 Joint variable 휽 1 풐ퟐ풙ퟐ 풚ퟐ 풛ퟐ Link 1 Joint 1

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

01.11.2016 J.Nassour 52 Joint And Link Labelling

Joint variable 휽3 Joint variable 휽2

풐ퟏ풙ퟏ 풚ퟏ 풛ퟏ Joint 3 Joint 2 Link 2 Link 3 Joint variable 휽 1 풐ퟐ풙ퟐ 풚ퟐ 풛ퟐ 풐ퟑ풙ퟑ 풚ퟑ 풛ퟑ Link 1 Joint 1

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

Do we need a specific way to orientate the axes?

01.11.2016 J.Nassour 53 Transformation Matrix

Suppose 푨풊 is the homogeneous transformation matrix that describe the position and the orientation of 풐풊풙풊 풚풊 풛풊 with respect to 풐풊−ퟏ풙풊−ퟏ 풚풊−ퟏ 풛풊−ퟏ. 푨풊 is derived from joint and link 푖. 푨풊 is a function of only a single joint variable. Joint variable 휽3 Joint variable 휽2 푨풊 = 푨풊(풒풊)

풐ퟏ풙ퟏ 풚ퟏ 풛ퟏ Joint 3 풊−ퟏ 풊−ퟏ 푨 (풒 ) = 푹 풊 풐 풊 Joint 2 Link 2 Link 3 풊 풊 ퟎ ퟏ Joint variable 휽 1 풐ퟐ풙ퟐ 풚ퟐ 풛ퟐ 풐ퟑ풙ퟑ 풚ퟑ 풛ퟑ Link 1 Joint 1

풐 풙 풚 풛 Link 0 (fixed) ퟎ ퟎ ퟎ ퟎ Base frame

01.11.2016 J.Nassour 54 Transformation Matrix

The position and the orientation of the end effector (reference frame 풐풏풙풏 풚풏 풛풏) with respect to the base (reference frame 풐ퟎ풙ퟎ 풚ퟎ 풛ퟎ) can be expressed by the transformation matrix:

ퟎ ퟎ 퐇 = 푻ퟎ = 푨 풒 … 푨 (풒 ) = 푹풏 풐풏 풏 ퟏ ퟏ 풏 풏 ퟎ ퟏ

The position and the orientation of a reference frame 풐풋풙풋 풚풋 풛풋) with respect to a reference frame 풐풊풙풊 풚풊 풛풊 can be expressed by the transformation matrix:

푨풊+ퟏ푨풊+ퟐ … 푨풋−ퟏ 푨풋 푖푓 풊 < 풋 풊 푻풋 = 푰 푖푓 풊 = 풋 풋 −ퟏ (푻풊) 푖푓 풊 > 풋

01.11.2016 J.Nassour 55 Transformation Matrix

푨풊+ퟏ푨풊+ퟐ … 푨풋−ퟏ 푨풋 푖푓 풊 < 풋 풊 푻풋 = 푰 푖푓 풊 = 풋 풋 −ퟏ (푻풊) 푖푓 풊 > 풋 if 풊 < 풋 then

풊 풊 풊 푹풋 풐풋 푻풋 = 푨풊+ퟏ푨풊+ퟐ … 푨풋−ퟏ 푨풋 = ퟎ ퟏ

풊 풊 풋−ퟏ The orientation part: 푹풋 = 푹풊+ퟏ … 푹 풋

풊 풊 풊 풋−ퟏ The translation part: 풐풋 = 풐풋−ퟏ+푹풋−ퟏ 풐 풋

01.11.2016 J.Nassour 56