Explorar o código

Updated readmes to include new features, fix typos etc. (#580)

* Updated readmes to include new features, fix typos etc.
* Update Gems/ROS2/README.md
---------
Signed-off-by: Adam Dabrowski <[email protected]>
Co-authored-by: Paweł Budziszewski <[email protected]>
Adam Dąbrowski hai 1 ano
pai
achega
dd3d4f3ef3

+ 29 - 32
Gems/ROS2/README.md

@@ -1,53 +1,50 @@
-# O3DE ROS2 Gem
+# O3DE ROS 2 Gem
 
-With the ROS2 Gem you can develop robotic simulations with [ROS (Robot Operating System) 2](https://www.ros.org/) in Open 3D Engine (O3DE).
+With the ROS 2 Gem you can develop robotic simulations with [ROS (Robot Operating System) 2](https://www.ros.org/) in [Open 3D Engine (O3DE)](https://o3de.org).
 
-Access the the whole ROS2 Gem documentation by clicking [here](https://www.o3de.org/docs/user-guide/interactivity/robotics/). Other sections in this README link to specific parts of the provided documentation.
+### Platform
+The Gem is tested with ROS 2 Humble and Iron on Ubuntu 22.04. ROS 2 Jazzy support will be available on distro release day. 
+
+>> The Gem is not available for Windows and does not support ROS 1.
+
+## Installation
+
+Refer to [this part of the documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/project-configuration/) to learn how to create a new project with the ROS 2 Gem.
+
+## Documentation
+
+A great place to start learning about this Gem is the [O3DE Robotics Documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/).
 
 ## Features
 
-* Direct and natural support of ROS2 ecosystem:
-  * No bridges. Your simulation node will function as any other ROS2 node.
-    * This is also good for performance
-  * Easy way to include ROS2 dependencies.
+* Direct and natural support of ROS 2 ecosystem:
+  * No bridges. Your simulation node will function as any other ROS 2 node. You can write ROS 2 code in simulation! 
+    * This is also good for performance.
+  * Easy way to include ROS 2 dependencies.
+  * "Just works" with custom messages, services and actions.
 * Sensors:
-  * Sensor Component serving as a handy abstraction.
-  * Example implementations of Lidar, Camera, IMU sensors.
-    * Including a few Assets and prefabs which are ready to use. 
+  * Customizable sensors: Lidar3D, Lidar2D, Camera, IMU, Odometry, GNSS, Contact.
+    * Easy to implement other sensors through handy abstractions.
+* Robot control and dynamics components:
+  * A quick to use method of controlling your mobile robot with Twist or Ackermann messages.
+  * Control and state components for joint systems, such as robotic manipulator arms.
+  * Vacuum and finger grippers.
+* Robot Importer feature working with `URDF` and `SDFormat` (including `.xacro` and `.world` files)
+  * Plugin support which allows you to import robots with sensors already there!
 * Automated handling of:
   * Simulation time, publishing `/clock` supporting non-real time.
   * Publishing of transformation frames (`/tf`, `/tf_static`).
   * Validation for topic and namespace names.
-* Robot Control Component:
-  * A quick to use method of controlling your robot with Twist messages.
-  * Can be used with custom LUA scripting. 
 
 For a "feel" of these features, see an [example project](#example-project) which uses this Gem to run navigation stack.
 
-## Example project
-
-You can test the O3DE ROS2 Gem with the [Robot Vacuum](https://github.com/o3de/RobotVacuumSample) project. It will allow you to run a robot navigation simulation. All necessary assets are included.
-
-## Installation
-
-Refer to [this part of the documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/project-configuration/) to configure your project with the ROS2 Gem.
-
-
-## Learn about ROS2 Gem
-
-Visit [this part of the documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/concepts-and-components-overview/) to learn about the ROS2 Gems Concepts and Structure. Additionally you can learn about ROS 2 Concepts [here](https://docs.ros.org/en/humble/Concepts.html).
-
-## How to create your own robotic simulation
-
-Refer [here](https://www.o3de.org/docs/user-guide/interactivity/robotics/creating-robotic-simulation/) to access a list of steps guiding you through the creation of your own simulation.
-
 ## Importing robots
 
-Access [this part](https://www.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/) of the documentation to learn about importing robots from common formats such as the [Unified Robot Description Format (URDF)](http://wiki.ros.org/urdf). 
+Please refer to [Robot Importer documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/).
 
 ## Troubleshooting
 
-If you have any problems with the ROS2 Gem, visit [here](https://www.o3de.org/docs/user-guide/interactivity/robotics/troubleshooting/) for troubleshooting guides and suggestions.
+See [Troubleshooting guide](https://www.o3de.org/docs/user-guide/interactivity/robotics/troubleshooting/).
 
 ## User Guides
 

+ 6 - 6
Gems/RosRobotSample/README.md

@@ -1,9 +1,9 @@
-# ROS2 Robot Sample
+# ROS 2 Robot Sample
 
-This gem contains a sample robot asset, ready to be used with the ROS2 Gem. 
+This gem contains a sample robot asset, ready to be used with the ROS 2 Gem. 
 
-The robot is delivered as a ready to use prefab containing models, physics and following ROS components:
-- ROS2 Frame
-- ROS2 Robot Control
+The robot is delivered as a ready to use prefab containing models, physics and following ROS 2 components:
+- Frame
+- Robot Control
 - Twist Control
-- ROS2 Lidar Sensor
+- Lidar Sensor

+ 1 - 1
Gems/WarehouseAssets/README.md

@@ -10,7 +10,7 @@ This gem contains a set of models and prefabs which can be used to create a ware
 
 ## Contents
 
-All of the contents of this gem reside in the folder `Assets`. It comprises 2 sub-folders:
+All the contents of this gem reside in the folder `Assets`. It comprises 2 sub-folders:
 
 - `assets` containing models, textures, and material definitions,
 - `Prefabs` containing prefabs that can be used to build the scene.

+ 0 - 13
Gems/WarehouseSample/README.md

@@ -1,13 +0,0 @@
-# Warehouse Sample
-
-This gem contains a sample warehouse scene, suitable for the ROS robotic simulations. 
-
-The gem contains:
-- `Warehouse.fbx` mesh asset
-- `Terrain.fbx` mesh asset
-- All necessary materials and textures.
-
-Setting the scene - tips:
-1. The `Warehouse` and `Terrain` assets should be located in the same coordinates. It is recommended to create the Terrain as a child of the Warehouse and set its translation and rotation to `0`.
-2. The gem contains all the necessary materials. Names of materials correspond model materials in the fbx meshes.
-3. Both fbx meshes can be used as PhysX colliders.

+ 7 - 5
Templates/Ros2FleetRobotTemplate/README.md

@@ -5,8 +5,10 @@ This project is a template designed to help you quickly start simulating robots
 
 This template focuses on use-cases with multiple robots in environments such as warehouses and fulfillment centers.
 The warehouse assets used in the template are modular and well-suited for reconfiguration to match a custom warehouse.
-If your simulation does not match this and you would like to start with a simple and versatile template, consider using a more generic template:
-- [ROS 2 Project Template](https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2ProjectTemplate).
+
+To learn about other robotic templates, please refer to documentation of  
+[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
+
 
 ![Template picture](Screenshots/fleet_template.png)
 
@@ -102,9 +104,9 @@ To understand more about transformations, see ROS 2 navigation [documentation](h
 ## Using your robots in the simulation
 
 You can also use your robots in the simulation. To do so, you need to:
-- [import a robot](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/) from existing URDF file,
+- [import a robot](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/) from URDF or SDFormat file,
   - or create a robot from scratch in a O3DE editor using ROS 2 gem components (see [Frames](https://docs.o3de.org/docs/user-guide/interactivity/robotics/concepts-and-components-overview)),
-- make sure that your robot has a 2D scanner attached 
+- make sure that your robot has a 2D lidar attached 
   - and publishes scans on `scan` topic (see [Sensors](https://docs.o3de.org/docs/user-guide/interactivity/robotics/concepts-and-components-overview/#robot-control)),
 - is controlled via the `cmd_vel` topic (see [Robot Control](https://docs.o3de.org/docs/user-guide/interactivity/robotics/concepts-and-components-overview/#robot-control)).
 
@@ -158,6 +160,6 @@ cd Examples/ros2_ws
 ros2 launch o3de_fleet_nav o3de_fleet_nav_launch.py
 ```
 
-Few RViz2 windows should appear. You can use the "Nav2 Goal" button to send goal to the robot.
+Several RViz2 windows should appear. You can use the "Nav2 Goal" button to send goal to the robot.
 
 ![RViz2](Screenshots/fleet_rviz.png)

+ 12 - 8
Templates/Ros2ProjectTemplate/README.md

@@ -1,13 +1,17 @@
 # Robotic Simulation Project Template for ROS 2
 
-Welcome to Robotic Simulation template for ROS 2 projects! 
-This project is a template designed to help you quickly start simulating robots in Open 3D Engine (O3DE) with Robot Operating System (ROS) 2.
+Welcome to Robotic Simulation template for ROS 2 projects!
+It is designed to help you quickly start simulating robots in Open 3D Engine (O3DE) with Robot Operating System (ROS) 2.
 
-An example ROS2 navigation stack launch file is bundled with the template.
+This template has the following characteristics:
+- It is the simplest and using the least resources among templates.
+- Comes with Husarion ROSBot XL model, equipped with lidar and a differential drive.
+- The interior scene does not look photorealistic but is quite simple.
 
-This template focuses on ease of use and versatility.
-If you have a use-case more similar to fleets of robots in a fulfillment center, there is another template that might fit you better:
-- [ROS 2 Fleet Template](https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2FleetRobotTemplate).
+An example ROS 2 navigation stack launch file is bundled with the template.
+
+To learn about other robotic templates, please refer to documentation of  
+[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
 
 ![Template picture](Screenshots/template_in_use.png)
 
@@ -16,7 +20,7 @@ If you have a use-case more similar to fleets of robots in a fulfillment center,
 Please follow the instructions in [ROS 2 Gem documentation](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/project-configuration/)
 to install all required dependencies and create your project with a template (make sure to use chose this template during the process).
 
-## ROS integration example
+## ROS 2 integration example
 
-You can try out an example of ROS integration with the navigation stack.
+You can try out an example of ROS 2 integration with the navigation stack.
 Follow the [instructions](https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2ProjectTemplate/Template/Examples/slam_navigation/README.md) to navigate your robot with ROS 2!

+ 8 - 3
Templates/Ros2RoboticManipulationTemplate/README.md

@@ -1,14 +1,19 @@
-# ROS2  Robotic Manipulation Template
+# ROS 2 Robotic Manipulation Template
 
 This project is a template designed to help you quickly start simulating robotic arms in Open 3D Engine (O3DE) with Robot Operating System (ROS) 2.
 
 This template focuses on robotic arm manipulation with ROS 2 and [MoveIt 2](https://moveit.picknik.ai/main/index.html).
 
+To learn about other robotic templates, please refer to documentation of  
+[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
+
+To understand how the manipulation feature works in O3DE, please refer to [Joints Manipulation Documentation](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/joints-manipulation/).
+
 ## Prerequisites 
 
 Make sure that your system meets [Requirements](https://development--o3deorg.netlify.app/docs/welcome-guide/requirements/).
 
-Install ROS2 dependencies for this template:
+Install ROS 2 dependencies for this template:
 ```bash
 sudo apt install ros-${ROS_DISTRO}-moveit ros-${ROS_DISTRO}-moveit-resources ros-${ROS_DISTRO}-depth-image-proc
 ```
@@ -78,7 +83,7 @@ ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur10 use_sim_time:=tru
 ## Working with custom manipulator
 
 ### Robot importing 
-Import a robot using URDF or XACRO into O3DE using the provided [tutorial](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/).  
+Import a robot using URDF, XACRO or SDFormat into O3DE using the provided [tutorial](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/).  
 During importing check the ```Use articulation for joints and rigid bodies``` on the last page of the importer.
 
 ### Configuring the robot