Environment Overview
In the competition repository, the entire build and runtime environment runs inside Docker containers. Each container is defined as a service in docker-compose.yml, and the operations participants use day-to-day are wrapped in make commands — so you can develop without needing to know the details of Docker Compose. For details on Autoware modules, see Main Module.
Directory Structure
aichallenge-racingkart/
├── aichallenge/
│ ├── workspace/ # ROS 2 workspace
│ │ └── src/
│ │ ├── aichallenge_submit/ # ← packages edited by participants
│ │ ├── aichallenge_system/ # competition system packages (do not edit)
│ │ └── aichallenge_tools/ # tool packages (do not edit)
│ ├── simulator/AWSIM/ # AWSIM binary
│ ├── ml_workspace/ # machine learning workspace
│ └── utils/ # utility scripts
├── output/ # execution output
├── submit/ # submission archive (generated by create_submit_file.bash)
├── docker-compose.yml # service definitions
├── Makefile # make command wrappers
└── docker_build.sh # Docker image build script
When running make dev, aichallenge/workspace/ and output/ are mounted into the container, so edits made on the host and execution results are directly accessible from inside the container.
Service List
Services defined in docker-compose.yml:
| Service | Corresponding make command | Description |
|---|---|---|
autoware-build |
make autoware-build |
Builds the ROS workspace |
simulator |
make dev / make simulator |
Starts AWSIM |
autoware |
make dev / make autoware-simulator / make autoware-vehicle |
Starts Autoware (switches between simulation and real-vehicle mode via RUN_MODE) |
autoware-simulator-evaluation |
make eval |
Starts AWSIM + Autoware for evaluation; stops automatically when the run completes |
autoware-command |
— | Runs arbitrary commands inside the Autoware container (e.g. ROS service calls) |
zenoh |
make zenoh |
Starts the Zenoh bridge for remote real-vehicle connectivity |
driver |
make driver |
Starts the vehicle interface (racing_kart_interface) |
rviz2 |
make rviz2 |
Starts RViz2 for remote visualization |
aichallenge_submit packages
The packages that participants can modify are organized under aichallenge_submit/:
| Package | Description |
|---|---|
aichallenge_submit_launch/ |
Launch package managing startup configuration, parameters, maps, and data |
simple_pure_pursuit/ |
Rule-based control using Pure Pursuit |
simple_trajectory_generator/ |
Trajectory generation |
path_to_trajectory/ |
Converts Path messages to Trajectory |
multi_purpose_mpc_ros/ |
MPC (Model Predictive Control)-based control |
tiny_lidar_net_controller/ |
End-to-End control using TinyLiDARNet |
pilot_net_controller/ |
End-to-End control using PilotNet |
gyro_odometer/ |
Odometry estimation using a gyro sensor |
imu_corrector/ |
IMU data correction |
imu_gnss_poser/ |
Position estimation combining IMU and GNSS |
racing_kart_gnss_poser/ |
GNSS-based position estimation for the racing kart |
laserscan_generator/ |
Generates LaserScan from point cloud data |
racing_kart_description/ |
Vehicle model (URDF and mesh) |
racing_kart_sensor_kit_description/ |
Sensor kit configuration (URDF) |