Commit Graph

52 Commits

Author SHA1 Message Date
Kurt Nistelberger
981532f0c3 Laikad preperation (#26800)
* laikad update, renaming

* update locationd

* address PR comments

* draft to fix replay

* fix process relay to allow no response for messages

* bump cereal

* update process replay ref commit

* move laikad helpers to laika

* fix ublox test

* update refs

* add proper qcom replay support

* fix gnss support if both is available

* update refs

* move laika back to master

* move cereal back to master

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
2022-12-29 16:56:35 -08:00
Vivek Aithal
fbf2f3816b [locationd] Add input checks (#26460)
* add input checks with same decay as reset_tracker

* add observation timings check

* typo

* bugfix

* improve offline locationd visibility

* sbugfix offline lld

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-11-14 15:02:26 -08:00
Kurt Nistelberger
aebb08e105 locationd: add gps sanity check for quectel gps (#26352)
* update check

* .

* .

* remove gps kf time check for gps ok

* upsi

* dont use gps_mode

* update refs

* Update selfdrive/locationd/locationd.cc

Co-authored-by: Shane Smiskol <shane@smiskol.com>

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2022-11-03 23:43:30 -07:00
HaraldSchafer
b332441803 locationd: Fix GPS sensor times with fixed offsets (#25920)
* Rewind to qcom time

* Fix test

* Typo

* init unix_time fix

* add gps sensor_time_offsets

* remove all clocks code and add todo

* :emove clocks in unit test

* update refs

* update refs

Co-authored-by: nuwandavek <vivekaithal44@gmail.com>
2022-10-12 17:47:30 -07:00
Adeeb Shihadeh
01d05f66fe auto-detect pigeon or quectel (#25991)
* auto-detect pigeon or quectel

* persistent

* fix sim

* fix process replay

* fix locationd unit tests

* fix that

Co-authored-by: Comma Device <device@comma.ai>
2022-10-06 16:46:15 -07:00
Adeeb Shihadeh
5d33199905 sim: fix sensor freq and timestamps (#25937)
* sim: fix sensor freq and timestamps

* 100hz

* fix that too
2022-09-29 22:36:09 -07:00
Kurt Nistelberger
29d3ed2ce6 Sensor events splitup (#25714)
* PoC of reading sensors via interrupts instead of polling

* add Gyro and draft for magn

* add more functionality to gpio.cc

* change LSM gyro to interrupt

* resolve rebase conflict

* update BMX accel interrupt impl

* add interrupt collector thread to fetch in parallel

* change get_event interface to return true on successful read

* update BMX gyro interrupt impl

* update gpio.h/.cc according to comments

* address comments, rename Edgetype enum

* Edgetype to EdgeType

* update sensor interrupt interface

* add error handling, and read fd on trigger

* avoid sending empty messages

* fix build

* use gpiochip

* less diff

* gpiochip on both edges, but skip falling edge if rising edge is detected

* init last_ts with 0

* update sensord testcases

* update sensord testsweet

* test for pipeline

* readd with_process

* add null check

* move tests update to seperate PR

* sensord: improve test coverage (#25683)

* update sensord-interrupt testsweet

* address review comments

* inc stddev threshold

* fix format string

* add version 0 check again

* relax strictness after c3 with bmx tests

* relax strictness after tests

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>

* address PR comments

* fix typo

* remove 4ms limit, and skip first 0.5sec of data

* revert disable_interuppt change to destructor

* fix and remove timing skip

* make gpiochip generic

* sensord port

* change from sensorEvents to separated events

* fix gyro usage

* add splitted sensor tests

* modify debug script sensor_data_to_hist.py

* refactor get_event interface to remove sensorEvent message type

* update locationd to non sensorEvent usage

* tmp commit

* fix replay

* fix accelerometer type

* fix sensor to hist debug script

* update sensord tests to split events

* remove rebase artifacts

* port test_sensord.py

* small clean up

* change cereal to sensorEvents-splitup branch

* upate sensorEvents in regen

* fix route generation for splitted sensor events

* regen cleanUp from sensorEvents change

* .

* remove light and temp from locationd

* add generic init delay per sensor

* .

* update routes

* move bmx gyro/accel to its own channel

* adopt sensor tests to bmx channel

* remove rebase artifacts

* fix sensord test

* handle bmx not present

* add bmx sockets to regen

* .

* .

* code cleanUp

* .

* address PR comments

* address PR comments

* address PR comments

* lsm clean up

* readd sensorEvents

* rever regen.py

* .

* update replay refs

* move channels

* fix artifact

* bump cereal

* update refs

* fix timing issue

Co-authored-by: Bruce Wayne <batman@workstation-eu-intern2.eu.local>
Co-authored-by: gast04 <kurt.nistelberger@gmail.com>
Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-09-29 14:31:54 -07:00
Adeeb Shihadeh
6590fb2b93 pre-commit: add codespell (#25571) 2022-08-30 11:20:55 -07:00
HaraldSchafer
32201bbbbd Quectel unix timestamp (#25329)
* Use laika

* Fix bug

* Better timestamp name

* Better name

* bump cereal
2022-08-01 22:06:58 -07:00
HaraldSchafer
11da2804f6 Support quectel gps (#25299)
* qcom clock gets corrected randomly it seems

* Use quectel gps

* fix small laikad bugs

* Support both

* Support ublox and qcom clock model

* fix laikad test

* fix typo

* Back to original value

* More typos

Co-authored-by: Comma Device <device@comma.ai>
2022-07-28 10:56:59 -07:00
Shane Smiskol
e6da217813 SubMaster: support for polling in C++ (#24602)
* poll when sm.update isn't 0

* bump cereal

* poll modelV2 in UI

* fix driverview

* need to update here

* empty list means poll all

revert

* Revert "poll modelV2 in UI"

This reverts commit 82aac96a1ffc64eb79b07817451b76e6924a9812.

* Revert "fix driverview"

This reverts commit 074ee10f177cf7c99f8201a85904e01d40adbe6d.

* poll all
2022-05-20 15:00:28 -07:00
HaraldSchafer
f54e724b5d Body cleanup + 100Hz locationd (#24168)
* use PID

* 100hz on the branch

* Better defaults

* fix int clip

* More cleanup

* Fix pid comments

* only notcar gets 100hz

* cleanup

* fix tests

* ignore

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-04-09 15:22:29 -07:00
Vivek Aithal
dfc1292614 locationd: Commissue fix (#23951)
* check allAliveAndValid only at filter init

* revert cereal and bugfix test

* rename filterValid to filterInitialized

* bump cereal

* correct err

* update refs
2022-03-15 14:40:29 -07:00
Willem Melching
f4c822e8c6 locationd: fix writing LastGPSPosition interval (#23895) 2022-03-02 15:16:19 +01:00
Vivek Aithal
7e6903b58f locationd, paramsd: Check conditions before updating kalman filters (#23789)
* update filters only when all messages are alivbe and valid

* update message valid and fix unit test

* update refs

* move check outside loop

* modify fake message fn in test

* deprecate inputsOK and resolve PR comments

* avoid double looped list comprehension

* follow import conventions

* modify paramsd valid to only be invalid in case of commIssue

* update refs
2022-03-02 01:01:29 -08:00
Vivek Aithal
f808b174af use roll std from locationd (#23449)
* use roll std from locationd

* cleaner

* add todo

* new ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2022-01-12 21:37:09 -08:00
Adeeb Shihadeh
ef225e3e35 locationd: disable falling device detector (#23431) 2022-01-06 12:01:14 -08:00
Dean Lee
9decd3d8a2 util: move all functions into util namespace (#23203) 2021-12-12 14:42:23 -08:00
Dean Lee
48963d4b24 locationd_thread: fix possible dangling reference to params (#23156) 2021-12-08 17:46:18 +01:00
Vivek Aithal
64eb5b0da4 locationd: cleanup (#23088)
* remove dead code, avoid indexing by value in locationd

* remove dead states in live_kf
2021-12-01 00:09:00 -08:00
Vivek Aithal
8b6a147583 locationd: Fix Nav localization reliability (#22959)
* modify reset logic

* remove debug statements

* use ecef pos and vel covariances during reset

* reset orientations initialized to 0,0,GPSbearing

* refactor nav fix

* add fake gps observations to control ecef pos and ecef vel std

* replace fake_P with individual fake cov

* set gps mode flag

* add gps invalid flag names

* update refs

* more accurate gps accuracy check + update refs
2021-11-24 15:24:25 -08:00
Vivek Aithal
534bf697ee locationd : Acceleration Bias in locationd (#22879)
* add accel bias to filter for offline calculation

* bugfix acc bias in live_kf

* add no_accel obsertvation

* increase initial certainty of acc-bias and reduce PN

* increase initial certainty of acc-bias and reduce PN

* increase accel bias PN

* increase obs noise for no_accel observation

* style fixes

* update refs
2021-11-12 15:55:16 -08:00
Vivek Aithal
c7be73b826 locationd: Set ECEF_POS valid flag to false if in no-gps mode (#22857)
* set ECEF_POS valid flag to false if in no-gps mode

* modify valid flag for all ecef states before gps

* add calibrated valid when no gps

* update refs

* remove extra whitespace

* add invalid flag to all NED values pre gps

* update refs

* update correct refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-11-11 21:34:17 -08:00
Vivek Aithal
5c810a45b0 locationd: Make live_kf robust to no GPS (#22774)
* add no gps observations

* use correct ecef_location, orientation vals and stds for nogps states

* remove earth radius obs

* move initial loc to the ocean

* remove unnecessary changes

* update refs
2021-11-09 14:45:47 -08:00
Mayfield
5246f0231e enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-11-02 17:08:53 +01:00
Vivek Aithal
f1546e6552 expose filter internal states and stds (#22564) 2021-10-14 19:44:31 -07:00
Vivek Aithal
d22f57e36d remove confusing logic in live_kf, move to locationd (#22558) 2021-10-14 11:57:50 -07:00
Vivek Aithal
3778592f50 locationd: modify factor for measurement STDEV in gps update (#22262)
* modify factor for measurement STDEV in gps update

* add new ref_commit
2021-09-17 22:33:46 -07:00
HaraldSchafer
e0087fc313 Fix orientation in map (#21863)
* fix calibrated orientation

* update ref

* cleaner

* update ref

* master

* update again

* update ref again again

* actually compiled this tim,e
2021-08-05 21:06:46 -07:00
Harald Schafer
e63d94d8d2 Revert "nav: use calibrated orientation (#21853)"
This reverts commit 4b209f31a1.
2021-08-04 10:41:49 -07:00
HaraldSchafer
4b209f31a1 nav: use calibrated orientation (#21853)
* calibrate map

* msg added
2021-08-04 09:58:04 -07:00
HaraldSchafer
049a1bca34 Better localizer unstable alert (#21660)
* use canonical language

* filter out when gps signal is flaky

* Update selfdrive/locationd/locationd.cc

Co-authored-by: Willem Melching <willem.melching@gmail.com>

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-07-20 19:20:00 -07:00
Willem Melching
6feafc0042 tici: use LSM6DS3 (#21496) 2021-07-06 23:02:54 +02:00
Adeeb Shihadeh
f01ebc5680 make locationd and paramsd RT (#21264) 2021-06-17 14:19:24 -07:00
HaraldSchafer
9a2306e008 gps can be bad in cities (#21270) 2021-06-15 10:17:20 -07:00
Dean Lee
e4e669bb0f add space after function name and if statement (#21225) 2021-06-11 10:17:52 +02:00
Adeeb Shihadeh
9e94fb17cf fix qcom and qcom2 builds 2021-06-08 16:44:05 -07:00
Dean Lee
c53cb5d570 Use C++ header files instead of C header files. (#21192)
* use cstring instead of string.h

* use cstdio instead of stdio.h

* remove inttypes.h

* use cstdlib instead of stdlib.h

* use cstdint instead of stdint.h

* #include <cstddef>

* cstdlib

* use cmath

* remove stddef.h

* use cassert

* use csignal

* use ctime

* use cerror

* rebase master
2021-06-08 13:46:22 -07:00
HaraldSchafer
1c926d23da Many localizer resets alert (#21116)
* add excessive reset

* add alert

* add event
2021-06-03 09:26:53 -07:00
HaraldSchafer
2f80775b50 Filter only initialized if up for 1sec (#20940)
* add time since reset check

* fix time since reset

* update ref

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2021-05-18 11:12:02 -07:00
Willem Melching
65ab98a6c8 locationd: ignore empty sensorEvents (#20887) 2021-05-12 16:47:52 +02:00
HaraldSchafer
62e22e7eac time checks in locationd (#20880)
* time checks

* no debug print

* correct timestamps in test

* non nan
2021-05-11 15:57:13 -07:00
Willem Melching
c62bb10640 Locationd input sanity checks (#20845)
* Add first sanity checks on inputs

* more gps checks

* make sure test values pass sanity checks

* this localizer supports cannonball runs

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2021-05-06 13:39:50 -07:00
Willem Melching
fc3da5eaf9 Use standstill flag in locationd (#20838) 2021-05-06 13:13:13 -07:00
Willem Melching
e9db5723ef Locationd 100 Hz (#20816)
* fix std transform

* 100Hz

* new ref

* no more decimation

* clean up confusing maths

* static typing

* Revert "static typing"

This reverts commit 23d87337de648e629fbd35dd8c04a740bbefca47.

* 100Hz costs more

* move normalization into core

* add quat idxs

* add big eps

* this is not safe in the filter

* more sensible

* updates to rednose

* not tested

* normalize in python too

* update rednose

* nan check

* check for infs too

* all should be finite

* update ref

* rednose pr now in master

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2021-05-06 11:01:58 +02:00
Willem Melching
d96edb6817 C++ Process replay improvements - Part 1 (#20828)
* C++ Process replay improvements

* revert that change

* create publisher before subscribers

* dont block forever, print warning

* add comment

* create sockets after process init

* try once more to receive the message

* SIMULATION env variable

* print message num when no response
2021-05-05 17:14:29 +02:00
Adeeb Shihadeh
ec414e2eb1 set nice values for non RT processes (#20812)
* set nice values for non RT processes

* builds

* fix qcom build

Co-authored-by: Comma Device <device@comma.ai>
2021-05-04 22:00:11 -07:00
HaraldSchafer
daecf4247b Revert "Locationd 100hz (#20759)" (#20797)
* Revert "Locationd 100hz (#20759)"

This reverts commit 333313cf0e.

* new ref
2021-05-02 15:06:34 -07:00
HaraldSchafer
333313cf0e Locationd 100hz (#20759)
* fix std transform

* 100Hz

* new ref

* no more decimation

* clean up confusing maths

* static typing

* Revert "static typing"

This reverts commit 23d87337de648e629fbd35dd8c04a740bbefca47.

* 100Hz costs more
2021-04-28 15:29:14 -07:00
Joost Wooning
d2a2ccfee4 compare carspeed float to epsilon instead of zero (#20714)
* compare carspeed float to epsilon instead of zero

* update ref

* add ref commit again

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
2021-04-22 17:55:41 -07:00