SHAHIN RABBANI
  • Home
  • Publications
  • POSTS
  • Play
  • Ego

Inverse Kinodynamics
Editing and Constraining Kinematic Approximations of Dynamic Motion

Journal
Paul G. Kry
*, Cyrus Rahgoshay*, Amir H. Rabbani*, Karan Singh†
Computers & Graphics, 2012

Conference
​
Cyrus Rahgoshay*, Amir H. Rabbani*, Karan Singh†, Paul G. Kry*
Graphics Interface, 2012
BEST PAPER
*McGill University
​​†University of Toronto
Picture
Abstract
We present inverse kinodynamics (IKD), an animator friendly kinematic work flow that both encapsulates short-lived dynamics and allows precise space-time constraints. Kinodynamics (KD), defines the system state at any given time as the result of a kinematic state in the recent past, physically simulated over a short time window to the present. KD is a well suited kinematic approximation to animated characters and other dynamic systems with dominant kinematic motion and short-lived dynamics. Given a dynamic system, we first choose an appropriate kinodynamic window size based on accelerations in the kinematic trajectory and the physical properties of the system. We then present an inverse kinodynamics (IKD) algorithm, where a kinodynamic system can precisely attain a set of animator constraints at specified times. Our approach solves the IKD problem iteratively, and is able to handle full pose or end effector constraints at both position and velocity level, as well as multiple constraints in close temporal proximity. Our approach can also be used to solve position and velocity constraints on passive systems attached to kinematically driven bodies. We describe both manual and automatic procedures for selecting the kinodynamic window size necessary to approximate the dynamic trajectory to a given accuracy. We demonstrate the convergence properties of our IKD approach, and give details of a typical work flow example that an animator would use to create an animation with our system. We show IKD to be a compelling approach to the direct kinematic control of character, with secondary dynamics via examples of skeletal dynamics and facial animation. 
Keywords character animation, physics based simulation, dynamics, computer graphics and realism, motion capture
Journal PAPER
Conference paper
Poster
poster abstract
BibTeX Conference

@inproceedings{Rahgoshay:2012:, author = {Rahgoshay, Cyrus and Rabbani, Amir and Singh, Karan and Kry, Paul}, title = {Inverse kinodynamics: editing and constraining kinematic approximations of dynamic motion}, booktitle = {Proceedings of Graphics Interface 2012}, series = {GI 2012}, year = {2012}, issn = {0713-5424}, isbn = {978-1-4503-1420-6}, location = {Toronto, Ontario, Canada}, pages = {185--192}, numpages = {8}, publisher = {Canadian Human-Computer Communications Society}, address = {Toronto, Ontario, Canada}, }
BibTeX Journal

@article{DBLP:journals/cg/KryRRS12, author = {Paul G. Kry and Cyrus Rahgoshay and Amir H. Rabbani and Karan Singh}, title = {Inverse kinodynamics: Editing and constraining kinematic approximations of dynamic motion}, journal = {Computers {\&} Graphics}, volume = {36}, number = {8}, pages = {904--915}, year = {2012}, url = {https://doi.org/10.1016/j.cag.2012.08.010}, doi = {10.1016/j.cag.2012.08.010}, timestamp = {Wed, 17 May 2017 10:56:20 +0200}, biburl = {https://dblp.org/rec/bib/journals/cg/KryRRS12}, bibsource = {dblp computer science bibliography, https://dblp.org} }
Edited Figures

Picture
Figure 1. An illustration of a kinodynamic system. The red ball is rigidly connected to the keyframed blue ball through a spring. A dynamic trajectory is achieved by simulating the red ball for a number of frames that are specified by a desired time window, \(\delta\).

Picture
Figure 2. An illustration of how we modify a kinematic trajectory to create a kinodynamic trajectory that satisfies the constraint \(x_i\) at time \(t_i\). While no correction to the kinematic trajectory results in a kinodynamic state \({x_{KD}}_{i_0}\) with the error \({e_{i_0}}\), the IKD solver eventually computes the correction \(\Delta x\) that leads to the kinodynamic state meeting the constraint. We also show the correction due to the first round of iteration of the IKD solver, \(\Delta x_0\), and its corresponding kinodynamic trajectory \(\tilde{x}_{KDi_0}\).

Picture
Figure 3. An illustration for a 2D state of two steps of the IKD iteration for a constraint at time \(t_i\), followed by visualization of the next steps for many more iterations. At bottom left, \(\textbf x_{KDi_0}\) is the initial KD state at time \(t_{i}\), which is far from target \(\textbf x_{i}\). A correction based on \({e_i}_0\) results in the modified KD state \(\tilde{\textbf x}_{KDi_0}\), which does not take into account the system dynamics. We project the error onto \({\textbf d_i}_0 = \tilde{\textbf x}_{KDi_0}-{\textbf x}_{KDi_0}\) to determine a scaling of the correction that would produce a KD state as close as possible to \({\textbf x}_{i}\) assuming linear system dynamics. Using the scaled correction \( 
\Delta\textbf x_i \leftarrow \Delta\textbf x_i +
\left(\textbf e_i \cdot \textbf d_i / || \textbf d_i ||^2 \right) \textbf d_i
\)​ we produce the new KD state \({\textbf x}_{KDi_1}\), and repeat the process until \(||\textbf e||\) falls below a threshold. In practice, the process converges much faster than what is illustrated here.
Proudly powered by Weebly
  • Home
  • Publications
  • POSTS
  • Play
  • Ego