Source installation#
Prerequisites#
ROS
- ROS 2 Humble (on Ubuntu 22.04)
- ROS 2 Jazzy (on Ubuntu 24.04)
For ROS 2 system dependencies, refer to REP-2000.
- Git
- Registering SSH keys to GitHub is preferable.
sudo apt-get -y update
sudo apt-get -y install git
How to set up a development environment#
Clone
autowarefoundation/autowareand move to the directory.git clone https://github.com/autowarefoundation/autoware.git cd autowareBy default, this checks out the
mainbranch, which contains the latest in-development changes. If you want to use a stable release, check out the corresponding release tag. For example, to use the2.0.0release (compatible with both ROS 2 Humble and Jazzy):git checkout 2.0.0The list of available tags can be found on the autoware releases page.
If you are installing Autoware for the first time, you can automatically install the dependencies by using the provided Ansible playbook.
bash ansible/scripts/install-ansible.sh source ~/.bashrc ansible-galaxy collection install -f -r ansible-galaxy-requirements.yaml ansible-playbook autoware.dev_env.install_dev_env --ask-become-passTo install without NVIDIA GPU support:
ansible-playbook autoware.dev_env.install_dev_env --skip-tags nvidia --ask-become-passThe playbook reads your Ubuntu version and selects the versions of ROS 2 and the NVIDIA libraries:
Ubuntu ROS 2 CUDA TensorRT 22.04 Humble 12.8 10.8 on amd64, 10.3 on arm64 (Jetson Orin) 24.04 Jazzy 13.0 10.13 The playbook stops on other Ubuntu versions.
If you encounter any build issues, please consult the Troubleshooting section for assistance.
Info
Before installing NVIDIA libraries, please ensure that you have reviewed and agreed to the licenses.
Note
The following items will be automatically installed. If the ansible script doesn't work or if you already have different versions of dependent libraries installed, please install the following items manually.
- Install Ansible
- Install Build Tools
- Install Dev Tools
- Install geographiclib
- Install the RMW Implementation
- Install ROS 2
- Install ROS 2 Dev Tools
- Install Nvidia CUDA
- Install Nvidia cuDNN and TensorRT
- Install spconv (for sparse convolutions)
- Install acados
- Install Agnocast
- Install the Autoware RViz Theme (only affects Autoware RViz)
- Download the Artifacts (for perception inference)
How to set up a workspace#
Create the
srcdirectory and clone repositories into it.Autoware uses vcs2l to construct workspaces.
cd autoware mkdir -p src vcs import src < repositories/autoware.reposIf you are an active developer, you may also want to pull the nightly repositories, which contain the latest updates:
vcs import src < repositories/autoware-nightly.repos⚠️ Note: The nightly repositories are unstable and may contain bugs. Use them with caution.
Optionally, you may also download the extra repositories that contain drivers for specific hardware, but they are not necessary for building and running Autoware:
vcs import src < repositories/extra-packages.repos⚠️ You might need to install the dependencies of the extra packages manually.
➡️ Check the readme of the extra packages for more information.
The
tools.reposfile adds autoware_tools, and thesimulator.reposfile adds scenario_simulator_v2. Import them only if you need them. For a description of each file, seerepositories/*.reposfiles.Add community packages to your workspace. (optional) NEW
The Autoware Index is a registry of community packages that extend Autoware, each built and tested against the latest Autoware release. Pick packages on its browse site or with
aw-index-clito generaterepositories/autoware-index.repos, then import it the same way:vcs import src < repositories/autoware-index.repos➡️ See the Autoware Index page for the full guide.
Install dependent ROS packages.
Autoware requires some ROS 2 packages in addition to the core components. The tool
rosdepallows an automatic search and installation of such dependencies. You might need to runrosdep updatebeforerosdep install.On Ubuntu 22.04, replace
jazzywithhumble.source /opt/ros/jazzy/setup.bash # Make sure all previously installed ros-$ROS_DISTRO-* packages are upgraded to their latest version sudo apt update && sudo apt upgrade rosdep update rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTROInstall and set up ccache to speed up consecutive builds. (optional but highly recommended)
Build the workspace.
Autoware uses colcon to build workspaces. For more advanced options, refer to the documentation.
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=ReleaseIf there is any build issue, refer to Troubleshooting.
Follow the steps in Network Configuration before running Autoware.
Apply the settings recommended in Console settings for ROS 2 for a better development experience. (optional)
How to update a workspace#
Upgrade from 1.9.0 or older to 2.0.0
Autoware 2.0.0 downloads the AI models from Hugging Face. The models use one folder per variant, for example lidar_centerpoint/tiny/. The 2.0.0 launch files read only this layout.
After you update the workspace, download the models again:
ansible-galaxy collection install -f -r ansible-galaxy-requirements.yaml
ansible-playbook autoware.dev_env.install_dev_env --tags artifacts --ask-become-pass
autoware_livox_tag_filter moved from autoware_universe to the Autoware Index. If you use it, add it to your workspace with aw-index-cli.
Update the
.reposfile.cd autoware git pull <remote> <your branch><remote>is usuallygit@github.com:autowarefoundation/autoware.gitUpdate the repositories.
vcs import src < repositories/autoware.repos⚠️ If you are using nightly repositories, you can also update them.
vcs import src < repositories/autoware-nightly.reposvcs pull srcFor Git users: -
vcs importis similar togit checkout. - Note that it doesn't pull from the remote. -vcs pullis similar togit pull. - Note that it doesn't switch branches.For more information, refer to the official documentation.
It might be the case that dependencies imported via
vcs importhave been moved/removed. Vcs2l does not currently handle those cases, so if builds fail aftervcs import, cleaning and re-importing all dependencies may be necessary:rm -rf src/* vcs import src < repositories/autoware.repos⚠️ If you are using nightly repositories, import them as well.
vcs import src < repositories/autoware-nightly.reposInstall dependent ROS packages.
On Ubuntu 22.04, replace
jazzywithhumble.source /opt/ros/jazzy/setup.bash # Make sure all previously installed ros-$ROS_DISTRO-* packages are upgraded to their latest version sudo apt update && sudo apt upgrade rosdep update rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTROBuild the workspace.
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release