Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
tutorials:intermediate:new_actions [2019/01/02 16:07] – [Pick-action-designator] vanessatutorials:intermediate:new_actions [2019/01/02 16:17] – [Pick-action-designator] vanessa
Line 165: Line 165:
  
 ====== Pick-action-designator ====== ====== Pick-action-designator ======
 +
 +
  
 Now it is necessary to define a action designator of the new type for pick-up e.g. Now it is necessary to define a action designator of the new type for pick-up e.g.
  
 <code lisp> <code lisp>
 +;;cram/cram_common/cram_mobile_pick_place_plans/src/pick-place-designators.lisp
 (def-fact-group pick-and-place-plans (desig:action-grounding) (def-fact-group pick-and-place-plans (desig:action-grounding)
   (<- (desig:action-grounding ?action-designator (pick-up ?current-object-desig ?arm   (<- (desig:action-grounding ?action-designator (pick-up ?current-object-desig ?arm
Line 209: Line 212:
      
 </code> </code>
 +
 +
 +
 +First all of the information from the ?action-designator will be extract. After that  all information that are missing from the ?action-designator will be inferred. <code lisp>     (lisp-fun man-int:calculate-object-faces ?object-transform (?facing-robot-face ?bottom-face))
 +    (-> (man-int:object-rotationally-symmetric ?object-type)
 +        (equal ?rotationally-symmetric t)
 +        (equal ?rotationally-symmetric nil))
 +    (-> (spec:property ?action-designator (:grasp ?grasp))
 +        (true)
 +        (and (lisp-fun man-int:get-object-type-grasps ?object-type ?arm ?object-transform ?grasps)
 +             (member ?grasp ?grasps))) </code>   
 +             
 +The system needs to know how the object, that will be picked up, is facing so that the rotation is correctly and the transformation from gripper to object will be properly.
 ====== Get-trajectory ====== ====== Get-trajectory ======
  
  
 ====== Write a Demo====== ====== Write a Demo======