Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Inverse kinematics

Inverse kinematics

Overview
Inverse kinematics is a subdomain of kinematics
Kinematics
Kinematics is the branch of classical mechanics that describes the motion of bodies and systems without consideration of the forces that cause the motion....

, which is of particular interest in robotics
Robotics
Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots...

 and (interactive) computer animation
Computer animation
Computer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....

. In contrast to forward kinematics
Forward kinematics
Forward kinematics is computation of the position and orientation of robot's end effector as a function of its joint angles. It is widely used in robotics, computer games, and animation. The reverse process is known as inverse kinematics....

, which calculates the position of a body after a series of motions, inverse kinematics calculates the motions necessary to achieve a desired position.

Examples of problems that can be solved through inverse kinematics are: How does a robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...

's arm need to be moved to be able to pick up a specific object? What are the motions required to make it look like an animated character
Character
- Art and entertainment :* Character , an agent in a work of art, including literature, drama, cinema, opera, etc.* Character , a 1997 Dutch film, based on the novel by Dutch author Ferdinand Bordewijk* Character , by Dark Tranquillity...

 is picking up an object?

Solving these problems is usually more involved than simply moving an object from one location to another.
Discussion
Ask a question about 'Inverse kinematics'
Start a new discussion about 'Inverse kinematics'
Answer questions from other users
Full Discussion Forum
 
Unanswered Questions
Recent Discussions
Encyclopedia
Inverse kinematics is a subdomain of kinematics
Kinematics
Kinematics is the branch of classical mechanics that describes the motion of bodies and systems without consideration of the forces that cause the motion....

, which is of particular interest in robotics
Robotics
Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots...

 and (interactive) computer animation
Computer animation
Computer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....

. In contrast to forward kinematics
Forward kinematics
Forward kinematics is computation of the position and orientation of robot's end effector as a function of its joint angles. It is widely used in robotics, computer games, and animation. The reverse process is known as inverse kinematics....

, which calculates the position of a body after a series of motions, inverse kinematics calculates the motions necessary to achieve a desired position.

Examples of problems that can be solved through inverse kinematics are: How does a robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...

's arm need to be moved to be able to pick up a specific object? What are the motions required to make it look like an animated character
Character
- Art and entertainment :* Character , an agent in a work of art, including literature, drama, cinema, opera, etc.* Character , a 1997 Dutch film, based on the novel by Dutch author Ferdinand Bordewijk* Character , by Dark Tranquillity...

 is picking up an object?

Solving these problems is usually more involved than simply moving an object from one location to another. Typically, it requires the translation
Translation (physics)
In physics, translation is movement that changes the position of an object, as opposed to rotation. For example, according to Whittaker:...

 and rotation
Rotation
A rotation is a circular movement of an object around a center of rotation. A three-dimensional object rotates always around an imaginary line called a rotation axis. If the axis is within the body, and passes through its center of mass the body is said to rotate upon itself, or spin. A rotation...

 of a series of interconnected objects while observing limitations to the range of motions that are physically possible—A robot might damage itself if mechanical limitations are disregarded; An animation looks unrealistic if a character's hand moves through their own body to pick up an object located behind their back.

Physics



Kinematics
Kinematics
Kinematics is the branch of classical mechanics that describes the motion of bodies and systems without consideration of the forces that cause the motion....

 is the formal description of motion. One of the goals of rudimentary mechanics
Mechanics
Mechanics is the branch of physics concerned with the behavior of physical bodies when subjected to forces or displacements, and the subsequent effects of the bodies on their environment....

 is to identify forces on a point object and then apply kinematics to determine the motion of the object. Ideally the position of the object at all times can be determined. For an extended object, (rigid body
Rigid body
In physics, a rigid body is an idealization of a solid body of finite size in which deformation is neglected. In other words, the distance between any two given points of a rigid body remains constant in time regardless of external forces exerted on it...

 or other), along with linear kinematics, rotational motion can be applied to achieve the same objective: Identify the forces, develop the equations of motion, find the position of center of mass and the orientation of the object at all times.

Robotics and 3D animation



Inverse kinematics is the process of determining the parameters of a jointed
Kinematic pair
A kinematic pair is a connection between two bodies that imposes constraints on their relative movement. Franz Reuleaux introduced the kinematic pair as a new approach to the study of machines that provided an advance over the notion of elements consisting of simple machines.Hartenberg & Denavit...

 flexible object (a kinematic chain
Kinematic chain
A kinematic chain is the assembly of several kinematic pairs connecting rigid body segments. The complexity of the chain is determined by the following factors:...

) in order to achieve a desired pose. Inverse kinematics is a type of motion planning
Motion planning
Motion planning is a term used in robotics for the process of detailing a task into discrete motions....

. Inverse kinematics are also relevant to game programming
Game programmer
A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebase for video games or related software, such as game development tools. Game programming has many specialized disciplines all of which fall under the umbrella term of "game programmer"...

 and 3D animation, where a common use is making sure game characters
Player character
A player character or playable character is a character in a video game or role playing game who is controlled or controllable by a player, and is typically a protagonist of the story told in the course of the game. A player character is a persona of the player who controls it. Player characters...

 connect physically to the world, such as feet landing firmly on top of terrain.

Inverse kinematics is that branch of robotics which deals with the study and application of the process of determining the parameters of a flexible object in order to achieve a desired pose.

An articulated figure consists of a set of rigid segments connected with joints. Varying angles of the joints yields an indefinite number of configurations. The solution to the forward kinematic animation
Forward kinematic animation
Forward kinematic animation is a method in 3D computer graphics for animating models.The essential concept of forward kinematic animation is that the positions of particular parts of the model at a specified time are calculated from the position and orientation of the object, together with any...

 problem, given these angles, is the pose of the figure. The solution to the more difficult inverse kinematics problem is to find the joint angles given the desired configuration of the figure (i.e., end effector). In the general case there is no analytic solution for the inverse kinematics problem. However, inverse kinematics may be solved via nonlinear programming
Nonlinear programming
In mathematics, nonlinear programming is the process of solving a system of equalities and inequalities, collectively termed constraints, over a set of unknown real variables, along with an objective function to be maximized or minimized, where some of the constraints or the objective function are...

 techniques. Certain special kinematic chains—those with a spherical wrist—permit kinematic decoupling. This treats the end effector's orientation and position independently and permits an efficient closed-form solution.

Inverse kinematics is a tool utilized frequently by 3D artists. It is often easier for an artist to express the desired spatial appearance rather than manipulate joint angles directly. 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.

For example, when one wants to reach for a door handle, their brain
Brain
The brain is the center of the nervous system in all vertebrate and most invertebrate animals—only a few primitive invertebrates such as sponges, jellyfish, sea squirts and starfishes do not have one. It is located in the head, usually close to primary sensory apparatus such as vision, hearing,...

 must make the necessary calculation
Calculation
A calculation is a deliberate process for transforming one or more inputs into one or more results, with variable change.The term is used in a variety of senses, from the very definite arithmetical calculation of using an algorithm to the vague heuristics of calculating a strategy in a competition...

s to position his limbs and torso such that the hand locates near the door. The main objective is to move the hand but the many complex articulations of several joints must occur to get the hand to the desired location. Similarly with many technological applications, inverse kinematic mathematical calculations must be performed to articulate limbs in the correct ways to meet desired goals. One example where inverse kinematic calculations are often essential is robotics
Robotics
Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots...

, where an operator wants to position a tool
Tool
A tool is a device that can be used to produce an item or achieve a task, but that is not consumed in the process. Informally the word is also used to describe a procedure or process with a specific purpose. Tools that are used in particular fields or activities may have different designations such...

 using a robot arm but certainly does not want to manipulate each robot joint individually. Other applications include computer animation
Computer animation
Computer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....

 where animators may want to operate a computer generated character, but find it impossibly difficult to animate individual joints. The solution is to model the virtual joints of the puppet and allow the animator to move the hands, feet and torso, and the computer automatically generates the required limb positions to accomplish this using inverse kinematics.

Key to the successful implementation of inverse kinematics is animation
Animation
Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...

 within constraints: computer characters' limbs must behave within reasonable anthropomorphic
Anthropomorphism
Anthropomorphism is any attribution of human characteristics to animals, non-living things, phenomena, material states, objects or abstract concepts, such as organizations, governments, spirits or deities. The term was coined in the mid 1700s...

 limits. Similarly, robotic devices have physical constraints such as the environment they operate in, the limitations of the articulations their joints are capable of, and the finite physical loads and speeds at which they are able to operate.

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
Collision detection
Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

.

External links