Struct PntosVirtualStateBlock

Struct Documentation

struct PntosVirtualStateBlock

An object that is used to convert a set of states from one representation to another, using a mapping function f() to convert estimates, and the Jacobian of f() to map covariances (note that this implies that the order/units of terms in the estimate vector and covariance matrix are the same). Each instance is associated with two labels, ‘source’ and ‘target’, where source is the label attached to the quantity to be transformed, and target is the label attached to the result. Typically used with a PntosStandardFusionEngine where ‘source’ refers to a ‘real’ PntosStandardStateBlock and ‘target’ referring to some representation that is advantageous for some other element, such as a PntosStandardMeasurementProcessor, to use.

Public Members

PntosManagedMemory *memory
void (*receive_aux_data)(struct PntosVirtualStateBlock *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_virtual_state_block_aux_data is called with a label corresponding to this PntosVirtualStateBlock’s target.

PntosEstimateWithCovariance *(*convert)(struct PntosVirtualStateBlock *self, PntosEstimateWithCovariance *estimate_with_covariance, AspnTypeTimestamp time)

Convert a full estimate/covariance pair.

Param self

This instance.

Param estimate_with_covariance

Estimate and covariance to convert.

Param time

Time that estimate_with_covariance is valid at.

Return

The converted value.

PntosMatrix *(*convert_estimate)(struct PntosVirtualStateBlock *self, PntosMatrix *estimate, AspnTypeTimestamp time)

Convert just an estimate vector.

Param self

This instance.

Param estimate

Estimate vector to convert, Nx1.

Param time

Time that estimate is valid at.

Return

The converted vector, Mx1.

PntosMatrix *(*jacobian)(struct PntosVirtualStateBlock *self, PntosMatrix *estimate, AspnTypeTimestamp time)

Obtain the Jacobian of the transform performed by this instance at an instance in time, given an estimate to differentiate with respect to.

Param self

This instance.

Param estimate

Estimate vector associated with the return value of source, Nx1.

Param time

Time that estimate is valid at.

Return

An MxN matrix that may be used to pre-multiply estimate to obtain an M length vector in ‘target’ representation (to first order).

char *source

The label associated with the representation this instance can transform from.

char *target

The label associated with the representation this instance can transform to.

struct PntosVirtualStateBlock *(*clone)(struct PntosVirtualStateBlock *self)

Produce a deep-copy this instance.

Param self

This instance.