Apollo 10.0
自动驾驶开放平台
|
RSS Decider
RSS决策器。RSS,resposibility sensitive safety,用于判断planning给出的规划是否安全
设定部分所需的rss默认参数
创建主车object,并为主车object赋值
创建其他车辆/交通参与者的object,并为object赋值
打印部分rss相关信息
该函数通过如下方式实现rss策略: 1) 初始化主车boundingbox的前后左右边界,初始化最近障碍物边界(都为0)
2) 遍历所有障碍物列表中的障碍物,忽略虚拟障碍物和不在路上的障碍物,忽略后向障碍物,计算出沿s方向的最近前向障碍物。
3) 如果最近前向障碍物距离大于等于rss_max_front_obstacle_distance,则判定为rss安全,并设置rssinfo中的前、左、右最大最小距离。
4) 如果不满足上述安全情况,则开始进行如下逻辑
4.1 记录障碍物和主车部分相关数据,加入到rss_info中,方便后续输出log使用。 4.2 leading Object和followingObject信息加入worldModel中,用于后续判断。 4.3 分别调用 RssSituationExtraction,checkSituations,provideProperResponse, transformProperResponse,calculateSafeLongitudinalDistanceSameDirection对结果进行判断,并返回结果,输出日志。
文件路径 | 类型/结构 | 说明 |
---|---|---|
modules/planning/tasks/rss_decider/conf/default_conf.pb.txt | apollo::planning::RssDeciderConfig | RssDecider 的配置文件 |
文件路径 | 说明 |
---|---|
modules/planning/planning_component/conf/planning.conf | planning模块的flag配置文件 |
在 modules/planning/scenarios/xxxx/conf/pipeline.pb.txt
在期望增加RssDecider
插件的scenarios xxxx中增加相应的配置,配置参数中 name
表示task的名称,这个由用户自定义,表达清楚是哪个task即可, type
是task的类名称,即 RssDecider
在modules/planning/tasks/rss_decider/conf/default_conf.pb.txt
中,对RssDecider
插件的参数进行配置。 在modules/planning/planning_component/conf/planning.conf
中,对作用在RssDecider
插件的gflag参数进行配置
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。