20#include "modules/perception/lidar_tracking/tracker/multi_lidar_fusion/proto/multi_lidar_fusion_config.pb.h"
27 std::string config_file =
"mlf_tracker.conf";
35 for (
int i = 0; i < config.filter_name_size(); ++i) {
37 MlfBaseFilter* filter = MlfBaseFilterRegisterer::GetInstanceByName(name);
43 AINFO <<
"MlfTracker add filter: " << filter->
Name();
52 new_track_data->is_current_state_predicted_ =
false;
53 new_track_data->is_front_critical_track_ =
54 new_object->object_ptr->is_front_critical;
63 track_data->UpdateTrackableState(new_object);
69 track_data->PushTrackedObjectToTrack(new_object);
70 track_data->is_current_state_predicted_ =
false;
71 track_data->is_front_critical_track_ =
72 new_object->object_ptr->is_front_critical;
80 track_data->is_current_state_predicted_ =
true;
virtual std::string Name() const =0
Get class name
virtual bool Init(const MlfFilterInitOptions &options=MlfFilterInitOptions())=0
Init mlf fitler
int GetNextTrackId()
Get next track id
std::vector< MlfBaseFilter * > filters_
bool Init(const MlfTrackerInitOptions options=MlfTrackerInitOptions())
Init mlf tracker
void UpdateTrackDataWithObject(MlfTrackDataPtr track_data, TrackedObjectPtr new_object)
Update track data with object
void UpdateTrackDataWithoutObject(double timestamp, MlfTrackDataPtr track_data)
Update track data without object
MlfFilterOptions filter_options_
void InitializeTrack(MlfTrackDataPtr new_track_data, TrackedObjectPtr new_object)
Initialize new track data and push new object to cache
bool GetProtoFromFile(const std::string &file_name, google::protobuf::Message *message)
Parses the content of the file specified by the file_name as a representation of protobufs,...
std::shared_ptr< MlfTrackData > MlfTrackDataPtr
std::shared_ptr< TrackedObject > TrackedObjectPtr
std::string GetConfigFile(const std::string &config_path, const std::string &config_file)
repeated string filter_name