OpenRAVE Documentation

fastgraspingthreaded Module

Finds the first feasible grasp for an object as fast as possible without generating a grasp database.

../../_images/fastgraspingthreaded.jpg

Running the Example:

openrave.py --example fastgraspingthreaded

Description

This type of example is suited for object geometries that are dynamically created from sensor data.

Command-line

Usage: openrave.py [options]

Example showing how to compute a valid grasp as fast as possible without
computing a grasp set, this is used when the target objects change frequently.

Options:
  -h, --help            show this help message and exit
  --scene=SCENE         Scene file to load (default=data/wamtest1.env.xml)
  --manipname=MANIPNAME
                        Choose the manipulator to perform the grasping for

  OpenRAVE Environment Options:
    --loadplugin=_LOADPLUGINS
                        List all plugins and the interfaces they provide.
    --collision=_COLLISION
                        Default collision checker to use
    --physics=_PHYSICS  physics engine to use (default=none)
    --viewer=_VIEWER    viewer to use (default=qtcoin)
    --server=_SERVER    server to use (default=None).
    --serverport=_SERVERPORT
                        port to load server on (default=4765).
    --module=_MODULES   module to load, can specify multiple modules. Two
                        arguments are required: "name" "args".
    -l _LEVEL, --level=_LEVEL, --log_level=_LEVEL
                        Debug level, one of
                        (fatal,error,warn,info,debug,verbose,verifyplans)
    --testmode          if set, will run the program in a finite amount of
                        time and spend computation time validating results.
                        Used for testing

Main Python Code

def main(env,options):
    "Main example code."
    env.Load(options.scene)
    robot = env.GetRobots()[0]
    if options.manipname is not None:
        robot.SetActiveManipulator(options.manipname)
    # find an appropriate target
    bodies = [b for b in env.GetBodies() if not b.IsRobot() and linalg.norm(b.ComputeAABB().extents()) < 0.2]
    for body in bodies:
        self = FastGraspingThreaded(robot,target=body)
        grasps, jointvalues = self.computeGrasp()
        self.showgrasps(grasps, jointvalues)

Class Definitions

class openravepy.examples.fastgraspingthreaded.FastGraspingThreaded(robot, target)[source]
callGraspThreaded(approachrays, standoffs, preshapes, rolls, manipulatordirections=None, target=None, transformrobot=True, onlycontacttarget=True, tightgrasp=False, graspingnoise=None, ngraspingnoiseretries=None, forceclosurethreshold=None, avoidlinks=None, collisionchecker=None, translationstepmult=None, numthreads=None, startindex=None, maxgrasps=None, checkik=False, friction=None)[source]

See GraspThreaded

computeGrasp()[source]
showgrasps(grasps, jointvalues)[source]
openravepy.examples.fastgraspingthreaded.main(env, options)[source]

Main example code.

openravepy.examples.fastgraspingthreaded.run(*args, **kwargs)[source]

Command-line execution of the example.

Parameters:args – arguments for script to parse, if not specified will use sys.argv

Questions/Feedback

Having problems with OpenRAVE?