Difference between revisions of "Volkswagen"

From comma wiki
Jump to: navigation, search
(Further support updates)
(Move B8 Passat from untested to tested)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Overview =
 
= Overview =
Comma AI currently has no official Volkswagen support, but a community port is in progress, with plans to upstream for official support soon. The current port should support all [https://en.wikipedia.org/wiki/Volkswagen_Group_MQB_platform Volkswagen MQB] vehicles with factory options for ACC and LKAS. Each MQB vehicle uses the same basic architecture and CAN messaging, but will need individual tuning for best openpilot performance.
+
Comma AI currently has no official support for Volkswagen brands, but a community port is available, with plans to upstream for official support in the near future. The community port is designed to support any [https://en.wikipedia.org/wiki/Volkswagen_Group_MQB_platform Volkswagen MQB] vehicle with ACC radar. Check the [[Volkswagen#Vehicle Support|Vehicle Support]] section for details and caveats.
  
 
== User Experience ==
 
== User Experience ==
  
Stop-and-go support will partly depend on the car. From the factory, vehicles with "ACC high" support follow-to-stop and automatic resume if the stop is less than three seconds. OP can improve on that by resuming on behalf of the driver after longer delays. Vehicles with "ACC low" support follow-to-stop but will require the driver take over and hold the brake after a very short delay, and resume from stop is moot. Older non-MQB systems (not supported at this time) may not be able to follow-to-stop.
+
=== Lateral Control ===
 +
Lateral is provided by openpilot. All MQB vehicles tested to-date support steering down to 0mph. For vehicles with factory lane assist, it will be ignored when Panda is installed and filtering CAN traffic. The Lane Assist enable/disable checkbox in the instrument cluster or infotainment unit will still be present, but will not do anything.
  
= Vehicle Support =
+
Available steering torque is adequate for most highway driving conditions. All MQB models support the exact same amount of commanded torque, but the different steering rack and suspension geometry between models can result in different effective performance. For example, the Volkswagen Atlas with its high-static ratio steering has been tested to handle curves somewhat better than the Golf GTI or Golf R which have tighter-variable ratio steering suited to higher performance driving.
 +
 
 +
=== Longitudinal Control ===
 +
Longitudinal control remains with stock ACC, although OP takes control of the engagement process for additional safety and feature needs. The minimum ACC setpoint is 20mph/30kph. Exact behavior depends on whether the vehicle has "ACC High" or "ACC Low" from the factory.
 +
 
 +
:'''Stock ACC High:''' These vehicles support follow-to-stop and automatic resume if the stop is less than three seconds, from the factory. OP can improve on that by resuming on behalf of the driver after longer delays. "ACC high" requires an electronic parking brake, and does make use of it under certain conditions. If the vehicle in question has an EPB, chances are good it supports "ACC high".
 +
 
 +
:'''Stock ACC Low:''' These vehicles generally support follow-to-stop (XXX review this: may be near-stop only) but will require the driver take over and hold the brake after a very short delay. Resume from stop is moot as "ACC low" vehicles will not hold themselves at a stop. Any vehicles with a manual parking brake, either foot or hand operated, will fall into this category.
 +
 
 +
== Getting Started ==
 +
 
 +
=== Before You Start ===
 +
Make sure your car is on the supported list, see below. If it's not, or you're in doubt, contact us on Discord in #volkswagen with questions.
 +
 
 +
=== What You Need ===
 +
* An [https://comma.ai/shop/products/eon-gold-dashcam-devkit EON DevKit] to run openpilot. Highly recommended. No, you can't run this on a random smartphone, or a Raspberry Pi, or anything else. Yes, it's possible to make your own (a "frEON") but it's not nearly as simple as you might think. You need extremely specific phone hardware and additional parts, access to a 3D printer, and soldering skills. The vision model is extremely tightly coupled to hardware only found in two specific phone models. It's been discussed to death in the community, and further detail is outside the scope of the Volkswagen Wiki and channel.
 +
 
 +
* A [https://comma.ai/shop/products/panda-obd-ii-dongle White Panda] interface to connect EON to your car. It's cheap and will do what you need. Grey and Black Panda have a high-precision GPS which will be useful for future map-based features, so they're desirable if you're willing to spend more. However, Black Panda (the Car Harness) doesn't yet have a Volkswagen wiring adapter. Grey Panda works fine if you can get one, but it's been discontinued in favor of Black Panda.
 +
 
 +
* A wiring harness to connect Panda to your car. Comma do not sell one at this time. You can make one yourself from the wiring diagram below, or purchase a community-made harness from @jyoung8607 on Discord.
 +
** @jyoung8607 personal comment: FYI I am not a Comma employee and do not represent Comma. I make these in my spare time for the community. I generally fabricate and ship them in less than a week after I receive payment, but that may vary. Contact me via DM on Comma's discord with questions or when you're ready to order.
 +
 
 +
= Supported Vehicles =
  
 
== Fully Tested and Supported ==
 
== Fully Tested and Supported ==
* 2013-current Mk3 Škoda Octavia [https://en.wikipedia.org/wiki/%C5%A0koda_Octavia#Mk3 Wiki]
+
These vehicles are confirmed supported by the community Volkswagen port, because they have been tested on at least one representative car in the wild.
* 2018-2019 Mk1 Volkswagen Atlas (Teramont in some markets) [https://en.wikipedia.org/wiki/Volkswagen_Atlas Wiki]
+
 
** Requires SE with Tech and above for ACC/LKAS
+
The vehicle must have ACC (radar-based cruise control). For vehicles without factory Lane Assist, a diagnostic tool will be needed to make minor coding changes to the steering rack in order for OP to steer, and coding changes to the instrument cluster will be needed to receive feedback and status information.
* 2012-2017 Mk7 Volkswagen Golf R [https://en.wikipedia.org/wiki/Volkswagen_Golf_Mk7#Golf_R Wiki]
+
 
** DAP (Driver Assistance Package) required to get factory ACC/LKAS
+
* 2012-2019 Mk3 Audi A3 (tested variants only) [[https://en.wikipedia.org/wiki/Audi_A3#Third_generation_(Typ_8V;_2012%E2%80%93present) Wiki]]
* 2018-2019 Mk7.5 Volkswagen Golf R [https://en.wikipedia.org/wiki/Volkswagen_Golf_Mk7#Golf_R Wiki]
+
** A3
** ACC/LKAS is standard
+
* 2013-current Mk3 Škoda Octavia [[https://en.wikipedia.org/wiki/%C5%A0koda_Octavia#Mk3 Wiki]]
 +
* 2018-2019 Mk1 Volkswagen Atlas (Teramont in some markets) [[https://en.wikipedia.org/wiki/Volkswagen_Atlas Wiki]]
 +
* 2012-2019 Mk7 and Mk7.5 Volkswagen Golf (tested variants only) [[https://en.wikipedia.org/wiki/Volkswagen_Golf_Mk7 Wiki]]
 +
** ''Please note the MY changeover from Mk6 to Mk7 varied by market, USA did not get Golf 7 until MY 2014!''
 +
** e-Golf (appears to support ACC High features even though factory build data shows ACC Low!)
 +
** Golf
 +
** Golf GTI
 +
** Golf R
 +
* 2015-current B8 Volkswagen Passat [[https://en.wikipedia.org/wiki/Volkswagen_Passat_(B8) Wiki]]
 +
** This is NOT the Passat currently available in North America, which is based on the currently unsupported NMS platform
  
 
== Supportable but Untested ==
 
== Supportable but Untested ==
* All MQB vehicles not listed above, with factory ACC and LKAS
+
These vehicle-classes ''should'' work fine with openpilot, to the best of our information, but have not yet been tested. Minor tweaks or other support may be needed. Be cautious if making an openpilot or vehicle purchase decision based on this information. If in doubt, ask on Discord.
** 2018-current Mk2 Audi A1 (listed as MQB-A0, but confirmed to have factory ACC and LKAS options) [https://en.wikipedia.org/wiki/Audi_A1#Second_generation_(2018-) Wiki]
+
 
** 2012-current Mk3 Audi A3, S3 and RS3 [https://en.wikipedia.org/wiki/Audi_A3#Third_generation_(Typ_8V;_2012%E2%80%93present) Wiki]
+
* All MQB vehicles not listed above, with ACC radar
** 2014-current Mk3 Audi TT [https://en.wikipedia.org/wiki/Audi_TT#TT_Mk3_(Type_FV/8S,_2014%E2%80%93present) Wiki]
+
** 2018-current Mk2 Audi A1 (listed as MQB-A0, but confirmed to have factory ACC and LKAS options) [[https://en.wikipedia.org/wiki/Audi_A1#Second_generation_(2018-) Wiki]]
** 2017-current Mk1 Audi Q2 [https://en.wikipedia.org/wiki/Audi_Q2 Wiki]
+
** 2012-current Mk3 Audi A3 variants not explicitly tested so far [[https://en.wikipedia.org/wiki/Audi_A3#Third_generation_(Typ_8V;_2012%E2%80%93present) Wiki]]
** 2018-current Mk2 Audi A3 [https://en.wikipedia.org/wiki/Audi_Q3#Second_generation_(2018%E2%80%93present) Wiki]
+
*** Audi S3
** 2016-current Mk1 SEAT Ateca [https://en.wikipedia.org/wiki/SEAT_Ateca Wiki]
+
*** Audi RS3
** 2012-current Mk3 SEAT León [https://en.wikipedia.org/wiki/SEAT_Le%C3%B3n#Mk3 Wiki]
+
** 2014-current Mk3 Audi TT [[https://en.wikipedia.org/wiki/Audi_TT#TT_Mk3_(Type_FV/8S,_2014%E2%80%93present) Wiki]]
** 2019-current Mk1 SEAT Tarraco [https://en.wikipedia.org/wiki/SEAT_Tarraco Wiki]
+
** 2017-current Mk1 Audi Q2 [[https://en.wikipedia.org/wiki/Audi_Q2 Wiki]]
** 2019-current Mk1 Škoda Kamiq [https://en.wikipedia.org/wiki/%C5%A0koda_Kamiq Wiki]
+
** 2018-current Mk2 Audi Q3 [[https://en.wikipedia.org/wiki/Audi_Q3#Second_generation_(2018%E2%80%93present) Wiki]]
** 2017-current Mk1 Škoda Karoq [https://en.wikipedia.org/wiki/%C5%A0koda_Karoq Wiki]
+
** 2016-current Mk1 SEAT Ateca [[https://en.wikipedia.org/wiki/SEAT_Ateca Wiki]]
** 2017-current Mk1 Škoda Kodiaq [https://en.wikipedia.org/wiki/%C5%A0koda_Kodiaq Wiki]
+
** 2012-current Mk3 SEAT León [[https://en.wikipedia.org/wiki/SEAT_Le%C3%B3n#Mk3 Wiki]]
** 2019-current Mk1 Škoda Scala [https://en.wikipedia.org/wiki/%C5%A0koda_Scala Wiki]
+
** 2019-current Mk1 SEAT Tarraco [[https://en.wikipedia.org/wiki/SEAT_Tarraco Wiki]]
** 2015-current B8 Škoda Superb [https://en.wikipedia.org/wiki/%C5%A0koda_Superb#Third_generation_(B8,_Typ_3V;_2015%E2%80%93present) Wiki]
+
** 2019-current Mk1 Škoda Kamiq [[https://en.wikipedia.org/wiki/%C5%A0koda_Kamiq Wiki]]
** 2018-current Mk1 Volkswagen Arteon [https://en.wikipedia.org/wiki/Volkswagen_Arteon Wiki]
+
** 2017-current Mk1 Škoda Karoq [[https://en.wikipedia.org/wiki/%C5%A0koda_Karoq Wiki]]
** 2018-current Mk4 Volkswagen Bora [https://en.wikipedia.org/wiki/Volkswagen_Bora_(China)#Fourth_generation_(2018%E2%80%93present) Wiki]
+
** 2017-current Mk1 Škoda Kodiaq [[https://en.wikipedia.org/wiki/%C5%A0koda_Kodiaq Wiki]]
** 2013-2019 Volkswagen Golf variants not explicitly tested so far (Mk7 and Mk7.5) [https://en.wikipedia.org/wiki/Volkswagen_Golf_Mk7 Wiki]
+
** 2019-current Mk1 Škoda Scala [[https://en.wikipedia.org/wiki/%C5%A0koda_Scala Wiki]]
*** Golf
+
** 2015-current B8 Škoda Superb [[https://en.wikipedia.org/wiki/%C5%A0koda_Superb#Third_generation_(B8,_Typ_3V;_2015%E2%80%93present) Wiki]]
*** Golf Sportwagen
+
** 2018-current Mk1 Volkswagen Arteon [[https://en.wikipedia.org/wiki/Volkswagen_Arteon Wiki]]
 +
** 2018-current Mk4 Volkswagen Bora [[https://en.wikipedia.org/wiki/Volkswagen_Bora_(China)#Fourth_generation_(2018%E2%80%93present) Wiki]]
 +
** 2013-2019 Volkswagen Golf variants not explicitly tested so far (Mk7 and Mk7.5) [[https://en.wikipedia.org/wiki/Volkswagen_Golf_Mk7 Wiki]]
 
*** Golf Alltrack
 
*** Golf Alltrack
*** e-Golf
+
*** Golf GTD
*** GTI
+
*** Golf GTE
*** GTI TCR
+
*** Golf GTI TCR
*** GTE
+
*** Golf Sportsvan / SV
*** GTD
+
*** Golf SportWagen
** 2018-current Volkswagen Tiguan (Mk2)
+
** 2019-current Volkswagen Jetta (except GLI) and Sagitar (Mk7) [[https://en.wikipedia.org/wiki/Volkswagen_Jetta#A7 Wiki]]
 +
*** The GLI variant is architecturally compatible, but factory ACC appears unavailable (thanks for nothing VW)
 +
** 2015-current Mk1 Volkswagen Lamando [[https://en.wikipedia.org/wiki/Volkswagen_Lamando Wiki]]
 +
*** Made in China, limited info available, unable to fully verify
 +
** 2018-current Mk3 Volkswagen Lavida [[https://en.wikipedia.org/wiki/Volkswagen_Lavida#Third_generation Wiki]]
 +
*** Made in China, limited info available, unable to fully verify
 +
** 2018-current Mk6 Volkswagen Polo [[https://en.wikipedia.org/wiki/Volkswagen_Polo#Sixth_generation_(Typ_AW;_2018%E2%80%93present) Wiki]]
 +
** 2019-current Mk1 Volkswagen T-Cross [[https://en.wikipedia.org/wiki/Volkswagen_T-Cross Wiki]]
 +
** 2018-current Mk1 Volkswagen Tayron [[https://en.wikipedia.org/wiki/Volkswagen_Tayron Wiki]]
 +
*** Made in China, limited info available, unable to fully verify
 +
** 2016-current Mk2 Volkswagen Tiguan [[https://en.wikipedia.org/wiki/Volkswagen_Tiguan#Second_generation_(2016%E2%80%93present) Wiki]]
 +
*** In North America, all 2016-2017 Tiguans and the 2018 Tiguan "Limited" are unsupported PQ46 Mk1; all other 2018 and all 2019-forward are MQB Mk2
 +
** 2018-current Mk1 Volkswagen Tharu / Tarek [[https://en.wikipedia.org/wiki/Volkswagen_Tharu Wiki]]
 +
*** Made in China, limited info available, unable to fully verify
 +
** 2015-current Mk2 Volkswagen Touran [[https://en.wikipedia.org/wiki/Volkswagen_Touran#Second_generation_(2015%E2%80%93present) Wiki]]
  
 
== Long Term Roadmap ==
 
== Long Term Roadmap ==
* MQB vehicles that fall outside current support requirements
+
We think these vehicles can be supported at some point, but they are not supported just yet. Code changes will be required. There are no firm dates for any of these items. If you have a vehicle in this section and are interested in testing with openpilot, please ask on Discord before proceeding.
** Manual transmission (tested successfully with @tmatheso, just need to integrate into main code base)
+
 
** No factory LKAS (very easy, we just need to test with one)
+
* Support has been tested for vehicles without a DSG/auto transmission, but owners should contact us on Discord for the moment as the changes have not yet been integrated into the main codebase. This includes manual transmission vehicles and the e-Golf.
** No factory ACC (much more involved, but possible in the long term)
 
 
* Vision-only longitudinal control using visiond to drive known ACC messaging, for vehicles without radar
 
* Vision-only longitudinal control using visiond to drive known ACC messaging, for vehicles without radar
* Enhanced longitudinal control with radar data, on vehicles with a radar-to-camera sensor fusion CAN bus
+
** Radar data fusion might be possible later, if radar points are available on the sensor fusion bus, but this is not yet known
 
+
* All PQ35/PQ46/NMS vehicles. We hope and plan to provide some level of support in the long-term future, but have nothing to announce just yet. Vehicles in this set ''may or may not be supportable''. Most if not all should have electric power steering racks, but they may or may not have configurable support for Lane Assist commands. Some of these may not have ACC available or be compatible with retrofits. Do not purchase a vehicle based solely on this list.
* All PQ35/PQ46/NMS vehicles (hope and plan to support in the future, but not yet)
+
** PQ35: https://en.wikipedia.org/wiki/Volkswagen_Group_A_platform#A5_(PQ35)
** Volkswagen Beetle 2012-2018
+
** PQ46, including New Midsize Sedan (NMS): https://en.wikipedia.org/wiki/Volkswagen_Group_B_platform#PQ46_(A6)
** Volkswagen Passat 2011-present in North America, including the 2020 refresh
+
* All [https://en.wikipedia.org/wiki/Volkswagen_Group_MLB_platform MLB and MLBevo] vehicles (requires FlexRay support, VERY long term future)
 
+
** 2018-current Volkswagen Touareg
* All MLB and MLBevo vehicles (requires FlexRay support)
+
** All modern Audi not listed as MQB: A4, A5, A6, A7, A8, R8, Q5, Q7, Q8, e-Tron SUV and all variants thereof
** Volkswagen Touareg 2018-present
+
* All future [https://en.wikipedia.org/wiki/Volkswagen_Group_MEB_platform MEB] (new electric mass-market platform) vehicles, big question marks here until we see one, but we have cautious optimism.
  
 
== Unsupportable ==
 
== Unsupportable ==
These vehicles either don't have electric power steering, or we don't have a known control channel.
+
These vehicles either don't have electric power steering, or we don't have a known control channel, or there is no factory option or ability to retrofit the necessary ACC and steering components. Support could be reexamined if new information comes to light, but at this time we have no plans to investigate further.
  
 
* Volkswagen Touareg prior to 2018 (hydraulic power steering, lane departure warning only via steering wheel haptic)
 
* Volkswagen Touareg prior to 2018 (hydraulic power steering, lane departure warning only via steering wheel haptic)
 
* Volkswagen Phaeton (hydraulic power steering, lane departure warning only via steering wheel haptic)
 
* Volkswagen Phaeton (hydraulic power steering, lane departure warning only via steering wheel haptic)
 
+
* MQB-A0 supermini and city cars without factory options for ACC or LKAS. However, the MQB-A0 Audi A1 and VW Polo have optional ACC and LKAS, so other MQB-A0 vehicles may have some hope for retrofits.
* MQB-A0 supermini and city cars without factory options for ACC or LKAS (willing to reexamine if new evidence is found)
+
** 2017-current SEAT Arona [[https://en.wikipedia.org/wiki/SEAT_Arona Wiki]]
** SEAT Arona
+
** 2017-current SEAT Ibiza [[https://en.wikipedia.org/wiki/SEAT_Ibiza#Fifth_generation_KJ_(2017%E2%80%93present) Wiki]]
** SEAT Ibiza
+
* [https://en.wikipedia.org/wiki/Volkswagen_Group_New_Small_Family_platform NSF (New Small Family)] supermini models without factory options for ACC or LKAS.
** SEAT Mii
+
** 2011-current SEAT Mii [[https://en.wikipedia.org/wiki/SEAT_Mii Wiki]]
** Škoda Citigo
+
** 2011-current Škoda Citigo [[https://en.wikipedia.org/wiki/%C5%A0koda_Citigo Wiki]]
** Volkswagen Up!
+
** 2011-current Volkswagen Up! [[https://en.wikipedia.org/wiki/Volkswagen_Up Wiki]]
  
 
= Architecture =
 
= Architecture =
  
== Hardware ==
+
== Vehicle Hardware ==
 
The radar and camera are standard Bosch hardware running software customized for VW MQB. The forward radar can be any of three: Bosch LRR3 (very old and uncommon), Bosch MRR1plus (older and common), or Bosch MRREvo14F (newer and common). The camera is Bosch's MPC1(?) monocular multipurpose camera.
 
The radar and camera are standard Bosch hardware running software customized for VW MQB. The forward radar can be any of three: Bosch LRR3 (very old and uncommon), Bosch MRR1plus (older and common), or Bosch MRREvo14F (newer and common). The camera is Bosch's MPC1(?) monocular multipurpose camera.
  
== CAN Topology ==
+
Steering rack imposed limits for Heading Control Assist:
XXX J533 concept
+
* Cannot steer at a standstill, but appears to work at any nonzero speed
XXX wiring diagram
+
** HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
XXX bus topology
+
* Commanded torque limit: 3.0 newton-meters
 
+
** HCA goes to not ready and HCA torque is ignored if this is violated
The Volkswagen OBDII port delivers only a CAN Diagnose high/low signal. A [[J533_Sniffing_Cable]] is needed to connect your panda.
+
* Rate of change: 5.0 nm/seconds
 +
** Found in certain documentation, but not observed in real world, at least not as a steering-disabling fault
 +
* Continuous time limit for HCA to be engaged: 180 seconds
 +
** Documented at 300 seconds in some places, 180 in others, 180 observed in real world testing
 +
** HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
 +
** Working around this by disabling steering for one frame for every zero crossing
 +
* Same/stuck torque input detection: 6 seconds
 +
** Not documented anywhere, but observed in real world testing
 +
** HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
 +
** Working around this by introducing slight noise, 0.01nm reduction in torque for one frame 1x/second
  
The following is being proposed as a [https://github.com/jyoung8607/openpilot/tree/vw-us Safety Model]  for Panda interaction. Work in Progress.
+
== Controller Area Network (CAN) ==
  
Change your EON to [https://github.com/jyoung8607/openpilot/tree/vw-063-base jyoung's repo]. EON will flash Panda automatically to a version that uses VW Safety Model by default.
+
=== Topology ===
 +
XXX TBD J533 concept
  
This achieves the following goals
+
=== Critical Messages and Flows ===
 +
XXX TBD detail around certain select messages read or sent by OP
 +
* LWI_01
 +
* EPS_01 / LH_EPS_03
 +
* ACC_06
 +
* Getribe_11
 +
* HCA_01
 +
* LDW_02
  
- Filter stock Camera messages from Can1 extended CAN hook up
+
=== Integration at J533 Gateway ===
  
- Send filter data with crafted OP steering messages to Can0
+
J533 gateway pinout:
 
 
- Your car works normally without EON, only the lane-assistant function is not available.
 
 
 
=== #volkswagen hook-up / Filtering configuration ===
 
Replacing the stock cable with a Y-harness that routes Extended CAN -bus via Panda will require you to keep Panda connected at all times or create switches similar to Giraffe.
 
 
 
Aciid's cable https://i.imgur.com/VP64k87.jpg ( Pinout https://i.imgur.com/k1EYXj7.png )
 
 
 
[[J533_Sniffing_Cable]] components for J553, create the pinout to mimic the stock adapter, with the following alteration. You still need to route most 20 wires between original connector and the J553 unit, Terminal 15 (ign), Terminal 30 and GND go to Panda as well. Extended CAN goes first to Panda, then is routed back to J533.
 
 
<pre>
 
<pre>
Panda pin 6 - J533 pin 17 ( Extended High )
+
T20/1  -- POWER    -- gr/ro terminal 30 power from 5a fuse SC5
Panda pin 14 - J533 pin 7 ( Extended Low )
+
T20/2  -- passthru  -- rt/vi terminal 30 power from 18a fuse SB18 (optional, w/o start/stop)
Panda pin 11 - Wiring harness connector pin LOW ( Wiring harness Low )
+
T20/3  -- passthru  -- vi/ws LIN bus to BEM
Panda pin 3 - Wiring harness connector pin HIGH ( Wiring harness High )
+
T20/4  --          -- unused
 
+
T20/5  -- passthru  -- or/br Comfort CAN Low
Can0 - should connect to j533 on 7/17
+
T20/6  -- passthru  -- or/br Powertrain CAN Low
Can1 - should connect to the car wiring that used to be hooked up to 7/17, along with a 120 ohm termination resistor
+
T20/7 -- PANDA 1/3 -- or/br Extended CAN Low
Can2 - not used yet
+
T20/8  -- passthru  -- or/br Suspension CAN Low
Thanks jyoung8607
+
T20/9  -- passthru  -- or/br Diagnostic CAN Low / T16/14 on DLC
 +
T20/10 -- passthru  -- or/br Infotainment CAN Low
 +
T20/11 -- GROUND    -- br    Ground
 +
T20/12 -- passthru  -- br    Ground
 +
T20/13 -- passthru  -- vi/bl LIN bus to steering column electronics
 +
T20/14 -- IGNITION  -- sw/vi terminal 15 power from PC3/A192
 +
T20/15 -- passthru  -- or/gn Comfort CAN High
 +
T20/16 -- passthru  -- or/sw Powertrain CAN High
 +
T20/17 -- PANDA 1/3 -- or/gr Extended CAN High
 +
T20/18 -- passthru  -- or/bl Suspension CAN High
 +
T20/19 -- passthru  -- or/rt Diagnostic CAN High / T16/6 on DLC
 +
T20/20 -- passthru  -- or/vi Infotainment CAN High
 
</pre>
 
</pre>
  
== J533 Pinout - MQB "Highline trim" ==
+
Gray or White Panda pinout:
This is just a reference from Skoda Octavia MY17, please check model specific from ERWIN if you are unsure.
+
<pre>
<pre>1 -     Battery + (terminal 30)
+
Panda 1 -- unused
2 -     Not used
+
Panda 2 -- unused
3 -     LIN data bus 1
+
Panda 3 -- unused
4 -     Not used
+
Panda 4 -- GROUND
5 -     CAN bus Low (convenience)
+
Panda 5 -- unused
6 -     CAN bus Low (drive)
+
Panda 6 -- CAN1 Hi, toward gateway
7 -     CAN bus Low (extended)
+
Panda 7 -- unused
8 -     CAN bus Low (instrument cluster)
+
Panda 8 -- IGNITION
9 -     CAN Bus Low (diagnosis)
+
Panda 9 -- unused
10 -     CAN Bus Low (infotainment)
+
Panda 10 -- unused
11 -     Ground – (terminal 31)
+
Panda 11 -- unused
12 -     Ground – (terminal 31)
+
Panda 12 -- CAN3 Hi, toward extended CAN, WITH termination resistor
13 -     Instrument cluster wake-up
+
Panda 13 -- CAN3 Lo, toward extended CAN, WITH termination resistor
14 -     Terminal 15
+
Panda 14 -- CAN1 Lo, toward gateway
15 -     CAN bus High (convenience)
+
Panda 15 -- unused
16 -     CAN bus High (drive)
+
Panda 16 -- POWER
17 -    CAN bus High (extended)
 
18 -     CAN bus High (instrument cluster)
 
19 -    CAN bus High (diagnosis)
 
20 - CAN bus High (infotainment)
 
Thanks P2
 
 
</pre>
 
</pre>
  
== Adding the cable, identifying errors ==
+
XXX wiring diagram from @tmatheso
When you install any variation of the cable or splitter adapter builds, remember to take off the battery. taking off the battery will lead to ton of warnings like "ACC not ready", "tpms not ready", "ESC not ready"
 
 
 
These errors will go away after a short 0.5mile / 1km drive down the runway and residual lights in dash will disasppear after then restarting the car
 
 
 
If you instead get errors with haltex module or anything in-gear then your CAN-bus is not forwarded correctly. This might be due your panda is not flashed with the correct firmware to forward the messages as this Volkswagen proposal requires you to do and they are instead only read in Can1 with stock Panda.
 
 
 
= Long Term Roadmap =
 
 
 
  
 +
=== Integration at R242 Camera ===
 +
To be documented.
  
= Official documentation =
+
== Official Documentation ==
 
Volkswagen technical info can be found here: https://erwin.vw.com/erwin/showHome.do.
 
Volkswagen technical info can be found here: https://erwin.vw.com/erwin/showHome.do.
  
 
[[Category:Volkswagen_Group]]
 
[[Category:Volkswagen_Group]]
 
[[Category:Vehicle_Makes]]
 
[[Category:Vehicle_Makes]]

Latest revision as of 15:43, 8 November 2019

Overview

Comma AI currently has no official support for Volkswagen brands, but a community port is available, with plans to upstream for official support in the near future. The community port is designed to support any Volkswagen MQB vehicle with ACC radar. Check the Vehicle Support section for details and caveats.

User Experience

Lateral Control

Lateral is provided by openpilot. All MQB vehicles tested to-date support steering down to 0mph. For vehicles with factory lane assist, it will be ignored when Panda is installed and filtering CAN traffic. The Lane Assist enable/disable checkbox in the instrument cluster or infotainment unit will still be present, but will not do anything.

Available steering torque is adequate for most highway driving conditions. All MQB models support the exact same amount of commanded torque, but the different steering rack and suspension geometry between models can result in different effective performance. For example, the Volkswagen Atlas with its high-static ratio steering has been tested to handle curves somewhat better than the Golf GTI or Golf R which have tighter-variable ratio steering suited to higher performance driving.

Longitudinal Control

Longitudinal control remains with stock ACC, although OP takes control of the engagement process for additional safety and feature needs. The minimum ACC setpoint is 20mph/30kph. Exact behavior depends on whether the vehicle has "ACC High" or "ACC Low" from the factory.

Stock ACC High: These vehicles support follow-to-stop and automatic resume if the stop is less than three seconds, from the factory. OP can improve on that by resuming on behalf of the driver after longer delays. "ACC high" requires an electronic parking brake, and does make use of it under certain conditions. If the vehicle in question has an EPB, chances are good it supports "ACC high".
Stock ACC Low: These vehicles generally support follow-to-stop (XXX review this: may be near-stop only) but will require the driver take over and hold the brake after a very short delay. Resume from stop is moot as "ACC low" vehicles will not hold themselves at a stop. Any vehicles with a manual parking brake, either foot or hand operated, will fall into this category.

Getting Started

Before You Start

Make sure your car is on the supported list, see below. If it's not, or you're in doubt, contact us on Discord in #volkswagen with questions.

What You Need

  • An EON DevKit to run openpilot. Highly recommended. No, you can't run this on a random smartphone, or a Raspberry Pi, or anything else. Yes, it's possible to make your own (a "frEON") but it's not nearly as simple as you might think. You need extremely specific phone hardware and additional parts, access to a 3D printer, and soldering skills. The vision model is extremely tightly coupled to hardware only found in two specific phone models. It's been discussed to death in the community, and further detail is outside the scope of the Volkswagen Wiki and channel.
  • A White Panda interface to connect EON to your car. It's cheap and will do what you need. Grey and Black Panda have a high-precision GPS which will be useful for future map-based features, so they're desirable if you're willing to spend more. However, Black Panda (the Car Harness) doesn't yet have a Volkswagen wiring adapter. Grey Panda works fine if you can get one, but it's been discontinued in favor of Black Panda.
  • A wiring harness to connect Panda to your car. Comma do not sell one at this time. You can make one yourself from the wiring diagram below, or purchase a community-made harness from @jyoung8607 on Discord.
    • @jyoung8607 personal comment: FYI I am not a Comma employee and do not represent Comma. I make these in my spare time for the community. I generally fabricate and ship them in less than a week after I receive payment, but that may vary. Contact me via DM on Comma's discord with questions or when you're ready to order.

Supported Vehicles

Fully Tested and Supported

These vehicles are confirmed supported by the community Volkswagen port, because they have been tested on at least one representative car in the wild.

The vehicle must have ACC (radar-based cruise control). For vehicles without factory Lane Assist, a diagnostic tool will be needed to make minor coding changes to the steering rack in order for OP to steer, and coding changes to the instrument cluster will be needed to receive feedback and status information.

  • 2012-2019 Mk3 Audi A3 (tested variants only) [Wiki]
    • A3
  • 2013-current Mk3 Škoda Octavia [Wiki]
  • 2018-2019 Mk1 Volkswagen Atlas (Teramont in some markets) [Wiki]
  • 2012-2019 Mk7 and Mk7.5 Volkswagen Golf (tested variants only) [Wiki]
    • Please note the MY changeover from Mk6 to Mk7 varied by market, USA did not get Golf 7 until MY 2014!
    • e-Golf (appears to support ACC High features even though factory build data shows ACC Low!)
    • Golf
    • Golf GTI
    • Golf R
  • 2015-current B8 Volkswagen Passat [Wiki]
    • This is NOT the Passat currently available in North America, which is based on the currently unsupported NMS platform

Supportable but Untested

These vehicle-classes should work fine with openpilot, to the best of our information, but have not yet been tested. Minor tweaks or other support may be needed. Be cautious if making an openpilot or vehicle purchase decision based on this information. If in doubt, ask on Discord.

  • All MQB vehicles not listed above, with ACC radar
    • 2018-current Mk2 Audi A1 (listed as MQB-A0, but confirmed to have factory ACC and LKAS options) [Wiki]
    • 2012-current Mk3 Audi A3 variants not explicitly tested so far [Wiki]
      • Audi S3
      • Audi RS3
    • 2014-current Mk3 Audi TT [Wiki]
    • 2017-current Mk1 Audi Q2 [Wiki]
    • 2018-current Mk2 Audi Q3 [Wiki]
    • 2016-current Mk1 SEAT Ateca [Wiki]
    • 2012-current Mk3 SEAT León [Wiki]
    • 2019-current Mk1 SEAT Tarraco [Wiki]
    • 2019-current Mk1 Škoda Kamiq [Wiki]
    • 2017-current Mk1 Škoda Karoq [Wiki]
    • 2017-current Mk1 Škoda Kodiaq [Wiki]
    • 2019-current Mk1 Škoda Scala [Wiki]
    • 2015-current B8 Škoda Superb [Wiki]
    • 2018-current Mk1 Volkswagen Arteon [Wiki]
    • 2018-current Mk4 Volkswagen Bora [Wiki]
    • 2013-2019 Volkswagen Golf variants not explicitly tested so far (Mk7 and Mk7.5) [Wiki]
      • Golf Alltrack
      • Golf GTD
      • Golf GTE
      • Golf GTI TCR
      • Golf Sportsvan / SV
      • Golf SportWagen
    • 2019-current Volkswagen Jetta (except GLI) and Sagitar (Mk7) [Wiki]
      • The GLI variant is architecturally compatible, but factory ACC appears unavailable (thanks for nothing VW)
    • 2015-current Mk1 Volkswagen Lamando [Wiki]
      • Made in China, limited info available, unable to fully verify
    • 2018-current Mk3 Volkswagen Lavida [Wiki]
      • Made in China, limited info available, unable to fully verify
    • 2018-current Mk6 Volkswagen Polo [Wiki]
    • 2019-current Mk1 Volkswagen T-Cross [Wiki]
    • 2018-current Mk1 Volkswagen Tayron [Wiki]
      • Made in China, limited info available, unable to fully verify
    • 2016-current Mk2 Volkswagen Tiguan [Wiki]
      • In North America, all 2016-2017 Tiguans and the 2018 Tiguan "Limited" are unsupported PQ46 Mk1; all other 2018 and all 2019-forward are MQB Mk2
    • 2018-current Mk1 Volkswagen Tharu / Tarek [Wiki]
      • Made in China, limited info available, unable to fully verify
    • 2015-current Mk2 Volkswagen Touran [Wiki]

Long Term Roadmap

We think these vehicles can be supported at some point, but they are not supported just yet. Code changes will be required. There are no firm dates for any of these items. If you have a vehicle in this section and are interested in testing with openpilot, please ask on Discord before proceeding.

  • Support has been tested for vehicles without a DSG/auto transmission, but owners should contact us on Discord for the moment as the changes have not yet been integrated into the main codebase. This includes manual transmission vehicles and the e-Golf.
  • Vision-only longitudinal control using visiond to drive known ACC messaging, for vehicles without radar
    • Radar data fusion might be possible later, if radar points are available on the sensor fusion bus, but this is not yet known
  • All PQ35/PQ46/NMS vehicles. We hope and plan to provide some level of support in the long-term future, but have nothing to announce just yet. Vehicles in this set may or may not be supportable. Most if not all should have electric power steering racks, but they may or may not have configurable support for Lane Assist commands. Some of these may not have ACC available or be compatible with retrofits. Do not purchase a vehicle based solely on this list.
  • All MLB and MLBevo vehicles (requires FlexRay support, VERY long term future)
    • 2018-current Volkswagen Touareg
    • All modern Audi not listed as MQB: A4, A5, A6, A7, A8, R8, Q5, Q7, Q8, e-Tron SUV and all variants thereof
  • All future MEB (new electric mass-market platform) vehicles, big question marks here until we see one, but we have cautious optimism.

Unsupportable

These vehicles either don't have electric power steering, or we don't have a known control channel, or there is no factory option or ability to retrofit the necessary ACC and steering components. Support could be reexamined if new information comes to light, but at this time we have no plans to investigate further.

  • Volkswagen Touareg prior to 2018 (hydraulic power steering, lane departure warning only via steering wheel haptic)
  • Volkswagen Phaeton (hydraulic power steering, lane departure warning only via steering wheel haptic)
  • MQB-A0 supermini and city cars without factory options for ACC or LKAS. However, the MQB-A0 Audi A1 and VW Polo have optional ACC and LKAS, so other MQB-A0 vehicles may have some hope for retrofits.
    • 2017-current SEAT Arona [Wiki]
    • 2017-current SEAT Ibiza [Wiki]
  • NSF (New Small Family) supermini models without factory options for ACC or LKAS.
    • 2011-current SEAT Mii [Wiki]
    • 2011-current Škoda Citigo [Wiki]
    • 2011-current Volkswagen Up! [Wiki]

Architecture

Vehicle Hardware

The radar and camera are standard Bosch hardware running software customized for VW MQB. The forward radar can be any of three: Bosch LRR3 (very old and uncommon), Bosch MRR1plus (older and common), or Bosch MRREvo14F (newer and common). The camera is Bosch's MPC1(?) monocular multipurpose camera.

Steering rack imposed limits for Heading Control Assist:

  • Cannot steer at a standstill, but appears to work at any nonzero speed
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
  • Commanded torque limit: 3.0 newton-meters
    • HCA goes to not ready and HCA torque is ignored if this is violated
  • Rate of change: 5.0 nm/seconds
    • Found in certain documentation, but not observed in real world, at least not as a steering-disabling fault
  • Continuous time limit for HCA to be engaged: 180 seconds
    • Documented at 300 seconds in some places, 180 in others, 180 observed in real world testing
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
    • Working around this by disabling steering for one frame for every zero crossing
  • Same/stuck torque input detection: 6 seconds
    • Not documented anywhere, but observed in real world testing
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
    • Working around this by introducing slight noise, 0.01nm reduction in torque for one frame 1x/second

Controller Area Network (CAN)

Topology

XXX TBD J533 concept

Critical Messages and Flows

XXX TBD detail around certain select messages read or sent by OP

  • LWI_01
  • EPS_01 / LH_EPS_03
  • ACC_06
  • Getribe_11
  • HCA_01
  • LDW_02

Integration at J533 Gateway

J533 gateway pinout:

T20/1  -- POWER     -- gr/ro terminal 30 power from 5a fuse SC5
T20/2  -- passthru  -- rt/vi terminal 30 power from 18a fuse SB18 (optional, w/o start/stop)
T20/3  -- passthru  -- vi/ws LIN bus to BEM 
T20/4  --           -- unused
T20/5  -- passthru  -- or/br Comfort CAN Low
T20/6  -- passthru  -- or/br Powertrain CAN Low
T20/7  -- PANDA 1/3 -- or/br Extended CAN Low
T20/8  -- passthru  -- or/br Suspension CAN Low
T20/9  -- passthru  -- or/br Diagnostic CAN Low / T16/14 on DLC
T20/10 -- passthru  -- or/br Infotainment CAN Low
T20/11 -- GROUND    -- br    Ground
T20/12 -- passthru  -- br    Ground
T20/13 -- passthru  -- vi/bl LIN bus to steering column electronics
T20/14 -- IGNITION  -- sw/vi terminal 15 power from PC3/A192
T20/15 -- passthru  -- or/gn Comfort CAN High
T20/16 -- passthru  -- or/sw Powertrain CAN High
T20/17 -- PANDA 1/3 -- or/gr Extended CAN High
T20/18 -- passthru  -- or/bl Suspension CAN High
T20/19 -- passthru  -- or/rt Diagnostic CAN High / T16/6 on DLC
T20/20 -- passthru  -- or/vi Infotainment CAN High

Gray or White Panda pinout:

Panda 1  -- unused
Panda 2  -- unused
Panda 3  -- unused
Panda 4  -- GROUND
Panda 5  -- unused
Panda 6  -- CAN1 Hi, toward gateway
Panda 7  -- unused
Panda 8  -- IGNITION
Panda 9  -- unused
Panda 10 -- unused
Panda 11 -- unused
Panda 12 -- CAN3 Hi, toward extended CAN, WITH termination resistor
Panda 13 -- CAN3 Lo, toward extended CAN, WITH termination resistor
Panda 14 -- CAN1 Lo, toward gateway
Panda 15 -- unused
Panda 16 -- POWER

XXX wiring diagram from @tmatheso

Integration at R242 Camera

To be documented.

Official Documentation

Volkswagen technical info can be found here: https://erwin.vw.com/erwin/showHome.do.