1 and 2 are the same

pull/35700/head
Shane Smiskol 2 weeks ago
parent 32fc4073ec
commit 152b713d6f
  1. 25
      common/filter_simple.py
  2. 18
      estimate_lat_jerk.py

@ -17,29 +17,6 @@ class FirstOrderFilter:
return self.x
class JerkEstimator1:
def __init__(self, dt):
self.dt = dt
self.prev_x = 0.0
self.initialized = False
self.filter = FirstOrderFilter(0.0, 0.2, dt, initialized=False)
self._x = 0.0
@property
def x(self):
return self._x
def update(self, x):
x_filtered = self.filter.update(x)
if not self.initialized:
self.prev_x = x_filtered
self.initialized = True
self._x = (x_filtered - self.prev_x) / self.dt
self.prev_x = x_filtered
return self._x
class JerkEstimator2:
def __init__(self, dt):
self.dt = dt
@ -109,7 +86,7 @@ class JerkEstimator4:
self.prev_x = filtered_x
self.initialized = True
self._x = (filtered_x - self.prev_x) / .01
self._x = (filtered_x - self.prev_x) / self.dt
self.prev_x = filtered_x
return self._x

@ -1,6 +1,6 @@
import math
import matplotlib.pyplot as plt
from openpilot.common.filter_simple import JerkEstimator1, JerkEstimator2, JerkEstimator3, JerkEstimator4, JerkEstimator5
from openpilot.common.filter_simple import JerkEstimator2, JerkEstimator3, JerkEstimator4, JerkEstimator5
from tools.lib.logreader import LogReader
from openpilot.selfdrive.locationd.helpers import PoseCalibrator, Pose
from opendbc.car import ACCELERATION_DUE_TO_GRAVITY
@ -12,11 +12,11 @@ calibrator = PoseCalibrator()
sm = {}
j1 = JerkEstimator1(0.01)
j2 = JerkEstimator2(0.01)
j3 = JerkEstimator3(0.01)
j4 = JerkEstimator4(0.01)
j5 = JerkEstimator5(0.01)
j1 = JerkEstimator1(1/20)
j2 = JerkEstimator2(1/20)
j3 = JerkEstimator3(1/100)
j4 = JerkEstimator4(1/20)
j5 = JerkEstimator5(1/20)
accels = []
kf_accels = []
@ -72,9 +72,9 @@ axs[0].legend()
axs[1].plot(jerks1, label='Jerk Estimator 1')
axs[1].plot(jerks2, label='Jerk Estimator 2')
axs[1].plot(jerks3, label='Jerk Estimator 3')
axs[1].plot(jerks4, label='Jerk Estimator 4')
axs[1].plot(jerks5, label='Jerk Estimator 5')
# axs[1].plot(jerks3, label='Jerk Estimator 3')
# axs[1].plot(jerks4, label='Jerk Estimator 4')
# axs[1].plot(jerks5, label='Jerk Estimator 5')
axs[1].set_ylabel('Lateral Jerk (m/s³)')
axs[1].legend()

Loading…
Cancel
Save