modules/planning/tasks/speed_decider/README_cn.md
SpeedDecider任务用于根据规划的粗速度曲线产生对障碍物的纵向决策
if (boundary.IsEmpty() || boundary.max_s() < 0.0 ||
boundary.max_t() < 0.0 ||
boundary.min_t() >= speed_profile.back().t()) {
AppendIgnoreDecision(mutable_obstacle);
continue;
}
if (obstacle->HasLongitudinalDecision()) {
AppendIgnoreDecision(mutable_obstacle);
continue;
}
if (obstacle->IsVirtual()) {
const auto& obstacle_box = obstacle->PerceptionBoundingBox();
if (!reference_line_->IsOnLane(obstacle_box.center())) {
continue;
}
}
if (config_.is_stop_for_pedestrain() &&
CheckStopForPedestrian(*mutable_obstacle)) {
ObjectDecisionType stop_decision;
if (CreateStopDecision(*mutable_obstacle, &stop_decision,
-FLAGS_min_stop_distance_obstacle)) {
mutable_obstacle->AddLongitudinalDecision("dp_st_graph/pedestrian",
stop_decision);
}
continue;
}
modules/planning/tasks/speed_decider/
├── BUILD
├── conf
│ └── default_conf.pb.txt
├── cyberfile.xml
├── plugins.xml
├── proto
│ ├── BUILD
│ └── speed_decider.proto
├── README_cn.md
├── speed_decider.cc
└── speed_decider.h
apollo::planning::SpeedDecider
| 文件路径 | 类型/结构 | <div style="width: 300pt">说明</div> |
|---|---|---|
modules/planning/tasks/speed_decider/conf/default_conf.pb.txt | apollo::planning::SpeedDeciderConfig | SpeedDecider的默认配置文件 |
| 文件路径 | <div style="width: 300pt">说明</div> |
|---|---|
modules/planning/planning_component/conf/planning.conf | planning模块的flag配置文件 |
算法参数配置定义于modules/planning/tasks/speed_decider/proto/speed_decider.proto
| follow_min_obs_lateral_distance | 跟车的最小横向距离 |
|---|---|
| max_centric_acceleration_limit | 最大向心加速度 |
| follow_min_time_sec | 跟车时距 |
| keep_clear_last_point_speed | KEEP_CLEAR区域最低速度 |
modules/planning/planning_base/common/planning_gflags.cc中定义了用到的命令行参数,planning.conf中定义命令行参数值。
| flag | 描述 |
|---|---|
| FLAGS_min_stop_distance_obstacle | 障碍物的最短刹停距离 |
在 modules/planning/scenarios/xxxx/conf/pipeline.pb.txt 在期望增加SpeedDecider插件的scenarios xxxx中增加相应的配置,配置参数中name 表示task的名称,这个由用户自定义,表达清楚是哪个task即可,type 是task的类名称,即SpeedDecider。
```
task {
name: "SPEED_DECIDER"
type: "SpeedDecider"
}
```