We present a framework of elastic locomotion, which allows users to enliven an elastic body to produce interesting locomotion by prescribing its high-level kinematics. We formulate this problem as an inverse simulation problem and seek the optimal muscle activations to drive the body to complete the desired actions. We employ the interior-point method to model wide-area contacts between the body and the environment with logarithmic barrier penalties. The core of our framework is a mixed second-order differentiation algorithm. By combining both analytic differentiation and numerical differentiation modalities, a general-purpose second-order differentiation scheme is made possible. Specifically, we augment complex-step finite difference (CSFD) with reverse automatic differentiation (AD). We treat AD as a generic function, mapping a computing procedure to its derivative w.r.t. output loss, and promote CSFD along the AD computation. To this end, we carefully implement all the arithmetics used in elastic locomotion, from elementary functions to linear algebra and matrix operation for CSFD promotion. With this novel differentiation tool, elastic locomotion can directly exploit Newton's method and use its strong second-order convergence to find the needed activations at muscle fibers. This is not possible with existing first-order inverse or differentiable simulation techniques. We showcase a wide range of interesting locomotions of soft bodies and creatures to validate our method.
翻译:本文提出了一种弹性运动生成框架,允许用户通过指定高层运动学特征来激活弹性体,从而产生有趣的运动。我们将该问题表述为逆仿真问题,寻求驱动身体完成目标动作的最优肌肉激活状态。我们采用内点法,通过对数障碍罚函数模拟身体与环境之间的大范围接触。本框架的核心是一种混合二阶微分算法。通过结合解析微分与数值微分模式,我们实现了一种通用的二阶微分方案。具体而言,我们将复步有限差分法与反向自动微分相结合:将自动微分视为从计算过程到输出损失导数的泛函映射,并沿自动微分计算路径推进复步有限差分。为此,我们精心实现了弹性运动计算中涉及的所有算术运算——从初等函数到线性代数及矩阵运算——以确保复步有限差分的有效推进。借助这种创新的微分工具,弹性运动能够直接利用牛顿法,凭借其二阶强收敛特性求解肌纤维所需的激活状态,这是现有的一阶逆仿真或可微分仿真技术无法实现的。我们展示了软体与生物多样化的运动生成案例,验证了本方法的有效性。