前言:最近在和百度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. DButils分析

    package com.ldf.utils; import java.sql.Connection; public class DBUtils { private static String driv ...

  2. 解决MyEclipse代码编辑器中汉字太小的问题

    1.问题描述: 新安装的myeclipse 2014,代码编辑器中汉字很小看不清,如下图所示: 2.解决办法: 调整字体即可.通过菜单Windows——Preferences,输入font过滤选择Co ...

  3. UNIX IPC: POSIX 消息队列

    首先在我的MAC OSX上试了一下虽然有_POSIX_MESSAGE_PASSING的宏定义,但是用gcc编译会提示没有mqueue.h头文件,先放一边.在Ubuntu上使用正常,不过POSIX消息队 ...

  4. Runtime 打开记事本

    package com.direct.str; import java.io.IOException; public class RunTimeDemo { /** * @param args */ ...

  5. stm32f10x单片机进阶--spi使用

      使用SPI与外部flash(MX25L6406EM21)IC通信 连接方式                    如上图所示,MCU通过SPI2与外部flash芯片进行相连接. MCU spi2初 ...

  6. git杂记-打标签

    列出标签 $ git tag v0. v1. 创建标签 --添加附注标签(推荐):加上-a选项(annotated) $ git tag -a v1. -m 'my version 1.4' --添加 ...

  7. Java 之集合框架 上(9)

    Java 中的集合框架 如果一个类中存在很多相同类型的属性. 例如:学生类 学生可以选课,因此存在很多课程类型的属性.但是每个学生选择的课程的种类和数量是不一样的. 如果将每一个课程类型的属性都列到课 ...

  8. UltraISO制作U盘启动盘教程

    Step 1: 首先需要安装UltraISO,完成安装后打开软碟通,文件->打开,打开我们的iso镜像 安装包可以百度搜索 Step 2:然后选择我们的U盘 Step 3:然后点击启动-> ...

  9. [翻译] JNWSpringAnimation

    JNWSpringAnimation https://github.com/jwilling/JNWSpringAnimation JNWSpringAnimation is a subclass o ...

  10. ASC日志保存时间更改

    连接到数据库,选择 OperationsManagerAC,修改dtConfig表即可,新建查询: select * from dtConfig Update dtConfig set value=2 ...