单自由度质量块导纳控制的实现
本人在收集资料时候发现很多国内学者对阻抗控制及导纳控制的概念不是很清晰。国内很多学者将阻抗控制和导纳控制统称为阻抗控制,虽然两者都是来自同一个公式,但两者的思想截然相反。
本文章参考了链接: link.老哥的内容。
阻抗控制与导纳控制的异同
简单来说,阻抗控制和导纳控制都是柔性控制方法,只是观察的角度不同。这两种控制方法都能使得机器人在受到外界干扰时呈现出类似弹簧阻尼系统的特性。
考虑一个质量为
m
m
m的物块,它受一个驱动力
F
F
F,同时还有一个
F
e
x
t
F_{\mathrm{ext}}
Fext的外力。描述其动力学状态的方程如(1)式。
m
x
¨
=
F
+
F
e
x
t
(1)
m \ddot{x}=F+F_{\mathrm{ext}} \tag{1}
mx¨=F+Fext(1)
e
e
e为物块的实际位移与期望位移之差
e
=
(
x
−
x
0
)
(2)
e=\left(x-x_{0}\right) \tag{2}
e=(x−x0)(2)
其中
x
x
x是物块实际位移,
x
0
x_{0}
x0是物块的期望位移
那么如果想要使物体在外力
F
e
x
t
F_{\mathrm{ext}}
Fext的作用下体现出类似弹簧阻尼系统的特性,位移偏差
e
e
e与外力
F
e
x
t
F_{\mathrm{ext}}
Fext要就要满足下式
M
d
e
¨
+
D
d
e
˙
+
K
d
e
=
F
e
x
t
(3)
M_{d} \ddot{e}+D_{d} \dot{e}+K_{d} e=F_{e x t} \tag{3}
Mde¨+Dde˙+Kde=Fext(3)
其中
M
d
、
D
d
、
K
d
M_{d}、D_{d} 、K_{d}
Md、Dd、Kd是设定的阻抗参数
假设机器人末端受到外界一个冲击
阻抗控制的控制思路是检测外界冲击对系统造成的位移,速度等,然后根据位移量等和阻抗参数计算出机器人的下一个周期的控制力矩,从而使得机器人呈现出柔性(控制系统的内环是力闭环)。其控制框图如图1所示。
这里面有一点需要注意,一些文章中提出阻抗控制不需要使用力传感器检测外力,但图1中却将外力
F
e
x
t
F_{\mathrm{ext}}
Fext作为反馈量反馈回阻抗控制器中,这是为什么呢?
这里并不是说阻抗控制中不需要得知外力,而是说阻抗控制中不需要使用力传感器来检测外力。前提是必须精确知道该系统的动力学特性,比如质量、阻尼、刚度。当我们检测到系统受到外力后的位移量,可以通过系统的动力学方程反求这个外力。
联立(1)(2)(3)式我们就得到阻抗控制器公式(4)式
F
=
(
m
M
d
−
1
)
F
e
x
t
+
m
x
¨
0
−
m
M
d
(
D
d
e
˙
+
K
d
e
)
(4)
F=\left(\frac{m}{M_{d}}-1\right) F_{\mathrm{ext}}+m \ddot{x}_{0}-\frac{m}{M_{d}}\left(D_{d} \dot{e}+K_{d} e\right) \tag{4}
F=(Mdm−1)Fext+mx¨0−Mdm(Dde˙+Kde)(4)
即阻抗控制器输入位移量,输出力。
导纳控制的控制思想就是利用机器人末端的力传感器检测机器人受到的外力,然后根据这个外力和导纳参数计算出机器人下一个周期的位移量,从而使得机器人呈现出柔性(控制系统的内环是位移闭环)。
其具体公式如下
M
d
(
x
¨
d
−
x
¨
0
)
+
D
d
(
x
˙
d
−
x
˙
0
)
+
K
d
(
x
d
−
x
0
)
=
F
e
x
t
(5)
M_{d}\left(\ddot{x}_d-\ddot{x}_{0}\right)+D_{d}\left(\dot{x}_d-\dot{x}_{0}\right)+K_{d}\left(x_d-x_{0}\right)=F_{\mathrm{ext}} \tag{5}
Md(x¨d−x¨0)+Dd(x˙d−x˙0)+Kd(xd−x0)=Fext(5)
我们解(5)式这个微分方程,得到
x
d
x_d
xd,然后将
x
d
x_d
xd传递给内环位置闭环。
单质量块导纳控制simulink验证
程序框图如下,我会将程序上传
1.假设物块期望运动为静止,在10s时受到一个冲击,导纳控制结果如下。
2.假设物块期望运动为一正弦曲线,在10s时受到一个冲击,导纳控制结果如下。
程序链接: 天才小傲傲.
参考文献
Ott C , Mukherjee R , Nakamura Y . Unified Impedance and Admittance Control[C]// IEEE International Conference on Robotics & Automation. IEEE, 2010:554-561.