Struct PntosStandardMeasurementProcessor

Struct Documentation

struct PntosStandardMeasurementProcessor

An object that processes raw measurements/observations into estimated states suitable for a linear or linearized filter to use. Each type of measurement should correspond to a PntosStandardMeasurementProcessor that is supplied to the fusion engine. Incoming measurements received by the fusion engine will be routed to the corresponding measurement processor (by label) and call PntosStandardMeasurementProcessor.generate_model to process the measurement. The resulting PntosStandardMeasurementModel will be used by the fusion engine to call the underlying PntosStandardFusionStrategy.update method to update the filter estimate/error covariance.

Public Members

PntosManagedMemory *memory
char *label

A unique name for this measurement processor. This value will be used to select a measurement processor to handle new measurements that the strategy receives.

char **state_block_labels

A list of unique state block labels associated with measurements received by this processor. The estimate and covariance matrices passed into generate_model will be composed of the states associated with these state blocks, and the returned PntosStandardMeasurementModel.h and PntosStandardMeasurementModel.H must respect these states.

This field is an array of pointers to num_state_block_labels \0 terminated C strings, where state_block_labels[i] is the identifier for the ith state block this processor relates to.

size_t num_state_block_labels

Number of state block labels that are available in this measurement processor. This parameter describes the length of state_block_labels.

void (*receive_aux_data)(struct PntosStandardMeasurementProcessor *self, PntosMessageArray *aux)

Receive and use an arbitrary collection of aux data. This method will be called by the fusion engine when its PntosStandardFusionEngine.give_measurement_processor_aux_data is called with a label corresponding to this measurement processor’s label.

PntosStandardMeasurementModel *(*generate_model)(struct PntosStandardMeasurementProcessor *self, PntosMessage *message, PntosGenXandP *gen_x_and_p_func)
Return

A PntosStandardMeasurementModel containing the parameters required for a filter update. Returns NULL when a measurement cannot be produced from message (for example, this could happen if the measurement type is unsupported by the measurement processor or if it is rejected due to residual monitoring).

struct PntosStandardMeasurementProcessor *(*clone)(struct PntosStandardMeasurementProcessor *self)