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..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..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. /usr/local/cuda/lib64/libcudnn.so.

可以解决

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.

开始安装

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

Autoware 安装流程的更多相关文章

  1. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  2. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  3. CocoaPods安装流程

    iOS 最新版 CocoaPods 的安装流程       1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/   2.使用新的源 $g ...

  4. CentOS 7 64位的安装流程

    若出现以下不支持虚拟机的问题: 表示虚拟机检测到CPU支不支持虚拟化,要去BIOS里设置虚拟化技术设置为enabled:重启电脑-按"F1或Fn+F1"-进入BIOS主界面-移至S ...

  5. Yii2框架与MongoDB拓展、Redis拓展的安装流程

    @author 周煦辰 2016-03-21 这段时间新上了一个项目,使用的是Yii2框架.这里记录一下Yii2框架.Yii2-Mongo拓展.Yii2-Redis拓展等的安装流程.因为使用的系统是W ...

  6. Canopy v. 1.5.5 ubuntu安装流程

    官网的下载超级慢,还总是断,一断就失败了 我花费了7个小时终于在尝试了5次以后下载成功了,现在将网盘链接分享出来 https://yunpan.cn/cxt28gM26mxQU  访问密码 301d ...

  7. Ios 程序封装,安装流程

    转:http://www.myexception.cn/operating-system/1436560.html Ios 程序打包,安装流程 一.发布测试,是指将你的程序给   * 你的测试人员,因 ...

  8. 最新cocoapods安装流程,安装过程中遇到的问题及解决方法

    最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...

  9. 最新版 CocoaPods 的安装流程(包括EI Capitan版)

    1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taoba ...

随机推荐

  1. vim 配置文件.vimrc,高亮+自动缩进+行号+折叠+优化

    将一下代码copy到 用户目录下 新建文件为  .vimrc保存即可生效: 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)"====================== ...

  2. The configuration section 'system.serviceModel' cannot be read because it is missing a section decla

    将Asp.Net 2.0的Web Site搭建在IIS7(7.5)上时,运行出现500.19错误, 错误提示为 The configuration section 'system.serviceMod ...

  3. CSS3 教程

    CSS3 教程 CSS 用于控制网页的样式和布局. CSS3 是最新的 CSS 标准. 本教程向您讲解 CSS3 中的新特性. 开始学习 CSS3!  更多:http://www.runoob.com ...

  4. [算法练习]Reverse Integer

    题目说明: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return –321   ...

  5. 1.bootstrap基础简介

    一·基础简介 1.Bootstrap,来自 Twitter,是一个用于快速开发 Web 应用程序和网站的前端框架,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.JavaSc ...

  6. C#实现字符串相似度算法

    字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是: 把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这 ...

  7. Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)

    Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...

  8. 伪数组 arguments

    arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...

  9. Java实例---flappy-bird实例[最终版]

    代码分析 解析版: Java实例---flappy-bird实例解析 完整版: TestBirdFly.java package testfly; import java.awt.Color; imp ...

  10. Nginx性能问题答疑

    为什么Nginx的总体性能比Apache高? Nginx使用的是epoll模型和kqueue的网络I/O模型Apache使用的是传统的select模型.目前linux的高并发场景使用的都是epoll模 ...