本文总结了baseline程序中mpc输出变量权重和虚拟力权重对于机身状态的影响。
Baseline的参数如下:
步态周期0.6s,mpc计算周期30ms,预测时域步长6,控制时域步长2。
输出变量权重为:
$r_x$ |
$r_y$ |
$r_z$ |
$\theta_x$ |
$\theta_y$ |
$\theta_z$ |
$\dot{r}_x$ |
$\dot{r}_y$ |
$\dot{r}_z$ |
$\dot{\theta}_x$ |
$\dot{\theta}_y$ |
$\dot{\theta}_z$ |
20 |
20 |
180 |
2 |
2 |
5 |
10 |
10 |
0.1 |
0.1 |
0.1 |
0.1 |
虚拟力权重为:
|
$f_x$ |
$f_y$ |
$f_z$ |
$\tau_x$ |
$\tau_y$ |
$\tau_z$ |
$k_p$ |
10 |
10 |
200 |
20 |
50 |
0 |
$k_d$ |
0.1 |
0.1 |
0 |
0.1 |
0.1 |
0 |
$k_i$ |
0 |
0 |
0 |
0.1 |
0.01 |
0 |
输出权重对于运动的影响:
$r_x$:减少到5,前进和后退速度下降明显,前进后退时稳定度提升,对其他影响不大; 增大到50,前进和后退速度上升明显,前进时稳定度下降,后退稳定度变化不明显,其他方面影响不大。
$r_y$:减小到5,左右移动速度明显下降,稳定度变化不明显;增大到50,速度提升明显,向左平移稳定度下降,并最终绊倒。
$r_z$:减小到50,质心高度下降,实际抬腿高度下降,平移运动更容易产生滑动;增大到500,原地稳定度提升,但是行进间对于地面起伏非常敏感。 推荐更改到200.
$\theta_x$: 减小到0.1, roll角不稳定,尤其在平移的时候,导致一边腿拖地;增大到20,前进后退时摆头严重。
$\theta_y$:减小到0.1,摆尾现象比较严重,出现前进抬头现象,pitch角控制不准确;增大到20,落脚点出现交叉现象,后退速度明显减慢,侧向移动似乎变更稳定了。
$\theta_z$:减小到0.5,似乎更稳定一点,但是在前进后退时机身指向会出现零偏;增大到20,机身摆尾现象明显。推荐减小到2。
$\dot{r}_x$:减小到0.1,似乎摆尾现象更严重了,pitch角度控制偏差变大了,更容易摔倒;增到50,机身起步和停止时的抬头低头现象很明显,对于干扰敏感度提高。推荐减小到5.
$\dot{r}_y$:减小到0.1,机身变得不稳定了,侧向移动容易摔倒;增大到50,机身站立时侧向即出现振荡现象,原地踏步不稳定。
$\dot{r}_z$:减小到0.01,似乎更稳定,前进后退时pitch角抖动明显;增大到5,前进后退时pitch角抖动明显,交叉腿现象明显,侧向稳定性变差,向左平移摔倒。推荐增大到1.
$\omega_x$:减小到0.01,交叉腿现象明显,前进后退稳定性下降,侧移不稳定性上升;增大到5,交叉腿现象有点明显,侧移速度下降。
$\omega_y$:减小到0.01,前进后退稳定性提高了,侧向稳定性似乎下降了,侧向移动速度有提升;增大到2,交叉腿现象明显,前进速度下降,侧向移动的停顿感明显。
$\omega_z$:减小到0.01,稳定性略微提高,但是停止前进时有较为明显的摆头现象;增大到2,机身振荡明显,但是稳定性影响不大。
目前第一轮针对权重的参数调整结果如下:
$r_x$ |
$r_y$ |
$r_z$ |
$\theta_x$ |
$\theta_y$ |
$\theta_z$ |
$\dot{r}_x$ |
$\dot{r}_y$ |
$\dot{r}_z$ |
$\dot{\theta}_x$ |
$\dot{\theta}_y$ |
$\dot{\theta}_z$ |
20 |
20 |
200 |
2 |
2 |
2.5 |
5 |
5 |
1 |
0.1 |
0.1 |
0.05 |
虚拟力权重为:
|
$f_x$ |
$f_y$ |
$f_z$ |
$\tau_x$ |
$\tau_y$ |
$\tau_z$ |
$k_p$ |
10 |
10 |
200 |
30 |
50 |
0 |
$k_d$ |
0.1 |
0.1 |
0 |
0.1 |
0.1 |
0.1 |
$k_i$ |
0 |
0 |
0 |
0.1 |
0.05 |
0 |
PS:对于打滑现象,尝试增加足底力z方向的最小值约束