openpilot 0.8.11
Welcome to the second edition of our release blog posts! The first edition was well received and happened to coincide with one of the biggest openpilot releases. This release is on the smaller side, though it features a new car brand port and several car model ports.
Documentation
We’ve setup docs.comma.ai as the home for our developer-oriented documentation. Our existing GitHub Wiki will remain as a resource for users getting openpilot setup in their cars.
Learned something reading the openpilot codebase? Create some documentation and submit a pull request!
Longitudinal planning
The longitudinal MPC solver makes an acceleration plan for the car to execute. This MPC system penalizes jerk, so the acceleration trajectory will always be smooth. In practice though, all this enforces is that the first timestep of the trajectory smoothly change through every iteration of the planner. There is however no cost to keep the rest of the trajectory close to the previous planning solution. With our lag compensation method we don’t use the the first timestep of the acceleration trajectory, so we can still command rapidly changing accelerations, which causes uncomfortable jerk. To combat this we implemented a cost on deviating too much from the previously computed acceleration trajectory.
Navigation
openpilot uses the Mapbox API for generating traffic aware routes to your selected destination. Starting with this release, openpilot is able to use more of the available information from the API response to generate the navigation instructions. Previously, only a single banner was supported per part of the route. Now, the banner might expand with more information when approaching an exit or intersection.
panda
CAN FD
With support for CAN FD on red panda added in this release, openpilot is ready to support your new Hyundai, Ford, or any other CAN FD car.
Multi-panda boardd
boardd, the openpilot daemon that talks to the panda, now supports an arbitrary number of pandas. This will allow for car ports that require more than the 3 CAN buses a single panda offers or a panda with extra functionality, such as the red panda. Tesla longitudinal control (#22561) is the first car port to take advantage of this.
Cars
With the six new supported cars in this release, openpilot now supports more than 150 cars. This release also includes the new Mazda brand port.
Bug fixes
- Fixed comma pedal fault when engaging with the gas pedal pressed (#22942)
- Fixed occasional false positive brake disengages while ACC is braking on the Nissan Leaf thanks to TheKirkMiller! (#22890)
- Fixed occasional steering faults on GM cars thanks to jyoung8607! (#22404)
Improvements
- Tesla longitudinal control (#22561)
- Honda and Toyota have entirely moved to firmware query for fingerprinting (#22827)
- Nissan ECU firmware fingerprinting thanks to robin-reckmann, martinl, and razem-io! (#22655)
- Increment set speed by 5mph on Toyota thanks to cydia2020! (#22678)
- Improved tuning on the Chevy Volt and GMC Acadia thanks to qadmus! (#22899), (#22621)
qadmus has also created some PlotJuggler tuning layouts (#22902). Use them to evaluate and improve the lateral and longitudinal control performance on your car! If you improve your car’s tune, consider opening a pull request for everyone to benefit.
Car Ports
- Cadillac Escalade ESV 2016 support thanks to Gibby! (#22670)
- Genesis G70 2020 support thanks to tecandrew! (#22692)
- Hyundai Santa Fe Hybrid 2022 support thanks to sunnyhaibin! (#22962)
- Mazda CX-9 2021 support thanks to Jacar! (#20864)
- Volkswagen Polo 2020 support thanks to jyoung8607! (#22811)
- Volkswagen T-Roc 2021 support thanks to jyoung8607! (#22967)
Join the team
Interested in solving self driving cars while regularly shipping incredible ADAS software to thousands of users? Join us in the office or on GitHub.