Geometric operators for motion planning

Motion planning is building a considerable momentum within industrial settings. Whether for programming factory robots or calculating mechanical assembly sequences, motion planning through probabilistic algorithms has proved to be particularly efficient for solving complex problems that are difficult for human operators. This doctoral thesis, a collaborative work between the research laboratory LAAS-CNRS and the startup company Kineo CAM, is aimed confronting motion planning problems encountered in the virtual factory. We have identified three domains that are of interest to industrial partners and we contribute to each: collision detection, swept volumes, and motion planning in collision. Collision detection is a critical operator for analyzing digital models within their environment. Motion planning algorithms rely so heavily on collision detection that it has become a performance bottleneck. This explains why such a large variety of collision detection algorithms exist, each specialized for a particular type of geometry, such as polyhedra or voxels. Such a diverse solution space is a barrier for integrating multiple geometry types into the same architecture. We propose a framework for performing proximity queries between heterogeneous geometries. While factoring out the algorithmic core common to spatial-division and bounding-volume schemes, the framework allows specialized collision tests between a pair of geometric primitives. New geometry types can thus be added easily and without hurting performance. We validate our approach on a humanoid robot that navigates an unknown environment using vision. Swept volumes are a useful tool for visualizing the extent of a movement, such as the vibrations of an engine or the reaching of a digital human actor. The state-of-the-art approach exploits graphics hardware to quickly approximate swept volumes with a high accuracy, but only applies to a single watertight object. To adapt this algorithm to handle computer-aided desi gn input, we modify its behavior to treat polygon soup models and discontinuous paths. We demonstrate its effectiveness on disassembly movements of mechanical pieces with a large number of triangles. It can be challenging to manipulate the volume described by a polygon soup. Starting with the swept volume algorithm, we introduce operators to change the size of discrete objects. At a basic level, we calculate the Minkowski sum of the object and a sphere in order to inflate the object, and the Minkowski difference to deflate it. We test these operators on both static and moving objects. Finally, we take on the problem of motion planning in collision. Although it may appear as a contradiction in terms, the ability to authorize a limited penetration during the planning process can be a powerful tool for certain difficult motion planning problems. For example, when calculating disassembly sequences, we can allow obstacles such as screws to move during the planning. In addition, by allowing collision we are able to solve forced passage problems. This is a difficult problem encountered in virtual mockups, where certain parts are slightly deformable or where we may be asked to find the "least-worst path" when no non-colliding path exists. In this doctoral work we develop several contributions that apply to industrial robotics and automation. By focusing on the strict functional and usability requirements of the domain, we hope that our algorithms are directly applicable as well as scientifically valuable. We try to expose the advantages as well as the disadvantages of our approach throughout the thesis.