机器人阻抗控制器的设计与实现是一个复杂但关键的过程,它涉及到多个方面以确保机器人能够在外界环境的影响下保持稳定的性能。以下是对机器人阻抗控制器设计与实现的详细解答:
一、阻抗控制原理
阻抗控制的基本原理是建立一个期望的机器人位置和接触力的动态响应关系。通过改变阻抗(包括质量、阻尼和刚度),可以调节机器人与外界环境的动态作用。阻抗控制的目标是使机器人在受到外界力作用时,能够具有阻抗形式的扰动响应,从而实现对外部环境的适应。
二、阻抗控制方法
机器人阻抗控制主要分为两种方法:基于位置的阻抗控制和基于力的阻抗控制。
- 基于位置的阻抗控制:
- 让机器人电机在位置模式下工作,通过发送目标位置和速度实现阻抗特性。
- 主要用于控制机器人的位置精度和运动轨迹。
- 控制器会不断调整阻抗模型参数,以适应不同的操作需求,并保持对物块的稳定夹取。
- 基于力的阻抗控制:
- 让机器人的电机处于力矩模式工作,需要考虑机器人的动力学模型,直接计算出需要的力矩给驱动器。
- 主要用于控制机器人与环境之间的作用力和反作用力,从而实现更好的顺应性。
- 需要使用到机器人力传感器来测量机器人与环境之间的作用力,以实现更为精准的控制。
机器人动力学模型
The generalized forces τ ∈ Rn determine the control input
represents the generalized external forces
在笛卡尔/末端/操作空间的机器人动力学模型
设计由两个阶段组成:一个反馈线性化系统,允许消除机器人的内在非线性,以及施加一个动态行为,以保持微妙的交互作用
反馈线性化的目标,也称为逆动力学或计算转矩,是为了消除给出的动力学模型的非线性。为此,定义了以下控制定律
这可以解释为每个关节上的解耦二阶系统。为了保证受控系统的稳定性及其收敛到期望状态,我们将期望行为y定义为比例导数定律为
选择合适的KP值和KD值保证了末端执行器姿态的收敛性。
阻抗控制
为了确保机器人的可爱环境和周围环境之间微妙的相互作用,将动态行为定义为其控制律的一部分。考虑到一个6×1的接触末端fA(包含力和力矩的矢量),将机器人动力学中所示的模型改写为
为了抵消非线性项的影响,采用反馈线性化方法将控制律定义为
与纯反馈线性化一样,可以任意地设计现在解耦的二阶系统的行为。为了在机器人的末端执行器和期望的位置之间施加一个机械阻抗的行为,定义了接下来的解耦加速度
其中,Md、Bd和Λd分别为6×6个期望惯性、阻尼和刚度的正定矩阵。有了这种行为,闭环系统就变成了
在这个表达式中,可以通过选择Md类似于惯性矩阵Hx (q)来进一步忽略接触力fA的显式测量,从而消除了对力/扭矩传感器的需要。
动力学系统的控制问题是选择输入u(t),使末端执行器在任务空间中执行所需的运动,同时调节末端执行器与环境的交互作用力。根据任务,这可以指定为一个轨迹跟踪问题,即跟踪一个给定的运动和/或力轨迹的问题,或获得所需的阻抗的问题,例如,控制操纵器响应二阶系统刚度K,阻尼B和质量M
内环/外环控制,其中内环是一个非线性反馈线性化或逆动力学控制,外环是一个额外的控制,以实现更经典的控制理论目标,如跟踪、干扰抑制、鲁棒性等。给定系统(I),假设内环控制律的形式为
并消除了动力学中存在的非线性。由于惯性矩阵是可逆的,并且假设我们处于一个没有运动学奇点的区域,因此应用于动力学的控制律得到了我们熟悉的双积分器系统
参考文献:
Hierarchical Impedance-based Tracking Control of Kinematically Redundant Robots