23 #include "gtest/gtest_prod.h" 28 namespace perception {
36 virtual ~Track() =
default;
43 s_max_lidar_invisible_period_ = period;
46 s_max_radar_invisible_period_ = period;
49 s_max_camera_invisible_period_ = period;
101 bool IsVisible(
const std::string& sensor_id)
const;
111 double measurement_timestamp);
121 const SensorId2ObjectMap& objects)
const;
125 const std::string& sensor_id,
126 double measurement_timestamp,
127 double max_invisible_period);
129 const std::string& sensor_id,
130 double measurement_timestamp,
131 double max_invisible_period);
134 double measurement_timestamp);
152 FRIEND_TEST(TrackTest, test);
154 static size_t s_track_idx_;
155 static double s_max_lidar_invisible_period_;
156 static double s_max_radar_invisible_period_;
157 static double s_max_camera_invisible_period_;
std::shared_ptr< const Track > TrackConstPtr
Definition: track.h:161
const SensorId2ObjectMap & GetCameraObjects() const
Definition: track.h:76
bool is_alive_
Definition: track.h:147
const SensorId2ObjectMap & GetRadarObjects() const
Definition: track.h:70
bool Initialize(SensorObjectPtr obj, bool is_background=false)
static void SetMaxRadarInvisiblePeriod(double period)
Definition: track.h:45
int GetTrackId() const
Definition: track.h:80
SensorId2ObjectMap & GetLidarObjects()
Definition: track.h:62
double GetExistenceProb() const
Definition: track.h:90
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
bool is_background_
Definition: track.h:146
bool IsRadarVisible() const
void SetExistenceProb(double prob)
Definition: track.h:92
double GetTrackingPeriod() const
Definition: track.h:84
bool IsVisible(const std::string &sensor_id) const
static size_t GenerateNewTrackId()
Track & operator=(const Track &)=delete
SensorObjectConstPtr GetSensorObject(const std::string &sensor_id) const
SensorId2ObjectMap & GetRadarObjects()
Definition: track.h:68
void UpdateWithoutSensorObjectForBackground(const std::string &sensor_id, double measurement_timestamp)
void UpdateWithSensorObjectForBackground(const SensorObjectPtr &obj)
std::shared_ptr< SensorObject > SensorObjectPtr
Definition: sensor_object.h:68
SensorObjectConstPtr GetLatestCameraObject() const
void UpdateSensorObjectWithMeasurement(SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
SensorId2ObjectMap & GetCameraObjects()
Definition: track.h:74
static void SetMaxLidarInvisiblePeriod(double period)
Definition: track.h:42
void AddTrackedTimes()
Definition: track.h:88
SensorObjectConstPtr GetLatestLidarObject() const
double existence_prob_
Definition: track.h:143
double GetToicProb() const
Definition: track.h:94
SensorId2ObjectMap radar_objects_
Definition: track.h:138
bool IsAlive() const
Definition: track.h:99
std::shared_ptr< Track > TrackPtr
Definition: track.h:160
void SetToicProb(double prob)
Definition: track.h:96
std::shared_ptr< FusedObject > FusedObjectPtr
Definition: sensor_object.h:84
double toic_prob_
Definition: track.h:144
void UpdateSensorObjectWithoutMeasurement(SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
void UpdateWithoutSensorObject(const std::string &sensor_id, double measurement_timestamp)
FusedObjectPtr GetFusedObject()
Definition: track.h:61
SensorObjectConstPtr GetLatestSensorObject(const SensorId2ObjectMap &objects) const
double tracking_period_
Definition: track.h:142
SensorId2ObjectMap camera_objects_
Definition: track.h:139
FusedObjectPtr fused_object_
Definition: track.h:141
void UpdateSensorObject(SensorId2ObjectMap *objects, const SensorObjectPtr &obj)
bool IsLidarVisible() const
bool IsBackground() const
Definition: track.h:97
size_t tracked_times_
Definition: track.h:149
SensorId2ObjectMap lidar_objects_
Definition: track.h:137
std::string DebugString() const
size_t GetTrackedTimes() const
Definition: track.h:86
void UpdateSupplementState(const SensorObjectPtr &src_object=nullptr)
const SensorId2ObjectMap & GetLidarObjects() const
Definition: track.h:64
bool IsCameraVisible() const
void UpdateWithSensorObject(const SensorObjectPtr &obj)
static void SetMaxCameraInvisiblePeriod(double period)
Definition: track.h:48
SensorObjectConstPtr GetLatestRadarObject() const
std::shared_ptr< const SensorObject > SensorObjectConstPtr
Definition: sensor_object.h:69
void UpdateUnfusedState(const SensorObjectPtr &src_object)
std::map< std::string, SensorObjectPtr > SensorId2ObjectMap
Definition: track.h:31