Tutorials:VisibilityGrasping

From OpenRAVE

Jump to: navigation, search

by Rosen Diankov

Contents

Running the Example

python:

openrave.py --example visibilityplanning

program options/description:

openrave.py --example visibilityplanning --help

Note: The python example shows how to effectively use environment clones to keep the environment used for planning separate from the real environment updated with sensor data.

octave/matlab: (first start openrave)

 cd `openrave-config --octave-dir`/examples/visibilitygrasping
 octave --eval runsimdemo


Description

This example shows a vision-centric manipulation framework for that can be used to perform more reliable reach-and-grasp tasks. The biggest problem with a lot of autonomous manipulation frameworks is that they perform the full grasp planning step as soon as the object is detected into view by a camera. Due to uncertainty in sensors and perception algorithms, usually the object error is huge when a camera is viewing it from far away. This is why OpenRAVE provides a module to plan with cameras attached to the gripper that implements the following paper:

By combining grasp planning and visual feedback algorithms, and constantly considering sensor visibility, the framework can recover from sensor calibration errors and unexpected changes in the environment. The planning phase generates a plan to move the robot manipulator as close as safely possible to the target object such that the target is easily detectable by the on-board sensors. The execution phase is responsible for continuously choosing and validating a grasp for the target while updating the environment with more accurate information. It is vital to perform the grasp selection for the target during visual-feedback execution because more precise information about the target’s location and its surroundings is available. Here is a small chart outlining the differences between the common manipulation frameworks:

First Stage: Sampling Camera Locations

Handling Occlusions

Occlusions are handled by shooting rays from the camera and computing where they hit. If any ray hits another object, the target is occluded.

Object Visibility Extents

The places where a camera could be in order for object detection to work are recorded.

  • a) - gather data
  • b) - create a probability distribution
  • c) - resample

Adding Robot Kinematics

The final sampling algorithm:

The final planner just involves an RRT that uses this goal sampler:

Visual Feedback

One of the features of this algorithm is that grasp planning is done inside the visual feedback phase:

Personal tools