apollo 8.0 系统安装与实践

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

apollo 8.0 版本特殊性

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

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

安装前

### 硬件要求

cpu 4核 以上

mem 8G 以上

硬盘60G

PNC 暂时忽略GPU

系统要求

原生 Ubuntu18.04.5

安装docker, 或者使用docker 脚本

## 下载docker 安装脚本
wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh


## 安装
bash docker_install.sh


## 安装完成后,会看到提示,要求再执行一次第二步
bash docker_install.sh




## docker 容器常用命令
docker stop $(docker ps -a -q)    ## 停止容器
docker ps -a                      ## 查看所有容器状态
docker rm $(docker ps -a -q)      ## 删除所有容器



## docker 镜像常用命令
docker images                     ## 查看所有镜像
docker rmi <>                     ## 删除镜像


## stop 容器  -> 删除容器  ->  删除镜像
docker rmi -f <>                  ## 强制删除镜像,即使容器在运行中



docker exec -it <> bash           ## bash 终端进入容器, 交互形式


安装apollo 环境管理工具aem

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

## 增加源

sudo bash -c "echo 'deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main' >> /etc/apt/sources.list"
wget -O - https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo apt-key add -
sudo apt update



## 安装
sudo apt install apollo-neo-env-manager-dev



## help
aem -h


aem start    ## 检查是否启动了容器,未启动: 启动新容器; 已启动: 不操作

aem start -f ## 强制删除现有的容器, 并启动新的容器

aem enter    ## 进入已启动的容器

aem stop

aem bootstrap ## 启动dreamview

aem setup_host

aem build    ## build package in workspace

aem install  ## install source code of specified package of workspace

创建目录,并进入容器

## 创建工作空间 (废弃,直接git clone)
## mkdir application_demo
## cd application_demo

## 上一步骤可以clone 官方仓库
git clone git@github.com:ApolloAuto/application-demo.git

## 宿主机application-demo 是docker 内部对应的目录/apollo_workspace
## 同样也是工作空间,内有WORKSPACE文件
## docker 内部  ${WORKSPACE} 代表的就是 /apollo_workspace

## 启动容器
aem start    ## application_demo目录下内容会自动挂载进容器, 类似-v 作用
             ## aem 应该绑定了云端的apollo docker 某个版本, 所以第一次会自动下载docker 镜像



## 进入容器

aem enter   
#### user_name@in-dev-docker:/apollo_workspace# 
#### 工作空间文件夹将被挂载到容器的 /apollo_workspace 中。


## 初始化
aem init     ## 生成WORKSPACE文件

QuickStart

01. 播包

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

## docker 内安装 dreamview

sudo apt install apollo-neo-dreamview-dev apollo-neo-monitor-dev

## docker 内启动 dreamview
aem bootstrap start

## 停止dreamview
aem bootstrap stop

## 浏览器打开
http://localhost:8888

## 下载演示包
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record

## 播放
cyber_recorder play -f demo_3.5.record --loop    # -f 指定文件  --loop 循环播放


## 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 环境

source /apollo/cyber/setup.bash


# 8.0 aem
source /opt/apollo/neo/setup.sh

apollo8.0 aem package 安装位置

## buildtool 编译会install 到如下目录中
## package 目录,类似share
/opt/apollo/neo/packages/


## package 执行文件目录,类似lib
/opt/apollo/neo/lib
/opt/apollo/neo/packages/planning_dev/local/lib


APOLLO_PATH="/opt/apollo/neo"
APOLLO_ROOT_DIR=${APOLLO_PATH}/packages
 
export APOLLO_ROOT_DIR=${APOLLO_PATH}/packages
export CYBER_PATH=${APOLLO_ROOT_DIR}/cyber
export APOLLO_SYSROOT_DIR=/opt/apollo/sysroot
export CYBER_DOMAIN_ID=80
export CYBER_IP=127.0.0.1
export GLOG_log_dir=${APOLLO_PATH}/data/log

工具

cyber_monitor

-h         help

-c         检测某一个channel, cyber_monitor -c <CHANNEL_NAME>

--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

# docker workspace
cd /apollo/


# whereis mainboard


# cyber_launch 启动
cyber_launch start modules/planning/launch/planning.launch


# gdb 启动
gdb -q --args /opt/apollo/neo/bin/mainboard -d /apollo/modules/planning/dag/planning.dag



# 打断点, 应该是相对目录的逻辑
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

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

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值