zoukankan      html  css  js  c++  java
  • Autoware 1.10 安装流程

    1. 前言

    最近一个项目采用Autoware的无人驾驶系统,在安装工控机的过程中,踩了不少坑,留下记录,造福后人。

    相关的下载在我的百度网盘,大家自行下载。链接: https://pan.baidu.com/s/1mmRKX3_D7GCESs6F9ROs3A 提取码: xdsn

    网盘中的英伟达驱动是linux-64bit的驱动,适合于gtx10系列及以下的英伟达显卡,由于autoware现阶段不支持CUDA10,所以不建议RTX20系列显卡安装。

    2. 安装英伟达驱动

    去网盘下载:NVIDIA-Linux-x86_64-396.54.run显卡驱动。

    (1) 删除ubuntu自带的英伟达显卡驱动程序

    查看英伟达自带显卡驱动:

    lsmod | grep nouveau

    如果有输出,则关闭自带的英伟达显卡驱动:

    cd /etc/modprobe.d
    sudo touch blacklist-nouveau.conf
    sudo gedit blacklist-nouveau.conf

    在打开的文档中输入:

    blacklist nouveau

    options nouveau modeset=0

    保存退出后运行

    sudo update-initramfs -u

    使blacklist生效。

    重启电脑,重启后会发现电脑的分辨率已经降低,说明驱动已经关闭。然后输入

    lsmod | grep nouveau

    验证ubuntu自带的英伟达显卡是否关闭,如果没有输出,说明显卡已经关闭。

    卸载掉ubuntu自带的英伟达显卡驱动:

    sudo apt-get remove --purge nvidia-*

    (2) 安装新的英伟达显卡驱动

    英伟达显卡驱动默认下载到Downloads文件夹中。

    首先,CTRL + ALT + F1进入字符界面,关闭图形界面,一定要这么做,所以在驱动安装完成前,建议把以下几步拍照。

    进入字符界面后,会提示输入用户名及密码。成功登录后,首先关闭lightdm服务

    sudo service lightdm stop

    然后增加可执行权限,安装

    sudo chmod a+x ~/Downloads/NVIDIA-Linux-x86_64-396.54.run //获取权限
    sudo .~/Downloads/NVIDIA-Linux-x86_64-396.54.run –no-x-check –no-nouveau-check –no-opengl-files //安装驱动

    安装完成后,重新启动,进入系统后,执行:

    nvidia-smi

    输出:

    说明安装成功。

    2. 安装CUDA

    去网盘下载:cuda_9.2.148_396.37_linux.run 

    默认下载到Downloads文件夹。

    执行

    sudo sh ~/Downloads/cuda_9.2.88_396.26_linux.run

    出现说明之后,按Ctrl + C键跳过,会提示是否接受,键入accept。此时,注意:安装第一步会提示是否安装驱动,请一定键入n。之后每一步选择y,当需要确认路径时直接按回车,结束安装。

    加入环境变量,键入:

    sudo gedit ~/.bashrc

    在结尾加入:

    export PATH=/usr/local/cuda-9.2/bin:$PATH

    export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64$LD_LIBRARY_PATH 

    保存、退出、重启。

    重启后,验证安装是否成功:

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

    如果输出提示PASS,那么说明安装成功。

    如果需要卸载重装,运行下列命令卸载 cuda 

    cd /usr/local/cuda/bin
    sudo ./uninstall_cuda_9.2.pl

    3. 安装cuDNN

    去网盘下载:cudnn-9.2-linux-x64-v7.5.0.56.tgz

    默认路径为Downloads文件夹

    首先解压

    tar -xzvf ~/Downloads/cudnn-9.2-linux-x64-v7.5.0.56.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是否安装成功,去网盘下载:cudnn_samples_v7.tar.gz,并解压

    tar -xzvf ~/Downloads/cudnn_samples_v7.tar.gz

     将cudnn_samples_v7文件夹拷贝到~目录

    cp -r ~/Downloads/cudnn_samples_v7 ~/

    进入mnistCUDNN,编译并运行

    cd  ~/cudnn_samples_v7/mnistCUDNN
    make clean && make
    ./mnistCUDNN

    如果安装成功,会出现Test passed!

    如果提示./mnistCUDNN: error while loading shared libraries: libcudart.so.9.2: cannot open shared object file: No such file or directory

    是库文件路径引发的问题,可以到/etc/ld.so.conf.d目录下,可以自建一个.conf文件(这里建立了cuda.conf),也可以修改其中任意一份conf文件,将lib所在目录写进去。

    cd /etc/ld.so.conf.d/
    sudo touch cuda.conf
    sudo gedit cuda.conf

    在cuda.conf中添加:

    /usr/local/cuda/lib64

    然后运行:

    sudo ldconfig

    如果提示:/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link

    说明libcudnn.so.7是一个文件,它本应是一个符号连接。运行

    sudo ln -sf /usr/local/cuda/lib64/libcudnn.so.7.0.5 /usr/local/cuda/lib64/libcudnn.so.7

    可以解决

    4. 安装ROS Kinetic

    参照ROS WIKI,这里不详述

    5. Autoware安装

    首先,安装 Ubuntu 16.04 ROS Kinetic的依赖

    sudo apt-get update
    sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu

    然后安装Autoware

    cd ~
    git clone http://192.168.2.223/self-driving-group/auto-driving.git

    上述是我们本地的gitlab地址,可以上github上clone:https://github.com/autowarefoundation/autoware.git

    由于colcon出现问题,所以采用catkin_make方式安装,需要将项目分支切换

    git checkout 1.10.0

    开始安装

    cd ~/autoware/ros/src
    catkin_init_workspace
    cd ../
    rosdep update
    rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    ./catkin_make_release

    如果出现nlopt的错误,那么运行解决

    sudo apt-get install libnlopt-dev
  • 相关阅读:
    $.ajax()、$.post()、$.get()
    Json数据格式
    iOS UIButton 调节文字和图片的位置
    block 中使用 weakSelf
    iOS 移除导航栏黑线
    Swift 设置导航栏透明
    Xcode 8 证书管理 Signing for "xxxx" requires a development team.
    iOS 中文登录 中文参数 转码
    ios apple pay 证书配置
    Missing iOS Distribution signing identity for ... Xcode can request one for you.
  • 原文地址:https://www.cnblogs.com/hgl0417/p/10643760.html
Copyright © 2011-2022 走看看