Bayesian CAD modeling

A Bayesian CAD modeler offers the possibility
to describe the machines (positions, precision, kinematics and
control parameters, etc.), the objects (locations and shapes),
the sensors (range and accuracy) and the environment within a
simple, unified and concise probabilistic description. Consequently,
the main difference between a Bayesian
CAD modeler and a classical one is that, when resolving calibration
and inverse kinematics problems, it is possible to take into account
all the uncertainties at hand.
What can we do with
it?
Bayesian reasoning represents a powerful
and generic tool for computing uncertainties and constraints propagation.
Using Bayesian inference, we can deal with uncertainty and solve
many inverse problems found in CAD and robotics:
Calibration: most of the calibration and reconstruction
problems can be solved using our approach:
- Machine calibration: Finding the location of the base and the parameters
of the links given sensors' data.
- Robot Positioning: Finding a location of the base of a robot
to access several working locations with an optimal precision.
- Part positioning: Finding the location of a part from information
read on different sensors' sources.
- Tool design: Finding the optimal tool shape to reach a
given location.
- Constraint satisfaction: Finding the location of a part to satisfy
a set of geometrical constraints.
Inverse kinematics: new possibilities are offered when solving
inverse kinematics problems, such as:
- Best precision inversion: Finding, robot's configuration leading to
the best precision of the tool point by taking into account the
uncertainty on the lengths of the links, on the commanded joint
values and on locations and shapes of the parts involved by this
task.
How does it work?
The kernel is made of a Bayesian inference
engine dedicated to geometry. The a priori knowledge on
the scene is represented as a joint distribution of all the variables
necessary to describe the machines, the parts, the sensor readings
and the environment. The inference engine is divided into three
components:
- The symbolic module which computes the formula permitting to obtain
the desired value from the joint distribution. This module uses
a resolution principle based on the Bayes' formula.
- The summation module which is used to sum probabilities over a
set of variables (all the unknowns). This module is based
on a Monte-Carlo algorithm.
- The optimization module which is used to find the most probable values
of the searched variables. This module uses a Genetic Algorithm.
Example
To explain the principle of our method,
we give a simple inverse kinematics problem with a 2 dof planar
arm:
Click here to view this
example
What have we achieve?
We have developed the kernel
and tested it on a simple Cad modeler for numerous problems:
This Figure represents a screen copy of this
CAD modeler.
The
purpose of this movie is to give a feeling of what is a probabilistic
specification of a CAD scene. It presents several random draws
corresponding to the specified probability distribution. As there
are uncertainties on the joint's positions and link's lengths
of the robot and on car's location, their relative position is
only approximately known.
- These two images represent two different
solutions for a kinematics problem. This problem consists to
put two parts (the red and the blue cubes on the images) one
against the other, using two 6 dof Rx90 arms:
The
solution found when equal uncertainty levels were assumed on
the two arms.
The
solution found when more uncertainty on command values of the
right arm is assumed. We can see that the right arm bends at
maximum to minimize the influence of the uncertainty of its command
values on the uncertainty of the relative position between the
two parts.
This
movie describes the measurement procedure and the internal data
structure used to localize an object with a range finder (laser)
mounted the extremity of a robot arm.
A set of measurements (the distance given by the laser and robot's
configuration) are taken. These measurements are used to find
the position of the object. For each configuration, uncertainties
resulting from errors on arm's links are explicitly taken into
accout.
What do we want to
achieve?
The capability to take in account all
uncertainties at hand in CAD problems would be a major breakthrough
for this field. We are now convinced that it is possible.
Our goal is to develop with industrial
partners a Bayesian Calibration Module product to solve these
problems.
What are we looking
for?
The fundamental research part of this
project has been achieved:
- A unified and sane theory of Bayesian
inference for CAD problems has been proposed.
- A Bayesian inference engine dedicated
to geometry has been developed.
- Its possibilities and utility has been
demonstrated on numerous problems.
The applied research part and industrial
development may start, it supposes to:
- Optimize the Bayesian inference engine.
- Integrate it to commercial CAD modelers.
- Develop first industrial applications
to definitely validate the approach.
Consequently, we are looking
for industrial partners interested to work with us on these three
objectives.
How to get
in touch?
Emmanuel Mazer, Kamel Mekhnacha, Pierre Bessière
GRAVIR - SHARP
INRIA Rhône-Alpes - ZIRST
655 avenue de l'Europe
38334 St Ismier Cedex
FRANCE
E-mail: Mazer, Mekhnacha, Bessière
Phone: +33(0)4.76.61.55.09
Fax: +33(0)4.76.61.54.54
WWW: http://www-laplace.imag.fr