Commit Graph

66 Commits

Author SHA1 Message Date
Adeeb Shihadeh 7337fab677 don't block on reading ublox param (#28859)
old-commit-hash: e63e2dde18b9ae2925d1a38c527dccfd0c99d4c5
2023-07-10 15:33:58 -07:00
Kacper Rączy c11ead32d6 locationd: initial value for gps_std_factor (#28533)
* setup_gps method

* Add LocalizerGnssSource

* slight refactor

* make it more readable

* Move gnss_source initialization to configure_gnss_souce

* Add gps_variance_factor, gps_vertical_variance_factor and gps_time_offset

* add header changes
old-commit-hash: 242e8d2ca879665a0dbbf49ea291b86d4f62461d
2023-06-13 16:12:53 -07:00
Kacper Rączy 37fb563225 locationd: add filterState (#28340)
* Add filterState to published messages

* Hide it behind DEBUG flag

* Update cereal

* Update cereal
old-commit-hash: 9abe95c949747e87f059ea0810c03b01305110c5
2023-05-31 15:01:12 -07:00
Harald Schäfer 5ddceb553d Calibrationd: make recalibrating alert (#28149)
* Initial

* fixes

* not an int anymore

* elif

* revert ref

* update ref

* fix alert text

* regen refs

* update ref

* add recalibration unit test

* set into recalibration state

* fix words

* recalib

* text

* Update selfdrive/controls/lib/events.py

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 598343aad18a7896c6b65ff6e19f9e27ba19cc10
2023-05-15 09:29:57 -07:00
Shane Smiskol c8cf77b7a7 locationd: log time to first fix (#27990)
* locationd ttff

* log time to first fix

* rename

* max it like laikad

* Update selfdrive/locationd/locationd.cc

* Update ref_commit

* Log when gpsOK first becomes true

* don't forget to update current time!

* stash

* make it deterministic (no proc replay cur time)

* Update ref_commit

* rename to make this clear
old-commit-hash: 03eb02906d9f43799fc93f71ef32331bcf090157
2023-04-21 16:15:13 -07:00
Shane Smiskol 1f46287206 quectel: move vertical accuracy sanity check (#27819)
* Update rawgpsd.py

* remove from locationd

* Update system/sensord/rawgps/rawgpsd.py

* flip
old-commit-hash: c9804f8ec20fd60a42c17d61d07da83406c5ff31
2023-04-10 20:46:12 -07:00
Harald Schäfer f6e3dc289c Locationd qcom retune (#27739)
old-commit-hash: eca3838237463fe34c6abd0e6592a935008d8ff6
2023-03-29 16:35:30 -07:00
Adeeb Shihadeh 5128ca0dd9 locationd: adjust GPS alive check for QCOM GPS (#27339)
* locationd: adjust GPS alive check for QCOM GPS

* update refs

* update refs
old-commit-hash: 00513f10011ad6ad693fbbc9b4b5dc7df36f9a79
2023-02-15 11:28:47 -08:00
Kurt Nistelberger 1cd22ead91 Revert "Add low Gnss laikad test (#26987)"
This reverts commit 453c31b007237ae5009c4a9e0bb3afa04aa12f84.

old-commit-hash: 9131da9103718d6ae113ad7b3519037e2b4ffa70
2023-01-19 11:46:22 -08:00
Kurt Nistelberger 84a95cdc89 Add low Gnss laikad test (#26987)
* add low gnss test

* enable laikad

* temp fix for cache

* update replay

* save LaikadEphemeris for testing

* rem

* update refs

* add comment

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: b7ce77b3aa48c3605554f63068a13860023eff86
2023-01-18 22:29:12 -08:00
Harald Schäfer 63efb985cd Revert locationd to gpsLocation (#26963)
* revert locationd laika change

* switch msg

* change proc replay

* back to gpslocation

* update ref

* no np floats in msg

* Ignore empty laikad messages in mapos

* more tolerance

* c++ doesnt work like that
old-commit-hash: 4c33d94d3f088c6f1fc88a0f40f3a828968c1c52
2023-01-14 16:56:14 -08:00
Bruce Wayne 29d4e1645e Revert "temporary revert laikad as main gps"
This reverts commit a4b9a7fec9c07a42dcb1bb990471a92aa4476855.

old-commit-hash: c44b6225592c070d87d2b3e77018a623d344f054
2023-01-14 10:34:59 -08:00
Kurt Nistelberger 9bbc5bdfb1 temporary revert laikad as main gps
old-commit-hash: 1e8e4f7ede35d9a95c97ccfbb0bf8d7c5df46e39
2023-01-13 22:24:16 -08:00
Kurt Nistelberger 9570336e6c Laikad: set active (#26850)
* laikad update, renaming

* update locationd

* fix naming

* address PR comments

* upsi

* .

* draft to fix replay

* fix process relay to allow no response for messages

* final fix for process replay

* .

* bump cereal

* update process replay ref commit

* reduce wait time

* .

* last ref change

* move laikad helpers to laika

* .

* fix ublox test

* update refs

* add proper qcom replay support

* fix gnss support if both is available

* update refs

* remove left over

* revert laikad msg

* move laika back to master

* init

* fix gps valid flag

* change time

* add gnss to ignore

* remove gps_valid flag

* .

* adopt orientation reset threshold

* .

* update laikad

* .

* fix stanstill KF resets

* test orienation reset count

* update laika

* bump cereal

* fix process replay

* update laika repo

* remove handle gps

* add extra logging for cache

* .

* add more log

* .

* .

* update laika

* dont remove gps code

* inc min satellite count

* update magic vals and add acc drop

* update laika

* upsi

* rem

* bump laika

* use nav and correct

* more fixes

* use sftp

* No more glonass

* Revert "No more glonass"

This reverts commit a76124da50a1e25f423ad1137c7a046e1d57811d.

* nump laika

* back support old ephemeris cache

* add health to ephemeris message

* bump laika

* remove print

* fix laikad tests

* clean

* remove extra log

* bump laika

* inc timeout for plotjuggler build

* rem cache clear

* .

* enable gps after checks

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 88423e25df8bfbd8e6a3275eb086f468cf9a59f1
2023-01-13 11:37:38 -08:00
Kurt Nistelberger c469ee2f6c 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>
old-commit-hash: 981532f0c32f58e0ba4675fe3b066d7c6d0d9a8e
2022-12-29 16:56:35 -08:00
Vivek Aithal dd16344a1b [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>
old-commit-hash: fbf2f3816b18321ed921cf03042327134be68edb
2022-11-14 15:02:26 -08:00
Kurt Nistelberger 890f7ffd80 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>
old-commit-hash: aebb08e10542758c458c3abb219f8b57485e0b61
2022-11-03 23:43:30 -07:00
HaraldSchafer eac9ec1570 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>
old-commit-hash: b3324418034fcf09123b614ee2429a4e5bc9d7a5
2022-10-12 17:47:30 -07:00
Adeeb Shihadeh 3e2f436d4c 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>
old-commit-hash: 01d05f66fe5a189209538650dce319b2f7e192ee
2022-10-06 16:46:15 -07:00
Adeeb Shihadeh 1cb4cdab24 sim: fix sensor freq and timestamps (#25937)
* sim: fix sensor freq and timestamps

* 100hz

* fix that too
old-commit-hash: 5d33199905cbf9d9b45ef722a40530b08d5cecf4
2022-09-29 22:36:09 -07:00
Kurt Nistelberger fb06d2769f 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>
old-commit-hash: 29d3ed2ce63a65f793dc0ecb553180a0d0fba03e
2022-09-29 14:31:54 -07:00
Adeeb Shihadeh 35ff65121e pre-commit: add codespell (#25571)
old-commit-hash: 6590fb2b93baedb2e1c5267b4f191f8e20fcd1d2
2022-08-30 11:20:55 -07:00
HaraldSchafer 21ccf4a6fd Quectel unix timestamp (#25329)
* Use laika

* Fix bug

* Better timestamp name

* Better name

* bump cereal
old-commit-hash: 32201bbbbda0ce4c2ff8cad81ecfe45ca15e4f81
2022-08-01 22:06:58 -07:00
HaraldSchafer fa226dd852 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>
old-commit-hash: 11da2804f6f0ffdc6d9bc0b146c8a308d6b66018
2022-07-28 10:56:59 -07:00
Shane Smiskol cb11e4b43b 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
old-commit-hash: e6da217813ecc58bedd3f92d1c905e13409ea79a
2022-05-20 15:00:28 -07:00
HaraldSchafer b0444b39d2 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>
old-commit-hash: f54e724b5dd8b95e03dd4f46676c5e854bafaea6
2022-04-09 15:22:29 -07:00
Vivek Aithal 069fe1a749 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
old-commit-hash: dfc12926144df063fb6bd20a97bb4390a4f5a4ef
2022-03-15 14:40:29 -07:00
Willem Melching 3c3db89b68 locationd: fix writing LastGPSPosition interval (#23895)
old-commit-hash: f4c822e8c658df69589601bdd3e2095cd9e54e66
2022-03-02 15:16:19 +01:00
Vivek Aithal 5bad0f4400 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
old-commit-hash: 7e6903b58f141b94d645f25c5e0ce15825b60075
2022-03-02 01:01:29 -08:00
Vivek Aithal e4c2c2cf2e 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>
old-commit-hash: f808b174afbcc1fc6924d49fb0c32da5c02aad33
2022-01-12 21:37:09 -08:00
Adeeb Shihadeh 305a8eac79 locationd: disable falling device detector (#23431)
old-commit-hash: ef225e3e3515c449ba9f69d6e28c02912f1579c3
2022-01-06 12:01:14 -08:00
Dean Lee dd7c226097 util: move all functions into util namespace (#23203)
old-commit-hash: 9decd3d8a20167de684322a458e28c8d1f746f83
2021-12-12 14:42:23 -08:00
Dean Lee c7b1ac57d8 locationd_thread: fix possible dangling reference to params (#23156)
old-commit-hash: 48963d4b24223aa7e87f257558bf7caa48761868
2021-12-08 17:46:18 +01:00
Vivek Aithal 37ccdd8127 locationd: cleanup (#23088)
* remove dead code, avoid indexing by value in locationd

* remove dead states in live_kf
old-commit-hash: 64eb5b0da4d624ecc03f8a45b73296871ae726ff
2021-12-01 00:09:00 -08:00
Vivek Aithal d537897e9a 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
old-commit-hash: 8b6a14758329eb977beb5cba73403dd113495aeb
2021-11-24 15:24:25 -08:00
Vivek Aithal 27a6dc0c08 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
old-commit-hash: 534bf697eeb3b72643abc713649ce2eef5f75820
2021-11-12 15:55:16 -08:00
Vivek Aithal d49fbbfbed 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>
old-commit-hash: c7be73b826b21947197f24c6a60fc5a7098e42af
2021-11-11 21:34:17 -08:00
Vivek Aithal 6bc1c7b502 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
old-commit-hash: 5c810a45b0e7614bfbd7a1b6898547df499964e0
2021-11-09 14:45:47 -08:00
Mayfield 43e1903073 enable wshadow (#22756)
* enable wshadow (#22714)

* fix replay

* more build fixes

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 5246f0231e6bfa572c0dd89c60e538910817faa2
2021-11-02 17:08:53 +01:00
Vivek Aithal 80600a77dc expose filter internal states and stds (#22564)
old-commit-hash: f1546e6552fdf51b99cb44eafff5f88b1de536f1
2021-10-14 19:44:31 -07:00
Vivek Aithal 0bc7ccfbaa remove confusing logic in live_kf, move to locationd (#22558)
old-commit-hash: d22f57e36db00f1e6873e3a50f22b8ab2fa94232
2021-10-14 11:57:50 -07:00
Vivek Aithal 5359f183aa locationd: modify factor for measurement STDEV in gps update (#22262)
* modify factor for measurement STDEV in gps update

* add new ref_commit
old-commit-hash: 3778592f5049e53b06d1fd6b11e08f59c6fee42a
2021-09-17 22:33:46 -07:00
HaraldSchafer 3eb667e29d 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
old-commit-hash: e0087fc313b4032532e3736a4be2b07510a0c9bf
2021-08-05 21:06:46 -07:00
Harald Schafer acd45c486b Revert "nav: use calibrated orientation (#21853)"
This reverts commit cd19b37a6b187e0c26cdfe7c42e975abb1dc0155.

old-commit-hash: e63d94d8d24975d308e17b7ce71fdb6b5529dac4
2021-08-04 10:41:49 -07:00
HaraldSchafer 1c35dc951d nav: use calibrated orientation (#21853)
* calibrate map

* msg added
old-commit-hash: 4b209f31a11546a3a56032558c656c2aa0b3175f
2021-08-04 09:58:04 -07:00
HaraldSchafer d1c5e054d0 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>
old-commit-hash: 049a1bca34c74ea1fae473386e8bea62f1b3041c
2021-07-20 19:20:00 -07:00
Willem Melching 5c1ba7502f tici: use LSM6DS3 (#21496)
old-commit-hash: 6feafc0042b72a8699d2a613b0505acbd99b57f0
2021-07-06 23:02:54 +02:00
Adeeb Shihadeh e75dc5718c make locationd and paramsd RT (#21264)
old-commit-hash: f01ebc56807a9946ae06a9e6b1bf366bf5a124e0
2021-06-17 14:19:24 -07:00
HaraldSchafer 1cbda7bac0 gps can be bad in cities (#21270)
old-commit-hash: 9a2306e00875b227ff13b0bf88b80b14d387df56
2021-06-15 10:17:20 -07:00
Dean Lee 147b355dde add space after function name and if statement (#21225)
old-commit-hash: e4e669bb0fc1a919dfb38800099f8e3ad52346f1
2021-06-11 10:17:52 +02:00