上一章讲述了如何将2D跳跃机器人的控制算法延伸到3D跳跃机器人的控制,并提供了简单的机器人仿真示例。本章主要有关如何将该算法扩展到两足以及四足机器人的控制。

Biped and Qudaruped Running

相比起单足机器人,两足与四足机器人有什么不同呢?若是两足机器人每次只有一条腿着地,那么和单足机器人有什么不同呢?若是四足机器人多条腿落地时,可以看成一条腿的运动,那么是不是也可以使用十分近似的控制算法呢?作者怀着这样的想法,进一步对单足机器人的控制算法进行扩展,完成了两足以及四足机器人的运动控制。
首先是两足机器人,考虑仅有每次跳跃落地后一条腿进行支撑,然后运行时两条腿交替完成支撑动作,那么可以很简单的使用单足跳跃机器人的控制算法。
Two Legged Hopping Robot
机器人控制使用的状态机需要简单的修改就可以投入使用。
Screen Shot 2022-09-20 at 23.51.28
但是对于四足机器人来说,仅靠每次一条腿的支撑来完成运动,是不太可能的事情,那么如何解决这个问题呢?

Virtual Leg

作者提出了虚拟腿的概念,假设机器人运动时总有一对腿是同时做相同运动的,那么看起来就像是一条腿在运动。
通过这个虚拟腿的概念,作者将四足机器人控制拆分成两个主要任务:

  1. 控制Physical Leg,使其联合输出期望虚拟腿的运动
  2. 生成机器人运动的步态,来决定哪两个腿构成一个虚拟腿系统。

对于第一个任务来说,有三个要点:

  1. Positioning
  2. Synchronization
  3. Force Equalization

通过这样拆分后,四足就像是两足,两足就像是单足。
对于第二个任务,作者给出了一组步态用于机器人控制。
Screen Shot 2022-09-21 at 00.00.35
为了实现机器人控制验证,作者设计了一个四足机器人,每条腿都有三个自由度。
Screen Shot 2022-09-21 at 00.02.06
为了实现虚拟腿的控制,作者将单足机器人的控制进行了拆分。虚拟腿的长度采用两个腿的平均长度。对于落足点位置,同一个虚拟腿内部的物理腿均采用相同的落足点,但是根据腿处于的身体位置,物理腿需要弥补身体宽度带来的偏差。因此机器人运动时从前面看去会有点内八字。对于控制力矩,则进行两个腿平分,每个腿提供一半的期望输出,合起来虚拟腿就可以达到完整的输出。
Front View