我有一个正在工作的具有三个自由度腿的小四足动物:3DOF迷你四足动物。
我的原始代码是在arduino上的一个简单的伺服控制器,以及Scala代码,它将通过电线发送伺服命令。我在Scala中完成了所有的逆运动学和步态逻辑,并使其行走:3dof四足先步态。
我在Scala中的步态逻辑有些天真。它取决于腿部在开始时处在正确的位置(一侧向前和向后延伸,另一侧朝向彼此)。逻辑是简单地将所有四只脚沿y向后平移1mm,并且每当一个coxa角变得过分向后时,停止并执行一些常规程序,即将该脚沿z方向抬高10mm,然后沿y向前平移60mm,然后放回原处。天真,但有效。
现在,我已经在arduino C中重写了IK代码,并且试图确定如何继续进行步态动力学。我很难找到关于步态的良好且易于理解的资源。我确实了解一些动态稳定的步态(例如蠕动步态)和动态不稳定的步态之间的区别,在这种情况下,身体始终是稳定的三脚架,在这种情况下,两条腿每次都离地,而身体从本质上说是跌入了前进的脚。
我对状态机有一些想法,并试图计算出身体的中心点是否落在其余脚所成的三角形内,以决定哪只脚可以安全抬起,但是我不确定这些想法是否值得探讨。
我知道这是一个过于笼统的问题,但是我很想看看其他人如何解决了这个问题,而我所能找到的几乎都是研究论文。