Published using Google Docs
Humanoid Robotics Assignment - Walking Engine and Interpolation
Updated automatically every 5 minutes

Humanoid Robotics - Walking Engine and Interpolation

Release Date: Mon., 4th Nov. 2014

Due Date: Thu., 13th Nov. 2014 14:00

Demonstration Thu., 13th Nov. 2014 14:00

Content

This assignment builds on the walking engine implemented previously.

In this assignment, you will extend the walking engine to support various types of interpolation and measure its impact on the “quality” of the walk.

Interpolation

The current walking engine uses simple linear interpolation - that means the joints move in a straight line from one keyframe to the next.

Extend the walking engine to include other types of interpolation:

  1. Piece-wise Constant Interpolation (Nearest Neighbour Algorithm)
  2. Cubic Spline Interpolation
  3. Bezier Curves

Evaluation

Evaluate the performance of different interpolation schemes on the movement of the robot.

First, find a good set of parameters (torso angle, stride length, step height, …) that results in a stable walk for the robot using linear interpolation.

Second, qualitatively investigate the performance of the other interpolation schemes (Piece-wise Constant, Cubic Splines, and Bezier Curves) on the robot. Explain which interpolation scheme results in the most stable walking gait. Write up your results in 1 page and try to explain what you observed.

Other Sources

If you use code from other sources, then you must say so clearly in your assignment README file.

Submission

This assignment must be done individually.

Your solution must run under a current version of Anaconda.

To hand in your assignment:

  1. create a directory to hold all of your data. The directory name should be 7950_a<number>_<login_name>, where <login_name> is your myumanitoba email prefix and <number> is the number of the assignment,
  2. inside of the directory 7950_a<number>_<login_name>, create a directory source
  3. put the source code, which may contain of multiple files, for your assignment’s solution into the directory source.
  4. Your program must compile by just running the command make in the source directory
  5. place a copy of the honesty declaration (modified to include your own name and student number) in the 7950_a<number>_<login_name> directory. Make sure that you understand that doing so and handing it in from your account both securely identifies you and holds you to the responsibilities of a paper honesty declaration.
  6. write a README file to explain anything you feel is necessary or important about your submission. This may include special features/bugs of your program. Describe what parts of the assignment you implemented. It is in your interest to simplify the job of the marker.
  7. once you're happy that you have everything and it all works the way it should, move to the parent of the 7950_a<number>_<login_name> directory (i.e. make sure you can see the name of the 4550_a<number>_<login_name> directory in the list of files if you do an ls command).
  8. create a compressed tar file for this directory and email the compressed file to the marker’s email.

 

If you change your mind about what is handed in or think you've made a mistake, you can enter the handin command as often as you want, each new handin will erase the old. Remember there is a hard deadline on the due date, at which point the handin system will be disabled.

When marking your assignments, the marker will get a copy of everything you placed in the directory.

You will get an email back to the cc account you used to do the handin after the marker is finished. Please ensure the mail on this account is not forwarded elsewhere.

On the demo date shown at the top of this assignment, you will also demonstrate your assignment to the marker.