Browse Source

Update README.md

Adam Dąbrowski 2 years ago
parent
commit
ce656324fc
1 changed files with 56 additions and 40 deletions
  1. 56 40
      README.md

+ 56 - 40
README.md

@@ -21,11 +21,28 @@ The integration is realized through [ROS 2 Gem for O3DE](https://github.com/Robo
 - **Apples**
     - Thousands of apples!
 
+## Simulation scenes (levels)
+
+### Main Level
+
+The main scene of the demo is set in an apple orchard surrounded by a countryside. The orchard is managed by the Apple
+Kraken.
+
+The main level is rather performance intensive.
+
+The Apple Kraken is a four-wheeled robot assigned the task of navigating around the orchard, collecting apples and
+storing them in its basket.
+
+### Playground Level
+
+The playground scene is much lighter and can be used to quickly prototype with Kraken. There is only a couple
+of apple trees and the robot itself.
+
 # How to build the project and its dependencies
 
-## Requirements
+# Requirements
 
-### Platforms
+## Platforms
 
 The project supports the following platforms:
 
@@ -34,7 +51,7 @@ The project supports the following platforms:
 
 💡 ***Note:*** This demo is **not supported on Windows!** 
 
-### O3DE
+## O3DE
 
 1. Refer to the [O3DE System Requirements](https://www.o3de.org/docs/welcome-guide/requirements/) documentation to make
    sure that the system/hardware requirements are met.
@@ -54,7 +71,7 @@ The following commands should prepare O3DE:
 ~/o3de$ scripts/o3de.sh register --this-engine
 ```
 
-### ROS 2 Gem
+## ROS 2 Gem
 
 This project uses the [ROS 2 Gem](https://github.com/RobotecAI/o3de-ros2-gem).
 Please make sure to follow the installation guide
@@ -66,12 +83,12 @@ Note that the Gem instructions include installation of ROS 2 with some additiona
 
 The Gem is open to your contributions!
 
-#### Registering the Gem
+### Registering the Gem
 
 During the step above, make sure to register the Gem in the engine:
 `scripts/o3de.sh register --gem-path <PATH_TO_CLONED_ROS2_GEM>`
 
-### Additional ROS 2 packages**
+### Additional ROS 2 packages
 
 The additional packages need to be installed. Use the following command:
 
@@ -95,9 +112,11 @@ Currently we are observing issues when running navigation with FastDDS (the defa
 export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
 ```
 
-### Build this project
+# Building this project
+
+## Build steps
 
-1. Clone it:
+1. Clone this project:
 
 ```
 git clone https://github.com/aws-lumberyard/ROSConDemo.git
@@ -127,7 +146,7 @@ cmake -B build/linux -G"Ninja Multi-Config" -DLY_DISABLE_TEST_MODULES=ON
 cmake --build build/linux --config profile --target ROSConDemo Editor AssetProcessor ROSConDemo.Assets
 ```
 
-### Running the project
+## Launching the Editor
 
 
 Launch the O3DE Editor (in the Project directory):
@@ -136,43 +155,34 @@ Launch the O3DE Editor (in the Project directory):
 build/linux/bin/profile/Editor
 ```
 
-## Levels
-
-
-### Main Level
-
-The main level of the demo is set in an apple orchard surrounded by a countryside. The orchard is managed by the Apple
-Kraken.
-
-The main level is rather performance intensive.
-
-The Apple Kraken is a four-wheeled robot assigned the task of navigating around the orchard, collecting apples and
-storing them in its basket.
-
-### Playground Level
+# Running the demo scenario
 
-The playground level is much lighter and can be used to quickly prototype with Kraken. There is only a couple
-of apple trees and the robot itself.
+You can try out the demo scenario as presented during ROSCon 2022. Take the following steps:
 
-## Apple Kraken spawning instructions
+1. Launch the Editor and select the Main level. Allow it to load.
+2. Run the simulation with Ctrl-G` or by pressing the Play button in the Editor. When it loads, you should be able to see the Apple Kraken.
+3. Once the simulation is running, start the [navigation stack](https://github.com/RobotecAI/o3de_kraken_nav). If you followed all the instructions, launch it with `ros2 launch o3de_kraken_nav navigation.launch.py`. You should see a new Rviz2 window.
+4. Using RViz2, set the navigation goal using a widget in the toolbar (2D Goal Pose). You need to click and drag to indicate direction the robot will be facing. Make sure to set the goal next to an apple tree, to have the tree on the right side. Not too close, not too far. You can set subsequent goals for the robot to move around.
+5. Once the robot arrives and stops next to the tree, you can [trigger apple gathering](#triggering-apple-gathering).
+6. Either wait for the robot to complete its job (gather all reachable apples) or cancel the gathering through the `/cancel_apple_gathering` service.
+7. Select another navigation goal for the robot.
+8. [Spawn another Apple Kraken](#spawn-more-krakens).
 
-Please read the following section on [Robot Spawner](https://github.com/RobotecAI/o3de-ros2-gem/blob/development/docs/guides/ros2-gem.md#spawner).
+## Controlling the Apple Kraken
 
-To spawn a new Apple Kraken, you can used named points (provided by a Spawner Component) or custom poses. An example call:
+### Navigation
 
-```
-ros2 service call /spawn_entity gazebo_msgs/srv/SpawnEntity '{name: 'apple_kraken', initial_pose: {position:{ x: 4, y: 4, z: 0.2}, orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}}}'
-```
+To run ROS 2 navigation stack with this Project, please use this [repo](https://github.com/RobotecAI/o3de_kraken_nav) for necessary instructions and packages.
 
-## Triggering Apple Gathering
+### Triggering Apple Gathering
 
 Check available services in a terminal using this command:
 
 - `ros2 service list`
 
-If your simulation is running, you should be able to see the apple gathering service listed there.
+If your simulation is running, you should be able to see the apple gathering service(s) listed there.
 
-- It could be named `/trigger_apple_gathering`.
+- It should be named `/trigger_apple_gathering`. It might include a namespace.
 
 If Apple Kraken is in position, next to a tree, you can trigger apple gathering with this command:
 
@@ -182,13 +192,19 @@ You can also cancel a gathering operation in progress by calling another service
 
 - `ros2 service call /cancel_apple_gathering std_srvs/srv/Trigger`
 
-## Navigation stack
+### Spawn more Krakens
+
+Please read the following section on [Robot Spawner](https://github.com/RobotecAI/o3de-ros2-gem/blob/development/docs/guides/ros2-gem.md#spawner).
+
+To spawn a new Apple Kraken, you can used named points (provided by a Spawner Component) or custom poses. An example call:
 
-If you wish to run ROS 2 navigation stack with this Project, please use this [repo](https://github.com/RobotecAI/o3de_kraken_nav) for necessary instructions and packages.
+```
+ros2 service call /spawn_entity gazebo_msgs/srv/SpawnEntity '{name: 'apple_kraken', initial_pose: {position:{ x: 4, y: 4, z: 0.2}, orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}}}'
+```
 
-## Troubleshooting
+# Troubleshooting
 
-#### Check-list
+## Check-list
 
 - Is O3DE running ok with an empty or default project?
 - Is ROS 2 installation ok? (check with `ros2 topic pub` etc.)
@@ -206,11 +222,11 @@ If you wish to run ROS 2 navigation stack with this Project, please use this [re
         - note that with multiple robots, these topics will be namespaced.
     - `ros2 service list` should also show several simulation and robot services such as spawning and apple gathering.
 
-#### Other
+## Other
 
 💡 ***Note:*** Take note that these **vision_msgs** are different between Humble and Galactic,
 in particular detection messages which are used by ground truth detector.
 
-## License
+# License
 
 For terms please see the LICENSE*.TXT files at the root of this repository.