05 LagrangianDynamics 3
05 LagrangianDynamics 3
#!! #!"
n Cartesian “skew” robot != # #""
!"
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
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
4 *+
3 center of mass:
"" − $ arbitrary **$
**# $ **, E-E
5 parallelogram:
1
**!
%# = %$
"#
%" = %%
2 "" #
**"
direct kinematics
%#(# %' cos "" − $ %#(# %'("
'&& = + = −
%#)# %' sin "" − $ %#)# %')"
Robotics 2 7
Kinetic energy
linear/angular velocities
−**! -! −**# -! −*" -"
0*! = %̇ ! 0*# = %̇ ! + %̇ " 2! = 2# = %̇ !
**! ,! **# ,! *" ,"
−**" -" −*! -! **, -"
0*" = %̇ " 0*, = %̇ ! + %̇ 2" = 2, = %̇ "
**" ," *! ,! −**, ," "
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
9 = 4 9$
$-! gravity
.
;9 :/ #! **! + ## **# + #, *! ,! : % components
: % = = = ! ! are always
;% :/ #" **" + ## *" − #, **, ," :" %"
“decoupled”
Robotics 2 10
Adding dynamic terms ...
1) dissipative phenomena due to friction at the joints/transmissions
n viscous, Coulomb, stiction, Stribeck, LuGre (dynamic)...
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
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
?̇&"
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)
DLR LWR-III
with harmonic drives
Dexter
with cable transmissions
elastic
motor load/link
spring
(stiffness K)
Robotics 2 19
State equations
direct dynamics
Ċ " C# 0
Ċ = = −%S" (C ) 7 C , C + )(C ) + %S" (C ) 0
Ċ # " " # " "
" 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) "#
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
̇
% " >#$ " ;̈ − %(")>#$ (")>(")> #$ (");̇ + : ", "̇ = >' ("),
(
̇
R+0 " 5 " R+# " '̈ + R+0 " S ", "̇ − 5(")R+#(")R(")R +#(")'̇ = ;
6
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 +̇
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
:= 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
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! % @ %, %̇
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
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
at equilibrium
= zero gravity
torque
#$
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