文章目录
- 力控技术
-
- [1 基本柔顺力控](#1 基本柔顺力控)
-
- [1.1 直接力控](#1.1 直接力控)
- [1.2 间接力控](#1.2 间接力控)
-
- [1.2.1 被动和主动柔顺控制](#1.2.1 被动和主动柔顺控制)
- [1.2.2 混合力位控制](#1.2.2 混合力位控制)
- [1.2.3 阻抗&导纳力控](#1.2.3 阻抗&导纳力控)
-
- [1.2.3.1 原理](#1.2.3.1 原理)
- [1.2.3.2 区别和联系](#1.2.3.2 区别和联系)
- [1.2.3.3 工程应用](#1.2.3.3 工程应用)
- [1.2.4 阻抗力控](#1.2.4 阻抗力控)
- [1.2.5 导纳力控](#1.2.5 导纳力控)
- [2 先进力控](#2 先进力控)
-
- [2.1 自适应力控](#2.1 自适应力控)
- [2.2 鲁棒力控](#2.2 鲁棒力控)
- [2.3 学习力控](#2.3 学习力控)
- [3 智能力控](#3 智能力控)
-
- [3.1 模糊柔顺控制](#3.1 模糊柔顺控制)
- [3.2 神经网络柔顺控制](#3.2 神经网络柔顺控制)
力控技术
1 基本柔顺力控
1.1 直接力控
针对外力进行直接控制,其核心是通过操作期望力与测量力之间差值的方式实现相应力控
- 期望力的值该怎么给
- 在绝大多数的实际应用中,我们都是优先给予机器人位置轨迹的指令,而具体期望力的数值大小是极难直接精确给出的;
- 用手去抓握一些柔软易形变的物体时,首先是用手大致包络住物体(位置轨迹),再去施力试探物体的软硬以调整出适合抓握物体的力度(改变位置与力的动态关系),而非在脑海中直接形成一个所施加力的数值大小。
- 如何获得精确外力的测量
- 绝大多数业界使用的工业机械臂是不具备高精度力矩传感器的;
- 加装力矩传感器的机械臂(如末端六维力的工业臂和关节力传感器的协作臂),如何稳定地获得精确度高、噪声低与通频带宽的外力信号,这对实际的力/力矩传感器提出了极高的要求(成本与可靠性),在实际的工业应用中很难得到大规模推广应用。
1.2 间接力控
不对外力进行直接控制,转而通过控制位置的方式来间接控制外力
1.2.1 被动和主动柔顺控制
- 被动柔顺控制
在机械臂的末端加装相应的柔性弹簧装置,详情可参见下图左,在已知装置刚度的情况下,通过控制相应位移来控制末端的施加/接触力
- 主动柔顺控制
人为地将机械臂末端的目标位置设计在相应目标物之后,机械臂为了到达不可到达的目标位置而不可避免地与目标物发生力交互,详情可参见下图右
- 局限性
方法笨拙、动态适应性能不足,即只能满足某种特定的简单应用场合。
- 在被动柔顺控制中,相应的弹簧装置该如何设计来满足各个方向外力的测量,以及刚度的值该如何设计来覆盖各种施力范围;
- 在主动柔性控制中,如何动态地设置值来精准控制施加外力、以及目标物的材质和位姿发生变化该如何处理等等
1.2.2 混合力位控制
混合力位控制是阻抗控制和导纳控制的基础
针对末端笛卡尔空间且为法向控制力+切向控制位置的特殊子工况
力/位置混合控制,就是允许机械臂在某些自由度上进行力控制,在余下的自由度上进行位置控制,分别同时控制力和位置的方式。将机器人空间运动在笛卡尔坐标下分解,自由方向上的运动用位置控制器进行控制,受限方向上的运动用力控制器进行控制,两组控制器的控制量之和为关节控制量。
位置控制需要 PD 控制,力控制需要 PI 控制,因为位置控制需要响应速度快,而力控制需要误差更小。
1.2.3 阻抗&导纳力控
1.2.3.1 原理
这两种控制的基本控制目的,是希望在执行器(例如机器人电机、液压缸)的作用下,将负载移动到绝对位置为 x 0 x_0 x0的目标位置。但一般在移动的过程中,负载不会顺利移动到 x 0 x_0 x0的位置,而是在中途会碰到障碍物。这时,柔顺控制(导纳或者阻抗控制)依据算法不同,修正执行器的行为。最终使执行器停止在一个平衡位置。这个平衡位置不等于 x 0 x_0 x0。就是说以牺牲位置精度的方式,实现柔性接触(接触力取决于算法),从而对碰撞物体进行保护,反过来也对执行器有所保护。
机器人的阻抗/导纳控制不是直接控制机器人的位置和作用力,而是调整阻抗/导纳模型,即在阻抗/导纳控制中为了完成既定的任务,建立力、位置、速度间的阻抗关系模型。
1.牛顿第二定律
假设外骨骼大腿杆相对固定时,外骨骼膝关节的力学模型
F = m x ¨ F h ⋅ l = J ⋅ θ ¨ k (转动) (1) F = m\ddot{x}\\ F_h\cdot l=J\cdot \ddot{\theta}_k\text(转动)\tag{1} F=mx¨Fh⋅l=J⋅θ¨k(转动)(1)
其中 F h F_h Fh为交互力,转动惯量为 J J J,角加速度为 θ ¨ k \ddot{\theta}_k θ¨k,在一定的交互力下,转动惯量越小,关节的转动加速度就越大。一定程度上,这里的转动惯量 J J J是我们期望的转动惯量
实际情况中,没有什么东西可以直接控制关节的角加速度,只能通过控制电机的驱动力实现关节的运动。电机施加扭矩 τ k \tau_k τk、人机交互力 F h F_h Fh、和关节实际的转动惯量 J k J_k Jk,共同决定了外骨骼关节角加速度 θ ¨ k \ddot{\theta}_k θ¨k,因此实际的外骨骼膝关节的动力学方程如下:
F h ⋅ l + τ k = J k ⋅ θ ¨ k (2) F_h\cdot l+\tau_k=J_k\cdot \ddot{\theta}_k\tag{2} Fh⋅l+τk=Jk⋅θ¨k(2)
我们期望交互力按照式 ( 1 ) (1) (1)的规律,另一方面,实际的外骨骼关节动力学关系又不得不按照式 ( 2 ) (2) (2)来进行。因此将式 ( 1 ) (1) (1)看作一个约束条件,代入式 ( 2 ) (2) (2),就得到了**"在交互力满足式 ( 1 ) (1) (1)下的电机应该施加的扭矩"**:
τ k = ( J k − J ) ⋅ θ ¨ k τ k = ( J k J − 1 − 1 ) ⋅ F h l (3) \tau_k=(J_k-J)\cdot\ddot{\theta}_k\\ \tau_k=(J_kJ^{-1}-1)\cdot F_hl\tag{3} τk=(Jk−J)⋅θ¨kτk=(JkJ−1−1)⋅Fhl(3)
J J J是我们设定的期望转动惯量, J k J_k Jk是关节实际的转动惯量 , θ ¨ k \ddot{\theta}_k θ¨k可以通过膝关节编码器得到,但是在控制系统中,通常不使用测量的加速度量。比起使用加速度计的信号,通常使用力传感器的力信号会更可靠一些。
2.胡克定律和粘性定律
m x ¨ = F + F e x t (4) m\ddot{x}=F+F_{ext}\tag{4} mx¨=F+Fext(4)
上式描述了质量块的动力学,表述了主动力与外部力的关系。
物体的动力学关系除了牛二定律外,还有黏性定律、胡克定律。粘性定律描述力与速度的关系,通过阻尼系数 b b b 表征,胡克定律描述力与位移的关系,通过刚度系数 k k k 表征,三者合起来的一个经典模型就是阻抗模型。用质量-弹簧-阻尼 二阶系统表现出的特性来等效出阻抗特性。阻抗模型中,物体与环境施与的力(交互力)的关系为下式:
F = m x ¨ + b x ˙ + k x (交互力与位移形式) τ = J θ ¨ + b θ ˙ + k θ (交互扭矩与转角形式) F=m\ddot{x}+b\dot{x}+kx\text(交互力与位移形式)\\ \tau=J\ddot{\theta}+b\dot{\theta}+k\theta\text(交互扭矩与转角形式) F=mx¨+bx˙+kx(交互力与位移形式)τ=Jθ¨+bθ˙+kθ(交互扭矩与转角形式)
让交互力与关节运动呈现牛二关系,从而让电机施加的扭矩呈式 ( 3 ) (3) (3)那样,这种控制方法可以叫"牛二控制法 "。那么,让交互力与关节运动呈现式 ( 4 ) (4) (4)中的关系,从而让电机按一定规律施加扭矩,这种控制方法就叫做阻抗控制法。
- 模型表达
机器人末端收到的作用力与位置偏离目标轨迹的差之间建立的二阶阻抗关系式称为期望阻抗模型,一般选用二阶微分方程形式:
− F e = K d ( X − X d ) + B d ( X ˙ − X ˙ d ) + M d ( X ¨ − X ¨ d ) (5) -F_e=K_d(X-X_d)+B_d(\dot{X}-\dot{X}_d)+M_d(\ddot{X}-\ddot{X}_d)\tag{5} −Fe=Kd(X−Xd)+Bd(X˙−X˙d)+Md(X¨−X¨d)(5)
其中,
M d , B d , K d M_d,B_d,K_d Md,Bd,Kd------为期望阻抗模型的 n ∗ n n*n n∗n惯性矩阵、阻尼矩阵和刚度矩阵,n为机器人工作空间维数;
X , X ˙ , X ¨ X,\dot{X},\ddot{X} X,X˙,X¨------机器人末端实际位移速度和加速度;
X d , X ˙ d , X ¨ d X_d,\dot{X}_d,\ddot{X}_d Xd,X˙d,X¨d------机器人末端实际位移速度和加速度;
F e F_e Fe------机器人末端与环境接触时收到的作用力。
有些研究人员为实现接触力跟踪控制,对上面的阻抗模型进行修改,采用实际接触力与期望接触力之差 E = F e − F d E=F_e-F_d E=Fe−Fd代替式 ( 5 ) (5) (5)中的 F e F_e Fe,得到新的理想阻抗表达式
− E = F d − F e = K d ( X − X d ) + B d ( X ˙ − X ˙ d ) + M d ( X ¨ − X ¨ d ) -E=F_d-F_e=K_d(X-X_d)+B_d(\dot{X}-\dot{X}_d)+M_d(\ddot{X}-\ddot{X}_d) −E=Fd−Fe=Kd(X−Xd)+Bd(X˙−X˙d)+Md(X¨−X¨d)
包含机器人机械结构和采用主动控制的阻抗特性,其中机器人机械结构阻抗特性一般是不变的,阻抗控制主要是在控制系统中调节主动控制的阻抗特性使系统达到期望阻抗模型。
- 模型分析
机器人阻抗控制实现修改机器人与环境接触作业的动力学模型为期望阻抗模型,期望阻抗模型本质上是一个理想的机器人末端位置和与作用力间的动态关系,阻抗控制中机器人控制器的主要任务是调节机器人的行为,以维持这个理想的动态关系。
期望阻抗参数应根据不同的任务、应用场合而改变:
- 当外界环境具有柔顺特性且给定任务对位置控制精度要求高时,期望阻抗模型中采用高刚度参数 K d K_d Kd,反之则选用低刚度值;
- 当需加快能量消耗时,阻尼参数 B d B_d Bd应取较大的值;
- 较大的惯性参数 M d M_d Md有助于提高接触过程稳定性,但对加速度大的冲击运动会产生较大的冲击力。
1.2.3.2 区别和联系
阻抗控制:
- 已知末端位置,带入质量-弹簧-阻尼模型中,来获取与外界的虚拟交互力,再将这个力逆解分配到各个关节;
- 具体一点,结合已经求得的外骨骼膝关节实际的转动惯量 J k J_k Jk 和理想的转动惯量 J J J ,实际的阻尼 b k b_k bk 和理想的阻尼 b b b ,实际的刚度 k k k_k kk 和理想的刚度 k k k ,如果知道膝关节运动量:角加速度 θ ¨ k \ddot{\theta}_k θ¨k,角速度 θ ˙ k \dot{\theta}_k θ˙k,角度 θ k \theta_k θk,就能求得扭矩 τ k \tau_k τk,输出力。
导纳控制:
- 通过力传感器获取外界对末端的外力,然后带入质量-弹簧-阻尼模型中,通过调整末端的位置、速度等实现与外力的平衡,再将末端的位置、速度逆解分配到各关节空间;
- 具体来说结合已经求得的外骨骼膝关节实际的转动惯量 J k J_k Jk 和理想的转动惯量 J J J ,实际的阻尼 b k b_k bk 和理想的阻尼 b b b ,实际的刚度 k k k_k kk 和理想的刚度 k k k ,如果知道扭矩 τ k \tau_k τk,则可以求出膝关节的运动量:角加速度 θ ¨ k \ddot{\theta}_k θ¨k,角速度 θ ˙ k \dot{\theta}_k θ˙k,角度 θ k \theta_k θk,输出运动
对应着两种实现方法:
- 阻抗控制:测量实际位置与目标位置的差,调整末端的力,输入运动输出力;
- 导纳控制:测量末端受到的力,调整末端的速度,输入力输出运动;
已知两个自然系统的动态互相作用的结果是一个系统必须对另一个系统进行补偿,即如果一个系统表现为阻抗特征,另一个系统一定表现为导纳特性,因此在机器人与环境接触作用中,机器人如果表现出阻抗特性,则环境表现为导纳特性;若机器人表现出导纳特性,则环境表现为阻抗特性。
-
导纳控制
- 基于末端六维力传感器获取外力/力矩 ,然后经过导纳控制器(二阶导纳模型)产生位移修正量,叠加到期望位置上。位置内环,力外环。
-
简单来说就是导纳控制是通过外力改变了机器人的期望位置,而机器人从当前位置到期望位置的控制输入是导纳控制的内环问题,是单纯的位置控制,只需要给机器人发送位置指令即可,不需要机器人的动力学模型。
- 在机器人做导纳控制时,控制器是导纳(输入力,输出位置),机械臂是阻抗(输入位置,输出力)。机械臂在得到位置指令后需要再将位置信息转换为关节力矩信息,因为给机器人的指令都必须是各个关节的力矩信号,通过力来接改变机器人运动状态(位置),力矩信号又转化为关节电机的电流来控制。
-
根据末端力矩传感器检测外力,采用导纳控制器计算出末端位移和速度,通过位置和运动学逆解求出关节的运动信息,所以不需要动力学
- 外环控制器是【输入力输出位置】的导纳控制器(力控制器),所输出的位置信息需要再经过一层内环位姿控制器(位置控制器)来输出力信息,同样该力的信息要再经过逆动力学输出相应的位置信息给机器臂,同时该位置信息将反馈回到内环(和阻抗有区别)的位姿控制器
-
阻抗控制
- 基于动力学模型 ,在力矩环做补偿力控制。位置外环,力内环。
- 阻抗控制最终机械臂是一个导纳,即直接给机械臂发送关节扭矩指令,就可以直接改变机器人运动状态(位置)
- 外环控制器是【输入位置输出力】的阻抗控制器(位置控制器),所输出的力将通过逆动力学输出相应的位置信息给机器臂,同时该信息也反馈到阻抗控制器;
1.2.3.3 工程应用
1.2.4 阻抗力控
输入运动,输出力
用常规方法控制机械臂的运动,同时在运动收到干扰而产生偏移的时候,根据偏移量输出一个反方向的力,即先规划运动,再由运动偏移量决定反力 ,即阻抗控制需要我们能够获取位置信息,并且能控制机器人的关节力矩。
四足机器人站立、步行,相当于立足于地面来操作自己身体的机械臂,应为阻抗控制。
阻抗控制的特点是不直接控制机器人与接触环境的作用力,而是根据机器人末端的位置(或速度)和末端作用力之间的关系,调整反馈位置误差、速度误差或刚度来控制作用力。
当把力反馈信号转换为位置调整量时,力控制成为刚度控制;当把力反馈信号转换为速度修正量时,力控制成为阻尼控制;当把力反馈信号同时转换为位置和速度修正量时,力控制成为阻抗控制。
阻抗控制系统由内部的力闭环控制和外部的阻抗计算环节组成。
根据系统的期望运动状态( X d , X ˙ d , X ¨ d X_d,\dot{X}_d,\ddot{X}_d Xd,X˙d,X¨d)和实际运动状态( X , X ˙ , X ¨ X,\dot{X},\ddot{X} X,X˙,X¨)以及期望阻抗模型参数( K d , B d , M d K_d,B_d,M_d Kd,Bd,Md),外环计算出为实现期望阻抗模型需要作用在机器人末端的参考力 F d F_d Fd,通过内环的力控制器使机器人与环境之间的实际作用力跟踪该期望接触力,从而实现机器人与环境作用的等效模型为期望阻抗模型。
− F d = K d ( X − X d ) + B d ( X ˙ − X ˙ d ) + M d ( X ¨ − X ¨ d ) (6) -F_d=K_d(X-X_d)+B_d(\dot{X}-\dot{X}_d)+M_d(\ddot{X}-\ddot{X}_d) \tag{6} −Fd=Kd(X−Xd)+Bd(X˙−X˙d)+Md(X¨−X¨d)(6)
其中, F d F_d Fd------阻抗控制的输出期望力,通过计算得到;
X , X ˙ , X ¨ X,\dot{X},\ddot{X} X,X˙,X¨------根据编码器得到的关节位置计算出的末端执行器的实际位置、速度、加速度,已知; X = L ( q ) , q 为机器人关节角, L ( q ) 表示机器人运动学正解; 由雅可比矩阵得速度: X ˙ = J v ( q ) q ˙ ; 通过对速度求导获得加速度: X ¨ = J ˙ v ( q ) q ˙ + J v ( q ) q ¨ X=L(q),q为机器人关节角,L(q)表示机器人运动学正解;\\由雅可比矩阵得速度:\dot{X}=J_v(q)\dot{q};\\通过对速度求导获得加速度:\ddot{X}=\dot{J}_v(q)\dot{q}+J_v(q)\ddot{q} X=L(q),q为机器人关节角,L(q)表示机器人运动学正解;由雅可比矩阵得速度:X˙=Jv(q)q˙;通过对速度求导获得加速度:X¨=J˙v(q)q˙+Jv(q)q¨
X d , X ˙ d , X ¨ d X_d,\dot{X}_d,\ddot{X}_d Xd,X˙d,X¨d------期望的位置、速度、加速度,已知;
K d , B d , M d K_d,B_d,M_d Kd,Bd,Md------用户自己设定的期望阻抗参数,不代表机器人模型的刚度阻尼质量,是用户自己设定的力与位置的关系,已知;
理想状态下,力控制闭环通过关节力矩给机器人末端提供力 F c F_c Fc,满足 F c = − F d F_c=-F_d Fc=−Fd,带入式 ( 6 ) (6) (6)易知可实现期望的阻抗模型:
F c ( s ) = Z ( s ) ( X − X d ) = ( M d s 2 + B d s + K d ) ( X − X d ) (7) F_c(s)=Z(s)(X-X_d)\\=(M_ds^2+B_ds+K_d)(X-X_d)\tag{7} Fc(s)=Z(s)(X−Xd)=(Mds2+Bds+Kd)(X−Xd)(7)
机器人关节驱动力参考值: τ d = J F T ( q ) F d \tau_d=J^T_F(q)F_d τd=JFT(q)Fd,力传感器测量的外力 F e F_e Fe映射到关节空间: τ e = J F T ( q ) F e \tau_e=J^T_F(q)F_e τe=JFT(q)Fe,将上述两个关节驱动力之差 τ = τ d − τ e \tau=\tau_d-\tau_e τ=τd−τe输入到关节力矩控制器,实现机器人与环境间接触作用力控制,或者让机械臂与目标维持一个恒定的期望跟踪力 F d F_d Fd,用 F e − F d F_e-F_d Fe−Fd实现力的跟踪。
假设,想运动1cm的机械臂撞到了0.9cm处的玻璃,此时玻璃会对机器人产生一个末端接触力 F e F_{e} Fe,这个力抵消会 F d F_d Fd的作用,让机械臂逐渐不再往前运动。平衡状态下, F d = F e F_d=F_e Fd=Fe ,机器人也会停在0.9cm多一点点的位置。其 X X X与 X r X_{r} Xr始终由一段距离,用来产生力 F d F_d Fd。让机械臂与墙维持一个恒定的期望跟踪力 F d F_d Fd,此时用 E = F e − F d E=F_e-F_d E=Fe−Fd来代替 F e F_e Fe,就可以实现力的跟踪。
对于阻抗控制,根据式 ( 6 ) (6) (6), X , X d X,X_d X,Xd为已知量,可以计算出 F d F_d Fd(期望执行器输出的力)。在控制器中力闭环的作用下,不断进行 F d F_d Fd和 F e F_e Fe(接触力)进行比较,将差值驱动执行器运动,形成力闭环。当 F e = F d F_e=F_d Fe=Fd时,系统就达到了平衡状态。
图中x0为期望位置,Fext为外部力,Fd为期望接触力
1.2.5 导纳力控
输入力,输出运动
先执行一个运动,然后测量此运动反馈的力,由反力决定运动,输入力输出运动。
比如抹布擦玻璃、打磨抛光等,由于运动方向决定了摩擦力的大小,应该用具有导纳特性的机械臂作用于该阻抗型的外界环境。
导纳控制由位置控制内环和外部的导纳计算环节组成,位置闭环
根据机器人与环境间的实际作用力 F e F_e Fe以及期望的阻抗模型参数( K d , B d , M d K_d,B_d,M_d Kd,Bd,Md),由控制系统外环计算出为实现期望导纳模型产生的位置修正量 Δ X \Delta X ΔX,将参考位置 X r X_r Xr、位置的修正量 Δ X \Delta X ΔX和实际位置 X X X输入到内环的位置控制器,使实际位置跟踪期望位置,从而实现机器人与环境接触作用模型为期望导纳模型。
由力\力矩传感器测量接触力 F e F_e Fe,在控制器外侧, F e F_e Fe经过力量导纳模型后输出轨迹修正量 e = Δ X = X − X r e=\Delta X=X-X_r e=ΔX=X−Xr,导纳控制器的计算公式为:
F e = K d ( X − X r ) + B d ( X ˙ − X ˙ r ) + M d ( X ¨ − X ¨ r ) F_e=K_d(X-X_r)+B_d(\dot{X}-\dot{X}_r)+M_d(\ddot{X}-\ddot{X}_r)\ Fe=Kd(X−Xr)+Bd(X˙−X˙r)+Md(X¨−X¨r)
其中, F e F_e Fe------参考接触力,已知;
K d , B d , M d K_d,B_d,M_d Kd,Bd,Md------用户自己设定的导纳控制器期望参数,已知;
X r , X ˙ r , X ¨ r X_r,\dot{X}_r,\ddot{X}_r Xr,X˙r,X¨r------参考的位置、速度、加速度,即一切完美零误差时的位置,已知;
X , X ˙ , X ¨ X,\dot{X},\ddot{X} X,X˙,X¨------真实位置,未知,通过计算得出,在导纳控制中,我们假设位置控制是没有误差的,指哪打哪,所以这里的真实位置 X , X ˙ , X ¨ X,\dot{X},\ddot{X} X,X˙,X¨也是期望位置 X d , X ˙ d , X ¨ d X_d,\dot{X}_d,\ddot{X}_d Xd,X˙d,X¨d。
在频域中表示为:
e ( s ) = F e ( s ) M d s 2 + B d s + K d e(s)=\frac{F_e(s)}{M_ds^2+B_ds+K_d} e(s)=Mds2+Bds+KdFe(s)
- 当机器人末端未与环境接触时,收到外界作用力为0( F e ≡ 0 F_e\equiv0 Fe≡0),对应的位置修正量 e ≡ 0 e\equiv0 e≡0,且 X = X r X=X_r X=Xr;
- 当机器人末端与环境接触时,假定位置控制没有误差,即 X ≡ X d X\equiv X_d X≡Xd,则有 e = X d − X r e=X_d-X_r e=Xd−Xr。
以机器人撞玻璃为例,初始未接触玻璃时 F e = 0 F_e=0 Fe=0,故给机器人发送的 X = X r X=X_r X=Xr,也就是1cm;运动过程中,机械臂碰到玻璃, F e F_e Fe增大, X X X随之减小
对于导纳控制,系统只有一个位置闭环。控制器根据已知的 X r , F d X_r,F_d Xr,Fd值,根据导纳控制算法,计算出 x ( t ) x(t) x(t), x ( t ) x(t) x(t)是一个时间函数,控制器内部的位置闭环将驱动执行机构,不断向目标值 x x x逼近,最后稳定在 x ( t e n d ) x(t_{end}) x(tend)的位置上,即 x d ( t e n d ) x_d(t_{end}) xd(tend)处。
图中x0为期望位置,Fr为接触参考力,xd为期望的目标位置
2 先进力控
经典柔顺控制方法在简单操作任务中可以有效的控制力和位置,但在复杂任务中,有接触环境不确定、模型不准确、传感器存在噪声及外界存在干扰等问题,此时经典的柔顺控制器的性能将会下降,需要重新调节控制器参数。先进柔顺控制方法是基于基本柔顺控制方法,加入了自适应控制、鲁棒控制或学习算法等先进控制策略的控制方法。
2.1 自适应力控
自适应力控制在基本的力控制方法中加入了一些自适应策略,使得当机器人和环境存在未知参数时仍然可以获得需要的刚度、阻尼或阻抗。总的来说,机器人自适应力控制方法可以分为两类:间接自适应方法和直接自适应方法。 间接自适应方法中存在一个参数估计器对机器人力控制系统中的未知参数进行估计,估计器得到的参数用于设计自适应律。由于间接自适应方法需要精确的机器人参数和接触环境的模型,在实际应用中往往比较困难或者难以实现,所以直接自适应方法在机器人力控制中得到越来越多的应用。
2.2 鲁棒力控
鲁棒力控制器基于对不确定性的描述参数和标称系统的数学模型来设计,以固定的控制器保证在机器人和环境之间存在模型误差时,系统能稳定并且达到需要的动态性能,无需自适应算法,运算速度快,实时性好。鲁棒力控制器的输出包括两部分:鲁棒控制律和反馈控制律,反馈控制律通常为 PI、PD、PID 等,鲁棒力控制的难点在于如何设计一个好的鲁棒控制律, 鲁棒控制律通常采用李雅普诺夫直接方法得到。到目前为止有两类主要的鲁棒力控制策略:鲁棒力/位混合控制和鲁棒阻抗控制。鲁棒力控制方法必须在系统的鲁棒性和控制精确性之间折衷。
2.3 学习力控
学习控制已经被用于机器人位置控制中,近年来在力/位混合控制中也得到应用。学习力控制可以用于执行重复操作的场合,利用位置、速度、加速度误差或力误差对执行操作所需的输入指令进行学习,可以显著提高控制性能,学习力控制在参数不确定性和干扰足够小的情况下,可以保证位置和力跟踪误差收敛。
3 智能力控
基本柔顺控制方法和先进柔顺控制方法都是建立在机械臂动力学模型基础上的,而以模糊控制、神经网络等智能控制方法解决具有不确定性的柔顺控制问题提供了有效途径。
3.1 模糊柔顺控制
模糊控制不需要被控对象的精确数学模型,仅通过被控对象输入量、输出量的检测,进行有针对性的各种可能状态的推理和判断,做出适应性调整。但是,单纯的模糊控制缺乏自学习、自适应能力,当对象参数变化或负载变化时往往不能获得满意的控制效果,在机械臂柔顺控制中的应用范围受到了限制。
模糊柔顺控制可应用于多个领域,包括:
- 工业机器人:用于执行精确的装配和操作任务。
- 服务机器人:使机器人能够与人类合作并适应不同的操作环境。
- 自主无人机:用于稳定的飞行和风险管理。
3.2 神经网络柔顺控制
神经网络具有自适应性和自学习性的特点,适用于机械臂柔顺控制的研究,与传统控制方法相比具有很大的优越性。
这方面的研究大体可分为两类:一类是假定机械臂动力学模型完全未知,神经网络通过学习来逼近系统的动力学或逆动力学模型,以实现反馈控制或逆动力学控制;另一类是假定机械臂动力学模型为部分已知的,神经网络被用来学习模型中的未知参数,以减少在线计算的负担。
神经网络柔顺控制可应用于各种领域,包括:
- 协作机器人:用于与人类或其他机器人合作执行任务。
- 环境适应性:使机器人能够在复杂和不确定的环境中操作。
- 外科手术机器人:用于实现精确和稳定的外科手术操作。