前言

在四足机器人的研究中,有一个很关键的问题,就是如何减少足端在触地瞬间的冲击,避免把机器人把自己给蹬倒了?这时候就需要一个合理的足端轨迹规划。本篇将会介绍几种足端轨迹。

本文将对四足机器人的足端轨迹进行规划。将数学中的复合摆线和多项式曲线引入到足端轨迹的规划中,根据零冲击原则[2],规划出 3 条满足要求的足端轨迹,包括:

  • 复合摆线轨迹
  • 八次多项式轨迹
  • 分段五次多项式轨迹

本篇先介绍 - 八次多项式轨迹

一、多项式曲线拟合

1、一次多项式

众所周知,过任意不同的两点可以确定一条直线。即已知:

可求得用两点式表示直线方程:

该式可在带入坐标点后化简得到其点斜式形式,也就是一条一次的多项式,这里我们可以称已知的两个点坐标为方程的约束:

2、二次多项式

加入给定任意不同的三个点,我们能否确定一条曲线通过这些点,答案是可以的。已知

根据初高中的知识,我们知道通过这三点的曲线是一条抛物线,因此我们可以假设该曲线方程为

将点坐标带入当成即可求解得到该二次方程,对于该方程,存在3个位置点的约束。

3、多次多项式

将上述推广到一般情况,对于给定n个不同坐标点,我们可以确定一条n-1次多项式的曲线,我们可以利用该特性来设计一种四足机器人足端轨迹方程,即在满足约束条件下的曲线方程

二、足端轨迹约束方程

为达到理想的步态,足端轨迹规划需要满足:

  • ① 行进平稳、协调,无明显的上下波动、左右摇晃和前后冲击;
  • ② 各关节没有较大冲击,特别是摆动相抬腿和落地瞬间实现零冲击抬腿和落地软
    着陆;
  • ③ 摆动腿跨步迅速,足端轨迹圆滑,关节速度和加速度平滑连续无畸点;
  • ④ 避免足端与地面接触时产生滑动,无摆动腿拖地现象。

规定在0-T/2 ,足端处于摆动相,在T/2-T ,足端处于支撑相。设水平方向为 X 方向,竖直方向为 Y 方向,步长为S。根据四足机器人足端运动位置的要求,可确定足端轨迹在水平方向(X 方向)和竖直方向(Y 方向)的位移方程有以下约束。

1、水平x方向

位置约束:初始位置为0,摆动相结束位置为0,支撑相结束位置为0

速度约束

加速度约束

2、竖直y方向

位置约束

速度约束

加速度约束

三、八次多项式曲线

1、X方向

根据第二节所提,对于水平方向(X 方向),约束条件有 6 个,则设水平方向足端轨迹为五次多项式:

说明:在一个周期内(摆动相+支撑相),由于X方向上进行了一次往复运动,而支撑相运动实际上相当于摆动相的反方向运动,因此两者的约束是一致的,所以我们只需要计算摆动相时的约束即可,即0-T/2时间的运动

我们设摆动相周期为T0,带入以下约束方程,

可得

其一阶导二阶导分别为:

设置摆动相周期为1,步长100, 抬腿高度30,其位置,速度,加速度曲线如下:

2、Y方向

竖直方向上有9个约束,因次Y方向上的轨迹函数为8次多项式:

带入约束, 这里手算比较复杂,我们用sympy进行求解:

from sympy import *

A, B, C, D, E, F, T, H = symbols('A B C D E F T H')

f1 = A*T**8 + B*T**7 + C*T**6 + D*T**5 + E*T**4 + F*T**3
f2 = 8*A*T**7 + 7*B*T**6 + 6*C*T**5 + 5*D*T**4 + 4*E*T**3 + 3*F*T**2
f3 = 56*A*T**6 + 42*B*T**5 + 30*C*T**4 + 20*D*T**3 + 12*E*T**2 + 6*F*T
f4 = -H + A*(T**8/256) + B*(T**7/128) + C*(T/2)**6 + D*(T/2)**5 + E*(T/2)**4 + F*(T/2)**3
f5 = 8*A*(T/2)**7 + 7*B*(T/2)**6 + 6*C*(T/2)**5 + 5*D*(T/2)**4 + 4*E*(T/2)**3 + 3*F*(T/2)**2
f6 = 56*A*(T/2)**6 + 42*B*(T/2)**5 + 30*C*(T/2)**4 + 20*D*(T/2)**3 + 12*E*(T/2)**2 + 6*F*(T/2)

result = solve([f1, f2, f3, f4, f5, f6], [A, B, C, D, E, F])
print(result)

输出结果为:

{A: -768*H/T**8, B: 3072*H/T**7, C: -4864*H/T**6, D: 3840*H/T**5, E: -1536*H/T**4, F: 256*H/T**3}

数学形式为:

其一阶导跟二阶导分别为:

设置摆动相周期为1,步长100, 抬腿高度30,其位置,速度,加速度曲线如下:

轨迹图像:

动态轨迹