Apollo 10.0
自动驾驶开放平台
|
PathReferenceDecider
该task可以对推理生成的路径的合理性进行决策,用于后续求解。
依据reference_info进行如下决策
1) reference_line_info>1,即正在进行换道,则跳过决策过程,同时将learning_model_output使用率继续保持为当前值,并设置errmsg正在换道,返回statu ok
2) 超车过程中,跳过决策过程。将learning_model_output使用率继续保持为当前值,并设置errmsg正在超车,返回statu ok
3) 判断是否有regular boundary,如果没有则返回错误码status errcode,这个过程使用了GetRegularPathBound方法
4) 推理模型没有输出时,使用基于rule的普通方法进行path决策,并返回status ok
5) 使用AdjustTrajectoryWhichStartsFromCurrentPos方法在path中确定plan的起始点。 当推理模型输出的size过短(<=1)时,也不使用模型推理输出的path,并返回status ok
6) 将推理出的trajectory中的点加入到pathpoints中
7) 调用IsValidPathReference方法判断是否为有效path reference,如果无效,则输出err message ,并返回ok
8) 调用EvaluatePathReference评估推理出的path reference
9) 更新推理模型有效率,记录部分log
将trajectory中的路径点加入path的路径点中
寻找label为regular的pathbound,遍历所有传入的boundry,判断是否有regular bound,如果寻找到regular bound,则返回bound开始到当前bound的距离。
判断path reference是否有效,判断方式是调用IsPointWithinPathBounds方法,判断pathreference中的点是否超出path边界。
未使用方法
未使用方法
用于判断一个点是不是在path边界内。
对推理生成的pathreference进行评估,调用discrete_path_reference.Evaluate方法
记录部分与pathname pathpoints有关的信息
apollo::planning::PathReferenceDecider
文件路径 | 类型/结构 | 说明 |
---|---|---|
modules/planning/tasks/path_reference_decider/conf/default_conf.pb.txt | apollo::planning::PathReferenceDeciderConfig | PathReferenceDecider 的配置文件 |
modules/planning/planning_component/conf/planning_config.pb.txt | apollo::planning::PlanningConfig | planning组件的配置文件 |
在 modules/planning/scenarios/xxxx/conf/pipeline.pb.txt
在期望增加PathReferenceDecider
插件的scenarios xxxx中增加相应的配置,配置参数中 name
表示task的名称,这个由用户自定义,表达清楚是哪个task即可, type
是task的类名称,即 PathReferenceDecider。
shell mainboard -d modules/planning/planning_component/dag/planning.dag ```
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。