Cornell University    

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