Difference between revisions of "Volkswagen"

From comma wiki
Jump to: navigation, search
(Additional bulk content updates.)
(Additional reorg.)
Line 12: Line 12:
 
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.
 
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 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.
+
:'''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.
  
== Vehicle Support ==
+
== Getting Started ==
  
=== Fully Tested and Supported ===
+
=== Before You Start ===
 +
XXX TBD
 +
* Make sure your car is supported
 +
 
 +
=== What You Need ===
 +
XXX TBD
 +
* Panda
 +
* EON
 +
* Harness
 +
* Link to community repo
 +
 
 +
= Supported Vehicles =
 +
 
 +
== Fully Tested and Supported ==
 
At least one representative vehicle from each of these vehicle-classes has been tested and verified to work with openpilot. Therefore, we are confident that any vehicle in these model-year-ranges should work with openpilot. Fingerprint updates may still be needed until we have full VIN detection. 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.
 
At least one representative vehicle from each of these vehicle-classes has been tested and verified to work with openpilot. Therefore, we are confident that any vehicle in these model-year-ranges should work with openpilot. Fingerprint updates may still be needed until we have full VIN detection. 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.
  
Line 28: Line 41:
 
** Golf R
 
** Golf R
  
=== Supportable but Untested ===
+
== 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.
 
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.
  
Line 73: Line 86:
 
** 2015-current Mk2 Volkswagen Touran [[https://en.wikipedia.org/wiki/Volkswagen_Touran#Second_generation_(2015%E2%80%93present) Wiki]]
 
** 2015-current Mk2 Volkswagen Touran [[https://en.wikipedia.org/wiki/Volkswagen_Touran#Second_generation_(2015%E2%80%93present) Wiki]]
  
=== Development Roadmap ===
+
== 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.
 
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.
  
Line 86: Line 99:
 
** All modern Audi not listed as MQB
 
** All modern Audi not listed as MQB
  
=== Unsupportable ===
+
== 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.
 
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.
  
Line 101: Line 114:
  
 
= Architecture =
 
= Architecture =
 
== openpilot ==
 
Each MQB vehicle uses the same basic architecture and CAN messaging, but will need individual tuning for best openpilot performance.
 
 
The maximum torque available to stock Lane Assist (and by extension, openpilot) is exactly 3.0 newton-meters across all known MQB vehicles. The ''effectiveness'' of that 3.0 nm varies somewhat depending on the exact vehicle model and its steering geometry. Vehicles with more sporty steering, particularly the Golf GTI and Golf R, are expected to have somewhat less ability to handle tighter curves, especially as speed increases.
 
  
 
== Vehicle Hardware ==
 
== Vehicle Hardware ==
Line 129: Line 137:
  
 
=== Topology ===
 
=== Topology ===
XXX J533 concept
+
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 ====
+
=== Integration at J533 Gateway ===
  
 
J533 gateway pinout:
 
J533 gateway pinout:
Line 179: Line 196:
 
XXX wiring diagram from @tmatheso
 
XXX wiring diagram from @tmatheso
  
==== Integration at R242 Camera ====
+
=== Integration at R242 Camera ===
 
To be documented.
 
To be documented.
  
=== Critical Messages and Flows ===
+
== Official Documentation ==
XXX 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 ===
 
= 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.
 
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.
 
 
This achieves the following goals
 
 
- Filter stock Camera messages from Can1 extended CAN hook up
 
 
- Send filter data with crafted OP steering messages to Can0
 
 
- Your car works normally without EON, only the lane-assistant function is not available.
 
  
 
[[Category:Volkswagen_Group]]
 
[[Category:Volkswagen_Group]]
 
[[Category:Vehicle_Makes]]
 
[[Category:Vehicle_Makes]]

Revision as of 15:24, 14 October 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

XXX TBD

  • Make sure your car is supported

What You Need

XXX TBD

  • Panda
  • EON
  • Harness
  • Link to community repo

Supported Vehicles

Fully Tested and Supported

At least one representative vehicle from each of these vehicle-classes has been tested and verified to work with openpilot. Therefore, we are confident that any vehicle in these model-year-ranges should work with openpilot. Fingerprint updates may still be needed until we have full VIN detection. 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.

  • 2013-current Mk3 Škoda Octavia [Wiki]
  • 2018-2019 Mk1 Volkswagen Atlas (Teramont in some markets) [Wiki]
  • 2012-2019 Mk7 and Mk7.5 Volkswagen Golf variants [Wiki]
    • Golf
    • e-Golf (appears to support ACC High features even though factory build data shows ACC Low!)
    • Golf R

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, S3 and RS3 [Wiki]
    • 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 GTI
      • Golf GTI TCR
      • Golf GTE
      • Golf GTD
      • 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
    • 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
    • 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

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 has 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]
    • 2018-current Mk6 Volkswagen Polo [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.