Professional Documents
Culture Documents
5.trajectory and Dinamics
5.trajectory and Dinamics
R O B OT I C S
(OEC-EE 703)
NIRMAL MURMU
D E PA RT M E N T O F A P P L I E D P H Y S IC S
U N I V E R S I TY O F C A LC U T TA
Department of Applied Physics, University of Calcutta
SYLLABUS
• Module 1: Basics of Robotics ( 10 Hours)
• Introduction, components and structure of robotics system.
INTRODUCTION TO ROBOTICS
• Industrial Manipulator
• Robot arm kinematics and dynamics
• Planning of manipulator trajectory
• Elementary steps for robot arm design
• Control of robot arm
• Force and Impedance Control
• Mobile Robot: Wheeled and legged robots, trajectory planning,
locomotion, SLAM.
V E L O C I T I E S A N D S TAT I C
FORCE
D I F F E R E N T I AT I O N O F P O S I T I O N
VECTORS
• Derivative of a vector:
𝐵 𝐵
𝐵 𝑑 𝐵 𝑄(𝑡 + Δ𝑡) − 𝑄(𝑡)
𝑉𝑄 = 𝑄 = lim
𝑑𝑡 Δ𝑡→0 Δ𝑡
D I F F E R E N T I AT I O N O F P O S I T I O N
VECTORS
• A velocity vector may be described in terms of any frame:
A
( V ) = dt
A B
Q
dB
Q
( V )=
• We may write it: A B A
Q B R BVQ .
• Speed vector is a free vector
• Special case: Velocity of the origin of a frame relative to some
understood universe reference frame
U
=
V C V CORG
ODD SEMESTER, 2023
Department of Applied Physics, University of Calcutta
EXAMPLE 5.1
• Both vehicles are heeding in 𝑋 direction of 𝑈
100 mph
A fixed universal frame
30 mph
U
dU
PCORG =U VCORG = vC = 30 Xˆ .
dt
( VTORG )=C vT =UC RvT =UC R (100 Xˆ )=CU R −1100 Xˆ .
C U
C T
( VCORG )=TC RT VCORG =UC RUT RT VCORG =−CU R −1UT R 70 Xˆ .
C
= U
C
If rotation 𝐵𝐴𝑅 𝐴
𝑉𝑄 = 𝐴𝑉𝐵𝑂𝑅𝐺 + 𝐵𝐴𝑅 𝐵𝑉𝑄 .
is not changing with time:
ODD SEMESTER, 2023
Department of Applied Physics, University of Calcutta
R O TAT I O N A L V E L O C I T Y O F A
RIGID BODY
• Two frames with coincident
{A}
origins
A
B {B}
B
Q
• The orientation of 𝐵 with
respect to 𝐴 is changing in
time.
• Lets consider that vector 𝑄 is
constant as viewed from B.
𝐵
𝑉𝑄 = 0
R O TAT I O N A L V E L O C I T Y O F A
RIGID BODY
• Δ𝑄 is perpendicular to AΩ𝐵 and A𝑄
• Magnitude of differential change is:
Δ𝑄 = (|A𝑄| sin 𝜃)(|AΩ𝐵 |Δ𝑡)
𝐴
𝑉𝑄 = AΩ𝐵 × A𝑄
Vector cross product
R O TAT I O N A L V E L O C I T Y O F A
RIGID BODY
S I M U LTA N E O U S L I N E A R A N D
R O TAT I O N A L V E L O C I T Y
𝐴
𝑉𝑄 = 𝐴𝑉𝐵𝑂𝑅𝐺 + 𝐵𝐴𝑅 𝐵𝑉𝑄 + 𝐴Ω𝐵 × 𝐵𝐴𝑅 𝐵𝑄.
Written in frame i
At any instant, each link of a robot in motion has some linear and
angular velocity.
ODD SEMESTER, 2023
Department of Applied Physics, University of Calcutta
VELOCITY OF A LINK
• Remember that linear velocity is associated with a
point and angular velocity is associated with a body.
Thus:
• The velocity of a link means the linear velocity of the
origin of the link frame and the rotational velocity of
the link
V E LO C I T Y P R O PA G AT I O N F R O M
LINK TO LINK
• We can compute the velocities of each link in order
starting from the base.
• The velocity of link i+1 will be that of link i, plus
whatever new velocity component added by joint i+1.
R OTAT I O N A L V E LO C I T Y
• Rotational velocities may be added when both w
vectors are written with respect to the same frame.
• Therefore the angular velocity of link i+1 is the same
as that of link i plus a new component caused by
rotational velocity at joint i+1.
VELOCITY VECTORS OF
NEIGHBORING LINKS
𝑖 +
𝜔𝑖+1 = 𝑖𝜔𝑖 + 𝑖+1𝑖𝑅𝜃ሶ 𝑖+1 𝑖 1𝑍መ𝑖+1 .
V E L O C I T Y P R O PA G AT I O N F R O M L I N K
TO LINK
i +1
• Note that: 0
• i +1
i +1 Z i +1 = 0
•
i +1
• By pre-multiplying both sides of previous equation to: 𝑖+1𝑖 𝑅
+1
• 𝑖+1𝑖𝑅 𝑖𝜔𝑖+1 = 𝑖+1
𝑖 𝑅 𝑖
𝜔𝑖 + 𝑖+1 𝑖 ሶ
𝑖 𝑅 𝑖+1𝑅 𝜃𝑖+1
𝑖 𝑍መ𝑖+1 .
𝑖+1 𝑖 +1
𝜔𝑖+1 = 𝑖+1
𝑖 𝑅 𝜔𝑖 ሶ
+ 𝜃𝑖+1 𝑖 𝑍መ𝑖+1 .
LINEAR VELOCITY
• The linear velocity of the origin of frame {𝑖 + 1}
is the same as that of the origin of frame
{𝑖} plus a new component caused by rotational
velocity of link 𝑖.
LINEAR VELOCITY
• Simultaneous linear and rotational velocity:
𝐴
𝑉𝑄 = 𝐴𝑉𝐵𝑂𝑅𝐺 + 𝐵𝐴𝑅 𝐵𝑉𝑄 + 𝐴Ω𝐵 × 𝐵𝐴𝑅 𝐵𝑄.
𝑖
𝑣𝑖+1 = 𝑖𝑣𝑖 + 𝑖𝜔𝑖 × 𝑖𝑃𝑖+1 .
• By pre-multiplying both sides of previous equation to: 𝑖+1𝑖𝑅
𝑖+1 𝑖 𝑖+1 𝑖 𝑖 𝑖
𝑖 𝑅 𝑣𝑖+1 = 𝑖 𝑅( 𝑣𝑖 + 𝜔𝑖 × 𝑃𝑖+1 )
𝑖+1
𝑣𝑖+1 = 𝑖+1𝑖𝑅( 𝑖𝑣𝑖 + 𝑖𝜔𝑖 × 𝑖𝑃𝑖+1 )
P R I S M AT I C J O I N T S L I N K
• For the case that joint 𝑖 + 1 is prismatic:
𝑖+1 𝑖+1 𝑖
𝜔𝑖+1 = 𝑖 𝑅 𝜔𝑖
𝑖+1 𝑖 𝑖 𝑖 +1
𝑣𝑖+1 = 𝑖+1
𝑖 𝑅( 𝑣𝑖 ሶ
+ 𝜔𝑖 × 𝑃𝑖+1 ) + 𝑑𝑖+1 𝑖 𝑍መ𝑖+1
V E LO C I T Y P R O PA G AT I O N F R O M
LINK TO LINK
• Applying those previous equations
successfully from link to link, we can compute
the rotational and linear velocities of the last
link.
EXAMPLE
• Calculate the velocity of the tip of the arm as a
function of joint rates?
EXAMPLE
• Frame assignments for the two link manipulator
EXAMPLE
• We compute link transformations:
𝑐1 −𝑠1 0 0 𝑐2 −𝑠2 0 𝑙1 1 0 0 𝑙2
0 𝑠1 𝑐1 0 0 1 𝑠2 𝑐2 0 0 2 0 1 0 0
1 𝑇 = , 2𝑇 = , 3𝑇 = .
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
𝑖 𝑖 +1
𝑖
𝜔𝑖+1 = 𝜔𝑖 + 𝑖+1𝑅𝜃𝑖+1 ሶ 𝑖 𝑍መ𝑖+1
𝑖+1
𝑣𝑖+1 = 𝑖+1𝑖𝑅( 𝑖𝑣𝑖 + 𝑖𝜔𝑖 × 𝑖𝑃𝑖+1 )
EXAMPLE
• Link to link transformation
0 0
1 1
𝜔1 = 0 , 𝑣1 = 0 ,
𝜃ሶ1 0
0 𝑐2 𝑠2 0 0 𝑙1 𝑠2 𝜃ሶ1
2 2
𝜔2 = 0 , 𝑣2 = −𝑠2 𝑐2 0 𝑙1 𝜃ሶ1 = 𝑙1 𝑐2 𝜃ሶ1 ,
𝜃ሶ1 + 𝜃ሶ2 0 0 1 0 0
𝑙1 𝑠2 𝜃ሶ1
3 2 3 𝑙1 𝑠2 0 𝜃ሶ1
𝜔3 = 𝜔2 , 𝑣3 = 𝑙1 𝑐2 𝜃ሶ1 + 𝑙2 (𝜃ሶ1 + 𝜃ሶ2 ) = .
𝑙1 𝑐2 + 𝑙2 𝑙2 𝜃ሶ2
0
EXAMPLE
• Velocities with respect to non moving base
𝑐12 −𝑠12 0
0
3𝑅 = 01𝑅 1
2𝑅
2 =
3𝑅 𝑠12 𝑐12 0 .
0 0 1
−𝑙1 𝑠1 𝜃ሶ1 − 𝑙2 𝑠12 (𝜃ሶ1 + 𝜃ሶ 2 )
0
𝑣3 = 03𝑅 3𝑣3 = 𝑙1 𝑐1 𝜃ሶ1 + 𝑙2 𝑐12 (𝜃ሶ1 + 𝜃ሶ 2 )
0
−𝑙1 𝑠1 − 𝑙2 𝑠12 −𝑙2 𝑠12 𝜃ሶ1
=
𝑙1 𝑐1 + 𝑙2 𝑐12 𝑙2 𝑐12 𝜃ሶ2
D E R I VAT I V E O F A V E C TO R
FUNCTION
• If we have a vector function r which represents a
particle’s position as a function of time 𝑡:
𝐫 = 𝑟𝑥 𝑟𝑦 𝑟𝑧
V E C TO R D E R I VAT I V E S
• We’ve seen how to take a derivative of a vector vs. A
scalar
• What about the derivative of a vector vs. A vector?
JACOBIAN
• A Jacobian is a vector derivative with respect to
another vector
• If we have 𝑓(𝑥), the Jacobian is a matrix of partial
derivatives- one partial derivative for each
combination of components of the vectors
• The Jacobian is usually written as 𝐽(𝑓, 𝑥), but you can
really just think of it as 𝑑𝑓/𝑑𝑥
JACOBIAN
PA R T I A L D E R I VAT I V E S
• The use of the 𝜕 symbol instead of 𝑑 for partial
derivatives just implies that it is a single
component in a vector derivative.
JACOBIAN
𝑦1 = 𝑓1 (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 ),
𝑦2 = 𝑓2 (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 ),
⋮
𝑦6 = 𝑓6 (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 ), 𝑌 = 𝐹(𝑋).
𝜕𝑓1 𝜕𝑓1 𝜕𝑓1
𝛿𝑦1 = 𝛿𝑥1 + 𝛿𝑥2 + ⋯ + 𝛿𝑥 ,
𝜕𝑥1 𝜕𝑥2 𝜕𝑥6 6
𝜕𝑓2 𝜕𝑓2 𝜕𝑓2
𝛿𝑦2 = 𝛿𝑥 + 𝛿𝑥 + ⋯ + 𝛿𝑥 ,
𝜕𝑥1 1 𝜕𝑥2 2 𝜕𝑥6 6 𝑱(𝑿)
⋮
Chain rule
𝜕𝑓6 𝜕𝑓6 𝜕𝑓6 𝜕𝐹
𝛿𝑦6 = 𝛿𝑥 + 𝛿𝑥 + ⋯ + 𝛿𝑥 , 𝛿𝑌 = 𝛿𝑋
𝜕𝑥1 1 𝜕𝑥2 2 𝜕𝑥6 6 𝜕𝑋
JACOBIAN
• In the field of robotics, we generally speak of
Jacobians which relate joint velocities to Cartesian
velocities of the tip of the arm.
Y = J ( X ) X .
0
v 0 .
0
V = 0 = J ()
ODD SEMESTER, 2023
Department of Applied Physics, University of Calcutta
JACOBIAN
For a 6 joint robot the Jacobian is 6x6, 𝜃ሶ is a 6x1 and
𝑣 is 6x1.
The number of rows in Jacobian is equal to number of
degrees of freedom in Cartesian space and the
number of columns is equal to the number of joints.
0 0
V = J ()
JACOBIAN
• In the example we had:
JACOBIAN
• Jacobian might be found by directly differentiating the
kinematic equations of the mechanism for linear
velocity, however there is no 3x1 orientation vector
whose derivative is rotational velocity. Thus we get
Jacobian using successive application of:
𝑖+1 𝑖+1 𝑖 𝑖 𝑖
𝑣𝑖+1 = 𝑖 𝑅( 𝑣𝑖 + 𝜔 𝑖 × 𝑃𝑖+1 )
𝑖+1 𝑖+1 𝑖 +1
𝜔𝑖+1 = 𝑖𝑅 𝜔𝑖 + 𝜃𝑖+1 ሶ 𝑖 𝑍መ𝑖+1
SINGULARITIES
• Given a transformation relating joint velocity to
Cartesian velocity then
• Is this matrix invertible? ( Is it non singular)
0
V = 0 J ( )
•
−1
= J ( )v
det[ 𝐽] = 0: s𝑖𝑛𝑔𝑢𝑙𝑎𝑟𝑖𝑡𝑦
det[ 𝐽] ≠ 0: 𝑛𝑜𝑛 − sin𝑔𝑢𝑙𝑎𝑟𝑖𝑡𝑦
SINGULARITIES
• Singularities are categorized into two class:
• Workspace boundary singularities:
• Occur when the manipulator is fully starched or folded back on
itself.
• Workspace interior singularities:
• Are away from workspace boundary and are caused by two or
more joint axes lining up.
• All manipulators have singularity at boundaries of their
workspace. In a singular configuration one or more degree of
freedom is lost. ( movement is impossible )
EXAMPLE
• Find the singularities
EXAMPLE
• Find the singularities
𝜃2 = 0 or 180
S TAT I C F O R C E S I N
M A N I P U L ATO R S
• Force and moments
propagation
• To solve for joint torques
in static equilibrium
S TAT I C F O R C E S I N
M A N I P U L AT O R S
• Solve for the joint torques
which must be acting to keep
the system in static equilibrium.
• Summing the force and setting
them equal to zero
𝑖
𝑓𝑖 − 𝑖𝑓𝑖+1 = 0
• Summing the torques about
the origin of frame 𝑖
𝑖
𝑛𝑖 − 𝑖𝑛𝑖+1 − 𝑖𝑃𝑖+1 × 𝑖𝑓𝑖+1 = 0
S TAT I C F O R C E S I N
M A N I P U L ATO R S
• Working down from last link to the base we formulate the force moment
expressions
• Static force propagation from link to link:
𝑖
𝑓𝑖 = 𝑖𝑓𝑖+1 ,
𝑖
𝑛𝑖 = 𝑖𝑛𝑖+1 + 𝑖𝑃𝑖+1 × 𝑖𝑓𝑖+1 .
𝑖
𝑓𝑖 = 𝑖+1𝑖𝑅 𝑖+1𝑓𝑖+1 ,
𝑖
𝑛𝑖 = 𝑖+1𝑖𝑅 𝑖+1𝑛𝑖+1 + 𝑖𝑃𝑖+1 × 𝑖𝑓𝑖 .
• What torques are needed at the joint to balance reaction forces and moments
acting on the links? 𝜏 = 𝑖𝑛𝑇
𝑖
𝑖
𝑖𝑍.𝑖
𝑖 𝑇
𝜏𝑖 = 𝑓𝑖 𝑖𝑍𝑖 .
EXAMPLE
• The two-link manipulator is applying a force vector
3
𝐹 with its end-effector. Find the required
joint torques as a function of configuration and of the
applied force.
EXAMPLE
• Starting from the last link and going toward the base
of the robot:
WO R K- E N E R GY P R I N C I P L E
• The change in the kinetic energy of an object is equal
to the net work done on the object.
• Principle of virtual work allows us to make certain
statements about the static case by allowing the
amount of this displacement to go to an infinitesimal
CA RT E S I A N T R A N S F O R M AT I O N O F
V E LO C I T I E S A N D STAT I C F O R C E S
General velocity of a body
𝑣 3 x1 linear velocity
V= 3 x1 angular velocity
ω
𝐹 3 x1 force vector
F=
𝑁 3 x1 moment vector
CA RT E S I A N T R A N S F O R M AT I O N O F
V E LO C I T I E S A N D STAT I C F O R C E S
• Velocity Propagation From Link to Link
𝑖+1 𝑖+1 𝑖 +
𝜔𝑖+1 = 𝑖 𝑅 𝜔𝑖 + 𝜃ሶ𝑖+1 𝑖 1𝑍መ𝑖+1 .
•
Since two frames are rigidly connected 𝜃𝑖+1 = 0
𝐵 𝐴
𝑣𝐵 𝐵
𝐴𝑅
− 𝐵𝐴𝑅 𝐴𝑃𝐵𝑂𝑅𝐺 × 𝑣𝐴
𝐵 = ቈ 𝐵
𝐴
𝑤𝐵 0 𝐴 𝑅 𝑤𝐴
C A R T E S I A N T R A N S F O R M AT I O N O F
V E LO C I T I E S A N D STAT I C F O R C E S
We use the term velocity transformation
𝐵
𝑣𝐵 = 𝐵𝐴𝑇𝑣 𝐴𝑣𝐴 Velocity
transformation
𝐵 𝐴
𝑣𝐵 𝐵
𝐴𝑅 − 𝐵𝐴𝑅 𝐴𝑃𝐵𝑂𝑅𝐺 × 𝑣𝐴
𝐵 = 𝐵 𝐴
𝜔𝐵 0 𝐴𝑅 𝜔𝐴
CA RT E S I A N T R A N S F O R M AT I O N O F
V E LO C I T I E S A N D STAT I C F O R C E S
A force-moment transformation
𝐴 𝐴 𝐵
𝐹𝐴 𝐵𝑅 0 𝐹𝐵
=𝐴 𝐴 ൨
𝐵𝑅
𝐴 𝐵
𝑁𝐴 𝑃𝐵𝑂𝑅𝐺 × 𝐵𝐴𝑅 𝑁𝐵
𝐴 Force-moment
𝐹𝐴 = 𝐵𝐴𝑇𝑓 𝐵𝐹𝐵
transformation
EXAMPLE
Frames of interest with a force sensor
T
FT =TST f S FS ,
T
SR 0
T
Tf = T T
.
S T
SORG S R
P S R
INTRODUCTION
• Robot arm dynamics deals with the mathematical formulations of the
equations of robot arm motion.
• They are useful as:
• An insight into the structure of the robot system.
• A basis for model based control systems.
• A basis for computer simulations.
E Q UAT I O N S O F M OT I O N
• The way in which the motion of the manipulator arises
from torques applied by the actuators, or from
external forces applied to the manipulator.
A C C E L E R AT I O N O F A R I G I D B O DY
• Liner acceleration is computed as,
L I N E A R A C C E L E R AT I O N
• From the equation of velocity computation, can write when the origin of two frames are
coincident
A N G U L A R A C C E L E R AT I O N
• {B} is rotating relative to {A} with 𝐴Ω𝐵 and {C} is rotating relative to {B} with 𝐵Ω𝐶
• Rewriting,
MASS DISTRIBUTION
• In rotational system, moment of inertia is the subject of interest
compare to mass of rigid body in single degree of freedom
• Inertia tensor, can be used to describe mass distribution for 3
DOF rotation of rigid body
• Describe w.r.t. any reference frame, frame attached to the
body may use
• When the product of inertia are zero, the axes of reference
frame are called the principal axes
• And the corresponding mass moments are the principal
moments of inertia.
Inertia tensor
relative to frame {A}
Z
b/2
Y
-b/2
-a/2 a/2
X
TWO APPROACHES
• Energy based: Lagrange-Euler.
• Simple and symmetric.
• Momentum/force approach: Newton-Euler.
• Efficient, derivation is simple but messy, involves vector cross
product. Allow real time control.
NEWTON-EULER ALGORITHM
• Newton-Euler formulations makes two passes over the links of
manipulator
Velocities,
Accelerations
Forces, moments
Gravity
NEWTON-EULER ALGORITHM
• Forward computation
• First compute the angular velocity, angular acceleration, linear
velocity, linear acceleration of each link in terms of its
preceding link.
• These values can be computed in recursive manner, starting
from the first moving link and ending at the end-effector link.
• The initial conditions for the base link will make the initial
velocity and acceleration values to zero.
NEWTON-EULER ALGORITHM
• Backward computation
• Once the velocities and accelerations of the links are found,
the joint forces can be computed one link at a time starting
from the end-effector link and ending at the base link.
N E W TO N ’ S E Q UAT I O N
𝐹 = 𝑚𝑣ሶ 𝐶
E U L E R ’ S E Q U AT I O N
𝑁 = 𝐶 𝐼 𝜔ሶ + 𝜔 × 𝐶 𝐼𝜔
I T E R AT I V E N E W TO N - E U L E R
DY N A M I C F O R M U L AT I O N
• Outward iterations to compute velocities and accelerations
• The force and torque acting on a link
• Inward iterations to compute forces and torques
𝑖
𝐹𝑖 = 𝑖𝑓𝑖 − 𝑖+1𝑖𝑅 𝑖+1𝑓𝑖+1
𝑖
𝑁𝑖 = 𝑖𝑛𝑖 − 𝑖𝑛𝑖+1 + (− 𝑖𝑃𝐶𝑖 ) × 𝑖𝑓𝑖 − ( 𝑖𝑃𝑖+1 − 𝑖𝑃𝐶𝑖 ) × 𝑖𝑓𝑖+1
FORCE BALANCE
Using result of force and torque balance:
𝑖
𝑁𝑖 = 𝑖𝑛𝑖 − 𝑖+1𝑖𝑅 𝑖+1𝑛𝑖+1 − 𝑖𝑃𝐶𝑖 × 𝑖𝐹𝑖 − 𝑖𝑃𝑖+1 × 𝑖+1𝑖𝑅 𝑖+1𝑓𝑖+1
In iterative form:
𝑖
𝑓𝑖 = 𝑖𝐹𝑖 + 𝑖+1𝑖𝑅 𝑖+1𝑓𝑖+1
𝑖
𝑛𝑖 = 𝑖𝑁𝑖 + 𝑖+1𝑖𝑅 𝑖+1𝑛𝑖+1 + 𝑖𝑃𝐶𝑖 × 𝑖𝐹𝑖 + 𝑖𝑃𝑖+1 × 𝑖+1𝑖𝑅 𝑖+1𝑓𝑖+1
T H E I T E R AT I V E N E W TO N - E U L E R
DYNAMICS ALGORITHM
1st step:
Link velocities and accelerations are iteratively computed from link 1 out to
link n and the Newton-Euler equations are applied to each link.
T H E I T E R AT I V E N E W TO N - E U L E R
DYNAMICS ALGORITHM
2nd step:
Forces and torques of iteration and joint actuator torques are computed
recursively from link n back to link 1.
CORIOLIS FORCE
• A fictitious force exerted on a body when it moves in a rotating
reference frame.
𝐹𝐶𝑜𝑟𝑖𝑜𝑙𝑖𝑠 = 2𝑚(𝑣 × Ω)
L AG R A N G I A N F O R M U L AT I O N O F
M A N I P U L ATO R DY N A M I C S
• An energy-based approach (N-E: a force balance approach)
• N-E and Lagrangian formulation will give the same equations of
motion.
1 𝑇
1 𝑖 𝑇 𝐶𝑖 𝑖
𝑘𝑖 = 𝑚𝑖 𝑣𝐶𝑖 𝑣𝐶𝑖 + 𝜔𝑖 𝐼𝑖 𝜔𝑖 ,
2𝑛 2
Total kinetic energy of a manipulator
𝑘 = 𝑘𝑖 .
𝑖=1
LAGRANGIAN
• Is the difference between the kineticand potential
energy of a mechanical system
ሶ = 𝑘(Θ, Θ)
L(Θ, Θ) ሶ − 𝑢(Θ).
T H E E Q U AT I O N S O F M O T I O N F O R
T H E M A N I P U L AT O R
𝑑 𝜕L 𝜕L
− =𝜏
ሶ
𝑑𝑡 𝜕Θ 𝜕Θ
𝑑 𝜕𝑘 𝜕𝑘 𝜕𝑢
− + =𝜏
ሶ
𝑑𝑡 𝜕Θ 𝜕Θ 𝜕Θ
𝑛 × 1 vector of actuator torque
M A N I P U L AT O R D Y N A M I C S I N
C A R T E S I A N S PA C E
𝜏 = 𝑀(Θ)Θሷ + 𝑉(Θ, Θ) ሶ + 𝐺(Θ) Joint space formulation
ሶ + 𝐺𝑥 (Θ)
F = 𝑀𝑥 (Θ)Xሷ + 𝑉𝑥 (Θ, Θ) Cartesian space formulation
ሶ ሶ + 𝐽−𝑇 𝑉(Θ, Θ)
F = 𝐽−𝑇 𝑀(Θ)𝐽−1 Xሷ − 𝐽−𝑇 𝑀(Θ)𝐽−1 𝐽Θ ሶ + 𝐽−𝑇 𝐺(Θ).
T R A J E C TO R Y G E N E R AT I O N
Introduction
How to compute a trajectory in multidimensional space
which describes the desired motion of a manipulator?
TRAJECTORY
• A time history of position, velocity, and
acceleration for each DOF.
• The system (not the user) will decide the exact
shape of the path to get to the goal, the
duration, the velocity profile, and other details.
• A sequence of desired via points (frames
which specify position and orientation of tool)
can be given.
• Path points include all the via points plus the
initial and final points.
G E N E R A L C O N S I D E R AT I O N S
• Each path point is specified in terms of a desired position and
orientation of {T} relative to {S}.
• Each of these points is converted into a set of desired joint
angles. (Inverse kinematics).
• A smooth function is found for each of the n joints which pass
through the via points and end at the goal point.
• The time required for each segment is the same for each joint.
J O I N T S PAC E S C H E M E
• The path is specified in the joint space. Easy to
compute. No problems with singularities.
• Each path point is usually specified in terms of
desired position and orientation of tool frame
{T}.
• Each of these via points is converted into a set
of desired joint angles by inverse kinematics.
Then a smooth function is fond so that all
joints will reach the via point at the same time.
S E V E R A L P O S S I B L E PAT H
SHAPES FOR A SINGLE
JOINT
Goal
position
Initial
position
C U B I C P O LY N O M I A L S
4 constraints on 𝜃 𝑡
𝜃 0 = 𝜃0 , 𝜃 𝑡𝑓 = 𝜃𝑓 , : initial and final values
ሶ
𝜃(0) ሶ 𝑓 ) = 0.
= 0, 𝜃(𝑡 : the function is continuous
in velocity
These 4 constraints can be satisfied by a polynomial
of at least third degree.
𝜃(𝑡) = 𝑎0 + 𝑎1 𝑡 + 𝑎2 𝑡 2 + 𝑎3 𝑡 3
ሶ
𝜃(𝑡) = 𝑎1 + 2𝑎2 𝑡 + 3𝑎3 𝑡 2
C U B I C P O LY N O M I A L S
𝜃0 = 𝑎0 , : combining with constraints
2 3
𝜃𝑓 = 𝑎0 + 𝑎1 𝑡𝑓 + 𝑎2 𝑡𝑓 + 𝑎3 𝑡𝑓 ,
0 = 𝑎1 ,
0 = 𝑎1 + 2𝑎2 𝑡𝑓 + 3𝑎3 𝑡𝑓2 .
𝑎0 = 𝜃0 ,
𝑎1 = 0,
3 The cubic polynomial that
𝑎2 = 2 (𝜃𝑓 − 𝜃0 ),
𝑡𝑓 connects any initial joint angle
2 position with any desired final
𝑎3 = − 3 (𝜃𝑓 − 𝜃0 ). position when the joint starts and
𝑡𝑓
finishes at zero velocity.
EXAMPLE 7.1
• A single-link robot with a rotary joint:
Move the joint in a smooth manner from 𝜃
= 15 to 𝜃 = 75 in 3 seconds
a0 = 15.0
a 1
= 0 .0
a 2
= 20.0
a 3
= −4.44
•
(t ) = 40.0t − 13.33 t
2
••
(t ) = 40.0 − 26.66t
C U B I C P O LY N O M I A L S F O R A PAT H
WITH VIA POINTS
• Each via point is specified in terms of a desired position and
orientation of {T} relative to {S}.
• Each of these via points is converted into a set of desired joint
angles. (Inv. Kinematics).
• Consider the problem of computing cubics which connect the
via point values for each joint together in a smooth way.
ሶ
𝜃(0) = 𝜃ሶ0 , 𝜃(𝑡
ሶ 𝑓 ) = 𝜃𝑓ሶ . : some known velocity
at the via points
𝜃0 = 𝑎0 ,
𝜃𝑓 = 𝑎0 + 𝑎1 𝑡𝑓 + 𝑎2 𝑡𝑓2 + 𝑎3 𝑡𝑓3 , : the four equations
describing general cubic
𝜃ሶ0 = 𝑎1 ,
𝜃𝑓ሶ = 𝑎1 + 2𝑎2 𝑡𝑓 + 3𝑎3 𝑡𝑓2 .
C U B I C P O LY N O M I A L S F O R A PAT H
WITH VIA POINTS
A SIMPLE HEURISTIC