Misplaced Pages

Inverse kinematics: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 18:25, 15 January 2012 editProf McCarthy (talk | contribs)Extended confirmed users8,776 edits commented out the previous version of the section robotic and 3D animation← Previous edit Revision as of 18:27, 15 January 2012 edit undoProf McCarthy (talk | contribs)Extended confirmed users8,776 edits Inverse kinematics and 3D animation: revised wordingNext edit →
Line 25: Line 25:
Inverse kinematics is important to ] and ], where it is used to connect ] physically to the world, such as feet landing firmly on top of terrain. Inverse kinematics is important to ] and ], where it is used to connect ] physically to the world, such as feet landing firmly on top of terrain.


An animated figure is modeled with a skeleton of rigid segments connected with joints, called a ]. The kinematic equations of the figure defines the relationship between the joint angles and the pose of the figure. The ] problem uses the kinematics equations to determine the pose given the joint angles. The ''inverse kinematics problem'' computes the joint angles for a desired pose of the figure. An animated figure is modeled with a skeleton of rigid segments connected with joints, called a ]. The kinematics equations of the figure define the relationship between the joint angles of the figure and its pose or configuration. The ] problem uses the kinematics equations to determine the pose given the joint angles. The ''inverse kinematics problem'' computes the joint angles for a desired pose of the figure.


Inverse kinematics is used in computer-aided design systems to animate assemblies and by computer-based artists and animators to position figures and characters. It is often easier for computer-based designers, artists and animators to define the spatial configuration of an assembly or figure by moving parts, or arms and legs rather than directly manipulate joint angles. Inverse kinematics is used in computer-aided design systems to animate assemblies and by computer-based artists and animators to position figures and characters. It is often easier for computer-based designers, artists and animators to define the spatial configuration of an assembly or figure by moving parts, or arms and legs rather than directly manipulate joint angles.
Line 55: Line 55:
Other applications of inverse kinematic algorithms include ], ] and ]. Other applications of inverse kinematic algorithms include ], ] and ].
--> -->

== See also == == See also ==
{{Portal|Physics}} {{Portal|Physics}}

Revision as of 18:27, 15 January 2012

File:Arc-welding.jpg
An industrial robot performing arc welding. Inverse kinematics computes the joint trajectories needed for the robot to guide the welding tip along the part.

Inverse kinematics refers to the use of the kinematics equations of a robot to determine the joint parameters that provide a desired position of the end-effector. Specification of the movement of a robot so that its end-effector achieves a desired task is know as motion planning. Inverse kinematics transforms the motion plan into joint actuator trajectories for the robot.

The movement of a kinematic chain whether it is a robot or an animated character is modeled by the kinematics equations of the chain. These equations define the configuration of the chain in terms of its joint parameters. Forward kinematics uses the joint parameters to compute the configuration of the chain, and inverse kinematics reverses this calculation to determine the joint parameters that achieves a desired configuration.

For example, inverse kinematics formulas allow calculation of the joint parameters that position a robot arm to pick up a part. Similar formulas determine the positions of the skeleton of an animated character that is to move in a particular way.

Kinematic analysis

Inverse kinematics is an example of the kinematic analysis of a constrained system of rigid bodies, or kinematic chain. The kinematics equations of a robot can be used to define the loop equations of a complex articulated system. These loop equations are non-linear constraints on the configuration parameters of the system. The independent parameters in these equations are known as the degrees of freedom of the system.

Inverse kinematics and 3D animation

Further information: Robotics and Computer animation

Inverse kinematics is important to game programming and 3D animation, where it is used to connect game characters physically to the world, such as feet landing firmly on top of terrain.

An animated figure is modeled with a skeleton of rigid segments connected with joints, called a kinematic chain. The kinematics equations of the figure define the relationship between the joint angles of the figure and its pose or configuration. The forward kinematic animation problem uses the kinematics equations to determine the pose given the joint angles. The inverse kinematics problem computes the joint angles for a desired pose of the figure.

Inverse kinematics is used in computer-aided design systems to animate assemblies and by computer-based artists and animators to position figures and characters. It is often easier for computer-based designers, artists and animators to define the spatial configuration of an assembly or figure by moving parts, or arms and legs rather than directly manipulate joint angles.

The assembly is modeled as rigid links connected by joints that are defined as mates, or geometric constraints. Movement of one element requires the computation of the joint angles for the other elements to maintain the joint constraints. For example, inverse kinematics allows an artist to move the hand of a 3D human model to a desired position and orientation and have an algorithm select the proper angles of the wrist, elbow, and shoulder joints. Successful implementation animation requires the figure move within reasonable anthropomorphic limits.

While analytical solutions to the inverse kinematics problem exist for a wide range of kinematic chains, computer modeling and animation tools generally use Newton's method to solve the non-linear kinematics equations.

The IKFast open-source program can solve for the complete analytical solutions of most common robot manipulators and generate C++ code for them. The generated solvers cover most degenerate cases and can finish in microseconds on recent computers.

Other applications of inverse kinematic algorithms include interactive manipulation, animation control and collision avoidance.


See also

References

  1. Paul, Richard (1981). Robot manipulators: mathematics, programming, and control : the computer control of robot manipulators. MIT Press, Cambridge, MA. ISBN 9780262160827.
  2. J. M. McCarthy, 1990, Introduction to Theoretical Kinematics, MIT Press, Cambridge, MA.
  3. J. J. Uicker, G. R. Pennock, and J. E. Shigley, 2003, Theory of Machines and Mechanisms, Oxford University Press, New York.
  4. J. M. McCarthy and G. S. Soh, 2010, Geometric Design of Linkages, Springer, New York.


External links

Categories: