Planning 车辆故障绕行

百度Apollo自动驾驶仿真平台9.0版本Planning模块相关内容

场景介绍:主车在城市道路行驶时,当遇到前方的故障车辆,为了保证行驶安全应及时减速并绕行,确保与障碍物之间的横向距离至少为1米,并控制绕行速度在5米/秒以内。

按照以下四步进行,不可跳过任何一步。

一、DreamView使用步骤

(1)在工程文件夹 ”application-pnc” 打开终端

(2)aem start

aem enter

aem bootstrap start

(3)运行成功后,在浏览器地址栏输入 “http://localhost:8888/”

Untitled.png

(4)模式选择 Mkz Standard Debug,地图选择Apollo Virutal Map,打开Sim_Control模式,打开PNC Monitor,等待屏幕中间区域出现Mkz车辆模型和地图后即表示成功进入仿真模式。

(5)点击左侧Tab栏Module Controller,启动Planning,Prediction模块。

(6)打开场景 点击左侧Profile栏,选择创建的比赛场景,此时屏幕右上角多出选择场景的一栏,选择相应场景,车辆便会按场景预定路线行驶。

Untitled 1.png

注:有时Planning,Prediction模块会自己关闭或者选择场景后车辆不动,再次打开模块,重新选择场景即可。

二、配置参数同步

1
2
3
4
5
6
**输⼊全局配置参数同步指令,系统将⾃动将全局配置参数复制到profile的default⽬录中,然后就可以在profile⽬录上轻松修改配置参数**
**buildtool profile config init --package planning --profile=default
buildtool profile config init --package planning-task-speed-bounds-decider --profile=default

使用default这份参数配置
aem profile use default**

三、代码修改

1.修改全局配置参数:

在 profiles/default/modules/planning/planning_base/conf/ 中找到planning.conf文件(推荐用vscode打开)。

(1)添加横向缓冲距离参数

在代码中添加下面代码段(为什么直接添加,因为在别的地方的绕行文件中已经有关于这个参数的配置,但是如果在这里加入这个参数配置的话,工程文件会优先使用此处的参数值,所以直接在此处,且更加方便直观)

1
**--obstacle_lat_buffer=1.5**

Untitled 2.png

(2)修改全局速度和默认速度

将文件中的参数值(不用添加,文件中已有)修改为下面显示的值

1
2
**--planning_upper_speed_limit=11.18
--default_cruise_speed=11.18**

Untitled 3.png

注意:被“#”注释的配置参数是不起作用的,如需使用应取消注释(快捷键Ctrl+/)

Untitled 4.png

2.修改局部配置参数

在profiles/default/modules/planning/tasks/speed_bounds_decider/conf/下打开 default_conf.pb.txt 文件。

1
2
3
4
5
6
#注:以下为参数修改内容,但在实际实验中修改并没有效果,可能是某个地方中英文符号有问题,看看知道修改哪里就行
**# 将static_obs_nudge_speed_ratio0.6改为0.3
static_obs_nudge_speed_ratio0.3

#加上collision_safety_range配置⽂件
collision_safety_range5.0**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#注:这是需要做的,直接将下面代码替换到default_conf.pb.txt 文件里即可,如下图。
total_time: 7.0
boundary_buffer: 0.25
max_centric_acceleration_limit: 0.8
point_extension: 0.0
lowest_speed: 0.1

static_obs_nudge_speed_ratio: 0.3

dynamic_obs_nudge_speed_ratio: 0.8
enable_nudge_slowdown: true
lane_change_obstacle_nudge_l_buffer: 0.3
max_trajectory_len: 1000.0

collision_safety_range: 5.0

Untitled 5.png

注:修改好后记得保存修改 Ctrl+S 。

如果出现模块打不开或者障碍物不显示及场景不播放等问题,在打开dreamview的终端输入aem bootstrap restart重新启动即可。

Untitled 6.png

之后在DreamView中重新开启Planning模块,再次选择场景,即可看到绕行时被控制在速度在5m/s以下。

Untitled 7.png

四、提交评测

(1)压缩包制作

1
2
#进入工程文件夹,打开终端,输入下面代码,即可在工程文件夹里看到压缩包
tar -zcvf 自己取压缩包的名字.tar.gz modules/planning/ profiles/

Untitled 8.png

(2)代码提交

将压缩包拖入提交区域即可,注意不要拖到别的地方。

目前只可在赛前练习提交测评,之后可在提交记录里查看成绩和测评结果。

Untitled 9.png