Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
tutorials:intermediate:semantic_environment_map [2016/01/15 16:27] gkazhoyatutorials:intermediate:semantic_environment_map [2016/06/14 13:04] – [Setting up] gkazhoya
Line 65: Line 65:
  
 <code lisp> <code lisp>
-SEMANTIC-MAP-COSTMAP> (setf cram-transforms-stamped:*fixed-frame* "map")+SEMANTIC-MAP-COSTMAP> (setf cram-tf:*fixed-frame* "map")
 SEMANTIC-MAP-COSTMAP>  SEMANTIC-MAP-COSTMAP> 
 (prolog:def-fact-group costmap-metadata () (prolog:def-fact-group costmap-metadata ()
Line 76: Line 76:
   (<- (location-costmap:costmap-in-reach-distance 0.9))   (<- (location-costmap:costmap-in-reach-distance 0.9))
   (<- (location-costmap:costmap-reach-minimal-distance 0.1)))   (<- (location-costmap:costmap-reach-minimal-distance 0.1)))
-SEMANTIC-MAP-COSTMAP> (roslisp-utilities:startup-ros)+SEMANTIC-MAP-COSTMAP> (roslisp:start-ros-node "sem_map_lisp")
 </code> </code>
  
Line 172: Line 172:
 Now, let's use the location costmap mechanism to ground locations on or in objects: Now, let's use the location costmap mechanism to ground locations on or in objects:
 <code lisp> <code lisp>
 +SEMANTIC-MAP-COSTMAP> (reference (make-designator :location '((:in "Refrigerator"))))
 +#<CL-TRANSFORMS-STAMPED:POSE-STAMPED 
 +   FRAME-ID: "map", STAMP: 0.0
 +   #<3D-VECTOR (1.3000001907348633d0 -0.9499998092651367d0 0.53999999538064d0)>
 +   #<QUATERNION (0.0d0 0.0d0 0.0d0 1.0d0)>>
 +</code>
 +{{ :tutorials:intermediate:in-fridge.png?direct&600 |}}
 +The big red dot is the location sampled for this designator.
  
 +If we want a location on a specific object, not on all objects of a certain type, we can specify that using the '':name'' key:
 +<code lisp>
 +SEMANTIC-MAP-COSTMAP> (reference (make-designator :location '((:on "Cupboard")
 +                                                              (:name "kitchen_island"))))
 +#<CL-TRANSFORMS-STAMPED:POSE-STAMPED 
 +   FRAME-ID: "map", STAMP: 0.0
 +   #<3D-VECTOR (-0.6999998092651367d0 1.0500001907348633d0 0.8500000238418579d0)>
 +   #<QUATERNION (0.0d0 0.0d0 0.0d0 1.0d0)>>
 </code> </code>
 +{{ :tutorials:intermediate:location_on_kitchen_island.png?direct&1000 |}}
 +The marker array in RViz show a uniform distribution of all possible locations that satisfy the symbolic constraint in the designator.