2. What is ‘Passivity’?
System is passive
if (Energy Inflow) ≥ (Energy Stored)
𝑢 𝑠 𝑦(𝑠)
𝑡
0
𝑑𝑠 ≥ 𝑉 𝑥 𝑡 − 𝑉(𝑥 0 )
if (Energy Inflow Rate) ≥ (Energy Stored Rate)
𝑢 𝑡 𝑦(𝑡) ≥ 𝑉(𝑥 𝑡 , 𝑢(𝑡))
dissipative system
Ex 1. Electric network, one-port resistance
Ohm’s law: 𝑢 = 𝑅𝑦, 𝑦 = 𝐺𝑢
𝑢𝑦 = 𝐺𝑢2
≥ 0
Network is passive if 𝑢 𝑇
𝑦 ≥ 0 for all 𝑢
u: voltage(input),
y: current(output),
R: resistance,
G: conductance
𝑅 =
1
𝐺
+
-
u
y
3. Passivity-Based Control and Stability
Nonlinear system
𝑥 = 𝑓 𝑥, 𝑢
𝑦 = ℎ 𝑥 (𝑓 0,0 = 0, ℎ 0 = 0)
Recall that system is passive
if there exists ‘storage function’
s.t. 𝑉 𝑥 ≥ 0
𝑢 𝑇
𝑦 ≥ 𝑉 =
𝜕𝑉
𝜕𝑥
𝑓 𝑥, 𝑢 , ∀(𝑥, 𝑢)
System is zero-state observable
if there exists no solution of 𝑥 = 𝑓(𝑥, 0)
that satisfy ℎ 𝑥 = 0 except 𝑥 𝑡 = 0
if y=0, then x=0
4. Theorem
If system is
(1) passive with a radially unbounded storage function (𝑉 ≥ 0)
(2) zero-state observable
Control input 𝑢 = −𝜙 𝑦
s.t. 𝜙 is locally Lipschitz function s.t. 𝜙 0 = 0, 𝑦 𝑇
𝜙 𝑦 > 0 , ∀𝑦 ≠ 0
can make system globally stabilized.
𝑥 = 𝑓(𝑥, −𝜙 𝑦 )
𝑉 =
𝜕𝑉
𝜕𝑥
𝑥 =
𝜕𝑉
𝜕𝑥
𝑓 𝑥, −𝜙 𝑦 ≤ −𝑦 𝑇
𝜙(𝑦) ≤ 0
By invariance principle, the origin is globally asymptotically stable.
Proof
5. Passivity-Based Control of Rigid-Body Manipulator
IDEA
Reshape the robot system’s natural energy such that the control objective is
achieved.[Berghuis, 1993]
[Takegaki and Arimoto, 1981]
Regulation control: control objective 𝑞 → 𝑞 𝑑
Shifting energy minimum at 𝒒, 𝒒 = (𝟎, 𝟎) to 𝒒, 𝒒 = 𝟎, 𝟎 , 𝒒 = 𝒒 − 𝒒 𝒅
Energy storage function with coordinate (𝑞, 𝑞)
𝑉 =
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 +
1
2
𝑞 𝑇
𝐾𝑝 𝑞 - (1)
𝑉 = 𝑞 𝑇
𝑀 𝑞 𝑞 +
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 + 𝑞 𝑇
𝐾𝑝 𝑞
= 𝑞 𝑇
𝜏 − 𝐶 𝑞, 𝑞 𝑞 − 𝑔 𝑞 +
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 + 𝑞 𝑇
𝐾𝑝 𝑞
= 𝑞 𝑇
𝜏 − 𝑔 𝑞 + 𝐾𝑝 𝑞 +
1
2
𝑞 𝑇
[𝑀 𝑞 − 2𝐶 𝑞, 𝑞 ] 𝑞
= 𝑞 𝑇
𝜏 − 𝑔 𝑞 + 𝐾𝑝 𝑞 - (2)
How to design 𝜏?
= 0, (∵ 𝑀 − 2𝐶 is skew-symmetric)
6. IDEA
Reshape the robot system’s natural energy such that the control objective is
achieved.[Berghuis, 1993]
[Takegaki and Arimoto, 1981]
Regulation control: control objective 𝑞 → 𝑞 𝑑
Shifting energy minimum at 𝒒, 𝒒 = (𝟎, 𝟎) to 𝒒, 𝒒 = 𝟎, 𝟎 , 𝒒 = 𝒒 − 𝒒 𝒅
Energy storage function with coordinate (𝑒, 𝑞)
𝑉 =
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 +
1
2
𝑞 𝑇
𝐾𝑝 𝑞 - (1)
𝑉 = 𝑞 𝑇
𝜏 − 𝑔 𝑞 + 𝐾𝑝 𝑞 - (2)
Let us define the control law as
𝜏 = 𝑔 𝑞 − 𝐾𝑝 𝑞 + 𝑣 - (3)
(3)(2): 𝑉 = 𝑞 𝑇
𝑣 passive for (𝑞, 𝑣) - (4)
How to design 𝑣? Recall passivity-based control. 𝑣 = −𝜙(𝑞) , 𝑞 𝜙(𝑞) ≥ 0 𝑣 = −𝐾 𝑑 𝑞 -(5)
(5)(4): 𝑉 = −𝐾 𝑑 𝑞 2
≤ 0, globally stable!
Final control law is 𝝉 = 𝒈 𝒒 − 𝑲 𝒑 𝒒 − 𝑲 𝒅 𝒒
Passivity-Based Control of Rigid-Body Manipulator
7. [Paden and Panja, 1988]
Tracking control: control objective 𝑞(𝑡) → 𝑞 𝑑(𝑡)
Shifting energy minimum at 𝒒, 𝒒 = (𝟎, 𝟎) to 𝒒, 𝒒 = 𝟎, 𝟎 , 𝒒 = 𝒒 − 𝒒 𝒅
Energy storage function with coordinate (𝑒, 𝑒)
𝑉 =
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 +
1
2
𝑞 𝑇
𝐾 𝑝 𝑞 - (6)
𝑉 = 𝑞 𝑇
𝑀 𝑞 𝑞 +
1
2
𝑞 𝑇
𝑀 𝑞 𝑞 + 𝑞 𝑇
𝐾 𝑝 𝑞
= 𝑞 𝑇
(𝑀𝑞 − 𝑀𝑞 𝑑) +
1
2
𝑞 𝑇
𝑀 𝑞 + 𝑞 𝑇
𝐾 𝑝 𝑞
= 𝑞 𝑇
𝜏 − 𝐶𝑞 − 𝑔 − 𝑀𝑞 𝑑 +
1
2
𝑀 𝑞 + 𝐾 𝑝 𝑞
= 𝑞 𝑇
(𝜏 +
1
2
𝑀 − 2𝐶 𝑞 − 𝑀𝑞 𝑑 − 𝐶𝑞 𝑑 − 𝑔 + 𝐾 𝑝 𝑞)
= 𝑞 𝑇
(𝜏 − 𝑀𝑞 𝑑 − 𝐶𝑞 𝑑 − 𝑔 + 𝐾 𝑝 𝑞) - (7)
Let us define the control law as
𝜏 = 𝑀𝑞 𝑑 + 𝐶𝑞 𝑑 + 𝑔 − 𝐾 𝑝 𝑞 + 𝑣 - (8)
(8)(7): 𝑉 = 𝑞 𝑇
𝑣 - (9)
same as (5), we can set new control input as 𝑣 = −𝐾 𝑑 𝑞.
Then 𝑉 = −𝐾 𝑑 𝑞
2
≤ 0, globally stable! - (10)
Final control law is 𝝉 = 𝑴(𝒒)𝒒 𝒅 + 𝑪(𝒒, 𝒒)𝒒 𝒅 + 𝒈 𝒒 − 𝑲 𝒑 𝒒 − 𝑲 𝒅 𝒒
Passivity-Based Control of Rigid-Body Manipulator
= 0, (∵ 𝑀 − 2𝐶 is skew-symmetric)
8. [Slotine and Lie, 1987]
Applied sliding mode theory
IDEA
Look into (10) again, 𝑉 = −𝐾 𝑑 𝑞
2
tells us 𝑞 → 0 as 𝑉 → 0 , but it doesn’t guarantee 𝒒 → 𝟎
Let’s restrict them to lie on a sliding surface 𝒔 = 𝒒 + 𝜦𝒒 = 𝟎
Energy storage function with coordinate 𝑠
𝑽 =
𝟏
𝟐
𝒔 𝑻
𝑴𝒔 - (11)
𝑉 = 𝑠 𝑇
𝑀𝑠 +
1
2
𝑠 𝑇
𝑀 𝑠
= 𝑠 𝑇
(𝑀𝑞 + 𝑀Λ𝑞 +
1
2
𝑀 𝑠)
= 𝑠 𝑇
(𝜏 − 𝐶𝑞 − 𝑔 − 𝑀𝑞 𝑑 + 𝑀Λ𝑞 +
1
2
𝑀 𝑠)
= 𝑠 𝑇
(𝜏 − 𝑀𝑞 𝑑 + 𝑀Λ𝑒 − 𝐶𝑞 𝑑 + 𝐶Λ𝑞 − 𝑔 +
1
2
𝑀 − 2𝐶 𝑠) - (12)
Introduce virtual “reference trajectory”, 𝒒 𝒓 = 𝒒 𝒅 − 𝜦𝒒
𝑉 = 𝑠 𝑇
(𝜏 − 𝑀𝑞 𝑟 − 𝐶𝑞 𝑟 − 𝑔) - (13)
Same as before, we define control law as,
𝜏 = 𝑀𝑞 𝑟 + 𝐶𝑞 𝑟 + 𝑔 + 𝑣 - (14)
(14) (15): 𝑉 = 𝑠 𝑇
𝑣 - (15)
Same as before, we can set new control input as 𝑣 = −𝐾 𝑑 𝑠. Then 𝑉 = −𝐾 𝑑 𝑠 2
≤ 0
Then globally stable and guarantee (𝒒, 𝒒) → (𝟎, 𝟎)
Final control law is 𝝉 = 𝑴(𝒒)𝒒 𝒓 + 𝑪(𝒒, 𝒒)𝒒 𝒓 + 𝒈 𝒒 − 𝑲 𝒅 𝒔
𝒒 𝒓 = 𝒒 𝒅 − 𝜦𝒒, 𝒔 = 𝒒 + 𝜦𝒒
Passivity-Based Control of Rigid-Body Manipulator
= 0
10. Rigid-body dynamics with disturbance
𝑀 𝑞 𝑞 + 𝐶 𝑞, 𝑞 𝑞 + 𝑔 𝑞 = 𝜏 + 𝑑
Computed-torque control input
𝜏 = 𝑀(𝑞) 𝑞 𝑑 − 𝐾𝑝 𝑞 − 𝐾 𝑑 𝑞 − 𝐾𝑖 𝑞 𝑑𝑡 + 𝐶(𝑞, 𝑞)𝑞 + 𝑔 𝑞
Then, closed-loop system is,
𝑞 − 𝐾 𝑑 𝑞 − 𝐾𝑝 𝑞 − 𝐾𝑖 𝑞 𝑑𝑡 = 𝑑
Differenciate closed-loop equation in frequency-domain
𝑠3
− 𝐾 𝑑 𝑠2
− 𝐾𝑝 𝑠 − 𝐾𝑖 𝑄 𝑠 = 𝑠𝐷 𝑠
𝐹 𝑠 =
𝑄 𝑠
𝐷(𝑠)
=
𝑠
𝑠3−𝐾 𝑑 𝑠2−𝐾 𝑝 𝑠−𝐾 𝑖
By final final value-theorem of Laplace transformation,
𝑓 𝑡 = ∞ = lim
𝑠→∞
𝑠𝐹(𝑠) = 0
Integral feedback term makes transfer function converging finally.
But disturbance will be rejected, only if 𝒅 is constant.
So, it is not more robust than passivity-based control.
Why PBC is more robust than Computed-Torque Control?
11. Computation Issue
Passivity-based control input,
𝜏 = 𝑀(𝑞)𝑞 𝑟 + 𝐶(𝑞, 𝑞)𝑞 𝑟 + 𝑔 𝑞 − 𝐾 𝑑 𝑠
𝑞 𝑟 = 𝑞 𝑑 − 𝛬𝑞, 𝑠 = 𝑞 + 𝛬𝑞
Normally, you can get 𝑀 𝑞 , 𝐶 𝑞, 𝑞 𝑞, 𝑔(𝑞) from inverse-dynamics algorithm.
But, you need 𝑪(𝒒, 𝒒) alone in PBC!
When there was no method to get 𝐶(𝑞, 𝑞) efficiently, [Slotine and Lie, 1987] modifies the
control input like this,
𝜏 = 𝑀(𝑞)𝑞 𝑟 + 𝐶(𝑞, 𝑞)𝑞 + 𝑔 𝑞 − 𝐾 𝑑 𝑠
Now, you can refer to [D. Luca, 2009], [Bjerkeng, 2012] to get coriolis matrix efficiently.
This 𝐶(𝑞, 𝑞) is slightly different from original 𝐶(𝑞, 𝑞) calculated symbolically.
But, skew-symmetric property of 𝑀 − 2𝐶 is preserved.
12. Reference
[1] M. Takegaki and S. Arimoto, “A new feedback method for dynamic control of
manipulators,” ASME J. Dynam. Syst., 1981.
[2] B. Paden and R. Panja, “Globally asymptotically stable ‘PD+’ controller for robot
manipulators,” Int. J. Control., 1988.
[3] Slotine and Li, “On the Adaptive Control of Robot Manipulators”, The
International Journal of Robotics Research, 1987.
[4] H. Berghuis, H. Nijmeijer, "A passivity approach to controller-observer design for
robots", IEEE Trans. Robot. Autom., vol. 9, no. 6, pp. 740-754, Sep. 1993.
[5] Hatanaka, “Passivity-Based Control and Estimation in Networked Robotics”,
Springer, 2015.
[6] De Luca, “A Modified Newton-Euler Method for Dynamic Computations in Robot
Fault Detection and Control”, ICRA, 2009.
[7] Bjerkeng, “A new Coriolis matrix factorization”, ICRA, 2012.