And now, what's going to happen to us without barbarians?
They were, those people, a kind of solution.
[C. Cavafy, "Waiting for the Barbarians"]
The Surface Patch Library (SPL) includes a set of curved surface patch models to geometrically represent areas on and around the robot. A local mapping and tracking system assembles patches in the environment and on the robot into a spatial map to be used when a robot operates (e.g., for locomotion or manipulation) in the environment.
The 10 bounded curved-surface patch types are designed to model local contact regions both in the environment (e.g. on rocky surfaces) and on a robot (e.g. foot pads). The system uses minimal geometric parameterizations based on the exponential map for spatial pose, both in the usual 6DoF case and also for patches with revolute symmetry that have only 5DoF. A fitting algorithm is included to fit and perceptually validate any patch type to point samples of a surface, with quantified uncertainty throughout using covariance matrices, both in the input points (including nonuniform variance, common in data from range sensors) and in the output patch. Moreover, we apply simultaneous localization and mapping (SLAM) techniques to assemble patches on-line into a spatial patch map of the available contact surfaces both on and around a robot. We test the algorithms in a real-time foothold perception system where a mini-biped robot (RBPB), a half-size (COMAN), and a full-size (WALK-MAN) humanoid robot perform foot placements and locomotion on regular and irregular (e.g. rocks) terrain types, reasoning about contacts.
Kinect Rock Data with Manual Segmentation | ogv|mp4|webm |
This demo shows interactive segmentation of patches from real data taken with a Kinect, with each patch automatically fit by our patchfit algorithm. To reproduce, run |
Fit Elliptic Paraboloid (Simulation) | ogv|mp4|webm |
This demo starts with a simulated “ground truth” elliptic paraboloid patch. Data samples are then taken with noise simulated according to our Kinect range error model. Finally, a paraboloid patch will ellipse boundary is automatically fit with our patchfit algorithm. To reproduce, run |
Fit all Patch Types (Simulation) | ogv|mp4|webm |
Similar to the elliptic paraboloid demo, but shows the results when run on “ground truth” instances of all 10 patch types. To reproduce, run |