Real-Time Inverse Kinematics for Generating Multi-Constrained Movements of Virtual Human Characters

Following the green ball, while avoiding the red ball. In addition to the following and avoidance objective, we add a "hand palm down" and an optional "hand forward" objective.

Abstract

Generating accurate and realistic virtual human movements in real-time is of high importance for a variety of applications in computer graphics, interactive virtual environments, robotics, and biomechanics.

We introduce a novel real-time inverse kinematics (IK) solver specifically designed for realistic human-like movement generation. Leveraging the automatic differentiation and just-in-time compilation of TensorFlow, the proposed solver efficiently handles complex articulated human skeletons with high degrees of freedom. By treating forward and inverse kinematics as differentiable operations, our method effectively addresses common challenges such as error accumulation and complicated joint limits in multi-constrained problems, which are critical for realistic human motion modeling. We demonstrate the solver's effectiveness on the SMPLX human skeleton model, evaluating its performance against widely used optimization-based IK algorithms, like Cyclic Coordinate Descent (CCD), FABRIK, and the nonlinear optimization algorithm IPOPT. Our experiments cover both simple end-effector tasks and sophisticated, multi-constrained problems with realistic joint limits. Results indicate that our IK solver achieves real-time performance, exhibiting rapid convergence, minimal computational overhead per iteration, and improved success rates compared to existing methods.

Our methods allows for fast real-time inference using arbitrary objective functions. Here we solve the bones "collar", "shoulder", "elbow", "wrist", "index1", "index2", and "index3" for a given trajectory, with the additional objectives "hand palm down", "hand forward" and "velocity smoothing".

Project Code

The code will be released upon paper acceptance.