[source] siggraph
[year] 2007
for acrobatics
单圈翻腾比较容易,但多圈不是一般谁谁谁都能做的,或者根本无人可完成,此时可用这个技术来完成。
调整轨迹,但在调整之后,仍保证物理上合理,且无优化的步骤。有效性的证明,通过a study of sensitivity to errors in angular momentum and take-off angle.证明,这些参数上小的改变不影响感知。
1.Introduction.
1.旋转和重复一些片段
2.保持物理真实性 角动量 速度 加速度
重用动作数据
Contribution: 1. 编辑 2.质量分布估计的算法
2. 相关工作
1.物理真实性 Control Mechanisms
2.带物理约束的优化技术
3.Perception study
4.质量估计 [Bhat 对视频图像中自由飞行的刚体估计]
3. Overview
两步: pre-processing stage run-time jump generation stage
图1说明性强
Pre-processing stage: 找到腾空阶段,据运量守恒,估计质量分布及inertia tensor,计算(角/线)运量
run-time : search algo. 来找到可旋转的段并拼接产生新动作, retime,重置重心位置
4. Pre-processing Stage
4.1 Ballistic Phase Detection
[LP02]的基于约束的方法 : 在起飞和降落时脚仍在地面上一段时间,虽然不知道具体位置,但可假设至少一个效应器的位置变化不大的帧可以作为腾空的边界帧
再一个约束:线动量的建立和释放,比如起飞时,线动量先稍下降,再猛升。
4.2 Estimation Mass Distribution
min_{m1,m2,…; a_x,b_x,a_z,b_z,a_y,b_y,c_y}\Left \| ( \sum_{i=1}^{n}(m_i/M pos_i(t)) –COM(t) )\|^2 for t=0,1,..T
COM(t) = [….]
即,自由下落时轨迹最重合的分布,此时有个假设各部分重心位置是已知的, 【私以为,这个假设其实是非常强的,直接导致质量可估计了】
但未知量数多于约束数,解不唯一。—> 迭代方法,且选择与初始值近的
4.3 Momentum Computation
5 Run-Time Jump Generation Stage
找到片段,粘在一起,成多个圈,调整重心
5.1 Editing Operations and Their Impact on Momentum
Repositioning of the CoM:不会影响角动量
Rotation around the angular momentum vector: L_{new} = R(\phi)*L = L
Motion retiming: v_i^{new} = n v_i
5.2 Search and Sequencing
找到F_B = f_m,f_{m+1},….,f_n 和\phi 使 R(f_m, L, \phi) \approx f_n
这样原动作成为 F = [F_S F_B, F_E]
--> 新动作 F^{new} = [F_S F_B R_B{\phi} R_B(2\phi),…,R_B{r\phi}]
r = \up{(2pi*num_flips - \phi_s-\phi_e)/\phi}
为了消除不连续,做个插值Slerp
5.3 Retiming
对low-effort jumps,momentum build-up时的变化与起飞时的姿态相关,比如屈膝;
“Surprisingly”,high-effort ballistic motions时,不是这样,速度重要而姿态不重要
因此,把各阶段都以k来scale,实际让角速度大了k倍。而又证明了,有一个k*可保证线动量曲线的连续。k*可计算,k\approx 0.7k*
5.4 Repostioning
使与调整后的COM轨迹
5.5 User Modification
不要引入大的角动量变化