Skip to content

Commit

Permalink
doc(en, local, online, setup): add en rule local online documentation (
Browse files Browse the repository at this point in the history
…#38)

* doc(setup_en): add setup en doc

* doc: add en local online rule

* doc: add local en

* doc: apply registration

* doc!: unite team page to jp/en
  • Loading branch information
taikitanaka3 authored Nov 29, 2023
1 parent 27763db commit 32dab2c
Show file tree
Hide file tree
Showing 9 changed files with 408 additions and 213 deletions.
4 changes: 2 additions & 2 deletions documentation/docfx_project/setup/index.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# SetUp

<!--br>
<br>

> [!REGISTER]
> こちらから参加登録!
> [https://www.jsae.or.jp/jaaic/en/index.php](https://www.jsae.or.jp/jaaic/en/index.php)
<br> -->
<br>

## Minimum Hardware Requirements
本大会で使用していただくPCの動作環境として以下を推奨しております。
Expand Down
12 changes: 0 additions & 12 deletions documentation/docfx_project_en/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,6 @@
"customize/index.md"
]
},
{
"files": [
"operation/toc.yml",
"operation/index.md"
]
},
{
"files": [
"teams/toc.yml",
"teams/index.md"
]
},
{
"files": [
"FAQ/toc.yml",
Expand Down
34 changes: 12 additions & 22 deletions documentation/docfx_project_en/local/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,21 @@
<br> -->

&emsp; Participants will be asked to create a ROS2 package to carry out the scenario, and the following ROS2 package is provided in aichallenge2023-racing/docker/aichallenge/aichallenge_ws/src as sample code to serve as a base for this in this repository The following ROS2 package is provided.
&emsp; Please place the ROS2 package you created under aichallenge_ws/src/aichallenge_submit and follow the steps below to build and run it.
&emsp; aichallenge_launch, sim_msgs change is not applied at submission

## Sample Code
The following is a partial configuration under &emsp;aichallenge2023-racing/docker/aichallenge/aichallenge_ws/src.
&emsp;aichallenge2023-racing/docker/aichallenge/aichallenge_ws/src directory structure is below
* aichallenge_launch
* Contains the main launch file aichallenge.launch.xml. All ROS2 nodes are launched from this launch file.
* aichallenge_scoring
* aichallenge_scoring is responsible for the tasks required for scoring and ranking the AI Challenge participants.
* aichallenge_scoring_msgs
* msgs for scoring
* aichallenge_scoring_result
* Calculate scores from /aichallenge/score and /aichallenge/collision.
* Contains the main launch file aichallenge.launch.xml. All ROS2 nodes are launched from this launch file.
* aichallenge_submit
* All ROS2 packages implemented by participants should be placed in this directory, as only the contents of this directory will be submitted at the time of submission.
* Please modify this launch file accordingly to configure the ROS2 nodes you have implemented to be launched. Please modify this launch file accordingly and configure it so that your ROS2 node will be activated.
* initialpose_publisher
* Since the default initial position estimation may result in initial position deviations, this function provides the ability to set the vehicle position at a pre-defined initial position.
* pose_initializer_custom
* The pose_initializer package in autoware.universe has been modified to discard the posture calculated by Monte-Carlo and NDT Matching and set it with the posture sent by the `initialpose_publisher`.
* self_driving_controlloer
* Provides the ability to set GoalPose and engage required to start automatic operation.
* autoware_launch
* We have copied and partially edited the launch, config-related packages of Autoware; Autoware in the Docker image has removed the packages included here. You can modify the behavior of Autoware by editing here.
* If you want to use the files before the modification, please copy the files from [autoware_launch](https://github.com/autowarefoundation/autoware_launch/tree/awsim-stable), [autoware_universe's launch directory](https://github.com/autowarefoundation/autoware.universe/tree/awsim-stable/launch).

* All ROS2 packages implemented by participants should be placed in this directory, as only the contents of this directory will be submitted at the time of submission.
* Please modify this launch file accordingly to configure it to launch the ROS2 node you have implemented. Please modify this launch file accordingly to configure your ROS2 node to be launched.
* autoware_launch, autoware_universe_launch
* The Autoware packages included here have been removed from the Docker image of Autoware. You can modify the behavior of Autoware by editing here.
* If you want to use the files before the modification, please copy the files from [autoware_launch](https://github.com/autowarefoundation/autoware_launch/tree/awsim-stable), [autoware_universe's launch directory](https://github.com/autowarefoundation/autoware.universe/tree/awsim-stable/launch).
* autoware_micro Folder for creating a minimum configuration of autoware.
* dallara_interface A set of packages to adapt the vehicle used in Autonoma.
* sample_pakcages Sample packages for creating custom packages.
### Steps for Execution

1. Docker Image Build
Expand Down
29 changes: 21 additions & 8 deletions documentation/docfx_project_en/online/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,31 @@
bash advance_preparations.sh
```
2. Build the Docker image
```
```sh
# In the aichallenge2023-racing/docker/evaluation directory
bash build_docker.sh
```
3. Launch AWSIM
4. Start the Docker container (After launch, autoware will start automatically, and autonomous driving will begin)
```
#In the aichallenge2023-racing/docker/evaluation directory
Start the Docker container (After launch, autoware will start automatically, and autonomous driving will begin)

GPU version
```sh
# In the aichallenge2023-racing/docker/evaluation directory
bash run_container.sh
```

CPU version
```sh
# In the aichallenge2023-racing/docker/evaluation directory
bash run_container_cpu.sh
```
5. Verify result.json
Once the evaluation is complete, result.json will be stored in the `output` folder.

4. Verify result.json
after evaluation、output folder has below
- result.json
- rosbag.db3
- rviz_capture.mp4
- autoware.log
2. Upload to the Online Environment
<img src="../images/online/siteImage.png" width="100%">
Expand All @@ -45,10 +58,10 @@
* You cannot upload new sources while the scoring process is ongoing.
* You can upload up to three times per day, and the count will reset at 0:00 Japan time.

4. Check the Results
3. Check the Results
&emsp; After the evaluation is completed in the online environment, you can download the result.json file and review the results.

5. If no results are found:
4. If no results are found:
1. Check for issues in the package dependencies:
If implemented in Python, please verify there are no missing dependencies in the `package.xml`, and ensure that `setup.py` or `CMakeLists.txt` are correctly written. If implemented in C++, please ensure that both `package.xml` and `CMakeLists.txt` are accurately described.

Expand Down
139 changes: 103 additions & 36 deletions documentation/docfx_project_en/rule/index.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,130 @@
Certainly! Here's the translation of the provided text in the same format:

# Rule

This page explains the rules and ranking system for the competition. Please note that the contents of this page may change during the tournament period.
&emsp;This page explains the rules and ranking system of the competition. Please note that the contents of this page may change during the competition period.

## Ranking System

The ranking of participants is determined based on the following two metrics:
&emsp;Participants' rankings are determined based on the following two criteria:

1. Distance Points:
1. For participants who could not reach the goal within the time limit (10 minutes), their ranking is determined by the `distance points (0-100)` corresponding to the distance they could travel from the starting point within the time limit.
2. If the participant's vehicle completed a lap within the time limit, the `distance points` are 100.
3. In the case of disqualification, the `distance points` are 0.
4. If the distance points are the same, the person with less time added due to penalties will rank higher.
1. For participants who cannot reach the goal within the time limit (10 minutes), the ranking is determined by `Distance Points (0-5700)`, based on the distance traveled from the start point within the time limit.
2. If the goal is reached within the time limit, the `Distance Points` are approximately 5700 points. (Details of the exact distance are omitted for brevity.)
2. Total Time:
1. For participants who reached the goal within the time limit, their ranking is determined by the `total time`, which is the sum of the time elapsed from start to finish and penalty time. The penalty time will be calculated based on violations during the race.
1. For participants who reach the goal within the time limit, the ranking is determined by the `Total Time`, which includes the time taken from start to goal plus any penalties.

***Ranking Example***
***Example of Ranking***

| Distance Points | Time from Start to Goal | Time Added Due to Penalties | Total Time | Rank |
| --------------- | ----------------------- | --------------------------- | ---------- | ---- |
| 100 | 01:10 | 00:00 | 01:10 | 1 |
| 100 | 01:30 | 00:10 | 01:40 | 2 |
| 100 | 01:20 | 00:30 | 01:50 | 3 |
| 50 | N/A | 00:00 | N/A | 4 |
| 50 | N/A | 00:10 | N/A | 5 |
| 10 | N/A | 00:00 | N/A | 6 |
| Distance Points | Time from Start to Goal | Time Addition due to Penalty | Total Time | Rank |
| --------------- | ----------------------- | ---------------------------- | ---------- | ---- |
| 5700 | 01:10 | 00:00 | 01:10 | 1 |
| 5700 | 01:30 | 00:10 | 01:40 | 2 |
| 5700 | 01:20 | 00:30 | 01:50 | 3 |
| 60 | N/A | 00:00 | N/A | 4 |
| 50 | N/A | 00:10 | N/A | 5 |
| 10 | N/A | 00:00 | N/A | 6 |

### Penalty

Deviation from the course and collisions with other vehicles running alongside are considered violations. There are 3 types of penalty for violations:
&emsp;Violations such as deviating from the course or colliding with other vehicles are penalized. The penalties for violations are:

1. Disqualification
2. 10-second addition to the driving time
3. 5-second addition to the driving time
1. End of run
2. Addition of 10 seconds to the running time
3. Addition of 5 seconds to the running time

The following lists each violation and the corresponding penalty.
Below are the violations and their corresponding penalties:

**Critical Violation (Disqualification)**
**End of Run**

- Deviating from the course (for more than 2 seconds)
- Deviating from the course (more than 5m from the course boundary)
- Driving in the wrong direction on the course
- Deviating more than 5m from the course boundary for more than 10 seconds
- Being more than 100 seconds away from the course boundary
- Completion of the run is considered when crossing the following goal point.
Sample can be found at `docker/aichallenge/aichallenge_ws/src/aichallenge_submit/autoware_micro/goal_pose_setter/config/default_goal_pose.param.yaml` (Note: yaml file is not specified in the launch file)
```yaml
goal.position.x: 21912.0
goal.position.y: 52267.5
```
**Sevior Violation (Penalty: 10 seconds per occurrence):**
**Major Violation (Penalty: 10 seconds/occurrence):**
- Colliding with another vehicle (the collision state lasts for more than 2 seconds)
- Collision with another vehicle that lasts more than 2 seconds
- Deviating more than 5m from the course boundary
- Deviating more than 2 seconds from the course boundary
**Minor Fouls (Penalty: 5 seconds per occurrence):**
**Minor Violation (Penalty: 5 seconds/occurrence):**
- Deviating from the course (for less than 2 seconds **AND** less than 5m from the course boundary)
- Colliding with another vehicle (the collision state is resolved within 2 seconds)
- Deviating from the course (less than 2 seconds **and** less than 5m from the course boundary)
- Collision with another vehicle (resolved within 2 seconds)
**Note**
- In cases where another vehicle collides with the rear of your vehicle (e.g., being rear-ended by another vehicle), it is not considered the fault of your vehicle and no penalty will be applied.
- In cases where another vehicle collides with the rear of your vehicle (e.g., rear-end collision by another vehicle), it is not considered your fault, and no penalty is applied.
- Do not drive in the wrong direction.
- Do not cut corners.
## Submission
Participants are requested to upload the software they developed to the evaluation system via the submission page. Three simulations will be conducted for each upload, and distance points and total time will be calculated for each simulation. The best score out of the three simulation results will be reflected in the ranking.

### How to check results

The details and results of the simulations are planned to be available for confirmation through a json file output by the evaluation system and videos of the simulations. Please wait for further announcements.
&emsp;Participants are required to upload their developed software to the evaluation system via the submission page. Three simulations will be conducted for each upload, and distance points and total time calculations will be performed for each simulation. The highest score among the three simulation results will be reflected in the rankings.
### How to Check Results
&emsp;The score of the results will be sent to `result.json`.
#### Log Format for Results
&emsp;The results will be output in the following format in `~/awsim-logs/result.json`.

```json
{
"rawLapTime": 72.77926,
"distanceScore": 457.0,
"lapTime": 302.779266,
"isLapCompleted": false,
"isTimeout": false,
"trackLimitsViolation": [
19, # out of track less than 2 sec
19, # out of track more than 2 sec
2, # out of track less than 5m
2, # out of track more than 5m
0 # not used
],
"collisionViolation": [
0, # collision less than 2 sec
0, #
collision more than 2 sec
0, # not used
0 # not used
]
}
```

&emsp;Additionally, `~/awsim-logs/verbose_result.json` will also be output in the following format.

```json
{
"rawLapTime": 0.0,
"distanceScore": 0.0,
"lapTime": 0.0,
"isLapCompleted": false,
"isTimeout": false,
"boundsViolations": [
{
"distance": 0.3017645,
"distanceFromBound": 2.26600266,
"duration": 0.0160293132
},
{
"distance": 2.776487,
"distanceFromBound": 1.01412094,
"duration": 0.0801174641
},
{
"distance": 2.91162729,
"distanceFromBound": 1.1498549,
"duration": 0.08674298
},
....
]
"collisionViolations": []
}
```
Loading

0 comments on commit 32dab2c

Please sign in to comment.