Skip to content

Commit dd3d4f3

Browse files
Updated readmes to include new features, fix typos etc. (o3de#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]>
1 parent 23774c5 commit dd3d4f3

File tree

7 files changed

+63
-68
lines changed

7 files changed

+63
-68
lines changed

Gems/ROS2/README.md

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,50 @@
1-
# O3DE ROS2 Gem
1+
# O3DE ROS 2 Gem
22

3-
With the ROS2 Gem you can develop robotic simulations with [ROS (Robot Operating System) 2](https://www.ros.org/) in Open 3D Engine (O3DE).
3+
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).
44

5-
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.
5+
### Platform
6+
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.
7+
8+
>> The Gem is not available for Windows and does not support ROS 1.
9+
10+
## Installation
11+
12+
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.
13+
14+
## Documentation
15+
16+
A great place to start learning about this Gem is the [O3DE Robotics Documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/).
617

718
## Features
819

9-
* Direct and natural support of ROS2 ecosystem:
10-
* No bridges. Your simulation node will function as any other ROS2 node.
11-
* This is also good for performance
12-
* Easy way to include ROS2 dependencies.
20+
* Direct and natural support of ROS 2 ecosystem:
21+
* No bridges. Your simulation node will function as any other ROS 2 node. You can write ROS 2 code in simulation!
22+
* This is also good for performance.
23+
* Easy way to include ROS 2 dependencies.
24+
* "Just works" with custom messages, services and actions.
1325
* Sensors:
14-
* Sensor Component serving as a handy abstraction.
15-
* Example implementations of Lidar, Camera, IMU sensors.
16-
* Including a few Assets and prefabs which are ready to use.
26+
* Customizable sensors: Lidar3D, Lidar2D, Camera, IMU, Odometry, GNSS, Contact.
27+
* Easy to implement other sensors through handy abstractions.
28+
* Robot control and dynamics components:
29+
* A quick to use method of controlling your mobile robot with Twist or Ackermann messages.
30+
* Control and state components for joint systems, such as robotic manipulator arms.
31+
* Vacuum and finger grippers.
32+
* Robot Importer feature working with `URDF` and `SDFormat` (including `.xacro` and `.world` files)
33+
* Plugin support which allows you to import robots with sensors already there!
1734
* Automated handling of:
1835
* Simulation time, publishing `/clock` supporting non-real time.
1936
* Publishing of transformation frames (`/tf`, `/tf_static`).
2037
* Validation for topic and namespace names.
21-
* Robot Control Component:
22-
* A quick to use method of controlling your robot with Twist messages.
23-
* Can be used with custom LUA scripting.
2438

2539
For a "feel" of these features, see an [example project](#example-project) which uses this Gem to run navigation stack.
2640

27-
## Example project
28-
29-
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.
30-
31-
## Installation
32-
33-
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.
34-
35-
36-
## Learn about ROS2 Gem
37-
38-
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).
39-
40-
## How to create your own robotic simulation
41-
42-
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.
43-
4441
## Importing robots
4542

46-
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).
43+
Please refer to [Robot Importer documentation](https://www.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/).
4744

4845
## Troubleshooting
4946

50-
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.
47+
See [Troubleshooting guide](https://www.o3de.org/docs/user-guide/interactivity/robotics/troubleshooting/).
5148

5249
## User Guides
5350

Gems/RosRobotSample/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# ROS2 Robot Sample
1+
# ROS 2 Robot Sample
22

3-
This gem contains a sample robot asset, ready to be used with the ROS2 Gem.
3+
This gem contains a sample robot asset, ready to be used with the ROS 2 Gem.
44

5-
The robot is delivered as a ready to use prefab containing models, physics and following ROS components:
6-
- ROS2 Frame
7-
- ROS2 Robot Control
5+
The robot is delivered as a ready to use prefab containing models, physics and following ROS 2 components:
6+
- Frame
7+
- Robot Control
88
- Twist Control
9-
- ROS2 Lidar Sensor
9+
- Lidar Sensor

Gems/WarehouseAssets/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This gem contains a set of models and prefabs which can be used to create a ware
1010
1111
## Contents
1212

13-
All of the contents of this gem reside in the folder `Assets`. It comprises 2 sub-folders:
13+
All the contents of this gem reside in the folder `Assets`. It comprises 2 sub-folders:
1414

1515
- `assets` containing models, textures, and material definitions,
1616
- `Prefabs` containing prefabs that can be used to build the scene.

Gems/WarehouseSample/README.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

Templates/Ros2FleetRobotTemplate/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ This project is a template designed to help you quickly start simulating robots
55

66
This template focuses on use-cases with multiple robots in environments such as warehouses and fulfillment centers.
77
The warehouse assets used in the template are modular and well-suited for reconfiguration to match a custom warehouse.
8-
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:
9-
- [ROS 2 Project Template](https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2ProjectTemplate).
8+
9+
To learn about other robotic templates, please refer to documentation of
10+
[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
11+
1012

1113
![Template picture](Screenshots/fleet_template.png)
1214

@@ -102,9 +104,9 @@ To understand more about transformations, see ROS 2 navigation [documentation](h
102104
## Using your robots in the simulation
103105

104106
You can also use your robots in the simulation. To do so, you need to:
105-
- [import a robot](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/) from existing URDF file,
107+
- [import a robot](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/) from URDF or SDFormat file,
106108
- 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)),
107-
- make sure that your robot has a 2D scanner attached
109+
- make sure that your robot has a 2D lidar attached
108110
- and publishes scans on `scan` topic (see [Sensors](https://docs.o3de.org/docs/user-guide/interactivity/robotics/concepts-and-components-overview/#robot-control)),
109111
- 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)).
110112

@@ -158,6 +160,6 @@ cd Examples/ros2_ws
158160
ros2 launch o3de_fleet_nav o3de_fleet_nav_launch.py
159161
```
160162

161-
Few RViz2 windows should appear. You can use the "Nav2 Goal" button to send goal to the robot.
163+
Several RViz2 windows should appear. You can use the "Nav2 Goal" button to send goal to the robot.
162164

163165
![RViz2](Screenshots/fleet_rviz.png)
Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# Robotic Simulation Project Template for ROS 2
22

3-
Welcome to Robotic Simulation template for ROS 2 projects!
4-
This project is a template designed to help you quickly start simulating robots in Open 3D Engine (O3DE) with Robot Operating System (ROS) 2.
3+
Welcome to Robotic Simulation template for ROS 2 projects!
4+
It is designed to help you quickly start simulating robots in Open 3D Engine (O3DE) with Robot Operating System (ROS) 2.
55

6-
An example ROS2 navigation stack launch file is bundled with the template.
6+
This template has the following characteristics:
7+
- It is the simplest and using the least resources among templates.
8+
- Comes with Husarion ROSBot XL model, equipped with lidar and a differential drive.
9+
- The interior scene does not look photorealistic but is quite simple.
710

8-
This template focuses on ease of use and versatility.
9-
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:
10-
- [ROS 2 Fleet Template](https://github.com/o3de/o3de-extras/tree/development/Templates/Ros2FleetRobotTemplate).
11+
An example ROS 2 navigation stack launch file is bundled with the template.
12+
13+
To learn about other robotic templates, please refer to documentation of
14+
[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
1115

1216
![Template picture](Screenshots/template_in_use.png)
1317

@@ -16,7 +20,7 @@ If you have a use-case more similar to fleets of robots in a fulfillment center,
1620
Please follow the instructions in [ROS 2 Gem documentation](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/project-configuration/)
1721
to install all required dependencies and create your project with a template (make sure to use chose this template during the process).
1822

19-
## ROS integration example
23+
## ROS 2 integration example
2024

21-
You can try out an example of ROS integration with the navigation stack.
25+
You can try out an example of ROS 2 integration with the navigation stack.
2226
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!

Templates/Ros2RoboticManipulationTemplate/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
1-
# ROS2 Robotic Manipulation Template
1+
# ROS 2 Robotic Manipulation Template
22

33
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.
44

55
This template focuses on robotic arm manipulation with ROS 2 and [MoveIt 2](https://moveit.picknik.ai/main/index.html).
66

7+
To learn about other robotic templates, please refer to documentation of
8+
[Robotic templates](https://development--o3deorg.netlify.app/docs/user-guide/interactivity/robotics/overview/#templates).
9+
10+
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/).
11+
712
## Prerequisites
813

914
Make sure that your system meets [Requirements](https://development--o3deorg.netlify.app/docs/welcome-guide/requirements/).
1015

11-
Install ROS2 dependencies for this template:
16+
Install ROS 2 dependencies for this template:
1217
```bash
1318
sudo apt install ros-${ROS_DISTRO}-moveit ros-${ROS_DISTRO}-moveit-resources ros-${ROS_DISTRO}-depth-image-proc
1419
```
@@ -78,7 +83,7 @@ ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur10 use_sim_time:=tru
7883
## Working with custom manipulator
7984

8085
### Robot importing
81-
Import a robot using URDF or XACRO into O3DE using the provided [tutorial](https://docs.o3de.org/docs/user-guide/interactivity/robotics/importing-robot/).
86+
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/).
8287
During importing check the ```Use articulation for joints and rigid bodies``` on the last page of the importer.
8388

8489
### Configuring the robot

0 commit comments

Comments
 (0)