Beluga named requirements: MotionModel

Requirements for a motion model to be used in a Beluga ParticleFilter.

Requirements

A type T satisfies the MotionModel requirements if the following is satisfied:

  • T::state_type is a valid type, representing a particle state.

  • T::control_type is a valid type, representing a control action to condition the motion model.

Given:

  • A possibly const instance cp of T.

  • A possibly const instance u of T::control_type (or convertible type U).

Then:

Beluga named requirements: StateSamplingFunction

Requirements for a callable to sample a motion distribution when propagating particle states in a Beluga ParticleFilter.

Requirements

A type F satisfies the StateSamplingFunction requirements for some state type S if:

Given:

  • A possibly const instance fn of F.

  • A possible const instance s of S.

  • An instance e satisfying URNG requirements.

Then:

  • fn(s, e) returns another sampled state ss of S.