Commit Graph

80 Commits

Author SHA1 Message Date
Willem Melching 47aec23fb3 modeld: sync based on frame timestamp (#23901)
* sync based on frame ts

* log extra frame id

* ints only

* update ref

* no rounding errors
old-commit-hash: 492398826f26b707ea9922045ef8a134a1d0cc0c
2022-03-07 10:46:15 +01:00
Adeeb Shihadeh 2e91f016bb modeld: remove support for small model (#23803)
* modeld: remove support for small model

* use extra
old-commit-hash: 8a19d9892efacc7078f1dbbddf45afedd8afe2ec
2022-02-28 10:32:39 -08:00
Willem Melching ad5ccabce3 bigmodel (#23684)
* Added wide cam vipc client and bigmodel transform logic

* Added wide_frame to ModelState, should still work normally

* Refactored image input into addImage method, should still work normally

* Updated thneed/compile.cc

* Bigmodel, untested: 44f83118-b375-4d4c-ae12-2017124f0cf4/200

* Have to initialize extra buffer in SNPEModel

* Default paramater value in the wrong place I think

* Move USE_EXTRA to SConscript

* New model: 6c34d59a-acc3-4877-84bd-904c10745ba6/250

* move use extra check to runtime, not on C2

* this is always true

* more C2 checks

* log if frames are out of sync

* more logging on no frame

* store in pointer

* print sof

* add sync logic

* log based on sof difference as well

* keep both models

* less assumptions

* define above thneed

* typo

* simplify

* no need for second client is main is already wide

* more comments update

* no optional reference

* more logging to debug lags

* add to release files

* both defines

* New model: 6831a77f-2574-4bfb-8077-79b0972a2771/950

* Path offset no longer relevant

* Remove duplicate execute

* Moved bigmodel back to big_supercombo.dlc

* add wide vipc stream

* Tici must be tici

* Needs state too

* add wide cam support to model replay

* handle syncing better

* ugh, c2

* print that

* handle ecam lag

* skip first one

* so close

* update refs

Co-authored-by: mitchellgoffpc <mitchellgoffpc@gmail.com>
Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 85efde269da2680a77c75c248aafc8c29435ca98
2022-02-19 16:06:31 -08:00
Dean Lee 70e06287f7 posenet_publish: use const references (#23310)
old-commit-hash: 1fc1382480f2d346762bf91353f9f582b4d7d07e
2021-12-27 13:31:42 -08:00
Adeeb Shihadeh ea2dcf9d37 modeld: start publishing before calib seen (#23190)
old-commit-hash: fa62b9d3f9882ec33559ceb7377fa991be1d4fb5
2021-12-14 17:04:40 -08:00
Greg Hogan f1f2a52a5c model output struct for metadata (#23139)
* model output struct for metadata

* better max element search

* ModelDataRawDesireProb.to_array()

* eliminate some copies

* not worth messing with softmax now

* remove unused includes

* more cleanup

* no longer pointers

* better variable name

* fix recurrent state

* improve variable name

* fix OUTPUT_SIZE and NET_OUTPUT_SIZE
old-commit-hash: 40d2e4ec9075b25a8000692ffe4ffc419babc87c
2021-12-12 11:41:25 -08:00
Dean Lee 4411f90df0 driving.cc: const reference the return value of get_best_prediction (#22797)
old-commit-hash: fe22a3563c300e8c10b70a67dfa7c1a0393d0421
2021-11-05 15:07:44 -07:00
Greg Hogan 466288eff0 ModelDataRaw struct part 4 (#22673)
* convert model data for leads to struct

* make things more consistent

* change names with path to plan

* consistent use of plural
old-commit-hash: 7bb13acc45c645c222bc22831008ad45f30e6a7d
2021-10-25 16:46:09 -07:00
Greg Hogan cab0fbed7e ModelDataRaw struct part 3 (#22639)
* lane lines and road edges

* roll back some changes to find what broke things

* rollback more changes to find issue

* fix order of lane line probs

* try outputs on stack again

* initialize output array
old-commit-hash: 755a0a63a2ff7d62ee3eef723a761548e4b437a5
2021-10-21 14:59:07 -07:00
Greg Hogan 0e89533b19 ModelDataRaw struct part 2 (#22554)
* model pose more struct

* constexpr seems useful

* more concise

* fix order

* seems more readable

* plan struct

* attempt to fix compiling on device

* fix constexpr errors on device

* fix rotation rate in log

* maybe this fixes compiling constexpr on device

* exp() cannot be used in constexpr on c2

* only copy what we actually log

* simplify pivot()

* fix setting position std

* see if this works

* try lambda again

* giving up on the lambda to select member

* fix position std

* fix param order
old-commit-hash: a7f36c9daf65f0642aa395c07c140d82bc2a7a1e
2021-10-19 19:04:01 -07:00
Greg Hogan 961ca7d880 model position std should be exp(std) (#22593)
old-commit-hash: c1c402a821b1d121bb9843f16be8d0c2edd2888f
2021-10-17 19:42:20 -07:00
Greg Hogan 45d9f8ecc2 ModelDataRaw struct with fixed size arrays (#22544)
* convert pose

* fix indexes
old-commit-hash: 21e58f9f4a43e0455ed038cf5e16302803abdf0e
2021-10-13 20:03:15 -07:00
Dean Lee 535550540f modeld: more readable fill_model (#22540)
* more readable fill plan_t_attr

* remove parameter column_offset from fill_xyzt
old-commit-hash: ac9bef1f645910c52283fe067947b6b18cef736f
2021-10-13 19:01:08 -07:00
HaraldSchafer b1ad3e4e8b more readable (#22519)
old-commit-hash: 0885790e346d02ec4581efd4b2900954cc167972
2021-10-11 14:20:44 -07:00
HaraldSchafer db0c802df0 Improved lead model: 6be443f2-ed70-4580-9c31-61b94d068e24/950 (#22290)
* 6be443f2-ed70-4580-9c31-61b94d068e24/950

* meta changed too

* new ref

* new ref from CI

* unused

* Revert "new ref from CI"

This reverts commit 28b6bdc81055c39973d0bf9cc964647838b73a73.

* new ref from CI again
old-commit-hash: 72a736f90e57a7d5845891ea34b17360b6f684d0
2021-09-21 17:36:05 -07:00
George Hotz b4adcd2e56 Use thneed directly on the loaded YUV data (#22236)
* completely untested

* it builds now

* bug fixes, save 1ms

* using a kernel to copy works

* more sane API to loadyuv

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 83ff9ca3314b3d551949c822a98290713a0917bf
2021-09-16 14:13:03 -07:00
Dean Lee a02ecc02c4 ONNXModel: use the actual model file name (#22084)
* use the actual file name

* use macro

* fix typo

* continue

* Apply suggestions from code review

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 7db04ab0c5e1876f6c6bfe6c407a19c4df80158b
2021-09-02 14:21:15 -07:00
Mitchell Goff b7b87efed9 Retuned desire model (#21919)
* New model: d8e7f76f-7bec-4a83-af00-c0fae792527f/950

* Updated process replay refs

* Updated model replay ref
old-commit-hash: 05b37552f3a38f914af41f44ccc7c633ad152a15
2021-08-12 21:06:26 -07:00
Mitchell Goff 2d0512b8a1 Revert "New desire model (#21729)" (#21805)
* Revert "New desire model (#21729)"

This reverts commit 709932b3bfb4c3b4f33711b8d07615469e762832.

* Updated process replay ref and reverted release notes
old-commit-hash: 15d6bbb47c3a33f98d33377d95bf7e69c46565fa
2021-07-30 14:34:29 -07:00
Mitchell Goff 3fb1a1c746 New desire model (#21729)
* New model: b822ee32-917c-4639-99f8-25be3e6aabad/900

* Enable keeps

* use new packet

* Send keep pulses once per second

* Updated model_replay_ref_commit

* New model: 0f160bf9-1bce-43e6-9785-564b2453eeac

* Bump model_replay_ref_commit

* Bump submodules

* New model: fd904bf9-5dd8-4619-8997-c5668400e078/550

* New model: fd904bf9-5dd8-4619-8997-c5668400e078/950

* No keeps

* Bumped model replay ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
old-commit-hash: e83973b9b31199c1594b9be2371a7af0c589c2d9
2021-07-26 21:11:09 -07:00
Willem Melching 7f75519892 make sure tidx+1 doesn't exceed TRAJECTORY_SIZE-1 (#21595)
* make sure tidx+1 doesn't exceed TRAJECTORY_SIZE-1

* Update driving.cc

* Update driving.cc

Co-authored-by: deanlee <deanlee3@gmail.com>
Co-authored-by: HaraldSchafer <harald.the.engineer@gmail.com>
old-commit-hash: 48020e686eacba1dea76d14ff9e807594f7b68e4
2021-07-14 10:07:58 -07:00
robbederks 319a000fe5 Add option to avoid thneed (#21577)
* add option to avoid thneed

* cleaner

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

* fix USE_THNEED in modeld

* cleanup

Co-authored-by: Willem Melching <willem.melching@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2f22207ecef15bdd43e7b93860c5abcff7a245d5
2021-07-13 16:40:20 +02:00
Adeeb Shihadeh 477e2e22d3 Revert model (#21571)
* Revert "New desire model (#21458)"

This reverts commit 9db03d2a3fefff50b738d288beadc2c2e7c3165e.

* revert rel notes
old-commit-hash: 88424ede2c5bdd2beade731717cbb0bb635034e9
2021-07-12 19:26:50 -07:00
HaraldSchafer 7fcdd04541 New desire model (#21458)
* New model: b822ee32-917c-4639-99f8-25be3e6aabad/900

* Enable keeps

* use new packet

* Send keep pulses once per second

* Updated model_replay_ref_commit

* New model: 0f160bf9-1bce-43e6-9785-564b2453eeac

* Bump model_replay_ref_commit

Co-authored-by: mitchell <mitchellgoffpc@gmail.com>
old-commit-hash: 4230d5d2124577b86e69b136d846ca9cc3ecd746
2021-07-07 19:44:17 -07:00
Dean Lee 880d64d615 Refactor ModelFrame struct to class (#20005)
* refactor modelframe

* remove DUMP_YUV

* use constructor/destructor instead of init/free

* OMG...should be clEnqueueReadBuffer

* rebase master

* rebase master

* fix build

* small cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 8da538c18c10f838fba60e86c01bd5de59934bc6
2021-06-19 01:22:50 -07:00
Dean Lee f70a79b838 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
old-commit-hash: c53cb5d570adb82bc454fcabab458d7e7f09738c
2021-06-08 13:46:22 -07:00
Dean Lee 3a698faadc Use full include path (#21194)
old-commit-hash: b06b3ecb60c651dacf079513635f7d9d99228783
2021-06-08 12:09:30 -07:00
HaraldSchafer 8850151ddf Fix planner low speed behaviour (#20990)
* first point is 0

* first point is always now

* print replay diffs

* new ref

* changed wrong commit
old-commit-hash: dc40631e97739c8e55f271501b6356eda52d84ff
2021-05-21 15:10:59 -07:00
Mitchell Goff 78927e4ebb New model outputs (#20933)
* New model: 51a237cd-9c43-4281-9072-802325e6744d/950

* Added new meta outputs and proper interp for plan_t_arr

* Added meta-based trigger for FCW

* No nans in planner, separate alert for model FCW

* Cleaned up plan_t interp logic

* Added empty cameraError alert to fix unit tests

* Use the normal FCW event

* Updated filter logic

* Updated model replay ref

* Moved disengage predictions into their own cereal struct

* Updated model replay ref for new cereal structs

* Apparently this breaks stuff?

* Bumped cereal commit and model replay ref
old-commit-hash: 29cc3500a5161b4d2245b8d041f190533be4ee8e
2021-05-19 22:30:23 -07:00
Dean Lee e333e4f189 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>
old-commit-hash: 7222d0f20dc8edfe0d2f3417d1ce7c84fbd32805
2021-05-08 22:15:17 -07:00
HaraldSchafer 1d36adf351 no heading cost (#20594)
* no heading cost

* live mpc weight config

* need to add stds

* make work on empty data

* no divide by 0

* update refs

* update model replay

* update proc replat

* new model replay ref
old-commit-hash: d72d433ec7a3c9f0bb2f90d196b3826d48d9b1a0
2021-04-06 23:49:29 -07:00
Dean Lee 405df8b165 Params: python-like interface (#20506)
* rebase master

* delete outdated test_params.c

* putBool & more robust getBool

* putBool(SshEnabled)
old-commit-hash: 98e55996f67aaaf715c941d417ae4d3b0187f388
2021-03-30 12:54:59 +02:00
Adeeb Shihadeh 966945880b Cereal cleanup (#20003)
* start cleanup

* fan speed

* cleanup dm

* fix cereal

* hwType -> pandaType

* update refs

* update refs

* bump cereal

* freeSpacePercent

* cereal master
old-commit-hash: 000bd226aa9902da01e6010bf26762fca2c20df0
2021-02-03 19:57:30 -08:00
Comma Device a63dca4659 fix thneed build
old-commit-hash: dcd4bb4f4eac60439e354686b85a67d99c2b0458
2021-02-01 20:34:21 -08:00
Dean Lee 3f7488b73a model_publish: use kj::ArrayPtr<const float> raw_pred (#19917)
old-commit-hash: 0b7b7241c8fd314775fa2a5b3c7c1846ab3f2776
2021-02-01 19:08:17 -08:00
Dean Lee 8c963586f8 model_init: remove memset (#19921)
old-commit-hash: ccf055fd6267bd6bfa0189d2f61d39574548fa80
2021-01-26 16:56:37 +01:00
Dean Lee 52e1efffd5 modeld: remove template from fill_meta (#19862)
old-commit-hash: 1e617a3931608d38d37180c19eeb5f6f39b50efd
2021-01-20 20:50:24 -08:00
George Hotz 3484683199 Thneed load/save (#19700)
* start thneed load/save

* compiling

* fix loading

* build thneed model in scons

* don't hardcode /data/openpilot

* release files

* those too

* support for loading/saving binary kernels

* save binaries out of json band

* make binary a command line flag to the compiler

* need include assert

* fix shadowed common in SConscript

* cleanup run.h

* hmm, the recurrent buffer wasn't 0ed

* ugh, unique ptr

* remove power constraint, refactor record

* Revert "remove power constraint, refactor record"

This reverts commit bb6fa52db6df59cd9d6420a6f630430e35af8a5e.

* print on thneed stop

* fingers crossed for this one

* recorded

* just curious

* okay okay, pass tests?

* cleanups

* refactor wait

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 59fac9fdc630fa78f520fc9a244f9f9cd39fa562
2021-01-19 18:08:31 -08:00
HaraldSchafer 5c2c6691b2 remove old model packet (#19769)
* remove publisher

* move to V2

* radard new model

* fix plant

* change packety

* need hack here too

* change to new

* this has been wrong all along

* no more model msg

* subscribe to new model

* not needed anymore

* make work

* need to ignore that too

* should pass tests, needs car test

* fix process replay

* no more poly

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 124100d0fa42485edaf86cb25f77f27e8917eed1
2021-01-19 17:15:16 -08:00
HaraldSchafer c6d9b9565a Mpc rework2 (#19660)
* start again

* need that too

* this actually works

* not needed

* do properly

* still works

* still works

* still good

* all G without ll

* still works

* all still good

* cleanup building

* cleanup sconscript

* new lane planner

* how on earth is this silent too....

* update

* add rotation radius

* update

* pathplanner first pass

* misc fixes

* fix

* need deep_interp

* local again

* fix

* fix test

* very old

* new replay

* interp properly

* correct length

* another horrible silent bug

* like master

* fix that

* do doubles

* different delay compensation

* make robust to empty msg

* make pass with hack for now

* add some extra

* update ref for increased leg

* test cpu usage on this pr

* tiny bit faster

* purge numpy

* update ref

* not needed

* ready for merge

* try again after recompile

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 158210cde8e689daa04bcaa1e502727cf7bfddb6
2021-01-14 18:43:50 -08:00
HaraldSchafer 89b03fa2ee Test model refactor (#2720)
* template funcion fill_meta

* add function get_plan_max_idx

* add function get_mdn_max_idx

* remove temp builder variables

* get_mdn_max_idx->get_lead_data

* get_pan_max_idx->get_plan_data

* fill_lane_line

* combine fill_lane_line&fill_path into one function

* fill_lead_vw

* using unique_ptr

* prefer using constexpr

* more constexpr,remove duplicate defined TRAJECTORY_SIZE

* remove suffix _arr from variable name

* misc

* remove extern c

* refactor model_publish

* remove unused paramaters

* traffic_convention to c style array

* c style array:prev_desire&pulse_desire

* fix error&make easy for review

* const mat3 &transform

* move cl_command_queue into ModelState

* use maco LEAD_MHP_SELECTION

* move constexpr from .h to .cc

* remove #define MODEL_NAME

* modeldata.h: contexpr

* remove param temporal from model_init

* helper function get_best_data

* fix probs

* int

Co-authored-by: deanlee <deanlee3@gmail.com>
old-commit-hash: 630c7309a560e573a9398acd77c96aedcb65dfae
2020-12-09 22:48:14 -08:00
Dean Lee fb9298b120 fix fille lead (#2703)
old-commit-hash: 531b85b983f8f737ef71d17bf7b68893effcde3e
2020-12-06 13:02:23 -08:00
ZwX1616 f4bdc2127c raw pred api (#2611)
* send both

* update cereal

* ptr type

* this is fine

* clean up

* v1 and v2

* header

* update cereal

* cereal
old-commit-hash: f30d15ea24c3d122b55c2789dc996725f13d0bd6
2020-12-02 18:46:12 -08:00
Dean Lee df9e0b2cb4 simplify building capnp messages with arrays (#2617)
old-commit-hash: bd4f6650faea8b3c42a99087b4f1ce0560b7d652
2020-11-30 12:08:52 +01:00
Willem Melching 19855c90f1 remove check on frame drop in modeld (#2638)
old-commit-hash: feaecbd615a13a93b9486aeb6777c854ae0b0e6a
2020-11-27 16:13:37 +01:00
Adeeb Shihadeh 4be6d905dc update frame drop filter (#2592)
old-commit-hash: d92f923d70712e541de59bf76f23a494dd0c46b4
2020-11-21 14:50:53 -08:00
HaraldSchafer 7c8ea30532 fix frame drop percentage (#2578)
* correct, I think

* add model execution time

* remove unused

* token is a file

* this is gonna change

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 7378bc42845a094bbb22fb76154cb40ecb098aaf
2020-11-19 21:05:29 -08:00
HaraldSchafer faad598e29 Minor fixes 08 (#2565)
* correct indexes

* best metrics yet 30231f46-08af-477e-9d30-776593913c24/700

* sometimes x decreases

* update model refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 7b216e7cbb30f9a7b164cc17bb66b348d728b65e
2020-11-17 20:04:32 -08:00
HaraldSchafer 008f37c749 Torch model (#2452)
* refactor draw model

* rebase master

* correct valid_len

* rename function

* rename variables

* white space

* rebase to master

* e16c13ac-927d-455e-ae0a-81b482a2c787

* start rewriting

* save proress

* compiles!

* oops

* many fixes

* seems to work

* fix desires

* finally cleaned

* wrong std for ll

* dont pulse none

* compiles!

* ready to test

* WIP does not compile

* compiles

* various fixes

* does something!

* full 3d

* not needed

* draw up to 100m

* fix segfault

* wrong sign

* fix flicker

* add road edges

* finish v2 packet

* Added pytorch supercombo

* fix rebase

* no more keras

* Hacky solution to the NCHW/NHWC incompatibility between SNPE and our frame data

* dont break dmonitoringd, final model 229e3ce1-7259-412b-85e6-cc646d70f1d8/430

* fix hack

* Revert "fix hack"

This reverts commit 5550fc01a7881d065a5eddbbb42dac55ef7ec36c.

* Removed axis permutation hack

* Folded padding layers into conv layers

* Removed the last pad layer from the dlc

* Revert "Removed the last pad layer from the dlc"

This reverts commit b85f24b9e1d04abf64e85901a7ff49e00d82020a.

* Revert "Folded padding layers into conv layers"

This reverts commit b8d1773e4e76dea481acebbfad6a6235fbb58463.

* vision model: 5034ac8b-5703-4a49-948b-11c064d10880/780  temporal model: 229e3ce1-7259-412b-85e6-cc646d70f1d8/430  with permute + pool opt

* fix ui drawing with clips

* ./compile_torch.py 5034ac8b-5703-4a49-948b-11c064d10880/780 dfcd2375-81d8-49df-95bf-1d2d6ad86010/450 with variable history length

* std::clamp

* not sure how this compiled before

* 2895ace6-a296-47ac-86e6-17ea800a74e5/550

* db090195-8810-42de-ab38-bb835d775d87/601

* 5m is very little

* onnx runner

* add onnxruntime to pipfile

* run in real time without using the whole CPU

* bump cereal;

* add stds

* set road edge opacity based on stddev

* don't access the model packet in paint

* convert mat.h to a c++ header file (#2499)

* update tests

* safety first

Co-authored-by: deanlee <deanlee3@gmail.com>
Co-authored-by: mitchell <mitchell@comma.ai>
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: George Hotz <george@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 08846b5c0ec3a5299c8cb73904da15a18d3aaccf
2020-11-11 20:31:46 -08:00
Willem Melching 498ecbdf3c Params refactor, simplified (#2300)
* always c++

* Create C++ params class

* get works

* tests hang now

* passes tests

* cleanup string formatting

* handle interrupt in blocking read

* fix memory leak

* remove unused constructor

* Use delete_db_value directly

* Rename put -> write_db_value

* filename cleanup

* no semicolons in cython

* Update common/SConscript

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

* add std::string version of delete_db_value

* This is handled

* cleanup encoding

* Add clear method to clear all

* add persistent params

* fix android build

* Should be called clear_all

* only import params when needed

* set params path on manager import

* recusrively create directories

* Fix function order

* cleanup mkdirp

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2e182e5c574ea1468678b5fd8d0597e34ed5898d
2020-10-13 16:23:23 +02:00