Notebook Entry


Today's task list:

  • [x] Work on parsing the walking data
  • [] Make generic settings on the lab website
  • [] Work on the website theme
  • [] Fix the budgeting and purchasing issues
  • [] Review the TODO items on the Yeadon paper
  • [] Run variations in guesses for structural id

Walking System Identification

  1. Load data.
  2. Find the heel strike and toe-off for each foot for the run.
  3. Align each foot down section in time with the first one and truncate the data for each to have equal length time series for each foot down.
  4. Segment and truncate the interesting time series to match (rates, angles, etc)
  5. Specify the number of time steps to retain for the control extraction.
  6. Store these reduced time series in a 3D array. This can be a pandas Panel where each DataFrame in the Panel is one foot down time series. There should be one Panel for each leg.
  7. Find the mean of the time series and store as the limit cycle definition.
  8. Specify the inputs and outputs to the controller.
  9. Form Ax=b.
  10. Call linear least squares to get the gains.

The math for forming Ax=B: http://nbviewer.ipython.org/6226636 and the gist: https://gist.github.com/moorepants/6226636

I also got the data loaded in an cleaned of missign values and found the mean time series.

Now I just need to transform these things into a nice API where the user can select the data source, the names of the controls and sensors, and it will find the gains. Nice and general.