MIP_SDK  latest-2-g34f3e39
MicroStrain Communications Library for embedded systems
Classes | Functions
(0x13,0x01) Frame Config

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< FrameConfigmip::commands_aiding::writeFrameConfig (C::mip_interface &device, uint8_t frameId, FrameConfig::Format format, bool trackingEnabled, const float *translation, const FrameConfig::Rotation &rotation)
 
TypedResult< FrameConfigmip::commands_aiding::readFrameConfig (C::mip_interface &device, uint8_t frameId, FrameConfig::Format format, bool *trackingEnabledOut, float *translationOut, FrameConfig::Rotation *rotationOut)
 
TypedResult< FrameConfigmip::commands_aiding::saveFrameConfig (C::mip_interface &device, uint8_t frameId)
 
TypedResult< FrameConfigmip::commands_aiding::loadFrameConfig (C::mip_interface &device, uint8_t frameId)
 
TypedResult< FrameConfigmip::commands_aiding::defaultFrameConfig (C::mip_interface &device, uint8_t frameId)
 

Detailed Description

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)

Function Documentation

◆ defaultFrameConfig()

TypedResult< FrameConfig > mip::commands_aiding::defaultFrameConfig ( C::mip_interface device,
uint8_t  frameId 
)

◆ loadFrameConfig()

TypedResult< FrameConfig > mip::commands_aiding::loadFrameConfig ( C::mip_interface device,
uint8_t  frameId 
)

◆ readFrameConfig()

TypedResult< FrameConfig > mip::commands_aiding::readFrameConfig ( C::mip_interface device,
uint8_t  frameId,
FrameConfig::Format  format,
bool *  trackingEnabledOut,
float *  translationOut,
FrameConfig::Rotation rotationOut 
)

◆ saveFrameConfig()

TypedResult< FrameConfig > mip::commands_aiding::saveFrameConfig ( C::mip_interface device,
uint8_t  frameId 
)

◆ writeFrameConfig()

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 
)