navlie.lib.models.RangeRelativePose¶
- class navlie.lib.models.RangeRelativePose(tag_body_position: ndarray, nb_tag_body_position: ndarray, nb_state_id: Any, R: ndarray)¶
Bases:
CompositeMeasurementModel
Range model given a pose of another body relative to current pose. This model operates on a CompositeState where it is assumed that the neighbor relative pose is stored as a substate somewhere inside the composite state with a state_id matching the nb_state_id supplied to this model.
- Parameters:
tag_body_position (numpy.ndarray) – Position of tag in body frame of Robot 1.
nb_tag_body_position (numpy.ndarray) – Position of 2nd tag in body frame of Robot 2.
nb_state_id (Any) – State ID of Robot 2.
R (float or numpy.ndarray) – covariance associated with range measurement
- covariance(x: CompositeState) → ndarray¶
Returns the covariance \(\mathbf{R}\) associated with additive Gaussian noise.
- evaluate(x: CompositeState) → ndarray¶
Evaluates the measurement model \(\mathbf{g}(\mathcal{X})\).
- evaluate_with_jacobian(x: State) → Tuple[ndarray, ndarray]¶
Evaluates the measurement model and simultaneously returns the Jacobian as its second output argument. This is useful to override for performance reasons when the model evaluation and Jacobian have a lot of common calculations, and it is more efficient to calculate them in the same function call.
- jacobian(x: CompositeState) → ndarray¶
Evaluates the measurement model Jacobian with respect to the state.
\[\mathbf{G} = \frac{D \mathbf{g}(\mathcal{X})}{D \mathcal{X}}\]