Autoware
Autoware V2X
Our lab is co-leading the AutowareV2X project, and has successfully set up smart intersection devices to enhance real-world testing environments. We've incorporated scenarios involving walking pedestrians to simulate realistic urban traffic conditions. Autoware V2X project aims to innovate vehicular communication systems, focusing on improving safety and efficiency at urban intersections through vehicle-to-everything (V2X) communications.
OpenAD Kit
We are also actively involved in the OpenAD Kit project, focusing on containerizing algorithms to facilitate rapid and timely updates. The OpenAD Kit project aims to democratize autonomous driving (AD) systems by enhancing integration between cloud and edge computing, thus bringing the best practices of Software Defined Vehicle (SDV) development into real world. This approach significantly lowers the threshold for developing and deploying the related software stack, making it more accessible for broader adoption and innovation in the field of autonomous driving technology.
AutowareUniverse-CARLA Bridge
The AutowareUniverse-CARLA Bridge connects the AutowareUniverse autonomous driving system with the CARLA simulator. It enables real-time data exchange between simulation and perception/planning modules. This bridge allows testing and development of autonomous driving features in a virtual environment. It serves as a foundation for integrating simulation-based workflows with real-world autonomous software stacks.
Prerequisites: Ubuntu (tested on 22.04)/MacOS, Python (3.7), ~50GB of free disk space
Ubuntu tutorial:
Begin by updating your package list to ensure you have the latest information on available packages:
sudo apt update
Install the necessary packages to allow apt to use repositories over HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Add Docker's GPG key to your system to verify the authenticity of the packages:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Add the Docker repository to your system's apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update your package index to include Docker's repository:
sudo apt update
Install Docker Engine:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Check if Docker is installed and running:
sudo systemctl status docker
Verify that Docker is working correctly by running the hello-world image:
docker run hello-world
Use command:
exit
to close this sample docker.
sudo apt-get install python3-rocker
Section C: CARLA and Autoware preparation and compilation
Pull CARLA docker to host machine:
docker pull carlasim/carla:0.9.15
Docker run CARLA command:
docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.15 /bin/bash ./CarlaUE4.sh -carla-rpc-port=2000
Pull the docker image with built-in environment for Autoware compilation and launch
docker pull williamhecoin/blueice:hydrau-env
Download the required Autoware src code, Autoware_maps and AutowareUniverse-Carla
Google drive link for Autoware, Autoware_map, AutowareUniverse-Carla
Now we are going to do the compilation but first you need to use this command on your terminal (for display connecting), and WHENEVER you open a terminal in this tutorial, please use this command:
xhost +local:root
Start the docker with built environments and load all the files into the docker by using this command:
rocker --x11 --nvidia --network=host --volume ~/autoware --volume ~/autoware_map --volume ~/AutowareUniverse-Carla/ -- williamhecoin/blueice:hydrau-env
We need to add several python packages into the base environment of this docker:
pip3 install carla pynput pyzmq
Start compiling Autoware by cd to the directory and use:
colcon build
And then, needless to say, please source install/setup.bash
Next, please cd to the AutowareUniverse-Carla directory and use:
colcon build
And then, needless to say, please source install/setup.bash
Now we may bring up the Autoware GUI:
ros2 launch autoware_launch autoware.launch.xml map_path:=/home/______/autoware_map/carla_map/Town10 vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
Open a new terminal, and use these command first:
xhost +local:root
docker ps
Now please check your docker ID, and fill it into this command:
docker exec -it _____ /bin/bash
Now you are attached to the current running Autoware docker, please remember to:
cd ../______/autoware && source install/setup.bash && cd ../AutowareUniverse-Carla && source install/setup.bash
to source the environment first.
Then please use the command:
ros2 run vehicle host_vehicle
And you may see a little vehicle spawned at a fixed point on the CARLA map, and Autoware.universe is publishing topics about surrounding environment.