Free tools Windows power users keep installed
One-click scans. No signup required.
The documented native installation baseline for Autoware is Ubuntu 22.04 with ROS 2 Humble. Choose a source build if you are developing Autoware packages or need to modify code. Choose Docker if you want a prebuilt, reproducible environment with fewer host dependencies. Autoware also publishes amd64 and arm64 images, including optional CUDA variants for GPU-accelerated perception.
Choose the installation method first
There are two practical ways to install Autoware with ROS 2:
As an Amazon Associate I earn from qualifying purchases.
- Native source build: Autoware’s repositories are placed in a ROS 2 workspace, dependencies are resolved with rosdep, and the workspace is compiled with colcon.
- Docker: You run a prebuilt Autoware environment, so the host does not need the complete Autoware dependency tree installed directly.
Use the source path when you will edit Autoware code, create or debug packages, or want a conventional ROS 2 workspace visible on the host. Use Docker when a fast first setup, clean host system, repeatable dependencies, or easy switching between environments matters more than direct source-level integration.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match| Consideration | Source build | Docker |
|---|---|---|
| Host cleanliness | Installs ROS development helpers and Autoware dependencies on Ubuntu. | Keeps most Autoware dependencies inside the container; Docker itself and its integration packages still run on the host. |
| Initial setup | Requires repository import, rosdep resolution, and a complete colcon build. | Uses a prebuilt image, although the Docker setup still configures the required environment. |
| Source customization | Best option for changing and rebuilding Autoware packages. | Possible after mounting or copying a workspace, but less direct than a native checkout. |
| Architecture | Depends on whether every package and dependency is available for your host architecture. | Official images are published for amd64 and arm64. |
| GPU integration | Configured directly on the host and ROS installation. | Use the CUDA image and NVIDIA container integration when GPU workloads require it. |
| Version control | You control the checked-out repositories and rebuilds. | Image tags provide a convenient version boundary; pin a release tag for repeatability. |
The steps below use the documented native baseline, Ubuntu 22.04 and ROS 2 Humble. Docker examples show Jazzy tags as published; replace jazzy with humble when your container uses ROS 2 Humble.
#1 Best Overall
Prerequisites and version choices
Native baseline: Ubuntu 22.04 and ROS 2 Humble
The official prerequisite combination for a native Autoware workspace is Ubuntu 22.04 with ROS 2 Humble. Install ROS 2 Humble using the ROS 2 documentation before beginning the Autoware steps. The commands in this guide assume that /opt/ros/humble/setup.bash exists.
Autoware’s current development branch represents moving code. If you need a stable, repeatable build, check out a release tag after cloning. The documentation uses 1.9.0 as an example and identifies that release as compatible with ROS 2 Humble and Jazzy.
Choosing a Docker ROS distribution
Autoware’s image catalog includes tags for ROS 2 Humble and Jazzy, as well as runtime, development, and CUDA variants. The ROS distribution in the tag should match the distribution you intend to use inside the container. A Humble host is not automatically a reason to use a Humble container, but matching distributions reduces confusion when you share commands, workspace files, and package overlays.
Checking architecture and GPU needs
The Docker documentation explicitly lists amd64 and arm64 images. Select the image architecture supported by the machine or deployment target. CUDA is optional, not a general requirement for launching Autoware, but some perception features need GPU acceleration, including object detection and traffic-light detection or classification. Without an NVIDIA GPU, use a non-CUDA image and follow Autoware’s documented non-CUDA guidance for the features you plan to run.
Install Autoware from source
1. Install Git, colcon, rosdep, and the repository tool
Open a terminal on Ubuntu 22.04 and install the development helpers:
sudo apt -y update
sudo apt -y install git python3-colcon-common-extensions python3-rosdep
sudo rosdep init
The workspace import uses vcs. If the command is not already available through your ROS 2 installation, install the package that provides the version-control import command for your Ubuntu/ROS setup before continuing. The important requirement is that vcs import can read Autoware’s repository manifest.
2. Clone the Autoware repository and import its repositories
Clone the upstream repository and create the source directory:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsRank #2
git clone https://github.com/autowarefoundation/autoware.git $HOME/autoware
cd $HOME/autoware
mkdir -p src
vcs import src < repositories/autoware.repos
This imports the repositories listed in repositories/autoware.repos into $HOME/autoware/src. The manifest controls the collection of packages that the workspace will build; it is not enough to clone only the top-level repository.
3. Pin a release when you need reproducibility
Immediately after cloning, the checkout is on the repository’s current development branch. That branch can change as packages and dependencies evolve. For a tutorial, deployment, or team build that must be recreated later, check out a release before importing or rebuilding the workspace:
git checkout 1.9.0
1.9.0 is the documented example of a release that works with ROS 2 Humble and Jazzy. If you choose another release, verify its supported ROS distributions in that release’s documentation rather than assuming compatibility.
4. Source ROS 2 and install package dependencies
Source ROS 2 Humble, refresh Ubuntu packages, update rosdep’s index, and resolve dependencies from the imported source tree:
source /opt/ros/humble/setup.bash
sudo apt update && sudo apt upgrade
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro humble
source /opt/ros/humble/setup.bashplaces ROS 2 Humble’s commands and environment in the current shell.rosdep updaterefreshes the package-to-system-dependency index used by rosdep.--from-paths srcscans the imported workspace.--ignore-srcavoids trying to install packages that are already present as source packages.--rosdistro humbletells rosdep which ROS distribution’s dependency rules to use.
If rosdep reports a missing key or an unavailable package, do not silently substitute a package from another ROS distribution. Confirm that the shell is using Humble, that the selected Autoware checkout supports Humble, and that the host architecture has the dependency available.
5. Build the workspace in Release mode
Autoware uses colcon to build ROS 2 workspaces. Build with symlink installation and a Release CMake configuration:
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
--symlink-install makes development iterations more convenient because many installed files point back to the workspace. -DCMAKE_BUILD_TYPE=Release selects an optimized build rather than a debug configuration. A full workspace build can take substantial time and disk space, so allow the command to finish and read the first package failure if it stops.
Rank #3
- There are 2 options for this Kit, this is the accessory version, which doesn't include Jetson Orin Nano 4GB Kit. For more details, please click the image2 to check the package content.
- The UGV Beast ROS2 Kit is an AI robot designed for exploration and creation with excellent expansion potential, based on ROS 2 and equipped with Lidar and depth camera, seamlessly connecting your imagination with reality. Suitable for tech enthusiasts, makers, or beginners in programming, it is your ideal choice for exploring the world of intelligent technology.
- Equipped with the high-performance Jetson Orin series computer to meet the challenges of complex strategies and functions, and inspire your creativity. Adopts dual-controller design, combines the high-level AI functions of the host controller with the high-frequency basic operations of the sub controller, making every operation accurate and smooth.
- Easy to be controlled remotely via UGV Beast Web Application without downloading any software, just open your browser and start your journey. You can use the basic ROS 2 functions of the robot without installing a virtual machine on the PC.
- Supports high-frame rate real-time video transmission and multiple AI Computer Vision functions, the UGV Beast is an ideal platform to realize your ideas and creativity!
6. Source the finished workspace
After a successful build, source the generated overlay in every shell that will run Autoware:
source $HOME/autoware/install/setup.bash
Source the ROS 2 underlay first in a new terminal, then the Autoware overlay:
source /opt/ros/humble/setup.bash
source $HOME/autoware/install/setup.bash
Before launching a vehicle stack, apply Autoware’s official network-configuration guidance. The project also documents optional console settings that improve command-line usability; these are quality-of-life changes rather than build requirements.
Build only Autoware Core
If you need the smaller Autoware Core workspace rather than the complete imported tree, use the same basic tools and repository import, then restrict dependency resolution and compilation to src/core:
rosdep install -y --from-paths src/core --ignore-src --rosdistro humble
source /opt/ros/humble/setup.bash
colcon build --symlink-install --base-paths src/core --cmake-args -DCMAKE_BUILD_TYPE=Release
The --base-paths src/core option tells colcon to discover packages under that subtree instead of building every package in src. This is useful when your work concerns Core packages and you want to avoid compiling unrelated components. You still need a valid ROS 2 Humble underlay and the dependencies declared by the Core packages.
Recommended Free Tools
Install Autoware with Docker
1. Prepare the Docker environment with Ansible
The documented Docker setup uses the Autoware repository’s Ansible scripts to install Docker and configure the required environment. Clone the repository, install Ansible, install the required collection, and run the playbook:
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
bash ansible/scripts/install-ansible.sh
ansible-galaxy collection install -f -r ansible-galaxy-requirements.yaml
ansible-playbook autoware.dev_env.install_docker --ask-become-pass
The playbook asks for the privilege-escalation password because Docker installation and host configuration require administrative access. Review the playbook output for the exact Docker and runtime components configured on your Ubuntu system.
Rank #4
- There are 2 options for this Kit, this is the accessory version, which doesn't include Jetson Orin Nano 4GB Kit. For more details, please click the image2 to check the package content.
- The UGV Rover ROS2 Kit is an AI robot designed for exploration and creation with excellent expansion potential, based on ROS 2 and equipped with Lidar and depth camera, seamlessly connecting your imagination with reality.
- Suitable for tech enthusiasts, makers, or beginners in programming, it is your ideal choice for exploring the world of intelligent technology.
- Equipped with the high-performance Jetson Orin series computer to meet the challenges of complex strategies and functions, and inspire your creativity. Adopts dual-controller design, combines the high-level AI functions of the host controller with the high-frequency basic operations of the sub controller, making every operation accurate and smooth.
- Easy to be controlled remotely via UGV Rover Web Application without downloading any software, just open your browser and start your journey. You can use the basic ROS 2 functions of the robot without installing a virtual machine on the PC. Supports high-frame rate real-time video transmission and multiple AI Computer Vision functions, the UGV Rover is an ideal platform to realize your ideas and creativity!
2. Skip NVIDIA support on a non-NVIDIA machine
If the machine does not need NVIDIA container support, run the playbook with the documented skip tag:
ansible-playbook autoware.dev_env.install_docker --skip-tags nvidia --ask-become-pass
Skipping NVIDIA setup does not make GPU-dependent perception work without a GPU. It simply avoids installing or configuring the NVIDIA-specific Docker integration.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →3. Pull a prebuilt image
Autoware publishes multi-architecture images on GitHub Container Registry. These examples pull a full non-CUDA Jazzy runtime and a CUDA-enabled Jazzy image:
docker pull ghcr.io/autowarefoundation/autoware:universe-jazzy
docker pull ghcr.io/autowarefoundation/autoware:universe-cuda-jazzy
The image references are:
- ghcr.io/autowarefoundation/autoware:universe-jazzy for the full non-CUDA Jazzy runtime.
- ghcr.io/autowarefoundation/autoware:universe-cuda-jazzy for CUDA workloads.
Replace jazzy with humble for the corresponding Humble images. The catalog also distinguishes runtime and development images, so choose the image type that matches whether you only need to run Autoware or intend to work inside a development environment.
4. Pin the image for stable deployments
An unqualified distribution tag can move as images are rebuilt. For repeatable deployments, use a stable release tag such as:
docker pull ghcr.io/autowarefoundation/autoware:universe-jazzy-1.9.0
The release suffix is an example of the documented naming pattern. Pin the ROS distribution and release together; do not use a Jazzy image while following Humble-specific package instructions inside the container.
5. Work with source changes inside Docker
A prebuilt image removes the initial dependency installation burden, but it does not eliminate the need to rebuild when you change source packages. If dependencies changed after an image was created, the documented workflow is to update apt packages, refresh rosdep, reinstall dependencies from src, and run the same Release-mode colcon build:
Best Value
sudo apt update && sudo apt upgrade
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro humble
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run these commands in the environment that contains the workspace. For a Jazzy container, replace the rosdep distribution argument with jazzy and source the matching ROS setup file.
AMD64, ARM64, and CUDA decisions
AMD64 and ARM64
The published Docker catalog explicitly supports amd64 and arm64. On an arm64 computer, pull an arm64-capable tag and confirm that the packages you plan to use are available for that architecture. A multi-architecture manifest lets Docker select the matching image variant, but it cannot make an unavailable third-party dependency portable.
For native source builds, architecture support is determined by Ubuntu, ROS 2, Autoware’s repositories, and every system dependency together. If a source build fails only on arm64, separate an Autoware compilation error from an unavailable binary or system package before changing the ROS distribution.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
When to choose a CUDA image
Choose a CUDA image only when you have a compatible NVIDIA GPU and need features that use GPU acceleration. The documentation identifies object detection and traffic-light detection or classification among the workloads that may require acceleration. A CUDA tag alone is not a substitute for a working host driver and NVIDIA container configuration.
For CPU-only operation or a machine without NVIDIA hardware, use the non-CUDA image. Some perception pipelines may then be unavailable, slower, or require the project’s documented no-CUDA configuration; the absence of CUDA does not imply that every Autoware feature runs unchanged.
Updating an existing installation
Updating a moving source workspace
For a development checkout that follows current code, update the top-level repository, refresh the imported repositories, update dependencies, and rebuild:
cd $HOME/autoware
git pull
vcs pull src
sudo apt update && sudo apt upgrade
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro humble
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Because the repository manifest can change, vcs pull src should be part of the update rather than updating only the top-level checkout. If a manifest now refers to a moved or removed dependency, a clean re-import may be required.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Updating a pinned installation
For a release-pinned source workspace, review release notes and deliberately change the checkout to the next tag instead of pulling an arbitrary development branch. For Docker, pull the exact release-tagged image you selected and record the tag in your deployment files. This makes it possible to identify whether a later failure came from your application changes or from an environment update.
Troubleshooting common failures
ROS commands or rosdep cannot be found
- Confirm that the ROS 2 distribution is installed.
- Run
source /opt/ros/humble/setup.bashin the current shell. - Check that your checkout and rosdep command use the same distribution.
The repository import fails
- Run
vcs importfrom the directory containing therepositoriesfolder. - Check network access and Git authentication if a repository cannot be downloaded.
- If the manifest references repositories that no longer exist, remove the incomplete
srccontents and re-import from the selected release checkout.
rosdep reports unresolved dependencies
- Run
rosdep updateand retry. - Verify the
--rosdistrovalue matches the sourced ROS installation. - Check whether the selected release supports your Ubuntu version and architecture.
- Read the first unresolved key; later errors can be consequences of that missing dependency.
colcon stops during compilation
- Capture the first package that fails, not only the final summary.
- Confirm that dependencies were installed from the same workspace and ROS distribution.
- After correcting the cause, rerun the Release-mode command. If the workspace is inconsistent after a major repository change, re-import the affected repositories or recreate the build and install directories.
Docker starts but a GPU feature fails
- Verify that the host has a supported NVIDIA driver and that NVIDIA container integration was configured.
- Confirm that you pulled a CUDA tag rather than a non-CUDA runtime image.
- If the machine has no NVIDIA GPU, switch to the non-CUDA path and consult Autoware’s guidance for operating without CUDA.
Runtime networking does not work
A successful build does not complete Autoware’s runtime configuration. Follow the project’s official network-configuration instructions before launching nodes, and verify container networking separately from ROS package discovery. Treat network configuration as an operational step, not as evidence that the source build failed.
Which path should you use?
- Choose source if you are writing Autoware packages, debugging internals, need immediate access to every imported repository, or want normal colcon overlays.
- Choose Docker if you want a prebuilt environment, need to keep the host clean, are sharing a known-good setup with a team, or are targeting amd64 and arm64 through published images.
- Choose a pinned source tag or image tag when a tutorial, experiment, simulation, or vehicle deployment must be reproducible.
- Choose CUDA only when your planned perception workload needs GPU acceleration and the host can provide the required NVIDIA runtime.
The dependable starting point is Ubuntu 22.04 with ROS 2 Humble for a native build. Docker broadens the practical choices to Humble or Jazzy and provides amd64 and arm64 images, while release tags such as 1.9.0 give you a fixed reference instead of a moving development branch.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




