Grasping

Responsible partner: NEO

Description

Grasping skill is used for grasping of clothes from table (slip with gripper under the garment).

Preconditions

  • Position of table, from which is clothes picked up (especially its height), has to be precisely calibrated because of potencially very small distance of gripper from this table.
  • Garment mustn't touch the edge of the table.

Inputs

  1. arm (string)
    - specify used arm (and appropriate xtion) { r1, r2 }
  2. table_desk (string)
    - the name of the table desk where garment is located { t1, t2, t3 }

Outputs

  1. success (bool)
    - action completed successfully { true, false }
  2. error_message (string)
    - description of error, if success = false
    {XTION_ERROR, MOVE_XTION_ERROR, SEGMENT_ERROR, CONTOURS_ERROR, GRASP_ERROR, HOLD_ERROR}

Failure conditions, recovery from failure

  • Xtion not connected
    - start / restart Xtion driver and run action again
  • image from Xtion not captured
    - start / restart Xtion driver and run action again
  • segmentation of Xtion image failed
    - if segmentation is not running, start segmentation service and run action again
  • suitable garment contour not found in segmented image
    - run PickUp action, position of garment on the table is not suitable for Grasping action
  • suitable grasping point (available for the robot gripper) not found in reasonable time
    - run PickUp action, all grasping points are the most probably too far from the robot
  • garment not really grasped - this is detected by tactile sensor
    - run again Grasping action, or run PickUp action

Performance / robustness indicators

  • Time consumption: ~45 seconds