Commit Graph

271 Commits (master)

Author SHA1 Message Date
Willem Melching 6feafc0042
tici: use LSM6DS3 (#21496) 2021-07-06 23:02:54 +02:00
HaraldSchafer a3071bf15b
Update car_kf.py 2021-06-18 17:57:42 -07: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
Dean Lee ee46672d3c
Passing arguments by reference (#21205) 2021-06-09 14:09:02 +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
Dean Lee 65e0b1e699
Cleanup util.h (#20849)
* cleanup util.h

* fix build error:omx_encoder.cc:408: undefined reference to do_exit

* fix build error

* rebase master

* move helper functions back to util

* ExitHandleHelper->ExitHandlerHelper

* std::clamp

* struct ExitHandlerHelper to class

* rebase master

* cleanup

* restore ExitHandler

* prefer cassert
2021-06-01 16:53:12 +02:00
Adeeb Shihadeh f7cf66867b remove test too 2021-05-27 12:37:52 -07:00
Adeeb Shihadeh 95380969ea calibrationd: remove support for json params 2021-05-27 12:36:42 -07:00
Willem Melching ea5141d909
Store almanac on ublox poweroff (#20967)
* Store almanac on ublox poweroff

* send current UTC time

* move message building to ublox_msg.h
2021-05-20 11:43:03 +02:00
Adeeb Shihadeh 6b4e49af0e fix linter 2021-05-18 19:35:32 -07:00
Comma Device bffba1a91e little helper script 2021-05-18 18:56:58 -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 17c3220322
Rate limit paramsd angleOffset output (#20946)
* rate limit paramsd angle offset

* update ref
2021-05-18 12:59:42 +02:00
Dean Lee 0495426535
Cleanup includes (#20925)
* remove #include <pthread.h>

* remove #include<stdbool.h> for cc files

* remove #include<iostream>
2021-05-17 10:31:31 +02:00
HaraldSchafer e5f93ef142
Add ublox interference monitor (#20911)
* add interference monitor

* new thresholds

* correct labels

* always run for test

* new msg

* add flag

* Revert "always run for test"

This reverts commit b04b92ac2d.

* add hw status flags
2021-05-14 15:23:27 -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
Dean Lee 7222d0f20d
Cleanup selfdrive/ includes (#20822)
* cleanup include path

* continue

* format includes

* fix testraw.cc

* remove include path from SConstruct

* regroup

* rebase master

* almost done

* apply review

* rename FileReader.xx to filereader.xx

* rename Unlogger.x->unlogger.x

* rename FrameReader.xx -> framereader.xx

* apply reviews

* ui.h

* continue

* fix framebuffer.cc build error:mv util.h up

* full path to msm_media_info

* fix qcom2 camerad

Co-authored-by: Comma Device <device@comma.ai>
2021-05-08 22:15:17 -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 b768729755 paramsd: nan checks are implicit now 2021-05-05 17:44:28 +02:00
Willem Melching d6a575a860 paramsd: stricter checks on locationd yaw rate outputs 2021-05-05 17:42:11 +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
Willem Melching 9fb79024ef
Add more sanity checks to paramsd (#20820)
* add more sanity checks to paramsd

* Update selfdrive/locationd/paramsd.py
2021-05-04 09:50:45 -07:00
Adeeb Shihadeh 8a280fbb8e bump cereal 2021-05-03 20:47:11 -07:00
Willem Melching 0b4d28b9d6
paramsd: check NaN in inputs and outputs (#20804) 2021-05-03 14:13:31 +02:00
Dean Lee 81491dc57f
c++ cleanup: standardize file extensions to .cc and .h (#20800)
* c++ cleanup: standardize file extensions to .cc and .h

* cleanup files_common
2021-05-03 11:53:11 +02: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
Joost Wooning 5fdcce2551
unittests for locationd uncommon events (#20715)
* unittests for locationd uncommon events

* params test using process

* test for posenet spike

* fix library path

* move random seed to setup
2021-04-22 15:31:18 +02:00
Joost Wooning e08a570a13
create library for using locationd in python using ffi (#20711)
* create library for using locationd in python using ffi

* lib is not required in release

* cleanup

* dont build liblocationd on release

* add check on buffer size
2021-04-20 17:50:40 +02:00
Joost Wooning ed8acfa284
params put in locationd async (#20713)
* params put in locationd async

* remove reference in thread call
2021-04-20 16:02:57 +02:00
Willem Melching b27bad8776
Remove sympy import from paramsd at runtime (#20710) 2021-04-20 14:29:37 +02:00
Joost Wooning 3420707ad5
convert locationd to c++ (#20622)
* live_kf to c++

* first locationd code

* Running in process_replay

* locationd handle cam_odo and live_calib

* log event handlers

* working message receiving

* compiling message sending

* correctly sending some messages

* correct receiving and sending

* update ref_commit with some all_alive_and_valid being false, minor fixes

* fix std abs

* linking on device fix

* fix cpu usage test

* generate kf constants and defines

* fix replay test

* replay without acks, cleanup

* operate on bytearray messages

* cleanup

* send msg fix

* small sleep, less flaky test

* remove python locationd

* review feedback

* bump rednose
2021-04-20 11:56:43 +02:00
Willem Melching a163daf5e0
Improve robustness of ublox init procedure (#20685)
* improve ublox init robustness

* cleanup

* only log if running at 1hz

* not needed
2021-04-15 14:11:53 +02:00
Willem Melching fc478ff920
disable GC for locationd and paramsd (#20680) 2021-04-14 23:59:29 -07:00
Willem Melching eacacb8fba
Cleanup ubloxd message parsing (#20664)
* use kaitai to generate parsers

* add scons flag to generate parsers

* add outer layer ephemeris parsing

* create ephemeris packet at the right time

* parse subframe 1 and 2

* add more fields

* add generated files to release

* fix signs

* no cast

* add unordered map include

* add exception handling

* small cleanup

* parse iono data

* cleanup
2021-04-14 16:17:30 +02:00
Willem Melching 343fea2bf9
Fix typo in ephemeris parsing (#20677)
* fix typo in ephemeris parsing

* update ref
2021-04-14 11:25:43 +02:00
HaraldSchafer c92f171866
Loosen ecamera calib checks (#20629)
* relax thresholds for widecamera

* cleaner
2021-04-09 20:38:09 -07:00
Willem Melching 4dd4b12140
Ubloxd cleanup (#20637)
* clean out locationd/test

* get rid of ubloxd_main

* remove ubloxd_test.cc

* less includes
2021-04-09 18:01:24 +02:00
Willem Melching c1075037ba
Add list for average frequency ignore (#20624)
* add list for averge frequency ignore

* typo
2021-04-08 18:04:16 +02:00
Joost Wooning e6a8157916
locationd and paramsd using cython version of ekfsym (#20610)
* Locationd live_kf using c++ kalman filter

* use both cpp and python live_kf to compare

* Locationd using ekfsym cpp

* Paramsd using c++ ekf_sym

* Other building method

* Cleanup

* cleanup

* Single sconscript for rednose and locationd/models

* CI

* CI

* CI fix

* renamed scons config

* Fix lib loading

* bump rednose

* update cpu usage test
2021-04-08 13:09:11 +02:00
Dean Lee 57fe8488ac
Qt: show current calibration values (#20455)
* show current calibration

* read calibration from capnp

* use CalStatus

* cleanup calibrationd.py

* remove import capnp

* keep json writing,remove comment

* fix test error

* cleanup

* remove test_read_saved_params

* cleanup

* write out capnp

* restore test

* clean up

* get calibration from CalibrationParams

* cleanup

* update calibration when the description is visible

* cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
2021-04-06 15:02:40 -07:00
HaraldSchafer 8bddaa7607
Update locationd (#20410)
* this was too extreme

* unused import

* capnp wants bools

* update refs
2021-03-19 17:12:34 -07:00
Willem Melching 0a88304e8d
use class AlignedBuffer (#20388)
* use class AlignedBuffer from cereal (#20343)

* AlignedBuffer

* move AlignedBuffer to cereal/messaging.hpp

* rename function aligned to get

* use overloaded function AlignedBuffer:: get(Message *)

* use AlignedBuffer

Co-authored-by: Dean Lee <deanlee3@gmail.com>
2021-03-17 14:43:23 +01:00
Willem Melching e3ad952902 Revert "use class AlignedBuffer from cereal (#20343)"
This reverts commit 7aa379e123.
2021-03-16 20:21:03 +01:00
Dean Lee 7aa379e123
use class AlignedBuffer from cereal (#20343)
* AlignedBuffer

* move AlignedBuffer to cereal/messaging.hpp

* rename function aligned to get

* use overloaded function AlignedBuffer:: get(Message *)
2021-03-16 11:13:15 +01:00
Willem Melching d9c1561d37 pass cloudlog to EKF_sym 2021-03-15 13:27:12 +01:00
Dean Lee 12928cdae2
use cached buffer for FlatArrayMessageReader (#20233) 2021-03-08 11:02:21 +01:00
grekiki 82fb638a47
Fix ubloxd test compilation (#20101) 2021-02-17 16:07:20 +01:00
Adeeb Shihadeh 312b681a46
cereal cleanup part 2 (#20092)
* car stuff

* thermal

* Revert "car stuff"

This reverts commit 77fd1c65eb.

* panda state

* camera stuff

* start deg

* most is building

* builds

* planner + controls run

* fix up paramsd

* cleanup

* process replay passes

* fix webcam build

* camerad

* no more frame

* thermald

* ui

* paramsd

* camera replay

* fix long tests

* fix camerad tests

* maxSteeringAngle

* bump cereal

* more frame

* cereal master
2021-02-16 21:39:32 -08:00
HaraldSchafer 9e746c6dd8
Locationd process noise typo (#20085) 2021-02-16 11:41:21 +01:00
HaraldSchafer b3a868103a
fix timestamps (#20029)
* fix timestamps

* nanoseconds

* update refs
2021-02-08 22:15:05 -08:00
Willem Melching 4c04e220a1
Timezoned (#19960)
* untested code

* add to manager

* whitespace

* only save on fix

* cleanup

* fix typo

* add to ignored processes

* import tici

* fix param name

* cleanup

* only run offroad

* use itertools

* wait for thermald

* simpler

* fall back to api call

* add param to override timezone

Co-authored-by: Comma Device <device@comma.ai>
2021-02-06 11:07:37 +01:00
robbederks 99d58193e4
implement ublox MON_HW2 message (#19962)
* implement MON_HW2 message

* didn't mean to remove this
2021-02-03 13:09:44 +01:00
Dean Lee d34a690136
ublox_msg.h: remove #define min (#19718) 2021-01-11 11:59:14 +01:00
Dean Lee 595830135b
merge utilpp.h into util.h (#19710) 2021-01-10 14:57:32 -08:00
Dean Lee 86fe2d1697
common exit handler (#19661)
* common signal handle

* fix typo

* rename to ExitHandler

* remove include signal.h

* remove include csignal

* rename variable exit to v

* rebase master
2021-01-05 20:19:53 -08:00
Adeeb Shihadeh 4096f86e21
lgtm fixes (#19610)
* pass matrices by reference

* suppress that

* destructor

* that's wrong, suppress it
2020-12-28 20:36:23 -08:00
Adeeb Shihadeh c131f9db57 small ubloxd cleanup 2020-12-19 15:05:40 -08:00
Dean Lee 3bf43bd7e3
ublox_msg.cc: simplify map operations in gen_nav_data (#2004)
* simplify map operations in gen_nav_data

* same as before

* rebase master
2020-12-19 14:13:31 -08:00
Willem Melching 9803d3fcdc save calibration as JSON again 2020-12-08 11:54:27 +01:00
Harald Schafer 4fafdee9e4 use name 2020-12-03 13:29:58 -08:00
Dean Lee bd4f6650fa
simplify building capnp messages with arrays (#2617) 2020-11-30 12:08:52 +01:00
Adeeb Shihadeh ee43eb552b
small calibration refactor + tests (#2641)
* calibration tests

* read from capnp

* save using cereal struct

* reset calibration if new car

* car params
2020-11-28 10:12:10 -08:00
HaraldSchafer 9f5dfb74f9
preinit locationd filter (#2569)
* preinit

* update ref commit
2020-11-19 15:14:35 -08:00
Willem Melching 63e23e9cd7
Reset liveParameters if starting with invalid values (#2360)
* reset params if starting with invalid values

* newline

* No need to check stiffness
2020-10-19 19:04:33 +02:00
Willem Melching e51da619c1
LSM6DS3 (#2268)
* add initial lsm6ds3 setup

* accel works

* ignore lsm6ds3 in locationd

* add gyro

* add temp

Co-authored-by: Comma Device <device@comma.ai>
2020-10-05 16:16:25 +02:00
HaraldSchafer 0b849d5a4e
only do reset if already calibrated (#2176) 2020-09-15 07:44:13 -07:00
HaraldSchafer df99316621
Auto reset bad calibration (#2151)
* initial commit

* thanks pylint

* smoooooth

* cleanup

* cleaner

* switched

* always decay weight
2020-09-14 04:02:58 -07:00
Adeeb Shihadeh 74801bd216 send initial calibration packet immediately 2020-09-13 13:54:14 -07:00
Adeeb Shihadeh 4d5733924a
message builder (#2161)
* use custom MessageBuilder from cereal

* use MesageBuilder.toBytes

* bump cereal

* unused

* another one

* fix ui msg

Co-authored-by: deanlee <deanlee3@gmail.com>
2020-09-12 21:48:15 -07:00
Adeeb Shihadeh e0004d0981
Reduce paramsd and calibrationd CPU usage (#2119)
* reduce paramsd cpu

* reduce calibrationd cpu usage

* calibration_helpers was mostly unused

* more calibration cleanup

* update refs

* fix thresholds in CPU test
2020-09-10 12:16:29 -07:00
HaraldSchafer 01111b3f28
remove vp everywhere (#2122)
* remove vp everywhere

* wrong dimension

* useful disclaimer

* switcheroo

* imcomplete switcheroo

* did it wrong again

* difference look small enough

* fix comment
2020-09-04 03:05:20 -07:00
HaraldSchafer d097abeb21
Track calib spread (#1988)
* add calib spread metric

* add field

* needs to be array

* update refs

* log valid blocks too

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-08-06 14:47:17 -07:00
HaraldSchafer 85a7ceaf07
persist falling until message sent (#1982)
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-08-06 14:46:19 -07:00
Adeeb Shihadeh df78c9d4df remove dead lines from calibrationd 2020-08-06 13:57:01 -07:00
Harald Schafer 687afa9687 wrong units 2020-08-05 13:45:58 -07:00
Harald Schafer 7032a40717 Revert "persist falling test"
This reverts commit 8cad9375d3.
2020-08-05 10:46:26 -07:00
Harald Schafer 8cad9375d3 persist falling test 2020-08-05 10:44:40 -07:00
HaraldSchafer 490ee52687
add fall filter and less FP on posenet (#1971)
* add fall filter and less FP on posenet

* add alert

* list

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-08-03 15:51:56 -07:00
Adeeb Shihadeh 1208ac424d
Cleanup locationd msg building (#1972)
* cleanup locationd msg building

* remove that
2020-08-03 14:58:15 -07:00
HaraldSchafer 8e2d344135
Misc locationd improvements (#1714)
* I like this more

* rewind less

* bump rednose

* falling off windshield detectopr

* adjust thresholds

* this is a soft disable now

* move that

* process replay fixes

* update refs

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-07-30 15:33:22 -07:00
Willem Melching e0e7c7486d
remove old params learner (#1918) 2020-07-24 18:43:17 +02:00
Adeeb Shihadeh eb1aa3d831
Wunused (#1841)
* enable Wunused, first pass

* unused stuff in snpe model

* these are used on phone

* handle sigint and sigterm in modeld

* fix phone build

* camera qcom

* QCOM build works

* delete unused camerad vars

Co-authored-by: Comma Device <device@comma.ai>
2020-07-09 09:25:32 -07:00
Willem Melching 16a23c98fa eon needs include for errno 2020-06-23 16:05:47 -07:00
Willem Melching 28110ea880 Set timeouts on boardd and ubloxd receive sockets 2020-06-23 15:56:30 -07:00
Willem Melching 31ea066acb Revert "fix #1762, add timeout on ubloxRaw receive"
This reverts commit 0842e98ad8.
2020-06-23 15:43:29 -07:00
Willem Melching 0842e98ad8 fix #1762, add timeout on ubloxRaw receive 2020-06-23 15:26:25 -07:00
Willem Melching bfeefb6fd3
Locationd: only process valid log messages (#1761) 2020-06-22 14:41:15 -07:00
Willem Melching 264015c584
cleanup no sensor data alert (#1760) 2020-06-22 14:27:07 -07:00
Willem Melching 9e273eb2ec ubloxd free->delete, fixes #1742 2020-06-19 13:56:46 -07:00
HaraldSchafer 637eecc2b2
save bad calib too for display (#1678) 2020-06-15 17:20:49 -07:00