1.三通道解耦控制理念

Raibert所写的《Legged-Robots-That-Balance》可以说是足式机器人必读的书籍,其中提出了经典的三通道足式机器人控制框架,通过降维的方式实现对足式机器人非线性动力学模型的解耦同时引入虚拟腿和虚拟弹簧的概念使得整个算法在有精确可靠的系统状态估计下,能采用简单的PD控制律实现并能获取较好的控制性能和抗外力作用性能,下面对本文中的核心算法进行简单的总结。

简化倒立摆模型

如图所示给出了简化倒立摆模型的示意图,其可以通过虚拟腿的理念推广到双足、四足或六足机器人上,通过一个有限状态机进行状态切换将整个控制过程划分为三个独立的模块:

(1)弹跳高度; (2)前进速度; (3)机体姿态;

其核心的控制理论是通过在腿支撑时下蹬保证弹跳的高度,通过控制每次落足点里COM的偏差来实现加减速,则前进加速度可以由触地(td)时足端速度和离地(lo)时足端速度之差估算出:

在飞行相中前进加速度则认为为零,因此机体的加速只有在支撑过程中完成,落足点越靠近自身重心决定的中性点则加速度越小。文中通过构建一个简单的反馈机制来动态调节落足点,这和我们之前介绍的虚拟力章节中算法一致:

由于机器人控制中引入的姿态概念因此其在臀部建立的坐标系是一个浮动坐标系,为方便计算和控制可以采用极坐标系的方式计算期望的弹簧转角和弹簧长度:

则在飞行相中进一步可以构建一个PD控制器完成对弹簧角度的调节并产生给电机的期望力矩:

最终,完成支撑相时机体姿态的控制,与落足点弹簧角度控制相同通过构建在臀部的PD控制器:

综上,通过上述解耦的方式将控制系统进行分解,对于6Dof的位姿控制则只需要将上述的理念进行拓展即可,则整个控制过程可以通过下面的状态机进行描述。

三通道解耦控制流程

2.虚拟力解耦的阻抗控制方法

通过与前面提到的虚拟力理论进行对比可以看到三通道解耦是足式机器人核心的控制框架在此基础上进一步发展出了虚拟力、力分配优化和MPC模型预测控制等新兴控制方法,但其中不能忽视的重要问题是控制系统中精确的反馈数据,相比于无人机来说足式机器人对姿态解算的要求我认为更加精确,这种精确主要体现在飞行相过程中落足点的确定十分依赖自身的速度估计。

通过使用雅克比矩阵能实现关节力矩与足端力的空间映射,当前这样的映射仅在微小的采样时间下才满足需求,因此将虚拟力的理论引入上述解耦控制方法不但能统一控制物理量杠更容易理解,另外也能更好地实现与驱动系统的综合集成,因此在上述解耦控制中新增一个三维足端位置虚拟力控制环节:

其中Kp对应着虚拟弹簧的刚度,Kd对应着虚拟弹簧的阻尼系数,则进一步通过雅克比矩阵计算出关节所需要持续作用的力矩:

则通过调节虚拟弹簧的刚度和阻尼系数可以实现不同性能的弹簧效果并实现跳跃、触地、支撑等控制,另外为吸收触地时的足端冲击力还需要进一步设计阻抗控制器。

传统的阻抗或导纳控制通过在期望末端位置上增加偏移量模拟弹簧,而基于虚拟力的伺服系统可以通过调节弹簧系数来更好的实现阻抗控制的目的,因此可以通过将触地过程中足端位置的误差作为输入来对虚拟弹簧的刚度系数进行实时调节:

其中的调节函数可以通过标定或者模糊控制律等方式设计,因此可以在传统的三通道解耦控制上进一步优化引入虚拟力和阻抗控制思想得到新的状态机调度策略。

在支撑相时机体下蹲准备跳跃,当足端期望长度为全长时开始跳跃,阻抗控制器由于末端误差的存在快速提高弹簧的刚度产生足够虚拟力推动机体,当末端力反馈小于阈值时认为离地切换到飞行状态,飞行中降低弹簧刚度准备触地,通过建立窗口滑动判断触地力达到触地阈值条件并切换到支撑相,阻抗控制器开始调节臀部力矩控制弹簧的压缩,则当弹簧长度小于某个阈值后回到飞行准备状态,至此依次重复完成弹簧能量的存储和释放,则状态切换调度逻辑如下图所示。

虚拟力的解耦阻抗控制逻辑

其中要保证精确的弹跳高度和系统可靠性需要可靠的足底力反馈,同时也是判断状态逻辑切换的主要触发条件,获取足底力最直接的方式是在足底安装6Dof力传感器,但是其成本高同时无法应对上下台阶可能出现的小腿完成支撑的情况,因此对于低成本伺服足式机器人来说可采用逆雅克比运算的方式估计足底力。由伺服系统实时测量到的电流i可以计算出相应的电机扭矩:

则进一步可以计算出相应的足底力估计值:

相比于力传感器来说其精度较差误差可能在13~30%之间,同时还有可能由于系统自身结构的抖动或齿轮间隙引起力估计结果的小幅震荡,以上就是《Legged-Robots-That-Balance 》一文中核心的内容,其pdf版本的下载地址为:

pan.baidu.com/s/1wP0geZ
提取码:gj4p