Home | Chapter 1 - Double Pendulum | Chapter 2 - Cornell Ranger Equations of Motion Derivation | Chapter 3 - Simulation of the Simplest Walker | Chapter 4 - Hip Powered Walker |

Hip Powered Walker MATLAB File

__Hip
Powered Walker__

The final step, that we will discuss, in creating walking robot simulations is adding control to our walker. The simplest walker can only walk when the ramp is sloped. We would like to have a simple walking model that can walk on flat surfaces. A more general walking model than the simplest walker will be used and a motor will be added to the hip joint. The new model we will use is a reduction of the Cornell Ranger. The parameters that will be used are as follows,

These parameters result in a model with rounded feet and legs with inertia.

__Adding Control to
Our Model__

To create a simulation of a hip powered walker, we will modify our simulation of the simplest walker. We first change the parameters to match those above. We then will add a global variable for the hip state and define the two possible states. The initial state will be HIPSWING.

HIPSWING = 1; HIPFREE = 2;

global HIPSTATE;

HIPSTATE=HIPSWING;

We now must define a controller function that will take in the state variables, time, and parameters and return the torque at that instance. We will define the proportional and derivative gains as well as the reference angle for the hip swing.

function torque = controller(t,z,GL_DIM)

HIPSWING = 1; HIPFREE = 2;

P = 0.1; D = 0.5; q3REF = 0;

The controller now determines which state the robot is in. Once the leg reaches the reference angle, the robot transitions to free swing.

if (q3-q3REF)<=0

HIPSTATE=HIPFREE;

else

HIPSTATE=HIPSWING;

end

If
HIPSTATE is HIPSWING, the controller calculates the torque that will
be applied based on the control law,

If HIPSTATE is HIPFREE, the controller applies zero torque.

if HIPSTATE == HIPSWING

torque=- P*(q3-q3REF) - D*u1;

else

torque =0;

end

The last thing we need to do is have the controller act in the single stance function. We set to be equal to the result of the controller function.

Th=controller(t,z,GL_DIM);

Hip Powered Walker MATLAB File

Home | Chapter 1 - Double Pendulum | Chapter 2 - Cornell Ranger Equations of Motion Derivation | Chapter 3 - Simulation of the Simplest Walker | Chapter 4 - Hip Powered Walker |