• apollo 8.0 系统安装与实践


    材料总结源于apollo 开发者社区

    apollo 8.0 版本特殊性

    apollo 8.0 增加了软件包管理,不需要全量代码下载,支持二进制安装, 大大方便了安装,以及某一个模块源码方式的安装开发调试学习。

    本文从PNC 开发者角度出发。

    安装前

    ### 硬件要求

    cpu 4核 以上

    mem 8G 以上

    硬盘60G

    PNC 暂时忽略GPU

    系统要求

    原生 Ubuntu18.04.5

    安装docker, 或者使用docker 脚本

    1. ## 下载docker 安装脚本
    2. wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh
    3. ## 安装
    4. bash docker_install.sh
    5. ## 安装完成后,会看到提示,要求再执行一次第二步
    6. bash docker_install.sh
    7. ## docker 容器常用命令
    8. docker stop $(docker ps -a -q) ## 停止容器
    9. docker ps -a ## 查看所有容器状态
    10. docker rm $(docker ps -a -q) ## 删除所有容器
    11. ## docker 镜像常用命令
    12. docker images ## 查看所有镜像
    13. docker rmi <> ## 删除镜像
    14. ## stop 容器 -> 删除容器 -> 删除镜像
    15. docker rmi -f <> ## 强制删除镜像,即使容器在运行中
    16. docker exec -it <> bash ## bash 终端进入容器, 交互形式

    安装apollo 环境管理工具aem

    Apollo 环境管理工具是一个帮忙管理和启动 Apollo 环境容器的命令行工具。

    1. ## 增加源
    2. sudo bash -c "echo 'deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main' >> /etc/apt/sources.list"
    3. wget -O - https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo apt-key add -
    4. sudo apt update
    5. ## 安装
    6. sudo apt install apollo-neo-env-manager-dev
    7. ## help
    8. aem -h
    9. aem start ## 检查是否启动了容器,未启动: 启动新容器; 已启动: 不操作
    10. aem start -f ## 强制删除现有的容器, 并启动新的容器
    11. aem enter ## 进入已启动的容器
    12. aem stop
    13. aem bootstrap ## 启动dreamview
    14. aem setup_host
    15. aem build ## build package in workspace
    16. aem install ## install source code of specified package of workspace

    创建目录,并进入容器

    1. ## 创建工作空间 (废弃,直接git clone)
    2. ## mkdir application_demo
    3. ## cd application_demo
    4. ## 上一步骤可以clone 官方仓库
    5. git clone git@github.com:ApolloAuto/application-demo.git
    6. ## 宿主机application-demo 是docker 内部对应的目录/apollo_workspace
    7. ## 同样也是工作空间,内有WORKSPACE文件
    8. ## docker 内部 ${WORKSPACE} 代表的就是 /apollo_workspace
    9. ## 启动容器
    10. aem start ## application_demo目录下内容会自动挂载进容器, 类似-v 作用
    11. ## aem 应该绑定了云端的apollo docker 某个版本, 所以第一次会自动下载docker 镜像
    12. ## 进入容器
    13. aem enter
    14. #### user_name@in-dev-docker:/apollo_workspace#
    15. #### 工作空间文件夹将被挂载到容器的 /apollo_workspace 中。
    16. ## 初始化
    17. aem init ## 生成WORKSPACE文件

    QuickStart

    01. 播包

    进入docker 后安装dreamview [docker 内部, 而不是宿主机]

    1. ## docker 内安装 dreamview
    2. sudo apt install apollo-neo-dreamview-dev apollo-neo-monitor-dev
    3. ## docker 内启动 dreamview
    4. aem bootstrap start
    5. ## 停止dreamview
    6. aem bootstrap stop
    7. ## 浏览器打开
    8. http://localhost:8888
    9. ## 下载演示包
    10. wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record
    11. ## 播放
    12. cyber_recorder play -f demo_3.5.record --loop # -f 指定文件 --loop 循环播放
    13. ## docker 内部 关闭dreamview

    02. 安装cyberrt example component

    安装项目pkg application_demo, 包含了example_component 和 planning_customization

    退出容器,git 下载到宿主机application-demo 目录下, 这个目标不要有WORKSPACE, 不能是工作空间,因为git下载的本身是个workspace, 如果是,可能和前面aem init 有关,进行删除

    aem enter 进入docker后,cd application_demo/

    buildtool build --packages example_commponent

    注意: 调用脚本编译命令时,当前所在目录即为工作空间目录,请务必在工作空间下使用脚本编译命令

    03. buildtool 安装(docker)

    sudo apt install --reinstall apollo-neo-buildtool-dev

    04 如何安装一个模块, 以routing-dev 为例

    4.1  apt (二进制安装)

    apt install apollo-neo-routing-dev

    4.2  buildtool (源码安装)

    buildtool install routing-dev

    • buildtool 会将安装后的包的源码拷贝至工作空间中,routing-dev 的源码会被拷贝到${WORKSPACE}/modules/routing中。

    两种方式安装模块

    注意: apollo 8.0 模块名字是 planning-dev, routing-dev, 见planning_customization 中cyberfile

    03. 源码安装planning

    planning_customization 模块是一个 End-2-End 的场景解决方案(即可以在仿真环境内跑通 Routing Request 的全部内容),但是其中并没有包含任何源码只包含一个 cyberfile.xml 文件,描述该场景下依赖的所有组件包(planning-dev、dreamview-dev,routing-dev,task_manager 和 monitor-dev)以及其引入的方式。因为需要对 planning 源码进行修改扩展,所以其中 planning-dev 包是因 “src” 的方式引入,在编译该模块时会自动下载 planning 源码,并复制到工作空间中。

    buildtool 安装时遇到报错

     https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz

    10:52:47) WARNING: Download from https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz failed: class java.io.IOException connect timed out
    (10:52:47) ERROR: An error occurred during the fetch of repository 'six':

    换个网络可能就好了

    使用debug模式编译代码,例如buildtool build --dbg -j 2 -m 0.5 -p modules/planning/

    快速跑demo

    aem start

    aem enter

    aem bootstrap start

    浏览器打开dreamview

    打开simcontrol

    打开planning routing prediction 模块

    发送routing

    vscode 插件开发设置

    插件  docker,   bazelbuild, dev container

    apollo cyber 环境

    1. source /apollo/cyber/setup.bash
    2. # 8.0 aem
    3. source /opt/apollo/neo/setup.sh

    apollo8.0 aem package 安装位置

    1. ## buildtool 编译会install 到如下目录中
    2. ## package 目录,类似share
    3. /opt/apollo/neo/packages/
    4. ## package 执行文件目录,类似lib
    5. /opt/apollo/neo/lib
    6. /opt/apollo/neo/packages/planning_dev/local/lib
    7. APOLLO_PATH="/opt/apollo/neo"
    8. APOLLO_ROOT_DIR=${APOLLO_PATH}/packages
    9. export APOLLO_ROOT_DIR=${APOLLO_PATH}/packages
    10. export CYBER_PATH=${APOLLO_ROOT_DIR}/cyber
    11. export APOLLO_SYSROOT_DIR=/opt/apollo/sysroot
    12. export CYBER_DOMAIN_ID=80
    13. export CYBER_IP=127.0.0.1
    14. export GLOG_log_dir=${APOLLO_PATH}/data/log

    工具

    cyber_monitor

    -h         help

    -c         检测某一个channel, cyber_monitor -c

    --loop          循环播放

    cyber_monitor 介绍

    cyber_visualizer

    用于可视化channel 数据,类似rqt

    dreamview

    dreamview 界面功能和颜色含义

    planning配置文件

    planning-dev 的配置文件位于 /apollo_workspace/modules/planning/conf

    planning-dev 源码位于:/apollo/modules/planning中,开发者可以直接修改改文件夹下的代码,从而影响planning 行为。

    编译planning, (cd /apollo_workspace)

    buildtool build --packages modules/planning

    apollo8.0 planning 修改简介

    sim-control 仿真

    sim control 仿真模式进行调试

    场景集插件

    云端实验室用的类型选择 “线上评测”

    如果你装在自己电脑上的apollo8.0 aem 版本,切记选择 “线下仿真”

    场景集同步 - 开发者社区

    场景集同步 - B站 视频

    如何手动起planning

    1. # docker workspace
    2. cd /apollo/
    3. # whereis mainboard
    4. # cyber_launch 启动
    5. cyber_launch start modules/planning/launch/planning.launch
    6. # gdb 启动
    7. gdb -q --args /opt/apollo/neo/bin/mainboard -d /apollo/modules/planning/dag/planning.dag
    8. # 打断点, 应该是相对目录的逻辑
    9. b modules/planning/planning_component.cc:50

    对应目录

    [xxx@in-dev-docker:/apollo/modules/planning]$ ll conf
    lrwxrwxrwx 1 uisee uisee 49 Oct 24 15:19 conf -> /opt/apollo/neo/packages/planning-dev/latest/conf/
    [xxx@in-dev-docker:/apollo/modules/planning]$ vim conf/discrete_points_smoother_config.pb.txt 
    [xxx@in-dev-docker:/apollo/modules/planning]$ pwd
    /apollo/modules/planning
    [xxx@in-dev-docker:/apollo/modules/planning]$ ls
    conf  dag  data  launch  testdata
    [xxx@in-dev-docker:/apollo/modules/planning]$ ll conf
    lrwxrwxrwx 1 uisee uisee 49 Oct 24 15:19 conf -> /opt/apollo/neo/packages/planning-dev/latest/conf/
     

    ​​​//apollo 8.0 vscode 调试 - csdn

    技术文档丨使用VSCode构建、调试Apollo项目 - apollo 开发者社区

    参考链接

    Apollo开放平台8.0版文档 - 软件包安装

    Apollo8.0 系统安装与实践 - 插件安装- 视频直播

    Apollo8.0 系统安装与实践 - 视频直播PPT下载

    aem - Apollo 环境管理工具

    aem - Apollo 构建工具

    aem - Apollo QuickStart

    云端场景集与本地同步插件

  • 相关阅读:
    centos8 安装nginx
    spring--事务
    package.json属性
    【智慧燃气】智慧燃气解决方案总体概述--终端层、网络层
    【Samba】win 11 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
    静态分析 Qt Ceator 组织的工程代码
    一文带你了解线程池原理
    js 时差计算 根据时间戳获取相差时间 几时几分几秒
    ws-discovery通过官网的例子来学习
    大数据-之LibrA数据库系统告警处理(ALM-37015 Gaussdb进程可用文件句柄资源不足)
  • 原文地址:https://blog.csdn.net/qq_35508344/article/details/131151060