当前位置: 首页 > news >正文

自适应阻抗案例分析(上)

案例分析一

Duchaine,V.,Gosselin,C.(2009).Safe,stable and intuitive control for physical human-robot interaction.In IEEE international conference on robotics and automation,2009.ICRA'09(pp.3383-3388).IEEE.

主要贡献

  • 1.利用外力反馈调整阻尼系数,同时对人的意图实现预判
  • 2.稳定性分析
  • 3.估算人的阻抗系数

核心思想

        当接触力在当前速度的方向上急剧增大时→人期望在该方向加速→机器人应减小该方向上的阻抗系数以顺应人的意图,减小接触力,反之亦然。 

具体分析

机器人阻抗模型:

f=M\ddot{x}+C_{vi}\dot{x}\quad C_{vi}=C-\boldsymbol{S}\quad s_{ij}=\alpha\delta_{ij}\mathrm{sgn}(\dot{x}_i)\dot{f}_i\left ( 1.1 \right )

        构建机器人阻抗模型时,省略了和弹簧相关的项,即Kx。一般情况下,我们认为和弹簧相关的项用来维持机器人在空间当中的某个位置,像类似于拖动施教、康复训练和远程操作之类的协作任务当中,我们往往不要求机器人一定要维持在某个事先定义好的位置。在这种情况下,可以考虑简化机器人的阻抗模型,也就是说删去和弹簧相关的这一项。

        这里的阻尼系数矩阵Cvi是基准值减去另外一个S矩阵,S矩阵中的元素和机器人运动速度的方向和力变化的方向是相关的。举例来说,当机器人运动方向为正,力的方向为正,表明人希望在这个方向进行加速,对应的s_{ij}增加,这个方向的阻尼系数减小。\delta_{ij}克罗内克函数,当i=j时,\delta_{ij}=1,否则\delta_{ij}=0\mathrm{sgn}(\dot{x}_i)\dot{x}_i的符号函数。

人的阻抗模型:

f=Kx+b\left ( 1.2 \right )

文章中将人近似的看为了弹簧系统,即人产生的力和当前位置是线性关系。

        蓝色椭圆曲线为人体实际刚度矩阵,将实际刚度矩阵进行奇异值分解并绘制椭圆曲线。

        人的阻抗模型通过经典的参数辨识的方法在线去估算,也就是我们数值的线性回归。

参数辨识(线性回归):

\min\left(\boldsymbol{K}\boldsymbol{X}+\boldsymbol{B}-\boldsymbol{F}\right)^T\left(\boldsymbol{K}\boldsymbol{X}+\boldsymbol{B}-\boldsymbol{F}\right)\left ( 1.3 \right )

        通过机器人阻抗模型计算出来的力的大小和力它实际的测量值之间的误差,估算刚度矩阵的K值,上图红色椭圆曲线展示了通过参数辨识的方法,基于平面(二维工作空间)的真实实验得出的较差估计的情况。

稳定性分析:提出“最小阻尼系数“的概念

1.系统方程

        机器人的阻抗模型是线性的,人的阻抗模型也是线性的。两个模型通过接触力耦合,整个系统方程是一个二阶的线性方程

f=M\ddot{x}+C_{vi}\dot{x}=Kx+b\left ( 1.4 \right )

2.状态空间方程

        将二阶线性方程改写为状态空间方程

\dot{X}=AX\left ( 1.5 \right )

\boldsymbol{A}=\frac1{\boldsymbol{M}T}\begin{pmatrix}0&\boldsymbol{M}T&0\\0&0&\boldsymbol{M}T\\-\boldsymbol{K}&-\boldsymbol{C}&-(\boldsymbol{M}+\boldsymbol{C}T)\end{pmatrix}\left ( 1.6 \right )

        得到3×3的系统矩阵A,这里多出来的矩阵阶数,是因为在进行力的测量时,通常需要通过力传感器或转矩传感器来实现。然而,这些传感器的测量结果往往会受到高频噪声的干扰。为了减小甚至消除这些干扰对测量结果的影响,对原始的力测量信号进行滤波处理是必要的。最简单的滤波方法是使用一阶低通滤波器。

        在进行系统稳定性分析时,这个实际存在的低通滤波器的动态特性也需要被考虑进去。因此,系统模型中会多出一个参数 T,它代表一阶低通滤波器的时间常数。这个参数的引入是为了更准确地描述整个系统的动态行为,确保稳定性分析的准确性和可靠性。

3. 由系统矩阵特征值的实部小于0,可推导出矩阵C的最小值

        这里的其他参数均与机器人和人的阻抗模型有关,若熟悉线性控制理论,则可知当系统矩阵 A的所有特征根的实部均小于零时,系统即为稳定系统。根据这一条件,若我们使系统矩阵的行列式等于零,则可以得到系统的边界稳定条件。

        其中,M矩阵是预先定义的矩阵,而 K则与人类的阻抗模型相关。最终变化的参数为阻抗模型中的阻尼系数 C。基于上述边界条件,即当 A矩阵的行列式等于零时,我们能够得到 C的最小值。

        因此,在在线调整阻尼系数时,必须确保 C大于由线性控制理论推导出的最小值,以在理论上保证整个机器人的控制系统保持稳定。

案例分析二

F.Ficuciello,L.Villani and B.Siciliano,"Variable Impedance Control of Redundant Manipulators for Intuitive Human-Robot Physical Interaction,"in IEEE Transactions on Robotics,vol.31,no.4,pp.850-863,Aug.2015

主要贡献

1.利用操作空间内的速度反馈调整阻尼系数,提高人在拖动示教时的舒适性。
2.利用机器人的冗余自由度(Redundancy Resolution)在不影响主要任务执行的情况下,机器人能够自主优化姿态,远离奇异点。(Singularity)
3.稳定性分析:提出“稳定区域”(Stability Region)的概念,用实验的方法确定其范围。——当确定了一部分阻抗系数时,其他阻抗系数所允许变化的最大范围,文章作者用实验方法确定了稳定区域的大致范围。

具体分析

阻尼系数变化准则:

\boldsymbol{D}\left(\dot{\boldsymbol{x}}\right)=\min\left(\boldsymbol{a}\text{exp}\left(-b\|\dot{\boldsymbol{x}}\right\|\right),\boldsymbol{D}_{max})\left ( 2.1 \right )

  • \boldsymbol{D}\left(\dot{\boldsymbol{x}}\right):表示阻尼系数,它是一个向量,其中的每个元素对应于系统中一个特定状态变量的阻尼系数。

  • \dot{\boldsymbol{x}}:表示系统状态变量的导数,也就是系统的速度向量。

  • a 和 b:是模型参数,决定了阻尼系数随速度变化的非线性特性。

  • \left\|\dot{\boldsymbol{x}}\right\|:表示速度向量的范数,即速度的大小。

  • \exp(-\|\dot{\boldsymbol{x}}\|):是一个随着速度增加而减小的指数衰减函数。

  • D_{max}:是阻尼系数可能的最大值,表示阻尼系数不会超过这个值。

        整个公式的意思是:阻尼系数D(\dot{\boldsymbol{x}})随速度的增加而呈指数型减小,但有一个上限,即Dmax。和案例一中的思想类似,当机器人末端速度增大时,希望机器人的阻尼减小。

        采用文章中提出的方法,并得到了相应的结果。实验中,我们设定了两种不同的阻尼系数:一种是较低的阻尼系数,用绿色叉表示;另一种是较高的阻尼系数,用方框表示。我们使用两个标准来评估协作性能:一是完成任务所需的总时间;二是累积控制误差。

        实验结果表明,采用自适应阻抗控制方法在执行时间和完成精度两方面均表现最佳。如果阻尼系数设置过低,虽然可以缩短执行时间,但会导致较大的控制误差。相反,如果增大阻尼系数,虽然可以在一定程度上减少误差,但会增加完成任务所需的时间。因此,从实验结果来看,自适应阻抗控制在完成任务的效率和精度上都达到了最优效果。

        此外,在执行任务过程中,我们还可以观察人在操作中所需施加的力。观察结果表明,当使用高阻尼系数时,操作者需要施加较大的力来驱动机器人的运动。而低阻尼系数虽然减少了操作者所需施加的力,但如前图所示,这会导致较大的轨迹跟踪误差。因此,在这种情况下,自适应阻抗控制能够在减少操作者所需外力的同时,保证机器人在运动过程中的轨迹跟踪精度。这种控制策略实现了在降低操作者劳动强度和提高机器人运动精度之间的良好平衡。

利用冗余自由度的二次优化:

关节转矩输入函数

\tau_c=\tau_{imp}+\left(\boldsymbol{I}-\boldsymbol{J}^T\boldsymbol{J}^{\dagger T}\right)(\boldsymbol{u}-k_D\dot{\boldsymbol{q}})\left ( 2.2 \right )

        \tau_{imp}维持我们所设定的机器人阻抗特性所需要的转矩(首要任务),u是任意的输入力矩。

        通过乘以零空间矩阵(I-J^TJ^{\dagger T}) ,我们可以将控制力矩中的分量分解为两部分:一部分位于雅可比矩阵的列空间(直接影响末端执行器速度),另一部分位于雅可比矩阵的零空间(不影响末端执行器速度)。这样可以在不影响末端执行器任务性能的情况下,对关节进行额外的控制,例如实现柔顺控制或避免关节的奇异配置。

两种零空间中设计控制输入u方法:

1.考虑机器人的可操作性(Manipulability)

m\left(\boldsymbol{q}\right)=\sqrt{\det\left(\boldsymbol{J}\boldsymbol{J}^T\right)}\quad\boldsymbol{u}=k_m\left(\frac{\partial m\left(\boldsymbol{q}\right)}{\partial\boldsymbol{q}}\right)\left ( 2.3 \right )

     m\left(\boldsymbol{q}\right)反映了机器人和奇异点之间的距离,值越大越反映离奇异点举例越远。因此我们可以在机器人的可操作性梯度方向上定义控制输入。使其沿着增加机器人可操作性的梯度方向进行调整,从而在理论上实现可操作性的最大值。

2.考虑阻抗控制的误差

\omega\left(\boldsymbol{q}\right)=\frac{1}{2}\boldsymbol{E}^{T}\left(\boldsymbol{q}\right)\boldsymbol{W}\boldsymbol{E}\left(\boldsymbol{q}\right)\quad\boldsymbol{u}=-k_{\omega}\left(\frac{\partial\omega\left(\boldsymbol{q}\right)}{\partial\boldsymbol{q}}\right)\left ( 2.4 \right )

        如前所述,机器人在执行任务过程中,由于各关节间不可避免的耦合作用,实际展现的阻抗特性与预设的阻抗特性之间存在一定的偏差。这种偏差即由误差矩阵 e所表示,其中W为各关节的权重。在此基础上,我们可以定义一个新的量,称之为 \omega,用以量化这一误差的大小。控制输入u为沿着误差梯度减小的方向,最后可以达到理论上的误差小值。

基于实验方法的稳定性分析:
目的:给定阻抗模型中某一个参数,确定其他参数允许变动的范围
方法:利用阻抗控制,让机器人停留在某个姿态。改变阻抗参数,同时晃动机器人末端,直到出现大幅度振动。


http://www.mrgr.cn/news/61482.html

相关文章:

  • 代理模式和适配器模式有什么区别
  • javaEE-网络原理-5.进阶 传输层UDP.TCP
  • [每周一更]-(第131期):Go并发协程总结篇
  • 前端开发:表格、列表、表单
  • 本地缓存:Guava Cache
  • IOS HTTPS代理抓包工具使用教程
  • 基于SpringBoot+LayUI+Vue智能停车收费系统
  • 第三十三篇:TCP协议如何避免/减少网络拥塞,TCP系列八
  • 【工具】Charles对360浏览器抓包抓包
  • Nginx 迁移到 Caddy:一次完整的反向代理配置迁移实践
  • 美国技术论坛汇总
  • 滴滴面试:单表可以存200亿数据吗?单表真的只能存2000W,为什么?
  • PG数据库之视图详解
  • or-tools优化库记录
  • 数据结构:并查集
  • 不吹不黑,客观理性深入讨论国产服务器
  • Tessy学习笔记-CTE如何生成测试用例
  • linux_电脑一运行程序就死机怎么处理?
  • js 简单模拟JSON.stringify 功能
  • 大模型AI在教育领域有哪些创业机会?
  • 解决IllegalAccessException: java.lang.Class<xxx.xActivity> is not accessible
  • iQOO手机怎样将屏幕投射到MacBook?可以同步音频吗?
  • 【338】基于springboot的IT职业生涯规划系统
  • 202409电子学会青少年机器人技术等级考试(五级)实际操作真题
  • 架设NFS服务器并根据一些要求进行配置
  • 【云原生】云原生后端:安全性最佳实践