Struct PntosStandardInertialMechanization

Struct Documentation

struct PntosStandardInertialMechanization

An struct produced by a PntosInertialPlugin that generates solutions from raw IMU data.

UNSTABLE: This feature is unstable and is not yet considered part of the stable pntOS API. Usage of this feature is highly discouraged in non-experimental code, and its definition may change at any time.

Public Members

PntosCommonInertial common
PntosMessageTypeArray *(*request_reset_message_types)(struct PntosStandardInertialMechanization *self)
Return

An array of message types that are supported by this plugin for resetting the inertial solution, or NULL if resetting the inertial solution is an unsupported operation by the inertial plugin.

void (*reset_solution)(struct PntosStandardInertialMechanization *self, PntosMessage *message)

Sets the solution to the values in message. For example, if message is PVA then the inertial solution will be set to that PVA. If message is just position, then only the position portion of the inertial solution will be set using message.

Param message

A message containing the information necessary to reset the solution. To see the types supported by the implementation, call request_reset_message_types().

void (*correct_sensor_errors)(struct PntosStandardInertialMechanization *self, AspnTypeTimestamp time, PntosStandardInertialErrors *errors)

Reset the current inertial internal bias values with corrections from an external source, such as a filter or error estimator. The errors passed in here will be adjusted for internally by the inertial when processing incoming data. Thus, if errors are passed into the inertial here they should not be corrected for in an external filter processing the inertial output (which would lead to a double correction).

Param time

The time at which errors should be valid.

Param errors

An estimate of the inertial sensor’s errors.

PntosStandardInertialErrors *(*request_sensor_errors)(struct PntosStandardInertialMechanization *self, AspnTypeTimestamp time)
Param time

Time at which inertial errors should be valid.

Return

Inertial errors at time if time is in the valid range (PntosCommonInertial.is_time_in_range can be used to check time before calling this method), NULL otherwise.