If you can read this text, it means you are not experiencing this website at its best. This website is designed for used with a standards-compliant browser.

Here I provide screenshots and descriptions of some of the programs I wrote during my research. I had to remove the downloads because of the size of my thesis.

These programs are written in C++ and use an OpenGL renderer, so they should be fairly portable, bar the front end which is based on either Win32 or MFC. I will post source code to accompany each program once I decide what to do about licensing.


SCIKAN: Sinus cone Constrained Inverse Kinematics for ANthropomorphic limbs

Swivel Solver screen shot
The swivel angle of the arm is measured about the vector pointing from the shoulder to the wrist. Given a goal state for the end effector (the wrist frame) this program solves for an optimal swivel angle based on the motion range of both the shoulder and wrist. This approach is based on the IKAN inverse kinematics algorithm and realistic joint sinus cone constraints. At the moment dummy data is provided for the shoulder and wrist constraints.
Download Removed


HPCT Inverted Pendulum

Inverted Pendulum screen shot
This is a three dimensional simulation of an inverted pendulum. The control model is based on a two dimensional HPCT implementation by William Powers, scalar quantities have been exchanged with vectors. The simulation itself is based on the Vortex API.
Download Removed


Constrained QuCCD IK

Constrained cyclic coordinate descent screen shot
A 20 link QuCCD IK chain with 3DOF reach cone constraints. See Chris Welman's thesis for an introduction to CCD IK. Both the end effector position and orientation may be specified. Although this method works well for long chains with many redundant degrees of freedom, in my experience the CCD IK method is not robust enough for use with highly constrained shorter chains such as a human arm.
Download Removed


Robot Arm Simulation

Constrained cyclic coordinate descent screen shot
An arm simulation implemented using MathEngine consisting of hinge (1DOF) and ball and socket (3DOF) joints driven by a CCD IK algorithm. PID controllers are used to determine joint torques based on reference and sensed angles. Control parameters can be observed using the oscilloscopes.
Download Removed

Content © 2005 • Updated: 16/2/06 Valid and