CMU RI 16-745: Dynamic Optimization: Assignment 4

Educational Goals

The goal of this assignment is to explore the effect of imperfect measurements and imperfect models on controller and state estimator design.

We will once again use the bongo board task, as described in the previous bongo board assignment.

Part 1: Design a steady state regulator (controller plus state estimator) for the bongo board assuming a perfect model, but no direct measurements of roller or board state. Body joint angles are measured using potentiometers. Joint velocities are not measured. Foot forces are measured in foot coordinates using two (one for each foot) 9230-05-1394/SI-1900-80 Mini-85 six axis force torque sensors using the Ethernet interface (NET). For an IMU/vestibular system, an Invensense MPU 6000 is mounted at the top of the torso. Describe your methodology and evaluate your design.

Bonus: Where is the best place to mount the IMU on the body (you can put it on any link)? Please give exact coordinates.

Bonus: Would more than one IMU help? How?

Part 2: Design a steady state regulator (controller plus state estimator) for the bongo board assuming you will be given a bongo board and roller later, but you don't know the details of exactly what design etc., and you have to write the control software now. Assume the same sensors as before. Assume the friction characteristics of the surface you are bongo boarding on will vary (concrete, soil, sand, mud, snow, ...). Assume the surface may not be level or flat (it may be an incline, or have small hills and valleys). You may implement online learning/adaptive control to tune your controller and/or estimator to the actual bongo board/roller/surface you are on. Describe your surface model (including viscous, Coulomb, and stiction effects). Describe your methodology and evaluate your design.

Bonus: Part 3: Do part 2 assuming you are on a hard surface (such as asphalt or concrete) which has gravel sparsely strewn on it that is big enough to have an effect on the roller. I am thinking of single stones that the roller is stopped by and a large effort is required to roll over them. How do you deal with that?

Triple Quadruple Bonus: Part 4: Solve the DARPA Robotics Challenge:

1. Drive a utility vehicle at the site.
2. Travel dismounted across rubble.
3. Remove debris blocking an entryway.
4. Open a door and enter a building.
5. Climb an industrial ladder and traverse an industrial walkway.
6. Use a tool to break through a concrete panel.
7. Locate and close a valve near a leaking pipe.
8. Replace a component such as a cooling pump.

Note that similar to the bongo board assigment, the Little Dog project, and the ARM-S project, you are given the specifications of a robot and task, and potentially can try your software out on a robot. However, your software must be able to operate on a "duplicate" test setup that is not exactly the same. We found this extremely difficult in the Little Dog project, because we did not take robustness seriously, and we did (very) poorly on many of the tests.

What to turn in?

You can use any type of computer/OS/language you want. You can work in groups or alone. Generate a web page describing what you did (one per group). Include links to your source and any compiled code in either .zip, .tar, or .tar.gz format. Be sure to list the names of all the members of your group. Mail the URL of your web page to and [You complete the address, we are trying to avoid spam.] The writeup is more important than the code. What did you do? Why did it work? What didn't work and why?


None so far.