This documentation is for a prerelease version of O3DE. Click here to switch to the latest release, or select a version from the dropdown.

Version:

ROS 2 Frame Component

The ROS 2 Frame component reflects the concept of ROS frames of reference for coordinates, which follow a REP103 standard . It is commonly used in any robotic system, for example sensors typically publish in their own reference frame, and localization is about finding a transformation from robot local frame to a more general frame of reference. ROS 2 Frame component also handles namespaces which are essential for multi-robot simulations.

Provider

ROS 2 Gem

Dependencies

The ROS 2 Frame component depends on Transform Service, which is provided by Transform component.

Properties

ROS 2 Frame component properties - default namespace
ROS 2 Frame component properties - custom namespace

PropertyDescriptionValuesDefault
Namespace ConfigurationDetermines how to set the namespace for the component, which can be empty, custom, or derived from entity name.EnumerationDefault (from name for top level entities, empty otherwise)
Frame NameName of the frame, which is used as frame_id field for published messages and broadcasted transforms.Stringsensor_frame
Joint NameName of the joint for this entity, which is supplementary information required by joint control APIs.Stringempty
Publish TransformDetermines whether the transformation to this frame’s parent is included in the broadcasted transforms.Booleantrue
Effective namespaceRead only value providing the effective namespace of the frame. It is automatically updated and takes other frames into consideration.Stringempty

Usage

ROS 2 Frame component handles namespace, frame id, and joint name associated with an entity, which is a part of a robot. Many other components such as sensors and controllers depend on it. ROS 2 Frame works internally with these components to ensure namespacing of topics, sending of proper frame_id in each message, and broadcasting of transforms to /tf and /tf_static topics.