前言:最近在和百度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. Java8增强的Map集合

    Map集合简介 Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组用于保存Map里的vlaue,key和value都可以是任何引用类型的数据. M ...

  2. 基于Spark GraphX计算二度关系

    关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友 ...

  3. java队列queue的我觉得很好的使用方式

    LinkedList实现了queue接口,通常使用LinkedList 其中关键两个函数:offer().poll() offer()表示“排队”----插入到队列最前,poll()表示轮到了队列最前 ...

  4. SQLServer数据库系统概念

    数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...

  5. drupal7 profile2模块获取个人信息

    一.问题背景: 用profile2模块,扩展个人信息,增加了“手机号”等信息,一些地方想要获取当前用户的手机号 二.解决办法: 用profile2自带的方法:profile2_load_by_user ...

  6. MvcForum中文版+PostgreSql源码下载

    演示地址:http://bbs.hfenxiao.com 因为种处原因在家休假,闲来无事,便将去年关注的一个基于asp.net mvc论坛程序拿出来做了一些调整. 据说PostgreSql是世界上功能 ...

  7. Java学习笔记(5)----使用正则表达式解决Google Code Jam Qualification2009赛题 Alien Language

    原题地址:https://code.google.com/codejam/contest/90101/dashboard#s=p0 题目描述: Problem After years of study ...

  8. 配置文件出错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): <!-- mybatis 配置- ...

  9. Nginx采用yum安装方式及安装后的目录

    第一次写博客就不讲究格式了,纯文字了吧 开始 第一步先执行 rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release- ...

  10. Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告

    [问题描述] 近日,有项目组遇到了勒索软件攻击:勒索代码隐藏在Oracle PL/SQL Dev软件中(网上下载的破解版),里面的一个文件afterconnet.sql被黑客注入了病毒代码.这个代码会 ...