新闻中心

灵巧手夹爪的力控算法有哪些?阻抗控制与导纳控制有何区别?

一、 引言:从位置控制到力控的演进

随着智能制造与服务的普及,机器人的应用场景从传统的结构化工业环境扩展到非结构化的复杂现实世界。在这一转型过程中,机械臂末端安装的夹爪不再仅仅是简单的抓取工具,而是需要具备感知、适应和柔顺交互能力的智能终端。

早期的夹爪控制主要依赖位置闭环,即通过电机编码器反馈精确控制手指的开合位移。这种控制在处理刚性、几何形状固定的物体时表现尚可,但在面对软体、易碎品、不规则物体或需要进行装配、插拔等需要接触力的操作时,显露出明显的局限性。

位置控制的固有缺陷在于其对“刚性”假设的依赖。当夹爪强行以固定位置模式去触碰未知表面或施加过大夹紧力时,极易导致物体变形、损坏,甚至引发夹爪自身结构的损伤。此外,在人机协作场景中,如果夹爪缺乏力感知与柔顺调节能力,一旦发生意外碰撞,可能造成严重的安全事故。因此,引入力控算法,使夹爪具备“触觉”,能够根据接触力的变化动态调整运动状态,成为必然选择。

力控算法的核心目标是在保持期望运动轨迹的同时,精确管理接触力的大小与方向。对于灵巧手夹爪而言,由于其构型复杂、耦合性强、关节刚度变化大,实施力控比传统刚性机械臂更具挑战性。目前的力控方法大致可分为间接力控和直接力控两大类,而在间接力控中,阻抗控制和导纳控制因其无需高精度接触点检测、鲁棒性较好而占据主导地位。理解这些算法的原理与区别,是设计高性能灵巧手的基础。

二、 灵巧手夹爪的主要力控算法分类

在深入阻抗与导纳之前,我们需要对灵巧手领域常用的力控制方法有一个整体的认知版图。这些方法各有优劣,适用于不同的任务需求。

(一) 直接力控算法

直接力控是指通过安装在指尖或关节处的力传感器直接测量接触力,并将该力信号作为控制系统的反馈输入,形成力闭环。这是最直观的控制方式。

纯力反馈控制

基本原理是将期望的接触力与实测力的偏差输入控制器(如PID控制器),输出电机扭矩指令以消除误差。这种方法结构简单,理论上可以实现高精度的力跟踪。

然而,在实际应用中,它面临巨大的挑战。首先是传感成本问题,高分辨率、小体积的六维力/力矩传感器往往昂贵且笨重,难以集成进精细的灵巧手指尖。其次是稳定性问题,当夹持对象较软或环境刚度较低时,单纯的位置-力切换容易导致系统震荡,因为位置刚度和力刚度在电气回路与机械结构中存在复杂的相互作用。

混合力位控制(Hybrid Force/Position Control)

由John Craig提出的一种经典策略,它将工作空间划分为子空间。在某些自由度上进行位置控制(如沿接触面滑动),在其他自由度上进行力控制(如垂直于接触面的压紧力)。这种方法适用于已知几何形状的装配任务。但对于灵巧手这种高度耦合的多自由度系统,雅可比矩阵的计算复杂,且在奇异点附近容易失控,因此在通用灵巧操作中的普适性受限。

(二) 间接力控算法(阻抗/导纳)

由于直接力控对传感器和模型的依赖性过强,间接力控应运而生。间接力控不直接测量外力,而是通过测量关节位置和速度,结合动力学模型或利用电机自身的电流反馈来估计接触力,或者通过改变系统的动态响应特性来间接实现力的调节。阻抗控制和导纳控制是这一类别中最核心的两种范式。它们的核心思想是将夹爪与环境看作一个弹簧-质量-阻尼系统,通过调整系统的虚拟参数(虚拟刚度、粘性系数、质量),使得夹爪在接触外界时表现出特定的柔顺性或刚性行为。

三、 阻抗控制:将环境视为被控系统

阻抗控制(Impedance Control)的概念最早由Hoggs提出,并由Khatib等人进一步完善。在阻抗控制框架下,控制器并不试图直接计算并输出力,而是定义了一个“虚拟动力学模型”。

(一) 阻抗控制的数学模型

阻抗控制的核心理念是将夹爪末端的运动学量(位置、速度)与动力学量(力)之间的关系,类比为机械系统的动态方程。通常表达如下形式:

Mvx¨+Bvx˙+Kv(x−x0)=Fe

在这个方程中:

Mv 是虚拟质量矩阵,决定了夹爪对加速度变化的惯性响应。

Bv 是虚拟阻尼矩阵,决定了夹爪对速度变化的阻力,用于吸收冲击能量。

Kv 是虚拟刚度矩阵,决定了夹爪抵抗形变的程度。

x 是夹爪末端的实际位置。

x0 是期望的平衡位置。

Fe 是环境作用于夹爪的外力。

需要注意的是,这个方程描述了夹爪对外力的反应。也就是说,给定一个外力 Fe ,系统会通过调整加速度 x¨ 、速度 x˙ 和位置 x 来满足上述关系。换句话说,阻抗控制是将环境力作为输入,输出生成的运动轨迹。

(二) 阻抗控制的实现机制

在数字控制系统中,实现阻抗控制通常需要解决两个关键步骤:内环电流/力控制和外环阻抗律求解。

内环快速响应

为了实现准确的力矩输出,通常需要一个高速的内环控制器(如基于电流的FOC控制)来确保电机扭矩能够快速、准确地跟踪由外环计算出的期望扭矩。

外环积分求解

控制器实时读取夹爪各关节的角度 θ 和角速度 θ˙ 。通过正向动力学或运动学变换,将这些关节量映射到笛卡尔空间的位置 x 和速度 x˙ 。同时,利用基尔霍夫定律或电机参数,由相电流估算出电机电磁扭矩,进而折算到末端的估计接触力 F^e 。

得到估计力 F^e 后,控制器代入阻抗方程:

Fcmd_torque=f(F^e,x,x˙)

实际上,更常见的做法是反向思考:我们并不希望力突然消失,而是希望运动符合某种动态规律。因此,很多实现方式是计算出期望的加速度或力矩指令,发送给内环执行。

一种典型的离散化实现逻辑是:

测量当前末端位置 x(t) 和速度 x˙(t) 。

估计当前接触力 Fe(t) (或通过电流换算)。

根据阻抗模型,计算为了满足该动力学关系,所需的合力应为多少,或者直接利用力偏差产生附加的速度修正量。

在许多现代实现中,阻抗控制被视为一种“位置+力前馈”的组合。即底层依然是一个位置控制器,但上层根据接触力动态地修改位置设定点 x0 或直接叠加一个基于力的扰动补偿项。

(三) 阻抗控制的特性分析

优点:

顺应性好:当夹爪意外撞击墙壁或碰到障碍物时,虚拟阻尼会消耗动能,虚拟刚度会让夹爪轻微后退,从而避免硬性冲击。

参数可调:通过在线调整 Mv,Bv,Kv ,可以适配不同硬度的物体。例如,抓取玻璃杯时降低刚度,抓取石块时增加刚度。

无需精确逆模型:相比于计算动力学的逆解,阻抗控制在某些实现方式下对机体动力学模型的精度要求稍低,因为它更多地依赖实测的运动状态。

缺点:

稳定性风险:如果被控对象的实际惯量与虚拟惯量失配,或者采样频率不足,可能导致高频震荡。

接触起始阶段的敏感性:在尚未接触环境时,由于 Fe=0 ,系统可能无法准确判断是否开始接触,容易出现“虚警”或延迟。

四、 导纳控制:将运动视为被控系统

导纳控制(Admittance Control)与阻抗控制在物理意义上互为镜像,但在控制架构上存在显著差异。如果说阻抗控制是将力作为输入求运动,那么导纳控制则是将运动偏差(或速度)作为输入求力。

(一) 导纳控制的数学模型

导纳控制的方程形式通常表现为:

x˙=Y(s)Fe

或者在离散时间域,通过运动学偏差来计算期望的力增量。更常见的工程实现公式如下:

Δv=Ca(F^desired−F^measured)

这里的 Ca 是导纳函数(Admittance Function),通常包含增益参数,类似于导纳电路中的电阻电容电感组合,决定了对力误差的反应速度和幅度。

另一种常见的表述是利用位置误差来生成力指令:

Fcmd=Kp(xref−xactual)+Dvx˙

在这里,控制器的目标是让夹爪产生一个力,这个力由位置的偏差(类似于弹簧力)和速度(类似于阻尼力)共同决定。注意,这与阻抗控制的公式形式相似,但逻辑流向完全相反。

(二) 导纳控制的实现机制

导纳控制的典型架构分为两级:

顶层:导纳滤波器(Admittance Filter)

这一步是核心。系统测量当前的实际位置 xactual 或速度 x˙actual ,并与期望参考轨迹 xref 进行对比,得到位置误差 ex=xref−xactual 。

同时,系统可能需要一个期望的接触力设定值 Fsetpoint 。

导纳算法会根据误差 ex 和/或力偏差 (Fsetpoint−Fmeasured) ,结合设定的虚拟质量、阻尼、刚度参数,计算出一个“期望的末端力/力矩矢量” Fdes 。

简单来说,如果夹爪想要到达某个位置但遇到了阻力(位置没过去),导纳控制会认为“这是因为有外力挡着我”,于是它不会盲目加大位置误差去死磕,而是根据导纳特性,“温柔”地输出一个相应的推力;反之,如果检测到力超过了设定值,它会迅速减小输出力或撤回动作。

底层:力/力矩控制器或位置跟踪器

计算得到的 Fdes 需要通过底层的执行机构实现。

方案A(力控底层):如果底层具备直接的力控能力,则将 Fdes 转换为各关节的目标扭矩,驱动电机产生所需的力。

方案B(位置控底层):这是更常见的情况,因为大多数伺服驱动器擅长位置控制。此时, Fdes 会被逆向变换为一个临时的位置偏移量 Δx ,叠加到原始的路径规划点 xref 上,形成新的位置设定点 xnew=xref+Δx ,然后送给底层的高精度位置控制器去追踪。

(三) 导纳控制的特性分析

优点:

易于集成到现有位置控制系统:由于大多数现有的机器人底层都是位置环主导,导纳控制可以通过在上层叠加一个力-位置转换模块来实现,改造成本低,兼容性好。

轨迹跟踪精度高:在无接触或轻接触阶段,导纳控制退化为普通的位置跟踪,保证了运动的准确性。

力限幅能力强:通过设定最大允许的力偏差增益,可以有效防止夹爪因突发障碍而产生破坏性的巨大力量,安全性较高。

缺点:

依赖理想模型:导纳控制通常假设底层执行器能瞬间、无失真地跟随上位机的力指令。如果底层位置控制带宽不足或有滞后,整个系统的动态特性会变差,甚至不稳定。

参数整定复杂:虚拟质量、阻尼的选择需要综合考虑系统响应速度和稳态精度,不当的参数会导致夹爪在接触瞬间出现明显的回弹或迟滞。

五、 阻抗控制与导纳控制的核心区别

虽然阻抗控制和导纳控制在宏观上都实现了柔顺交互,且最终都表现为“弹簧-阻尼”式的力学行为,但它们在控制论视角下的因果倒置关系导致了本质的不同。理解这些区别对于工程师选型至关重要。

(一) 因果关系与控制变量流向

这是两者最根本的区别。

阻抗控制(Impedance):输入是力,输出是运动。

逻辑链条:环境施加力 Fe -> 传感器测量力 -> 控制器根据阻抗方程计算应有的加速度/速度/位置 -> 下发运动指令。

在这种模式下,系统关注的是:“当我受到这个力时,我应该怎么动?”它更像是一个被动元件,其运动状态是对环境作用的直接响应。

导纳控制(Admittance):输入是运动偏差,输出是力。

逻辑链条:规划器给出期望位置 xref -> 传感器测量实际位置 xactual -> 计算位置误差 -> 控制器根据导纳方程计算需要的修正力/位置偏移 -> 下发位置/力指令。

在这种模式下,系统关注的是:“为了完成我预设的动作(位置/速度),我需要施加多大的力?”它更像是一个主动元件,根据任务的进度和环境反馈来调整自身的驱动力。

(二) 对动力学模型的依赖程度

阻抗控制:在严格的形式下,阻抗控制需要知道被控对象的质量矩阵 M(q) 以进行前馈补偿,特别是在高层级的模型基阻抗控制中。如果不进行动力学前馈,仅依靠PD反馈等效为阻抗,则在高速运动下效果较差。不过,也有简化版的阻抗控制,忽略惯性项,仅考虑刚度和阻尼,这在对精度要求不高且速度较慢的场景中常用。

导纳控制:相对而言,导纳控制对机体精确动力学模型的依赖度略低。因为它主要通过调整位置设定点来实现,只要底层的力矩-位置转换足够线性,上层只需要关注“力-位移”之间的映射关系。即使底层存在未建模的动力学特性,也主要由底层控制器承担大部分补偿责任。

(三) 稳定性与通带特性

稳定性边界:

阻抗控制的稳定性主要受限于环境刚度 Ke 和虚拟刚度 Kv 的匹配。如果环境非常硬( Ke→∞ ),而虚拟刚度也很高,系统极易发生振荡。因此,阻抗控制在处理高刚度环境时需要谨慎调整参数。

导纳控制的稳定性则取决于底层位置控制器的带宽和外部负载的动态特性。如果位置环响应不够快,导纳滤波器产生的位置修正无法及时转化为实际的力变化,可能导致相位滞后,进而引起超调或震荡。

带宽限制:

阻抗控制本质上是对系统进行滤波,其有效工作频段通常较低,适合慢速、高可靠性的接触操作。

导纳控制由于引入了额外的计算环节和位置偏移,对控制周期的实时性要求极高。任何计算延迟都会被放大为位置误差,从而影响力的精度。

(四) 硬件实现的难易度

阻抗控制:通常需要高精度的力传感器或极其精准的电流-力矩映射模型。如果没有可靠的力估计,阻抗控制就成了“盲人摸象”。此外,为了直接体现阻抗特性,有时需要直接控制电机扭矩(Current/Torque Mode),这对驱动器提出了更高要求。

导纳控制:可以在标准的位置伺服驱动器上运行,只需通过软件算法计算出一个动态的位置偏置量即可。这使得它在老旧设备升级或资源受限的嵌入式系统中更具优势,因为不需要昂贵的六维力传感器,单关节电流反馈往往足以满足基本的需求。

六、 灵巧手特定场景下的算法选择与优化

灵巧手不同于单根机械臂,它具有多个手指、丰富的自由度,且常常需要协调多指协同操作(如捏住一枚硬币)。在这种情况下,力控算法的选择和设计更为复杂。

(一) 多指协同中的阻抗/导纳应用

在多指操作中,每个手指都可以独立配置阻抗或导纳特性。

主从配合策略

在一根手指负责主要定位(如拇指按住物体边缘),另一根手指负责施力(如食指弯曲夹紧)时,可以赋予定位手指较高的虚拟刚度(近似位置控制),赋予施力手指较低的虚拟刚度(柔性接触)。这种混合配置能有效防止因制造误差或手部抖动导致的过约束冲突。

统一坐标系的阻抗管理

无论采用何种算法,都需要将分散在各个指关节的控制统一到一个操作坐标系(Task Frame)中。这需要建立完整的雅可比矩阵变换。在此过程中,阻抗矩阵或导纳矩阵需要在关节空间和笛卡尔空间之间正确转换。由于灵巧手的关节间耦合紧密,未经解耦的直接传递会导致手指间的干扰,影响整体抓握稳定性。

(二) 状态机与平滑切换

实际应用中,夹爪的工作过程分为三个阶段:接近(Approach)、接触(Contact)、维持(Maintenance)和撤回(Retraction)。

接近阶段:应采用高位姿精度控制,虚拟刚度极大(趋向无穷大,即为纯位置控制),以确保精准到达预定抓取点。此时若使用低刚度,手指可能会偏离轨道。

接触瞬变:这是最危险的阶段。算法需要检测接触事件。一旦检测到力突增或位置异常停滞,立即切换至阻抗或导纳模式。切换的平滑性至关重要,剧烈的参数跳变会产生冲击脉冲。

维持阶段:进入稳态力控制。如果是弹性物体,可能需要持续的小幅调整以补偿蠕变;如果是刚性物体,则保持恒定的夹紧力。因此,高级的力控算法不仅仅是一个单一的方程,而是一个包含状态检测、模式切换、参数自适应的综合逻辑框架。

(三) 基于学习的参数自适应

传统的阻抗和导纳控制参数通常是离线整定的固定值。然而,现实世界中物体的硬度千差万别。同一套参数,可能在抓取玻璃杯时完美,但在抓取金属块时显得过于柔软,或在抓取海绵时显得过于僵硬。

近年来,结合机器学习的方法成为一种趋势。通过记录历史抓取的力-位数据,利用神经网络预测物体的等效刚度,并在线微调虚拟刚度 Kv 和阻尼 Bv 。这种自适应机制使得灵巧手具备了一定的“学习能力”,能够在无先验知识的情况下,自动适应新物体的特性。尽管这超出了经典控制理论的范畴,但它极大地扩展了阻抗/导纳控制的实用边界。

七、 未来展望与挑战

尽管阻抗控制和导纳控制已经成熟,但在面向未来的高端灵巧手应用中,仍面临诸多挑战与发展方向。

(一) 全驱动与欠驱动机构的统一建模

灵巧手既有全驱动(每个自由度独立电机)结构,也有大量使用的欠驱动(联动连杆、腱传动)结构。

对于欠驱动手指,其内部动力学非线性极强,且存在间隙、摩擦等非理想因素。标准的阻抗/导纳模型难以直接描述其末端特性。未来的研究需要将内部机构的动力学特性纳入全局阻抗模型,或者在控制层面采用“阻抗重构”技术,使得末端表现得像理想的弹簧,即使内部结构是非线性的。

(二) 高保真触觉传感融合

目前的力估计大多基于电机电流,精度有限。随着微机电系统(MEMS)技术的发展,集成在指尖的微米级力敏电阻、光纤布拉格光栅(FBG)或压电薄膜传感器将更加普及。

未来力控算法将不再是单纯的“计算推导”,而是多源传感器数据的深度融合。通过卡尔曼滤波或粒子滤波,融合位置、速度、电流以及微观触觉信号,构建超高精度的局部环境模型。这将使阻抗/导纳控制从“模糊的柔顺”走向“精确的力塑造”。

(三) 安全合规与伦理考量

随着人形机器人走进家庭和服务领域,安全法规将成为硬性约束。力控算法必须内置多重安全阈值。例如,无论参数如何设定,强制限制最大扭矩输出;或者在检测到人体部位介入时,毫秒级切断动力并转为零阻抗(完全松弛)状态。算法不仅要追求性能,更要符合功能安全标准(如ISO 13849, IEC 61508)。

八、 结语

灵巧手作为机器人感知的延伸和执行的触角,其力控算法的水平直接关乎智能化作业的成败。阻抗控制以其“受力而动”的被动顺应特性,在处理不确定环境接触时展现出独特的优雅;而导纳控制凭借其“以动定力”的主动调节能力,在现代位置伺服体系中占据了稳固的地位。两者并非互斥,而是相辅相成,在实际应用中可根据具体需求灵活选用或混合搭配。

随着传感技术的进步、算力平台的提升以及人工智能算法的渗透,未来的灵巧手将拥有更加细腻、智能且安全的力控能力。这不仅是控制理论的突破,更是机器融入人类生活的重要基石。对于从业者而言,深入理解这些基础算法的物理本质,并在工程中灵活应用,将是解锁下一代自动化潜能的关键钥匙。

QR Code 微信扫一扫
联系微信在线客服