diff --git a/docs/competitions/f1tenth-sim-racing-guide.md b/docs/competitions/f1tenth-sim-racing-guide.md index df756bd..38488b4 100644 --- a/docs/competitions/f1tenth-sim-racing-guide.md +++ b/docs/competitions/f1tenth-sim-racing-guide.md @@ -2,153 +2,149 @@ ![F1TENTH Sim Racing](../assets/images/banners/F1TENTH Sim Racing.png) -It expected that teams have sufficient background knowlege pertaining to autonomous racing (concepts, methods, and algorithms), programming languages (Python, C++, etc.) and frameworks (ROS 2), containerization (Docker) and version control (Git), etc. In order to be fair to all teams and keep the competition on track, extensive technical support/help cannot be provided by the organizers to any team. However, legitimate requests may be entertained at the discretion of the organizers. - -Although AutoDRIVE Ecosystem supports many vehicles across different scales and operational design domains (ODDs), the **ONLY** vehicle allowed for this competition is **F1TENTH**. Similarly, although AutoDRIVE Ecosystem supports multiple application programming interfaces (APIs), the **ONLY** API allowed for this competition is **ROS 2**. - -!!! info - Note that the organizers will execute the competition framework on a workstation incorporating Intel Core i9 14th Gen 14900K CPU, NVIDIA GeForce RTX 4090 GPU, and 64 GB RAM running (maybe don't write about OS) Ubuntu 22.04 (or similar configuration). However, this machine will be simultaneously running the simulator container, screen recorder and data logger in addition to the devkit container. Kindly develop your algorithms accordingly. - -[DONE] Teams are permitted to add/modify ROS 2 package(s) within the provided AutoDRIVE Devkit container for implementing their autonomous racing algorithm(s). However, any modifications to the existing container elements are strictly off the limits. - -[DONE] This competition is intended to be a **battle of algorithms**, and hence any modifications to the competition framework including but not limited to simulator executable, vehicle (chassis, powertrain, sensors, etc.), environment (track, layout, ground, weather, time, etc.), commmunication interface (use of protocols other than WebSocket), devkit (use of APIs other than ROS 2) or the containerization approach (use of tools besides Docker, Dockerfile configuration, etc.) are strictly **NOT** permitted. Any modification to the competition framework shall result in direct disqualification of a team without admission to the qualification session. +

+This document describes the technical details of the competition framework for the F1TENTH Sim Racing League. It goes over the details pertaining to the simulator and devkit, as well as some important aspects of the submission system, process and evaluation. Some good-to-know tips and "best practices" are thrown asynchronously to smoothen the process and workflow for the participants. +

-!!! tip "Hello!" - You can run the simulator locally +!!! warning + It expected that teams have sufficient background knowlege pertaining to autonomous racing (concepts, methods, and algorithms), programming languages (Python, C++, etc.) and frameworks (ROS 2), containerization (Docker) and version control (Git), etc. In order to be fair to all teams and keep the competition on schedule, extensive technical support/help cannot be provided by the organizers to any team. However, legitimate requests may be entertained at the discretion of the organizers. -!!! tip - You can run the devkit locally while developing/testing. You can then containerize the final algorithms, test them one last time, and ship them to us. +!!! note + Although AutoDRIVE Ecosystem supports many vehicles across different scales and operational design domains (ODDs), the **ONLY** vehicle allowed for this competition is **F1TENTH**. Similarly, although AutoDRIVE Ecosystem supports multiple application programming interfaces (APIs), the **ONLY** API allowed for this competition is **ROS 2**. -## About +## 1. AutoDRIVE Simulator

-F1TENTH Autonomous Racing is a semi-regular competition organized by an international community of researchers, engineers, and autonomous systems enthusiasts. The teams participating in the 21st F1TENTH Autonomous Grand Prix at IROS 2024 will write software for a 1:10 scaled autonomous race car to fulfill the objectives for the competition: drive fast but don’t crash! +AutoDRIVE Simulator (part of the larger AutoDRIVE Ecosystem) is an autonomy oriented tool designed to model and simulate vehicle and environment digital twins. It equally prioritizes backend physics and frontend graphics to achieve high-fidelity simulation in realtime. From a computing perspective, the simulation framework is completely modular owing to its object-oriented programming (OOP) constructs. Additionally, the simulator can take advantage of CPU multi-threading as well as GPU instancing (only if available) to efficiently parallelize various simulation objects and processes, with cross-platform support.

-This time, we are organizing the first ever F1TENTH Sim Racing League, which leverages AutoDRIVE Ecosystem to model and simulate the digital twin of an F1TENTH racecar within a virtual racetrack. Please see the accompanying video for a glimpse of the F1TENTH digital twins in action. +For the F1TENTH Sim Racing League, each team will be provided with a standardized simulation setup (in the form of a digital twin of the F1TENTH vehicle, and a digital twin of the Porto racetrack) within the high-fidelity AutoDRIVE Simulator. This would help make this competition and exploration of autonomous racing in general accessible to everyone across the globe.

-
- -
+### 1.1. System Requirements

-The main focus of the Sim Racing League is a virtual competition with simulated cars and environments, which is accessible to everyone across the globe. For the IROS 2024 competition, each team will be provided with a standardized simulation setup (in the form of a digital twin of the F1TENTH vehicle, and a digital twin of the Porto racetrack) within the high-fidelity AutoDRIVE Simulator. Additionally, teams will also be provided with a working implementation of the AutoDRIVE Devkit to get started with developing their autonomy algorithms. Teams will have to develop perception, planning, and control algorithms to parse the real-time sensor data streamed from the simulator and generate control commands to be fed back to the simulated vehicle. + Minimum Requirements:

- -The competition will take place in 2 stages: - -- **Qualification Session:** Teams will demonstrate their ability to complete multiple laps around the practice track without colliding with the track bounds at run time. -- **Time-Attack Race:** Teams will compete against the clock, on a previously unseen racetrack, to secure a position on the leaderboard. +

-Since the vehicle, the sensors, the simulator, and the devkit are standardized, teams must develop robust racing algorithms that can deal with the uncertainties of an unseen racetrack. + Recommended Requirements:

+ -!!! Tip - If you are interested in autonomously racing physical F1TENTH vehicles, please check out the website for [21st F1TENTH Autonomous Grand Prix](https://iros2024-race.f1tenth.org), which will be held in person at IROS 2024. You can always register and compete in both physical and virtual competitions! +!!! info + Note that the organizers will execute the competition framework on a workstation incorporating Intel Core i9 14th Gen 14900K CPU, NVIDIA GeForce RTX 4090 GPU, and 64 GB RAM (or a similar configuration). However, this machine will be simultaneously running the simulator container, screen recorder and data logger in addition to the devkit container. Kindly develop your algorithms while considering their computational requirements. -## Organizers +### 1.2. Graphical User Interface (GUI) -| | | | | | -|:------------------:|:-------------------:|:-------------------:|:-------------------:|:-------------------:| -| [**Dr. Rahul Mangharam**](mailto:rahulm@seas.upenn.edu) | [**Dr. Venkat Krovi**](mailto:vkrovi@clemson.edu) | [**Dr. Johannes Betz**](mailto:johannes.betz@tum.de) | [**Chinmay Samak**](mailto:csamak@clemson.edu) | [**Tanmay Samak**](mailto:tsamak@clemson.edu) | -| | | | | | -| [**Ahmad Amine**](mailto:aminea@seas.upenn.edu) | [**Hongrui Zheng**](mailto:hongruiz@seas.upnn.edu) | [**Dr. Fabio Bonsignorio**](mailto:fabio.bonsignorio@fer.unizg.hr) | [**Dr. Enrica Zereik**](mailto:enrica.zereik@cnr.it) | [**Dr. Bilal Hassan**](mailto:bilal.hassan@ku.ac.ae) | -| | | | | | -| [**Bushra Alshehhi**](mailto:100050085@ku.ac.ae) | [**Dr. Fady Alnajjar**](mailto:fady.alnajjar@uaeu.ac.ae) | [**Dr. Majid Khonji**](mailto:majid.khonji@ku.ac.ae) | [**Dr. Hamad Karaki**](mailto:hamad.karki@ku.ac.ae) | [**Dr. Pedro Lima**](mailto:tp.aobsilu.ocincet@amil.ordep) | +### 1.3. Racecar +#### 1.3.1 Frames of Reference (TF) +#### 1.3.2 Vehicle Dynamics +#### 1.3.3 Actuator Dynamics +#### 1.3.4 Sensor Characteristics +#### 1.3.5 Variability (noise in sensor/actuator/system characteristics) +#### 1.3.6 Multiple Vehicles -## Timeline - -!!! warning - Timeline is subject to change. Please keep checking this page for any updates. - -| DATE | EVENT | -|:----------------------|:---------------------------| -| Jul 22, 2024 | Registration Opens | -| Aug 31, 2024 | Registration Closes | -| Aug 20, 2024 | Online Orientation 1 | -| Sep 17, 2024 | Online Orientation 2 | -| Sep 28 – Sep 29, 2024 | Qualification Round | -| Sep 04, 2024 | Competition Track Released | -| Oct 05 – Oct 06, 2024 | Final Race | -| Oct 07, 2024 | Results Declared | - -Following is a brief summary of each event: - -- **Registration:** Interested teams will register for the Sim Racing League. -- **Online Orientation 1:** Organizers will explain the competition rules and guidelines, and demonstrate how to use the simulation framework. -- **Online Orientation 2:** Organizers will check progress of the participating teams and help with any technical difficulties. -- **Qualification Round:** Teams will demonstrate successful completion of 10 laps around the practice track provided ahead of time. -- **Competition Track Released:** Organizers will release the actual "competition track", which will be used for the final race. This track may be replicated in the physical race as well. -- **Final Race:** Organizers will collect containerized algorithms from each team and connect them with the containerized simulator. Performance metrics of each team will be recorded. -- **Results Declared:** Standings of all the teams will be released. +### 1.4. Racetrack +#### 1.4.1 Size and Structure +#### 1.4.2 Features (straight, chicane, bifurcation, etc.) +#### 1.4.3 Obstacles (static/dynamic) +#### 1.4.4 Frame(s) of Reference (TF) +#### 1.4.5 Custom Racetracks +#### 1.4.6 Environmental Variability (time, weather, wind, lighting, friction, etc.) -!!! info - The F1TENTH Sim Racing League will be held approximately 1 week ahead of IROS 2024 and the performance metrics will be made available to the teams. Discussions are underway with the IROS organizing team to allow teams to analyze and present their approach/results in a short (~10 min) presentation in a special session at IROS 2024. -## Resources +## 2. AutoDRIVE Devkit -

-AutoDRIVE is envisioned to be an open, comprehensive, flexible and integrated cyber-physical ecosystem for enhancing autonomous driving research and education. It bridges the gap between software simulation and hardware deployment by providing the AutoDRIVE Simulator and AutoDRIVE Testbed, a well-suited duo for real2sim and sim2real transfer targeting vehicles and environments of varying scales and operational design domains. It also offers AutoDRIVE Devkit, a developer's kit for rapid and flexible development of autonomy algorithms using a variety of programming languages and software frameworks. For the Sim Racing League, teams will develop their autonomous racing algorithms using the AutoDRIVE Devkit to interface with the AutoDRIVE Simulator in real-time. +AutoDRIVE Devkit (part of the larger AutoDRIVE Ecosystem) is a collection of application programming interfaces (APIs), human-machine interfaces (HMIs), programming languages, libraries, frameworks, packages and tools, which enables the flexible development of on-road and off-road autonomous driving algorithms, as well as smart city traffic management algorithms. It allows targeting the devised algorithms to the simulator as well as the testbed, seamlessly. It supports both local as well as distributed computing, thereby facilitating the development of both centralized and decentralized autonomy algorithms.

-

-F1TENTH is an international community of researchers, engineers, and autonomous systems enthusiasts. It is centered around the idea of converting a 1:10 scale RC car into an autonomous vehicle for research and education; check out the documentation to build your own F1TENTH autonomous racecar. Additionally, if you are new to the field of autonomous racing, you can refer to the complete course material, which is open sourced. If you already have some experience with autonomous racing, feel free to delve deeper into the research enabled by F1TENTH. Lastly, you can also check out the physical F1TENTH races that are being organized all around the world. For the Sim Racing League, teams will not require a physical F1TENTH vehicle; however, the learning resources can certainly be useful to get your autonomous racing fundamentals right! +For the F1TENTH Sim Racing League, each team will be provided with a standardized working implementation of the AutoDRIVE Devkit (in the form of ROS 2 API for the the F1TENTH digital twin within AutoDRIVE Simulator) to get started with developing their autonomy algorithms. Teams will have to develop perception, planning, and control algorithms to parse the real-time sensor data streamed from the simulator and generate control commands to be fed back to the simulated vehicle. Since the vehicle, the sensors, the simulator, and the devkit are standardized, teams must develop robust racing algorithms that can deal with the uncertainties of an unseen racetrack.

-As the next few steps, we recommend all the teams interested in participating in the F1TENTH Sim Racing League to get accustomed with the competition framework: - -
-
-
-
- -## Registration +### 2.1. System Requirements

-This competition is open for everyone around the world - students, researchers, hobbyists, professionals, or anyone else who is interested. A team can consist of multiple teammates. Teams with only one person are also allowed. + Minimum Requirements:

- -
-[:material-file-document-edit: Registration Form](https://forms.gle/hBCctUaHcvFoB9zHA){.md-button} -
+

-Registration for the Sim Racing League is free of cost and separate from the Physical Racing League and the conference registrations themselves. The above form signs you up only for the Sim Racing League, and for its orientation and information sessions. Although you can participate in the Sim Racing League without attending the conference, we strongly encourage all competition participants to attend the conference in person. This will help you connect with the broader AutoDRIVE and F1TENTH communities, and you can also witness/participate in the physical F1TENTH autonomous racing competition! + Recommended Requirements:

+ +!!! info + Note that the organizers will execute the competition framework on a workstation incorporating Intel Core i9 14th Gen 14900K CPU, NVIDIA GeForce RTX 4090 GPU, and 64 GB RAM (or a similar configuration). However, this machine will be simultaneously running the simulator container, screen recorder and data logger in addition to the devkit container. Kindly develop your algorithms while considering their computational requirements. + +### 2.2. Package Structure + +### 2.3. Data Streams + +Topic | Message | Access Type | Description + +- Input topics: sensor topics +- Output topics: actuator topics +- Restricted topics: debugging topics + +!!! note + You may use the restricted topics for debugging, to train AI models, etc. However, these topics should not be used during the deployment/inference stage (i.e. while autonomously racing at run-time). + +## 3. Competition Submission

-Registered teams are added to the following table: +F1TENTH Sim Racing League is a virtual competition, which accompanies the physical F1TENTH Autonomous Racing Competition. It leverages AutoDRIVE Ecosystem to model and simulate the digital twin of an F1TENTH racecar within a virtual racetrack. The main goal of this competition is to make autonomous racing accessible to everyone across the globe.

-| TEAM NAME | TEAM MEMBERS | ORGANIZATION | -|:--------------------------|:------------------------------|:------------------------------------------| -| SAGOL | JoonCheol Park | Personal | -| Solo | Abdul Rahman Khader | Khalifa University | -| OptimusPrime | Sahruday Patti | University of Maryland, College Park | -| Velizar Zlatev | Velizar Zlatev | University of Bristol | -| Beryllium | Ronnie Romman | Personal | -| Cornell Electric Vehicles | Jason Klein
Eric Marchetti
Zach Chosed
Utku Melemetci
Sidharth Rao
Myles Pasetsky
Zephan Sanghani
Sia Chitnis
Nicole Sin | Cornell University | -| Robotisim Dev | Muhammad Luqman
Yusuf Butt | Robotisim | -| Log Robotics | Logesh G | Bannari Amman Institute of Technology | -| Lone Rider | Akshay Laddha | Indian Institute of Technology, Bombay | -| Atlas 2.0 | Manav Gagvani | Purdue University | -| The Buttowskis | Kalash Jain | Pandit Deendayal Energy University | -| Hanuman Parakram | Dheeraj Bhurewar
Vaibhav Wanere | Personal | -| Pallas | Haris Khan | Skoltech | -| Gopher Speedsters | Sujeendra Ramesh | University of Minnesota, Twin Cities | -| Autopilots | Nouf Aljaberi
Amna Muhammad
Hajar Alnaqbi
Shouq Zanki
Sara Almessabie
| United Arab Emirates University | -| i3 | Pranav Kallem | Personal | -| Phoenix | Aman Kumar Singh
Lakshmikanth Nageswar | Personal | -| RobotX & More | Oussama Errouji
Imad-Eddine NACIRI | Euro Mediterranean University of Fez | +### 3.1. Submission Preparation -!!! note - The above table will be updated with newly registered teams within a few days of registration. Please contact [Chinmay Samak](mailto:csamak@clemson.edu) or [Tanmay Samak](mailto:tsamak@clemson.edu) if you do not see your team entry for more than 7 days after registering. +Explain the startup sequence - run the simulator, run the devkit, hit connection button, hit driving mode button. + +!!! tip + In certain cases, GPUs and Docker do not work very well and can cause problems in running the simulator container. In such cases, you can download and run the simulator locally (it should be easier to access the GPU this way). You can then run only the devkit within a container. Everything else will work just fine, only that the simulator will not be running inside a container. This shouldn’t matter, since you will have to submit only the container for your algorithms (i.e. devkit) and not the simulator. We will run the containerized simulator on our side for the evaluation of all submissions. + +!!! tip + If working with containers is overwhelming, you can download and run the devkit locally while developing and testing your autonomous racing algorithms. You can then containerize the finalized algorithms, test them one last time, and push them to the container registry. + +### 3.2. Evaluation Architecture + +figure with explaination + +### 3.3. Execution Sequence + +How will the evaluation process of a team's submission conducted -## Results +### 3.4. Scoring & Evaluation -To be announced on Oct 07, 2024. \ No newline at end of file +Exact scoring, penalties, ranking, tie-breaker, etc. quantitative details \ No newline at end of file diff --git a/docs/competitions/f1tenth-sim-racing-rules.md b/docs/competitions/f1tenth-sim-racing-rules.md index be12bce..63d5f78 100644 --- a/docs/competitions/f1tenth-sim-racing-rules.md +++ b/docs/competitions/f1tenth-sim-racing-rules.md @@ -132,6 +132,10 @@ However, utilizing simulation ground truth data or controlling aspects other tha !!! info Please refer to the Technical Guide for more information about permissible and restricted data streams. +

+Since this is a global event held at some of the world's premire conferences, we ask all teams to strictly observe ethical integrity and stick to the code of conduct of this competition. Any malpractice or plagiarism in terms of submission code or other material shall be considered a serious breach of the code of conduct. Depending upon the situation, organizers reserve the right to issue a warning, public citation and/or disqualification of the responsible team from the competition. +

+ ### 2.5. Evaluation Criteria