阻抗控制思想、实现与控制框图
阻抗控制是一种与力和位置相关的动态控制方法。它通常用于机器人与其环境交互并且力位置关系受到关注的应用中。此类应用的示例包括人类与机器人交互,其中人类产生的力与机器人应该移动/停止的速度有关。
机械阻抗是力输出与运动输入之比,这类似于电阻抗,即电压输出与电流输入之比(例如,电阻是电压除以电流)。“弹簧常数”定义了弹簧拉伸或压缩的力输出。“阻尼常数”定义了速度输入的力输出。如果我们控制一个机制的阻抗,我们就是在控制对环境施加的外部运动的阻力。
机械导纳是阻抗的倒数 - 它定义了由力输入产生的运动。如果机制向环境施加力,环境将移动或不移动,具体取决于其属性和所施加的力。例如,放在桌子上的大理石对给定力的反应与漂浮在湖中的圆木的反应截然不同。
该方法背后的关键理论是将环境视导纳,将机械手视为阻抗。它假设“没有控制器可以使操纵器在环境中看起来像物理系统以外的任何东西”。这个“经验法则” ,也被称为“霍根法则”,也可以表述为:“在最常见的情况下,环境是一个导纳(例如一个质量,可能在运动学上受到约束),该关系应该是一个阻抗,一个函数,可能是非线性的,动态的,甚至是不连续的,指定响应环境施加的运动而产生的力。”
原理
阻抗控制不只是调节机构的力或位置。相反,它一方面调节力和位置之间的关系,另一方面调节速度和加速度之间的关系,即机构的阻抗。它需要一个位置(速度或加速度)作为输入,并有一个合力作为输出。阻抗的倒数是导纳。它强加了立场。所以实际上控制器通过保持力之间的动态关系对机构施加弹簧质量阻尼器行为F以及位置、速度和加速度。
![]()
质量M和弹簧K是能量储存元件,而阻尼器C是一种能量耗散装置。如果我们可以控制阻抗,我们就可以控制交互过程中的能量交换,即正在完成的工作。所以阻抗控制就是交互控制 。
机械系统本质上是多维的 - 典型的机器人手臂可以将物体放置在三个维度 (x,y,z)坐标和三个方向(例如滚动,俯仰,偏航)。理论上,阻抗控制器可以使机构表现出多维机械阻抗。例如,该机构可能沿一个轴非常僵硬而沿另一轴非常柔顺。通过补偿机构的运动学和惯性,我们可以在各种坐标系中任意定位这些轴。例如,我们可能会导致机器人零件夹持器在与砂轮相切的方向上非常坚硬,同时在砂轮的径向轴上非常柔顺(控制力而几乎不关心位置)。
关节空间
不受控制的机器人可以用拉格朗日公式表示为:
![]()
q表示关节角位置,M 是对称正定惯性矩阵,c科里奥利和离心扭矩,g重力力矩,h包括来自例如固有刚度、摩擦等的进一步扭矩,以及来自环境的所有外力。驱动扭矩是机器人的输入变量。
可以提出以下形式的控制律:
![]()
qd表示所需的关节角位置,K、D是控制参数,其他是相应力学项的内部模型。
因此,
![]()
闭环系统(受控机器人)的方程:

由于K、D具有刚度和阻尼的量纲,它们通常分别称为刚度和阻尼矩阵。显然,受控机器人本质上是对环境的多维机械阻抗(质量-弹簧-阻尼器),通过以下方式解决交互接触力矩。
任务空间
同样的原则也适用于任务空间。不受控制的机器人在拉格朗日公式中具有以下任务空间表示:
![]()
控制定律如下:
![]()
因此,可以在任务空间中选择所需的阻抗(主要是刚度)。例如,人们可能希望通过设置使受控机器人在一个方向上表现得非常僵硬,而在其他方向上相对顺从。
-------------------------------------------------------------------------------------------
2022.02.14
DOB与阻抗控制力控之间的联系
为避免机器人末端与外部环境过度接触而对机器人造成损坏,需要对接触力进行高精度控制。力/位置控制、阻抗控制和导纳控制是机器人的几种经典力控制方法。然而,这些方法存在一定的局限性。例如,在外扰过大的情况下,收敛速度较慢,特别是在磨削加工等应用中的恒力控制,可能会导致接触力的较大波动。
所有这些方法都是通过在机器人末端安装一个力/扭矩传感器获得的力信息,并与控制算法进行融合,这可能导致力/扭矩传感器的成本较高。 - 包含设备集成和后续维护。
开发不需要力/扭矩传感器的机器人末端接触力控制方法。一种简单的方法是直接通过雅可比矩阵和关节扭矩来估计机器人末端力。关节扭矩的获取方法有两种:一种是额外安装关节扭矩传感器,另一种是转换关节伺服电机的电流信号。由于一般工业机器人没有关节扭矩传感器,因此通常采用后一种方法。
但在实际应用中,由于交流伺服电机电流信号的噪声和动态建模的不准确,这种方法不善于估计机器人末端力。选择一种新型直流电机机器人,研究无力/力矩传感器的机器人端部接触力控制。
对于一般基于交流伺服电机的工业机器人,应使用扰动观测器进行机器人端部接触力估计,因此该方法是一种基于机器人内部信号的估计方法。与直接使用关节力矩和雅可比矩阵相比,扰动观测器实际上起到了过滤器的作用,有助于获得较高的估计精度。
策略:使用每个关节的扰动观测器获得等效的机器人动力学模型,设计输出估计器来估计内部力矩,并使用扰动观测器和输出估计器之间的差异来估计端部力。
扰动观测器可以用交流伺服电机信号代替力/扭矩传感器测量信号,以获得基本的力信息,从而实现机器人末端恒力跟踪控制。
扰动观测器基于广义动量,被选择用于以伺服电机信号作为输入来估计作用在机器人末端的力,从而为力控制器而不是力传感器提供控制输入。此外,扰动观测器具有滤波作用,可以降低RV减速器和谐波减速器引起的噪声伺服电机转矩信号,提高外力估计的准确性。因此,解决了直接通过关节扭矩映射估计外力精度不够的问题。
————————————————————————————————————————
2023.0704.15:37
机器人阻抗控制是一种控制策略,旨在使机器人与环境之间的力互动表现得像一个可调节的弹簧-阻尼系统。通过调节机器人的刚度、阻尼和质量参数,可以实现对机器人在与环境接触时的力响应的控制。
在阻抗控制中,机器人的力/力矩传感器被用来测量与环境的力互动,而不是直接控制机器人的关节位置或速度。控制算法根据测量到的力信号,计算出对应的期望位置或力矩指令,从而实现与环境的力交互。
阻抗控制的优点包括:
-
适应性:阻抗控制可以根据不同的环境力需求调整机器人的响应特性,适应不同的任务和工作环境。
-
灵活性:通过调节阻抗参数,可以实现机器人与环境的不同力交互模式,如刚性、柔软或粘性等。
-
安全性:阻抗控制可以通过对机器人与环境的力进行监测和响应,实现碰撞检测和避障,从而保护机器人和周围环境的安全。
-
精确性:通过精确控制机器人的力响应,阻抗控制可以实现对工件的精确力控制和力/位置调节。
在实际应用中,阻抗控制可以用于各种机器人任务,包括物体抓取、装配、协作操作等。它可以改善机器人与环境之间的交互性能,使机器人更加灵活、安全和适应不同的工作环境。
单关节一维力矩传感器机器人上实现阻抗控制,可以按照以下步骤进行:
-
传感器选择:选择合适的一维力矩传感器,用于测量机器人与环境之间的力互动。传感器的选择应考虑力测量范围、精度和响应速度等因素。
-
控制算法设计:设计适用于单关节机器人的阻抗控制算法。该算法应根据传感器测量到的力信号,计算出相应的期望力矩指令。常见的阻抗控制算法包括基于位置的阻抗控制和基于力矩的阻抗控制。
-
控制器设计:根据控制算法设计相应的控制器,用于实现期望力矩指令与电机控制信号之间的转换。控制器可以是硬件控制器或者基于微控制器或嵌入式系统的软件控制器。
-
驱动器选择:选择适合的驱动器用于驱动机器人的电机。驱动器应具备足够的功率和控制精度,能够根据控制器输出的信号控制电机的力矩。
-
实时控制:在实时控制环境下,将传感器测量到的力信号与期望力矩指令输入到控制器中,控制器根据算法计算出电机的控制信号,驱动器将信号传递给电机控制电流或速度,实现阻抗控制。
需要注意的是,在单关节一维力矩传感器机器人上实现阻抗控制时,机械结构的刚度、阻尼和惯性等参数也会对控制性能产生影响。因此,系统设计时应综合考虑机械结构和控制算法的匹配,以达到期望的阻抗响应效果。
控制框架:
+------------------+
| 上位机 |
+------------------+
|
控制指令
|
+------------------+
| 控制器 |
+------------------+
|
关节位置/力矩反馈
|
+------------------+
| 控制策略 |
+------------------+
|
力矩设定值
|
+------------------+
| 力矩调节器 |
+------------------+
|
控制力矩指令
|
+------------------+
| 驱动器 |
+------------------+
|
电机输出力矩
|
+------------------+
| 机械执行器 |
+------------------+
|
环境力互动
在这个框图中,各个组件的功能如下:
- 上位机:负责生成控制指令,可以基于用户输入、传感器反馈或预先定义的轨迹等来确定。
- 控制器:接收控制指令和关节位置/力矩的反馈,根据所选的控制策略计算出力矩设定值。
- 控制策略:根据控制需求和应用场景,选择合适的阻抗控制策略,例如刚度阻抗、阻尼阻抗等。
- 力矩调节器:根据设定的力矩值和实际力矩的偏差,计算出控制力矩指令。
- 驱动器:接收控制力矩指令,将其转换为电机所需的控制信号。
- 机械执行器:将电机输出的力矩转化为机械执行器与环境之间的力互动。
在阻抗控制中,控制策略起着关键作用,它决定了机器人对外界力的响应方式。根据所选的阻抗控制策略,控制器计算出相应的力矩设定值,力矩调节器将该设定值与实际力矩的偏差进行处理,生成控制力矩指令。驱动器将控制力矩指令转化为电机的控制信号,进而控制机械执行器的输出力矩。
需要根据具体的应用需求和机器人系统的特点,选择适当的控制策略和参数调节方式。此外,还需要注意传感器的准确性和采样率,以及控制器和驱动器的性能和稳定性等因素,以确保阻抗控制的有效实现。




基于位置内环的阻抗控制和基于力内环的阻抗控制是两种不同的控制策略,它们在控制目标、控制器设计和实现方式上存在一些区别。
-
控制目标:
- 基于位置内环的阻抗控制主要关注机器人末端位置的精确控制。它通过调节关节位置的控制指令来实现期望的阻抗行为,使机器人能够精确地跟踪给定的位置轨迹或保持特定的位置稳定性。
- 基于力内环的阻抗控制主要关注机器人末端受力和与外界环境的力互动。它通过调节关节力矩的控制指令来实现期望的阻抗行为,使机器人能够对外界力的变化做出柔性响应,例如保持一定的刚度或阻尼。
-
控制器设计:
- 基于位置内环的阻抗控制通常采用位置反馈控制器,其输入是末端位置的设定值和反馈信号,通过比较两者来生成关节位置的控制指令。常见的控制器类型包括PID控制器和高级控制器(如模型预测控制)。
- 基于力内环的阻抗控制通常采用力反馈控制器,其输入是期望力矩和实际力矩的偏差,通过比较两者来生成关节力矩的控制指令。常见的控制器类型包括PID控制器、基于模型的控制器(如自适应控制器)和基于力传感器的控制器。
-
实现方式:
- 基于位置内环的阻抗控制通常通过位置传感器来获取末端位置的反馈信号,并将其与设定值进行比较。控制器根据比较结果生成关节位置的控制指令,进而驱动机器人末端实现位置控制。
- 基于力内环的阻抗控制通常通过力传感器来获取末端受力的反馈信号,并将其与期望力矩进行比较。控制器根据比较结果生成关节力矩的控制指令,进而驱动机器人末端实现力控制和阻抗调节。





[PDF] Impedance control using a cascaded loop force control

Real-Time Impedance Control Based on Learned Inverse Dynamics | SpringerLink



Active Impedance Control of Bioinspired Motion Robotic Manipulators: An Overview

PDF] Employing Cartesian Impedance Control for the Opening of a Door : A Case Study in Mobile Manipulation |

Examples · Introduction to Open-Source Robotics

Impedance Control Strategy and Experimental Analysis of Collaborative Robots Based on Torque Feedback


DLR - Institute of Robotics and Mechatronics - Controlling Light-Weight Robotics
——————————————————————————————————————
2023.07.11
输出努力和输入流的比率。输出力是由机械手与环境之间的相互作用运动所产生的接触力。输入流量是指机械手的速度。
![]()
![]()
![]()
![]()
在时域上,阻抗通常可以用微分方程表示为:
![]()
阻抗控制可以定义为一种能够通过调整运动与接触力之间的动态关系(即阻抗)来实现对运动和接触力的同时调节的控制方案。
![]()


Force-tracking Ability :
![]()
不同控制方案之间的对比:

虚拟轨迹指定了机械手将“推”或“拉”的方式,但实际运动取决于其阻抗特性和环境的特性。它被称为“虚拟的”,因为它不一定是一个物理上可实现的轨迹。

机械手的轨迹与其虚拟轨迹的偏差产生了一个力响应,这取决于机械手的交互特性。
![]()
![]()
![]()
在末端空间:
![]()
简单的阻抗控制器不依赖于力反馈,也不需要力传感器。如果由机器人的惯性和摩擦力引起的力足够小,机器人的交互端口行为将接近于期望的阻抗。如果动作较慢,惯性力就会下降,如果机器人处于固定的姿势,惯性力就会消失。因此,一个简单的阻抗控制器在某些应用中是相当有效的。当速度较慢的运动时,摩擦力也可能会下降,但特别是由于干摩擦,当机器人停止移动时,摩擦不需要消失。这就是为什么在需要低阻抗、低惯性和摩擦的应用中,在交互式机器人的设计中是可取的。
简单阻抗控制律与影响关节空间中实际轨迹和虚拟轨迹误差的PD运动控制器非常相似。根据上述概述的假设(一个被建模为由可控力驱动的质量的机器人),阻抗控制器的刚度K和阻尼B分别对应于比例增益和导数增益。非线性简单阻抗控制器类似于一个增益调度的PD运动控制器,其中非线性变换调整比例和导数增益,以实现恒定的末端执行器行为。
简单的阻抗控制器还有另一个重要的特点。只要控制器精确地模仿弹簧和阻尼器的行为,机器人的行为就与它将一个真正的弹簧和阻尼器连接到虚拟轨迹完全相同。如果虚拟轨迹指定了一个恒定的姿态,那么整个系统(机器人加上控制器)都是被动的,因此,保证了与所有被动环境的稳定交互。无论实际质量、阻尼和控制器增益,耦合不稳定性完全消除。事实上,即使相互作用发生在末端执行器以外的点,这也是正确的,无论是无意的还是故意的(例如,考虑使用肘部或其他身体部位来操纵)(Hogan,1988)。此外,由于简单的阻抗控制器不依赖于力反馈控制来形成阻抗,因此它不容易受到当结构模式与力反馈回路相互作用时可能发生的无源性的损失。
随着机器人固有阻抗的降低,其性能变得更好。在实践中,尽管这种实现在某些应用程序中表现良好,但它也有局限性。有几个因素使控制器的阻抗成为非被动的,包括离散时间控制器的实现和执行器和传感器之间的非建模动力学。在这种情况下,不能保证所有环境的稳定性。与此同时,创建低阻抗硬件可能是困难的,特别是对于复杂的几何图形。尽管如此,该方法仍然相当成功,特别是当与高度可背驱动的设计结合使用时。


交互控制器的基本目标是将系统对交互端口输入的动态响应的某些指定理想的偏差最小化。从某种意义上说,运动控制器和力控制器都尝试同样的任务,尽管每个控制器都只关注一个端口变量。一个具有零导纳或无限阻抗的系统对任何施加的力都没有反应。换句话说,它施加运动,而它的运动不受任何外力的影响。这种理想是纯运动控制机械手的目标。相反,由零阻抗或无限导纳的系统施加的力对其相互作用端口的运动没有依赖。换句话说,它是理想的纯力控制器。那些设计运动或力控制器的人实际上决定放弃相互作用稳定性的保证,而倾向于最大化或最小化端口阻抗。这可能适用于机器人与其环境之间交换的工作可以忽略不计的应用。对于不能忽视功率交换的应用,交互控制提供了适应其影响的技术。
更多推荐
https://meche.mit.edu/people/faculty/neville@mit.edu
所有评论(0)