About the tournament finals
Competition details
This competition is an online simulator where participants compete for driving time using autonomous vehicles.
Driving environment
The train runs through some sections of Nishi-Shinjuku.

autonomous vehicle
The Lexus RX450h will be used as the autonomous driving vehicle.

Rules regarding the entire competition
- You will use Autoware to create source code that can run through scenarios on AWSIM (simulator for autonomous driving).
- Participants create source code to clear a given scenario and first verify it in their local environment.
- By uploading the source code to an online environment, the simulation will be performed online and the time will be determined. Ranking will be determined based on the simulation result time of the last uploaded source code.
scenario
Describes the events included in the scenario.
- The following content is common in both the online scoring environment and the local environment, but details such as the order of events and the location of vehicles are different.
- If you run through a route or method other than the one described for each event, it may not work in the online scoring environment.
Events on the challenge course
Following low speed vehicles

- This is a situation where a slow vehicle is running in front of you.
- Although it is possible to run the entire distance at the sample stage, it is possible to improve the running time by improving the control so that it follows the speed of low-speed vehicles.
Avoiding vehicles trying to park

- This is a situation where you have to avoid a vehicle that is trying to park.
- Although it is possible to run the entire distance at the sample stage, the running time can be improved by improving route planning to overtake vehicles.
Events at the advanced course
In addition to the events in the Challenge Course, the Advanced Course has added the following events, as well as NPC pedestrians and vehicles.
Avoiding multiple vehicles

- This is a situation where you need to avoid an accident or parked vehicle.
- It is impossible to run at the sample stage. Driving route planning needs to be improved to navigate between multiple vehicles.
Obstacle avoidance while vehicles are passing

- This is a situation where you have to avoid an obstacle while a vehicle is passing from behind.
- Although it is possible to run at the sample stage, it is possible to improve the running time by improving the behavior to interrupt at the appropriate timing.
Detailed rules
Goal judgment

- The course has checkpoints shown in the images ① to ③ above. When a vehicle passes all checkpoints in order from ① to ③, it is determined that it has reached the goal.
- As shown in the image above, checkpoints are defined in a cube shape.
- When the checkpoint and vehicle overlap even slightly, it is determined that the checkpoint has been passed.
- The goal is determined when the vehicle comes to a complete stop.
- Stopping at the goal point must be done before the stop line.
To be exact, the front end of the vehicle must be between 1m before the stop line and between the stop line.
Time measurement
- The timing when the own vehicle starts moving is the timing to start measurement.
- The measurement ends when the goal is determined.
Disqualification conditions
The following cases will result in disqualification.
- In case of collision with a vehicle, pedestrian, guardrail, etc.
- If you cross the stop line at the goal point
- If the vehicle speed exceeds 50km/h
Check the time
You can check the time with the command below.
# inside the Rocker container
source /aichallenge/aichallenge_ws/install/setup.bash
ros2 topic echo /score/result
# The following will be displayed when a goal is judged or disqualified.
# score: 164699
# has_finished: true
# has_collided: false
# has_park_failed: false
# check_point_count: 2
# The value of `score` is the final time.
# Disqualified if `has_finished` is false.
source /aichallenge/aichallenge_ws/install/setup.bash
ros2 topic echo /score/result
# The following will be displayed when a goal is judged or disqualified.
# score: 164699
# has_finished: true
# has_collided: false
# has_park_failed: false
# check_point_count: 2
# The value of `score` is the final time.
# Disqualified if `has_finished` is false.
