diff --git a/modules/planning/common/path/path_data.cc b/modules/planning/common/path/path_data.cc index d850e512c252d97a380ab6d8cf995fcaeff1fbd7..2f1f11b0787b12056f1883dbcd5982a7594a7d1f 100644 --- a/modules/planning/common/path/path_data.cc +++ b/modules/planning/common/path/path_data.cc @@ -90,6 +90,11 @@ bool PathData::get_path_point_with_ref_s( return true; } +void PathData::Clear() { + discretized_path_ = DiscretizedPath(); + frenet_path_ = FrenetFramePath(); +} + std::string PathData::DebugString() const { std::ostringstream sout; sout << "[" << std::endl; diff --git a/modules/planning/common/path/path_data.h b/modules/planning/common/path/path_data.h index 51db7503b30fd5440cf424fb9fb9731119773e5f..a99bd315b145fb916e3cb99dd9670ec36f1ce3e6 100644 --- a/modules/planning/common/path/path_data.h +++ b/modules/planning/common/path/path_data.h @@ -49,9 +49,10 @@ class PathData { bool get_path_point_with_ref_s(const double ref_s, common::PathPoint *const path_point) const; + void Clear(); + std::string DebugString() const; - // TODO(fanhaoyang) add check if the path data is valid private: DiscretizedPath discretized_path_; diff --git a/modules/planning/common/speed/speed_data.cc b/modules/planning/common/speed/speed_data.cc index 9e8bd7fab99481bca0ebf90eac1b59c975ee34a6..8f53eb95f3cc29d73d8ddac71248cfb6dea02aed 100644 --- a/modules/planning/common/speed/speed_data.cc +++ b/modules/planning/common/speed/speed_data.cc @@ -88,6 +88,10 @@ double SpeedData::total_time() const { return speed_vector_.back().t() - speed_vector_.front().t(); } +void SpeedData::Clear() { + speed_vector_.clear(); +} + std::string SpeedData::DebugString() const { std::ostringstream sout; sout << "[" << std::endl; diff --git a/modules/planning/common/speed/speed_data.h b/modules/planning/common/speed/speed_data.h index 4a704ecff934739cf106932562012c10f30d7b97..c286644672a918d9e409d4a14b935ce5e38c7ce6 100644 --- a/modules/planning/common/speed/speed_data.h +++ b/modules/planning/common/speed/speed_data.h @@ -48,6 +48,7 @@ class SpeedData { double total_time() const; + void Clear(); private: SpeedPoint interpolate(const SpeedPoint& left, const SpeedPoint& right, const double weight) const; diff --git a/modules/planning/common/trajectory/publishable_trajectory.cc b/modules/planning/common/trajectory/publishable_trajectory.cc index 952b0c482a009a01d350d59a69148e22a33beb15..eb980edde3d17f8507c8e8fd08473bf4349e8818 100644 --- a/modules/planning/common/trajectory/publishable_trajectory.cc +++ b/modules/planning/common/trajectory/publishable_trajectory.cc @@ -50,7 +50,7 @@ void PublishableTrajectory::set_header_time(const double header_time) { ADCTrajectory PublishableTrajectory::to_trajectory_protobuf() const { ADCTrajectory trajectory_pb; trajectory_pb.mutable_header()->set_timestamp_sec(_header_time); - trajectory_pb.mutable_trajectory_point()->MergeFrom( + trajectory_pb.mutable_trajectory_point()->CopyFrom( {_trajectory_points.begin(), _trajectory_points.end()}); return trajectory_pb; } @@ -58,7 +58,7 @@ ADCTrajectory PublishableTrajectory::to_trajectory_protobuf() const { void PublishableTrajectory::populate_trajectory_protobuf( ADCTrajectory* trajectory_pb) const { trajectory_pb->mutable_header()->set_timestamp_sec(_header_time); - trajectory_pb->mutable_trajectory_point()->MergeFrom( + trajectory_pb->mutable_trajectory_point()->CopyFrom( {_trajectory_points.begin(), _trajectory_points.end()}); } diff --git a/modules/planning/conf/planning_config.pb.txt b/modules/planning/conf/planning_config.pb.txt index 988b011aad2fb964a26b786acb471df6e822322a..eb813417dda4258973e5c9fd95c2018eacf86072 100644 --- a/modules/planning/conf/planning_config.pb.txt +++ b/modules/planning/conf/planning_config.pb.txt @@ -1,6 +1,6 @@ planner_type : EM em_planner_config { optimizer : DP_POLY_PATH_OPTIMIZER -#optimizer : DP_ST_SPEED_OPTIMIZER -#optimizer : QP_SPLINE_PATH_OPTIMIZER +optimizer : DP_ST_SPEED_OPTIMIZER +optimizer : QP_SPLINE_PATH_OPTIMIZER optimizer : QP_SPLINE_ST_SPEED_OPTIMIZER } diff --git a/modules/planning/optimizer/qp_spline_st_speed/qp_spline_st_graph.cc b/modules/planning/optimizer/qp_spline_st_speed/qp_spline_st_graph.cc index 76b52ca2e6ebe8b7f573b48c209d50e3400f8735..8d8f22e15e6dbb25bdedf1afb16dca045b54a8c2 100644 --- a/modules/planning/optimizer/qp_spline_st_speed/qp_spline_st_graph.cc +++ b/modules/planning/optimizer/qp_spline_st_speed/qp_spline_st_graph.cc @@ -80,6 +80,7 @@ Status QpSplineStGraph::search(const StGraphData& st_graph_data, } // extract output + speed_data->Clear(); const Spline1d& spline = _spline_generator->spline(); double time_resolution = _qp_spline_st_speed_config.output_time_resolution();