Variable Hopper Analysis
--
SanjayDastoor - 28 Apr 2006
Moved Muscle stuff to
ArtificialMuscles? (private)
--MarkCutkosky 21 Mar06
Starting a New Page on
ArtificialMuscleIntegration issues
--MarkCutkosky 15 Mar 2006
Here are some slides & link to a movie
that illustrate one advantage of having tunable leg stiffness for stable open-loop trotting. Values of mass, stiffness, damping are chosen to be similar to those of
Sprawlita.
--
JonathanKarpick - 16 Mar 2006
Second simulation that has a maximum spring extension:
- HopperLimit.zip (DO NOT unzip into same folder as the files below... the filenames are the same).
Results:
--
JonathanKarpick - 08 Mar 2006
Running some sims - realize that we should really be looking at max foot height per stride versus body height per stride. With a weak spring and the same actuator force, the body can get pretty far off the ground while the foot is still on the ground...
ss_var_fn.pdf - Hopping height vs. Activation Frequency for a variety of hopper natural frequencies.
Without a maximum leg extension, the hopper hops higher with lower
natural frequencies - the spring extends a lot until the foot lifts off
of the ground.
In other words, without a max leg extension, there's no optimal
stiffness in terms of hopping height for a given force level and a given
damping ratio.
Changing the natural frequency of the hopper does change when the hopper
enters and leaves period-2 hopping. The lower the natural frequency,
the earlier (in terms of actuation frequency) the hopper goes to
period-2 (and the earlier it returns to period-1).
Code is attached in the zip file here:
HopperSim.zip (updated 7pm 3/8/06)
Description of contents:
- load_constants.m: Settings for the dimensions and physical constants of the hopper
- hopper_multi_run.m: Runs a set of simulations varying natural freq and creates a data structure (data)
- hopper_multi_run_add.m: Runs some more simulations of varying natural freq and adds them to the existing data structure.
- hopper_sim.m: Run this script to conduct a single simulation
- hopper_ode.m: The file that is called by ode45 from hopper_sim.m
- hopper_events.m: Determines when to switch between GROUND/AIR states and FORCE ON/FORCE OFF states.
- hopper_air.m: equations of motion while airborne
- hopper_ground.m: equations of motion while on the ground
- hopper_plot.m: plots single run time history - send it a "data" structure - i.e.: hopper_plot(data(50,2))
- hopper_multi_plot.m: plots Steady State Height vs. Frequency and Periodicity vs. Frequency
- check_ss_period.m: determines when the system is in steady state and records periodicity and hopping height - currently just checks that the height at intervals of the actuation period is the same (within ss_tolerance) over a number of periods
--
JonathanKarpick - 01 Mar 2006
I found some of Jorge's old dashpod Matlab code, and have modified it for an even simpler hopper. (Jorge had limits on the extension of the spring/damper/actuator, and some modeling of actuator dynamics).
NOTE:
- As I increased the activation frequency, I noticed that the simulation was skipping some activation periods - this appears to be associated with my implementation of the period generator and the value of RelTol in hopper_sim.m (the odeset command)
- Figure 3 generated by hopper_plot.m shows the activation pattern - check for gaps to ensure that this problem is not occurring.
Working on:
- tool to automatically determine steady state hopping height (and periodicity...)
- movie maker
- state space trajectory plot
--
JonathanKarpick - 02 Mar 2006
Initial change in hopping height vs. frequency with varying k: