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.