| Action | Precondition | CSP constraint |
| MoveBase | robotAt (Binit), objectAt (object03, Oinit), | reachablaBasePose (Breach) | ForPickUp | reachableBasePose (pr2, object03, Oinit, Breach), | validBasePath (Binit, Breach) | validBasePath (pr2, Binit, Breach) |
| PickUp General | empty (hand), robotAt (Breach), objectAt (obj, Oinit), handAt (rgripper, Hinit), | graspableHandPose (Hgrasp, Breach) | graspableHandPose (rgripper, object03, Oinit, Breach, Hgrasp), | preGraspableHandPose (Hpre, Hgrasp, Breach) | preGraspableHandPose (rgripper, object03, Oinit, Hgrasp, Hpre), | postGraspableHandPose (Hpost, Hgrasp, Breach) | postGraspableHandPose (rgripper, object03, Oinit, Hgrasp, Hpost), | validHandPath (Hinit, Hpre, Breach) | validHandPath (rgripper, Breach, Hinit, Hpre), | validHandPath (Hpre, Hgrasp, Breach) | validHandPath (rgripper, Breach, Hpre, Hgrasp), | validHandPath (Hgrasp, Hpost, Breach) | validHandPath (rgripper, Breach, Hgrasp, Hpost), | validHandPath (Hpost, Hinit, Breach) | validHandPath (rgripper, Breach, Hpost, Hinit) |
| MoveBase | robotAt (Breach), graspedBy (object03, rgripper), | placeableBasePose (Bplace) | ForPutDown | placeableBasePose (pr2, object03, table02, Bplace), | validBasePath (Breach, Bplace) | validBasePath (pr2, Breach, Bplace) |
| PutDown General | graspedBy (object03, rgripper), | placeableObjectPose (Oplace) | robotAt (Bplace), handAt (rgripper, Hinit), | placeableHandPose (Bplace, Oplace, Hplace) | placeableObjectLocation (object03, table02, Oplace), | lowerableHandPose (Bplace, Oplace, Hplace, Hlow) | placeableHandPose (rgripper, object03, Bplace, Oplace, Hplace), | retractableHandPose (Bplace, Oplace, Hplace, Hret) | lowerableHandPose (rgripper, object03, Bplace, Oplace, Hplace, Hlow), | validHandPath (Bplace, Hinit, Hlow) | retractableHandPose (rgripper, object03, Bplace, Oplace, Hplace, Hret), | validHandPath (Bplace, Hlow, Hplace) | validHandPath (rgripper, Bplace, Hinit, Hlow), | validHandPath (Bplace, Hplace, Hret) | validHandPath (rgripper, Bplace, Hlow, Hplace), | validHandPath (Bplace, Hret, Hinit) | validHandPath (rgripper, Bplace, Hplace, Hret), | validHandPath (rgripper, Bplace, Hret, Hinit) |
|
|