Lec 3
Lec 3
KINEMATICS
Dr. Sara
Kinematics
Kinematics is the branch of mechanics
that studies the motion of a body or a
system of bodies
Concerned with position (and angles)
and velocities (translational and angular)
Not concerned with force or moments.
Such a study is a part of Dynamics.
Robot Kinematics
Two kinematic problems in Robotics
Forward Kinematics: Given joint angles,
we can find the robot’s tool tip.
Inverse Kinematics: Given the pose of
robot tool tip, we find the required joint
angles.
Introduction
Robot Arm:
A serial-link manipulator, comprises a chain
of rigid links and joints.
Each joint has one degree of freedom,
either translational (a sliding or prismatic
joint) or rotational (a revolute joint)
Introduction
One end of the chain, the base, is
generally fixed and the other end is free to
move in space and holds the tool or end-
effector that does the useful work.
*End-Effector
will be a
complex
function of the
state of each
joint
Goals
Forward Kinematics: How to compute the
pose of the end-effector?
Inverse Kinematics: How to compute the
position of each joint given the end-
effector pose?
How to generate smooth
paths/trajectories for the end-effector?
How to determining DH parameters?
Forward Kinematics
Definition: the mapping from joint
coordinates, or robot configuration, to
end-effector pose.
*ETS stands for elementary
transform sequence in 2D
a1=1;
q1=0.2;
trchain2 (‘R(q1) Tx(a1)’, q1)
%Generic
syms q1 a1
trchain2 (‘R(q1) Tx(a1)’, q1)
Forward Kinematics – 2 Joint
syms q1 q2 a1 a2
trchain2(‘R(q1) Tx(a1) R(q2) Tx(a2)’, [q1
q2])
Forward Kinematics – 3 Joint
Toolbox
syms q1 q2 q3 a1 a2 a3
trchain2(‘R(q1) Tx(a1) R(q2) Tx(a2) R(q3) Tx(a3)’, [q1 q2 q3])
- Revolute Joints
- Serial Manipulators
Configuration Space
Robot configuration is described by a
vector of generalized coordinates
Coordinate is
Angle in case of revolute joints
Length in case of prismatic joints
Space of all
Joint Number
Joint possible
Configura of Joints
Coordinat Configurati
tion e ons
Task Space
The space of all possible end-effector
poses
Space of all
possible end-
effector poses
In 2D
In 3D
Task and Configuration space
dimensions
Configuration
String?
Denavit-Hartenberg
Notation
Developed a general theory to describe
an articulated sequence of joints.
Each joint in the robot is described by
four parameters. Link length, link
twist, link offset and joint angle.
Only applicable to serial link
mechanisms NOT parallel mechanisms
Serial Link Manipulator
Each joint attached to another joint via a
link
Links are rigid
Joints can move and are either revolute or
prismatic
Every joint connects two links
Every link connects two joints
excluding first and last link
A serial manipulator has
N joints
N+1 links Courtesy Peter Corke
Link description
Link connection description
Parameter Description
Link Length: This distance is measured along a line that is mutually
perpendicular to both axes. This mutual perpendicular always exists; it is
unique except when both axes are parallel, in which case there are many
mutual perpendiculars of equal length.
Link Twist: This angle is measured from axis i-1 to axis i.
Link Offset: Neighboring links have a common joint axis between
them. One parameter of interconnection has to do with the distance along
this common axis from one link to the next. This parameter is called the
link offset.
Joint Angle: parameter that describes the amount of rotation about this
common axis between one link and its neighbor. This is called the joint
angle
DH Parameters for planar 2-joint Robot
dh = [ 0 0 1 0;
0010]
% each row corresponds to one row of
DH table i.e theta, d, a and alpha
parameters of each joint
r = SerialLink(dh)
r.tool
r.gravity
r.base
DH Table in Toolbox
dh = [ 0 0 1 0;
0010]
% each row corresponds to one row of
DH table i.e. theta, d, a and alpha
parameters of each joint
r = SerialLink(dh)
r.tool
r.gravity
r.base
r.plot([0.2 0.3])
r.teach
r.fkine([0.2 0.3])
%returns the pose of end-effector
DH Parameter 6-DOF PUMA
Robot
Assignment 2 : 10th Nov
2021
PUMA in Toolbox
mdl_puma560
p560
p560.plot(qz)
p560.plot(qr)
p560.teach
p560.fkine ([0.1 0.2 0.3 0.4 0.5 0.6])
General Form