MIP_SDK  latest-2-g34f3e39
MicroStrain Communications Library for embedded systems
Classes | Typedefs | Functions
(0x0C,0x33) Sensor 2 Vehicle Transform Dcm

Set the sensor to vehicle frame transformation using a using a 3 x 3 direction cosine matrix EQSTART M_{ned}^{veh} EQEND, stored in row-major order in a 9-element array. More...

Classes

struct  mip::C::mip_3dm_sensor_2_vehicle_transform_dcm_command
 
struct  mip::C::mip_3dm_sensor_2_vehicle_transform_dcm_response
 

Typedefs

typedef struct mip_3dm_sensor_2_vehicle_transform_dcm_command mip::C::mip_3dm_sensor_2_vehicle_transform_dcm_command
 
typedef struct mip_3dm_sensor_2_vehicle_transform_dcm_response mip::C::mip_3dm_sensor_2_vehicle_transform_dcm_response
 

Functions

void mip::C::insert_mip_3dm_sensor_2_vehicle_transform_dcm_command (microstrain_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_dcm_command *self)
 
void mip::C::extract_mip_3dm_sensor_2_vehicle_transform_dcm_command (microstrain_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_dcm_command *self)
 
void mip::C::insert_mip_3dm_sensor_2_vehicle_transform_dcm_response (microstrain_serializer *serializer, const mip_3dm_sensor_2_vehicle_transform_dcm_response *self)
 
void mip::C::extract_mip_3dm_sensor_2_vehicle_transform_dcm_response (microstrain_serializer *serializer, mip_3dm_sensor_2_vehicle_transform_dcm_response *self)
 
mip_cmd_result mip::C::mip_3dm_write_sensor_2_vehicle_transform_dcm (mip_interface *device, const float *dcm)
 
mip_cmd_result mip::C::mip_3dm_read_sensor_2_vehicle_transform_dcm (mip_interface *device, float *dcm_out)
 
mip_cmd_result mip::C::mip_3dm_save_sensor_2_vehicle_transform_dcm (mip_interface *device)
 
mip_cmd_result mip::C::mip_3dm_load_sensor_2_vehicle_transform_dcm (mip_interface *device)
 
mip_cmd_result mip::C::mip_3dm_default_sensor_2_vehicle_transform_dcm (mip_interface *device)
 

Detailed Description

Set the sensor to vehicle frame transformation using a using a 3 x 3 direction cosine matrix EQSTART M_{ned}^{veh} EQEND, stored in row-major order in a 9-element array.

These angles define the transformation of vectors from the sensor body frame to the fixed vehicle frame, according to:
EQSTART v^{veh} = M_{sen}^{veh} v^{sen} EQEND

Where:

EQSTART v^{sen} EQEND is a 3-element vector expressed in the sensor body frame.
EQSTART v^{veh} EQEND is the same 3-element vector expressed in the vehicle frame.

The matrix elements are stored is row-major order: EQSTART M_{sen}^{veh} = \begin{bmatrix} M_{11}, M_{12}, M_{13}, M_{21}, M_{22}, M_{23}, M_{31}, M_{32}, M_{33} \end{bmatrix} EQEND The transformation may be stored in the device as a matrix or a quaternion. When EQSTART M_{sen}^{veh} EQEND is read back from the device, it may not be exactly equal to array used to set the transformation, but it is functionally equivalent.


This transformation affects the following output quantities:

IMU:
Scaled Acceleration
Scaled Gyro
Scaled Magnetometer
Delta Theta
Delta Velocity


Estimation Filter:
Estimated Orientation, Quaternion
Estimated Orientation, Matrix
Estimated Orientation, Euler Angles
Estimated Linear Acceleration
Estimated Angular Rate
Estimated Gravity Vector

Changing this setting will force all low-pass filters, the complementary filter, and the estimation filter to reset.

Typedef Documentation

◆ mip_3dm_sensor_2_vehicle_transform_dcm_command

◆ mip_3dm_sensor_2_vehicle_transform_dcm_response

Function Documentation

◆ extract_mip_3dm_sensor_2_vehicle_transform_dcm_command()

void mip::C::extract_mip_3dm_sensor_2_vehicle_transform_dcm_command ( microstrain_serializer serializer,
mip_3dm_sensor_2_vehicle_transform_dcm_command self 
)

◆ extract_mip_3dm_sensor_2_vehicle_transform_dcm_response()

void mip::C::extract_mip_3dm_sensor_2_vehicle_transform_dcm_response ( microstrain_serializer serializer,
mip_3dm_sensor_2_vehicle_transform_dcm_response self 
)

◆ insert_mip_3dm_sensor_2_vehicle_transform_dcm_command()

void mip::C::insert_mip_3dm_sensor_2_vehicle_transform_dcm_command ( microstrain_serializer serializer,
const mip_3dm_sensor_2_vehicle_transform_dcm_command self 
)

◆ insert_mip_3dm_sensor_2_vehicle_transform_dcm_response()

void mip::C::insert_mip_3dm_sensor_2_vehicle_transform_dcm_response ( microstrain_serializer serializer,
const mip_3dm_sensor_2_vehicle_transform_dcm_response self 
)

◆ mip_3dm_default_sensor_2_vehicle_transform_dcm()

mip_cmd_result mip::C::mip_3dm_default_sensor_2_vehicle_transform_dcm ( mip_interface device)

◆ mip_3dm_load_sensor_2_vehicle_transform_dcm()

mip_cmd_result mip::C::mip_3dm_load_sensor_2_vehicle_transform_dcm ( mip_interface device)

◆ mip_3dm_read_sensor_2_vehicle_transform_dcm()

mip_cmd_result mip::C::mip_3dm_read_sensor_2_vehicle_transform_dcm ( mip_interface device,
float *  dcm_out 
)

◆ mip_3dm_save_sensor_2_vehicle_transform_dcm()

mip_cmd_result mip::C::mip_3dm_save_sensor_2_vehicle_transform_dcm ( mip_interface device)

◆ mip_3dm_write_sensor_2_vehicle_transform_dcm()

mip_cmd_result mip::C::mip_3dm_write_sensor_2_vehicle_transform_dcm ( mip_interface device,
const float *  dcm 
)