/ETSAuto

🚚 ETSAuto is an Advanced driver Assistance System applied in Euro Truck Simulator 2, performing the functions of Lane Centering Control (LCC) and Auto Lane Change (ALC).

Primary LanguagePythonMIT LicenseMIT

GitHub python3 pr GitHub (Pre-)Release Date docs GitHub Repo stars languages

GitHub forks GitHub release (with filter) GitHub tag (with filter) GitHub issues GitHub closed issues GitHub closed pull requests

简体中文 | English

Table of Contents

Introduction

ETSAuto 2 is an autonomous driving system for Euro Truck Simulator 2, which includes Lane Centering Control (LCC), Lane Change Assistance (ALC), and Forward Collision Warning (FCW) features. ETSAuto 2 is built in pure Python and runs on Windows system. It uses the ONNXRuntime for inference (also supports the TensorRT inference framework) and currently offers acceleration on Nvidia GPUs, with future support for AMD GPUs. In terms of perception, it achieves a response rate of less than 0.05ms and uses pure pursuit for vehicle control.

Features

Scenario Support Description
Daytime All features supported
Nighttime Not recommended for high-speed lane changes
Highway No longitudinal planning; deceleration required when exiting the highway
City Roads Intersection functionality disabled; no lane markings or curbs on both sides
Rural Roads No lane markings or curbs on both sides
Feature Support Description
Lane Centering Control (LCC) v < 80km/h
Lane Change Assistance (ALC) 15km/h < v < 80km/h
Forward Collision Warning (LCW)
Adaptive Cruise Control (ACC)

Environment Setup

For environment setup, refer to BUILD.md

Considering compatibility with graphics cards, from version 2.0 onwards, ONNX Runtime will be mainly used for inference. Nvidia graphics cards are currently supported, and support for AMD graphics cards is planned. However, since there is no AMD graphics card available at the moment, developers are encouraged to attempt building on AMD graphics cards. The project still retains the interface for TensorRT inference to ensure necessary perception response rates. Due to reasons related to screen capture and vjoy control programs, the program currently supports only Windows. Developers are welcome to provide alternative solutions for these two codes on Linux systems.

Usage Instructions

  • Program Entry

    Double click ETSAuto.bat to open the program.

  • Key Instructions

    To facilitate operation, keyboard controls are used for functionalities.

    Key Function Support Description
    Manual
    Lateral
    Navigation
    Assistance
    num 0 Straight v < 80km/h
    num 1 Left Turn
    num 3 Right Turn
    num 4 Left Lane Change 15km/h < v < 80km/h
    num 6 Right Lane Change 15km/h < v < 80km/h
    ctrl+q Exit

Plans

  • LCC
  • ALC
  • LCW
  • ACC
  • AEB
  • SAS
  • TLR

References

pyvjoy

Bev-Lanedet

ets2-sdk-plugin