Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik
Forward Kinematics Serial link manipulators
Dr.-Ing. John Nassour
01.11.2016 J.Nassour 1 Suggested literature
• Robot Modeling and Control • Robotics: 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 kinematic chain.
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