Ubuntu18.04安装Autoware1.14-GPU版(慎用!)

Ubuntu18.04安装Autoware1.14-GPU版

以下安装包如果有需要的话可以评论或者私信我,我都有备份。

​前面文章介绍了ROS Melodic和Cartographer的配置,基本我每一次安装Ubuntu系统都要安装这两个,毕竟跟我的研究方向是相关的,经常会用到。

这一次介绍一个巨难配置的环境:Autoware1.14,版本根据大家自己来,但不同的版本对应的一些依赖包的版本也不同,所以在安装配置前一定要确定好自己所需的依赖包和版本,这里介绍我的依赖包版本(大家最好根据我写的版本来,比如eigen-3.3.7,不知道高版本是否可行,但是3.3.7一定没问题):

Ubuntu: 18.04

Autoware: 1.14

Opencv: 3.4.0及以上(版本低一些不知道是否可行,但3.4.0肯定没问题)

Nvidia Driver: 410及以上

CUDA: 10.0(最好10.0,10.2以上可能会有问题)

cudnn: 10.0-linux-x64-v7.6.5.32

cmake: 3.12.2及以上

protobuf: 3.0.0(只能这个版本,一般系统自带)

Eigen: 3.3.7及以上

以上是带有GPU的配置,如果没有GPU的参考以下配置版本(没有GPU也不需要安装Nvidia驱动):

Ubuntu: 18.04

Autoware: 1.14

Opencv: 3.4.0及以上(版本低一些不知道是否可行,但3.4.0肯定没问题)

cmake: 3.12.2及以上

protobuf: 3.0.0(只能这个版本,一般系统自带)

Eigen: 3.3.7及以上

配置安装:

1 Nvidia Driver

sudo apt-get update
sudo apt-get upgrade

在更新显卡驱动前最好先执行上面两步,否则容易更新显卡驱动重启后进不去系统;

显卡驱动我是通过系统自带的“软件与更新——附加驱动”选择的,CUDA10.0版本对应的显卡驱动要求是410及以上,不同的CUDA版本对应不同的驱动版本,这个可以在网上查到的(不过Autoware也可以不用GPU,这样就不用CUDA了);

检查显卡驱动更新是否成功:

nvidia-smi

如果更新成功显示如下:

在这里插入图片描述

2 cmake

下载cmake包:

wget https://cmake.org/files/v3.12/cmake-3.12.2-Linux-x86_64.tar.gz
tar zxvf cmake-3.12.2-Linux-x86_64.tar.gz #解压
sudo ln -sf /home/luo/cmake-3.12.2-Linux-x86_64/bin/* /usr/bin/  #注意自己的cmake安装路径

这里我的cmake安装路径是/home/luo下,根据自己的安装路径对应着修改第三行代码即可,然后检查安装版本是否正确:

cmake --version   #检查版本

3 Eigen

下载Eigen包:

cd && wget http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
mkdir eigen && tar --strip-components=1 -xzvf 3.3.7.tar.gz -C eigen   #解压
cd eigen && mkdir build && cd build && cmake .. && make && sudo make install   #编译安装
cd && rm -rf 3.3.7.tar.gz && rm -rf eigen   #这一步是删除文件,最好不要执行,不然后面会有点迷

上述着重介绍一下第三步,如果没法一次成功,就分开运行,不要用“&&”符号,不是很建议这样写;

另一个就是上面只是说安装了3.3.7版本的Eigen,但实际上系统用的版本还是3.3.4(系统自带版本),所以我们要更改软链接:

查看系统Eigen版本:

vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

这里怎么看系统自带版本可以参考下图:
在这里插入图片描述

这里表示版本是3.2.92,更改软链接如下:

sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/local/include/Eigen    #删除系统自带eigen版本

将我们安装的Eigen-3.3.7版本放到/usr/include中:

sudo cp -r /usr/local/include/eigen3/Eigen /usr/include
sudo cp -r /usr/local/include/eigen3 /usr/include

这里注意自己的Eigen安装位置,这里的安装位置是/usr/local/include,也可能安装在/home/luo路径下;

建立软链接:

sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
sudo ln -s /usr/include/Eigen/ /usr/local/include/Eigen
cd /usr/lib/cmake/eigen3   #更新cmake库链接
sudo rm ./*    #删除旧版cmake配置
sudo cp /usr/local/share/eigen3/cmake/* ./   #这里也要注意自己的Eigen安装路径
sudo updatedb   #更新系统数据库
cd /usr/include
sudo mv eigen eigen3  #改名,便于后面查看版本,不然名字是eigen

最后再查看一遍版本,为3.3.7:

vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

4 CUDA

在官网下载CUDA10.0

安装:

sudo sh cuda_10.0.130_410.48_linux.run

然后会出现一个最下面有进度0%的界面,类似说明文档,按Ctrl+C跳过,然后输入一个accept,输入一个n(是否安装驱动),接着剩余的全输入n即可,当需要确认路径时直接按回车,结束安装;

接着运行:

sudo gedit ~/.bashrc   #加入环境变量

在bashrc最后加入:

export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

保存、退出、重启电脑;

然后输入下面的命令行验证安装是否成功:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果输出PASS,则说明安装成功;

5 cudnn

同样去官网下载包

安装步骤:

tar -xzvf ~/Downloads/cudnn-10.0-linux-x64-v7.6.5.32.tgz  #解压

将解压内容拷贝到系统目录,修改访问权限:

sudo cp ~/Downloads/cuda/include/cudnn.h /usr/local/cuda/include
sudo cp ~/Downloads/cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

验证安装是否成功:

在网盘里下载:cudnn_samples_v7.tar.gz;

运行命令行:

tar -xzvf ~/Downloads/cudnn_samples_v7.tar.gz
cp -r ~/Downloads/cudnn_samples_v7 ~/       #拷贝到目录
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN          #编译运行

安装成功则会出现Test Passed;

6 Opencv

安装依赖包:

sudo apt install build-essential git pkg-config libgtk-3-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libopenblas-dev
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

下载源码并解压:

mkdir ~/opencv_build && cd ~/opencv_build
wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip
wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip -O opencv_contrib-3.4.0.zip
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

在后面编译安装的时候会失败,因为缺少文件的原因,所以这里需要再下载一个文件,网址https://developer.nvidia.com/designworks/video_codec_sdk/downloads/v8.2-ga2

解压并拷贝文件(同样的,注意自己的解压路径):

unzip Video_Codec_SDK_8.2.16.zip
sudo cp ~/Downloads/Video_Codec_SDK_8.2.16/Samples/NvCodec/NvDecoder/cuviddec.h /usr/local/cuda/include/
sudo cp ~/Downloads/Video_Codec_SDK_8.2.16/Samples/NvCodec/NvDecoder/nvcuvid.h /usr/local/cuda/include/        #拷贝文件

修改opencv-3.4.0下的modules下的五个头文件:

modules/cudacodec/src/precomp.hpp
modules/cudacodec/src/frame_queue.hpp
modules/cudacodec/src/cuvid_video_source.hpp
modules/cudacodec/src/video_decoder.hpp
modules/cudacodec/src/video_parser.hpp

将五个文件中的

#if CUDA_VERSION >= 9000
    #include <dynlink_nvcuvid.h>
#else
    #include <nvcuvid.h>
#endif

修改为:

#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000
    #include <dynlink_nvcuvid.h>
#else
    #include <nvcuvid.h>
#endif

编译安装:

cd ~/opencv_build/opencv-3.4.0 && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=OFF \
-DOPENCV_EXTRA_MODULES_PATH=/home/leon/opencv_build/opencv_contrib-3.4.0/modules \
-DPYTHON_EXCUTABLE=/usr/bin/python2.7 \
-DWITH_CUDA=ON \
-DWITH_CUBLAS=ON \
-DDCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
-DCUDA_ARCH_BIN="6.1" \
-DCUDA_ARCH_PTX="" \
-DCUDA_FAST_MATH=ON \
-DWITH_TBB=ON \
-DWITH_V4L=ON \
-DWITH_GTK=ON \
-DWITH_OPENGL=ON \
-DCMAKE_C_COMPILER=/usr/bin/gcc-7 \
-DCUDA_HOST_COMPILER=/usr/bin/g++-7 \
-DCUDA_PROPAGATE_HOST_FLAGS=oFF \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DBUILD_TIFF=ON \
-DBUILD_EXAMPLES=ON ..   #从cmake到这里全复制了,这是一句话
make -j$nproc
sudo make install

查看Opencv版本:

pkg-config opencv --modversion

如果这种方法行不通可以再根据这篇博客也是可行的
https://blog.csdn.net/JackSparrow_sjl/article/details/81911855

7 Autoware

安装依赖:

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

建立工作空间:

mkdir -p autoware.ai/src
cd autoware.ai

下载Autoware:

wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.14.0/autoware.ai.repos?inline=false"
vcs import src < autoware.ai.repos

这里第二句采用vcs命令我会报错,具体原因还未找到(更新:vcs通过sudo apt install python3-vcstool安装就行了,要注意是vcstool而不是vcstools,这是两个工具!真坑),所以我没有通过终端去拉取,而是直接在上方给出的网盘地址里面下载的,解压放进工作空间里就行了;

rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

个人认为rosdep update这一步可以不需要,反正我没有运行这一句;

编译:

AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

这一步是采用CUDA进行编译的,如果没有安装CUDA的话则执行下面这句话:

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

在编译Autoware中或多或少都会有一些报错,解决方法参考:

https://blog.csdn.net/weixin_44570248/article/details/118463028

最后就是下载官方Demo查看效果了:

在这里插入图片描述

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值