Transcript slides
Single Point of Contact Manipulation of Unknown Objects Mid-term Progress Summary Spring 2004 Stuart Anderson Overview • • • • The Problem Learning Planning and Behaviors The Software The Problem • Given an object with unknown geometric and dynamic parameters, move that object into a specified pose. • A six degree of freedom fiducial is affixed to the object. • We can manipulate the object by applying bounded forces to its surface. • Applied forces and fiducial observations have white gaussian noise Learning • Two approaches – Extensions to the Kalman filter – Particle Filter • What do we learn about the system? – Geometry • pre-selected set of normals • learn their offsets, define a convex hull – Dynamics • Mass, Inertial Tensor, Center of Mass, Coefficient of Friction Two Approaches, One Idea • Predict – Guess what the system will do next, based on the input we give it. • Correct – Observe what the system actually did, update our belief about the system based on the difference between the prediction and the observation Kalman Filter Approach • Kalman filters are optimal estimators for linear systems with linear observations and Gaussian noise. • Unfortunately observations in our system aren’t linear. – Spent some time working on Kalman filters using tensor valued normal distributions. • no dice. (but it might be useful later) Particle Filter Approach • Approximate the posterior distribution using a set of particles. – What’s a particle? • A potential description of the system. – Lets us approximate any distribution, don’t need to worry about linearization anymore. – But we have to be careful or dimensionality becomes a problem. • m(1), I(6), mu(1), cm(3), geom(~250) Particle Filter Approach • When we make an observation o – p(x|o) = p(o|x)p(x)/p(o) for every particle x. • Then resample the distribution based on the relative likelihood of each particle. – Resampling based on the local likelihood gradient helps us with the geometric dimensionality. Observations and Predictions • We observe accelerations based on the fiducial movement. – big caveat: assume we take observations frequently enough that accelerations don’t change much between them. • So we need to predict the acceleration based on state and force applied. – In general, we can’t get an explicit answer to this question since the contact pressure distribution is undetermined. – But we can compute bounds on the resulting contact force and torque based on the velocity, geometry, and applied force. • My current work is tightening these bounds to yield more information from each observation. • We also observe the point of contact with the object, and use that to refine geometric estimates. Planning and Behaviors • Planning has a problem with dimensionality too. – The set of actions is a (potentially unconnected) path through the set of all forces at all points. – Behaviors are the way to deal with this • Slide (maintaining current contact face) • Switch contact face (a.k.a roll) – I should probably have more, but I don’t have a sense of what they would be, and I probably wont have time to implement them. – Behaviors are parameterized by a variable which roughly corresponds to a usefulness versus information gain tradeoff. This was a fast way to get a richer behavior set, but the actual reasoning about information gain takes place elsewhere. Planning • Note: Planning doesn’t work yet. This is what I think will work. • There are two things that make planning in this domain especially tricky. – Uncertainty – Complex constraints between translation and rotation. (eg, rolling ball) Uncertainty • Given a set of particles, we can simulate a behavior many times, assuming a different particle to be the ‘truth’ each time. The behavior doesn’t know which one is true, it’s acting based on the entire distribution. • We can look at the statistics of these trials to see what effect a given behavior will have on the belief state. – Some behaviors tend to move the object closer to the desired position. – Others tend to reduce the variance or entropy of the distribution. Complex Constraints • This is a hard problem. It’s also not central to my work, as it’s just as hard to deal with when you know everything about an object. • So we’ll just take a brute force approach and let the geometric approximation help us out. The Software • Dynamics Simulation / Visualization – Human Interface – Planning Interface • Particle Filter – geometric and dynamic parameters observed and updated. Bounds on the dynamic parameters are still too weak, this is a solvable problem. • Tensor valued Kalman Filter – Scrapped. Potentially, the idea of convoluting distributions on linear subspaces can be applied to the particle filter as well, which could help with dimensionality. • Behaviors – Slide, shift face. Reactive control is a little too good because I haven’t limited the force application to reflect reality. Doing so will make the behaviors more complex. • Planner – Can construct and run simulations under assumptions, but that’s it.