提交 f85209a7 编写于 作者: J Jiangtao Hu 提交者: Dong Li

add st graph debug into debug pb.

上级 aaa14b0c
...@@ -59,6 +59,32 @@ bool QpSplineStSpeedOptimizer::Init() { ...@@ -59,6 +59,32 @@ bool QpSplineStSpeedOptimizer::Init() {
return true; return true;
} }
void QpSplineStSpeedOptimizer::RecordSTGraphDebug(
const std::vector<StGraphBoundary>& boundaries,
const SpeedLimit& speed_limits) {
if (!FLAGS_enable_record_debug) {
ADEBUG << "Skip record debug info";
return;
}
auto debug = frame_->MutableADCTrajectory()->mutable_debug();
auto st_graph_debug = debug->mutable_planning_data()->add_st_graph();
st_graph_debug->set_name(name());
for (const auto& boundary : boundaries) {
auto boundary_debug = st_graph_debug->add_boundary();
boundary_debug->set_name(boundary.id());
for (const auto& point : boundary.points()) {
auto point_debug = boundary_debug->add_point();
point_debug->set_t(point.x());
point_debug->set_s(point.y());
}
}
st_graph_debug->mutable_speed_limit()->CopyFrom(
{speed_limits.speed_points().begin(),
speed_limits.speed_points().end()});
}
Status QpSplineStSpeedOptimizer::Process(const PathData& path_data, Status QpSplineStSpeedOptimizer::Process(const PathData& path_data,
const TrajectoryPoint& init_point, const TrajectoryPoint& init_point,
const ReferenceLine& reference_line, const ReferenceLine& reference_line,
...@@ -88,6 +114,7 @@ Status QpSplineStSpeedOptimizer::Process(const PathData& path_data, ...@@ -88,6 +114,7 @@ Status QpSplineStSpeedOptimizer::Process(const PathData& path_data,
return Status(ErrorCode::PLANNING_ERROR, return Status(ErrorCode::PLANNING_ERROR,
"Mapping obstacle for dp st speed optimizer failed!"); "Mapping obstacle for dp st speed optimizer failed!");
} }
RecordSTGraphDebug(boundaries, speed_limits);
// step 2 perform graph search // step 2 perform graph search
const auto& veh_param = const auto& veh_param =
......
...@@ -45,6 +45,10 @@ class QpSplineStSpeedOptimizer : public SpeedOptimizer { ...@@ -45,6 +45,10 @@ class QpSplineStSpeedOptimizer : public SpeedOptimizer {
const ReferenceLine& reference_line, const ReferenceLine& reference_line,
DecisionData* const decision_data, DecisionData* const decision_data,
SpeedData* const speed_data) override; SpeedData* const speed_data) override;
void RecordSTGraphDebug(const std::vector<StGraphBoundary>& boundaries,
const SpeedLimit& speed_limits);
QpSplineStSpeedConfig qp_spline_st_speed_config_; QpSplineStSpeedConfig qp_spline_st_speed_config_;
StBoundaryConfig st_boundary_config_; StBoundaryConfig st_boundary_config_;
}; };
......
...@@ -88,6 +88,10 @@ void EMPlanner::RecordDebugInfo(const std::string& name, ...@@ -88,6 +88,10 @@ void EMPlanner::RecordDebugInfo(const std::string& name,
const double time_diff_ms, const double time_diff_ms,
planning_internal::Debug* ptr_debug, planning_internal::Debug* ptr_debug,
planning::LatencyStats* ptr_latency_stats) { planning::LatencyStats* ptr_latency_stats) {
if (!FLAGS_enable_record_debug) {
ADEBUG << "Skip record debug info";
return;
}
OptimizerType type; OptimizerType type;
DCHECK(OptimizerType_Parse(name, &type)); DCHECK(OptimizerType_Parse(name, &type));
if (type == DP_POLY_PATH_OPTIMIZER || type == QP_SPLINE_PATH_OPTIMIZER) { if (type == DP_POLY_PATH_OPTIMIZER || type == QP_SPLINE_PATH_OPTIMIZER) {
......
...@@ -92,14 +92,10 @@ message StGraphBoundaryDebug { ...@@ -92,14 +92,10 @@ message StGraphBoundaryDebug {
repeated apollo.common.SpeedPoint point = 2; repeated apollo.common.SpeedPoint point = 2;
} }
message SpeedLimitDebug {
repeated apollo.common.SpeedPoint point = 1;
}
message STGraphDebug { message STGraphDebug {
optional string name = 1; optional string name = 1;
repeated StGraphBoundaryDebug boundary = 2; repeated StGraphBoundaryDebug boundary = 2;
optional SpeedLimitDebug speed_limit = 3; repeated apollo.common.SpeedPoint speed_limit = 3;
} }
// next id: 15 // next id: 15
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册