首先回顾下进入 Apollo 仿真界面 Dreamview 的步骤:
设置环境:
cd ~/apollo
//确认在没有 sudo 的情况下可以执行 docker 命令
docker ps
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
./apollo.sh
./apollo.sh clean
bash apollo.sh build
./apollo.sh build no perception dbg //未配备 nvidia 显卡时执行该命令(推荐使用)
bash scripts/bootstrap.sh
//这一步将会编译所有的 apollo 文件(含有 nvidia 显卡的)
//进入交互环境
在浏览器输入 http://localhost:8888 后回车,出现以下界面开启 Dreamview,然后点击右上方的
Dreamview。退出 apollo 则:ctrl+d(ubuntu14.04)或者 ctrl+c(ubuntu16.04)。
演示样本(replay demo rosbag):
用以下命令可以测试系统是否正常工作:
# get rosbag note that the command download is required
python ./docs/demo_guide/rosbag_helper.py demo_2.5.bag
# You can now replay this demo "bag" in a loop with the '-l' flag
rosbag play -l demo_2.5.bag
Dreamview 是一个网页应用:
1. 显示当前自动驾驶相关模块的状态:比如规划轨迹(planning trajectory),车辆定位(car
localization),底盘状态(chassis status)等。
2. 为用户观察硬件状态提供人机接口,打开/关闭模块,开始车辆的自动驾驶等。
3. 提供调试工具,比如 PnC 监视器来有效地追踪模块问题。
一.布局和特征
应用布局被分成了以下几个区域:页眉、侧边栏、主界面和工具视图。
页眉:
设置模式
根据模式选择中选择的模式,定义在 hmi.conf 中的相关模块和命令将会单独显示在模块选择器
(module controller)中和快速启动中(quick start)。
注:导航模式是为在 Apollo2.5 中介绍的低成本特征而提供的。在这种模式下百度和谷歌的高精
度地图将会提供车辆的绝对位置,同时主视图也为车辆的相关位置提供所有的物体和地图元素
信息。
二.侧边栏和工具视图
侧边栏面板控制工具视图的显示
三.任务
setup:打开所有模块
reset all:关闭所有模块
start auto:开始车辆的自动驾驶
Quick start:三种模式可选:
Others:常用工具选择
Module delay:每个主题的两个消息之间信息传递的时间延迟
Console:来自 Apollo 平台的监控信息
四.模块控制器
在这里可以看到硬件状态和控制模块的开启和关闭
五.层菜单
一个用于可视元素的切换菜单
六.路线编辑
七.数据记录器
向 rosbag 报告错误信息和驱动信息主题的面板("/apollo/drive_event")
八.缺省路由
预先定义的路由或者单点列表,又称为“兴趣点”。
如果路线编辑正在进行,路由点可以在地图上可视化地添加。
如果路由编辑关闭,单击所需的兴趣点将向服务器发送路由请求。
如果选定的兴趣点只有一个,路由请求的起始点是自动汽车的当前位置;
否则,起始位置是所需路由的第一个点。
如果要编辑兴趣点,请查看 map data 目录下的 efault_end_way_point.txt file,比如如果地图选
择为:Demo,则 default_end_way_point.txt 在目录 modules/map/data/demo 下。
九.主界面
主视图在 web 浏览器中动画显示 3D 计算机图形。这个视图中的元素列在下面的表格中:
自动驾驶车辆
车轮转向比和左/右转状态
探测到的信号灯
驾驶模式显示(自动/未激活/手动)
车速和加减速状态
红色粗线代表建议路径
微移目标决策(黄色区域指示了要避免的区域)
绿色粗曲线代表规划轨迹
障碍物:
车辆障碍
行人障碍
自行车障碍
未知障碍物
速度箭头方向表示运动的方向,长度与速度大小成比例。
白色箭头指示障碍物的方向
黄色文本表示:障碍物的追踪 ID;与自动驾驶汽车之间的距离
这些线代表与障碍物颜色相同的障碍物的预测运动。
规划决策:
决策围栏
决策栏反映了计划模块对车辆(主要)和障碍(对象)的决定。每种类型的决策都以不同的颜
色和图标呈现,如下所示:
停止:描述主要停止原因
停止:描述物体停止原因
跟随对象
让行对象决策,虚线连接至各自的目标
超越对象决策,虚线连接至各自的目标