Pull in the updates to the starter code and merge them to your repository:
git checkout master git pull git checkout turnin git merge master
There are two new files: common/ZmpPreview.py defines a class implementing a ZMP preview controller, and starter/zmp.py is the demo we saw in class, which shows how to use the preview controller.
Note that you will need to install two extra Python packages to run this code: scipy and matplotlib. You should be able to do this through MacPorts/apt-get.
Furthermore, there were a few bugfixes and updates to the code. For this assignment, you will be most interested in the KinModel.comIK() method, which performs IK for both manipulators and the center of mass. See documentation for details.
Here is the graphical output of running the starter/zmp.py demo:
Your task is to create a demonstration of a bipedal robot following this or a similar trajectory with its center of mass by pulling in the starter code. The extreme positions of the ZMP should coincide with the locations of the front and back foot of the robot. More precisely, you should:
That is, your robot's CoM should trace out a motion similar to the green line in the plot above, so that the ZMP cycles back and forth from foot to foot. In addition to visualizing the projection of the CoM onto the ground plane (as your previous videos did), you should also visualize the desired and actual ZMP locations as well.
Webpage. Movies. Be prepared to discuss in class. You know the drill.
Also, I expect to be able to check out the turnin branch of your group's repository and grab the code for this assignment from the python/assignment5 subdirectory.