modules/planning/tasks/rss_decider/README_cn.md
RSS DeciderRSS决策器。RSS,resposibility sensitive safety,用于判断planning给出的规划是否安全
设定部分所需的rss默认参数
创建主车object,并为主车object赋值
创建其他车辆/交通参与者的object,并为object赋值
打印部分rss相关信息
该函数通过如下方式实现rss策略:
初始化主车boundingbox的前后左右边界,初始化最近障碍物边界(都为0)
遍历所有障碍物列表中的障碍物,忽略虚拟障碍物和不在路上的障碍物,忽略后向障碍物,计算出沿s方向的最近前向障碍物。
如果最近前向障碍物距离大于等于rss_max_front_obstacle_distance,则判定为rss安全,并设置rssinfo中的前、左、右最大最小距离。
如果不满足上述安全情况,则开始进行如下逻辑
4.1 记录障碍物和主车部分相关数据,加入到rss_info中,方便后续输出log使用。 4.2 leading Object和followingObject信息加入worldModel中,用于后续判断。 4.3 分别调用 RssSituationExtraction,checkSituations,provideProperResponse, transformProperResponse,calculateSafeLongitudinalDistanceSameDirection对结果进行判断,并返回结果,输出日志。
modules/planning/tasks/rss_decider/
├── BUILD
├── conf
│ └── default_conf.pb.txt
├── cyberfile.xml
├── rss_decider.cc
├── rss_decider.h
├── plugins.xml
├── proto
│ ├── BUILD
│ └── rss_decider.proto
└── README_cn.md
apollo::planning::RssDecider
| 文件路径 | 类型/结构 | <div style="width: 300pt">说明</div> |
|---|---|---|
modules/planning/tasks/rss_decider/conf/default_conf.pb.txt | apollo::planning::RssDeciderConfig | RssDecider 的配置文件 |
| 文件路径 | <div style="width: 300pt">说明</div> |
|---|---|
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
task {
name: "RSS_DECIDER"
type: "RssDecider"
}
在modules/planning/tasks/rss_decider/conf/default_conf.pb.txt中,对RssDecider插件的参数进行配置。
在modules/planning/planning_component/conf/planning.conf中,对作用在RssDecider插件的gflag参数进行配置
mainboard -d modules/planning/planning_component/dag/planning.dag