Apollo自动驾驶:引领未来的智能出行

简介: Apollo自动驾驶:引领未来的智能出行

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家https://www.captainbed.cn/z


ChatGPT体验地址


Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、成熟、安全的自动驾驶技术和数据开放给业界,旨在建立一个以合作为中心的生态体系,发挥百度在人工智能领域的技术优势,为合作伙伴赋能,共同促进自动驾驶产业的发展和创新。 Apollo 自动驾驶开放平台为开发者提供了丰富的车辆、硬件选择,强大的环境感知、高精定位、路径规划、车辆控制等自动驾驶软件能力以及高精地图、仿真、数据流水线等自动驾驶云服务,帮助开发者从 0 到 1 快速搭建一套自动驾驶系统。

驶向未来的智能出行

步骤一:安装 Linux 系统


Apollo 软件系统依赖于 Linux 操作系统运行,而 Linux 操作系统种类繁多,且又分为服务器版本和桌面版本,这里我们选择当下比较流行的 Ubuntu 桌面操作系统的 64 位版本。安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。


(可选)步骤二:安装 NVIDIA GPU 驱动

Apollo 8.0 的一些模块的编译和运行需要依赖 NVIDIA GPU 环境(例如感知模块),如果您有编译和运行这类模块的需求,则需要安装 NVIDIA GPU 驱动。

您可以通过以下两种方式在 Ubuntu 上进行安装:

  • (推荐) apt-get 命令,参见 How to Install NVIDIA Driver。- 使用官方 runfile。
    对于 Ubuntu 18.04+,只需执行以下命令即可:
sudo apt-get update
sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-455


安装完毕后,可以输入 nvidia-smi来校验 NVIDIA GPU 驱动是否在正常运行(可能需要在安装后重启系统以使驱动生效)。如果成功,则会出现以下信息:

Prompt> nvidia-smi
Mon Jan 25 15:51:08 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.27.04    Driver Version: 460.27.04    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| 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  GeForce RTX 3090    On   | 00000000:65:00.0  On |                  N/A |
| 32%   29C    P8    18W / 350W |    682MiB / 24234MiB |      7%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1286      G   /usr/lib/xorg/Xorg                 40MiB |
|    0   N/A  N/A      1517      G   /usr/bin/gnome-shell              120MiB |
|    0   N/A  N/A      1899      G   /usr/lib/xorg/Xorg                342MiB |
|    0   N/A  N/A      2037      G   /usr/bin/gnome-shell               69MiB |
|    0   N/A  N/A      4148      G   ...gAAAAAAAAA --shared-files      105MiB |
+-----------------------------------------------------------------------------+


步骤三:安装 docker


Apollo 8.0 依赖于 Docker 19.03+。要安装 Docker,参见 Install Docker Engine on Ubuntu。

Ubuntu 上的 Docker-CE 也可以通过 Docker 提供的官方脚本安装:

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

您可以自由选择安装方式,安装之后,不要忘记执行 Linux 上的后续操作说明。更多内容,参见 使用非 root 权限运行 docker 和 配置开机启动 docker。

(可选)步骤四:安装 NVIDIA Container Toolkit


为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit。 运行以下命令安装 NVIDIA Container Toolkit:

distribution=$(. /etc/os-release;echo $ID$VERSION_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

安装完成后,重启 Docker 以使改动生效。

sudo systemctl restart docker


安装完毕后,可以在APOLLO容器内输入nvidia-smi来校验 NVIDIA GPU 在容器内是否能正常运行(详见步骤五)。

步骤五:下载并编译 Apollo 源码

  1. 安装 git 并将源码 clone 下来:
cd ~/
sudo apt update
sudo apt install git -y
git init
git clone https://github.com/ApolloAuto/apollo.git

代码下载的时间视网速的快慢而有所区别,请耐心等待。

  1. 启动并进入 docker 容器,在终端输入以下命令:
cd ~/apollo
 bash docker/scripts/dev_start.sh

第一次进入 docker 时或者 image 镜像有更新时会自动下载 apollo 所需的 image 镜像文件,下载镜像文件的过程会很长,请耐心等待。

如果一切正常,则会见到以下信息:

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_neo_dev_root container, please run the following command:
[ OK ]   bash scripts/edu_launcher.sh enter
[ OK ] Enjoy!

这个过程完成后,请输入以下命令以进入 docker 环境中:

bash docker/scripts/dev_into.sh


如果您在步骤二和步骤四分别安装了 NVIDIA GPU 驱动和 NVIDIA Container Toolkit,您可以输入nvidia-smi来校验 NVIDIA GPU 在容器内是否能正常运行,如果成功,则会出现以下信息:

root@in-dev-docker:/apollo_workspace# nvidia-smi 
Wed Sep 14 11:43:13 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| 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  Tesla V100-SXM2...  Off  | 00000000:03:00.0 Off |                    0 |
| N/A   31C    P0    38W / 300W |    153MiB / 32510MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      9962      C   nvidia-cuda-mps-server             29MiB |
+-----------------------------------------------------------------------------+
  1. 编译 Apollo 源码。
    编译 Apollo,在终端输入以下命令,等待编译完成,编译过程耗时视机器配置的不同而有所区别,请耐心等待:
bash apollo.sh build

步骤六:运行 Dreamview 检验编译是否成功

进入 Apollo 容器环境。

 cd ~/apollo
 bash docker/scripts/dev_start.sh
 bash docker/scripts/dev_into.sh

注:如果您已在容器环境内,请忽略此步骤。

  1. 启动 dreamview。
    在终端输入以下命令:
bash scripts/bootstrap.sh

如果启动成功,在终端会输出以下信息:

 nohup: appending output to 'nohup.out'
 Launched module monitor.
 nohup: appending output to 'nohup.out'
 Launched module dreamview.
 Dreamview is running at http://localhost:8888

在浏览器中输入以下地址访问 Dreamview:

http://localhost:8888
  1. 回放数据包。
    在终端输入以下命令下载数据包:
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record

输入以下命令可以回放数据包,在浏览器 DreamView 中应该可以看到回放画面:

cyber_recorder play -f demo_3.5.record --loop

如果成功在浏览器中看到类似以下画面,则表明您的 Apollo 系统已经编译并成功运行。


更全面的Apollo社区官网文档   Apollo社区官网文档,主要为新手开发者提供Apollo相关介绍、以及上机场景和上车场景的实践说明,让新手开发者能快速了解Apollo并上手实操。在8.0中,我们优化了社区官网文档的结构,从开发者使用场景出发,针对不同场景提供应用实践案例指导以及扩展开发指导。  

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
7月前
|
自动驾驶 算法 定位技术
为什么自动驾驶永远离不开C++?
为什么自动驾驶永远离不开C++?
141 0
|
7月前
|
人工智能 自动驾驶 安全
【Apollo】阿波罗自动驾驶技术:引领汽车行业革新
【Apollo】阿波罗自动驾驶技术:引领汽车行业革新
|
7月前
|
传感器 人工智能 自动驾驶
【Apollo】阿波罗自动驾驶:塑造自动驾驶技术的未来
【Apollo】阿波罗自动驾驶:塑造自动驾驶技术的未来
|
7月前
|
人工智能 自动驾驶 搜索推荐
自动驾驶:Apollo如何塑造人类的未来出行
自动驾驶:Apollo如何塑造人类的未来出行
|
7月前
|
缓存 自动驾驶 测试技术
Apollo自动驾驶:新一代智能交通革命的引擎
Apollo自动驾驶:新一代智能交通革命的引擎
|
7月前
|
运维 监控 自动驾驶
Apollo自动驾驶系统:实现城市可持续交通的迈向
Apollo自动驾驶系统:实现城市可持续交通的迈向
|
2月前
|
机器学习/深度学习 自动驾驶 算法
特斯拉发布Robotaxi,支撑其自动驾驶的FSD你需要了解一下
【10月更文挑战第11天】FSD(全自动驾驶)是特斯拉开发的自动驾驶技术,目标是在无需人工干预的情况下,让车辆自主识别路况并完成行驶。该系统基于CNN神经网络,能通过车载摄像头收集的数据进行图像识别与处理。FSD包含自动紧急刹车、自动变道等功能,并在2024年特斯拉“robotaxiday”活动中,推出了cybercab赛博无人出租车和robovan无人驾驶多功能车。基于“端到端”大模型算法,FSD未来将不依赖高精地图行驶,并计划于2025年在美国得州和加州实现“无监督版”完全自动驾驶。
85 16
|
2月前
|
传感器 机器学习/深度学习 自动驾驶
未来出行新纪元:自动驾驶技术深度剖析
【10月更文挑战第6天】 本文旨在深入探讨自动驾驶技术的工作原理、关键技术要素、当前主要挑战以及未来发展趋势。通过对感知、决策和执行层的细致分析,结合行业现状与前瞻,为读者提供一个关于自动驾驶技术的全面视角,揭示其如何引领交通运输领域迈向智能化、安全化与高效化的新阶段。
56 1
|
2月前
|
传感器 自动驾驶 安全
未来出行的智能革命:自动驾驶技术的现状与前景
在科技迅猛发展的今天,自动驾驶技术正逐步从科幻走进现实。本文将深入探讨自动驾驶的技术原理、当前发展现状以及未来的应用前景。我们将从感知、决策和执行三个核心层面剖析自动驾驶系统的工作机制,并讨论其在不同场景中的应用。同时,通过分析技术发展面临的挑战和瓶颈,我们展望了自动驾驶技术的未来图景,并思考其可能对社会、经济和法律等方面带来的深远影响。
302 3
|
3月前
|
传感器 机器学习/深度学习 自动驾驶
未来出行的智能革命:自动驾驶技术的进展与挑战
自动驾驶技术正逐步改变我们的交通方式,从辅助驾驶到完全自动化,每一次技术跃迁都带来了新的可能。本文将探讨自动驾驶的发展历程、关键技术里程碑及其面临的主要挑战和未来趋势。
281 4