Published using Google Docs
Humanoid Robotics Assignment - Inverse Kinematics
Updated automatically every 5 minutes

Humanoid Robotics - Simple Parameterized Walking Gait

Release Date: Fri., 20th Oct. 2014

Due Date: Tue., 28th Oct. 2014 14:00

Demonstration Thu., 30th Oct. 2014 14:00

Content

This assignment is an extension of the previous assignment on forward and inverse kinematics. The goal of this assignment is to develop and implement a parameterized walking engine for a humanoid robot. Base your implementation on either the DARwIn-OP or our new teen sized humanoid robotics platforms.

Parameterized Motion for the Walking Gait

You need to implement a walking gait generator that is able to adjust the following parameters

  1. Torso tilt angle
  2. Hip height above ground
  3. Step length
  4. Step height
  5. Slope of lift-off
  6. Slope of put down
  7. Duration of rest
  8. Walking frequency

The meaning of the parameters is shown in the following figure.

Figure 1: Explanation of Simple Parameterized Walking Motion for Humanoid Robots

You should use python3 and matplotlib to implement your solution.

The output of your walking engine will be the target locations for the right and left foot respectively. Use the inverse kinematics engine to compute the joint angles for the legs and send a UDP socket to the robot server to move the feet to the desired target locations.

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 my 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.