提交 ecd0ff56 编写于 作者: J jmtao 提交者: Qi Luo

planning: update planning_config proto

上级 b28a9479
scenario_type : LANE_FOLLOW
task : DP_POLY_PATH_OPTIMIZER
task : PATH_DECIDER
task : DP_ST_SPEED_OPTIMIZER
task : SPEED_DECIDER
task : QP_SPLINE_ST_SPEED_OPTIMIZER
scenario_task_config : {
task : DP_POLY_PATH_OPTIMIZER
task_type : DP_POLY_PATH_OPTIMIZER
dp_poly_path_config {
waypoint_sampler_config {
sample_points_num_each_level: 7
......@@ -28,10 +33,10 @@ scenario_task_config : {
}
}
scenario_task_config : {
task : PATH_DECIDER
task_type : PATH_DECIDER
}
scenario_task_config : {
task : DP_ST_SPEED_OPTIMIZER
task_type : DP_ST_SPEED_OPTIMIZER
dp_st_speed_config {
total_path_length: 149
total_time: 7.0
......@@ -78,7 +83,7 @@ scenario_task_config : {
}
}
scenario_task_config : {
task : SPEED_DECIDER
task_type : SPEED_DECIDER
dp_st_speed_config {
total_path_length: 149
total_time: 7.0
......@@ -119,7 +124,7 @@ scenario_task_config : {
}
}
scenario_task_config : {
task : QP_SPLINE_ST_SPEED_OPTIMIZER
task_type : QP_SPLINE_ST_SPEED_OPTIMIZER
qp_st_speed_config {
total_path_length: 250.0
total_time: 7.0
......
......@@ -40,10 +40,8 @@ message ScenarioConfig {
INTERSECTION_TRAFFIC_LIGHT_RIGHT_TURN = 7;
INTERSECTION_TRAFFIC_LIGHT_GO_THROUGH = 8;
}
optional ScenarioType scenario_type = 1;
message ScenarioTaskConfig {
optional TaskType task = 1;
optional TaskType task_type = 1;
oneof task_config {
DpPolyPathConfig dp_poly_path_config = 2;
DpStSpeedConfig dp_st_speed_config = 3;
......@@ -53,7 +51,10 @@ message ScenarioConfig {
PathDeciderConfig path_decider_config = 7;
}
}
repeated ScenarioTaskConfig scenario_task_config = 2;
optional ScenarioType scenario_type = 1;
repeated TaskType task = 2;
repeated ScenarioTaskConfig scenario_task_config = 3;
}
message PlannerOnRoadConfig {
......
......@@ -87,17 +87,26 @@ bool LaneFollowScenario::Init() {
CHECK(apollo::common::util::GetProtoFromFile(
FLAGS_lane_follow_scenario_config_file, &config_));
for (const auto task_cfg : config_.scenario_task_config()) {
tasks_.emplace_back(task_factory_.CreateObject(task_cfg.task()));
AINFO << "Created task:" << tasks_.back()->Name();
// get all active tasks
std::vector<TaskType> tasks;
for (int i = 0; i < config_.task_size(); ++i) {
tasks.push_back(config_.task(i));
}
for (size_t i = 0; i < tasks_.size(); ++i) {
if (!tasks_[i]->Init(config_.scenario_task_config(i))) {
AERROR << "Init task[" << tasks_[i]->Name() << "] failed.";
return false;
// init task with conf
for (int i = 0; i < config_.scenario_task_config_size(); ++i) {
auto task_cfg = config_.scenario_task_config(i);
TaskType task_type = task_cfg.task_type();
if (std::find(tasks.begin(), tasks.end(), task_type) != tasks.end()) {
tasks_.emplace_back(task_factory_.CreateObject(task_type));
AINFO << "Created task:" << TaskType_Name(task_type);
if (!tasks_.back()->Init(task_cfg)) {
AERROR << "Init task[" << TaskType_Name(task_type) << "] failed.";
return false;
}
}
}
is_init_ = true;
return true;
}
......
......@@ -43,7 +43,7 @@ class DpStGraphTest : public ::testing::Test {
FLAGS_lane_follow_scenario_config_file, &config));
for (const auto& cfg : config.scenario_task_config()) {
if (cfg.task() == DP_ST_SPEED_OPTIMIZER) {
if (cfg.task_type() == DP_ST_SPEED_OPTIMIZER) {
dp_config_ = cfg.dp_st_speed_config();
break;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册