To start off the discussion, I wanted to make note of a few things:
- REP 103 currently includes a section noting the use of suffixes for frames that deviate from the existing ROS conventions (e.g.,
_ned
). Instead of describing a completely new convention, we could instead standardize the use of the “suffixed” frames. The benefit is that there isn’t any confusion regarding which convention is used. - There are some folks that use NED for Cartesian representations of geographic locations for surface vessels. Is this the standard? If so, it may be valuable to include a separate section distinguishing underwater vehicles from surface vessels.
- The coordinate frames used in marine robotics largely overlap with those described in REP 105. However, @rolker mentioned that tides can add a bit of difficulty into their use for surface vessels. In particular, he proposes:
I’ve thought about this for surface vehicles where tides add an extra bit of difficulty. I haven’t tested the idea, but here are some suggestions:
- have “map” be relative to a chart datum, so it can be used as the frame for S57 data
- for gps data with altitude relative to the ellipsoid, have a “map_ellipsoid” frame with “map” as the parent.
- have frame to express tides, such as “map_tide” that has “map” as a parent. A mechanisim would be needed to update the map_tide to map offset
- “odom” would have “map_tide” as parent
- an optional “base_link_no_heave” could exist between “base_link” and “odom” for platforms where heave is measured.
EDIT: Updated to use Roland’s handle