【安装教程】ubuntu20.04/22.04从零开始搭建autoware.universe

这篇具有很好参考价值的文章主要介绍了【安装教程】ubuntu20.04/22.04从零开始搭建autoware.universe。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 基本配置情况

2. ROS2 Humble和git安装 

2.1 ros2 humble安装(对应ubuntu22.04,仅源码安装需要)

2.2 git安装 

3. 克隆autoware代码

 4.自动安装依赖项(推荐)

5. 手动安装依赖项(在一键配置失效下使用,这里仅列出docker安装中需要的依赖)

 5.1 cuda安装

 5.2 docker engine安装

5.3  NVIDIA Container Toolkit安装

5.4 rocker安装

 6. 创建工作空间(docker安装所需的额外步骤标红)


1. 基本配置情况

ubuntu 版本:22.04 

autoware版本:autoware.universe  (ubuntu20.04建议docker安装/ubuntu22.04建议源码安装)

 参考教程:Docker installation - Autoware Documentation (autowarefoundation.github.io)  (建议在本文的基础上参考官网安装教程,本文会指出所有安装过程中遇到的问题,但是根据电脑硬件和网络情况,还是会存在不同的问题)

注:鉴于水平有限,仅是根据官方文档总结的安装步骤以及一些报错的解决思路。因为之前在ubuntu18.04和ubuntu20.04分别安装了ai和universe版本,中间踩了比较多的坑,所以留个记录。这次在ubuntu22.04中安装明显感觉报错会少很多,因此推荐有开发和使用意向的安装最新版的ubuntu,功能确实更加全面,也是autoware官方推荐的版本。

2. ROS2 Humble和git安装 

2.1 ros2 humble安装(对应ubuntu22.04,仅源码安装需要)

这里推荐鱼香ros一键安装(小鱼的一键安装系列 | 鱼香ROS (fishros.org.cn))

wget http://fishros.com/install -O fishros && . fishros

2.2 git安装 

sudo apt-get -y update

sudo apt-get -y install git

3. 克隆autoware代码

# 从github中克隆代码

git clone https://github.com/autowarefoundation/autoware.git

# 进入文件夹

cd autoware

 4.自动安装依赖项(推荐)

1.源码安装

./setup-dev-env.sh

 2.docker安装

./setup-dev-env.sh docker

5. 手动安装依赖项(在一键配置失效下使用,这里仅列出docker安装中需要的依赖)

本文按照官网的Docker installation for development安装教程进行安装,主要有以下四个依赖:

  • Install Nvidia CUDA
  • Install Docker Engine
  • Install NVIDIA Container Toolkit
  • Install rocker

 5.1 cuda安装

官方链接:autoware/ansible/roles/cuda at main · autowarefoundation/autoware · GitHub

# 执行拉取命令

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

# Ubuntu20.04和Ubuntu22.04都可以使用以下代码

if [[ "$(uname -m)" == "x86_64" ]]; then
  liburcu6_url=http://archive.ubuntu.com/ubuntu
else
  liburcu6_url=http://ports.ubuntu.com/ubuntu-ports
fi
sudo echo "deb $liburcu6_url focal main restricted" > /etc/apt/sources.list.d/focal.list

# Ubuntu20.04和Ubuntu22.04都可以使用以下代码
os=ubuntu2004
wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$(uname -m)/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
sudo apt-get -y install cuda-${cuda_version_dashed}

 5.2 docker engine安装

官方链接:Docker installation for quick start - Autoware Documentation

# 移除旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 安装依赖
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 验证是否安装成功
sudo docker run hello-world
# Note: This command downloads a test image and runs it in a container. When the container runs, it prints a message and exits.

5.3  NVIDIA Container Toolkit安装

官方链接:autoware/ansible/roles/nvidia_docker at main · autowarefoundation/autoware · GitHub

# 安装功能包依赖和GPG密钥
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add - \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 更新软件源并安装nvidia-docker2 软件包
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# 设置运行时间并重启docker

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

5.4 rocker安装

官方链接:autoware/ansible/roles/rocker at main · autowarefoundation/autoware · GitHub

# 在系统中加入ros2依赖(出现报错,见下文解决方法)

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

# 在sourse list中加入依赖
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

# 更新并安装

sudo apt update
sudo apt-get install python3-rocker

出错指令: 

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

这一步出现报错 Failed to connect to raw.githubusercontent.com port 443: Connection refused

原因是被墙了,解决方法如下:

# 进入目标文件并给权限(如果不熟悉vim操作可以直接手动进入,之后在目标文件夹执行chmod 777 hosts命令就可以了)

sudo vim /etc/hosts

# 在文本中加上一行
199.232.28.133 raw.githubusercontent.com

 报错成功解决。

 6. 创建工作空间(docker安装所需的额外步骤标红)

  1. 创建 autoware_map 文件夹

    mkdir ~/autoware_map
    
  2. 拉取Docker(速度很慢,且有报错,见下文解决方法)

    docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda
    
  3. 启动docker

    • amd64构架的电脑配备NVIDIA GPU:

      rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
      
    • 非NVIDIA GPU或者非amd64构架:

      rocker -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
      

    进入autoware文件夹:

    cd autoware
    
  4. 创建src目录并克隆依赖项(src中的文件需要梯子下载,链接文末提供)

    mkdir src
    vcs import src < autoware.repos
    
  5. 更新依赖(存在报错,见下文)

    sudo apt update
    rosdep update
    rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    
  6. 编译(如果某个安装包出错可以在csdn中单独检索并编译)

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

出错指令 1:

docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda

这一步出现报错 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=ghcr.io%2Fautowarefoundation%2Fautoware-universe&tag=latest-cuda": dial unix /var/run/docker.sock: connect: permission denied,解决方法如下(Docker指令报错的解决方法:Got permission denied while trying to connect to the Docker daemon socket at unix:/_术业还未专攻的博客-CSDN博客):

第一步:sudo gpasswd -a username docker  #将普通用户username加入到docker组中,username这个字段也可以直接换成$USER。

第二步:newgrp docker  #更新docker组

第三步:再执行你报错的命令,此时就不会报错了。

注意,这一步执行非常耗时,有一个8.xGB的文件需要下载。之前在别的电脑安装时采取过换源、换手机热点等操作,速度有一定提升,感兴趣的可以查找相关教程,这里分享一个后台执行命令,确保命令执行期间不会中断。

 # 安装screen工具箱,执行后台命令

sudo apt get install screen

# 创建后台端口

screen -S autoware

# 查看后台端口

screen -ls

出错指令 2:

rosdep update

这一步会出现不同类型的报错,总的来说还是网络的问题,导致无法更新,常用的解决方法在ubuntu20.04和ubuntu22.04上都失效了,最后在清华源的官网上找到一个解决方法

错误: ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/ma

解决方法1(可以做尝试,但是包括这个方法在内的很多方法笔者都试过了,全部失效)

Ubuntu20.04 rosdep update失败解决方法 - 知乎

解决方法2(成功)

 rosdistro | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

# 手动模拟 rosdep init
sudo mkdir -p /etc/ros/rosdep/sources.list.d/
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
# 为 rosdep update 换源
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
rosdep update

# 每次 rosdep update 之前,均需要增加该环境变量
# 为了持久化该设定,可以将其写入 .bashrc 中,例如
echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc

至此,autoware.universe成功安装,后续的demo运行及相关功能的调试可继续关注后续文章。

所需的一些文档和src文件:链接:链接:  https://pan.baidu.com/s/1chKVBHtdsQEeiO-BdWR9Xw?pwd=1234 提取码: 1234
--来自百度网盘超级会员v4的分享文章来源地址https://www.toymoban.com/news/detail-800528.html

到了这里,关于【安装教程】ubuntu20.04/22.04从零开始搭建autoware.universe的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu官方安装微信——Ubuntu16.04/18.04/20.04/22.04

    通过以下教程可以快速的安装官方版微信,本教程适用于Ubuntu16.04/18.04/20.04/22.04 进入微信下载官网下载微信Linux客户端 点击64位下载即可,如果不能下载,使用终端如下命令 双击deb文件,点击install进行安装 安装成功,可以在菜单中点击运行

    2024年02月08日
    浏览(34)
  • Ubuntu安装向日葵远程控制——Ubuntu18.04/20.04/22.04

    通过以下教程可以快速的安装向日葵远程控制,本教程适用于Ubuntu18.04/20.04/22.04 进入向日葵远程控制下载官网下载向日葵远程控制Linux客户端 选择图形版本安装包下载,可以看到适用于17.04及以上版本 双击deb文件,点击install进行安装 安装成功,在菜单里可以打开

    2024年02月12日
    浏览(32)
  • 【ubuntu环境配置】超详细ubuntu20.04/22.04安装nvidia驱动/CUDA/cudnn

    nvidia显卡驱动安装方式有三种:使用ubuntu附加驱动的方式;使用命令行方式安装;使用.run文件的方式进行安装, 点击菜单中的Additional Drivers选择适合的驱动版本进行安装,该方法最方便快捷(但有时会翻车) 更新所有的软件包 安装显卡驱动 详见我的另一篇博客Ubunut20.04/2

    2024年01月22日
    浏览(63)
  • Ubuntu18.04/20.04/22.04的Apollo8.0软件包安装(免编译)

    本文主要介绍在如何使用软件包(即 deb 包)的方式来安装 Apollo,相对于源码方式安装,软件包安装方式不需要编译,更加快捷。但是对环境的支持比较单一,如果在自定义环境内安装,请移步源码安装方式 1. 安装 Ubuntu Linux 安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。 完

    2024年02月05日
    浏览(48)
  • Ubuntu64位系统(20.04、22.04)安装32位armQT4开发环境补充说明

    在一些特定场景下我们可能需要在更高版本ubuntu上(比如Ubuntu20.04、Ubuntu22.04)安装 Qt 4,维护和开发32位armQT4应用程序。 对于高版本ubuntu, 官方对Qt 4 已经不再提供维护,因此需要解决许多兼容性问题。我们前面博文《Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建

    2024年02月14日
    浏览(55)
  • Ubuntu20.04升级到Ubuntu 22.04

    执行如下命令将Ubuntu升级到最新的版本: 升级完成后,重启系统 重启成功之后,查看系统的当前版本 最新版本应该是20.04.6,如下图所示。 执行如下命令开始升级 一路yes或确认即可,下面是一些过程中的操作。 所有当前 Ubuntu 20.04 的源列表文件将被 Ubuntu 22.04 的 jammy 源列表

    2024年02月17日
    浏览(32)
  • 如何将 Ubuntu 20.04 升级到 Ubuntu 22.04?

    Ubuntu 22.04,代号“Jammy Jellyfish”,于 2022 年 4 月 21 日发布,本文介绍如何将 Ubuntu 20.04 升级到 Ubuntu 22.04?。 在升级到 Ubuntu 22.04 之前,你应该做以下事情: 备份外部驱动器上的所有文件。 确保您有稳定的互联网连接。 禁用任何外部存储库。 请注意,这可能会导致某些服务

    2024年02月06日
    浏览(39)
  • Ubuntu 22.04从零开始安装Openpcdet 0.6.0——详细记录过程(含4090+CUDA11.8)

    A、云平台安装和本地安装的差异: 之前在几个 云平台 上的1w算力豆已经用光了,所以这次本地选择 本地安装Pcdet 。 两者安装过程 有很大差异,因为 九天毕昇云平台 使用的是CUDA10.1,且没办法改动,导致pcdet 只能安装0.3.2,且只能选择较低的版本的第三方库:torch1.6.0,sp

    2024年02月16日
    浏览(32)
  • Ubuntu 20.04 升级Ubuntu 22.04 及更换国内源指南

    打开虚拟机,发现我的ubuntu版本还停留在20.04上,主要平时都用的实体机,树莓派以及Centos系统居多,虚拟机也不是经常使用,今天闲来无事就把它升级到22.04吧,升级到Ubuntu 22.04.1 LTS版本后它可以提供免费安全和维护更新至 2027年4月。 我们点开左下角的应用中心,启动紫色

    2024年01月24日
    浏览(50)
  • Ubuntu 20.04 与22.04 内网apt源搭建

    采用官方提供apt-mirror方式进行搭建 由于单个发行版apt包磁盘占用600G左右,建议1T磁盘空间 名称 ip 主机名 配置 操作系统 apt内网源服务器 192.168.0.201 CT1 1C 2G 1T Ubuntu 20.04 LTS 内网客户端 192.168.0.202 CT2 1C 1G 50G Ubuntu 20.04 LTS 阿里云apt同步源 国内apt下载下载较慢,设置阿里云apt同步

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包