Apollo学习001: 装置Apollo
本文旨在具体记录 Apollo在个人电脑的 Ubuntu 18.04 零碎中的残缺装置及运行过程。
硬件要求
百度Apollo零碎失常须要装置在工业计算机IPC中,在个人电脑上也能够装置。因为网上没有查到具体的硬件要求,这里PO出集体笔记本电脑配置作为参考:电脑型号:神州战神z7m,CPU i7, 16G内存,GPU: GTX965m。实测能够跑通。(PS:Unbutu零碎须要空间大一些,实测200个G的空间装完并且将Apollo齐全编译后仅剩50G)
Apollo装置过程
装置Nvidia显卡驱动。
sudo apt-get updatesudo apt-add-repository multiversesudo apt-get updatesudo apt-get install nvidia-driver-455
装置结束采纳
nvidia-smi
命令查看显卡:Wed Aug 25 21:55:21 2021 +-----------------------------------------------------------------------------+| NVIDIA-SMI 460.73.01 Driver Version: 460.73.01 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 GTX 965M Off | 00000000:01:00.0 Off | N/A || N/A 61C P0 N/A / N/A | 438MiB / 2002MiB | 25% Default || | | N/A |+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|| 0 N/A N/A 1515 G /usr/lib/xorg/Xorg 216MiB || 0 N/A N/A 1771 G /usr/bin/gnome-shell 26MiB || 0 N/A N/A 3659 G ...AAAAAAAAA= --shared-files 16MiB || 0 N/A N/A 4582 G ...AAAAAAAAA= --shared-files 133MiB || 0 N/A N/A 7588 G ...AAAAAAAAA= --shared-files 7MiB || 0 N/A N/A 10792 G ...AAAAAAAAA= --shared-files 27MiB |+-----------------------------------------------------------------------------+
装置docker
curl https://get.docker.com | shsudo systemctl start docker && sudo systemctl enable docker
重启 Docker 守护过程以使改变失效:
sudo systemctl restart docker
实现 Docker 装置后,在终端中执行下述命令并重启零碎,这样能够免去每次执行 Docker 命令时须要增加
sudo
的繁琐:sudo groupadd dockersudo usermod -aG docker your_username
装置nvidia工具包
如果是在物理机中装置的 Ubuntu,且机器配有 NVIDIA 显卡,在装置了驱动的前提下,还须要装置 NVIDIA 容器工具包以运行 Apollo Docker 镜像中的 CUDA:
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.listsudo apt-get -y updatesudo apt-get install -y nvidia-docker2
git clone源码
# 应用 SSH 的形式git clone git@github.com:ApolloAuto/apollo.git# 应用 HTTPS 的形式git clone https://github.com/ApolloAuto/apollo.git
Docker构建启动Apollo
进入到 Apollo 源码根目录,终端执行下述命令以启动 Apollo Docker 开发容器:
./docker/scripts/dev_start.sh
进入docker
./docker/scripts/dev_into.sh
容器中构建Apollo,
./apollo.sh build#若编译失败可多尝试几次,卡死可尝试./apollo.sh build_opt
启动Apollo
./scripts/bootstrap.sh start
上述命令会启动 DreamView 并使能模块监控机制,在浏览器中拜访 http://localhost:8888 来显示 DreamView 界面。
踩坑记录
git clone Apollo仓库遇到谬误
andre@andre-CN15S:~$ git clone git clone https://github.com/ApolloAuto/apollo.gitCloning into 'apollo'... remote: Enumerating objects: 2618, done. remote: Counting objects: 100% (2618/2618), done. remote: Compressing objects: 100% (1495/1495), done. error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated. fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed
解决办法:
https://github.com/ApolloAuto...
Apollo执行 ./apollo.h build遇到谬误
(16:20:38) ERROR: no such package '@com_github_grpc_grpc//bazel': java.io.IOException: Error downloading [https://apollo-system.cdn.bcebos.com/archive/6.0/v1.30.0.tar.gz, https://github.com/grpc/grpc/archive/v1.30.0.tar.gz] to /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/com_github_grpc_grpc/temp13334635335104087956/v1.30.0.tar.gz: Unknown host: github.com (16:20:38) INFO: Elapsed time: 164.995s (16:20:38) INFO: 0 processes. (16:20:38) FAILED: Build did NOT complete successfully (0 packages loaded)
解决办法: 多编译几次 就好了
装置VS code并配置C++环境
VS code装置和配置参见: https://segmentfault.com/a/11...