SoMa-Project / ec_grasp_planner

Grasp Planner Based on Environmental Constraint Exploitation
BSD 3-Clause "New" or "Revised" License
7 stars 3 forks source link

Grasp success estimator #40

Closed JannisW closed 5 years ago

JannisW commented 5 years ago

This PR together with https://github.com/SoMa-Project/soma_utils/pull/133 fixes issues https://github.com/SoMa-Project/soma_utils/issues/115. And thus make use of the reactive behavior introduced in PR https://github.com/SoMa-Project/soma_utils/pull/127. To get details on re-plan and re-run see description here https://github.com/SoMa-Project/soma_utils/issues/119.

This PR introduces the grasp success estimator (using the FT-Sensor to estimate mass) into the planner.

Estimator interface

The estimator is a separate ros node and provides the following interface:

For a description of the status codes look at the enum class RESPONSES implemented in grasp_success_estimator.py.

Planner integration

The planner incorporates the grasp success estimator for SurfaceGrasps and WallGrasps in the following way:

Configuration

The reactive behavior can be configured on an per-object basis using the file data/object_param.yaml The attributes that have to be set are reactions and mass

An example can be seen here:

  mango:
    SurfaceGrasp: 
      success: 1.0
      min: [-0.14, -0.1]
      max: [0.14, 0.05]
      reactions: 
        mass_estimation_no_object: REPLAN
        mass_estimation_too_many: REPLAN
    WallGrasp: 
      success: 1.0
      min: [-1000.0, -0.075]
      max: [-0.05, 0.045]
      reactions: 
        mass_estimation_no_object: REPLAN
        mass_estimation_too_many: REPLAN
    EdgeGrasp: {'success': 0}
    mass: {'mean': 0.28052, 'stddev': 0.05958}

Testing the PR

Most of the content of this PR was tested on bottom-3 using the full system. Details as follow:

Further tests wouldn't hurt

Note: This PR also includes an update to the submodule hybrid-automaton-tools-py. It might make sense to merge these changes into the actual reopsitory (See: https://gitlab.tubit.tu-berlin.de/rbo-lab/hybrid-automaton-tools-py/merge_requests/3)