4DC00 Dynamics and Control of Robotic Systems
LECTURE 5
Alessandro Saccon, Associate Professor
Robotics section (RBT) / Department of Mechanical Engineering
Outline
•
Velocity kinematics
•
The Geometric Jacobian of a Robot Manipulator (in general)
•
The Geometric Jacobian of a Robot Manipulator using DH convention
2
4DC00 Dynamics and Control of Robotic Systems
Velocity Kinematics
3
4DC00 Dynamics and Control of Robotic Systems
Introduction
•
Forward (position) kinematics relates the joint displacements
to the position and orientation of the robot end-effector
•
Velocity kinematics relates the joint velocities
to the linear and angular velocities of the robot end-effector
4
4DC00 Dynamics and Control of Robotic Systems
Introduction (cont’d)
•
Joint velocities are mapped into linear and angular velocities of the
end effector via a Jacobian
•
The Jacobian is a configuration-dependent linear transformation
5
4DC00 Dynamics and Control of Robotic Systems
Introduction (cont’d)
The Jacobian plays an important role in:
- Deriving the equations of motion for a robot;
- Planning of robot trajectories;
- Closed-loop control of robots;
- Transformation of 3D forces and torques
from the Cartesian (end effector) coordinates to the joint coordinates
- Derivation of iterative numerical algorithms for, e.g., inverse kinematics
6
4DC00 Dynamics and Control of Robotic Systems
But first... let’s talk about
spinning of rigid bodies
7
4DC00 Dynamics and Control of Robotic Systems
How can we describe the spinning and angular velocity of a top?
8
4DC00 Dynamics and Control of Robotic Systems
Angular velocity (fixed axis of rotation)
•
When a rigid body performs a pure rotation about a fixed axis (the axis of rotation), every
point of the body moves in a circle
•
Let π be the angle swept out by the perpendicular from a point to the axis of rotation; if π is
a unit vector in the direction of the axis of rotation, then the angular velocity vector π is
π = παΆ π
•
For given π, the linear velocity π of an arbitrary point equals
π =π × π
where π is a vector from the origin (laying on the axis of rotation) to the point.
9
/ Dynamics and
Control
4DC00
Dynamics
and Control of Robotic Systems
How can we describe the spinning and angular velocity of a top?
π
10
4DC00 Dynamics and Control of Robotic Systems
How can we describe the spinning and angular velocity of a top?
π = παΆ π
11
4DC00 Dynamics and Control of Robotic Systems
How can we describe the spinning and angular velocity of a top?
π = παΆ π
π
12
4DC00 Dynamics and Control of Robotic Systems
How can we describe the spinning and angular velocity of a top?
π = παΆ π
π =π × π
π
13
4DC00 Dynamics and Control of Robotic Systems
Skew symmetric matrices
An π × π matrix π is called skew symmetric when
For π = π, we can parametrize π explicitly as
14
4DC00 Dynamics and Control of Robotic Systems
Properties of S map (ESSENTIAL SLIDE)
•
For a vector π = [ππ₯ , ππ¦ , ππ§]π, we define the mapping πΊ(π) as
•
Properties of πΊ(π):
15
4DC00 Dynamics and Control of Robotic Systems
The derivative of a rotation-matrix-valued map
• Recall that if π
(π) in ππ(3), then π
(π) π
π (π) = πΌ for any π ∈ β.
• Differentiating both sides of π
(π) π
π (π) = πΌ w.r.t. π yields
• Multiplying both sides on the right by R and we obtain
16
4DC00 Dynamics and Control of Robotic Systems
Examples
•
Note that
•
Thus, we have
•
Similarly,
17
4DC00 Dynamics and Control of Robotic Systems
The derivative of πΉπ,π½
•
πΉπ,π½ is the matrix describing a rotation of an angle π about the unit vector
π = [ππ₯ ππ¦ ππ§]π (cf. axis/angle representation in Lecture 1)
•
Its derivative w.r.t to π is given by
18
4DC00 Dynamics and Control of Robotic Systems
Angular velocity: General case
•
Let π
(π‘) in ππ(3) be a time-dependent rotation matrix
•
Then
where π(π‘) is the angular velocity of the rotating frame with respect to the fixed frame,
expressed w.r.t. the fixed frame, at time π‘.
19
4DC00 Dynamics and Control of Robotic Systems
/ Dynamics and Control
Proof that π is indeed the angular velocity
• If the point π is rigidly attached to the moving frame, then
• Differentiating w.r.t time t, we obtain (recall, p1 is constant)
20
4DC00 Dynamics and Control of Robotic Systems
The notation for the (spatial) angular velocity
•
0
The angular velocity π is more precisely written as π0,1
to indicate that it is
the angular velocity of frame 1 with respect to frame 0,
expressed in the coordinates of frame 0
•
The fundamental formula to remember is
21
4DC00 Dynamics and Control of Robotic Systems
The notation for the (body) angular velocity
•
BE AWARE that we could have done everything in body-fixed coordinates, and obtained the
angular velocity of frame 1 wrt frame 0 expressed w.r.t. frame 1, written as
•
Using the properties of the skew-symmetric mapping π, one can shows that
with
22
4DC00 Dynamics and Control of Robotic Systems
Addition of angular velocities (1/3)
•
Let π0π₯0π¦0π§0, π1π₯1π¦1π§1, and π2π₯2π¦2π§2 be 3 frames such that
a) π0π₯0π¦0π§0 is fixed
b) all 3 frames share a common origin
c) π
10 (π‘) and π
21 (π‘) represent time-varying relative orientations of the frames π1π₯1π¦1π§1
and π2π₯2π¦2π§2
•
π
Let ππ,π
denote the angular velocity of frame π w.r.t. frame π , expressed in the
coordinates of the frame π
23
4DC00 Dynamics and Control of Robotic Systems
Addition of angular velocities (2/3)
24
4DC00 Dynamics and Control of Robotic Systems
Addition of angular velocities (3/3)
• For an arbitrary number of coordinate systems
the angular velocity satisfies
25
4DC00 Dynamics and Control of Robotic Systems
Linear velocity of a point attached to a moving frame
•
Consider the following rigid motion describing how π1π₯1π¦1π§1 moves relative to π0π₯0π¦0π§0 as a
function of time π‘
•
Assuming the point p is fixed relative to π1π₯1π¦1π§1 , we get
26
4DC00 Dynamics and Control of Robotic Systems
Linear velocity of a point
attached to a moving frame
Assuming the point π is fixed relative to π1π₯1π¦1π§1 , we get
where
is the vector from π1 to π expressed in frame 0
and
is the velocity of o1 seen from frame 0
and expressed in frame 0
27
4DC00 Dynamics and Control of Robotic Systems
Total linear velocity of a point on the top, also considering sliding
π
πtotal = π × π + π
π
π
28
4DC00 Dynamics and Control of Robotic Systems
π × π
The Geometric Jacobian
of a Robot Manipulator
29
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian
We have the forward kinematics (FK) of a robot manipulator,
Then how are joint velocities mapped into the linear and angular velocities of the end effector?
We solve this by means of the geometric Jacobian. Loosely speaking, the Jacobian is “partial
derivative of the forward kinematics with respect to the joint displacements”, that is
30
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian
Geometric Jacobian : partial derivative of the forward kinematics with respect to the joint
displacements
6 dimensional
velocity (Twist)
31
4DC00 Dynamics and Control of Robotic Systems
6 × π configuration-dependent
matrix (Geometric Jacobian)
Geometric Jacobian: Definition (1/4)
Recall that
means
Let us compute the time derivative of this rigid transformation, to understand where π½ π
originates from.
32
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (2/4)
From calculus, we get
33
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (2/4)
From calculus, we get
34
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (2/4)
From calculus, we get
Only 3 independent quantities …
… despites, π
π0 has 9 elements: SO(3) is a three-dimensional manifold!
35
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (2/4)
From calculus, we get
(The angular part of) the Jacobian π½π is not a standard partial derivative!
36
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (3/4)
Multiplying both sides of second equation on the right by π
π0 transpose, we obtain
37
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (3/4)
Equivalently, we write
38
4DC00 Dynamics and Control of Robotic Systems
Geometric Jacobian: Definition (4/4)
Summarizing,
where
39
4DC00 Dynamics and Control of Robotic Systems
The Geometric Jacobian
of a Robot Manipulator
using DH convention (!)
40
4DC00 Dynamics and Control of Robotic Systems
Manipulator Jacobian (1/4)
•Let denote the end-effector velocity as
•The (geometric) Jacobian
is the π × π configuration-depended matrix that satisfies the identity
41
4DC00 Dynamics and Control of Robotic Systems
Manipulator Jacobian with DH convention (!)
For a robot with revolute and prismatic joints for which coordinate frames are assigned with the
DH convention, the manipulator Jacobian
is given by
42
4DC00 Dynamics and Control of Robotic Systems
Manipulator Jacobian (4/4)
•The RRR example
-q3
o3 z3
o2
z2
o1
q2
z1
z0
o0
43
q1
4DC00 Dynamics and Control of Robotic Systems
Manipulator Jacobian (4/4)
•The RRR example
-q3
o2
z2
o1
q2
z1
z0
o0
44
q1
4DC00 Dynamics and Control of Robotic Systems
o3 z
3
Manipulator Jacobian (4/4)
•The RRR example
-q3
o2
z2
o1
q2
z1
z0
o0
45
q1
4DC00 Dynamics and Control of Robotic Systems
o3 z
3
Essentially, nothing else than
Manipulator Jacobian (3/4)
• For determining the Jacobian π½ using DH convention (!), we need to determine πππ and πππ .
• πππ consists of the first three elements
of the 3rd column of matrix π»ππ
• πππ consists of the first three elements
of the 4th column of the same matrix
• Remark: it is immediate to compute geometric manipulator Jacobian once the forward
kinematics is worked out with with DH convention. This is one of the benefits of the DH
convention, in comparison to arbitrarily assigning link frames
46
4DC00 Dynamics and Control of Robotic Systems
Take home message
•
Velocity kinematics relates the joint velocities to end-effector’s linear and angular velocities
•
3x3 skew-symmetric matrices are key in studying rigid-body angular velocity
•
Deriving the manipulator Jacobian J(q) is immediate (=no extra computations),
if the forward kinematics has already been solved using DH convention
47
4DC00 Dynamics and Control of Robotic Systems