Add float64_t variants of common states and use them in the tracking package
Description
The current Kalman filter package is designed to work with different scalar types, but only the float variants are exposed as convenient type aliases, like this:
using ConstAccelerationXY =
FloatState<
variable::X, variable::X_VELOCITY, variable::X_ACCELERATION,
variable::Y, variable::Y_VELOCITY, variable::Y_ACCELERATION>;
and the motion models only have specializations for those.
Purpose
Currently, we cast back and forth a lot between doubles and floats in the tracking package. The code would be neater (and work with high precision when the vehicle is far from the map origin) if it could use doubles in the Kalman filter.
Desired Behavior
I should just be able to use ConstAccelerationXYd
and get rid of all casts.
Definition of Done
-
Make states/motion models into templates over the scalar type where appropriate (don't want to have duplicate code that differs only in the scalar type) -
Rename/create aliases ending in f
ord
for the instantiations with float and double.