Final Project

Due on the last day of class (4/30/2012). Only students who have signed up for the 5XX-level of this class need to complete a project.

The project should explore an application of an idea from one of the topic areas covered in class to a specific robotics problem. The main part of the project should be a simulation of the idea in a robotics scenario. You can simulate the work in any programming language including Matlab.

Students may work in pairs on a joint project (may work in threes with my permission). The expectation for a joint project is higher for joint and triple projects than it is for single projects. The expectation for a single project is the equivalent of two homework assignments worth of work.

The project should be documented by a project report between three and six pages long. The report shound include the following sections: 1) problem description; 2) background; 3) approach; 4) simulations; 5) conclusions.

All project teams should come to my office hours and get their project topic approved by me in person. This must occur by 4/6/2012. Each project team should bring along one half-page project summary and three relevant research papers to this meeting that the team has read and will use to inform their project work. This in-person proposal is worth 20% of the grade. I will evaluate the proposal by: 1) whether the idea makes sense; 2) the quality and relevance of the three supporting research papers found.

Possible project topics:

1. Use some kind of trajectory optimization to find a dynamically viable trajectory for the torque-limited pendulum. The starting configuration should be in a hanging-down configuration and the goal configuration should be in the upright position. If you want, you can do the cart pole, or a similar platform instead. I suggest that you use sequential quadratic programming fot this project by downloading and using (the student version of) an optimization package known as SNOPT. You can download the student version from the software downloads section of Philip Gill's webpage. Extra credit for doing this for the cart/pole or the acrobot.

2. Use sample-based motion planning (such as a PRM or RRT) to find collision-free motion trajectories for a robot arm. The arm must be three-dimensional -- not planar. If you want, you can use a simulation available on the web, however you nee to program the algorithm yourself.

3. Compare Kalman filtering with Particle filtering as ways to localize and track the location of a robot in a known planar environment. The position and orientation of the robot is state. The only observation available to the robot is a single laser beam that measures range between the robot and an obstacle directly in front of it.

4. Use reinforcement learning to solve the torque-limited pendulum problem. Assume that the parameters of the pendulum are partially or completely unknown. Learn through experience to balance the pendulum. For example, you might use q-learning, sarsa, or LSTD by discretizing the two-dimensinoal theta/theta_dot state space. (You'll need to simulate the true pendulum in order to provide the learning system something with which to gain experience.) You might also use policy gradient to solve the problem.

5. Experimentally compare RRT with RRT* for a three-link planar manipulator. Compare average distance (cost) of solutions found using both methods as a function of iterations of the algorithm.

6. Some other idea that you propose...