GM: Volt NanoFF
Description
Adds a neural controller for Volt à la Bolt. See discussion here.
Verification
NLL is -1.71 on a 5-fold CV. θ parameter ("uncertainty") output values on the domain of interest seem sensible and close to those output by the Bolt controller on a similar dataset. A -1.73 can be squeezed out by changing the hidden layer sizes but that difference is small enough that I opted just to keep the same hidden layer sizes as the Bolt network.
Thanks for contributing to openpilot! In order for us to review your PR as quickly as possible, check the following:
- Convert your PR to a draft unless it's ready to review
- Read the contributing docs
- Before marking as "ready for review", ensure:
- the goal is clearly stated in the description
- all the tests are passing
- the change is something we merge
- include a route or your device' dongle ID if relevant
Marking as WIP until ML controls sim v2 exists to validate this
We've moved the car interfacing code to our opendbc repository, which is now the new home for car ports and fingerprints. Please re-open your pull request against opendbc at your convenience by using this command below. This will transform all changes under selfdrive/car/ to opendbc_repo/opendbc/car/. Make sure you have initialized submodules beforehand and have checked out the latest opendbc commit.
PR_NUMBER=33045
curl -L https://github.com/commaai/openpilot/pull/$PR_NUMBER.patch | sed -e 's/selfdrive\/car/opendbc_repo\/opendbc\/car/g' | git apply -v --reject
Simply replace the PR number with your own. Once done, add the files, fix any conflicts, and open a new PR. Alternatively, you may start a new PR from scratch if that is easier for you.