- Tue 13 August 2013
- notebook
- Jason K. Moore
- #notebook, #system identification, #least squares, #walking
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
- Load data.
- Find the heel strike and toe-off for each foot for the run.
- 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.
- Segment and truncate the interesting time series to match (rates, angles, etc)
- Specify the number of time steps to retain for the control extraction.
- 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.
- Find the mean of the time series and store as the limit cycle definition.
- Specify the inputs and outputs to the controller.
- Form Ax=b.
- 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.