搭建百度apollo环境

  • 0-前言
  • 1-目标
  • 2-方法
  • 3-Apollo环境搭建
    • 3.1-CPU版
      • 3.1.1前置依赖硬件条件
      • 3.2-GPU版
      • 前置依赖软件
        • 1.安装 Ubuntu 18.04
        • 2.安装 GIT
        • 3.安装 Docker 引擎
      • 3.1.3克隆 Apollo 源码
      • 3.1.4启动 Apollo Docker 开发容器
      • 3.1.4进入 Apollo Docker 开发容器
      • 3.1.5容器中构建 Apollo
      • 3.1.6运行 Apollo
        • 1 启动 Apoll
      • 2.选择驾驶模式和地图
        • 3.回放 Demo 数据
  • 参考

0-前言

为什么要这件事

无人驾驶行业涉及范围很广,应用到的往往是前言技术,资料又比较零散,少有成体系的讲理论与实战。我将要做的事情就是通过仿真的方式,带你通过可视的方法理解无人驾驶。

1-目标

项目的目标是给想要了解,转行无人驾驶或者,想要从事无人驾驶某个专项深耕的人,简历一个无人驾驶的知识星球。建立一个无人驾驶领域的业务体系,搭建出一套可debug的仿真环境,实战学习相关算法,提高个人能力提高专项技能。

2-方法

项目将以百度开源apollo项目为项目的开端,带你如何搭建一套可debug的环境,从实践入手,摆脱纯理论阶段。

一点点的通过仿真的方式,了解规控算法,感知算法等。一点点的深耕其实现原理和业务设计理论(业务上为什么要这么做)。

3-Apollo环境搭建

如果你还你点不了解无人驾驶,没关系。我们先搭建一套apollo环境,从实践的角度,跑起来看看怎末玩。

3.1-CPU版

3.1.1前置依赖硬件条件

特点是cpu要新,内存和存储要大

|CPU:Intel 11代酷睿i9 11900(八核十六线程,最大睿频5.2GHz)

|内存:威刚DDR4 32G 3200(可根据需求扩展至128G)

|硬盘:西数黑盘500G

3.2-GPU版

|CPU:Intel 11代酷睿i9 11900(八核十六线程,最大睿频5.2GHz)

|内存:威刚DDR4 32G 3200(可根据需求扩展至128G)

|硬盘:西数黑盘500G

|显卡:NVIDIA GeForce RTX2060 12G

安装 NVIDIA 显卡驱动

可以通过界面的方式安装

随后,可以通过在终端中执行 nvidia-smi 命令来查看 NVIDIA 显卡工作是否正常(完成驱动安装后可能需要重启),正常情况下终端将显示下面的信息:

Sun Mar 27 10:35:07 2022
±----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01 Driver Version: 470.103.01 CUDA Version: 11.4 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=++==============|
| 0 NVIDIA GeForce … Off | 00000000:01:00.0 On | N/A |
| 0% 37C P8 20W / 184W | 553MiB / 12026MiB | 7% Default |
| | | N/A |
±------------------------------±---------------------±---------------------+

±----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1113 G /usr/lib/xorg/Xorg 215MiB |
| 0 N/A N/A 1343 G /usr/bin/gnome-shell 61MiB |
| 0 N/A N/A 2819 G /usr/lib/firefox/firefox 226MiB |
| 0 N/A N/A 5156 G …404678048605711115,131072 8MiB |
| 0 N/A N/A 24499 G …AAAAAAAAA= --shared-files 33MiB |
| 0 N/A N/A 25945 G /usr/lib/firefox/firefox 1MiB |
±----------------------------------------------------------------------------+

安装 NVIDIA 容器工具包

如果是在物理机中安装的 Ubuntu,且机器配有 NVIDIA 显卡,在安装了驱动的前提下,还需要安装 NVIDIA 容器工具包以运行 Apollo Docker 镜像中的 CUDA:

distribution=$(. /etc/os-release;echo I D ID IDVERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get -y update
sudo apt-get install -y nvidia-docker2

前置依赖软件

  • 安装 Ubuntu 18.04
  • 安装 Git
  • 安装 Docker 引擎

1.安装 Ubuntu 18.04

系统的安装参考网上教程;

2.安装 GIT

为什么要安装git,因为要从仓库上拉取代码;由于代码较大,所以使用ssh的方式最稳妥,不会中途断掉;所以要有一个github账号.

  • ubuntu安装git
  • 生成git ssh key
  • 添加key 到GitHub上

参考链接

https://www.cnblogs.com/zxlovenet/p/4571850.html

3.安装 Docker 引擎

安装Docker 19.03 及以上版本,在终端中直接执行下述命令即可完成 Docker 社区版的安装:

curl https://get.docker.com | sh
sudo systemctl start docker && sudo systemctl enable docker

重启 Docker 守护进程以使改动生效:

sudo systemctl restart docker

3.1.3克隆 Apollo 源码

推荐使用过 SSH 方式克隆 Apollo 源码仓库:

# 使用 SSH 的方式
git clone git@github.com:ApolloAuto/apollo.git

3.1.4启动 Apollo Docker 开发容器

进入到 Apollo 源码根目录,打开终端,执行下述命令以启动 Apollo Docker 开发容器:

sudo ./docker/scripts/dev_start.sh

不出意外得话,启动成功后将得到下面信息:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0XioVjk-1651472623736)(

3.1.4进入 Apollo Docker 开发容器

启动 Apollo Docker 开发容器后,执行下述命令进入容器:

sudo ./docker/scripts/dev_into.sh

可以发现,进入容器后终端信息发生了相应变化,后面的操作都将在容器中进行:

![进入 Apollo docker 开发容器

若提示 [WARNING] nvidia-smi not found. CPU will be used. 请确认是否要用gpu编译,不是则忽略。若是,请检查NVIDIA 容器工具包 是否安装,重新执行sudo ./docker/scripts/dev_start.sh可解决。

3.1.5容器中构建 Apollo

进入 Apollo Docker 开发容器后,在容器终端中执行下述命令构建 Apollo:sudo ./apollo.sh build 自动适配用cpu编译还是gpu

sudo ./apollo.sh build


用时739秒编译成功后如下 Enjoy!

3.1.6运行 Apollo

1 启动 Apoll

完成 Apollo 构建后,在容器终端中执行下述命令:

./scripts/bootstrap.sh start


上述命令会启动 DreamView 并使能模块监控机制,在浏览器中访问 http://localhost:8888 来显示 DreamView 界面:

2.选择驾驶模式和地图

在 DreamView 界面的对应下拉框中选择驾驶模式为“Mkz Example,选择地图为“Sunnyvale with Two Offices”:

3.回放 Demo 数据

在容器终端中执行下述命令下载 demo 数据:

source cyber/setup.bash # 回放包需要设置下环境变量
cd docs/demo_guide/
python3 record_helper.py demo_3.5.record

由于网络原因,下载可能失败,可以点击这里手动下载并将数据放到 apollo/docs/demo_guide/ 目录下。继续在容器终端中执行下述命令来播放数据,-l 表示循环播放(loop):

cyber_recorder play -f demo_3.5.record -l

至此,DreamView 界面中将呈现出自车规划轨迹、他车预测轨迹、路网等各种信息:

参考

https://blog.shipengx.com/archives/e4b9c8ad.html

https://blog.csdn.net/weixin_45929038/article/details/120113008

感兴趣点我blibli

01_搭建百度apollo环境实操可用相关推荐

  1. linux系统安装python环境 实操

    linux系统安装python环境 实操 安装conda,其作用是充当一个管理平台,给予python运行的基本环境,可管理多个虚拟环境 查看电脑系统版本: uname -a 清华镜像站下载安装包,一般 ...

  2. 【信号调理】用“晶体三极管”搭建CE放大器的实操经验分享

    基于的题目 2020 年TI 杯大学生电子设计竞赛--E 题:放大器非线性失真研究装置 使用的元件 博主使用常用的小功率三极管S9013,是NPN型的.由于博主在洞洞板上焊接搭建电路,所以选择了直插的 ...

  3. 0元0基础搭建个人网站简易实操

    写在前面 本文目的为记录和分享,可作为操作参考,作者只是出于兴趣,并非专业 本文基于腾讯云免费试用云服务器,从注册开始完成一个包含图.文.影音和超链接的简单网站搭建,并在其中以实例说明了重要的参数配置 ...

  4. docker php 环境实操

    (1)拉取镜像 docker pull php:5.6-fpm (2)安装 docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm ...

  5. dll调用笔记(个人实操可用)

    // test_DLL.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h"#include "XXXC.h" #include ...

  6. MySQL主从复制原理(原理+实操)

    1.MySQL主从复制原理(原理+实操) 主从复制简介 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」. 比如:在复杂的业务系统中,有一句sql ...

  7. 实操ASP测试环境搭建 学习 · 刚刚 0阅读 · 0点赞 langya3 本教程使用Windows2003+IIS6.0+ACCESS+ASP-DVBBS论坛 1. 打开管理服务器-----

    实操ASP测试环境搭建 本教程使用Windows2003+IIS6.0+ACCESS+ASP-DVBBS论坛 打开管理服务器-----点击添加或删除角色----- 进入配置你的服务器向导------点 ...

  8. 京东云php环境配置,干货 | 京东云应用负载均衡(ALB)多功能实操

    应用负载均衡(Application Load Balancer,简称ALB)是京东云自主研发的一款七层负载均衡产品,主要面向HTTP和HTTPS流量的WEB应用程序,提供灵活的功能配置.应用负载均衡 ...

  9. 小白玩大数据日志分析系统经典入门实操篇FileBeat+ElasticSearch+Kibana 实时日志系统搭建从入门到放弃

    大数据实时日志系统搭建 距离全链路跟踪分析系统第二个迭代已经有一小阵子了,由于在项目中主要在写ES查询\Storm Bolt逻辑,都没有去搭建实时日志分析系统,全链路跟踪分析系统采用的开源产品组合为F ...

最新文章

  1. DWRUtil的方法使用说明
  2. 献给老师,我的编程之路
  3. zcmu-1643 报数游戏
  4. Yolov5目标检测模型运行遇到的相关问题汇总
  5. Java基础知识——Java数组详解
  6. UNIX网络编程笔记(2):一个简单的时间获取程序
  7. 从入门到深入Fiddler 2 (二)
  8. 《Oracle DBA工作笔记》第一章
  9. 大数据时代时代舍恩伯格书资源_大数据时代的特征和思维
  10. 基于JAVA+Servlet+JSP+MYSQL的个人博客系统
  11. Centos7.x 安装Kubernetes(K8s) 1.16.2 kubeadm kubelet kubectl 单机版 2019-10-20更新
  12. Atitit.软件仪表盘(4)--db数据库子系统-监测
  13. 树莓派默认密码_树莓派快速指南,从购买到开机
  14. 程序人生 - 国有划拨和国有出让的区别 国有划拨参照什么标准进行
  15. Vivado中FIFO遇到【Common17-55】警告总结
  16. 计算机JAVA相关说课稿_面向对象程序设计-java说课稿
  17. 微信生成二维码 PHP
  18. PMP证书备考攻略+PMP知识点汇总
  19. 数字人民币试点目前呈现“全面开花”态势
  20. 18天精读掌握《费曼物理学讲义卷一》 第11天 2019/6/27

热门文章

  1. 微波反应试验温度、时间、压力及功率控制
  2. 数据的封装与解封装:TCP/IP五层协议
  3. 可替换STM23G031的32位单片机
  4. android 源码下载
  5. 线性表(一)——线性表概述
  6. linux panic 和 bug_on
  7. 【WIN10】如何关闭右下角输入法的“拼”字
  8. MySQL Workbench生成数据表关系图
  9. 卡普的21个NP完全问题-问题描述
  10. 独孤思维:互联网赚钱的底层逻辑