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
tutorials:advanced:unreal-engine [2022/03/08 14:00] – [Running the System] vanessatutorials:advanced:unreal-engine [2022/03/08 14:15] (current) – [Spawn objects in Unreal from Cram] vanessa
Line 65: Line 65:
  
 Hit the 'Play' button in Unreal. The rosbridge terminal should indicate, that the connection has been established. Also use rostopic list to check, if the controller topics for the robot are published. Hit the 'Play' button in Unreal. The rosbridge terminal should indicate, that the connection has been established. Also use rostopic list to check, if the controller topics for the robot are published.
 +
 +===== GISKARD =====
  
 Giskard requires the whole_body_controller topics of the robot. To achieve that, make sure the rosbridge to Unreal is running properly. Giskard requires the whole_body_controller topics of the robot. To achieve that, make sure the rosbridge to Unreal is running properly.
Line 78: Line 80:
 ===== CRAM ===== ===== CRAM =====
  
-cram-urobosim (aka unrealprovides+cram-unreal provides 
 + 
 +  * A :detecting PM and plan to detect objects from Unreal to put them in Bullet 
 +  * The service clients to spawn and move objects in a running Unreal world (and stubs to extend to further clients) 
 +  * Some unused plans for pouring (feeding-plans)
  
-a :detecting PM and plan to detect objects from Unreal to put them in Bullet 
-the service clients to spawn and move objects in a running Unreal world (and stubs to extend to further clients) 
-some unused plans for pouring (feeding-plans) 
 cram-pr2-unreal-process-modules (aka pr2-unreal-pms) provides cram-pr2-unreal-process-modules (aka pr2-unreal-pms) provides
  
-an extension to pr2-pms as +  * An extension to pr2-pms as 
-the with-unreal-robot macro uses unreal-detectionwhile using the same manipulation pms as pr2-pms:with-real-robot +  * The with-unreal-robot macro uses unreal-detection while using the same manipulation pms as pr2-pms:with-real-robot 
-Also a few changes to giskard's constraints, which seemed to be outdated. Giskard won't work without them.+  Also a few changes to Giskard's constraints, which seemed to be outdated. Giskard won't work without them.
  
-Remove CATKIN_IGNORE in the cram_pr2 packages and cram_external_interfaces/cram_urobosim to build them.+Note: Remove CATKIN_IGNORE in the cram_pr2 packages and cram_external_interfaces/cram_urobosim to build them.
  
-<code bash>+Play the map in Unreal. The PR2 should twitch and wiggle its arms a bit if it's good. If not, check the DemoProject repo ReadMe how to troubleshoot.
  
 +====== Start the Demo ======
 +
 +Startup roslisp_repl. First load cram_pr2_pick_place_demo, then cram_pr2_unreal_process_modules. Start a rosnode with (roslisp-utilities:startup-ros). To start the setting demo, run
 +
 +
 +
 +<code bash>
 +(pr2-unreal-pms:with-unreal-robot
 +   (demo::setting-demo '(:spoon)))
 </code> </code>
 +
 +====== Spawn objects in Unreal from Cram ======
 +Run the same launch files as above, but without giskard. Open Emacs, load cram_urobosim and start a node. Try to spawn an object with
  
 <code bash> <code bash>
 +(unreal:spawn-object :spoon (cl-tf:make-identity-pose))
 </code> </code>