Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorials:advanced:unreal-engine [2022/03/08 13:55] – vanessa | tutorials:advanced:unreal-engine [2022/03/08 14:15] (current) – [Spawn objects in Unreal from Cram] vanessa | ||
---|---|---|---|
Line 52: | Line 52: | ||
</ | </ | ||
If the build process wasn't successful, install the missing packages via apt, find missing repositories in the code-iai GitHub group or ask the contributors for help. | If the build process wasn't successful, install the missing packages via apt, find missing repositories in the code-iai GitHub group or ask the contributors for help. | ||
- | ====== Using Cram in Unreal Engine====== | ||
+ | ====== Running the System ====== | ||
+ | Finally, the connection to the ROS network can be established by launching the following nodes. Make sure the workspace is sourced. | ||
+ | |||
+ | <code bash> | ||
+ | #Launch rosbridge for communication between unreal and ROS | ||
+ | roslaunch rosbridge_server rosbridge_websocket.launch | ||
+ | |||
+ | # Launch urobosim world | ||
+ | roslaunch urobosim_ros_config world.launch | ||
+ | </ | ||
+ | |||
+ | Hit the ' | ||
+ | |||
+ | ===== GISKARD ===== | ||
+ | |||
+ | Giskard requires the whole_body_controller topics of the robot. To achieve that, make sure the rosbridge to Unreal is running properly. | ||
+ | |||
+ | <code bash> | ||
+ | roslaunch giskardpy giskardpy_pr2_unreal.launch | ||
+ | </ | ||
+ | |||
+ | This launches Giskards trajectory planner. There may occur one timeout error for the state topic, which is fine for now. | ||
+ | |||
+ | Launch RViz by executing rviz. Add the Robot Model to the scene. Add InteractiveMarkers and choose the topic; if / | ||
+ | |||
+ | ===== CRAM ===== | ||
+ | |||
+ | 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) | ||
+ | |||
+ | cram-pr2-unreal-process-modules (aka pr2-unreal-pms) provides | ||
+ | |||
+ | * An extension to pr2-pms as | ||
+ | * The with-unreal-robot macro uses unreal-detection while using the same manipulation pms as pr2-pms: | ||
+ | * Also a few changes to Giskard' | ||
+ | |||
+ | Note: Remove CATKIN_IGNORE in the cram_pr2 packages and cram_external_interfaces/ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | |||
+ | |||
+ | <code bash> | ||
+ | (pr2-unreal-pms: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ====== 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> | ||
+ | (unreal: | ||
+ | </ |