europilot  by marsauto

Toolkit for self-driving algorithms in Euro Truck Simulator 2

created 8 years ago
1,518 stars

Top 27.7% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a toolkit for controlling Euro Truck Simulator 2 (ETS2) using end-to-end driving models, enabling developers to train and test self-driving algorithms within a realistic simulation environment. It's targeted at researchers and developers interested in autonomous driving simulation and deep learning applications.

How It Works

Europilot acts as an intermediary, capturing ETS2 screen input and translating it into a format usable by deep learning frameworks like Keras or TensorFlow. It supports two modes: data generation for training, where screen captures are paired with joystick inputs, and real-time testing, where a virtual joystick driver allows programmatic control of the truck based on model inference. The core approach involves a CNN that takes game screen pixels as input and outputs steering commands.

Quick Start & Requirements

  • Install locally: python setup.py install or pip install -r requirements.txt
  • Requires OpenCV compiled with opencv_contrib for screen selection GUI, or manual screen area configuration.
  • Supports Python 2.6-2.7 and 3.3+.
  • Runs on Linux.
  • Official demo video and blog post available via links in the README.

Highlighted Details

  • Enables programmatic control of ETS2 for autonomous driving research.
  • Includes example notebooks for data preprocessing, cleaning, and PilotNet implementation.
  • Offers a 17GB driving dataset with 162,495 images for training.
  • Virtual joystick driver integrates with the Linux kernel via userspace drivers.

Maintenance & Community

  • Project appears to be a personal or small-team effort with limited public community channels mentioned.
  • Roadmap includes VM support, web leaderboards, additional camera data, reinforcement learning, and potential Windows support.

Licensing & Compatibility

  • Licensed under the MIT License, permitting commercial use and closed-source linking.

Limitations & Caveats

  • Primarily targets Linux; Windows support is a potential future feature based on demand.
  • The virtual joystick driver must be initialized before starting the game.
  • Documentation is currently limited to the README and source code.
Health Check
Last commit

4 years ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.