Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Determine the joint torques needed to support a load of

1 N, acting along positive yA axis, at the tip of this


manipulator when !" = 30& and '" = 1. Assume *" = 1.

yB

yA d

q1
a1 xA
L1
Dynamics: Euler-Lagrange Equations

One DOF system Single link robot arm


Example: One-DOF system

• ( is the external force


• !* is the force acting on the
particle due to gravity

Equation of motion as per Newton’s second law

! #̈ = Σ&' = ( − !*
Example: One-DOF system
The equation of motion of the particle
! #̈ = Σ&' = ( − !*
can be rewritten in a different way!

+ +# + . 1 3 + .5
!#̈ = ! = (! [ #̇ ] =
+, +, +, .#̇ 2 +, .#̇
. .
!* = !*# = 6
.# .#
7
with 5 = 3 !#̇ 3 and 6 = !*# as the kinetic and potential energy.

Newton’s second law can be rewritten as


8 : :
̇
ℒ − ℒ = ( with the Lagrangian, ℒ #, #̇ = 5 − 6.
89 :; :;
Example: Single-link Arm
A rigid link ((* ) coupled to a
DC motor ((& ), through a
gear box.

(& = +(*

# # #
• Kinetic energy: ! = %& (̇&
$
+ %* (̇*$ = + $ %& + %& (̇*$
$ $ $
• Potential energy: , = -./(1 − cos (* )
• The Lagrangian is ℒ = ! − ,, and the equation of motion is
8 : :
ℒ − ℒ = + $ %& + %* (̈ + -./ sin (* = +>
89 :(̇ :(
Holonomic constraints
• Unconstrained system of !
particles
• Degrees of freedom are 3!
• The number of DoFs is less if the
system is constrained.

A constrained imposed on ! particles (with coordinates #$ , #& , … , #( ∈ * + ) is


called holonomic, if it is an equality constraint of the form
,- #$ , #& , … , #( = 0 0 = 0, 1, 2, … , 3
and non-holonomic otherwise.
Presence of constraint implies presence of a constraint force, that forces this
constraint to hold.
Holonomic constraints
Example: Two particles joined by a massless rigid wire of length !.
%
"# , "% ∈ ' : "# − "% = "# − "% , "# − "% = ! %
(

In general,
-. "# , "% , … , "0 = 0 2 = 0, 1, 2, … , !
Differentiating,
5 7-. 5"# 7-. 5"% 7-. 5"0
-. "# , "% , … , "0 = + + ⋯+ =0
56 7"# 56 7"% 56 7"0 56
or,
7-. 7-. 7-.
5"# + 5"% + ⋯ + 5"0 = 0
7"# 7"% 7"0
Generalized coordinates
If the system is subject to holonomic constraints then

• If a system consists of ! particles, it may be possible to express their coordinates as a


functions of fewer than 3! variables

#$ = #$ &$, … , &) , #* = #* &$, … , &) , … , #+ = #+ &$, … , &)

• The smallest set of variables is called generalized coordinates

• The smallest number , is called the number of degrees of freedom

• If the system consists of an infinite number of particles, it might have finite number of
degrees of freedom
Virtual displacements

Given a set of ! particles and a holonomic constraints

"# $% , … , $( = 0, + = 1, 2, … , .

a set of infinitesimal displacements /$% , /$0 , … , /$( that are consistent with the
constraint, i.e.
1"# 1"# 1"#
/$% + /$0 + … + /$( = 0, + = 1, 2, … , .
1$% 1$0 1$(
are called virtual displacements.
Virtual displacements of a rigid bar
These infinitesimal motions
do not destroy the
constraint
(
!" − !# !" − !# = * #

If !" and !# are perturbed

!" → !" + &!" !# → !# + &!#


that is
(
!" + &!" − !# − &!# !" + &!" − !# − &!# = * #
or,
(
!" − !# &!" − &!# = 0
D’Alembert’s principle
Consider a system of ! particles, suppose that

• The system has holonomic constraints, that is some of the particles are exposed to
constraint forces "#$ .

• There are externally applied forces "#% on the particles.

• The system is moving

Then the work done by all forces applied to the & '( particle along each set of virtual
displacements is zero, if we add the inertia forces
0
+
) "#% − -/#̇ 1/# = 0
+,
#
D’Alembert’s principle
Virtual displacements are computed as
)
*"#
!"# = % !+& , - = 1, 2, … , 1
*+&
&'(
Then
2 2 ) ) 2
45 45 *"# 45 *"#
% 3# !"# = % 3# % !+& =% % 3# !+&
*+& *+&
#'( #'( &'( &'( #'(

= ∑)&'( 7& !+&

Functions 7& are called generalized forces.


D’Alembert’s principle
The second term can be rewritten as
% % % 0
& + + + 1*"
! (" *"̇ ,*" = ! (" *"̈ ,*" = ! (" *"̈ ! ,2/
&' 12/
"#$ "#$ "#$ /#$
% 0
1*"
= ! ! (" *"̈ + ,2/
12/
"#$ /#$
Now,
% %
1*" & + 1*" + & 1*"
! (" *"̈ + =! (" *"̇ − (" *"̇
12/ &' 12/ &' 12/
"#$ "
D’Alembert’s principle
Hence,
% ' ' %
,*" 0 + ,*" + 0 ,*"
! ! (" *"̈ + .-& = ! ! (" *"̇ − (" *"̇ .-&
,-& 01 ,-& 01 ,-&
"#$ &#$ &#$ "#$
Now,
'
,*" ,4" ,*"
4" = *"̇ = ! . -&̇ ⇒ =
,-& ,-&̇ ,-&
&#$
' '
7
0 ,*" , *" , ,*" ,4"
=! \q"̇ = ! . -6̇ =
01 ,-& ,-& ,-6 ,-& ,-6 ,-&
6#$ 6#$
D’Alembert’s principle
Hence,
% ' ' %
,*" 0 + ,*" + 0 ,*"
! ! (" *"̈ + .-& = ! ! (" *"̇ − (" *"̇ .-&
,-& 01 ,-& 01 ,-&
"#$ &#$ &#$ "#$
' %
0 + ,4" + ,4"
=! ! (" 4" − (" 4" .-&
01 ,-&̇ ,-&
&#$ "#$
'
0 ,5 ,5
=! − .-&
01 ,-&̇ ,-&
&#$
where, '
1 8
5 = ! (" 4"
2
"#$
D’Alembert’s principle
To summarize,
+
$ &
! #" − (*"̇ ,*" = 0
&'
"
with
1 3 1 3
& + & 45 45 $+
! (" *"̇ ,*" = ! − ,62 , ! #" ,*" = ! 82 ,62
&' &' 462̇ 462
"/0 2/0 "/0 2/0

is 3
& 45 45
! − − 82 ,62 = 0
&' 462̇ 462
2/0
If ,62 are independent
& 45 45
− − 82 = 0, 9 = 1, … , <
&' 462̇ 462
D’Alembert’s principle
If !" are functions are of particular form, then the equations are

# %ℒ %ℒ
− = +" ,
#$ %("̇ %("

%-
!" = − + +" ,
%("

ℒ = / − -,

0 = 1, … , 3
Computing kinetic energy

Kinetic energy of a rigid body comprises of kinetic energy of translation and


kinetic energy of rotation
1 (
1 +
! = % &' + * ,- *
2 2
Computing kinetic energy
Computing angular velocity
! " = %̇ & % ' & →"

Matrix )* is the inertia tensor.


),, ),- ),.
In the body frame, it is constant )+ = )-, )-- )-.
)., ).- )..

To compute inertia tensor in the inertial frame, we can use the formula

)* = % & )+ % ' &


Kinetic energy for n-link manipulator
Kinetic energy of link !
1 * 1 .
" = & '() + ,- /- ,-
2 2
The generalized coordinates 0 are usually the the joint angles (for revolute
joints) and positions (for prismatic joints)
We need to express
• '( - = 2(̇ - as a function of generalized coordinates 0 and velocities 0̇
where, 2( - is the position of the center of mass of link !

• ,- as a function of generalized coordinates 0 and velocities 0̇

'( - = 34 ( 0 0,̇ ,- = 36 - 0 0̇
)
Total energy for n-link manipulator
Total kinetic energy
,
1 ' '
! = &̇ ( -) ./' 0 & ./ 0 & + .3 '
)
& 4) & 5) 4) & .3 ) & &̇
2 1 1
)*+
1 '
= &̇ 6 & &̇ = ( 9)8 & &̇ ) &̇ 8
2
),8

Total potential energy


, ,

: = ( :) = ( -) ;<0 )
) )
Computing Jacobians !" # and !% $
$
Follow the same approach that was used to determine end-effector velocities

Using D-H frames,


-
.)/0 for prismatic joint, k < i
())
!"& = , -.)/0 × A# − C)/0 , for revolute joint, H < I
' $
0 H>I

0 for prismatic joint, k < i


())
!%' = , -.)/0 for revolute joint, H < I
0 H>I
Equations of motion
%&
!" = − + )"
%'"

where )" is the joint torque applied at the * +, joint.

Hence, if we define ℒ = . − &

Equations of motion are given by

/ %ℒ %ℒ / %. % .−&
− = )" = − , i = 1, … , n
/0 %'̇ " %'" /0 %'̇ " %'"
Equations of motion
/
!" ! 1 )
= $̇ * $ $̇ = + 0%, $̇ ,
!$̇ % !$%̇ 2
,-.
/ / /
0 !" 0 0
⇒ = + 0%, $̇ , = + 0%, $̈ , + + 0%, $ $̇ ,
02 !$̇ % 02 02
,-. ,-. ,-.
/ / /
!0%, $
= + 0%, $̈ , + + + $̇ 5 $̇ ,
!$5
,-. ,-. 5-.
/ / /
1 !0%, $ !0%5 $
= + 0%, $̈ , + + + ( + )$̇ 5 $̇ ,
2 !$5 !$,
,-. ,-. 5-.
Equations of motion
!(# − %) ! 1 - ! 1 ! !
= '̇ . ' '̇ − % = '̇ . ' '̇ − %
!'( !'( 2 !'( 2 !'( !'(
3 3
1 !504 !
= // '̇ 0 '̇ 4 − %
2 !'( !'(
012 412

Subtracting, the equations of motion are


3 3 3
1 !5(4 !5(0 !504 !
/ 5(0 '̈ 0 + / / + − q̇ 0 '̇ 4 + % = 9(
2 !'0 !'4 !'( !'(
012 0 4

: = 1, 2, … , = >(04 ?(')
Example: Cartesian manipulator
!"
% & ' (

1 0 +# - 0

2
!# 2 0 +/ 0 0

DH parameters

Only prismatic joints: 01 = 0

$" 0 0 0 0
03 4 = 0 0 , 03 4 = 0 1
# /
1 0 1 0
Cartesian manipulator: equations of motion
0 0 0 0
!" # = 0 0 (,̇ !" * = 0 1 (̇
1 0 1 0
Hence, the kinetic and potential energy are
1 - .# + .* 0
+ = (̇ (,̇ 0 = 1 .# + .* (# + 23456
2 0 .*
The equations of motion are:
7 8+ 8 +−0
− = ;9
76 8(9̇ 8(9
or,
.# + .* (̈ # + 1 .# + .* = ;#

.* (̈ * = ;*
Example: Two-link manipulator
! " # $

1 &' 0 0 )'

2 &+ 0 0 )+

DH parameters

)' − )- ' )+ − )- +
,- ' 0 ,- + 0
= /'0 , = /+0
1 0 1 0
1 1
Jacobians: Two-link manipulator
0 )$* +# −)$* ,# 0
!"#$ = 0 × )$* ,# = )$ #+# , !"/$ = 0 , !" $ = [!"#$ # !"/$ ]
#
# # #
1 0 0 0

0 )#+# + )$ /+#/ −)#,# − )$ /,#/


!"#$ = 0 × )#,# + )$ /,#/ = )#+# + )$ /+#/ ,
/
1 0 0
0 )$ /+#/ −)$ /,#/
!"/$ = 0 × )$ /,#/ = )$ /+#/ , !" $ = [!"#$ / !"/$ ]
/
/ /
1 0 0

0 0 0 0
!3# = 45 0 = 0 0 , !3 / = 45 4# = 0 0
1 0 1 1
Kinetic Energy: Two-link manipulator
Linear and angular velocities
!" # = %& " (,̇ *# = %+ # (,̇ !" = %& " (,̇ *, = %+ , (̇
# , ,
Translational kinetic energy
1 1 1 6
-./012 = 5# !" # !" # + 5, !" , !" , = (̇ [5# %& " 6 %& " + 5, %& " 6 %& " ](̇
6 6
2 2 2 # # , ,
Rotational kinetic energy
1 6 6
-/:. = (̇ %+ # ( ;# ( <# ;#6 ( %+ # ( + %+ 6
,
( ;, ( < 6
, , ( %+ # ( (̇
;
2
1 6 1 0 1 1
= (̇ <== # + <== , (̇
2 0 0 1 1
Hence,
6 6 <== , + <== # <== ,
? ( = 5# %& " %& " + 5, %& " %& " +
# # , , <== , <== ,
Equations of motion: Two-link manipulator
!"" = $" %&'" + $' %"' + %&' ' + 2%" %&* +' + ,-- " + ,-- '
!"' = !'" = $' %& '' + %" %& ' +' + ,-- ' , !'' = $' %&' ' + ,-- '
2!/1 2!/0 2!01
+/01 = + −
230 231 23/
1 2!""
+""" = = 0,
2 23"
1 2!"' 2!"" 2!"'
+""' = +"'" = + − = −$' %" %&* 7' =: ℎ,
2 23" 23' 23"
2!"' 1 2!'' 2!'" 1 2!""
+"'' = − = ℎ, +'"" = − = −ℎ,
23' 2 23" 23" 2 23'
1 2!'' 1 2!''
+'"' = +''" = = 0, +''' = = −ℎ
2 23" 2 23'
Equations of motion: Two-link manipulator
Potential energy
P" = $" %&' " (" , P* = $* % &" (" + &' * ("* , , = ," + ,*
Hence,
., .,
-" = = $" &' " + $* &" %0" + $* &' * %0"* , -* = = $* %&' * 0"*
./" ./*
Equations of motion
1"" /"̈ + 1"* /̈ * + 0""" /̇ "* + 0""* /̇ " /̇ * + 0"*" /̇ * /̇ " + 0"** /̇ ** + -" = 4" ,
1*" /"̈ + 1** /̈ * + 0*"" /̇ "* + 0*"* /̇ " /̇ * + 0**" /̇ * /̇ " + 0*** /̇ ** + -" = 4"

In matrix form,
5 / /̈ + 6 /, /̇ + 7 / = 4
where,
ℎ/̇ * ℎ/̇ * + ℎ/̇ " -"
6 /, /̇ = ; 7 / =
−ℎ/̇ " 0 -*
Example: Five bar linkage

!"# &"#'#
$"# = ,
&"#(#
!"* &"*'*
$"* = ,
&"*(*
!"+ &*'* &"+'#
$"+ = + ,
&*(* &"+(#
!"- &#'# &"-'*
$"- = −
&#(# &"-(*

−&"#(# 0 0 −&"*(*
/"# = 2̇ , /"* = 2,̇
&"#'# 0 0 &"*'*
−&"+(# −&*(* −&#(# &"-(*
/"+ = 2,̇ /"- = 2̇
&"+'# &*'* &#'# −&"-'*
Example: Five bar linkage

'
!" = !$ = &̇ "(, !* = !+ = &̇ *

+
4 6" + 6$ 0
, & = - 0. 123. 123. +
0 6* + 6+
./"

0 if 0*9*93$ = 0+9"93+
* *
8"" & = 0"93" + 0$93$ + 0+9+* + 6" + 6$,
8*" & = 8"* & = 0*9*93$ − 0+9"93+ cos &* − &" ,
*
8** & = 0*93* + 0$9** + 0+93+
*
+ 6* + 6+
Example: Five bar linkage
Constant diagonal inertia matrix

no Coriolis/Centrifugal terms!

Potential energy
(
" = $ )*% = + ,'-*' + ,/-*/ + ,(-' 0'
%&'
+ + ,1-*1 − ,(-*( + ,/-1 01
Hence,
4' = + ,'-*' + ,/-*/ + ,(-' 5'
41 = + ,1-*1 − ,(-*( + ,/-1 51
Equations of motion:
6''8̈ ' + 4' = 9', 6118̈ 1 + 41 = 91
Properties: Skew-symmetry and passivity
• Matrix ! ", "̇ = &̇ " − 2) ", "̇ is skew-symmetric
1
2*+,
*̇ +, = - ".̇ ,
2".
./0
1 1
2*+, 2*+, 2*+. 2*., 2*., 2*+.
3+, = *̇ +, − 24+, = - − + − "̇ . = - − "̇ .
2". 2". 2", 2"+ 2"+ 2",
./0 ./0
= −3,+
• Passivity property: There exists a constant 6 ≥ 0, such that
;
9 "̇ ; < = < *< ≥ −6, ∀? ≥ 0
:
Amount of energy produced by the system has a lower bound given by −6.
Properties: Passivity and total energy
# '
• Total energy in the system ! = &̇ ( & &̇ + * &
$
• Along the system trajectory,
1 ' .*
!̇ = &̇ ' (& &̈ + &̇ (̇ & &̇ + &̇ '
2 .&
1 ' .*
= &̇ / − 1 &, &̇ − 3 & + &̇ (̇ & &̇ + &̇
' '
2 .&
1 '
= &̇ / + &̇ (̇ & − 21 &, &̇ &̇ = &̇ ' /
'
2
• Integrating,
'
4 &̇ ' 6 / 6 76 = ! 8 − ! 0 ≥ −!(0)
5

You might also like