1.8 动态系统的柔性控制的生成和学习
由于机器人被部署在人类居住的环境中,安全已成为当今机器人领域的主要关注点。该行业致力于让机器人与人类合作。这种方式的优点很多,从获得空间到提高生产力。它还可以方便人类的工作,比如机器人可以帮助人类搬运重物。但是,这一新趋势也带来了多重危险。当人类靠近机器人时,人与机器之间发生碰撞的可能性很高(见图1.14)。由于机器人移动速度快,此类碰撞产生的冲击将很大,并可能对人造成严重伤害。
图1.14 如在协作机器人示例中所设想的那样,机器人与人类一起工作时可能给人类带来危险(图a)。为了避免这些危险,可以使用柔性机器人(图b)。柔性机器人将吸收与人类意外接触产生的力(图c),从而降低受伤风险
为了降低这些风险并使碰撞造成的伤害最小,一种方法是使机器人变得具有柔性[35]。这可以通过修改硬件来实现,例如为机器人提供软关节或软材料来吸收冲击。另一种方法是通过软件使用阻抗控制创建这种柔性[55]。阻抗控制通过虚拟弹簧和阻尼器控制律并计算机器人产生的扭矩。与真实物理弹簧类似,虚拟弹簧也可以调节刚度参数。增加或减少的刚度决定了机器人运动吸收或抵抗外力的程度[152]。
在本书的第三部分中,介绍了使机器人具有柔性的方法,通过控制与二阶动态系统接触的力,或将基于动态系统的控制律与阻抗控制相结合,将前者用作后者的参考速度生成器。我们假设机器人的内部动力学得到补偿,然后就可以以二维的形式写出1
其中,D(x)是状态空间的半正定矩阵函数,τ∈ℝN是机器人在每个q关节处的扭矩,f(x)是动态系统的输出,是机器人的实际速度。这里,f(x)作为参考速度,是由式(1.8)来计算的。通过矩阵D调节参考速度的精确程度。使用与动态系统调节相同的方法,我们可以通过特征值/特征向量组合来生成矩阵D,将第一个方向与标称动态系统的方向对齐。然后可以使用特征值沿路径调节刚度,如图1.15所示。阴影区域是具有高刚度的区域。在该区域内,系统屏蔽干扰并遵循动态系统指示的方向。在该区域的其余部分,动态系统受到干扰。干扰可能会使机器人移动到不同的位置。一旦干扰消失,机器人就恢复运动,即沿着动态系统在新位置生成的新路径运动。
图1.15 阻抗控制与动态系统相结合。通过对刚度矩阵进行特征值和特征向量分解,可以对刚度进行局部控制。第一个特征向量与动态系统路径对齐,而第二个特征向量和特征值控制对外部干扰的柔顺性
将动态系统与阻抗控制相结合是有利的,因为它既继承了动态系统在运动中重新规划的能力,又继承了柔顺控制的自适应性。这种组合使机器具备鲁棒控制的能力,能够通过重新规划预计轨迹和吸收冲击从意外碰撞中恢复。
矩阵D(x)可以通过各种市场上可收集到的学习技术轻松学习。然而,与学习动态系统一样,使用这种技术可能无法保证系统保持稳定。需要对矩阵形状进行其他约束,以确保系统收敛于中心点。由于矩阵D随状态空间变化,因此不能通过临界阻尼系统的标准方法设置。在第10章中,我们介绍了几种在保持系统稳定性的同时学习各种阻抗项的技术。
最后,在第11章中,我们展示了如何通过动态系统控制力,这个想法是生成一个针对物体表面的法线分量,类似于通过阻尼项产生力。此外,如果将其与动态系统相结合,则可以使一对机械臂拾取并提升物体至空中[5],如图1.16所示。
图1.16 可以通过动态系统将法向分量分解到物体表面以产生期望的力,从而实现力的控制[5]。结合两个力控制动态系统使两个机械臂能够平衡力并同步移动。即使受到干扰(例如当人类旋转两个机械臂时,见图b),机械臂也能将箱子提升并保持在空中(图a)。该系统具备柔性,允许人类随时分开手臂(图c)