RyanJuckett.com

Cyclic Coordinate Descent in 2D Print E-mail
  
Wednesday, 11 February 2009 04:43
Article Index
Cyclic Coordinate Descent in 2D
Optimizing a joint
Visualizing CCD
Local Minima
Writing the code
All Pages

titleWhen performing inverse kinematics (IK) on a complicated bone chain, it can become too complex for an analytical solution. Cyclic Coordinate Descent (CCD) is an alternative that is both easy to implement and efficient to process. We will discuss the algorithm works at a high level, followed by a two-dimensional example and sample code.

 

CCD solves the IK problem through optimization. Looping through the joints from end to root, we optimize each joint to get the end effector (tip of the final joint) as close to our target as possible. This is loop is then repeated until we find a solution or we reach an iteration limit. You can download the RJ_Demo_IK application and source code to see an interactive implementation.

 

You might also be interested in the following articles on different IK solvers:

 

Changelog

2009-02-11
  Created initial document
 
2009-03-29
  Due to the singularity tests picking up false positives for unsolvable
  chains, removed tests (reverted to standard CCD) and updated section on
  local minima.

 

 



Last Updated ( Sunday, 02 May 2010 06:28 )
 

Creative Commons License
RyanJuckett.com site content by Ryan Juckett is licensed under a Creative Commons Attribution 3.0 United States License.