Robotics II: Project Information
There are two sorts of information here that are relevant to your project:
Design your own: Suggest a project that is interesting to you. As long as it is challenging and related to the class topics, I will probably approve it. It is my belief that you and I will both get more out of the class if your project is closely aligned with your interests. The IEEE Robotics and Automation Magazine is a good source of ideas; volume 14, number 1, (March 2007) is focused on "Grand Challenges of Robotics." Also look at available projects on my Lab's wiki.
Grasp chapter teaching tools: The Springer Handbook on Robotics wants software and multimedia material to be included in the next edition. Help develop software and tutorial material.
Build and test a Pachinko machine: Build a Pachinko-like machine. The idea would be to be to determine how to place pins so that a part of a given geometry would always reach the bottom in a chosen configuration - kind of like Tetris. Maybe use simulation for testing.
Assembly planning: Develop a simulation model specific to one type of part insertion task. Use motion planning techniques to find the most reliable way to quickly perform the insertion.
Extend your physics engine: A few possible extensions: kinematic motion control, joints, bodies composed of multiple spheres, wires, real-time interaction.
Compare simulation methods: Compare our LCP-based simulation approach to another. For example, Jan Bender's approach or a penalty method.
Push planning I: Use simulation with the RDT to plan pushing actions in a horizontal plane with obstacles. The goal is to move an object from a given initial configuration to a goal configuration with a paddle-type pusher. This is inspired by Lynch's thesis.
Push planning II: Use simulation and the RDT to plan pushing actions in a horizontal plane with obstacles. The goal is to move an object from a given initial configuration to a goal configuration using a needle-like pusher. This is inspired by Kumar's micro-manipulation work.
Grasp acquisition: Perform grasp selection with GraspIt! or other software. Then execute the grasp with the Barrett Hand. See if you achieved the planned grasp.
Grasp acquisition under uncertainty: Implement algorithm to choose grasps, then attempt to achieve grasp in simulation using dVC2d. Inject error and see how errors effect grasp achievement.
Automated handling of shipping containers: Develop planner for automated handling of shipping containers.
Caging: Develop control algorithms for multiple robots to surround and transport an object. Study size of disturbing force for object to escape the cage. You could do this same project with an articulated hand replacing the robots.
Build and test a robot grasper: A planar hand would be sufficient.
Minimum time-terrain traversal: In simulation, build a vehicle (maybe a legged-robot) and controller that can move across the terrain in minimum time. The terrain might have loose stones on it.
There are three parts to your project (see the Lecture page for due dates):
A one page proposal, due soon after spring break
A project presentation on the last or second last day of class
A final report
Detailed project requirements are below.
Project proposal: A one-page description of your project idea and goals
- Explain your problem at a high level and explain why it is important (i.e., why should the audience care about the problem?).
- Clearly state the problem in technical terms.
- Describe approach used to solve the problem, for example:
- mathematical or experimental model
- solution approach
- algorithm pseudo-code
- controller block diagrams
- Show results obtained including experiments, animations, and plots if applicable.
- Describe what worked and what didn't. Give plausible explanations for what did not work and what might be done to make these things work better.
Written project report
Written Report Structure
- The written report should be 7-10 pages, roughly following the presentation outline. The length is less important than the information you convey. Your report should accomplish the following:
- Answer the question: What is the problem studied?
- Answer the question: Why is it important - beyond needing a project to pass the course.
- Answer the question: How did you approach the problem (e.g., derive a math model, experimental approach, pseudo-code of your algorithm, block diagram of your controller, and method of analysis). This explanation should be detailed enough to allow someone else to duplicate your approach and validate (or invalidate) your results.
- Present your results, discuss possible sources of error, and your conclusions.
- If there are animations or videos, the report should give the urls to them.
- Cite the relevant information sources used (e.g., technical papers).
- Planning and control code developed by you should be included in an appendix.