Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VW MEB: Platform support #1696

Draft
wants to merge 719 commits into
base: master
Choose a base branch
from
Draft

VW MEB: Platform support #1696

wants to merge 719 commits into from

Conversation

jyoung8607
Copy link
Collaborator

@jyoung8607 jyoung8607 commented Feb 6, 2025

Support for the Volkswagen ID family and other MEB vehicles. Thanks and credit to @infiniteCable.

  • Harness: Volkswagen C (issue link TBD)
  • Route with stock Travel Assist: 81dd9e9fe256c397/0000002f--bff24fca36
  • Route with openpilot, stock long: 81dd9e9fe256c397/0000001f--97c42cf98d
  • Process replay route: TBD

Safety layer TODO

  • VW MEB: CAN ignition panda#2160
  • VW MEB: Reserve safety identifier #1931
  • Verify CAN ignition is actually necessary
  • Move to DEBUG until comma releases from dashcam
  • Look for opportunities to consolidate code with MQB and MQBevo
    • checksum support
    • rx steering angle, driver input torque
  • Lateral control safety
    • curvature to lateral accel ISO limits (switching to power control exclusively)
    • driver override power control
  • CI tests
    • General (wheel speeds, gas/brake, driver input torque, ACC buttons, ACC state)
    • curvature to lateral accel ISO limits (switching to power control exclusively)
    • driver override power control

Driving layer TODO

De-scoped from initial merge TODO:

  • Explicit opendbc checksum tests (deferred because CAN-FD messages are doing something weird)
  • EA mitigation, current solution works but see if simulating capacitive touch is better
  • Alpha openpilot longitudinal control
    • Test radar UDS knockout from camera
    • Fix cruise fault logic at startup/standstill
    • Fix nonAdaptive bug
    • Verify nature/need of the ACC API fault-avoidance carcontroller code
    • Verify nature/need of special HUD code (temporarily set aside in 42b708b)
    • Verify radar code is doing what we need
    • Panda safety tests (written, just backed out)

… beginning of long override to prevent panda safety from blocking this request (lower this possibility)
…nce and time gap values for now as long as we dont use model data
@jyoung8607
Copy link
Collaborator Author

@sshane When you get a chance, let me know your impression of how the ID.4 drives compared to other comma cars. Feel free to adjust the STEER_POWER constants if you feel the need, I was thinking about lowering the MIN slightly.

I did not clearly understand the way angle control maps to curvature, particularly the different ways that VW would use it as compared to Ford, so I tried my own implementation of curvature and power limits. If you're okay with that method (assuming we add some tests) the way it's done can replicated entirely within Panda.

This method does shortchange you a bit when taking a banked curve; you'll notice that on the comma test loop. However, I don't think the Ford-style angle control would help us here either. It would be nice if there were a way to communicate openpilot's localizer roll down to Panda, that way we could compensate.

The only other problem I'm aware of is that stock ACC sometimes doesn't want to reengage immediately after a disengage. I didn't have time to study why that was, or whether it affects stock. The problem only lasts a couple seconds.

Let me know if you run into anything else!

@sshane
Copy link
Contributor

sshane commented Feb 27, 2025

comma hack 5 device: 81dd9e9fe256c397

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
car safety vehicle-specific safety code car related to opendbc/car/ volkswagen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants