Skip to content

Lowpass Filter

Low Pass Estimator

The low pass estimator is the simplest type of estimation currently available. It does not make use of any car model.

The motion capture measurements can be assumed to be very precise. Therefore, the car's position is taken directly from the motion capture measurements. The yaw signal contains more noise, which is why it is low pass filtered by a third-order Butterworth filter before being republished as an estimate.

Motion capture does not provide any velocity measurements. The velocity estimates are computed from the finite difference between the current and the previous position measurement. This usually results in increased noise on the computed velocity, which is why a third-order Butterworth filter is applied. This gives us an estimate for the world velocities. Body and total velocities are then computed with simple trigonometry.

Note: Low pass filtering induces a large delay in the estimate which needs to be compensated for in the controller.

type: "lowpass"
pub_rate: 50.0 # Hz

# initial state
initial_state:
  type: "pacejka_car"
  value: [0, 0, 0, 0.5, 0, 0]

sensors:
  sensor_names: ["mocap"]
  vicon:
    key: mocap # optional, if not set us e name of sensor

b_dx: [0.0029, 0.0087, 0.0087, 0.0029]
a_dx: [1.0000, -2.3741, 1.9294, -0.5321]

b_dy: [0.0029, 0.0087, 0.0087, 0.0029]
a_dy: [1.0000, -2.3741, 1.9294, -0.5321]

b_dyaw: [0.0029, 0.0087, 0.0087, 0.0029]
a_dyaw: [1.0000, -2.3741, 1.9294, -0.5321]

b_yaw: [0.0029, 0.0087, 0.0087, 0.0029]
a_yaw: [1.0000, -2.3741, 1.9294, -0.5321]