MIP_SDK
latest-2-g34f3e39
MicroStrain Communications Library for embedded systems
|
Defines an aiding frame associated with a specific sensor frame ID. The frame ID used in this command should mirror the frame ID used in the aiding command (if that aiding measurement is measured in this reference frame). More...
Classes | |
struct | mip::commands_aiding::FrameConfig |
Functions | |
TypedResult< FrameConfig > | mip::commands_aiding::writeFrameConfig (C::mip_interface &device, uint8_t frameId, FrameConfig::Format format, bool trackingEnabled, const float *translation, const FrameConfig::Rotation &rotation) |
TypedResult< FrameConfig > | mip::commands_aiding::readFrameConfig (C::mip_interface &device, uint8_t frameId, FrameConfig::Format format, bool *trackingEnabledOut, float *translationOut, FrameConfig::Rotation *rotationOut) |
TypedResult< FrameConfig > | mip::commands_aiding::saveFrameConfig (C::mip_interface &device, uint8_t frameId) |
TypedResult< FrameConfig > | mip::commands_aiding::loadFrameConfig (C::mip_interface &device, uint8_t frameId) |
TypedResult< FrameConfig > | mip::commands_aiding::defaultFrameConfig (C::mip_interface &device, uint8_t frameId) |
Defines an aiding frame associated with a specific sensor frame ID. The frame ID used in this command should mirror the frame ID used in the aiding command (if that aiding measurement is measured in this reference frame).
This transform satisfies the following relationship:
EQSTART p^{veh} = R p^{sensor_frame} + t EQEND
Where:
EQSTART R EQEND is rotation matrix defined by the rotation component and EQSTART t EQEND is the translation vector
EQSTART p^{sensor_frame} EQEND is a 3-element position vector expressed in the external sensor frame
EQSTART p^{veh} EQEND is a 3-element position vector expressed in the vehicle frame
Rotation can be defined using Euler angles OR quaternions. If Format selector is set to Euler Angles, the fourth element in the rotation vector is ignored and should be set to 0.
When the tracking_enabled flag is 1, the Kalman filter will track errors in the provided frame definition; when 0, no errors are tracked.
Example: GNSS antenna lever arm
Frame ID: 1 Format: 1 (Euler) Translation: [0,1,] (GNSS with a 1 meter Y offset in the vehicle frame) Rotation: [0,0,0,0] (Rotational component is not relevant for GNSS measurements, set to zero)
TypedResult< FrameConfig > mip::commands_aiding::defaultFrameConfig | ( | C::mip_interface & | device, |
uint8_t | frameId | ||
) |
TypedResult< FrameConfig > mip::commands_aiding::loadFrameConfig | ( | C::mip_interface & | device, |
uint8_t | frameId | ||
) |
TypedResult< FrameConfig > mip::commands_aiding::readFrameConfig | ( | C::mip_interface & | device, |
uint8_t | frameId, | ||
FrameConfig::Format | format, | ||
bool * | trackingEnabledOut, | ||
float * | translationOut, | ||
FrameConfig::Rotation * | rotationOut | ||
) |
TypedResult< FrameConfig > mip::commands_aiding::saveFrameConfig | ( | C::mip_interface & | device, |
uint8_t | frameId | ||
) |
TypedResult< FrameConfig > mip::commands_aiding::writeFrameConfig | ( | C::mip_interface & | device, |
uint8_t | frameId, | ||
FrameConfig::Format | format, | ||
bool | trackingEnabled, | ||
const float * | translation, | ||
const FrameConfig::Rotation & | rotation | ||
) |