From 53d4a3a1f0e3464a605fb05150de5ce49c7c8ece Mon Sep 17 00:00:00 2001 From: Dong Li Date: Wed, 1 Nov 2017 14:30:21 -0700 Subject: [PATCH] planning: added change lane type in decision result --- modules/planning/common/reference_line_info.cc | 8 ++++++++ modules/planning/proto/decision.proto | 8 ++++++-- .../planning/testdata/garage_test/result_follow_0.pb.txt | 1 + .../testdata/garage_test/result_out_of_map_0.pb.txt | 1 + .../testdata/garage_test/result_stop_dest_0.pb.txt | 1 + .../testdata/garage_test/result_stop_obstacle_0.pb.txt | 1 + .../testdata/garage_test/result_stop_over_line_0.pb.txt | 1 + .../sunnyvale_loop_test/result_avoid_change_left_0.pb.txt | 1 + .../sunnyvale_loop_test/result_change_lane_0.pb.txt | 1 + .../testdata/sunnyvale_loop_test/result_cruise_0.pb.txt | 1 + .../sunnyvale_loop_test/result_follow_01_0.pb.txt | 1 + .../sunnyvale_loop_test/result_follow_02_0.pb.txt | 1 + .../sunnyvale_loop_test/result_follow_03_0.pb.txt | 1 + .../testdata/sunnyvale_loop_test/result_nudge_0.pb.txt | 1 + .../sunnyvale_loop_test/result_rightturn_01_0.pb.txt | 1 + .../sunnyvale_loop_test/result_slowdown_01_0.pb.txt | 1 + .../testdata/sunnyvale_loop_test/result_stop_0.pb.txt | 1 + 17 files changed, 29 insertions(+), 2 deletions(-) diff --git a/modules/planning/common/reference_line_info.cc b/modules/planning/common/reference_line_info.cc index 6842db3752..114e56b195 100644 --- a/modules/planning/common/reference_line_info.cc +++ b/modules/planning/common/reference_line_info.cc @@ -247,6 +247,14 @@ void ReferenceLineInfo::ExportDecision(DecisionResult* decision_result) const { Decider decider; decider.MakeDecision(*this, decision_result); ExportTurnSignal(decision_result->mutable_vehicle_signal()); + auto* main_decision = decision_result->mutable_main_decision(); + if (main_decision->has_stop()) { + main_decision->mutable_stop()->set_change_lane_type( + Lanes().PreviousAction()); + } else if (main_decision->has_cruise()) { + main_decision->mutable_cruise()->set_change_lane_type( + Lanes().PreviousAction()); + } } } // namespace planning diff --git a/modules/planning/proto/decision.proto b/modules/planning/proto/decision.proto index 3bc0f7d6f7..005ea5e62c 100644 --- a/modules/planning/proto/decision.proto +++ b/modules/planning/proto/decision.proto @@ -4,6 +4,7 @@ package apollo.planning; import "modules/common/proto/geometry.proto"; import "modules/common/proto/vehicle_signal.proto"; +import "modules/routing/proto/routing.proto"; message TargetLane { // lane id @@ -109,6 +110,7 @@ message MainStop { optional apollo.common.PointENU stop_point = 3; // When stopped, the heading of the vehicle should be stop_heading. optional double stop_heading = 4; + optional apollo.routing.ChangeLaneType change_lane_type = 5; } message EmergencyStopHardBrake { @@ -136,8 +138,10 @@ message MainEmergencyStop { message MainCruise { // cruise current lane + optional apollo.routing.ChangeLaneType change_lane_type = 1; } +// This message is deprecated message MainChangeLane { enum Type { LEFT = 1; @@ -171,12 +175,12 @@ message MainDecision { MainCruise cruise = 1; MainStop stop = 2; MainEmergencyStop estop = 3; - MainChangeLane change_lane = 4; + MainChangeLane change_lane = 4 [deprecated=true]; MainMissionComplete mission_complete = 6; MainNotReady not_ready = 7; MainParking parking = 8; } - repeated TargetLane target_lane = 5; + repeated TargetLane target_lane = 5 [deprecated = true]; } message DecisionResult { diff --git a/modules/planning/testdata/garage_test/result_follow_0.pb.txt b/modules/planning/testdata/garage_test/result_follow_0.pb.txt index f076c3dd58..782b4f0d1a 100644 --- a/modules/planning/testdata/garage_test/result_follow_0.pb.txt +++ b/modules/planning/testdata/garage_test/result_follow_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4140779.4049973264 } stop_heading: 1.3103597856554856 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/garage_test/result_out_of_map_0.pb.txt b/modules/planning/testdata/garage_test/result_out_of_map_0.pb.txt index 216a3f516b..1f27e6e7ac 100644 --- a/modules/planning/testdata/garage_test/result_out_of_map_0.pb.txt +++ b/modules/planning/testdata/garage_test/result_out_of_map_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4140779.4040114661 } stop_heading: 1.3092468094681227 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/garage_test/result_stop_dest_0.pb.txt b/modules/planning/testdata/garage_test/result_stop_dest_0.pb.txt index 216a3f516b..1f27e6e7ac 100644 --- a/modules/planning/testdata/garage_test/result_stop_dest_0.pb.txt +++ b/modules/planning/testdata/garage_test/result_stop_dest_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4140779.4040114661 } stop_heading: 1.3092468094681227 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt b/modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt index 6238e9b58d..51bb826a58 100644 --- a/modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt +++ b/modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4140699.2340279007 } stop_heading: 1.2687368766187008 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/garage_test/result_stop_over_line_0.pb.txt b/modules/planning/testdata/garage_test/result_stop_over_line_0.pb.txt index 8090c32d3c..04c15d0802 100644 --- a/modules/planning/testdata/garage_test/result_stop_over_line_0.pb.txt +++ b/modules/planning/testdata/garage_test/result_stop_over_line_0.pb.txt @@ -4199,6 +4199,7 @@ decision { y: 4140779.4032230014 } stop_heading: 1.3093800379827796 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_avoid_change_left_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_avoid_change_left_0.pb.txt index 96c9dbb086..0b1b5f0013 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_avoid_change_left_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_avoid_change_left_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: LEFT } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_change_lane_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_change_lane_0.pb.txt index a5fbdcfe4c..a598e7717b 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_change_lane_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_change_lane_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_cruise_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_cruise_0.pb.txt index 180c205219..ae3c25c2bf 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_cruise_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_cruise_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_follow_01_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_follow_01_0.pb.txt index ac4b1d52b5..3cfd359286 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_follow_01_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_follow_01_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_follow_02_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_follow_02_0.pb.txt index b6f27a549f..181cefa6d7 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_follow_02_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_follow_02_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4141386.0428220723 } stop_heading: -1.8123278493438064 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_follow_03_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_follow_03_0.pb.txt index 486bee0421..6936a0d062 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_follow_03_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_follow_03_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_nudge_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_nudge_0.pb.txt index 39392e1605..04524968cb 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_nudge_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_nudge_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_rightturn_01_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_rightturn_01_0.pb.txt index 5dea304f61..d52e936223 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_rightturn_01_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_rightturn_01_0.pb.txt @@ -11220,6 +11220,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_slowdown_01_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_slowdown_01_0.pb.txt index a3d06b0ab2..6ee427e131 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_slowdown_01_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_slowdown_01_0.pb.txt @@ -11227,6 +11227,7 @@ decision { y: 4140937.9266792168 } stop_heading: -1.9046332856206114 + change_lane_type: FORWARD } } object_decision { diff --git a/modules/planning/testdata/sunnyvale_loop_test/result_stop_0.pb.txt b/modules/planning/testdata/sunnyvale_loop_test/result_stop_0.pb.txt index cb925e3403..2e40c4516e 100644 --- a/modules/planning/testdata/sunnyvale_loop_test/result_stop_0.pb.txt +++ b/modules/planning/testdata/sunnyvale_loop_test/result_stop_0.pb.txt @@ -4192,6 +4192,7 @@ trajectory_point { decision { main_decision { cruise { + change_lane_type: FORWARD } } object_decision { -- GitLab