阻抗控制(Admittance Control)和导纳控制(Impedance Control)和是两种常用的机器人控制方法。
1. 阻抗控制与导纳控制的区别
1.1 响应特性
阻抗控制具有刚性、精确的响应特性,类似于刚体系统。机器人的力取决于末端执行器的运动或位置。
导纳控制具有柔软、顺从的响应特性,类似于弹簧系统。机器人的运动取决于外部施加的力。
1.2 控制方式
阻抗控制基于位置或运动的控制,来调节机器人的力。(位置控制外力)
导纳控制基于力的控制,来调节机器人的运动。(外力控制位置)
1.3 应用场景
阻抗控制适用于需要对外部环境施加精确力或位置控制的场景。如力控制、刚性操作等。
导纳控制适用于需要与外部力交互并保持柔软性和适应性的场景。如装配、接触任务等。
1.4 参数控制
阻抗控制的主要参数是 质量
M
(
q
)
M(q)
M(q)、阻尼
D
D
D 和 刚度
K
K
K,用于调节机器人对外部位移或运动的响应性。
导纳控制的主要参数是 阻尼
D
D
D 和 刚度
K
K
K,用于调节机器人对外部力的响应性。
2. 阻抗控制
在阻抗控制中,机器人的运动受到环境力的影响,通过调节机器人的力与位置之间的关系,实现对机器人运动或者位置的精确控制。以下是阻抗控制的基本公式模型及其解释:
2.1 机器人动力学模型
机器人动力学模型描述了机器人系统的运动方程,通常使用广义坐标来表示,动力学模型可以表示为:
2.2 机器人阻抗模型
机器人阻抗模型通过引入阻抗矩阵 K 和阻尼矩阵 D 来描述机器人对外部力的响应:
2.3 控制力计算
阻抗控制的目标是生成控制力
τ
\tau
τ,使机器人末端执行器的运动满足阻抗模型中的期望响应。控制力
τ
\tau
τ 可以通过以下方式计算:
2.4 末端阻抗控制器
总结以上,对于机器人末端执行器的运动方程可以表示为:
补充:在阻抗控制模型中,重力向量
τ
g
(
q
)
\tau_{g}(q)
τg(q) 会被考虑(尤其在与环境交互中,eg:重力补偿、姿态控制),但是一般不会显式地单独列出重力向量
τ
g
(
q
)
\tau_{g}(q)
τg(q) ,而是将重力的影响包含在惯性矩阵
M
(
q
)
M(q)
M(q)中。
3. 导纳控制
导纳控制基于力的控制策略,通过控制末端执行器的运动和力之间的关系,使机器人的运动与外部力的作用产生相应的柔软性,类似于 弹簧-阻尼 系统的响应。
3.1机器人动力学模型(同2.1)
3.2机器人末端导纳模型
末端导纳模型用于描述机器人末端执行器对外部力的响应,通常采用如下的模型:
3.3末端导纳控制器
末端导纳控制器通过设定合适的控制策略来使得机器人末端执行器按照期望的力或位置响应外界的干扰。典型的末端导纳控制器公式可以表示为: