Note: The main branch is not stable. Suggest using the branch humble instead.
The package includes launch file to run Autoware, Carla agent, and bridge (zenoh-bridge-ros2dds + zenoh_carla_bridge).
Documentation: https://autoware-carla-launch.readthedocs.io/en/latest/
Make sure you meet the following system requirements
- Ubuntu 22.04
- Carla 0.9.14
Install rocker for containers
sudo apt install docker.io python3-rocker
- Enter into docker
./container/run-bridge-docker.sh
- Build Carla bridge
cd autoware_carla_launch
source env.sh
make prepare_bridge
make build_bridge
- Enter into docker
./container/run-autoware-docker.sh
- Build Zenoh+Autoware
cd autoware_carla_launch
source env.sh
make prepare_autoware
make build_autoware
- (Optional) If you want to build Autoware from source
# Remove old autoware (Optional)
rm -rf autoware
# Download source code and run docker
./container/run-autoware-docker-src.sh
# Inside container
cd autoware_carla_launch
# Build Autoware
./script/build-autoware.sh
source autoware/install/setup.bash
# The remaining steps are the same
source env.sh
make prepare_autoware
make build_autoware
- Clean the Carla bridge container
# Enter into docker
./container/run-bridge-docker.sh
# Clean
cd autoware_carla_launch
source env.sh
make clean_bridge
- Clean Zenoh+Autoware container
# Enter into docker
./container/run-autoware-docker.sh
# Clean
cd autoware_carla_launch
source env.sh
make clean_autoware
The section shows how to run Autoware in Carla simulator.
- Run Carla simulator (In native host)
./CarlaUE4.sh -quality-level=Epic -world-port=2000 -RenderOffScreen
- Run zenoh_carla_bridge and Python Agent (In Carla bridge container)
# Go inside "Carla bridge container"
./container/run-bridge-docker.sh
# Run zenoh_carla_bridge and Python Agent
cd autoware_carla_launch
source env.sh
./script/run-bridge.sh
- Run zenoh-bridge-ros2dds and Autoware (In Autoware container)
# Go inside "Autoware container"
./container/run-autoware-docker.sh
# Run zenoh-bridge-ros2dds and Autoware
cd autoware_carla_launch
source env.sh
./script/run-autoware.sh
# (Optional) If you want to drive manually, split the terminal and run the following command
source env.sh
ros2 run autoware_manual_control keyboard_control
- Run Carla simulator (In native host)
./CarlaUE4.sh -quality-level=Epic -world-port=2000 -RenderOffScreen
- Run zenoh_carla_bridge and Python Agent (In Carla bridge container)
# Go inside "Carla bridge container"
./container/run-bridge-docker.sh
# Run zenoh_carla_bridge and Python Agent
cd autoware_carla_launch
source env.sh
./script/run-bridge-two-vehicles.sh
- Run zenoh-bridge-ros2dds and Autoware for 1st vehicle (In Autoware container)
# Go inside "Autoware container"
./container/run-autoware-docker.sh
# Run zenoh-bridge-ros2dds and Autoware
cd autoware_carla_launch
source env.sh
./script/run-autoware.sh v1
# Optional: If you want to assign Carla IP and FMS IP
./script/run-autoware.sh v1 127.0.0.1:7447 127.0.0.1:7887
- Run zenoh-bridge-ros2dds and Autoware for 2nd vehicle (In Autoware container)
# Go inside "Autoware container"
./container/run-autoware-docker.sh
# Run zenoh-bridge-ros2dds and Autoware
cd autoware_carla_launch
source env.sh
./script/run-autoware.sh v2
# Optional: If you want to assign Carla IP and FMS IP
./script/run-autoware.sh v2 127.0.0.1:7447 127.0.0.1:7887
- Now there are two rviz with separated Autoware at the same time. You can control them separately!
- Generate the map: Now we're using the maps generated by Hatem.
- Check the modification of ReadTheDocs locally
pip install sphinx
sphinx-build -a docs /tmp/mydocs
xdg-open /tmp/mydocs/index.html