KDC Homework 1

TA Comments:

The majority of people took the example code and wrapped an optimization (fminsearch) around it to automatically tune various parameters.  Usually, a penalty function was included in the objective function to penalize unrealistic solutions.  

Several people were content with the optimization finding strange solutions that yielded high efficiency.  The problem with these solutions is that they are generally not realizable on a real robot.  One common solution was to use a huge initial leg force to jump to the 10x distance or move very fast horizontally.  Along those lines, I don’t think any group implemented a limit on leg force or swing leg velocity.

A few select groups actually changed the models slightly, using parameters or configurations different from the example codes.  Often this was a good way to achieve better efficiency because the example models were very simple.

I was particularly interested in the report and presentation of peoples’ methods and results.  For the most part, they were not complete.  I think a good report will have the following components:

                Abstract – briefly describe the problem and your method along with notable results.

                Description of Method(s) – describe in detail what you did.  This should be organized, not just free-typing.  Most importantly, include more details on specific algorithms you used, don’t just refer to the code.

                Results – Results should be clearly organized and presented.  Pertinent graphs should be labeled, with captions and referred to in the text body.  Values should be presented in tables.

                Conclusion – Discuss what you learned from the assignment.  What worked for you and what didn’t?  Did your results make sense?  What could you change and why didn’t you make changes that other people might?

Highlights:

I want to point out a few good examples:

·         http://www.cs.cmu.edu/~mtesch/hattontesch.pdf - This group made a subtle change to the model.  Instead of thinking of the leg as a pure force source such as a motor, they made it a passive spring-damper in parallel with a motor.  The idea was that the spring would store energy and the motor would simply need to replace the energy lost by the damper and collisions.

·         http://www.cs.cmu.edu/~acollet/KDC/Assignment1.html - This group had an exceptional report with excellent diagrams, equations, and discussion of their methods.  They too changed the model slightly to have the controller consider not just velocities but polynomials of the velocities.

·         http://gs7315.sp.cs.cmu.edu/pmwiki/pmwiki.php/Courses/Assignment1 - This group had a very well organized report and created a very informative video of their methods and results.

·         http://www.contrib.andrew.cmu.edu/~tgoff/ - While he did not use an automated optimization, this person had a very well organized report describing a heuristic-guided hand optimization of the model parameters.  Most importantly, he described the qualitative effect of the various parameters he was changing.