参考链接:
Installation - Autoware Documentation
Unbuntu22.04基于ROS Humble源码安装autoware.universe_autoware.universe + carla(ubuntu22.04)-CSDN博客
1、克隆目录
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
2、鱼香ROS一键安装
ROS2
鱼香ros是深圳一位机器人开发者创建的ros交流学习平台,开源了很多代码,附网站链接
wget http://fishros.com/install -O fishros && . fishros
rosdepc
rosdepc是鱼哥将rosdep访问地址修改为国内。c指China中国。这个非常值得点赞!!!
安装地址同上
3、安装ros2开发工具:ros2_dev_tools
sudo apt update && sudo apt install -y \
python3-flake8-docstrings \
python3-pip \
python3-pytest-cov \
ros-dev-tools
sudo apt install -y \
python3-flake8-blind-except \
python3-flake8-builtins \
python3-flake8-class-newline \
python3-flake8-comprehensions \
python3-flake8-deprecated \
python3-flake8-import-order \
python3-flake8-quotes \
python3-pytest-repeat \
python3-pytest-rerunfailures
使用rosdepc安装ros相关依赖
sudo rosdepc init
rosdepc update
4、安装rmw_implementation
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env
sudo apt update
rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc
5、安装pacmod
wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env
sudo apt install apt-transport-https
sudo sh -c 'echo "deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/autonomoustuff-public.list'
sudo apt update
sudo apt install ros-${rosdistro}-pacmod3
6、安装Autoware Core依赖
pip3 install gdown -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
7、安装Autoware Universe依赖
sudo apt install geographiclib-tools
sudo geographiclib-get-geoids egm2008-1
8、安装pre-commit依赖
pip3 install pre-commit clang-format==17.0.5 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
sudo apt install golang
9、安装Nvidia 驱动
ubuntu22.04推荐直接使用软件和更新工具直接可以添加Nvidia驱动
10、安装CUDA、cuDNN、TensorRT
以上三个库,都是为了使用GPU计算、推理。可能不同时期下载的autoware推荐下载的版本不同。需要配合Nvidia官网来下载合适的版本。
我下载的amd64.env推荐下载CUDA 12.3 , cuDNN8.95.29 , TensorRT 8.6.1
amd64.env
为了避免因为CUDA版本太高,cuDNN、TensorRT无法使用,故笔者下载CUDA12.0
库 | CUDA | cuDNN | TensorRT |
版本 | cuda_12.0.0_525.60.13_linux.run | cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz | TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz |
下载地址 | CUDA Toolkit Archive | NVIDIA Developer | cuDNN Archive | NVIDIA Developer |
安装步骤建议参考官方
注意事项:安装cuda的时候,要按回车键取消nvidia驱动选框里的X
11、编译
克隆存储库
cd autoware
mkdir src
vcs import src < autoware.repos
安装依赖的 ROS 包
rosdepc updater
rosdepc install
source /opt/ros/humble/setup.bash
rosdepc install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
构建工作区
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
编译警告记录
当发现有部分功能包编译警告,可以使用下面命令单独编译。ros2单独编译某一个包和其依赖
colcon build --packages-up-to <name-of-pkg>
现象1
分析原因:缺少依赖的包
解决办法:安装对应的包
sudo apt-get install ros-$ROS_DISTRO-rosbag2-storage*
现象2
分析原因:CMake的策略CMP0074未设置,而在项目中使用了find_package
命令,该命令使用了PCL_ROOT
变量。
解决办法:在对应的包的project()
命令之后,find_package()
命令之前,添加
cmake_policy(SET CMP0074 NEW)
现象3
分析原因:没安装QT5或者没在~/.bashrc中指明QT5的位置
查询QT5是否安装,若安装则或打印出安装位置
qmake --version
我的位置如上图所示,故在~/.bashrc添加
export PATH="/usr/lib/x86_64-linux-gnu/qt5/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/qt5/lib:$LD_LIBRARY_PATH"
安装Autoware Build GUI
下载./deb文件
安装依赖:
sudo apt install libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0 libsoup-3.0-0 libsoup-3.0-common
安装Rust,时间较长
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
sudo apt install rustc
验证
rustc --version
安装Node.js
sudo apt install nodejs
验证 Node.js 安装
node --version
sudo apt install npm
npm install -g pnpm
安装.deb
sudo dpkg -i autoware-build-gui_1.0.3_amd64.deb