You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: rep-0105.rst
+13-11
Original file line number
Diff line number
Diff line change
@@ -101,7 +101,7 @@ If the robot has a compass heading as startup it can then also initialize x east
101
101
102
102
And if the robot has an altimeter estimate at startup it can initialize the height at MSL.
103
103
104
-
In unstructured environments the above should strongly be the defaults.
104
+
The conventions above are strongly recommended for unstructured environments.
105
105
106
106
**Map Conventions in Structured Environments**
107
107
@@ -127,7 +127,7 @@ If the ``map`` frame is globally referenced the publisher from ``earth`` to ``ma
127
127
Otherwise the ``earth`` to ``map`` transform will usually need to be computed by taking the estimate of the current global position and subtracting the current estimated pose in the map to get the estimated pose of the origin of the map.
128
128
129
129
In case the ``map`` frame's absolute positon is unknown at the time of startup, it can remain detached until such time that the global position estimation can be adaquately evaluated.
130
-
This will operate in the same way that a robot can operate in the ``odom`` frame before localization in the ``map`` frame is innitialized.
130
+
This will operate in the same way that a robot can operate in the ``odom`` frame before localization in the ``map`` frame is initialized.
@@ -165,7 +165,7 @@ allowed because each frame can only have one parent.
165
165
**Extra Intermediate Frames**
166
166
167
167
This graph shows the minimal representation of this graph.
168
-
The basic topology should stay the same, however it is find to insert additional links in the graph which may provide additional functionality.
168
+
The basic topology should stay the same, however it is fine to insert additional links in the graph which may provide additional functionality.
169
169
170
170
**Pressure Altitude**
171
171
@@ -229,22 +229,24 @@ In an indoor context this can be transitioning between two buildings where each
229
229
It is the responsibility of the localization frame authority to reparent the ``odom`` frame appropriately when moving between maps.
230
230
The common implementation of computing the ``map`` to ``odom`` frame as the results of subtracting the ``odom`` to ``base_link`` from the localization fix ``map`` to ``base_link`` will take care of this implicitly when the choice of which ``map`` frame changes.
231
231
232
-
**``odom`` consistency**
232
+
**odom Frame Consistency**
233
233
234
-
When transitioning between maps the odometric frame should not be effected.
234
+
When transitioning between maps the odometric frame should not be affected.
235
235
Data retention policies for data collected in the odom frame should be tuned such that old or distant data is discarded before the integrated position error accumulates enough to make the data invalid.
236
-
Depending on the quality of the robot's odometry these policies may be vastly different a wheeled vehicle with multiple redundant high resolution encoders will have a much lower rate of drift and will be able to keep data for a much longer time and or distance than a skid steer robot which only has open loop feedback on turning.
236
+
Depending on the quality of the robot's odometry these policies may be vastly different. A wheeled vehicle with multiple redundant high resolution encoders will have a much lower rate of drift and will be able to keep data for a much longer time or distance than a skid steer robot which only has open loop feedback on turning.
237
237
238
-
There are other contexts which will also affect appropriate retention policy such as the robot being moved by external motivators or assumptions of a static environment.
239
-
An example is a robot in an elevator where the environment has changed outside the elevator door between when it entered and exits the elevator.
238
+
There are other contexts which will also affect appropriate retention policy, such as the robot being moved by external motivators, or assumptions of a static environment.
239
+
An example is a robot in an elevator, where the environment outside has changed between entering and exiting it.
240
240
Most of these problems come from the assumption of a static environment where observations are in the same inertial frame as the robot.
241
-
In these cases semantic information about the environment and objects in required to persist data correctly, but the inertial ``odom`` frame should remain continuous.
241
+
In these cases semantic information about the environment and its objects is required to manage persistent data correctly.
242
+
Regardless, the inertial odom frame should always remain continuous.
242
243
243
-
If the vehicle travels a long enough distance that the distance from the ``odom`` frame's origin to the vehicle approaches the maximum floating point precision degraded performance may be observed for float based data persisted in the ``odom`` frame.
244
+
If the vehicle travels a long enough distance that the distance from the ``odom`` frame's origin to the vehicle approaches the maximum floating point precision, degraded performance may be observed for float-based data persisted in the ``odom`` frame.
245
+
This is especially true of 32-bit floating point data used in things like pointclouds.
244
246
If distances on this order are encountered a systematic reset of the ``odom`` frame origin may be required.
245
247
If centimeter level accuracy is required the maximum distance to the ``odom`` frame is approximately 83km. [#floating_point]_
246
248
There is not a standard solution to this, systems with this issue will need to work around it.
247
-
Potential solutions include additional coordinate frames in which to persist obstacle data or storing data with higher precision.
249
+
Potential solutions include additional coordinate frames in which to persist obstacle data or to store obstacle data, or using higher precision.
0 commit comments