一、回顾
我们先来回顾一下hopf振荡器的最初形式:
dtdx=α(μ−r2)x−ωy
dtdy=α(μ−r2)y+ωx
在这微分方程组中,我们能够通过
α,μ,ω三个参数来控制hopf振荡器的动态特性,分别对应收敛速度,幅值,以及周期,其具体公式如下:
- 幅值
A=μ
- 周期
T=ω2π
尽管通过震荡周期可以控制机器人的前进速度,通过幅值来控制关节的活动范围,但这对于我们的四足机器人来说,这可能远远不够用,因为我们可能需要改变机器人的运动步态来适应不同的地形,以及实现更低能耗的运作。
二、引入
β
首先我们来考虑不同的步态。尽管我们可以通过控制hopf振荡器之间的耦合关系来控制相位,但是如果不对hopf振荡器进行改进的话,就无法单独控制振荡器的输出信号的形状,即上升沿与下降沿所用的时间是一致的,是一个对称的信号。
为了能够对这两者进行单独控制,使其能够适应不同负载因子下的运动模式,对
ω进行以下改进,引入参数a(定值)和
β
⎩⎨⎧ω=ωst=e−ay+1ωst+eay+1ωswβ1−βωsw
其中
ωsw,ωst分别表示摆动相和支撑相的频率,
β为负载因子,用于决定,摆动相和支撑相的比例关系,最终我们的模型如下:
dtdx=dtdy=r2=ω=ωst=α(μ−r2)x−ωyα(μ−r2)y+ωxx2+y2e−ay+1ωst+eay+1ωswβ1−βωsw
给定参数
α=100,μ=1,a=50,分别取
β=0.75,0.5,我们得到图像(x值曲线)
我们将其与
β=0.5时的点运动放在一起,看下其点的运动变化: