IN THIS ARTICLE
ROS 2 Gem
The ROS 2 Gem uses the Robot Operating System (ROS) to enable robotic simulation in Open 3D Engine (O3DE).
The ROS 2 Gem has the following features:
- Direct and natural support of the ROS 2 ecosystem:
- Does not use any bridges to communicate between ROS and O3DE. A simulation node will function as any other ROS 2 node.
- Enables you to directly include ROS 2 headers and write ROS 2 code in O3DE.
- Having no bridge improves communication performance.
- Custom messages, services, and actions just work!
- Provides an easy way to include ROS 2 dependencies.
- Does not use any bridges to communicate between ROS and O3DE. A simulation node will function as any other ROS 2 node.
- Sensors:
- Are abstracted through the Sensor Component Base, which takes care of the publishing of sensor data and common settings such as frequency.
- Utilities for automated handling of:
- Simulation time: - publishing
/clock
, with support for non-real time. - Computing and publishing of transformation frames (
/tf
,/tf_static
). - Namespaces- allowing multi-robot simulation in O3DE by default!
- Validation for topic and namespace names.
- Dynamic spawning of robots through ROS 2 services.
- Simulation time: - publishing
This Gem is a base for any ROS 2 project. It provides the necessary components and functionality to build robotic simulations effectively. It can be extended with additional features available in ROS 2 Sensors Gem and ROS 2 Controllers Gem.
Related topics
Topic | Description |
---|---|
Robotics in O3DE | Learn about robotics in O3DE, including Gems, Templates and demos to help you get started. |
ROS 2 Gem Concepts and Structure | Overview of the concepts and structure of the ROS 2 Gem, including an overview of its components |
ROS 2 Gem API reference | Generated documentation for ROS 2 Gem’s API reference. |