Skip to content

VisionPilot drive-by-wire bridge with OpenPilot #269

@m-zain-khawaja

Description

@m-zain-khawaja

Description

VisionPilot is designed to be an production-grade L2 ADAS stack used by automotive OEMs and Tier-1 suppliers. In a production setting, we can work with the OEM/Tier-1 to integrate the outputs of VisionPilot with the OEM's drive-by-wire interface.

However, for testing purposes during the development phases of the system, we need to interface VisionPilot with off-the-shelf drive-by-wire providers that can be integrated into stock vehicles. One such drive-by-wire provider is the open-source project by Comma.ai which supplies a vehicle harness and software libraries to support drive-by-wire integration.

Read data from CAN Bus

Create a CAN bus reader class that can leverage any off the shelf OBD port reader device which plugs into the OBD port of the car to read the car's current speed and current steering angle

Data input to Vision Pilot from OBD port

  • current speed
  • current steering angle

Drive by wire output from Vision Pilot to vehicle

Create a DBW class that interfaces with the Comma.AI harness to send appropriate control signals to control the vehicle's driving and investigate what these signals should be, there are multiple potential options

Data output from VisionPilot to ADAS ECU in vehicle

  • (lateral) : steering angle, curvature, lateral acceleration etc
  • (longitudinal): acceleration, speed, etc.

Desired Result

Any user with a car which is supported by Comma AI's drive-by-wire kit should be able to use a standalone computer, standalone camera, and harness kit from Comma AI to enable closed-loop L2 ADAS testing using Vision Pilot:

  • Standalone computer : runs VisionPilot stack
  • Standalone camera : captures video and sends it to Standalone computer
  • Comma AI harness: capture CAN bus vehicle state and sends it to Standalone computer & read desired control commands from VisionPilot and sends it to the vehicle's stock ADAS ECU for closed loop control

Metadata

Metadata

Assignees

No one assigned

    Labels

    C++Pull requests that update C++ codeenhancementNew feature or requesthelp wantedExtra attention is neededpythonPull requests that update python code

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions