一、复合摆线轨迹
在四足机器人的研究中,有一个很关键的问题,就是如何减少足端在触地瞬间的冲击,避免把机器人把自己给蹬倒了?这时候就需要一个合理的足端轨迹规划。本篇将会介绍几种足端轨迹。 本文将对四足机器人的足端轨迹进行规划。将数学中的复合摆线和多项式曲线引入到足端轨迹的规划中,根据零冲击原则[2],规划出 3 条满足要求的足端轨迹,包括:- 复合摆线轨迹
- 八次多项式轨迹
- 分段五次多项式轨迹
2.1、摆线
摆线,又称旋轮线、圆滚线,在数学中,摆线(Cycloid)被定义为,一个圆沿一条直线运动时,圆边界上一定点所形成的轨迹。它是一般旋轮线的一种。 看以下动图就知道摆线是如何来的: 红色线即为摆线轨迹,总结成数学公式为:x = r(t-\sin t)
y = r(1-\cos t)
2.2、足端轨迹约束方程
为达到理想的步态,足端轨迹规划需要满足:- ① 行进平稳、协调,无明显的上下波动、左右摇晃和前后冲击;
- ② 各关节没有较大冲击,特别是摆动相抬腿和落地瞬间实现零冲击抬腿和落地软 着陆;
- ③ 摆动腿跨步迅速,足端轨迹圆滑,关节速度和加速度平滑连续无畸点;
- ④ 避免足端与地面接触时产生滑动,无摆动腿拖地现象。
2.2.1、水平x方向
位置约束x|_{t=0} = 0
x|_{t=T/2} = S
x|_{t = T}=0
速度约束\dot{x}|_{t=0} = 0
\dot{x}|_{t=T/2} = 0
\dot{x}|_{t = T} = 0
加速度约束\ddot{x}|_{t=0} = 0
\ddot{x}|_{t=T/2} = 0
\ddot{x}|_{t = T} = 0
2.2.2、竖直y方向
位置约束y|_{t=0} = 0
y|_{t=T/4} = H
y = 0,T/2\leq t\leq T
速度约束\dot{y}|_{t=0} = 0
\dot{y}|_{t=T/4} = 0
\dot{y} = 0,T/2\leq t\leq T
加速度约束\ddot{y}|_{t=0} = 0
\ddot{y}|_{t=T/4}= 0
\ddot{y} = 0,T/2\leq t\leq T
2.3、复合摆线轨迹
2.3.1、摆动相轨迹设计
基于第二节中提到的原则,文献[1]中提出了一种基于复合摆线形式的轨迹规划方法,并在文献[2]中得到了验证和使用。针对机器人足底与地面接触时会产生滑动和行走过程中拖地问题,文献[2]对复合摆线规划方法提出了修改,修改后的摆动腿的步态规划轨迹定义为:x = S\left [\frac{t} {T_m}-\frac{1}{2\pi}\sin(\frac{2\pi t}{T_m}) \right ]
y = H\left [ \frac{1}{2}-\frac{1}{2}\cos(\frac{2\pi t}{T_m})\right ]
其中S为步幅, H为抬腿高度,T_m为摆动相周期。现在我们来看提下它的图像,设定S = 100, H = 30, 周期T=2。 我们用python绘制该轨迹的图像如下: 为了更好地研究该轨迹的特性,我们接下来依次看x,y关于时间的位置,速度,加速度2.3.2、轨迹改进
从表达式上分析,该轨迹的加速度方程是余弦函数的倍数,在 t=0 和 t=Tm时刻会出现加速度跳变,根据F=Ma,这就导致了抬腿的瞬间要求产生较大的接触力。 从加速度图像亦能说明这一点。针对这一问题,文献[5]对 y 方向的位移方程提出了以下修改。 由于摆动腿在 y 轴运动需要先抬腿再落腿,借鉴 x 轴正弦方式运动的方法求解 y 轴位移曲线 先从加速度函数入手,我们设计成如下形式:\ddot{y} = A\sin(\frac{n\pi t}{T_m})
对上式进行积分求得速度函数:\dot{y} = \frac{AT_m}{n\pi}\left [ -\cos(\frac{n\pi t}{T_m})\right ] +C_1
然后根据速度约束\dot{y}|_{t=0} = 0以及\dot{y}|_{t=T_m} = 0,求出C_1C_1 = \frac{AT_m}{n\pi} \quad n=2k \quad k=1,2,…
对速度函数进行积分,求得位移函数为:y = \frac{AT_m}{n\pi}\left [t -\frac{T_m}{n\pi}\sin(\frac{n\pi t}{T_m})\right ] +C_2
而根据轨迹约束y|_{t=0} = 0, y|_{t=T_m/2} = H, y|_{t=T_m} = 0我们无法求解出参数A和C_2,因此通过分段函数的方法求y轴方向的曲线方程: 为了确定n的取值,我们来看看n取不同值时的速度图像 取T = 2,H = 1, S = 1 可以看出,当n越大时,y方向上的速度变化就越频繁,这可能会导致系统能耗的增加。 再来看位移图像: 从位移图像来看,只有当n取4时,轨迹才是平滑的。因此我们可以确定轨迹的最终形式为: 其中 f_E(t) = \frac{t}{T_m}-\frac{1}{4\pi}\sin(\frac{4\pi t}{T_m}) 我们取H=30, S=100, T=2来验证上式: 这里我们发现速度图像与确定n值时给出的不一致,那是因为我们在y的轨迹方程中使用了分段函数,对t>\frac{T_m}{2}部分进行了取反,因此该部分的速度和加速度图像是沿横轴进行了翻转的。2.3.3、支撑相足端轨迹
相比于摆动相的足端轨迹,支撑相的设计就显得稍微简单。首先我们要知道两点:a、支撑相水平方向上的位移曲线与摆动相的关于t=T_m对称。 b、竖直方向的位移适终为0基于这两点,我们可以设计出如下曲线:
2.3.4、周期轨迹
定义步态周期为T,支撑相,摆动相周期均为T_m ,则T = 2T_m关于周期:摆动相T_f,支撑相T_s的持续时间不一定要设为一致,可根据控制器模型实时动态调节。这种情况下T = T_f + T_s我们对时间进行周期化处理:
t_i = (t+ \varphi_i)modT_i
其中,t为系统时间,t_i为第i条腿的轨迹规划时间,以LF腿的相位为初始值,则\varphi_i为各腿相位落后于LF腿的时间与步态周期的比值。
评论(0)
您还未登录,请登录后发表或查看评论