Source Build - autowarefoundation/autoware_ai_documentation GitHub Wiki
Supported Configurations
Autoware Version | Ubuntu 14.04 | Ubuntu 16.04 | Ubuntu 18.04 |
---|---|---|---|
v1.14.0 | x | ||
v1.13.0 | X | ||
v1.12.0 | X | X | |
v1.11.1 | X | ||
v1.11.0 | X | ||
v1.10.0 | X | ||
v1.9.1 | X | X | |
v1.9.0 | X | X |
NOTE: The following packages are not supported in ROS Kinetic.
- orb slam
- dpm ocv
Requirements
Product | Ubuntu 14.04 | Ubuntu 16.04 | Ubuntu 18.04 |
---|---|---|---|
ROS | Indigo | Kinetic | Melodic |
Qt | 4.8.6 or higher | 5.2.1 or higher | 5.9.5 or higher |
CUDA (optional) | 8.0GA(?) | 9.0 | 10.0 |
FlyCapture2 (optional) | |||
Armadillo (optional) |
System dependencies for Ubuntu 14.04 / Indigo
$ sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin
$ sudo add-apt-repository ppa:mosquitto-dev/mosquitto-ppa
$ sudo apt-get update
$ sudo apt-get install libmosquitto-dev
NOTE for 14.04 / Indigo: Please do not install ros-indigo-velodyne-pointcloud package. If it is already installed, please uninstall it.
System dependencies for Ubuntu 16.04 / Kinetic
$ sudo apt-get update
$ sudo apt-get install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin gksu
$ sudo apt-get install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
$ pip3 install -U setuptools
System dependencies for Ubuntu 18.04 / Melodic
$ sudo apt update
$ sudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
$ sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
$ pip3 install -U setuptools
Additional system dependencies for CUDA support
See Requirements above for which CUDA version to use with your OS.
- For installation instructions for CUDA 10.0, see https://docs.nvidia.com/cuda/archive/10.0/cuda-installation-guide-linux/index.html.
- For installation instructions for CUDA 9.0, see https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html.
- For installation instructions for CUDA 8.0GA, see https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html.
NOTE: To enable CUDA support on Melodic, Eigen is required to be updated. WARNING: This might break your system, or the compilation of other programs
$ cd && wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip #Download Eigen
$ mkdir eigen && tar --strip-components=1 -xzvf 3.3.7.tar.gz -C eigen #Decompress
$ cd eigen && mkdir build && cd build && cmake .. && make && make install #Build and install
$ cd && rm -rf 3.3.7.tar.gz && rm -rf eigen #Remove downloaded and temporary files
How to build
For 1.12.0 and Newer
-
Create a workspace
$ mkdir -p autoware.ai/src $ cd autoware.ai
-
Download the workspace configuration for Autoware.AI.
For the 1.12.0 release:
$ wget -O autoware.ai.repos "https://raw.githubusercontent.com/autowarefoundation/autoware_ai/1.12.0/autoware.ai.repos"
For newer releases, replace 1.12.0 with the version you want to install.
For the master version (bleeding edge):
$ wget -O autoware.ai.repos "https://raw.githubusercontent.com/autowarefoundation/autoware_ai/autoware.ai.repos"
-
Download Autoware.AI into the workspace.
$ vcs import src < autoware.ai.repos
-
Install dependencies using
rosdep
.$ rosdep update $ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
-
Compile the workspace
With CUDA support
$ AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
Without CUDA Support
$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
For 1.11.1 and Older
-
Clone the GitHub repository.
$ cd $HOME $ git clone https://github.com/autowarefoundation/autoware_ai.git $ cd autoware
-
Check out the tag for the appropriate version. To see a list of versions, type
git tag
.$ git checkout 1.11.1 $ cd ros
-
Install dependencies using
rosdep
.$ rosdep update $ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
-
Compile the workspace
Version 1.11.0 or 1.11.1 Compile using
colcon
$ ./colcon_release
Version 1.10 or older Compile using
catkin
$ ./catkin_make_release
DNN-based nodes
Some DNN-based nodes, such as SSD, are not automatically built.
To build these nodes please follow the respective node's README SSD Darknet is now included in Autoware perception.
Next steps
See the ROS bag file demo for how to start Autoware.AI using some sample data.