Machine-Learned Inverse Kinematics for Complex Joint Chains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional inverse kinematic solvers require significant rigging expertise and time to configure for complex joint chains, and fail to account for user-specific goals, leading to improper joint configurations and inability to animate atypical anatomies.
Innovation Solution
A computer-implemented method using trained machine learning models to automatically generate inverse kinematic solvers by determining target vectors and executing machine learning operations on ground-truth data, allowing user-controllable joint parameters for enhanced control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional inverse kinematic solvers are used for complex joint chains, then mathematical algorithms can solve inverse kinematic problems, but the level of rigging expertise and time required becomes prohibitive
Solution Approach 1:
The patent replaces traditional mechanical/mathematical inverse kinematic solving methods with a machine learning-based system. A neural network model is trained on ground-truth data generated from forward kinematics calculations, enabling the system to predict joint configurations directly from end-effector targets without requiring complex mathematical algorithms or expert rigging knowledge.
Solution Approach 2:
The system performs preliminary action by pre-training the machine learning model on extensive ground-truth data generated from forward kinematics. This pre-computed knowledge is stored in the trained model, allowing rapid inverse kinematic solutions during runtime without requiring complex real-time calculations or expert intervention.
2Adaptability or versatility
If multiple configurations of joint chain are used to achieve end-effector target, then user-specific goals can be accommodated, but conventional solvers cannot account for user preferences
Solution Approach 1:
The patent applies local quality by allowing different joints in the joint chain to have different controllability characteristics. Specific joints can be designated as controllable with target value inputs, while other joints are solved automatically by the machine learning model. This enables user-specific goals to be incorporated at specific locations in the joint chain without requiring complex global reconfiguration.
Solution Approach 2:
The system dynamically adapts to user preferences by allowing flexible specification of controllable joints and their target values. The machine learning model can handle varying numbers and positions of controllable joints, adjusting its predictions to satisfy user-specific constraints while maintaining overall kinematic accuracy.
3Reliability
If pre-generated inverse kinematic solvers are selected and customized, then different mathematical algorithms can be applied, but inexperienced users cannot determine how to modify solvers to prevent joint popping
Solution Approach 1:
The machine learning model performs self-service by automatically learning the correct joint configurations from training data that includes proper handling of joint constraints and continuity. The model internally captures best practices for preventing joint popping and other configuration errors, eliminating the need for users to manually adjust solver parameters or understand complex rigging techniques.
Data Source
AI summary
In various embodiments, a computer animation application automatically solves inverse kinematic problems when generating object animations. The computer animation application determines a target vector based on a target value for a joint parameter associated with a joint chain and at least one of a target position or a target orientation for an end-effector associated with the joint chain. The computer animation application executes a trained machine learning model on the target vector to generate a predicted vector that includes data associated with multiple joint parameters associated with the joint chain.


