-
Notifications
You must be signed in to change notification settings - Fork 77
Relative position configuration
The microstrain_inertial_driver
has the ability to publish position
relative to a local tangent plane when configured properly.
This functionality was previously only available on the GQ7, but has now been added for all devices with the ability to output global position via either LLH Position or ECEF Position.
In order to configure relative position, one must do the following:
- Set
filter_relative_position_config
toTrue
- Set
filter_relative_position_source
to the desired value - Set
filter_odometry_map_data_rate
to a non-zero value
See below for more information on the different values for filter_relative_position_source
and why one may want to use them.
This source will be selected if filter_relative_position_source: 0
This mode is only supported on devices that support RTK and more specifically only on devices that support streaming Base Station Info.
When this mode is configured, the device will report position relative to be the location of the '''LATEST''' used RTK base station. It is important to note that depending on how the device is configured this may mean that the local tangent plane may change during operation. For example, if using a network mountpoint on a CORS server, the CORS server may automatically switch the user to a different base station depending on their reported location. This will cause the local tangent plane to move to the location of the new base station.
This source is most useful when using a single mountpoint on a CORS server, or when using one's own base station.
Note that if you have tf_mode
set to 2, the driver will also publish the earth to map transform as the location of the base station in ECEF.
For more information on tf_mode
, see Relative Transform Mode.
This source will be selected if filter_relative_position_source: 1
This mode requires two additional options to be set in order to function.
-
filter_relative_position_frame
:- Set to 1 for
filter_relative_position_ref
to be interpreted as ECEF, set to 2 forfilter_relative_position_ref
to be interpreted as LLH
- Set to 1 for
-
filter_relative_position_ref
:- Set to the location that the local tangent plane should be placed
The driver will publish position relative to the configured location.
Note that if you have tf_mode
set to 2, the driver will also publish the earth to map transform using the configured location.
For more information on tf_mode
, see Relative Transform Mode.
This source will be selected if filter_relative_position_source: 2
When this mode is configured, the device will report position relative to the first filtered location that we obtain after the device enters full navigation mode.
This mode is most useful for users who just want to get started quickly without having to worry about setting a precise location for their tangent plane, or for users who do not need their tangent plane to be in the same spot and just want to be able to stream relative position.
Note that if you have tf_mode
set to 2, the driver will also publish the earth to map transform using the location received after entering full nav.
For more information on tf_mode
, see Relative Transform Mode.
This source will be selected if filter_relative_position_source: 3
When this mode is configured, the device will look up the transform between earth_frame_id
and map_frame_id
,
use the location of map_frame_id
in ECEF as the location of the tangent plane and then report position relative to that point.
See Frame IDs for more information on how to configure Frame IDs in the driver.
This mode is most useful for users who have another source for their local tangent plane and want the location from this driver to be relative to the same tangent plane.