斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序

小跑步态程序

一、步态的概念

步态就是描述动物走路特点的一种周期性现象。(就是描述动物是怎样走的)

常见步态:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第1张图片
小跑的步态,成对角状。
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第2张图片
小跑的步态,成对角状。

二、相位差的概念

四足哺乳动物(马)的pace步态:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第3张图片

pace步态相位关系:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第4张图片
相位差:不同腿之间运动超前或者滞后的差异。

对角小跑步态时序图:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第5张图片

三、程序的实现

1.方程转化为代码

摆动相:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第6张图片

取平面的x,z摆轴就可以获得二自由度摆线方程。

支撑相:
斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第7张图片
就用x轴,不用z轴。
x轴调换起点和终点的位置。

2.做出状态切换

斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第8张图片

3.向舵机输出对应两种步态状态

斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第9张图片

4.得到完整TROT步态程序

斯坦福机器狗的设计与实现 手把手教你写出小跑步态程序_第10张图片

最后:调用执行程序:
caculate()
servo_output()

调用运动学逆解函数,解出每个舵机它的运转角度。

在调用output函数,将每个舵机的运转角度输出到PCA9685舵机扩展版里面,从而使得每个舵机按照求出来的角度进行运动,这样就可以实行整个步态的运动。

你可能感兴趣的:(斯坦福机器狗的设计与实现)