前言:

        之前古月居邀请着出四足机器人课程来着,但是由于时间和其他原因最后没有录播,这里就粗糙的介绍下,大概分为四章,大家可以直接白嫖,对应的工程参考代码可以到我的GitHub上参考。

对于控制刚体机器人来说,控制策略构建大概可以三部来实现。 首先是构造模型,模型可以是全动力学模型,或者是低维的替代模型。 优化目标一般是 状态跟踪误差最小,能量消耗最小,等等为目标。 优化方法 一般针对模型的优化目标采取对应的方法。以质心准静态控制为例,我们构建的二次型优化目标可以使用QP来求解。

足式机器人由于高维度的关节空间,对于某些运动模式来说还是非自然稳定的,另外还要考虑于复杂地形交互,因此足式机器人控制问题非常的棘手。 所以目前来说没有一种有效的能具有通用性的解决方案,还处于百家争鸣的时期。但是,仍有许多方法在仿真和实际中取得良好的效果。这些方法最基本的思想 就是替代,简化。 由于这些替代或者简化的方法可能要求机器人机器人惯量质量更加的集中。 这里放了几张四足机器人的图片,大家可以观察其中的共有特性。在视觉上,驱动单元全部集中于躯干,留下纤细的腿。这就是为了简化控制策略,而进行的硬件上的设计。当然,这里只是为了说明控制策略可以得到简化,他们的实际控制也有可能不是这样。 这样子的做法,现在已经是几乎为四足的主流,这在国内许多的初创公司设计的四足上可以看到。

下面为大家介绍最简单的三种简化思想的控制策略。

虚拟模型控制是目前已知最简单的力控策略。它用了一种非常直观的方法进行产生虚拟力,再映射到关节空间。 虚拟模型是指利用假想的出来的一些机械结构,在空间中可以维持机器人某些状态的。机械组件和机器人某些部位的链接一般使用弹簧阻尼器。 它不局限于某种特定的模型,是一种约束思想。 以最左边的图来看,可以发现一个二维平面的双足机器人被挂在一个架子上,站立高度和姿态都被行架所维持。 中间的四足机器人相对来讲,约束则更加直接,直接在俯仰角和Z轴使用弹性阻尼件进行约束。 最右边这个看起来则比较复杂,论文作者提出了一种所谓的虚拟悬挂模型,解决了一个很小的问题。点足机器人站立平衡问题,具体的可以看我古月居博客的解析。 现在这个虚拟模型控制是作为一种非常基本和底层的策略,经常用于闭环跟踪轨迹。在实际控制中,弹簧阻尼器可以认为就是PD控制器。 当然它也可以非常复杂,利用超级多的机械组件,也可能产生一些极好的效果,但是目前来说没有设计的依据。人的经验也仅仅局限于比较简单的机械组件。

 低维现在一般所指的就是 LIPM ,SLIP 模型。 由于足式机器人具有很多的关节,直接做轨迹规划没有那么容易。于是大家就依据足式动物或者机器人与地面交互的经验,简化出相对来说容易处理的模型。 构建出来的低维模型可以用来做约束轨迹的生成,构建的实际机器人动力学通过闭环控制来逼近这段轨迹,当然还要遵从一定的约束,比如说地面摩擦和末端相对世界坐标系的静止约束。。还有的是用低位模型来进行 落脚点规划,好的落脚点规划可以维持机器人来回运动在一个稳定范围内,而且在受了扰动后可以快速恢复。这个大家下来可以阅读一些相关文献。

最最最火的就是MIT近年来所提出的,简化单刚体动力学的MPC模型。相信很多小伙伴已经开始钻研他们的开源软硬件方案。 这方面的内容,网上很多,所以就不再进行阐述了。 这里给出这个方案的介绍是为了对比一般的质心准静态控制器 ,区分他们有什么不同。

这个准静态控制是非常接近WBC的,WBC其实还需要将机器人腿部惯量及动力学第二项考虑进来。但是有的论文也将这种质心准静态控制说成是全身控制器。 准静态的意思是这个我个人的理解是其模型接近于静态力学。 该方法,对比MIT的MPC其实就是省略了在未来长时间跟踪轨迹优化的部分。对比虚拟模型控制,本质上就是在质心用6个自由的弹簧阻尼器约束后又添加了优化分配力的过程。 所以以这个为学习的基础那么,对学习其他控制器方法和过程都会有一个比较好的理解。也会更加容易入手。 然后,掌握这个基础其实也就可以自己去实现一套MIT的MPC方案。也可以结合全身动力学去探索WBC的控制方法。