案例分析一
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.估算人的阻抗系数
核心思想
当接触力在当前速度的方向上急剧增大时→人期望在该方向加速→机器人应减小该方向上的阻抗系数以顺应人的意图,减小接触力,反之亦然。
具体分析
机器人阻抗模型:
构建机器人阻抗模型时,省略了和弹簧相关的项,即。一般情况下,我们认为和弹簧相关的项用来维持机器人在空间当中的某个位置,像类似于拖动施教、康复训练和远程操作之类的协作任务当中,我们往往不要求机器人一定要维持在某个事先定义好的位置。在这种情况下,可以考虑简化机器人的阻抗模型,也就是说删去和弹簧相关的这一项。
这里的阻尼系数矩阵是基准值减去另外一个矩阵,矩阵中的元素和机器人运动速度的方向和力变化的方向是相关的。举例来说,当机器人运动方向为正,力的方向为正,表明人希望在这个方向进行加速,对应的增加,这个方向的阻尼系数减小。克罗内克函数,当时,,否则。是的符号函数。
人的阻抗模型:
文章中将人近似的看为了弹簧系统,即人产生的力和当前位置是线性关系。
蓝色椭圆曲线为人体实际刚度矩阵,将实际刚度矩阵进行奇异值分解并绘制椭圆曲线。
人的阻抗模型通过经典的参数辨识的方法在线去估算,也就是我们数值的线性回归。
参数辨识(线性回归):
通过机器人阻抗模型计算出来的力的大小和力它实际的测量值之间的误差,估算刚度矩阵的K值,上图红色椭圆曲线展示了通过参数辨识的方法,基于平面(二维工作空间)的真实实验得出的较差估计的情况。
稳定性分析:提出“最小阻尼系数“的概念
1.系统方程
机器人的阻抗模型是线性的,人的阻抗模型也是线性的。两个模型通过接触力耦合,整个系统方程是一个二阶的线性方程
2.状态空间方程
将二阶线性方程改写为状态空间方程
得到3×3的系统矩阵,这里多出来的矩阵阶数,是因为在进行力的测量时,通常需要通过力传感器或转矩传感器来实现。然而,这些传感器的测量结果往往会受到高频噪声的干扰。为了减小甚至消除这些干扰对测量结果的影响,对原始的力测量信号进行滤波处理是必要的。最简单的滤波方法是使用一阶低通滤波器。
在进行系统稳定性分析时,这个实际存在的低通滤波器的动态特性也需要被考虑进去。因此,系统模型中会多出一个参数 T,它代表一阶低通滤波器的时间常数。这个参数的引入是为了更准确地描述整个系统的动态行为,确保稳定性分析的准确性和可靠性。
3. 由系统矩阵特征值的实部小于0,可推导出矩阵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)的概念,用实验的方法确定其范围。——当确定了一部分阻抗系数时,其他阻抗系数所允许变化的最大范围,文章作者用实验方法确定了稳定区域的大致范围。
具体分析
阻尼系数变化准则:
-
:表示阻尼系数,它是一个向量,其中的每个元素对应于系统中一个特定状态变量的阻尼系数。
-
:表示系统状态变量的导数,也就是系统的速度向量。
-
a 和 b:是模型参数,决定了阻尼系数随速度变化的非线性特性。
-
:表示速度向量的范数,即速度的大小。
-
:是一个随着速度增加而减小的指数衰减函数。
-
:是阻尼系数可能的最大值,表示阻尼系数不会超过这个值。
整个公式的意思是:阻尼系数随速度的增加而呈指数型减小,但有一个上限,即。和案例一中的思想类似,当机器人末端速度增大时,希望机器人的阻尼减小。
采用文章中提出的方法,并得到了相应的结果。实验中,我们设定了两种不同的阻尼系数:一种是较低的阻尼系数,用绿色叉表示;另一种是较高的阻尼系数,用方框表示。我们使用两个标准来评估协作性能:一是完成任务所需的总时间;二是累积控制误差。
实验结果表明,采用自适应阻抗控制方法在执行时间和完成精度两方面均表现最佳。如果阻尼系数设置过低,虽然可以缩短执行时间,但会导致较大的控制误差。相反,如果增大阻尼系数,虽然可以在一定程度上减少误差,但会增加完成任务所需的时间。因此,从实验结果来看,自适应阻抗控制在完成任务的效率和精度上都达到了最优效果。
此外,在执行任务过程中,我们还可以观察人在操作中所需施加的力。观察结果表明,当使用高阻尼系数时,操作者需要施加较大的力来驱动机器人的运动。而低阻尼系数虽然减少了操作者所需施加的力,但如前图所示,这会导致较大的轨迹跟踪误差。因此,在这种情况下,自适应阻抗控制能够在减少操作者所需外力的同时,保证机器人在运动过程中的轨迹跟踪精度。这种控制策略实现了在降低操作者劳动强度和提高机器人运动精度之间的良好平衡。
利用冗余自由度的二次优化:
关节转矩输入函数
维持我们所设定的机器人阻抗特性所需要的转矩(首要任务),是任意的输入力矩。
通过乘以零空间矩阵 ,我们可以将控制力矩中的分量分解为两部分:一部分位于雅可比矩阵的列空间(直接影响末端执行器速度),另一部分位于雅可比矩阵的零空间(不影响末端执行器速度)。这样可以在不影响末端执行器任务性能的情况下,对关节进行额外的控制,例如实现柔顺控制或避免关节的奇异配置。
两种零空间中设计控制输入u方法:
1.考虑机器人的可操作性(Manipulability)
反映了机器人和奇异点之间的距离,值越大越反映离奇异点举例越远。因此我们可以在机器人的可操作性梯度方向上定义控制输入。使其沿着增加机器人可操作性的梯度方向进行调整,从而在理论上实现可操作性的最大值。
2.考虑阻抗控制的误差
如前所述,机器人在执行任务过程中,由于各关节间不可避免的耦合作用,实际展现的阻抗特性与预设的阻抗特性之间存在一定的偏差。这种偏差即由误差矩阵 所表示,其中为各关节的权重。在此基础上,我们可以定义一个新的量,称之为 ,用以量化这一误差的大小。控制输入u为沿着误差梯度减小的方向,最后可以达到理论上的误差小值。
基于实验方法的稳定性分析:
目的:给定阻抗模型中某一个参数,确定其他参数允许变动的范围
方法:利用阻抗控制,让机器人停留在某个姿态。改变阻抗参数,同时晃动机器人末端,直到出现大幅度振动。