提交 89fc4750 编写于 作者: J jmtao 提交者: Yifei Jiang

planning: add learning_data_frame to Frame for online training

上级 d66e76ee
......@@ -242,6 +242,7 @@ cc_library(
],
deps = [
":indexed_queue",
":feature_output",
":local_view",
":obstacle",
":open_space_info",
......@@ -255,6 +256,7 @@ cc_library(
"//modules/planning/common/trajectory:discretized_trajectory",
"//modules/planning/common/trajectory:publishable_trajectory",
"//modules/planning/common/util:util_lib",
"//modules/planning/proto:learning_data_proto",
"//modules/planning/proto:planning_config_proto",
"//modules/planning/proto:planning_proto",
"//modules/planning/reference_line:reference_line_provider",
......
......@@ -61,6 +61,11 @@ void FeatureOutput::InsertLearningDataFrame(
}
}
LearningDataFrame* FeatureOutput::GetLatestLearningDataFrame() {
const int size = learning_data_.learning_data_size();
return size > 0 ? learning_data_.mutable_learning_data(size - 1) : nullptr;
}
void FeatureOutput::InsertPlanningResult() {
}
......
......@@ -56,6 +56,8 @@ class FeatureOutput {
static void InsertPlanningResult();
static LearningDataFrame* GetLatestLearningDataFrame();
/**
* @brief Write LearningData to a file
*/
......
......@@ -34,6 +34,7 @@
#include "modules/map/pnc_map/path.h"
#include "modules/map/pnc_map/pnc_map.h"
#include "modules/planning/common/ego_info.h"
#include "modules/planning/common/feature_output.h"
#include "modules/planning/common/planning_context.h"
#include "modules/planning/common/planning_gflags.h"
#include "modules/planning/common/util/util.h"
......@@ -375,6 +376,8 @@ Status Frame::InitFrameData() {
ReadPadMsgDrivingAction();
ReadLearningDataFrame();
return Status::OK();
}
......@@ -484,6 +487,17 @@ void Frame::ReadTrafficLights() {
}
}
void Frame::ReadLearningDataFrame() {
learning_data_frame_.Clear();
if (FLAGS_planning_offline_mode != 1) {
return;
}
auto learning_data_frame = FeatureOutput::GetLatestLearningDataFrame();
if (learning_data_frame != nullptr) {
learning_data_frame_.CopyFrom(*learning_data_frame);
}
}
perception::TrafficLight Frame::GetSignal(
const std::string &traffic_light_id) const {
const auto *result =
......
......@@ -31,6 +31,7 @@
#include "modules/common/proto/geometry.pb.h"
#include "modules/common/vehicle_state/proto/vehicle_state.pb.h"
#include "modules/localization/proto/pose.pb.h"
#include "modules/planning/proto/learning_data.pb.h"
#include "modules/planning/proto/pad_msg.pb.h"
#include "modules/planning/proto/planning.pb.h"
#include "modules/planning/proto/planning_config.pb.h"
......@@ -172,6 +173,9 @@ class Frame {
return &reference_line_info_;
}
const LearningDataFrame &learning_data_frame() const {
return learning_data_frame_; }
private:
common::Status InitFrameData();
......@@ -199,7 +203,10 @@ class Frame {
void ReadPadMsgDrivingAction();
void ResetPadMsgDrivingAction();
void ReadLearningDataFrame();
private:
static DrivingAction pad_msg_driving_action_;
uint32_t sequence_num_ = 0;
LocalView local_view_;
const hdmap::HDMap *hdmap_ = nullptr;
......@@ -234,7 +241,7 @@ class Frame {
std::tuple<bool, double, double, double> pull_over_info_;
static DrivingAction pad_msg_driving_action_;
LearningDataFrame learning_data_frame_;
};
class FrameHistory : public IndexedQueue<uint32_t, Frame> {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册