| 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 |