|
1 i$ S7 r, c: s: c% } 这篇文章介绍一下SEA驱动器中: 线性动力学模型及其简化(Linear Dynamics Model and its Simplification);力矩求导(Torque Derivation)这两块的内容是后续分析SEA弹性体刚度选择(Stiffness Selection)和相关SEA力矩控制(Torque Control)响应及性能的基础。因为SEA已经出现了将近20年,所以线性动力学模型和相关力矩求导都是经典内容——Nothing Special.
8 D; T+ ^+ t- ^" w1 F 我希望通过我的解释,能够让之前没有了解过SEA的伙伴们快速入门。 2 D( ]- G/ r. E+ Q% Y
阅读提示(线性动力学模型Eq. 7,Eq. 8重要,力矩求导Eq. 13重要,结论性公式)
5 ]1 i; @! R. u# n* I4 ?* n5 y3 n 线性动力学模型:
9 ?. F+ q7 p2 E) ^, V9 G6 n A
. _4 i0 j! T0 K( i, ~ 上图展示了SEA驱动器的实际物理结构(左图),我着重圈出了三个方块: 红色方块: 电机转子(Motor Rotor)绿色方块:减速箱(Gearbox)蓝色方块:输出端(Load)其中减速箱端与输出端串联关键的弹性体对应的物理模型如上右图所示:红色(Motor)---绿色(Gearbox)---输出端(Load)
- F" @7 _# ^$ F, y- a, b6 a; ]2 F 其中:
% S" c! \# _8 d Im:I_{m}: 电机转子惯量; Ig:I_{g}: 齿轮箱惯量; Il:I_{l}: 输出端惯量;
* u8 } w: f& h) h5 C. [4 t kg,dmg:k_{g}, d_{mg}: 齿轮箱端与电机端之间的刚度与阻尼; 5 v5 R' P6 R: S$ k
kb,dgl:k_{b}, d_{gl}: 输出端与齿轮箱端之间的刚度与阻尼;
F0 A* d( q. F$ ^, d5 R( G; p qm,qg,ql:q_{m}, q_{g}, q_{l}: 电机端,齿轮箱端,输出端绝对位置;
" G# P8 L. B. ]5 f: h τm,τe:\tau_{m}, \tau_{e}: 电机端输出扭矩(电机线圈产生),输出端扭矩(与外部环境交互产生); 4 |8 U) M1 _ u$ v
dm,dg,dl:d_{m}, d_{g}, d_{l}: 电机、齿轮箱与输出端与驱动器外壳间的粘滞阻尼; + l; x- V6 V. g! k0 T. j. S
△=qg−ql:\triangle=q_{g}-q_{l}: 输出端与齿轮箱端绝对位置偏角(重要参数)
" n0 B+ S; j+ h/ g8 I9 x3 s 线性动力学的模型的核心其实就是各个模块上的扭矩平衡,如下:
: |2 p# Y0 S4 N$ t% b- k3 y7 Z9 R. [* Y 电机端扭矩平衡Eq. 1: : i/ a0 `! z! p2 Y8 r& D" D
Imqm¨=τm−dmqm˙+dmg(qg˙−qm˙)+kg(qg−qm)I_{m}\ddot{q_{m}}=\tau_{m}-d_{m}\dot{q_{m}}+d_{mg}(\dot{q_{g}}-\dot{q_{m}})+k_{g}(q_{g}-q_{m}) ; * L1 k: g! {( y3 V0 A3 }
齿轮箱端扭矩平衡Eq. 2: ' G: t' ^7 P. Y1 p h! C2 w& P
Igqg¨=−dgqg˙−dmg(qg˙−qm˙)−kg(qg−qm)+dgl(ql˙−qg˙)+kb(ql−qg)I_{g}\ddot{q_{g}}=-d_{g}\dot{q_{g}}-d_{mg}(\dot{q_{g}}-\dot{q_{m}})-k_{g}(q_{g}-q_{m})+d_{gl}(\dot{q_{l}}-\dot{q_{g}})+k_{b}(q_{l}-q_{g}) ;
5 @4 J8 l; q8 T" Q 输出端扭矩平衡Eq. 3: & q$ k z$ V# o6 g% o' a
Ilql¨=τe−dlql˙−dgl(ql˙−qg˙)−kb(ql−qg)I_{l}\ddot{q_{l}}=\tau_{e}-d_{l}\dot{q_{l}}-d_{gl}(\dot{q_{l}}-\dot{q_{g}})-k_{b}(q_{l}-q_{g}) ; * O$ ^6 ?4 h M2 V# S5 t$ b7 c
这里还需要提及到的是在Eq. 3中的最后两项可以写成如下的形式Eq. 4 (重要!): # ?: [7 g) b2 m2 I( w
−dgl(ql˙−qg˙)−kb(ql−qg)=kb△+dgl△˙=τ;-d_{gl}(\dot{q_{l}}-\dot{q_{g}})-k_{b}(q_{l}-q_{g})=k_{b}\triangle+d_{gl}\dot{\triangle}=\tau; $ R: ]3 B3 S- V. W( {- L+ Y2 |
注意:这里的 τ\tau 是和之前的定义的 τe\tau_{e} 是有区别的, τ\tau 在这里是齿轮箱向输出端传递的力矩。当处于输出平衡状态时,有如下等式Eq. 5: 0 Z: K8 x& s/ z* C
−τe=τ−dlql˙;-\tau_{e}=\tau-d_{l}\dot{q_{l}}; 2 d! v+ j$ _2 N8 r
工程经验:即使在输出端环节, ,τ,τe\tau,\tau_{e} 也是相差一个 dlql˙d_{l}\dot{q_{l}} ,这里的dld_{l} 是输出端与驱动器外壳的粘滞系数,与机械设计环节轴孔支撑的公差与装配手艺有重要的关系。 % m6 \: f5 m+ [+ ]1 m
模型简化:
% Y# Y) K2 v. d4 ~6 G4 Z2 w- R" Q 首先对于Eq. 4可以简化为Eq. 6: 4 w% T, ~ E' C; W2 t! _0 c* W
τ=kb△+dgl△˙⇒τ≈kb△;\tau=k_{b}\triangle+d_{gl}\dot{\triangle}\Rightarrow \tau\approx k_{b}\triangle; / B& @' D" d' J. l8 {) t: ?
(一般齿轮箱与输出端的弹性体都是金属材料,其阻尼系数可以忽略不计,即 dgl≈0d_{gl}\approx0 ) ; ]/ j, S* x5 ^4 I$ [: C
对于大部分SEA驱动器而言,谐波减速器的刚度都远远大于柔性传动元件,因此我们可以将谐波减速器考虑成刚体(Rigid Body),即: ; b4 e' Y( ^( W: t& Y
qm≡qg,qm˙≡qg˙,qm¨≡qg¨;q_{m}\equiv q_{g}, \dot{q_{m}}\equiv \dot{q_{g}}, \ddot{q_{m}}\equiv \ddot{q_{g}}; - B4 s5 v7 S. T. l9 z. B; R2 S
所以对于Eq. 1与Eq. 2我们可以简化成如下Eq. 7 (重要!):
, G+ r0 P3 ~% V# ~" z (Im+Ig)qm¨=τm+kb(ql−qm)+dgl(ql˙−qm˙)−(dm+dg)qm˙;(I_{m}+I_{g})\ddot{q_{m}}=\tau_{m}+k_{b}(q_{l}-q_{m})+d_{gl}(\dot{q_{l}}-\dot{q_{m}})-(d_{m}+d_{g})\dot{q_{m}};
; a2 X' r h" H. k" q9 O0 o 对于Eq. 3可以改写成如下Eq. 8: 8 V( }+ g. [+ g9 E" h
Ilql¨=τe−dlql˙−dgl(ql˙−qm˙)−kb(ql−qm);I_{l}\ddot{q_{l}}=\tau_{e}-d_{l}\dot{q_{l}}-d_{gl}(\dot{q_{l}}-\dot{q_{m}})-k_{b}(q_{l}-q_{m}); ; `% P6 v3 U6 \! u9 n1 O
力矩求导:
; e3 l6 L2 J. B+ l" d, L; L 这部分内容中通过拉普拉斯变换与一系列数学推导,我们将试图得到在频域下:
+ @: [! t7 O+ e# B' `+ j 输出量 τ(s)\tau(s) 与输入量 τ∗(s),ql(s)\tau^{\ast}(s), q_{l}(s) 之间的关系:
; I' }3 ~5 t) T: t; B* y τ(s)\tau(s) :频域下实际输出扭矩——电机端传递到输出端; , j" g N" L2 p7 B4 B
τ∗(s)\tau^{\ast}(s) :频域下目标扭矩; - e" @* v [, B A; p( n
ql(s)q_{l}(s) :频域下输出端绝对位置;
9 \# C$ |0 n7 v9 N+ |/ N 以上即为处理公式Eq. 7的数学目标。 ; d' j) w* ]4 W* ?* \
1. 处理 qm(s)q_{m}(s) 4 E+ t# B( Y) E d @
首先,对线性动力学模型得到的Eq. 7进行拉普拉斯变换,并代入 qm(s)−ql(s):=△(s)q_{m}(s)-q_{l}(s):=\triangle(s) 进行改写,我们得到Eq. 9: 1 F$ o6 \( B' Y }+ p$ G p2 L
[Is2+(dM+dgl)s+kb]△(s)=−[Is2+dMs]ql(s)+τm(s);where,I=Im+Ig,dM=dm+dg[Is^{2}+(d_{M}+d_{gl})s+k_{b}]\triangle(s)=-[Is^{2}+d_{M}s]q_{l}(s)+\tau_{m}(s); \\where, I = I_{m}+I_{g}, d_{M}=d_{m}+d_{g} 1 a* N% x5 q; `4 _
我们仔细观察Eq. 9, 通过 qm(s)−ql(s):=△(s)q_{m}(s)-q_{l}(s):=\triangle(s) 的代入,我们已经消除了 qm(s)q_{m}(s) 这个电机端的位置变量,下一步要做的就是处理 τm(s)\tau_{m}(s) 这个电机端的输出力矩。 % [) R' R- X8 A2 |7 K; h2 i
2. 处理 τm(s)\tau_{m}(s) 2 B1 b$ O' T: L: e& j: e% S
假设我们使用了一种如下形式的反馈控制器, 4 g9 a6 Y) O5 y
C(s)=Kp+Kds;C(s)=K_{p}+K_{d}s; , l5 u% K; | ~( W1 l- z; w) |' A
这种控制器是用来测量角度偏转 △\triangle , 并且假设前馈控制为 ()λ(s)\lambda(s), 8 U) }& w, D9 Y& t" _8 |
那么我们得到如下Eq .10:
( ^4 o) k3 y5 k2 U. x; n τm(s)=C(s)(τ∗(s)−τ(s))+λ(s)τ∗(s);where,τ(s)≈kb△(s)\tau_{m}(s)=C(s)(\tau^{\ast}(s)-\tau(s))+\lambda(s)\tau^{\ast}(s); \\where, \tau(s)\approx k_{b}\triangle(s)
+ Q3 @. d& S& V, x 将Eq .10代入Eq. 9, 我们将得到Eq. 11: 6 T6 o! c+ ~( q( ]# D% B8 X1 d ~
[Is2+(dM+dgl)s+kb(1+C(s))]△(s)=−[Is2+dMs]ql(s)+[C(s)+λ(s)]τ∗(s);[Is^{2}+(d_{M}+d_{gl})s+k_{b}(1+C(s))]\triangle(s)=-[Is^{2}+d_{M}s]q_{l}(s)+[C(s)+\lambda(s)]\tau^{\ast}(s);
4 f1 b" |# U$ F; C0 A 这里,我们看到Eq. 11中,我们要的 τ∗(s),ql(s)\tau^{\ast}(s), q_{l}(s) 都已经在等号右边出现。
" p5 r$ r$ e, I3 A X$ p4 G8 K7 {6 f; M: k 3. 处理 τ(s)\tau(s)
, F. y: C; P4 t* b: S, n( C7 M 我们从Eq. 4可以知道 ()τ(s)=(kb+dgls)△(s)\tau(s)=(k_{b}+d_{gl}s)\triangle(s) ,将其代入Eq. 11的等号左边,我们得到Eq. 12:
5 g% p0 H& R5 V+ C τ(s)=−[Is2+dMs]ql(s)+[C(s)+λ(s)]τ∗(s)−(Is2+dMs+kbC(s))△(s);\tau(s)=-[Is^{2}+d_{M}s]q_{l}(s)+[C(s)+\lambda(s)]\tau^{\ast}(s)-(Is^{2}+d_{M}s+k_{b}C(s))\triangle(s);
2 p8 K4 q: h8 B( V' t: i& J 4. 整理 7 I9 F2 D, f* }; V# l' u! I# B: g
将Eq. 12整理如下得到Eq. 13: * e% a3 w2 h7 Z" F- Y0 q& D# J
τ(s)=(kb+dgls)[△τ∗(s)τ∗(s)+△ql(s)ql(s)];where△τ∗(s)=△(s)τ∗(s)=Kds+Kp+λ(s)Is2+D△s+K△;△ql(s)=△(s)ql(s)=−(Is2+dMs)Is2+D△s+K△;andD△=kbKd+dM+dgl;K△=kb(Kp+1);\tau(s)=(k_{b}+d_{gl}s)[\triangle_{\tau^{\ast}}(s)\tau^{\ast}(s)+\triangle_{ql}(s)q_{l}(s)]; \\where \\\triangle_{\tau^{\ast}}(s) = \frac{\triangle(s)}{\tau^{\ast}(s)}= \frac{K_{d}s+K_{p}+\lambda(s)}{Is^{2}+D_{\triangle}s+K_{\triangle}}; \\\triangle_{ql}(s)=\frac{\triangle(s)}{q_{l}(s)}=\frac{-(Is^{2}+d_{M}s)}{Is^{2}+D_{\triangle}s+K_{\triangle}}; \\and \\D_{\triangle}=k_{b}K_{d}+d_{M}+d_{gl}; \\K_{\triangle}=k_{b}(K_{p}+1);
: p3 G) _, r5 ]3 W8 P Eq. 13算是SEA的力矩求导下,通过拉普拉斯变换结论性的公式,如果不需要知道相应的推导过程,可以直接拿去使用。其对于分析SEA驱动器的力控性能至关重要——包括透明度(Transparency)和力矩追踪能力(Torque Tracking). + P* k, _4 ~# F6 y
(所有的公式都是我在知乎网页上Latex一个一个敲出来的,不保证全部正确。如果真的有小伙伴能够看完所有公式,给我纠正出错误,我非常开心和感激!) 8 r6 f* O. a8 n5 T" ?
对于SEA驱动器硬件结构不是很了解的小伙伴,附上我以前写过的介绍链接: 6 r: T" J9 R% |+ O- k- K
一种带力矩、位置传感器的紧凑人型机器人SEA驱动器(带谐波减速器)机械设计方案 , e9 i4 K* z$ P
Strain Gauge or Encoder Based? 关于SEA力矩测量原理选择的浅谈
: Z( z8 V3 K+ \2 G% ?6 | D 参考文献:Roozing, Wesley, Jörn Malzahn, Navvab Kashiri, Darwin G. Caldwell, and Nikos G. Tsagarakis. "On the Stiffness Selection for Torque-Controlled Series-Elastic Actuators." IEEE Robotics and Automation Letters 2, no. 4 (2017): 2255-2262.Pratt, Gill A., and Matthew M. Williamson. "Series elastic actuators." In Intelligent Robots and Systems 95.Human Robot Interaction and Cooperative Robots, Proceedings. 1995 IEEE/RSJ International Conference on, vol. 1, pp. 399-406. IEEE, 1995.
$ D; C% u6 N9 t; I& o. C, [* e _) y% s* y4 y; H
1 F: _7 ?: a, i4 t6 ^1 w- M2 N( s. O% d$ A; t
+ n6 y& b' c1 s7 j @2 C( N2 I |