Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorials:intermediate:fetch_deliver_plans [2019/07/16 11:04] – [Atomic actions] tlipps | tutorials:intermediate:fetch_deliver_plans [2022/07/04 12:31] (current) – [search-for-object] khoshnam | ||
---|---|---|---|
Line 79: | Line 79: | ||
<code lisp> | <code lisp> | ||
- | (urdf-proj: | + | CL-USER> |
(let ((?pose (cl-transforms-stamped: | (let ((?pose (cl-transforms-stamped: | ||
" | " | ||
Line 176: | Line 176: | ||
<code lisp> | <code lisp> | ||
- | CL-USER> (pr2-proj: | + | CL-USER> (urdf-proj: |
- | | + | |
- | (let ((?pose (cl-transforms-stamped: | + | (let ((?pose (cl-transforms-stamped: |
- | " | + | " |
- | (cl-transforms: | + | (cl-transforms: |
- | (cl-transforms: | + | (cl-transforms: |
- | (desig:an action | + | (desig:an action |
- | (type looking) | + | (type looking) |
- | (target (desig:a location (pose ? | + | (target (desig:a location (pose ? |
</ | </ | ||
Line 190: | Line 190: | ||
<code lisp> | <code lisp> | ||
- | CL-USER> (pr2-proj: | + | CL-USER> (urdf-proj: |
- | | + | |
- | (desig:an action | + | (desig:an action |
- | (type detecting) | + | (type detecting) |
- | (object (desig:an object (type cup)))))) | + | (object (desig:an object (type cup)))))) |
</ | </ | ||
| | ||
Line 200: | Line 200: | ||
<code lisp> | <code lisp> | ||
- | CL-USER> (pr2-proj: | + | CL-USER> (urdf-proj: |
- | | + | |
- | | + | |
- | (desig:an action | + | (desig:an action |
- | (type picking-up) | + | (type picking-up) |
- | (object ?obj))))) | + | (object ?obj) |
- | </ | + | (arm left) |
- | + | (grasp | |
- | The missing information is inferred automatically. | + | |
- | + | ||
- | But, we can specify the arm explicitly: | + | |
- | + | ||
- | <code lisp> | + | |
- | CL-USER> (pr2-proj: | + | |
- | (let ((?obj *)) | + | |
- | | + | |
- | (desig:an action | + | |
- | (type picking-up) | + | |
- | (object ?obj) | + | |
- | (arm left))))) | + | |
- | </ | + | |
- | + | ||
- | And the grasp type as well: | + | |
- | + | ||
- | <code lisp> | + | |
- | (pr2-proj: | + | |
- | (let ((?obj *)) | + | |
- | (cram-executive: | + | |
- | (desig:an action | + | |
- | (type picking-up) | + | |
- | (object ?obj) | + | |
- | (arm left) | + | |
- | (grasp | + | |
</ | </ | ||
+ | |||
| | ||
Object got attached through an event, so now it will always follow the robot: | Object got attached through an event, so now it will always follow the robot: | ||
<code lisp> | <code lisp> | ||
- | CL-USER> (pr2-proj: | + | CL-USER> (urdf-proj: |
- | (cram-executive: | + | |
- | | + | |
- | " | + | |
- | (cl-transforms: | + | |
- | (cl-transforms: | + | (cram-executive: |
- | (desig:an action | + | |
- | (type going) | + | (type going) |
- | (target (desig:a location | + | (target (desig:a location |
- | | + | |
</ | </ | ||
Line 253: | Line 229: | ||
<code lisp> | <code lisp> | ||
- | CL-USER> (pr2-proj: | + | CL-USER> (urdf-proj: |
- | | + | |
- | (desig:an action | + | (desig:an action |
- | (type placing) | + | (type placing) |
- | (arm left)))) | + | (arm left)))) |
</ | </ | ||
| | ||
Line 266: | Line 242: | ||
We do this by loading the packages '' | We do this by loading the packages '' | ||
<code lisp> | <code lisp> | ||
- | (ros-load: | + | (ros-load: |
- | (ros-load: | + | (ros-load: |
</ | </ | ||
... and call the following functions: | ... and call the following functions: | ||
- | < | + | < |
(in-package : | (in-package : | ||
(roslisp-utilities: | (roslisp-utilities: | ||
Line 322: | Line 298: | ||
;; location desigs can turn NILL in the course of execution | ;; location desigs can turn NILL in the course of execution | ||
;; but should not be passed as NILL to start with. | ;; but should not be passed as NILL to start with. | ||
- | (type (or desig: | + | (type (or desig: |
" | " | ||
If the object is not there or navigation location is unreachable, | If the object is not there or navigation location is unreachable, |