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.

Thursday, February 28, 2019

Progress Presentation Feedback

Feedback received from the progress presentation indicates tutors are pleased with my progress and agree that my updated milestones from the initial project proposal have become more accurate and remain appropriate for completion of the project.

During the question period following the presentation I discussed including true physics interactions with the biped, simulating gravity and balance with a true inverted pendulum and support plane.
Lecturers were quick to point out that the scope of this addition is significant, and they expect it to be far too large for a stretch goal. I agree with their assessment and unless I manage to complete the MVP with substantial time remaining, will focus instead on polishing the existing functionality.

Wednesday, February 6, 2019

Project Milestone Adjustment, 2

Now I have produced a procedural walk for a 2D biped it is an appropriate time to review the remainder of my project – especially with a progress presentation due shortly. Adjusting now will enable me to present a more accurate plan to tutors.

The goals put in place at my last milestone would have achieved the absolute minimum functionality needed to create the 2D procedural gait. While I encountered some issues and had to invest more development time to solve them, I also chose to deviate slightly from my plan to explore, compare and understand the functionality behind the behaviours.
I’m pleased I made this decision as I’m confident I’m in a stronger position to implement the 3D end goal as a result.

Thursday, January 31, 2019

Procedural 2D Biped Walk Gait

Now all the prerequisite behaviours have been implemented, they can be combined to procedurally animate locomotion of a 2D biped.

Locomotion Logic 

My earlier gait analysis research has provided the basis for controlling the gait cycle, identifying gait phases which can be used to structure all necessary behaviour:
  • Initial contact
  • Double support
  • Rear foot lift
  • Single support/Swing
These phases will be an enum, used by both leg limbs states remain asymmetrical to each other during the gait cycle.

Monday, January 21, 2019

Inverted Pendulum, Hip Motion During Gait

Application In Robotics 

In robotics the “Zero moment point (ZMP) is a mathematical formulation to find a point that causes equilibrium of action and reaction momentum (momentum equal to zero) … ZMP can be approached using Single Linear Inverted Pendulum Model (SLIPM).” (Pristovani et al., 2017, p. 1)

A SLIPM can therefore be used to determine whether the biped is balanced, and corrective limb placement to reach the ZMP.

To achieve this, the model has two main considerations: the position of the centre of mass and the linear acceleration of the object.

Tuesday, January 15, 2019

Considering Piecewise Curves to Preserve Continuity Over Complex Pathways

While I don’t foresee my trajectory pathways requiring more complexity than can be produced with four control points in a single cubic spline, I have considered how to accommodate more precise pathways if the need arises.

One solution is to simply raise the number of control points used to form the curve, though as the number of control points rises overfitting will become more noticeable. Global control benefits my solution over a short range, maintaining a natural arc, though over longer more intricate paths global control across many more control points may unfavourably alter the path defined by others elsewhere in the curve.

A better method is to join a series of cubic curves together to form a piecewise cubic curve.
While each control point has global control within its cubic curve, it will have no influence over the curve during any other cubic section. This will lessen overfitting while offering suitable control to create complicated pathways.