阻抗控制(一)

阻抗控制和导纳控制是机器人领域的关键技术,主要涉及力和运动的混合控制。阻抗控制通过调整机器人的动态特性,使它在与环境交互时表现为具有特定质量和阻尼的系统,从而实现精确的力反馈。相反,导纳控制则侧重于根据外部力来控制机器人的运动,提供柔顺的交互体验。这两种控制方法常用于需要精密操作或触觉反馈的场景,如工业自动化和康复医疗设备。
摘要由CSDN通过智能技术生成

#阻抗控制 #导纳控制
详细可参考书本:《现代机器人学:机构规划与控制》第11.7节。

阻抗的定义

在刚性环境中理想的[[力、运动-力混合控制|运动-力混合控制]],需要极端的机器人阻抗(impedance),阻抗将端点的运动变化作为干扰力的函数来进行表征

理想的运动控制对应于高阻抗(由于力扰动而引起的运动变化很小),而理想的力控制对应于低阻抗(由于运动干扰而引起的力的变化很小)。例如用作触觉模拟器的机器人:
m x ¨ + b x ˙ + k x = f m\ddot{x}+b\dot{x}+kx=f mx¨+bx˙+kx=f
![[Attachments/Pasted image 20230311102328.png]]

图1 弹簧阻尼系统表示机器人

如果 { m , b , k } \{m,b,k\} {m,b,k}中的一个或多个参数(一般指 b b b k k k)很大,则机器人呈现高阻抗;同样地,如果这些参数都很小,称机器人呈现低阻抗。
更正式的,对上式进行拉氏变换得到,
( m s 2 + b s + k ) X ( s ) = F ( s ) (ms^2+bs+k)X(s)=F(s) (ms2+bs+k)X(s)=F(s)
阻抗由位置扰动到力的传递函数 Z ( s ) = F ( s ) / X ( s ) Z(s)=F(s)/X(s) Z(s)=F(s)/X(s)表示。因此,阻抗取决于频率,并且其低频响应由弹簧支配,而高频响应由质量支配。而导纳 Y ( s ) Y(s) Y(s)是阻抗的倒数: Y ( s ) = Z − 1 ( s ) = X ( s ) / F ( s ) Y(s)=Z^{-1}(s)=X(s)/F(s) Y(s)=Z1(s)=X(s)/F(s)

  • 好的运动控制器→高阻抗(低阻纳)→ Δ X = Y Δ F \Delta X=Y\Delta F ΔX=YΔF→力扰动 Δ F \Delta F ΔF仅能产生很小的位置扰动 Δ X \Delta X ΔX
  • 好的力控制器→低阻抗(高导纳)→ Δ F = Z Δ X \Delta F=Z\Delta X ΔF=ZΔX→运动扰动 Δ X \Delta X ΔX仅能产生很小的力扰动 Δ F \Delta F ΔF

阻抗/导纳控制目标

阻抗控制是为了实现如下的任务空间行为:
M x ¨ + B x ˙ + K x = f e x t (11.64) M\ddot{x}+B\dot{x}+Kx=f_{ext} \tag{11.64} Mx¨+Bx˙+Kx=fext(11.64)
式中, x ∈ R n x\in \mathbb{R}^n xRn是在最小坐标集中的任务空间位形,如 x ∈ R 3 x\in \mathbb{R}^3 xR3 M M M B B B K K K,是由机器人模拟的正定虚拟质量、阻尼和刚度矩阵,并且 f e x t f_{ext} fext是施加到机器人的力,该力可能由用户施加。 M M M B B B K K K的值可能会根据虚拟环境中的位置而改变,以便表示不同的物体,但我们所关注的是恒定量值情况。
上述行为可以使用运动旋量和力旋量来进行替代实现:
F e x t → f e x t \mathcal{F}_{ext}\rightarrow f_{ext} Fextfext V → x ˙ \mathcal{V}\rightarrow \dot{x} Vx˙ V ˙ → x ¨ \dot{\mathcal{V}}\rightarrow \ddot{x} V˙x¨ S θ → x \mathcal{S}\theta\rightarrow x Sθx

阻抗/导纳控制型机器人
阻抗控制型机器人(impedance controlled):机器人感知端点运动 x ( t ) x(t) x(t)并控制关节力矩和力来生成 − f e x t -f_{ext} fext,其为显示给用户的力,即实现了从运动到力的传递函数 Z ( S ) Z(\mathcal{S}) Z(S)
导纳控制型机器人(admittance controlled):机器人使用安装在腕部的力-力矩传感器来感知 f e x t f_{ext} fext,并控制其运动以作出响应,即实现了从力到运动的传递函数 Y ( S ) Y(\mathcal{S}) Y(S).

阻抗控制算法

在阻抗控制算法中,编码器、转速计、甚至可能包括加速度计,被用于估计关节和
端点的位置、速度、甚至加速度。通常阻抗控制下的机器人并不在腕部配备力-力矩
传感器,而是依靠它们精确控制关节扭矩的能力来呈现适当的末端执行器力 − f e x t -f_{ext} fext,如为了实现式(11.64)的任务空间行为,根据[[力、运动-力混合控制#力控制]]可知,机器人对外部环境的施加力 − f e x t -f_{ext} fext可以表示为 − ( M x ¨ + B x ˙ + K x ) -(M\ddot{x}+B\dot{x}+Kx) (Mx¨+Bx˙+Kx),此时机器人的任务空间动力学方程可以写为:
F = Λ ~ ( θ ) x ¨ + η ~ ( θ , x ˙ ) ⏟ 用于动力学补偿 − ( M x ¨ + B x ˙ + K x ) ⏟ 用于产生对环境的作用力 \mathcal{F} =\underset{\text{用于动力学补偿}}{\underbrace{\tilde{\Lambda}\left( \theta \right) \ddot{x}+\tilde{\eta}\left( \theta ,\dot{x} \right) }}\underset{\text{用于产生对环境的作用力}}{\underbrace{-\left( M\ddot{x}+B\dot{x}+Kx \right) }} F=用于动力学补偿 Λ~(θ)x¨+η~(θ,x˙)用于产生对环境的作用力 (Mx¨+Bx˙+Kx)
该式即可以看作基于前馈控制的阻抗控制律。

导纳控制算法

在导纳控制算法中,由腕部测力传感器来测量用户施加的力 f e x t f_{ext} fext,同时机器人以满足式(11.64)的末端执行器加速度进行响应。一种简单的计算末端执行器的期望加速度 x ¨ d \ddot{x}_d x¨d的方法可采用:
M x ¨ d + B x ˙ + K x = f e x t M\ddot{x}_d+B\dot{x}+Kx=f_{ext} Mx¨d+Bx˙+Kx=fext
式中, ( x , x ˙ ) (x,\dot{x}) (x,x˙)是当前状态,根据上式可得 x ¨ d = M − 1 ( f e x t − B x ˙ − K x ) \ddot{x}_d=M^{-1}(f_{ext}-B\dot{x}-Kx) x¨d=M1(fextBx˙Kx).
根据正向运动学 x = f ( θ ) x=f(\theta) x=f(θ),[[开链机器人的静力学#1. 雅可比矩阵|雅可比矩阵]]为 ∂ f ( q ) ∂ q \frac{\partial \boldsymbol{f}\left( \boldsymbol{q} \right)}{\partial \boldsymbol{q}} qf(q),因此有
x ˙ = J ( θ ) θ ˙ x ¨ = J ( θ ) θ ¨ + J ˙ ( θ ) θ ˙ \begin{aligned} \dot{x}&=J\left( \theta \right) \dot{\theta}\\ \ddot{x}&=J\left( \theta \right) \ddot{\theta}+\dot{J}\left( \theta \right) \dot{\theta}\\ \end{aligned} x˙x¨=J(θ)θ˙=J(θ)θ¨+J˙(θ)θ˙
所需的关节加速度 θ ¨ d \ddot{\theta}_d θ¨d可通过下式计算:
x ¨ = J ( θ ) θ ¨ + J ˙ ( θ ) θ ˙ ⇒ θ ¨ d = J † ( θ ) ( x ¨ − J ˙ ( θ ) θ ˙ ) \ddot{x}=J\left( \theta \right) \ddot{\theta}+\dot{J}\left( \theta \right) \dot{\theta}\Rightarrow \ddot{\theta}_d=J^{\dagger}\left( \theta \right) \left( \ddot{x}-\dot{J}\left( \theta \right) \dot{\theta} \right) x¨=J(θ)θ¨+J˙(θ)θ˙θ¨d=J(θ)(x¨J˙(θ)θ˙)
再进一步使用逆动力学计算关节力和力矩指令 τ \tau τ

阻抗控制器测量末端执行器的运动,并产生终点力以模拟质量-弹簧-阻尼系统。导纳控制器测量末端执行器的力,并产生终点运动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值