P62

Static Balance

定义

What is balance?

✅ Static Balance:在不发生移动的情况下,通过简单的控制策略,保证角色不摔倒。
✅ 平衡:质心在支撑面内。

P64

✅ 人的质心:每一段的质心的加权平均。
✅ 人的支撑面:两脚之内。

P66

A simple strategy: PD Control

A simple strategy to maintain balance:

根据条件计算力矩

  • Keep projected CoM close to the center of support polygon while tracking a standing pose

  • Use PD control to compute feedback torque

✅ 力矩 1:让角色保持某个姿势。
✅ 力矩 2:让质心与目标质心位置接近。力矩额外加在脚裸关节或髋关节上。
✅ 在某些关节上增加一些额外的力矩。

P68

施加力矩

  • Apply the feedback torque at ankles (ankle strategy) or hips (hip strategy)

P69

Jacobian Transpose Control

✅ 实现 static balance,除了 PD 控制还有其它方法。

计算要施加的力

Can we use joint torques \(\tau _i\) to mimic the effect of a force \(f\) applied at \(x\)

  • Note that the desired force \(f\) is not actually applied
  • Also called “virtual force”

✅ 通过施加 \(\tau _1 ,\tau _2,\tau _3\) 来达到给 \(x\) 施加 \(f\) 的效果!

P73

把力转化为力矩

Make \(f\) and \(\tau _i\) done the same power

$$ P=f^T\dot{x}=\tau ^T\dot{\theta } $$

✅ 从做功的角度。力矩所做的功(功率)与虚力要做的功(功率)相同。功率 = \(fv\)

Forward kinematics \(x=g(\dot{\theta } )\Rightarrow \dot{x}=J \dot{\theta } \)

✅ \(g(* )\) 是一个FK函数。其中:
$$ J=\frac{\partial g}{\partial \theta } $$
✅ 把 \( \dot{x } \) 代入上面公式得

$$ f^T J\dot{\theta } = \tau ^T\dot{\theta } $$

$$ \Downarrow $$

P76

$$ \tau =J^Tf $$

✅ 把 \( \tau\) 分解为每一个关节每一个旋转的 \( \tau\).通过 Jacobian 矩阵的含义推出:

$$ \Downarrow $$

$$ \tau _i=(x-p_i)\times f $$

P77

用于Static Balance

A simple strategy to maintain balance:

  • Keep projected CoM close to the center of support polygon while tracking a standing pose

  • Use PD control to compute feedback virtual force

✅ P66 中在 Hips 上加力矩的方式只能进行简单的控制。
✅ 可以通过虚力实现相似的效果。用 \(PD\) 控制计算出力,再通过关节力矩实现这个力。

$$ f=k_p(\bar{c} -c)-k_d\dot{c} $$

✅ \(c\) 不一定是投影距离,还可以描述高度距离,实现站起蹲下的效果。

P78

  • Assuming \(f\) is applied to the CoM, compute necessary joint torques using Jacobian transpose control to achieve it

✅ 但也不是真的加力,而是通过前面讲的 Jacobian transpose control 方法转为特定关节的力矩。

  • Usually using the joints in the legs

✅ 最后达到在Hips上加力的效果
✅ 但这种方式能施加的力非常弱,只能实现比较微弱的平衡

P79

A fancier strategy:

  • Mocap tracking as an objective function
  • Controlling both the CoM position/momentum and the angular momentum
  • Solve a one-step optimization problem to compute joint torques

🔎