Use first order filter (#21411)
* Use first order filter in INDI
* use first order filter in LP as well
* Update selfdrive/controls/lib/lane_planner.py
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* RC->rc
* division safe
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: c900bce1b0
vw-mqb-aeb
parent
98f4c4ddeb
commit
51698f04bc
3 changed files with 30 additions and 22 deletions
@ -1,9 +1,13 @@ |
||||
class FirstOrderFilter(): |
||||
class FirstOrderFilter: |
||||
# first order filter |
||||
def __init__(self, x0, ts, dt): |
||||
self.k = (dt / ts) / (1. + dt / ts) |
||||
def __init__(self, x0, rc, dt): |
||||
self.x = x0 |
||||
self.dt = dt |
||||
self.update_alpha(rc) |
||||
|
||||
def update_alpha(self, rc): |
||||
self.alpha = self.dt / (rc + self.dt) |
||||
|
||||
def update(self, x): |
||||
self.x = (1. - self.k) * self.x + self.k * x |
||||
self.x = (1. - self.alpha) * self.x + self.alpha * x |
||||
return self.x |
||||
|
Loading…
Reference in new issue