Advertisement

Apollo自动驾驶开发笔记1——Apollo 7.0环境配置

阅读量:

Apollo自动驾驶开发笔记1——Apollo 7.0环境配置

  • 一、安装nvidia显卡驱动

    • 主机NVIDIA显卡驱动版本 >= 455.32
  • 二、安装Docker

  • 三、安装NVIDIA Docker

  • 四、

    • 下载源码文件
      • error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.

      • 启动 Apollo 开发 Docker 容器

      • 进入 Apollo Docker 容器

  • 五、编译Apollо

      • 错误信息
        • 服务以错误码14 abrupt终止(错误信息:Socket closed,日志文件路径:/apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/server/jvm.out)
  • 六、启动Apollo服务

  • 七、进行离线演示操作

    • 准备工作

    • 启动 DreamView应用程序

    • 下载并解压Apollo的演示包文件,然后运行播放器

    • 在浏览器中访问 http://localhost:8888 这个端口,打开Apollo Dreamview应用程序

    • 八、再次启动apollo docker容器

Apollo 官方GitHub存储库:
https://github.com/ApolloAuto/apollo
Apollo软件安装说明:
https://github.com/ApolloAuto/apollo/blob/v7.0.0/docs/quickstart/apollo_software_installation_guide.md

硬件环境:

  • ubuntu 18.04
  • RTX2060 显卡
  • nvidia 驱动:470.141.03
  • Cuda:

一、安装nvidia显卡驱动

主机NVIDIA显卡驱动版本 >= 455.32

若 CUDA 版本号为 11.1 及以上,建议安装 CUDA 显卡驱动的最新版本。相应地,建议将主机上的 NVIDIA 驱动程序更新至版本号不小于 455.32。

在这里插入图片描述

二、安装docker

可见:<>

复制代码
    sudo docker version
    
    
    
      
      
    
    AI助手
在这里插入图片描述

三、安装nvidia-docker

目前,可以进行运行基础的CUDA容器以测试工作设置。

复制代码
    sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu18.04 nvidia-smi
    
    
      
    
    AI助手
在这里插入图片描述

若遇到错误:

Docker错误报告:daemon无法选择一个具备gpu能力的设备驱动程序。

解决办法:<>

四、

下载源码

运行以下命令来克隆 Apollo 的 GitHub Repo。

复制代码
    git clone https://github.com/ApolloAuto/apollo.git
    
    
      
    
    AI助手

or

复制代码
    git clone https://gitee.com/ApolloAuto/apollo.git
    git checkout v7.0.0
    
    
    
      
      
      
    
    AI助手
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.

fatal: the remote end hung up unexpectedly
原因在于,git默认缓存大小设置过小所致。
解决办法:请参考下方命令来增加缓存大小(根据实际情况自行调整):

复制代码
    git config --global http.postBuffer 200000000000
    
    
      
    
    AI助手

并检查最新的分支:

复制代码
    cd apollo
    git checkout master
    
    
      
      
    
    AI助手

为了简化操作,您可以配置环境变量APOLLO_ROOT_DIR用于引用Apollo根目录。请将当前目录切换至apollo目录。

复制代码
    echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc  && source ~/.bashrc
    
    
      
    
    AI助手

启动 Apollo 开发 Docker 容器

先给docker去sudo,不然只能用sudo进入。

复制代码
    bash docker/scripts/dev_start.sh
    
    
      
    
    AI助手

等待一段时间…

如果成功,您将在屏幕底部看到以下消息:

恭喜!您已成功完成Apollo开发环境的搭建。
为了登录新创建的apollo_dev_root容器,请运行以下命令:
$ bash docker/scripts/dev_into.sh
享受吧!

在这里插入图片描述

说明安装成功!

进入 Apollo Docker 容器

复制代码
    bash docker/scripts/dev_into.sh
    
    
      
    
    AI助手

用户 diyun 在 Apollo 目录下执行命令
[sudo] password for diyun:
root@in-dev-docker:/apollo#

五、编译apollo

复制代码
    ./apollo.sh build
    
    
      
    
    AI助手

该命令会根据GPU环境的就绪状态自动地进行判断,以决定是执行CPU构建过程还是GPU构建过程。

大约一个上午,经过运行编译程序,终于实现了成功。注意,占用磁盘空间极大,确保至少预留足够大的磁盘空间。

在这里插入图片描述

其他详细信息可参考https://github.com/ApolloAuto/apollo/blob/v7.0.0/docs/specs/apollo_build_and_test_explained.md

复制代码
    #
    使用 Release 模式和 GPU 编译
    bash apollo.sh build_opt_gpu
    其他可选编译方式如下所示:
    # bash apollo.sh build 表示带调试信息的 Release 模式编译
    # [module] 可选,表示待编译的模块;如果不加任何模块,表示编译所有模块
    # 例如: bash apollo.sh build perception ,表示只编译感知模块
    # bash apollo.sh build ,编译所有模块
    #
    bash apollo.sh build [module]
    模式编译
    # Debug
    bash apollo.sh build_dbg [module]
    模式编译
    # Release
    bash apollo.sh build_opt [module]
    #
    使用 CPU ,带调试信息的 Release 模式编译
    bash apollo.sh build_cpu [module]
    #
    使用 GPU ,带调试信息的 Release 模式编译
    bash apollo.sh build_gpu [module]
    #
    使用 GPU , Release 模式编译
    bash apollo.sh build_opt_gpu [module]
    
    使用 GPU , Release 模式编译,只编译camera接入模块
    sudo bash apollo.sh build_gpu drivers/camera
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

error

The server was unexpectedly shut down (error code 14, indicating the socket has been closed, corresponding to log file: /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/server/jvm.out)

复制代码
    Server terminated abruptly (error code: 14, error message: 'Socket closed', log file: '/apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/server/jvm.out')
    
    
    
      
      
    
    AI助手

六、启动apollo

复制代码
    ./scripts/bootstrap.sh
    
    
      
    
    AI助手

启动 Dreamview 失败了。请查看以下路径以获取更多信息:/apollo/data/log 或 /apollo/data/core。

然后在浏览器中打开

复制代码
    http://localhost:8888/
    
    
      
    
    AI助手
在这里插入图片描述

七、运行线下演示

如果您的车辆及车载硬件不具备配置,Apollo系统将支持您在代码演示和调试中使用虚拟仿真环境。

准备工作

按照 [Apollon 软件安装指南] 的说明,您已经准备好并搭建好了 Apollo 的运行环境。即,您已经克隆了 Apollo 的代码库,并安装了必要的软件。

下面是 Apollo 演示的设置步骤:

启动 Dreamview

复制代码
    bash scripts/bootstrap.sh
    
    
      
    
    AI助手

下载并播放 Apollo 的演示包

复制代码
    https://github.com/ApolloAuto/apollo/releases/download/v3.5.0/demo_3.5.record
    
    
      
    
    AI助手
复制代码
    python docs/demo_guide/record_helper.py demo_3.5.record
    
    source cyber/setup.bash
    
    cyber_recorder play -f demo_3.5.record --loop
    
    
      
      
      
      
      
    
    AI助手
在这里插入图片描述

选项 --loop 用于设置循环回放模式.

bash: cyber_recorder: command not found
source cyber/setup.bash

在浏览器中输入 http://localhost:8888 访问 Apollo Dreamview

如下图所示:

在这里插入图片描述

如果一切正常,现在您应该能看到一辆汽车在模拟器里移动。

恭喜您完成了 Apollo 的演示步骤!

八、再次启动apollo docker容器

建议避免执行此命令,因为它是创建容器的,会删除现有的容器,但重新构建会更快,得益于缓存机制。初次拉取操作可能需要一定时间,具体取决于网络速度。

构建之后就不要用这个命令了,不然会删除之前的容器,重新构建

bash docker/scripts/dev_start.sh

创建一次容器,后面用就docker start xxx,然后./dev_into.sh 进入容器即可。

复制代码
    cd ~/Apollo/apollo
    #bash docker/scripts/dev_start.sh 
    
    
      
      
    
    AI助手
复制代码
    bash docker/scripts/dev_start.sh -l -t dev-x86_64-18.04-20210914_1336
    
    
      
    
    AI助手
复制代码
    bash docker/scripts/dev_into.sh
    
    
      
    
    AI助手

参考:<>

全部评论 (0)

还没有任何评论哟~