Apollo 11.0
自动驾驶开放平台
apollo::perception::fusion::Track类 参考

#include <track.h>

apollo::perception::fusion::Track 的协作图:

Public 成员函数

 Track ()
 
virtual ~Track ()=default
 
bool Initialize (SensorObjectPtr obj, bool is_background=false)
 Initialize
 
void Reset ()
 
SensorObjectConstPtr GetSensorObject (const std::string &sensor_id) const
 Get the sensor object object
 
SensorObjectConstPtr GetLatestLidarObject () const
 Get the latest lidar object object
 
SensorObjectConstPtr GetLatestRadarObject () const
 Get the latest radar object object
 
SensorObjectConstPtr GetLatestCameraObject () const
 Get the latest camera object object
 
FusedObjectPtr GetFusedObject ()
 Get the fused object object
 
SensorId2ObjectMap & GetLidarObjects ()
 Get the lidar objects object
 
const SensorId2ObjectMap & GetLidarObjects () const
 Get the lidar objects object
 
SensorId2ObjectMap & GetRadarObjects ()
 Get the radar objects object
 
const SensorId2ObjectMap & GetRadarObjects () const
 Get the radar objects object
 
SensorId2ObjectMap & GetCameraObjects ()
 Get the camera objects object
 
const SensorId2ObjectMap & GetCameraObjects () const
 Get the camera objects object
 
int GetTrackId () const
 Get the track id
 
double GetTrackingPeriod () const
 Get the tracking period
 
size_t GetTrackedTimes () const
 Get the tracked times
 
void AddTrackedTimes ()
 Add the tracked times
 
double GetExistenceProb () const
 Get the Existence Prob object
 
void SetExistenceProb (double prob)
 Set the Existence Prob object
 
double GetToicProb () const
 Get the Toic Prob object
 
void SetToicProb (double prob)
 Set the Toic Prob object
 
bool IsBackground () const
 Is background
 
bool IsAlive () const
 Is tracking lost
 
bool IsVisible (const std::string &sensor_id) const
 Is visible
 
bool IsLidarVisible () const
 Is lidar visible
 
bool IsRadarVisible () const
 Is radar visible
 
bool IsCameraVisible () const
 Is camera visible
 
void UpdateWithSensorObject (const SensorObjectPtr &obj)
 Update by SensorObject
 
void UpdateWithoutSensorObject (const std::string &sensor_id, double measurement_timestamp)
 Update without SensorObject
 
std::string DebugString () const
 Debug information
 

静态 Public 成员函数

static void SetMaxLidarInvisiblePeriod (double period)
 Set the max lidar invisible period
 
static void SetMaxRadarInvisiblePeriod (double period)
 Set the max radar invisible period
 
static void SetMaxCameraInvisiblePeriod (double period)
 Set the max camera invisible period
 
static size_t GenerateNewTrackId ()
 Generate new track id
 

Protected 成员函数

void UpdateSupplementState (const SensorObjectPtr &src_object=nullptr)
 Update supplement state
 
void UpdateUnfusedState (const SensorObjectPtr &src_object)
 update no fusion state
 
SensorObjectConstPtr GetLatestSensorObject (const SensorId2ObjectMap &objects) const
 Get the Latest Sensor Object object
 
void UpdateSensorObject (SensorId2ObjectMap *objects, const SensorObjectPtr &obj)
 
void UpdateSensorObjectWithoutMeasurement (SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
 
void UpdateSensorObjectWithMeasurement (SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
 
void UpdateWithSensorObjectForBackground (const SensorObjectPtr &obj)
 
void UpdateWithoutSensorObjectForBackground (const std::string &sensor_id, double measurement_timestamp)
 

Protected 属性

SensorId2ObjectMap lidar_objects_
 
SensorId2ObjectMap radar_objects_
 
SensorId2ObjectMap camera_objects_
 
FusedObjectPtr fused_object_ = nullptr
 
double tracking_period_ = 0.0
 
double existence_prob_ = 0.0
 
double toic_prob_ = 0.0
 
bool is_background_ = false
 
bool is_alive_ = true
 
size_t tracked_times_ = 0
 

详细描述

在文件 track.h 第 32 行定义.

构造及析构函数说明

◆ Track()

apollo::perception::fusion::Track::Track ( )

在文件 track.cc 第 29 行定义.

29{ fused_object_.reset(new FusedObject()); }

◆ ~Track()

virtual apollo::perception::fusion::Track::~Track ( )
virtualdefault

成员函数说明

◆ AddTrackedTimes()

void apollo::perception::fusion::Track::AddTrackedTimes ( )
inline

Add the tracked times

在文件 track.h 第 187 行定义.

◆ DebugString()

std::string apollo::perception::fusion::Track::DebugString ( ) const

Debug information

返回
std::string

在文件 track.cc 第 294 行定义.

294 {
295 std::ostringstream oss;
296 oss << "fusion_track[id: " << this->GetTrackId() << ", fused_object("
297 << fused_object_->GetBaseObject()->ToString() << ")\n";
298
299 oss << "lidar_measurments[number: " << lidar_objects_.size() << ",";
300 for (auto it = lidar_objects_.begin(); it != lidar_objects_.end(); ++it) {
301 oss << "(sensor_id: " << it->first
302 << ", invisible_t: " << it->second->GetInvisiblePeriod()
303 << ", info: " << it->second->GetBaseObject()->ToString() << ")\n";
304 }
305 oss << "]\n";
306
307 oss << "radar_measurments[number: " << radar_objects_.size() << ",";
308 for (auto it = radar_objects_.begin(); it != radar_objects_.end(); ++it) {
309 oss << "(sensor_id: " << it->first
310 << ", invisible_t: " << it->second->GetInvisiblePeriod()
311 << ", info: " << it->second->GetBaseObject()->ToString() << ")\n";
312 }
313 oss << "]\n";
314
315 oss << "camera_measurments[number: " << camera_objects_.size() << ",";
316 for (auto it = camera_objects_.begin(); it != camera_objects_.end(); ++it) {
317 oss << "(sensor_id: " << it->first
318 << ", invisible_t: " << it->second->GetInvisiblePeriod()
319 << ", info: " << it->second->GetBaseObject()->ToString() << ")\n";
320 }
321 oss << "]\n";
322 return oss.str();
323}
int GetTrackId() const
Get the track id
Definition track.h:165
SensorId2ObjectMap radar_objects_
Definition track.h:373
SensorId2ObjectMap lidar_objects_
Definition track.h:372
SensorId2ObjectMap camera_objects_
Definition track.h:374

◆ GenerateNewTrackId()

size_t apollo::perception::fusion::Track::GenerateNewTrackId ( )
static

Generate new track id

返回
size_t

在文件 track.cc 第 98 行定义.

98 {
99 int ret_track_id = static_cast<int>(s_track_idx_);
100 if (s_track_idx_ == std::numeric_limits<unsigned int>::max()) {
101 s_track_idx_ = 1;
102 } else {
103 s_track_idx_++;
104 }
105 return ret_track_id;
106}

◆ GetCameraObjects() [1/2]

SensorId2ObjectMap & apollo::perception::fusion::Track::GetCameraObjects ( )
inline

Get the camera objects object

返回
SensorId2ObjectMap&

在文件 track.h 第 149 行定义.

149{ return camera_objects_; }

◆ GetCameraObjects() [2/2]

const SensorId2ObjectMap & apollo::perception::fusion::Track::GetCameraObjects ( ) const
inline

Get the camera objects object

返回
const SensorId2ObjectMap&

在文件 track.h 第 156 行定义.

156 {
157 return camera_objects_;
158 }

◆ GetExistenceProb()

double apollo::perception::fusion::Track::GetExistenceProb ( ) const
inline

Get the Existence Prob object

返回
double

在文件 track.h 第 194 行定义.

194{ return existence_prob_; }

◆ GetFusedObject()

FusedObjectPtr apollo::perception::fusion::Track::GetFusedObject ( )
inline

Get the fused object object

返回
FusedObjectPtr

在文件 track.h 第 110 行定义.

110{ return fused_object_; }

◆ GetLatestCameraObject()

SensorObjectConstPtr apollo::perception::fusion::Track::GetLatestCameraObject ( ) const

Get the latest camera object object

返回
SensorObjectConstPtr

在文件 track.cc 第 83 行定义.

83 {
85}
SensorObjectConstPtr GetLatestSensorObject(const SensorId2ObjectMap &objects) const
Get the Latest Sensor Object object
Definition track.cc:87

◆ GetLatestLidarObject()

SensorObjectConstPtr apollo::perception::fusion::Track::GetLatestLidarObject ( ) const

Get the latest lidar object object

返回
SensorObjectConstPtr

在文件 track.cc 第 75 行定义.

75 {
77}

◆ GetLatestRadarObject()

SensorObjectConstPtr apollo::perception::fusion::Track::GetLatestRadarObject ( ) const

Get the latest radar object object

返回
SensorObjectConstPtr

在文件 track.cc 第 79 行定义.

79 {
81}

◆ GetLatestSensorObject()

SensorObjectConstPtr apollo::perception::fusion::Track::GetLatestSensorObject ( const SensorId2ObjectMap &  objects) const
protected

Get the Latest Sensor Object object

参数
objects
返回
SensorObjectConstPtr

在文件 track.cc 第 87 行定义.

88 {
89 SensorObjectConstPtr obj = nullptr;
90 for (auto it = objects.begin(); it != objects.end(); ++it) {
91 if (obj == nullptr || obj->GetTimestamp() < it->second->GetTimestamp()) {
92 obj = it->second;
93 }
94 }
95 return obj;
96}
std::shared_ptr< const SensorObject > SensorObjectConstPtr

◆ GetLidarObjects() [1/2]

SensorId2ObjectMap & apollo::perception::fusion::Track::GetLidarObjects ( )
inline

Get the lidar objects object

返回
SensorId2ObjectMap&

在文件 track.h 第 117 行定义.

117{ return lidar_objects_; }

◆ GetLidarObjects() [2/2]

const SensorId2ObjectMap & apollo::perception::fusion::Track::GetLidarObjects ( ) const
inline

Get the lidar objects object

返回
const SensorId2ObjectMap&

在文件 track.h 第 124 行定义.

124 {
125 return lidar_objects_;
126 }

◆ GetRadarObjects() [1/2]

SensorId2ObjectMap & apollo::perception::fusion::Track::GetRadarObjects ( )
inline

Get the radar objects object

返回
SensorId2ObjectMap&

在文件 track.h 第 133 行定义.

133{ return radar_objects_; }

◆ GetRadarObjects() [2/2]

const SensorId2ObjectMap & apollo::perception::fusion::Track::GetRadarObjects ( ) const
inline

Get the radar objects object

返回
const SensorId2ObjectMap&

在文件 track.h 第 140 行定义.

140 {
141 return radar_objects_;
142 }

◆ GetSensorObject()

SensorObjectConstPtr apollo::perception::fusion::Track::GetSensorObject ( const std::string &  sensor_id) const

Get the sensor object object

参数
sensor_id
返回
SensorObjectConstPtr

在文件 track.cc 第 55 行定义.

56 {
57 auto lidar_it = lidar_objects_.find(sensor_id);
58 if (lidar_it != lidar_objects_.end()) {
59 return lidar_it->second;
60 }
61
62 auto radar_it = radar_objects_.find(sensor_id);
63 if (radar_it != radar_objects_.end()) {
64 return radar_it->second;
65 }
66
67 auto camera_it = camera_objects_.find(sensor_id);
68 if (camera_it != camera_objects_.end()) {
69 return camera_it->second;
70 }
71
72 return nullptr;
73}

◆ GetToicProb()

double apollo::perception::fusion::Track::GetToicProb ( ) const
inline

Get the Toic Prob object

返回
double

在文件 track.h 第 208 行定义.

208{ return toic_prob_; }

◆ GetTrackedTimes()

size_t apollo::perception::fusion::Track::GetTrackedTimes ( ) const
inline

Get the tracked times

返回
size_t

在文件 track.h 第 181 行定义.

181{ return tracked_times_; }

◆ GetTrackId()

int apollo::perception::fusion::Track::GetTrackId ( ) const
inline

Get the track id

返回
int

在文件 track.h 第 165 行定义.

165 {
166 return fused_object_->GetBaseObject()->track_id;
167 }

◆ GetTrackingPeriod()

double apollo::perception::fusion::Track::GetTrackingPeriod ( ) const
inline

Get the tracking period

返回
double

在文件 track.h 第 174 行定义.

174{ return tracking_period_; }

◆ Initialize()

bool apollo::perception::fusion::Track::Initialize ( SensorObjectPtr  obj,
bool  is_background = false 
)

Initialize

参数
obj
is_background
返回
true
false

在文件 track.cc 第 31 行定义.

31 {
32 Reset();
33 int track_id = static_cast<int>(GenerateNewTrackId());
34 is_background_ = is_background;
35 std::shared_ptr<base::Object> fused_base_obj = fused_object_->GetBaseObject();
36 std::shared_ptr<const base::Object> sensor_base_obj = obj->GetBaseObject();
37 *fused_base_obj = *sensor_base_obj;
38 fused_base_obj->track_id = track_id;
40 return true;
41}
static size_t GenerateNewTrackId()
Generate new track id
Definition track.cc:98
void UpdateWithSensorObject(const SensorObjectPtr &obj)
Update by SensorObject
Definition track.cc:119

◆ IsAlive()

bool apollo::perception::fusion::Track::IsAlive ( ) const
inline

Is tracking lost

返回
true
false

在文件 track.h 第 231 行定义.

231{ return is_alive_; }

◆ IsBackground()

bool apollo::perception::fusion::Track::IsBackground ( ) const
inline

Is background

返回
true
false

在文件 track.h 第 223 行定义.

223{ return is_background_; }

◆ IsCameraVisible()

bool apollo::perception::fusion::Track::IsCameraVisible ( ) const

Is camera visible

返回
true
false

在文件 track.cc 第 272 行定义.

272 {
273 for (auto it = camera_objects_.begin(); it != camera_objects_.end(); ++it) {
274 if (it->second->GetInvisiblePeriod() < 1.0e-6) {
275 return true;
276 }
277 }
278 return false;
279}

◆ IsLidarVisible()

bool apollo::perception::fusion::Track::IsLidarVisible ( ) const

Is lidar visible

返回
true
false

在文件 track.cc 第 254 行定义.

254 {
255 for (auto it = lidar_objects_.begin(); it != lidar_objects_.end(); ++it) {
256 if (it->second->GetInvisiblePeriod() < 1.0e-6) {
257 return true;
258 }
259 }
260 return false;
261}

◆ IsRadarVisible()

bool apollo::perception::fusion::Track::IsRadarVisible ( ) const

Is radar visible

返回
true
false

在文件 track.cc 第 263 行定义.

263 {
264 for (auto it = radar_objects_.begin(); it != radar_objects_.end(); ++it) {
265 if (it->second->GetInvisiblePeriod() < 1.0e-6) {
266 return true;
267 }
268 }
269 return false;
270}

◆ IsVisible()

bool apollo::perception::fusion::Track::IsVisible ( const std::string &  sensor_id) const

Is visible

参数
sensor_id
返回
true
false

在文件 track.cc 第 249 行定义.

249 {
250 SensorObjectConstPtr sensor_obj = GetSensorObject(sensor_id);
251 return (sensor_obj != nullptr && sensor_obj->GetInvisiblePeriod() < 1.0e-6);
252}
SensorObjectConstPtr GetSensorObject(const std::string &sensor_id) const
Get the sensor object object
Definition track.cc:55

◆ Reset()

void apollo::perception::fusion::Track::Reset ( )

在文件 track.cc 第 43 行定义.

43 {
44 fused_object_->GetBaseObject()->track_id = 0;
45 lidar_objects_.clear();
46 radar_objects_.clear();
47 camera_objects_.clear();
48 tracking_period_ = 0.0;
49 is_background_ = false;
50 is_alive_ = true;
52 toic_prob_ = 0.0;
53}

◆ SetExistenceProb()

void apollo::perception::fusion::Track::SetExistenceProb ( double  prob)
inline

Set the Existence Prob object

参数
prob

在文件 track.h 第 201 行定义.

201{ existence_prob_ = prob; }

◆ SetMaxCameraInvisiblePeriod()

static void apollo::perception::fusion::Track::SetMaxCameraInvisiblePeriod ( double  period)
inlinestatic

Set the max camera invisible period

参数
period

在文件 track.h 第 60 行定义.

60 {
61 s_max_camera_invisible_period_ = period;
62 }

◆ SetMaxLidarInvisiblePeriod()

static void apollo::perception::fusion::Track::SetMaxLidarInvisiblePeriod ( double  period)
inlinestatic

Set the max lidar invisible period

参数
period

在文件 track.h 第 42 行定义.

42 {
43 s_max_lidar_invisible_period_ = period;
44 }

◆ SetMaxRadarInvisiblePeriod()

static void apollo::perception::fusion::Track::SetMaxRadarInvisiblePeriod ( double  period)
inlinestatic

Set the max radar invisible period

参数
period

在文件 track.h 第 51 行定义.

51 {
52 s_max_radar_invisible_period_ = period;
53 }

◆ SetToicProb()

void apollo::perception::fusion::Track::SetToicProb ( double  prob)
inline

Set the Toic Prob object

参数
prob

在文件 track.h 第 215 行定义.

215{ toic_prob_ = prob; }

◆ UpdateSensorObject()

void apollo::perception::fusion::Track::UpdateSensorObject ( SensorId2ObjectMap *  objects,
const SensorObjectPtr &  obj 
)
protected
参数
objects
obj

在文件 track.cc 第 108 行定义.

109 {
110 std::string sensor_id = obj->GetSensorId();
111 auto it = objects->find(sensor_id);
112 if (it == objects->end()) {
113 (*objects)[sensor_id] = obj;
114 } else {
115 it->second = obj;
116 }
117}

◆ UpdateSensorObjectWithMeasurement()

void apollo::perception::fusion::Track::UpdateSensorObjectWithMeasurement ( SensorId2ObjectMap *  objects,
const std::string &  sensor_id,
double  measurement_timestamp,
double  max_invisible_period 
)
protected
参数
objects
sensor_id
measurement_timestamp
max_invisible_period

在文件 track.cc 第 193 行定义.

196 {
197 for (auto it = objects->begin(); it != objects->end();) {
198 if (it->first != sensor_id) {
199 double period = measurement_timestamp - it->second->GetTimestamp();
200 if (period > max_invisible_period) {
201 it->second = nullptr;
202 it = objects->erase(it);
203 } else {
204 ++it;
205 }
206 } else {
207 ++it;
208 }
209 }
210}

◆ UpdateSensorObjectWithoutMeasurement()

void apollo::perception::fusion::Track::UpdateSensorObjectWithoutMeasurement ( SensorId2ObjectMap *  objects,
const std::string &  sensor_id,
double  measurement_timestamp,
double  max_invisible_period 
)
protected
参数
objects
sensor_id
measurement_timestamp
max_invisible_period

在文件 track.cc 第 172 行定义.

175 {
176 for (auto it = objects->begin(); it != objects->end();) {
177 double period = measurement_timestamp - it->second->GetTimestamp();
178 if (it->first == sensor_id) {
179 it->second->SetInvisiblePeriod(period);
180 } else if (it->second->GetInvisiblePeriod() > 0.0) {
181 it->second->SetInvisiblePeriod(period);
182 }
183
184 if (period > max_invisible_period) {
185 it->second = nullptr;
186 it = objects->erase(it);
187 } else {
188 ++it;
189 }
190 }
191}

◆ UpdateSupplementState()

void apollo::perception::fusion::Track::UpdateSupplementState ( const SensorObjectPtr &  src_object = nullptr)
protected

Update supplement state

参数
src_object

在文件 track.cc 第 212 行定义.

212 {
213 std::shared_ptr<base::Object> dst_obj = fused_object_->GetBaseObject();
214 if (src_object != nullptr) {
215 std::shared_ptr<const base::Object> src_obj = src_object->GetBaseObject();
216 if (IsLidar(src_object)) {
217 dst_obj->lidar_supplement = src_obj->lidar_supplement;
218 } else if (IsRadar(src_object)) {
219 dst_obj->radar_supplement = src_obj->radar_supplement;
220 } else if (IsCamera(src_object)) {
221 dst_obj->camera_supplement = src_obj->camera_supplement;
222 }
223 }
224
225 if (lidar_objects_.empty()) {
226 dst_obj->lidar_supplement.Reset();
227 }
228 if (radar_objects_.empty()) {
229 dst_obj->radar_supplement.Reset();
230 }
231 if (camera_objects_.empty()) {
232 dst_obj->camera_supplement.Reset();
233 }
234}
bool IsCamera(const SensorObjectConstPtr &obj)
bool IsLidar(const SensorObjectConstPtr &obj)
bool IsRadar(const SensorObjectConstPtr &obj)

◆ UpdateUnfusedState()

void apollo::perception::fusion::Track::UpdateUnfusedState ( const SensorObjectPtr &  src_object)
protected

update no fusion state

参数
src_object

在文件 track.cc 第 236 行定义.

236 {
237 std::shared_ptr<base::Object> dst_obj = fused_object_->GetBaseObject();
238 std::shared_ptr<const base::Object> src_obj = src_object->GetBaseObject();
239 if (IsLidar(src_object)) {
240 dst_obj->confidence = src_obj->confidence;
241 dst_obj->velocity_converged = src_obj->velocity_converged;
242 } else if (IsRadar(src_object)) {
243 // update nothing temporarily
244 } else if (IsCamera(src_object)) {
245 dst_obj->confidence = src_obj->confidence;
246 }
247}

◆ UpdateWithoutSensorObject()

void apollo::perception::fusion::Track::UpdateWithoutSensorObject ( const std::string &  sensor_id,
double  measurement_timestamp 
)

Update without SensorObject

参数
sensor_id
measurement_timestamp

在文件 track.cc 第 155 行定义.

156 {
158 measurement_timestamp,
159 s_max_lidar_invisible_period_);
161 measurement_timestamp,
162 s_max_radar_invisible_period_);
164 measurement_timestamp,
165 s_max_camera_invisible_period_);
166
168 is_alive_ = (!lidar_objects_.empty()) || (!radar_objects_.empty()) ||
169 (!camera_objects_.empty());
170}
void UpdateSensorObjectWithoutMeasurement(SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
Definition track.cc:172
void UpdateSupplementState(const SensorObjectPtr &src_object=nullptr)
Update supplement state
Definition track.cc:212

◆ UpdateWithoutSensorObjectForBackground()

void apollo::perception::fusion::Track::UpdateWithoutSensorObjectForBackground ( const std::string &  sensor_id,
double  measurement_timestamp 
)
protected
参数
sensor_id
measurement_timestamp

在文件 track.cc 第 291 行定义.

292 {}

◆ UpdateWithSensorObject()

void apollo::perception::fusion::Track::UpdateWithSensorObject ( const SensorObjectPtr &  obj)

Update by SensorObject

参数
obj

在文件 track.cc 第 119 行定义.

119 {
120 std::string sensor_id = obj->GetSensorId();
121 SensorId2ObjectMap* objects = nullptr;
122 if (IsLidar(obj)) {
123 objects = &lidar_objects_;
124 } else if (IsRadar(obj)) {
125 objects = &radar_objects_;
126 } else if (IsCamera(obj)) {
127 objects = &camera_objects_;
128 } else {
129 return;
130 }
131 UpdateSensorObject(objects, obj);
132 double time_diff = obj->GetTimestamp() - fused_object_->GetTimestamp();
133 tracking_period_ += time_diff;
134
136 obj->GetTimestamp(),
137 s_max_lidar_invisible_period_);
139 obj->GetTimestamp(),
140 s_max_radar_invisible_period_);
142 obj->GetTimestamp(),
143 s_max_camera_invisible_period_);
144
145 if (is_background_) {
147 }
148
149 fused_object_->GetBaseObject()->latest_tracked_time = obj->GetTimestamp();
152 is_alive_ = true;
153}
void UpdateUnfusedState(const SensorObjectPtr &src_object)
update no fusion state
Definition track.cc:236
void UpdateWithSensorObjectForBackground(const SensorObjectPtr &obj)
Definition track.cc:281
void UpdateSensorObject(SensorId2ObjectMap *objects, const SensorObjectPtr &obj)
Definition track.cc:108
void UpdateSensorObjectWithMeasurement(SensorId2ObjectMap *objects, const std::string &sensor_id, double measurement_timestamp, double max_invisible_period)
Definition track.cc:193
std::map< std::string, SensorObjectPtr > SensorId2ObjectMap
Definition track.h:30

◆ UpdateWithSensorObjectForBackground()

void apollo::perception::fusion::Track::UpdateWithSensorObjectForBackground ( const SensorObjectPtr &  obj)
protected
参数
obj

在文件 track.cc 第 281 行定义.

281 {
282 std::shared_ptr<base::Object> fused_base_object =
283 fused_object_->GetBaseObject();
284 std::shared_ptr<const base::Object> measurement_base_object =
285 obj->GetBaseObject();
286 int track_id = fused_base_object->track_id;
287 *fused_base_object = *measurement_base_object;
288 fused_base_object->track_id = track_id;
289}

类成员变量说明

◆ camera_objects_

SensorId2ObjectMap apollo::perception::fusion::Track::camera_objects_
protected

在文件 track.h 第 374 行定义.

◆ existence_prob_

double apollo::perception::fusion::Track::existence_prob_ = 0.0
protected

在文件 track.h 第 378 行定义.

◆ fused_object_

FusedObjectPtr apollo::perception::fusion::Track::fused_object_ = nullptr
protected

在文件 track.h 第 376 行定义.

◆ is_alive_

bool apollo::perception::fusion::Track::is_alive_ = true
protected

在文件 track.h 第 382 行定义.

◆ is_background_

bool apollo::perception::fusion::Track::is_background_ = false
protected

在文件 track.h 第 381 行定义.

◆ lidar_objects_

SensorId2ObjectMap apollo::perception::fusion::Track::lidar_objects_
protected

在文件 track.h 第 372 行定义.

◆ radar_objects_

SensorId2ObjectMap apollo::perception::fusion::Track::radar_objects_
protected

在文件 track.h 第 373 行定义.

◆ toic_prob_

double apollo::perception::fusion::Track::toic_prob_ = 0.0
protected

在文件 track.h 第 379 行定义.

◆ tracked_times_

size_t apollo::perception::fusion::Track::tracked_times_ = 0
protected

在文件 track.h 第 384 行定义.

◆ tracking_period_

double apollo::perception::fusion::Track::tracking_period_ = 0.0
protected

在文件 track.h 第 377 行定义.


该类的文档由以下文件生成: