Autoware安装指导书

本文介绍了如何在Ubuntu上安装开源自动驾驶软件Autoware,针对网络不稳定和访问限制提供了解决方案,包括使用HTTP服务器离线下载文件,修改DNS和hosts文件,以及通过国内镜像加速git和curl命令的执行。文章详细列出了安装ROS、设置双系统、安装ROS依赖和工具的步骤,帮助用户克服安装过程中的常见问题。
摘要由CSDN通过智能技术生成

Autoware作为开源的自动驾驶软件,受网络限制和技术复杂性影响,安装有一定困难,本文目的在于总结并简化工作,提升效率。

  • 准备工作和相关知识

ROS1版本

Ubuntu版本

ROS2版本

Ubuntu版本

Kinetic

Ubuntu 16.04

Foxy

Ubuntu 20.04

Melodic

Ubuntu 18.04

Galactic

Ubuntu 20.04

Noetic

Ubuntu 20.04

Humble

Ubuntu 22.04

Autoware基于ROS(Robot Operation System机器人操作系统)开发,早期ROS1基于Ubuntu操作系统,虽然ROS2支持苹果和Windows操作系统,但应用最广泛还是Ubuntu,它们的版本对应关系如下表所示:

安装过程并不复杂,主要参考官网链接,并在网上搜索资源,一并致谢:

https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/

多数问题在于网络不稳定和部分网站如raw.githubusercontent.com访问失败,需要修改文件和从其他渠道下载

相关准备工作:

  • HTTP服务器,如电脑管家自带的HFS HTTP server,用于离线下载文件传到系统。
  • 安装autoware

参考Windows安装Ubuntu双系统(Win11+最新Ubuntu22.04.1LTS)_syluxhch的博客-CSDN博客,需要通过BIOS修改,安装Windows和ubuntu的双系统。最新的版本为Ubuntu 22.04,对于ROS为Humble。

  • 工作空间的建立
  1. mkdir autoware
  2. sudo apt-get -y update
  3. sudo apt-get -y install git      #安装git配置管理工具
  4. git clone https://github.com/autowarefoundation/autoware.git

这里遇到的第一个问题就是github网站访问速度非常慢,所以建议直接修改为国内的镜像网站kgithub.com,修改命令为:

  1. git clone https://kgithub.com/autowarefoundation/autoware.git
  2. cd autoware
  • 安装ROS

wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env

这里就会遇到raw.githubusercontent.com超时无法连接的问题,问题根源在于DNS错误,所以需要修改系统的host文件,表明该域名对应的IP地址,由于地址动态可变,建议用https://tool.lu/ip/查找最新地址,增加一行:

  1. 185.199.110.133 raw.githubusercontent.com

如果遇到权限问题,需要增加权限修改。

  1. sudo chown 用户 -R /etc/hosts

其他命令执行应该顺利:

  1. apt-cache policy | grep universe
  2. sudo apt install software-properties-common
  3. sudo add-apt-repository universe
  4. sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
  5. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee/etc/apt/sources.list.d/ros2.list > /dev/null
  6. sudo apt update
  7. installation_type=desktop
  8. sudo apt install ros-${rosdistro}-${installation_type}
  9. echo '' >> ~/.bashrc && echo "source /opt/ros/${rosdistro}/setup.bash" >> ~/.bashrc

在执行sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg,如果遇到问题,可以通过网站访问,本地建立http服务器,重新执行如下:

  1. curl -sSL http://172.16.17.20/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
  • 安装ROS 2 Dev Tools
  1. apt update
  2. apt install -y   python3-flake8-docstrings  python3-pip   python3-pytest-cov   ros-dev-tools
  3. 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
  4. sudo rosdep init
  5. rosdep update

  这里遇到的问题主要是rosdep update:同样是访问raw.githubusercontent.com问题,参考https://blog.csdn.net/weixin_43311920/article/details/114796748?utm_source=app&app_version=4.5.4,处理方法如下:

  1. cd autoware
  2. git clone https://kgithub.com/ros/rosdistro.git
  3. vi  /autoware/rosdistro/rosdep/sources.list.d/20-default.list   #将里面所有的 raw.githubusercontent.com替换为file:///autoware/

然后分别修改以下文件:

  1. vi /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
  2. #修改:FUERTE_GBPDISTRO_URL = 'file:///autoware/rosdistro/releases/fuerte.yaml'
  3. vi /usr/lib/python3/dist-packages/rosdep2/rep3.py
  4. #修改: REP3_TARGETS_URL = 'file:///autoware/rosdistro/releases/targets.yaml'
  5. vi /usr/lib/python3/dist-packages/rosdep2/sources_list.py
  6. #修改:DEFAULT_SOURCES_LIST_URL = 'file:///autoware/rosdistro/rosdep/sources.list.d/20-default.list'
  7. vi /usr/lib/python3/dist-packages/rosdistro/__init__.py
  8. 修改:DEFAULT_INDEX_URL = 'file:///autoware/rosdistro/index-v4.yaml'
  9. mkdir -p /etc/ros/rosdep/sources.list.d
  10. vi /etc/ros/rosdep/sources.list.d/20-default.list
  11. yaml file:///autoware/rosdistro/rosdep/osx-homebrew.yaml osx
  12. yaml file:///autoware/rosdistro/rosdep/base.yaml
  13. yaml file:///autoware/rosdistro/rosdep/python.yaml
  14. yaml file:///autoware/rosdistro/rosdep/ruby.yaml
  15. gbpdistro file:///autoware/rosdistro/releases/fuerte.yaml fuerte
  • RMW Implementation

安装RMW没有问题,注意rosdistro是大写,有些系统区分大小写。如果执行不正确就加上环境变量:rosdistro=humble

  1. sudo apt update
  2. rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
  3. sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
  4. echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc
  • RMW Implementation
  1. sudo apt update
  2. rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
  3. sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
  4. echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc
  • pacmod安装
  1. apt install apt-transport-https
  2. sh -c 'echo "deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/autonomoustuff-public.list'
  3. apt update
  4. apt install ros-${rosdistro}-pacmod3
  • Autoware Core dependencies安装
  1. pip3 install gdown
  • autoware_universe安装
  1. sudo apt install geographiclib-tools
  2. sudo geographiclib-get-geoids egm2008-1
  • pre-commit dependencies安装
  1. clang_format_version=16.0.0
  2. pip3 install pre-commit clang-format==${clang_format_version}
  3. sudo apt install golang
  • cuda安装
  1. if [[ "$(uname -m)" == "x86_64" ]]; then
  2.   liburcu6_url=http://archive.ubuntu.com/ubuntu
  3. else
  4.   liburcu6_url=http://ports.ubuntu.com/ubuntu-ports
  5. fi
  6. sudo echo "deb $liburcu6_url focal main restricted" > /etc/apt/sources.list.d/focal.list
  7. os=ubuntu2004
  8. wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$(uname -m)/cuda-keyring_1.0-1_all.deb
  9. sudo dpkg -i cuda-keyring_1.0-1_all.deb
  10. sudo apt-get update
  11. cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
  12. sudo apt-get -y install cuda-${cuda_version_dashed}
  13. echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
  14. echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
  • tensorrt安装
  1. sudo apt-get install libcudnn8=${cudnn_version} libcudnn8-dev=${cudnn_version}
  2. sudo apt-mark hold libcudnn8 libcudnn8-dev
  3. sudo apt-get install libnvinfer8=${tensorrt_version} libnvonnxparsers8=${tensorrt_version} libnvparsers8=${tensorrt_version} libnvinfer-plugin8=${tensorrt_version} libnvinfer-dev=${tensorrt_version} libnvonnxparsers-dev=${tensorrt_version} libnvparsers-dev=${tensorrt_version} libnvinfer-plugin-dev=${tensorrt_version}
  4. sudo apt-mark hold libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev
  • 运行autoware

  • 下载源码

由于源码服务器位于github.com, 用vi autoware.repos 将所有github.com 修改为镜像网站kgithub.com,否则下不下来。

    • cd autoware
    • mkdir src
    • vcs import src < autoware.repos
  • 安装ROS

    1. source /opt/ros/humble/setup.bash
    2. rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
  • 构建工作空间

    1. colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

如果不出意外,Autoware就安装成功了,现在可以运行演示程序了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值