Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorials:intermediate:new_actions [2019/01/02 16:31] – [Get-trajectory] vanessa | tutorials:intermediate:new_actions [2019/01/02 17:46] (current) – [Pick-action-designator] vanessa | ||
---|---|---|---|
Line 2: | Line 2: | ||
When implementing new type of actions, such as placing, pouring or cutting there are 4 important steps to do. | When implementing new type of actions, such as placing, pouring or cutting there are 4 important steps to do. | ||
- | In the following Tutorial it is assumed that the basic knowledge about [[http:// | + | In the following Tutorial it is assumed that the basic knowledge about [[http:// |
====== Atomic-action-designator ====== | ====== Atomic-action-designator ====== | ||
Line 162: | Line 162: | ||
</ | </ | ||
+ | Here also failure-handling takes place. At least all low-level-failures should be caught here. | ||
====== Pick-action-designator ====== | ====== Pick-action-designator ====== | ||
Line 178: | Line 178: | ||
? | ? | ||
? | ? | ||
- | ;; extract | + | </ |
+ | |||
+ | First extract | ||
+ | |||
+ | <code lisp> | ||
(spec: | (spec: | ||
(spec: | (spec: | ||
Line 188: | Line 192: | ||
(man-int: | (man-int: | ||
(lisp-fun man-int: | (lisp-fun man-int: | ||
- | | + | |
+ | </ | ||
+ | |||
+ | Infer missing information like ?grasp type, gripping ? | ||
+ | |||
+ | < | ||
+ | |||
(lisp-fun man-int: | (lisp-fun man-int: | ||
(-> (man-int: | (-> (man-int: | ||
Line 215: | Line 225: | ||
- | First all of the information from the ? | + | |
- | (-> (man-int: | + | |
- | (equal ? | + | |
- | (equal ? | + | |
- | (-> (spec: | + | |
- | (true) | + | |
- | (and (lisp-fun man-int: | + | |
- | | + | |
- | + | ||
- | 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 ====== | ||
Line 316: | Line 317: | ||
The last step is to calculate the base-to-standard-gripper-transform so that a transformation from object-to-standard-gripper to base-to-particular-gripper can be done. | The last step is to calculate the base-to-standard-gripper-transform so that a transformation from object-to-standard-gripper to base-to-particular-gripper can be done. | ||
====== Write a Demo====== | ====== Write a Demo====== | ||
+ | |||
+ | Depending on what the scenario will be a different demo has to take place. In cram/ | ||
+ | |||
+ | All that is needed: | ||
+ | |||
+ | * Launch file with all important nodes. | ||
+ | * Resources includes all .stl and .dae files from the spawned object in the scenario. | ||
+ | * Then a costmap needs to be defined. | ||
+ | * In projection-demo.lisp all the function that will be called in the demo are implemented e.g. place-object | ||
+ | * In demo.lisp the demo is written and trainings-data. |