前言:最近在和百度Apollo合作,Apollo的人很nice,大家都在全力帮助我们解决问题。但Apollo系统有点难搞,安装起来很费劲,为了避免再次踩坑,留下笔记,流传后人,O(∩_∩)O。

1. 程序版本:

  • Ubuntu:14.04.3:apollo github主页推荐了Ubuntu16.04,但在测试过程中,发现Apollo推荐的摄像头驱动在Ubuntu16.04下的驱动(USB_CAM)有问题,因此我浪费了整整一天的时间,最后在一位长沙大神"哲"的指引下发现在Ubuntu14.04下摄像头驱动编译没有问题,所以选择Ubuntu14.04。这里还要说明一下,百度在https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_2_5_hardware_system_installation_guide_v1.md里面推荐了ubuntu14.04.3,但在安装过程中,需要upgrade,版本变为了Ubuntu14.04.5,所以个人认为,找一个Ubuntu14.04就好,我在百度网盘中将Apollo需要的全部(是全部呀,包含系统的呀)安装文件共享出来,省着去下载了。

    百度网盘:链接: https://pan.baidu.com/s/1z86gFcDqRyUpnzAc7q5K3g 提取码: b8i2

  • cuDNN:在https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_run_perception_module_on_your_local_computer.md上,百度推荐了cuDNN v7.1.1 Developer Library for Ubuntu14.04 (Deb),在安装过程中就是提示出现依赖错误,安不上呀,所以我去官网下载了一个cudnn-8.0-linux-x64-v7.tgz(也在百度网盘里),直接按照官网教程安装就好。

2. 安装:

  • Ubuntu系统,这里就不废话了,没啥说的,拿我在百度网盘里共享的安装就好。安装完成后,最好弄个源(个人用阿里的源):

备份源:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑源列表:

$ sudo vim /etc/apt/sources.list

复制源列表到source.list(以下是ubuntu14.04的源):

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

更新

$ sudo apt-get update; sudo apt-get upgrade
  • 更新内核,将内核版本更新到4.4.32:

安装内核:

$ sudo apt-get install linux-generic-lts-xenial

在我的百度网盘中下载linux-4.4.32-apollo-1.5.0.tar.gz,运行:

$ tar zxvf linux-4.4.32-apollo-1.5.0.tar.gz
$ cd install
$ sudo bash install_kernel.sh
$ sudo reboot

重启后,应该是安装ESDCAN卡驱动,但我没有,所以就略过去了。

提示:我在安装过程中,没有去弄blacklist.conf,应该没有问题。

安装驱动:这里笔记本和台式机、工控机有些不一样,笔记本需要在最后加上--no-opengl-files,防止无限登陆 ;台式机与工控机不需要。

$ sudo chmod a+x NVIDIA-Linux-x86_64-375.39.run
$ sudo bash ./NVIDIA-Linux-x86_64-375.39.run --no-x-check -a -s --no-kernel-module --no-opengl-files

查看nvidia版本

$ nvidia-smi

如果版本号显示为375.39,那么安装成功。

  • CDUA安装。这部分百度省略了,但是为了安装cuDNN还是需要安装CUDA。在我的百度网盘里也有cuda_8.0.61_375.26_linux.run,自行下载。如果严格安装上面的步骤来,应该不需要检查版本,直接安装。
$ sudo chmod a+x cuda_8.0.61_375.26_linux.run
$ sudo sh cuda_8.0.61_375.26_linux.run

安装过程中,会有若干选项,请留意,如果遇到是否安装驱动,请选择n。最后应该回让你选择是否安装CUDA_sample,为了节约安装时间,我选择了n。

解压cudnn-8.0-linux-x64-v7.tgz

$ tar -xzvf cudnn-8.0-linux-x64-v7.tgz

拷贝cuDNN下的.h与.so到CUDA目录下

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

到此,系统应该配置完了。

  • 安装docker-ce,安装docker需要访问外网,最好是有翻那啥的工具,或者是可以访问外网的网络。

更新

$ sudo apt-get update

安装一个包,允许apt访问https。

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

添加docker官方GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

验证

$ sudo apt-key fingerprint 0EBFCD88

建立仓库。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

更新

$ sudo apt-get update

安装最新的docker-ce

$ sudo apt-get install docker-ce

验证docker是否安装成功

$ sudo docker run hello-world

为了让docker运行在非管理员权限下,建立docker group

$ sudo groupadd docker

添加用户到docker group

$ sudo usermod -aG docker $USER  #这里的$USER替换为自己的用户名。
$ sudo reboot

验证没有通过管理员访问docker

$ docker run hello-world
  • 安装Apollo

下载Apollo

$ git clone https://github.com/ApolloAuto/apollo.git
$ cd apollo/ #这里根据你选择的下载文件夹进入apollo

进入docker

$ bash docker/scripts/dev_start.sh -C
$ bash docker/scripts/dev_into.sh

获取build command列表

$ ./apollo.sh

开始清理

$ ./apollo.sh clean

开始build

$ bash apollo.sh build  or  $bash apollo.sh build_gpu(如果你带nvidia显卡,且在gtx1050ti版本之上)

到此应该全部结束了。

提示:如果上面执行过了,下面不需要执行。

提示:在https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_run_perception_module_on_your_local_computer.md 下面在编译perception模块时,可以运行

$ ./apollo.sh build_gpu

或者

$ ./apollo.sh build_opt_gpu

百度Apollo安装说明的更多相关文章

  1. 百度Apollo搭建步骤(待更新)

    百度Apollo搭建步骤 ##一.安装ubuntu16.04 无需多说,安装完成打开命令行. ##二.下载Apollo镜像 git clone https://github.com/ApolloAut ...

  2. 百度Apollo无人驾驶入门课程下载

    本文提供 百度Apollo官网的无人驾驶入门课程下载,主要为视频文件. 视频数量:101个:文件格式:MP4:视频总时长:2小时40分钟:文件总大小:约1.13GB: 马上下载 关注公众号罗孚传说(R ...

  3. 三维重建:GitHub百度Apollo 2.0

    GitHub:https://github.com/ApolloAuto/apollo 1. 关于Apollo的数据:Apollo的数据会如何开放? 自动驾驶数据将包括具有高分辨率图像和像素级别标注的 ...

  4. Apollo安装教程

    最近一直在研究Apollo的安装问题,浪费了几天时间,所有特意来记录一下安装心得. UBUNTU 14.04安装 这个我是把自己的笔记本全部转换为ubuntu系统,操作相对简单,大家可以自行查找,另外 ...

  5. wsl2安装百度apollo及其基本配置

    一. wsl2的开启 首先 WSL2 gui 需要Windows 11 Build 22000版本以上才支持 利用管理员权限打开PowerShell 执行 dism.exe /online /enab ...

  6. 百度Apollo 尝试

    从Git-Hub上下载了Apollo源码在Ubuntu上准备运行一下 完成了以下步骤: bash docker/scripts/install_docker.sh bash docker/script ...

  7. 百度Apollo解析——0.使用VSCode编译Apollo项目

    1.安装微软Visual Studio Code 1.1 方法一 开始之前,首先需要安装Ubuntu Make.虽然Ubuntu Make存在Ubuntu15.04官方库中,但是需要Ubuntu Ma ...

  8. 百度Apollo解析——2.log系统

    Apollo中的glog 在Apollo中google glog 被广泛使用,glog 是 google 的一个 c++ 开源日志系统,轻巧灵活,入门简单,而且功能也比较完善. 1. 安装 以下是官方 ...

  9. 百度Apollo解析——1.总介绍

    1. 概括 Apollo源码主要是c++实现的,也有少量python,主要程序在apollo/modules目录中,共18个包,功能包17个: 其中每个模块的作用如下: apollo/modules/ ...

随机推荐

  1. SpringBoot 初体验

    1.Spring Boot 简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 2.微服务 2014, martin fowler 微服务:架构 ...

  2. JS中数组和对象的区别

  3. JQuery图片加载显示loading和加载失败默认图片

    在很多时候我们需要用到图片加载功能,在网上搜资料后就想为了以后使用方便重新整理了下,结果如图: 最后一张是加载失败显示的图片,没找到合适的图片,先用他顶替. 页面引用 <div class=&q ...

  4. css设置背景模糊

    使用filter属性来设置模糊值 效果: css样式: <style type="text/css"> .cover { width: 600px; height: 3 ...

  5. [SCOI2009]粉刷匠

    线性DP预处理+分组背包 首先设dp[i][j][0/1]表示该木板前i个格刷了j次且最后一次颜色为0/1的最大正确数 做下0/1的前缀和然后转移状态 dp[i][j][k]=max(dp[l][j] ...

  6. PHP学习笔记(二) ---- PHP数据类型

    PHP  __数据结构类型 一.php 中的八种数据类型 1.四种标量类型 Boolean (布尔类型): true  or  false,多用于条件判断. 实例: <?php $x = &qu ...

  7. Ubuntu增加一个用户并给普通用户赋予root权限的方法

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  8. AE+C#实现:在SceneControl里打开和保存

    来自:http://www.cnblogs.com/zhuxy/archive/2012/03/30/2424672.html 之前编写这段代码,发现一直没有C#编写的,现在贴出来,希望对大家有用 此 ...

  9. GIS平台结构设计

    前言: WebGIS由于技术发展和功能定位的原因,一般在进行架构设计的时候更多地考虑是否容易实现.用户交互.数据传输方便.渲染效果等方面,对强GIS的应用考虑得少,所以架构上与桌面的GIS平台很不一样 ...

  10. 哪个HTML5内建对象用于在画布上绘制?()

    哪个HTML5内建对象用于在画布上绘制?() getContent getContext getGraphics getCanvas 我的理解: A.C.D不存在HTML5,,js方法中 HTML 5 ...