ubuntu20.04配置autoware环境

一:总体安装思路

安装Ubuntu20.04 -> 安装CUDA、cuDNN、osqp、tensorRT -> 安装ROS-kenetic -> 安装autoware repository (-> 安装autoware的实验室版本0705)

目的:上传一个包含“显卡驱动、CUDA、cuDNN、osqp、tensorRT -> 安装ROS-kenetic”的docker,其目的是:安装好ubuntu20.04及autoware(0705)后,就可以直接部署docker,然后在docker中写程序。

实现方式:

1.拉取一个ros镜像

2.创建容器

3.在容器里面配置所有驱动

4.基于这个容器来提交一个配置好的镜像

5.用docker部署

二:安装Ubuntu20.04

1.制作系统盘

2.系统盘安装

3.排除software打不开问题

4.安装vscode pycharm的IDE

三:安装docker

1.脚本命令安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

(包含了更换源)

2.1 为了在docker中使用GPU,安装nvidia-docker2(下面有四条命令),这样做的解释在这个网站:Docker、nvidia-container-toolkit安装与常用docker命令及docker镜像和容器的更新维护_Arnold-FY-Chen的博客-CSDN博客_load library failed: libnvidia-ml.so.1 安装nvidia-docker2后,linux主机不需要安装cuda和cudnn,仅安装显卡驱动即可。

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \

      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \

      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \

            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \

            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update

sudo apt-get install -y nvidia-docker2

sudo systemctl restart docker

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

应该出现

ubuntu20.04配置autoware环境_第1张图片

备注:最后一步无法进入容器出现问题的时候,通过下面的网站来解决,安装nvidia-container-toolkit:

docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]_Adenialzz的博客-CSDN博客

2.2在主机中安装显卡驱动470(使用软件和更新进行图形化安装)

备注:安装后要重启

ubuntu20.04配置autoware环境_第2张图片

三. docker中安装ros,安装并进入

sudo docker run -it --name ros_test --gpus all   \

-v /home/wangting/autoware:/root/workspace   \

 osrf/ros:melodic-desktop-full

//ros_test是给容器起的名字,可以自行修改//-it是两个参数,在容器中启动伪终端

//--gpus all,使用gpu  //-v 挂载命令,前面是宿主机自己程序的位置,后面是容器中创建的虚拟位置。容器的文件夹会自动创建

//docker常用命令参照该网站:Docker 教程 | 菜鸟教程

以及:Docker运行ROS环境 - 知乎 docker运行ros教程_哔哩哔哩_bilibili

这三个链接十分重要。

3.1关闭ros的容器后,再重新进入进入时会导致roscore打不开!解决办法是在容器中刷新ros的环境变量,首先启动容器,然后执行下面的命令:

cd /opt/ros/melodic

source setup.bash

roscore

四.安装cuda、cudnn、tensorRT 7

(docker的优势体现在这里,在完成了上述步骤后,如果想重新部署新的cuda、cudnn版本,只需要再重新生成一个ros容器,就可以在新环境中重新部署不同版本的cuda cudnn)

(同时,针对要使用不同的网络环境时,可以用dockers直接拉取cuda+cudnn镜像,不用在ros上配置)

ros在docker中的目录:/opt/ros/melodic

(运行ros的相关命令如roscore等,都需要首先刷新一下该目录下的.sh文件 source setup.sh)

cuda在docker中的目录(官方镜像):/usr/local/cuda

docker中apt更新命令:apt-get update  

下载apt的命令:apt install **

4.1cuda

4.1.1在官网选择下载cuda命令,下载runfile版本即可。注意要进入到/usr/local路径下进行下载。

CUDA Toolkit Archive | NVIDIA Developer

注意:

(1)该命令有两个语句,一定注意执行完第一条语句(wget https:///)后在终端输入cd,然后再重新cd /usr/local执行第二条sudo sh /命令(即重进一遍当前目录);执行后会在当前目录下生成cuda、cuda-11.1文件夹。

(2)如果出错则去掉sudo。

(3)查看cuda版本:nvcc -V

4.2cudnn

4.2.1 首先在官网下载对应版本的cudnn文件,注意在容器的命令窗口下没有办法直接下载,因此要在宿主机上将deb包下载到容器里面挂载的那个文件夹下,那么就可以在容器里面查看了。

注意:安装对应版本的三个文件的格式:

ubuntu20.04配置autoware环境_第3张图片

Cudnn 版本选择安装官网

cuDNN Archive | NVIDIA Developer

4.2.2下载后先移动到容器下自由的路径,然后进入对应路径,解压各个文件:

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb

sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb

sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.1_amd64.deb

4.2.3检测安装效果,查看安装版本的命令

dpkg -l | grep cudnn

安装成功的话应该是这样:

4.3Tensor RT,根据官网的介绍来吧,虽然是英文,但是真的是最靠谱的

Installation Guide :: NVIDIA Deep Learning TensorRT Documentation

4.3.1问题1:出现No module named ‘pip’

sudo apt-get install python3.6

还没解决的话再执行

sudo apt install --fix-missing python3-pip

4.3.2 验证

dpkg -l | grep TensorRT

五、编译Autoware包,这里要参照GitHub - tier4/AutowareArchitectureProposal.proj: This is the source code of the feasibility study for Autoware architecture proposal.

你可能感兴趣的:(ubuntu,linux)