1.背景介绍

机械臂的位置控制是机械臂最重要的功能。机械臂的位置控制精度也是研究者及工程师一直关注的问题。本文梳理下机械臂位置控制的一些发展脉络,帮助大家提高对其的认识以及如何去提升机械臂的位置控制性能。

精度衡量:直接测量机械臂末端的位置比较困难,这里采用一种近似的方式,比较机械臂各轴指令角度与实际编码器反馈角度间的偏差值。

2.控制策略

  • 三环反馈伺服控制

这种位置控制方式是大家最为熟悉的。此时控制都是在驱动器里完成的,它根据指令位置去生成力矩,让机械臂很好地追上指令位置,而控制器只是一个轨迹规划器,负责发送给驱动器指令位置。

这种方式在稳态时的精度很高,且抗干扰能力强,这可以保证机器人的重复定位精度。然而动态性能较差,比如指令位置曲线与实际位置曲线间的时间延迟较大。

稳态时的角度误差及抗干扰性能
  • 前馈+三环控制

这种策略是在三环反馈控制的基础上,加入前馈指令值。驱动器一般需工作在CSP模式,前馈值的生成方式有两种:控制器还是只发送给机械臂指令位置,驱动器通过差分生成前馈速度值及前馈加速度值;控制器不止发送指令位置,它还将前馈速度偏置值、前馈力矩偏置值也发送给驱动器。

CPS(周期性同步位置模式)

这种方式可以提供机械臂的动态响应能力,下图是无前馈及有前馈下的位置误差曲线。

有前馈与无前馈的动态性能对比
  • 非线性控制

前两种方式的驱动器都是工作在位置控制下,而第三种策略将驱动器置于电流/力矩模式下,采用现代控制理论中的一些非线性控制策略。控制器直接根据指令位置计算出力矩值,发送给驱动器。此时驱动器弱化为一个功率放大模块,而控制器才能算是在做运动控制。

这其中可采用的控制策略有计算力矩法、反馈线性化及一些自适应控制策略等。下图的采用反馈线性化方法的控制效果,可以达到跟上一种方法差不多的动态效果,但实验中发现,它的稳态精度及抗干扰能力不如上一种。

反馈线性化控制器的动态跟踪误差

下图是关于ABB控制器原理的一些资料,从中可以看到他们可能已经采用了现代控制理论及非线性控制的部分东西。

ABB控制器
  • 高级控制

前面的控制中都是将机械臂看做是完全刚性的,然而实际的材料都是有柔性的。机械臂的柔性可归结为连杆的柔性及关节的柔性,这其中机械臂70~80%的柔性是由关节减速器及传动元件等引起的。在上图ABB的控制器框图中,也区分了tool position与motor position。这种控制策略中普遍需要电机端位置反馈及连杆端位置反馈。

柔性关节

该类机械臂控制中会对关节柔性部分进行建模及辨识。此外,机械臂中一般只有电机端安装有编码器,这种控制在实际使用中还涉及到如何有效且方便地估计连杆的位置。在后续的文章中,我们会讨论关于关节刚度辨识及连杆位置估计等问题。

3.总结

机器人控制器能发挥出最大性能,需要机器人结构、装配、系统辨识、状态估计、控制周期、控制方法等多方面来共同保证的。机器人非线性控制策略是学术上的研究热点,然而国内工程师普遍对这些不太感冒,觉得前两种控制策略足够好了。 将非线性控制策略与三环控制策略结合在一起,并考虑关节柔性,可充分发挥理论的能力,或许可以在实践中获取更好的效果。