Pages

Monday, March 25, 2019

CCD - Joint Bias and Rotation Damping

Joint Bias 

As discussed by Bouckley (2018) the seeking action of CCD through a kinematic chain does not effectively mimic the natural motion of a human. A human will choose to move there limbs as little as possible to reach their goal, only moving their spine if it becomes necessary, whereas my solution will update every link in the chain each iteration.

To simulate more organic movement of the chain, Kenwright (2013, pp. 59-64) and Bouckley (2018) suggest giving joints closer to the end effector a higher bias, which will cause the joint order to “bounce back towards the start end and updates earlier joints” (Kenwright, 2013, p. 60) each time a joint is corrected, before progressing to the subsequent joint in the chain.

Figure 1: Joint bias
This favouring one chain end for joint correction more closely mirrors the natural joint accommodation behaviour of humans.

Tuesday, March 12, 2019

Cyclic Coordinate Descent - Implementation

Accommodating Chains of Greater Degrees of Freedom 

“When the number of links in a joint chain becomes greater than three, analytical methods usually become complex and difficult to implement.” (Mukundan, 2009, p. 1)

The function of a Cyclic Coordinate Descent (CCD) algorithm allows for control of highly articulated systems, well beyond 3 degrees of freedom which my current analytical solution limits me to.

As explored in my earlier inverse kinematics approaches blog, a heuristic iterative search aims to place the end effector as close to the target position as possible by performing a series of one-bone corrections in turn, along the length of the limb.