ME 449 Projects 2012
The ME 449 final project is due by email to Prof. Lynch by 9 AM Thursday of finals week (June 7).
You will work in teams of two on your ME 449 final projects. Each final project output will be a paper in two-column conference paper format. Each paper should include a review of the assigned paper as well as a description of your new results. For some projects you will also include a piece of code (e.g., a simulation or analysis). If your main project is to write code, then your report should give the results of some illustrative examples.
A typical conference paper is 6 pages, though your paper can be anywhere from 4 to 10 pages. Papers will be graded on the clarity of the review of the assigned paper, the quality and depth of the new results, and the quality of the presentation (good paper outline, logical flow of the paper, clear writing, good figures, etc.). In other words, the kinds of things that are considered in reviews of conference papers.
These projects are open-ended, and in some cases have not been done before by anyone (as far as we know). Yet we expect that you can make progress on them. The project is a chance for you to get deeply involved in a particular manipulation problem and see what you can do. There will be no answer to the questions "Is this sufficient for the project requirements?" and "What do we need to do to get an A?" and "Is this even possible to do?" You may need to modify your project description as you go, as you learn more about the problem. In that case, you should alter your project so you can still say something significant.
You may also discover errors in your paper! Just because the paper was published does not mean that it is perfect. In this case, you should describe the errors in your review of the paper.
Milestone
In class on Tuesday May 22, your group will have 5 minutes to present an overview of your assigned paper. Your job is to summarize the results clearly and succinctly, so that others in the class can learn the key points in the paper. (If the paper has many points, strategically pick a couple to emphasize that you think are most important.) At the same time, you will be demonstrating your mastery of the paper. You can either use the projector or the blackboard, though given your limited time, the projector is likely to be the best option. The milestone will be part of your final project grade.
Project List
Below is a list of final projects you can choose from.
Stability measure for nonprehensile manipulation
Paper: Maeda and Arai, ICRA 2002
This paper describes a method for determining the maximum disturbance wrenches that can be resisted without altering the motion of an object during nonprehensile manipulation. You will implement the method for calculating the "stability measure" from the paper and reproduce the results of the paper. You will then apply the method to pushing a square object sitting on a horizontal table with three "feet" (three points of support). Choose two motions of the pusher, one a translational push and one with rotation. Both of these pushes should be "stable." Does your method show that the rotational push is more or less stable by the stability measure, and does this make sense? You might find it convenient to consult with the team working on the following project. Turn in your paper and your code.
Testing for inconsistent finger control modes
Paper: Maeda and Arai, IROS 2003
This paper is a follow-on to the paper in the previous project, and you might find it convenient to consult with that team. This paper considers the possibility that "fingers" manipulating an object can be in either position or force control mode, and that position control can result in the possibility of excessive (effectively infinite) internal forces. You will implement the method to test for the possibility of excessive internal force and reproduce examples from the paper. Then demonstrate your method on the following problem: pushing a rectangular block along a wall. The block has one flat face sitting on the floor and one flat face aligned with the wall, and the robot's job is to push it along the wall while keeping both faces flat against their constraints. Come up with at least two different strategies, one of which succeeds and one of which results in excessive internal forces, and give the corresponding figures and the results of the test. Turn in your paper and your code.
Two-dimensional impact
Paper: Wang and Mason, Journal of Applied Mechanics 1992
You will implement this method for calculating the post-impact velocity of a two-dimensional body as a function of its pre-impact state, and develop a matlab simulator based on it. The simulator should take a description of a rigid polygon (including restitution and friction coefficients), initially above a table, and simulate and draw the motion of the polygon as it falls and bounces on the table for a specified duration. The table moves according to some pre-specified motion profile x(t), y(t), theta(t), and you should first test your simulator with a stationary table, where it is easier to understand the results. You have to numerically determine the time of each impact (e.g., using a binary search), and at the impact times, you apply the Wang-Mason equations. If the object begins to come to rest, the times between impacts will become very small, and you can terminate the simulation. Provide examples of a falling rod that exhibits each of the possible impact types on its first impact with a stationary table. Turn in your paper, your code, and example calls of the code that yield the different impacts.
Second-order form closure
Paper: Rimon and Burdick, Transactions on Robotics and Automation 1998
Write a computer program that tests for second-order form closure of a planar object in contact with frictionless point fingers. The inputs to the program are the contact locations, normal directions at each contact, and the contact curvature. (If it is easier, you can assume the "fingers" are points and the object is locally circular. The object can be convex or concave, i.e., curvature = 1/(radius of curvature) is positive, negative, or zero.) The program should return whether the object is in first-order form-closure, second-order form closure, neither, or both. Turn in your paper and your code with test examples.
LCP simulation of the meter stick trick
Paper: Berard, Egan, and Trinkle, ICRA 2004
Supplementary paper for more information: Berard Tech Report
Use an LCP formulation to simulate a planar uniform horizontal rod (a meter stick) in gravity supported by two point contacts or "fingers." One finger moves toward the other at a fixed speed. Simulate what happens to the rod. Turn in your code and your paper describing how, at slow speeds, the rod always stays balanced between the fingers, and at other speeds, the rod falls.
Dynamic rolling and sliding manipulation
Paper: Srinivasa, Erdmann, and Mason, IROS 2005
This paper describes dynamic motions of a robot "palm" to cause a block resting on it to roll and slide. You will write code to reproduce Figure 1. For what friction coefficients is this task feasible?
Rolling simulation
Baraff
Sliding and bouncing
Stable transport of an assembly
something from Ji-Chul
Locally controllable pushing
6. Vose, Tuffillaro? See paul for paper.
Bouncing part against a wall on the PPOD. Analytical solution for limit cycle behavior. General simulation.