HTML and CSS Reference
In-Depth Information
Introducing Forward and Inverse Kinematics
Forward and inverse kinematics generally relate to a system of connected parts, such as a chain or a
jointed arm. They have to do with how that system moves, and how each part moves in relation to the
other parts and to the whole.
Often, a kinematics system has two ends: the base and the free end. A jointed arm is usually attached to
something fixed at one end, and the other end moves around to reach and grab things. A chain might be
attached to something on one or both ends, or not at all.
Forward kinematics (FK) deals with motion that originates at the base of the system and moves out to the
free end. Inverse kinematics (IK) deals with the opposite: motion originating at, or determined by, the free
end and going back to the base, if there is one.
Some examples should make this distinction clearer. In most cases, the limbs of a body in a walk cycle are
done with forward kinematics. The thigh moves, which moves the calf. The calf moves, which moves the
foot. The foot moves. In this case, the foot isn't determining anything. It winds up wherever it winds up,
based on the positions of all the limbs before it.
An example of inverse kinematics is pulling another person by the hand. Here, the force applied on the
free end—the person's hand—controls the position and movements of the hand, forearm, upper arm, and
eventually the whole body of the other person.
Another, more subtle, example of inverse kinematics is an arm reaching for something. Again, the hand is
what is driving the system. Of course, you can say that, in this example, the upper arm and forearm are
moving, and they control the position of the hand. That's true, but there is a direct intention to put that hand
in a specific place—that is the driving force. In this case, it's not a physical force, but an intention. The
forearm and upper arm are simply arranging themselves in whatever configuration necessary to position
that hand.
The differences become clearer as you work through the examples in this and the next chapter. But for
now, remember that dragging and reaching are generally inverse kinematics, whereas a repeated cycle of
motion, such as walking, is usually forward kinematics, which is the subject of this chapter.
Getting Started Programming Forward Kinematics
Programming both types of kinematics involves a few basic elements:
The parts of the system—segments
The position of each segment
The rotation of each segment
Each segment in these examples are an oblong shape like a forearm or an upper arm, or any part of a leg.
Of course, the last segment can be some other shape, such as a hand or foot.
 
Search WWH ::




Custom Search