Pages

Thursday, December 27, 2018

Bézier Curve Implementation

“The problem of finding a feasible collision free path, from start to goal, can be solved by applying Bézier technique; a number of intermediate points will be found and used for path planning.” (Shabeeb, 2013, p. 80)

Path Planning 

“Bézier Curves have useful properties for path planning" (Choi, Curry and Elkaim, 2009, p. 1):

The curve “always passes through the first and last control point” (Dixit and Silakari, 2015, p. 319) as the first and last control points are interpolated and the interior control point(s) approximated.
This property will allow me to easily define the first control point with the foot position at the start of swing phase, and the fourth control point as the desired end position as the double support phase begins – leaving the interior control points to define any features of the trajectory including step height or obstacle avoidance.

Tuesday, December 18, 2018

Catmull-Rom Implementation

A “Catmull-Rom spline is preferred over other techniques due to ease of computation and local control” (George et al., 2018, p. 7)

As discussed by Breen et al. (not dated) a Catmull-Rom spline is created from a series of linear Hermite curves with tension modified at each control point which can increase the order of continuity. This explains many of the properties of a Catmull-Rom spline.

Thursday, December 13, 2018

Trajectory Planning

Path Planning 

“path planning problem formulation involves searching the configuration space (C-space) of a robotic system for a collision-free path that connects a start configuration a goal configuration” (Bertram et al., 2006, p.1874).

Having implemented a suitable knee joint with simple end effector to target seeking behaviour, a method of imitating accurate movement of leg limbs during the swing phase is required.

Sunday, December 9, 2018

Project Milestones Adjustment

Current progress 

Reviewing my current progress against my estimated milestones created before beginning development reveals that my early expectations were inaccurate.

While the contents of my initial milestones largely remain essential, what I have already learnt has shown that I have underestimated the size of several goals and had not fully understood the relationship between some of the necessary functionality.

Wednesday, December 5, 2018

Biped Gait Analysis

Human Gait Cycle 

To attempt to replicate human gait I first need to understand the stages of a normal bipedal gait cycle.

“A typical gait involves one foot placed forward with the second placed the same distance beyond the first” (Kong and Tomizuka, 2008, p. 3678).
This process repeated is the human gait.

Friday, November 30, 2018

Analytical IK Solution - Improvements

Boundary singularities  

“In the elbow the singularity occurs when the elbow is fully stretched out, because then, the last axis of the upper arm and the first axis of the lower arm are in line. In such a case there are multiple solutions for the orientation of the elbow.” (Kumar, 2011, p. 5)

The singularity created when the target is out of range produces an infinite number of possibilities, which prevents the calculation of a suitable chain configuration.

When the target is unreachable, the exterior angle of the second joint in the chain is outside the arccosθ domain.


Wednesday, November 28, 2018

Analytical IK Solution - Implementation

As in my brief Forward Kinematics blog, I will use Unity’s child-parent structure to parent objects in sequence to those higher in the chain hierarchy.

Figure 1: Hierarchy within Unity

This simulates forward kinematics with each child being rotated in world space proportional to that of their parent, while their individual joint space is only affected when they are specifically modified – and so on down the chain.


Saturday, November 24, 2018

Analytical IK Solution - Research

As explored in my previous entry, an IK solution does not direct the chain but rather aims to reach the chain’s end effector toward a global coordinate by manipulation of joints throughout the chain length.

An analytical solution makes use of the trigonometric methods to solve joint configurations. The relative simplicity of this approach makes analytical solutions extremely efficient in comparison to other methods, though limits their reasonable application to chains with relatively low degrees of freedom.

“for manipulators that are redundant or with high dof, there are hardly effective solutions to the inverse kinematics problem” (Gan et al., 2005, p. 123).

This makes an analytical implementation an ideal starting point to begin development into the locomotion of a 2D biped, as it can be used to simulate shoulder and elbow joints to correctly position the hands as well as hip and knee joints to correctly position the feet.

Tuesday, November 20, 2018

Inverse Kinematics: Solution Analysis

“Inverse Kinematics is defined as the problem of determining a set of appropriate joint configurations for which the end effectors move to desired positions as smoothly, rapidly, and as accurately as possible” (Aristidou and Lasenby, 2011).

As explored in my last blog entry, forward kinematics is concerned with identifying the position and rotation of the kinematic chain’s end effector, while inverse kinematics aims to position the kinematic chain so that it can accommodate the position of the end effector.

This relationship between the two operations is described in figure 1.

Figure 1: Relationship between forward and inverse kinematics (Kucuk and Bingul, 2006, p. 118)

Forward kinematics assesses the local position and rotation of each joint to determine the end effector rotation and position in global space. Inverse kinematics uses this global position and adjusts the local rotation of each joint so that the end effector reaches the target position.

My solution will rely on an IK implementation to affect the rotations on joints in the biped limbs to reach towards target positions while applying constraints which maintain realistic human joint rotation limits.

Thursday, November 15, 2018

Forward Kinematics

Kinematics is the branch of mechanics concerned with the motion of objects without reference to the forces which cause the motion.

A kinematic chain is comprised of a series of linked rigidbodies (bones) where each successive bone is connected to its previous bone by joints, from the root joint to the last joint in the chain; the end effector – as discussed by Kenwright (2013, pp. 2-9).

“The forward kinematics of a manipulator deals with the computation of the position and orientation of the manipulator end-effector in terms of the active joints variables.” (Ezzat A Showaib, 2013, p. 1)

Figure 1: Kinematic chain of bones joined by connecting joints (Kucuk and Bingul, 2006, p. 119)

A kinematic chain is a hierarchical structure. By altering the rotation of any joint, all it’s child joints will be rotated relatively without their individual rotations being altered (as shown in figure 2).