0% found this document useful (0 votes)
9 views

05 LagrangianDynamics 3

This document discusses dynamic modeling of robotic systems including analysis of inertial couplings for different robot configurations, analysis of gravity terms, bounds on dynamic terms, robots with closed kinematic chains, a robot with a parallelogram structure, the robot inertia matrix, potential energy and gravity terms, and adding additional dynamic terms such as dissipative effects and electrical actuators.

Uploaded by

Music Nonstop
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

05 LagrangianDynamics 3

This document discusses dynamic modeling of robotic systems including analysis of inertial couplings for different robot configurations, analysis of gravity terms, bounds on dynamic terms, robots with closed kinematic chains, a robot with a parallelogram structure, the robot inertia matrix, potential energy and gravity terms, and adding additional dynamic terms such as dissipative effects and electrical actuators.

Uploaded by

Music Nonstop
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Robotics 2

Dynamic model of robots:


Analysis, properties, extensions, uses

Prof. Alessandro De Luca


Analysis of inertial couplings
#!! 0
n Cartesian robot !=
0 #""

#!! #!"
n Cartesian “skew” robot != # #""
!"

#!! #!" (%" )


n PR robot !=
#!" (%" ) #""

#!! (%" ) #!" (%" )


n 2R robot !=
#!" (%" ) #""

n 3R articulated robot #!! (%" , %# ) 0 0


(under simplifying != 0 #"" (%# ) #"# (%# )
assumptions on the CoMs) 0 #"# (%# ) ###

Robotics 2 2
Analysis of gravity term
n absence of gravity
n constant !! (motion on horizontal plane)
n applications in remote space
n static balancing ! " ≈0
n distribution of masses (including motors)
n mechanical compensation
n articulated system of springs
n closed kinematic chains

Robotics 2 3
Bounds on dynamic terms
n for an open-chain (serial) manipulator, there always exist
positive real constants !0 to !7 such that, for any value of
" and "̇
!! ≤ % " ≤ !" + !# " + !$ " # inertia matrix
factorization matrix of
' ", "̇ ≤ !% + !& " "̇ Coriolis/centrifugal terms

) " ≤ !' + !( " gravity vector

n if the robot has only revolute joints, these simplify to


!! ≤ % " ≤ !" ' ", "̇ ≤ !% "̇ ) " ≤ !'
(the same holds true with bounds %$,&$' ≤ %$ ≤ %$,&() on prismatic joints)

NOTE: norms are either for vectors or for matrices (induced norms)
Robotics 2 4
Robots with closed kinematic chains -1

Comau Smart NJ130 MIT Direct Drive Mark II and Mark III

Robotics 2 5
Robots with closed kinematic chains -2

MIT Direct Drive Mark IV UMinnesota Direct Drive Arm


(planar five-bar linkage) (spatial five-bar linkage)
Robotics 2 6
Robot with parallelogram structure
(planar) kinematics and dynamics

4 *+
3 center of mass:
"" − $ arbitrary **$
**# $ **, E-E
5 parallelogram:
1
**!
%# = %$
"#
%" = %%
2 "" #
**"
direct kinematics
%#(# %' cos "" − $ %#(# %'("
'&& = + = −
%#)# %' sin "" − $ %#)# %')"

position of center of masses


**! ,! **" ," *" ," * , *! ,! * ,
+*! = +*" = +*# = + *# ! +*, = − *, "
**! -! **" -" *" -" **# -! *! -! **, -"

Robotics 2 7
Kinetic energy
linear/angular velocities
−**! -! −**# -! −*" -"
0*! = %̇ ! 0*# = %̇ ! + %̇ " 2! = 2# = %̇ !
**! ,! **# ,! *" ,"
−**" -" −*! -! **, -"
0*" = %̇ " 0*, = %̇ ! + %̇ 2" = 2, = %̇ "
**" ," *! ,! −**, ," "

Note: a (planar) 2D notation is used here!

# " "̇ " + 3 # " # #


*) 0# = " 1#%(# # "̇ 0" = 1 % " "̇ " + 3 "̇ "
" (#,** # " " (" " " (",** "

# ""̇ " " "̇ " # "


0$ = 1 %
" $ " "
+ %($ # + 2%"%($("+#"̇ #"̇ " + 3 "̇
" ($,** #
# #
0% = " 1% %#""̇ #" + %(%
" "̇ " − 2% % (
"
"
# (% "+#"̇ #"̇ " + " 3(%,** "̇ "

Robotics 2 8
Robot inertia matrix
,
1 .
3 = 4 3$ = %̇ ! % %̇
2
$-!

% +- % %
-!",$$ + /" 0!" !&,$$ + /& 0!& + /' 0" symm
* + = % +- % %
/& 0% 0!& − /' 0" 0!' 5%(" -!%,$$ + /% 0!% !',$$ + /' 0!' + /& 0%

structural condition
+$ ,# ,6$ = +% ," ,6% (*)
in mechanical design

5(") diagonal and constant ⇒ centrifugal and Coriolis terms ≡ 0


mechanically DECOUPLED and LINEAR *"" 0 +̈ " 9"
= 9
dynamic model (up to the gravity term 8(")) 0 *%% +̈ % %

big advantage for the design of motion control laws!


Robotics 2 9
Potential energy and gravity terms
from the 8 -components of vectors +*$
.)
!# = 1#8,%(#)# !" = 1"8,%(")"
!$ = 1$8, %")" + %($)# !% = 1%8, %#)# − %(%)"
,

9 = 4 9$
$-! gravity
.
;9 :/ #! **! + ## **# + #, *! ,! : % components
: % = = = ! ! are always
;% :/ #" **" + ## *" − #, **, ," :" %"
“decoupled”

in addition, +"" "̈ " + )" "" = 0" <$ are


(non-conservative) torques
when (*) holds +## "̈ # + )# "# = 0# performing work on %$

further structural conditions in the mechanical design lead to 8(") ≡ 0!!

Robotics 2 10
Adding dynamic terms ...
1) dissipative phenomena due to friction at the joints/transmissions
n viscous, Coulomb, stiction, Stribeck, LuGre (dynamic)...

n local effects at the joints

n difficult to model in general, except for:

0:,) = −2:,) "̇ ) 0<,) = −2<,) sgn "̇ )


=* Ċ

in general: =) >?@(C)
̇
0
;-.// "̇ < 0
(component-wise too) =+,-.,-/0

Robotics 2 11
Adding dynamic terms ...
2) inclusion of electrical actuators (as additional rigid bodies)
n motor = mounted on link = − 1 (or before) , with very few exceptions

n often with its spinning axis aligned with joint axis =

n (balanced) mass of motor included in total mass of carrying link

n (rotor) inertia is to be added to robot kinetic energy

n transmissions with reduction gears (often, large reduction ratios)

n in some cases, multiple motors cooperate in moving multiple links:

use a transmission coupling matrix > (with off-diagonal elements)


Unimation PUMA family
JT2 Motor

JT3 Motor
'"%"( 3
JT1 Motor
!"#$% 3

'"%"( 2
!"#$% 2

Mitsubishi RV-3S
Robotics 2 12
Placement of motors along the chain
?̇&0
?̇&! rotor N
frame
motor 1 motor N

rotor 1
frame joint 2
link 1 link 2 link N
RFW RFN-1
(world frame)

RFN

RF0 RF1
link N - 1

link 0 motor 2 joint N ?̇&$ = @1$ ?̇$


(base) joint1
A$ = @1$ A&$

?̇&"
Robotics 2 13
Resulting dynamic model
n simplifying assumption: in the rotational part of the kinetic
energy, only the “spinning” rotor velocity is considered
0
1 1 1 1 .
3&$ ̇
= B&$ ?&$ = B&$ @1$ %̇ $ = C&$ %̇ $"
" " "
3& = 4 3&$ = %̇ C& %̇
2 2 2 2
$-!
diagonal, > 0
n including all added terms, the robot dynamics becomes
moved to
the left ...
% " + 6G "̈ + 7 ", "̇ + ) " + 2: "̇ + 2< sgn "̇ = 8
motor torques
constant does NOT F* > 0, F1 > 0 (after
contribute to 5 diagonal reduction gears)

n scaling by the reduction gears, looking from the motor side


diagonal 7
/33 (+) 1 motor torques
-2 + diag ̈
M2 + diag P5 (+)+̈ 5 + Q +, +̇
O* = R2 (before
% L43
L43 reduction gears)
56"
Robotics 2 except the terms %!! 14
Special actuation and associated coordinates
planar 2R robot with remotely driven forearm

n motor 1 moves link 1 by '#


n motor 2 at the base moves the absolute
angle '" of link 2
n derive the dynamic model from scratch
98% using the = coordinates
% : :̈ + 7 :, :̇ + ) : = 0T
98"
<" − <$ <# 7#S"
%(:) = < 7 <$
# #S"
−<# =#S" :̇## no more
7(:, :)̇ =
<# =#S" :̇"# Coriolis forces!
<% 7"
)(:) = < 7
& #
5" = cos W" 5% = cos W%
5%(" = cos W% − W" X%(" = sin W% − W"
Robotics 2 15
Including joint elasticity
n in industrial robots, use of motion transmissions based on
n belts
n harmonic drives
n long shafts
introduces flexibility between actuating motors (input) and driven
links (output)
n in research robots, compliance in transmissions is introduced on
purpose for safety (human collaboration) and/or energy efficiency
n actuator relocation by means of (compliant) cables and pulleys
n harmonic drives and lightweight (but rigid) link design
n redundant (macro-mini or parallel) actuation, with elastic couplings
n in both cases, flexibility is modeled as concentrated at the joints
n in most cases, assuming small joint deformation (elastic domain)
Robotics 2 16
Robots with joint elasticity

DLR LWR-III
with harmonic drives
Dexter
with cable transmissions

elastic
motor load/link
spring
(stiffness K)

Quanser Flexible Joint video Stanford DECMMA


(1-dof linear, educational) with micro-macro actuation
Robotics 2 17
Dynamic model
of robots with elastic joints
n introduce 2> generalized coordinates
n % = D link positions
n ? = D motor positions (after reduction, ?$ = ?&$ /@1$ )
1 0
n add motor kinetic energy 0! to that of the links 01 = "̇ 5(")"̇
0 2
1 1 1 1 .
3&$ = B&$ ?&$ = B&$ @1$ ?$ = C&$ ?̇$"
̇ " " ̇"
3& = 4 3&$ = ?̇ C& ?̇
2 2 2 2
$-! diagonal, > 0
n add elastic potential energy !" to that due to gravity !! (")
n F = matrix of joint stiffness (diagonal, > 0)
" 0
1 ?&$ 1 "
1
92$ = F$ %$ − = F$ %$ − ?$ 92 = 4 92$ = % − ? . F % − ?
2 @1$ 2 2
$-!
n apply Euler-Lagrange equations w.r.t. (", @)
no external torques
2[ 2nd-order % " "̈ + 7 ", "̇ + ) " + > " − ? = 0 performing work on &
differential
equations 6G ?̈ + > ? − " = 8
Robotics 2 18
Use of the dynamic model
inverse dynamics
n given a desired trajectory "- (B)
n twice differentiable (∃ %̈ 3 (J))

n possibly obtained from a task/Cartesian trajectory K3 (J), by


(differential) kinematic inversion
the input torque needed to execute this motion (in free space) is

8\ = % "\ + 6G "̈ \ + 7 "\ , "̇ \ + ) "\ + 2: "̇ \ + 2< sgn "̇ \


`
(in contact, with an external wrench) … − B]^_ "\ 2]^_,\
n useful also for control (e.g., nominal feedforward)
n however, this way of performing the algebraic computation (∀B) is
not efficient when using the Lagrangian modeling approach
n symbolic terms grow much longer, quite rapidly for larger D
n in real time, numerical computation is based on Newton-Euler method

Robotics 2 19
State equations
direct dynamics

Lagrangian > differential


dynamic model % " "̈ + ( ", "̇ + ! " = , 2nd order
equations
C" " #a
defining the vector of state variables as C = = ∈ ℝ
C# "̇
state equations

Ċ " C# 0
Ċ = = −%S" (C ) 7 C , C + )(C ) + %S" (C ) 0
Ċ # " " # " "

= F(C) + G(C)0 2> differential


1st order
2D × 1 2D × D equations

" generalized
another choice... ED = 5(")"̇ EḊ = ... (do it as exercise)
momentum
Robotics 2 20
Dynamic simulation
Simulink here, a generic 2-dof robot
block 7(", ")
̇ ", "̇
scheme %̇ ! (0) %! (0)
"̈ " "̇ "
""
input torque _
command +
(open-loop 0 !!" (#)
or in _ "̈ # "̇ #
feedback) "#

)(") " " %̇ " (0) %" (0)


including “inv(M)”
§ initialization (dynamic coefficients and initial state)
§ calls to (user-defined) Matlab functions for the evaluation of model terms
§ choice of a numerical integration method (and of its parameters)
e.g., 4th-order Runge-Kutta (ode45)
Robotics 2 21
Approximate linearization
n we can derive a linear dynamic model of the robot, which is valid
locally around a given operative condition
n useful for analysis, design, and gain tuning of linear (or of the

linear part of) control laws


n approximation by Taylor series expansion, up to the first order

n linearization around a (constant) equilibrium state or along a

(nominal, time-varying) equilibrium trajectory


n usually, we work with (nonlinear) state equations; for mechanical

systems, it is more convenient to directly use the 2nd order model


n same result, but easier derivation

equilibrium state (", ")


̇ = ("2 , 0) [ "̈ = 0 ] ) "] = 0]
equilibrium trajectory (", ")
̇ = ("- (B), "̇ - (B)) [ "̈ = "̈ - (B) ]
% "\ "̈ \ + 7 "\ , "̇ \ + ) "\ = 0\
Robotics 2 22
Linearization at an equilibrium state
n variations around an equilibrium state
" = "2 + Δ" "̇ = "̇ 2 + Δ"̇ = Δ"̇ "̈ = "̈ 2 + ∆"̈ = ∆"̈ ; = ;2 + Δ;

n keeping into account the quadratic dependence of % terms


on velocity (thus, neglected around the zero velocity)
M8
5 "2 ∆"̈ + 8 "2 + L ∆" + o ∆" , ∆"̇ = ;2 + ∆;
M" 131
9
infinitesimal terms
of second or higher order
N("2 )
∆"
n in state-space format, with ∆C =
∆"̇
̇ 0 I 0
∆C = S" ∆C + S" ∆0 = J ∆C + 6 ∆0
−% "] G("] ) 0 % ("] )
Robotics 2 23
Linearization along a trajectory
n variations around an equilibrium trajectory
" = "- + Δ" "̇ = "̇ - + Δ"̇ "̈ = "̈ - + ∆"̈ ; = ;- + Δ;

n developing to 1st order the terms in the dynamic model ...


5("- + ∆") "̈ - + ∆"̈ + (("- + ∆", "̇ - + ∆")
̇ + 8 "- + ∆" = ;- + ∆;
4 (-th row of the
M5. identity matrix
5 "- + ∆" ≅ 5 "- +P L Q.0 ∆"
M" 131
.3# :

8 "- + ∆" ≅ 8 "- + N("- )∆" M! (%3 , %̇ 3 )

M( M(
( "- + ∆", "̇ - + ∆"̇ ≅ ( "- , "̇ - + L ∆" + L ∆"̇
M" 131: M"̇ 131:
13
̇ 1̇ : 13
̇ 1̇ :

M" (%3 , %̇ 3 )
Robotics 2 24
Linearization along a trajectory (cont)

n after simplifications …
%("! )∆"̈ + 0" ("! , "̇ ! )∆"̇ + 1 "! , "̇ ! , "̈ ! ∆" = ∆,
with a
O%)
K "\ , "̇ \ , "̈ \ = G "\ + L" "\ , "̇ \ +M N "̈ \ P)`
O" cbc
)b" #
n in state-space format
0 3
∆2̇ = ∆2
−%#$ "! 1 "! , "̇ ! , "̈ ! −%#$ "! 0" "! , "̇ !
0
+ #$ ∆, = 5(6) ∆2 + 7(6) ∆,
% ("! )
a linear, but time-varying system!!

Robotics 2 25
Coordinate transformation
" ∈ ℝ% % " "̈ + ( ", "̇ + ! " = % " "̈ + : ", "̇ = ,& 1

if we wish/need to use a new set of generalized coordinates '

; ∈ ℝ% ; = <(") " = < #$ (;) by duality


(principle of virtual work)
=<
;̇ = "̇ = >(")"̇ "̇ = >#$ (");̇ ,& = >' ("),( 1
="
̇ "̇
;̈ = > " "̈ + >(") ̇
"̈ = >#$ (") ;̈ − >(")> #$ (");̇

̇
% " >#$ " ;̈ − %(")>#$ (")>(")> #$ (");̇ + : ", "̇ = >' ("),
(

>#' (") ? pre-multiplying the whole equation...


Robotics 2 26
Robot dynamic model
after coordinate transformation

̇
R+0 " 5 " R+# " '̈ + R+0 " S ", "̇ − 5(")R+#(")R(")R +#(")'̇ = ;
6

for actual computation,


these inner substitutions (", ")
̇ → (:, :)̇
"→: are not strictly necessary
non-conservative
generalized forces
!# & &̈ + %# &, &̇ + +# & = -# performing work on +

symmetric,
%T = S` S"
B %B positive definite )T = BS` )
(out of singularities)
quadratic
7T = BS` 7 − %BS" B ̇ BS" :̇ = BS` 7 − %T B ̇ BS" :̇ dependence on +̇

7T (:, :)̇ = 'T (:, :)̇ :̇ %̇ T − 2'T skew-symmetric

when ' = E-E pose, this is the robot dynamic model in Cartesian coordinates
NOTE: in this case, we have implicitly assumed than ! = D (no redundancy!)
Robotics 2 27
Example of coordinate transformation
planar 2R robot using absolute coordinates

n motor 1 at joint 1, motor 2 at joint 2


n in place of DH angles T, use the absolute
angles '# = "# and '" = "# + ""

:= 1
&" 0 "=B" a linear
<4" 1 1 transformation

<4! 1 0 1 −1
BS" = BS` =
= &# −1 1 0 1
n from 5 " "̈ + ( ", "̇ + 8 " = ;1
obtained with DH relative coordinates
blue terms are the same found in a direct way in slide #15
U# − U$ U"("+# U%(#
56 (') = R+0 5 R+# = U ( U$ 86 (') = R+0 8
= U (
" "+# ' "
" ;1# − ;1"
−U )
" "+# "' ̇
(6 (', ')̇ = R+0 ( = +0
;6 = R ;1 = ;1"
U")"+# '̇ #"
Robotics 2 28
Robot dynamic model
in the task/Cartesian space, with redundancy

dynamic model in the joint space " ∈ ℝ4 second-order task kinematics


5 " "̈ + S ", "̇ = ] X = Y " ∈ ℝ7 ̇ "̇
Ẍ = R " "̈ + R(")
5<> N is full rank = !

1) isolate the joint acceleration from the dynamics "̈ = 5+# " ] − S ", "̇
2) decompose the joint torques in two complementary spaces
] = R0 " ^ + 3 − R0 " \(") ], O is a generalized inverse of N.
∈ ℛ R0 ∈ [ R0 \ N. ON. = N.
torques coming from … and joint torques R; ∉ ℛ f<
generalized forces F
in the task space … A/ = N. % P, ∀P ∈ ℝ5 ⇒ B − N. % O % N. % P = 0
3) substitute 1) and 2) in the differential task kinematics
Ẍ = R " 5+# " R0 " ^ + 3 − R0 " \(") ], − S ", "̇ ̇ "̇
+ R(")
4) isolate on the right-hand side the generalized forces P in the task space …
Robotics 2 29
Robot dynamic model
in the task/Cartesian space, with redundancy
6! . 6!
N % ! % N % K̈ = P +
6!
N % ! 6! % N. % N % ! 6! % B − N. % O(%) A/ − @ %, %̇ ̇ %̇
+ N(%)
6! . 6! 6! # .
5) choose as generalized inverse O = N! N N! = N5 ,
i.e., the transpose
of the inertia-weighted pseudoinverse of the task Jacobian (see block of slides #2)
in this way, the joint torque component R; will NOT affect the task acceleration ḧ
6! 6!
N % ! 6! % N. % K̈ = P + N % ! 6! % N. % N ̇ % %̇ − N % ! 6! % @ %, %̇

6) the resulting (! −dimensional) task dynamics is then


external forces can be added
%g " T̈ + Ug ", "̇ = 2 … + 2]^_ on the rhs of the equations in
with a dynamically consistent way!
+#
58 " = R " 5+# " "R0 task inertia matrix for * = [ , these terms
S8 ", "̇ = 58 " ̇ "̇
R " 5+# " S ", "̇ − R(") are identical to slide #27

7) an additional D − ! -dimensional second-order dynamics is needed to describe


the full robot!
Robotics 2 30
Dynamic scaling of trajectories
uniform time scaling of motion

n given a smooth original trajectory "- (B) of motion for B ∈ [0, 0]


n suppose to rescale time as B → X(B) (a strictly increasing function of J )

K
X(0)
B=0 K = 2J
(uniformly)
slower!
K(3) K = K(J)
3 K=J
generic X(B)
B
K = 0.5J
(uniformly)
faster!
0 3 J

Robotics 2
BX=00 31
Dynamic scaling of trajectories
uniform time scaling of motion

n in the new time scale, the scaled trajectory "/ (X) satisfies
W"\ W"i WT
"\ V = "i T(V) "̇ \ V = = = "ij (T) T(V)
̇
same path executed
WV WT WV
(at different instants of time)

W"̇ \ W"ij WT j
WṪ
"̈ \ V = = Ṫ + "i = "ijj (T)Ṫ # (V) + "ij (T)T(V)
̈
WV WT WV WV
n uniform scaling of the trajectory occurs when X B = `B

"̇ \ V = !"ij (!V) "̈ \ V = ! # "ijj (!V)

Q: what is the new input torque needed to execute the scaled trajectory?
(suppose dissipative terms can be neglected)

Robotics 2 32
Dynamic scaling of trajectories
inverse dynamics under uniform time scaling

n the new torque could be recomputed through the inverse dynamics, for
every X = `B ∈ 0, 0/ = [0, `0] along the scaled trajectory, as
8i !V = % "i "ijj + 7 "i , "ij + )("i )
n however, being the dynamic model linear in the acceleration and
quadratic in the velocity, it is
]- B = 5 "- "̈ - + ( "- , "̇ - + 8 "- = 5 "/ ` ""/99 + ( "/ , `"/9 + 8("/ )
= ` " 5 "/ "/99 + ( "/ , "/9 + 8 "/ = ` " ]/ `B − 8 "/ + 8 "/
n thus, saving separately the total torque ]- (B) and gravity torque 8- (B)
in the inverse dynamics computation along the original trajectory, the
new input torque is obtained directly as
* > 1: slow down
1 ⇒ reduce torque
@) A6 = " @! 6 − ! "! (6) + ! "! (6) * < 1: speed up
A ⇒ increase torque
gravity term (only position-dependent): does NOT scale!
Robotics 2 33
Dynamic scaling of trajectories
numerical example

n rest-to-rest motion with cubic polynomials for planar 2R robot under gravity
(from downward equilibrium to horizontal link 1 & upward vertical link 2)
n original trajectory lasts 3 = 0.5 s (but say, it violates the torque limit at joint 1)
only joint 1 torque is shown
torque only due
to non-zero initial
acceleration

total torque gravity torque


component

at equilibrium
= zero gravity
torque

for both joints


Robotics 2 34
Dynamic scaling of trajectories
numerical example

original gravity torque n scaling with k = 2 (slower) → l = = 1 s


total to sustain the link
torque at steady state

8! 0.1 − = >! 0.1 = 20 Nm

#$
8" 2 A 0.1 − = >" 2 A 0.1 = = 5 Nm
#"
$ = 0.5 s
*
gravity torque
component * *
does not scale 0 Nm
scaled
total
torque 1
4

+ = 0.5 s 1=2 +=1s


$! = 1 s
Robotics 2 35
Optimal point-to-point robot motion
considering the dynamic model

§ given the initial (⇒ A) and final (⇒ B) robot configurations (at


rest) and the actuator torque bounds, find
n the minimum-time Tmin motion

n the (global/integral) minimum-energy Emin motion

and the associated command torques needed to execute them


§ a complex nonlinear optimization problem solved numerically
video video

Tmin= 1.32 s, E = 306 T = 1.60 s, Emin = 6.14


Robotics 2 36

You might also like