Coordinate Frames Convention
The frames of reference convention has changed in v23.04 to comply with ROS conventions REP-103 and REP-105. New SLAM runs will generate trajectories using a new axes convention which may impact existing integrations. Please see the Coordinate Frames of Reference Convention Change section of our migration guide for more information.
When using Slamcore SLAM, the user should be aware of the following coordinate frames of reference:
This is the frame that the SLAM tracks. For the RealSense D435i this frame is rigidly attached to the device IMU chip with the positive X axis pointing to the right, the positive Y axis pointing down and the positive Z axis pointing forward.
This is the frame of reference whose pose the SLAM reports. This pose is reported against the
Worldframe of reference, i.e., the
T_WBtransform. This frame is located in the same position as the
Sensorframe, however, it uses a different axis orientation convention to comply with REP-103. In this case, the positive X axis is pointing forward, the positive Y axis is pointing left and the positive Z axis is pointing up.
This is the frame of reference that the SLAM pose is estimated against. To comply with REP-103 and REP-105, this frame is initialised based on the
Bodyframe and the gravity direction - with the camera parallel to the ground and facing forward, the
WorldZ axis will be initialised pointing up, opposite to the gravity direction. The
WorldX axis will be initialised to match the
BodyX axis direction and the
WorldY axis will be initialised pointing to the left of this
With the convention defined above, if you start up the RealSense, parallel to the ground and start moving it forwards, you will notice our X estimate increasing. Similarly, if you move it upwards, you will notice a positive increase in the Z coordinate.