Pages

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.

Friday, January 11, 2019

Bézier Curve, Constant Velocity Throughout Dynamic Ellipses

I have noticed that when control points are manually moved to extreme positions, the speed at which an object moves along the curve is inconsistent.

Figure 1: Difference in segment section lengths when control points positioned outside of natural gait proportion

This is because the length of each segment between two control points in normalised (they are always represented between 0 and 1).

Tuesday, January 8, 2019

Trajectory Plotting Within Solution

Moving Along Curve 

To give my leg limb end effector an appropriate target to follow during its swing phase, the target must interpolate along the plotted trajectory.

Initially I approached this problem incorrectly; attempting to ‘grow’ the curve by simultaneously expanding each curve section over time, starting from the first control point.
As figure 1 shows, this places the final curve resolution point at the sum interpolation value of all sections – interpolating it along the Bezier curve.
This would allow the target position to be set equal to the final resolution point each frame.

Figure 1: Simultaneously interpolation each curve section over time

Friday, January 4, 2019

Bézier and Catmull-Rom Implementation Comparison

Having implemented functional Bézier and Catmull-Rom curves has been more revealing than expected.

Figure 1: 2D comparison of curves Figure 2: 3D comparison of curves

The two curves are compared above in 2D (figure 1) and 3D (figure 2). The Bézier curve is shown with spheres at its resolution points and the Catmull-Rom with cubes.