四足机器人小跑步态程序(笔记6)

一. 概念

1.步态的概念:描述动物走路特点的一种周期现象
2.相位差的概念:不同腿之间运动超前或滞后的差异

二.程序的实现

第一步:将方程转化为代码
σ=2πt/λTs,0<t<λTs
-> sigma=2 * pi * t/(faai * Ts)
-> Ts=1 //周期
-> faai=0.5 //占空比
其中Xs:步态起点,Xf:步态终点
i)摆动相:
Xexp=(Xf-Xs)×(σ-sinσ)/2π+Xs
Yexp=(Yf-Ys)×(σ-sinσ)/2π+ys
Zexp=h×(1-cosσ)/2π+Zs
代码:
Xep b=(xf-xs) * ((sigma-sin(sigma))/(2 * pi))+xs
zep=h * (1-cos(sigma))/2
ii)支撑相:
Xexp=(Xf-Xs)×(σ-sinσ)/2π+Xs
Yexp=(Yf-Ys)×(σ-sinσ)/2π+ys
代码:
xep_z=(xs-xf) * ((sigma-sin(sigma))/(2 * pi))+xf
第二步:做出状态切换
对应程序
在这里插入图片描述
时间的增加:t=t+speed ,speed=0.04 //步频调节
第三步:向舵机输出对应两种步态状态
前半周期
//输出Y//
y1=ges_y_1+zep
y2=ges_y_2
y3=ges_y_3+zep
y4=ges_y_4
//输出x//
x1=-xep_z * r1
x2=-xep_b * r2
x3=-xep_z * r3
x4=-xep_b * r4
后半周期
//输出y//
y1=ges_y_1
y2=ges_y_2+zep
y3=ges_y_3
y4=ges_y_4+zep
//输出x//
x1=-xep_b * r1
x2=-xep_z * r2
x3=-xep_b * r3
x4=-xep_z * r4
第四步: 得到完整TROT步态程序
在这里插入图片描述

注:
以上内容来自课程《斯坦福机器狗的设计与实现》,感兴趣的可以去此了解更多
(此外,如有错误,欢迎指出,非常感谢!)

猜你喜欢

转载自blog.csdn.net/weixin_47534339/article/details/106730666