Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tutorials:advanced:unreal [2019/05/16 13:58] – Added Roslaunch, Prerequisites, Installation, Performance hawkin | tutorials:advanced:unreal [2019/06/07 14:55] – hawkin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== | ||
+ | |||
+ | Tested under CRAM version v 0.7.0 | ||
+ | |||
This tutorial will introduce you to the '' | This tutorial will introduce you to the '' | ||
Line 9: | Line 13: | ||
Launch a '' | Launch a '' | ||
<code bash> | <code bash> | ||
- | $ roslaunch | + | $ roslaunch |
$ roslaunch json_prolog json_prolog.launch | $ roslaunch json_prolog json_prolog.launch | ||
$ roslisp_repl | $ roslisp_repl | ||
Line 15: | Line 19: | ||
The bullet world is needed for visualization. The json_prolog node allows us to access information in KnowRob from CRAM. | The bullet world is needed for visualization. The json_prolog node allows us to access information in KnowRob from CRAM. | ||
- | ==== Initialization | + | ==== Usage and Code ==== |
+ | The following will describe what the different files and their functions do, when and how to use them and why they are needed. The explanation will follow the order files in the .asd file. It is separated into a usage and a files section. The usage section will focus on how to get everything | ||
+ | |||
+ | === Usage === | ||
+ | Here we will first explain on what needs to be done to get the robot to execute and perform a pick and place plan in the simulated bullet world. In the next paragraph, we will take a closer look at the individual source files and explain their function. | ||
+ | |||
+ | Before you load the package, navigate to the '' | ||
+ | |||
+ | Now you can load the '' | ||
+ | <code lisp> | ||
+ | CL-USER> | ||
+ | </ | ||
+ | |||
+ | To launch all the necessary components, simply execute: | ||
+ | <code lisp> | ||
+ | CL-USER> (kvr:: | ||
+ | </ | ||
+ | |||
+ | This will create a lisp ros node, clean up the belief-state, | ||
+ | |||
+ | Now, let's execute the pick and place plan: | ||
+ | <code lisp> | ||
+ | CL-USER> (cram-pr2-projection: | ||
+ | </ | ||
+ | With this call we first say that we want to use the simulated bullet-world PR2 robot instead of the real one, and then we simply call the demo. The demo will read out the VR episode data and extract the positions of the objects that have been manipulated, | ||
+ | |||
+ | |||
+ | === Code === | ||
+ | == mesh-list.lisp == | ||
+ | Contains a list of all the meshes which we want to spawn based on their locations in the semantic map. Some of them are commented out, e.g. walls, lamps and the objects we interact with, in order to keep the bullet world neat and clean. In unreal however, the walls and lamps are being spawned. We simply currently don't need them in bullet. | ||
+ | |||
+ | == mapping-urdf-semantic.lisp == | ||
+ | Mapps the urdf kitchen to the semantic map, since they differ in how some furniture is organized and called. | ||
+ | |||
+ | == init.lisp | ||
TODO | TODO | ||
+ | == queries.lisp == | ||
+ | TODO | ||
+ | == query-based-calculations.lisp == | ||
+ | TODO | ||
+ | == designator-integration.lisp == | ||
+ | TODO | ||
+ | == fetch-and-deliver-based-demo.lisp == | ||
+ | TODO | ||
==== Importing new episode data into MongoDB and KnowRob(Additional information) ==== | ==== Importing new episode data into MongoDB and KnowRob(Additional information) ==== | ||
In order for us to be able to query data for information, | In order for us to be able to query data for information, |