Skip to content

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)