Differences

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

Link to this comparison view

tutorials:advanced:unreal [2019/05/16 15:58]
hawkin Added Roslaunch, Prerequisites, Installation, Performance
tutorials:advanced:unreal [2019/05/16 20:24] (current)
hawkin files and usage description (started)
Line 15: Line 15:
 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 ​(within Emacs) ====+==== 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 ​ to run and how to execute a demo while the files section will look a bit more in depth into the code, and explain what is going on there.  
 + 
 +=== Usage === 
 +Before you load the package, navigate to the ''​init.lisp''​ file and set the ''​*episode-path*''​ parameter to the path of your episode data. This is important. Otherwise it won't be possible to load the episode data properly. 
 + 
 +Now you can load the ''​cram_knowrob_vr''​ package with: 
 +<code lisp> 
 +CL-USER>  ​(ros-load:​load-system "​cram_knowrob_vr"​ :​cram-knowrob-vr) 
 +</​code>​ 
 + 
 +To launch all the necessary components, simply execute:  
 +<code lisp> 
 +CL-USER> (kvr::​init-full-simulation '​("​ep1"​)) 
 +</​code>​ 
 + 
 +This will create a lisp ros node, clean up the belief-state,​ load the episodes that get passed to the init function as a list of strings, spawn the semantic map of the episode and the items and initialize the location costmap. In the code section below it will be explained in more detail, what is loaded when. 
 + 
 +=== 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,​ we first need to import that data into KnowRob and MongoDB. In order for us to be able to query data for information,​ we first need to import that data into KnowRob and MongoDB.