Class DifferentialDriveModel

Class Documentation

class DifferentialDriveModel

Sampled odometry model for a differential drive.

This class satisfies Beluga named requirements: MotionModel.

See Probabilistic Robotics thrun2005probabilistic Chapter 5.4.2.

Public Types

using control_type = std::tuple<Sophus::SE2d, Sophus::SE2d>

Current and previous odometry estimates as motion model control action.

using state_type = Sophus::SE2d

2D pose as motion model state (to match that of the particles).

using param_type = DifferentialDriveModelParam

Parameter type that the constructor uses to configure the motion model.

Public Functions

inline explicit DifferentialDriveModel(const param_type &params)

Constructs a DifferentialDriveModel instance.

Parameters:

params – Parameters to configure this instance. See beluga::DifferentialDriveModelParam for details.

template<class Control, typename = common_tuple_type_t<Control, control_type>>
inline auto operator()(Control &&action) const

Computes a state sampling function conditioned on a given control action.

Template Parameters:

Control – A tuple-like container matching the model’s control_type.

Parameters:

action – Control action to condition the motion model with.

Returns:

a callable satisfying Beluga named requirements: StateSamplingFunction.