tum-autonomousdriving / autonomous-driving-simulator

44 stars 3 forks source link

English | 中文

Autonomous Driving Simulator

Logo

Contents

Framework

image

Instructions

1. Workflow

image

Step 1: Collect data from the Simulator
Step 2: Design neural network class (torch.nn.Module)
        Write data processing class (torch.utils.data.Dataset)
Step 3: Train the model and save weights (torch.utils.data.DataLoader, optimizer, loss function, …)
Step 4: Drive a car in the Simulator using the trained model

2. Train

Please open the "Simulator_train" application on your operating system.

Once opened, the Scene will initiate the recording of training data, which will be saved in the "Data/DatasetX/IMG" path and the "Data/DatasetX/VehicleData.txt" file.

In this VehicleData.txt the data is: the path of IMG, throttle(range: 0 to 1), brakes(range: 0 to 1), sterring(range: -1 to 1).

Please note that you should not remove the "Index.txt" file from the "Data/" directory.

3. Drive

Please open the "Simulator_test" application on your operating system.

and then run your:

python drive.py

In this scene, 3 images are output to your net, and 3 elements of control are acepted.(throttle, brakes and steering)

4. Simulator Functions

Function Keyboard Defaults Gamepad Defaults
Sterring A/D Left Stick - Left/Right
Throttle W Left Stick - Up, Right Trigger
Brakes S Left Stick - Down, Left Trigger
Reset the Position F1 -
Switch mouse control Mouse right button -
Quit ESC -

5. Simulator Scenes Download Link:

Source code:

https://gitlab.lrz.de/tum-autonomousdriving/autonomous-driving

Build:

https://syncandshare.lrz.de/getlink/fiEQ6uWeJQFmosTX7HsxwG/

Useful Vision Algorithms

Pretrained Weights:

https://syncandshare.lrz.de/getlink/fi6mGLJoqSu3GEBxW7aWNT/weights

1. Object Detection

1.1 YOLOv5

1.2 YOLOv8

2. Semantic Segmentation

2.1 YOLOv5_sg

Developers

1. Affiliation

Chair of Robotics, Artificial Intelligence and Real-time Systems · Technical University of Munich

2. Supervisor

Prof. Dr.-Ing. habil. Alois Christian Knoll

3. Corresponding Programmer

Zhou Liguo

4. Programmers

Tang Yuhang Guo Yujie Chen Zehao Feng Tinghan Tang Shaolong
Ning Junbing Jasmina Stratorska Maram Bayadsi

5. Former Programmers

Gao Yichao Yu Zhou Michael Sodamin Song Yinglei Liu Hongshen
Liu Lian Liu Hao Xie Tongtong Liu Zhuo Yang Xiaohan