Apollo  v5.5.0
Open source self driving car software
conti_ars_tracker.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2018 The Apollo Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 #pragma once
17 
18 #include <string>
19 #include <vector>
20 
21 #include "cyber/common/macros.h"
22 
26 
27 namespace apollo {
28 namespace perception {
29 namespace radar {
30 
31 class ContiArsTracker : public BaseTracker {
32  public:
34  virtual ~ContiArsTracker();
35  bool Init() override;
36  bool Track(const base::Frame &detected_frame, const TrackerOptions &options,
37  base::FramePtr tracked_frame) override;
38 
39  private:
40  std::string matcher_name_;
41  BaseMatcher *matcher_ = nullptr;
42  RadarTrackManager *track_manager_ = nullptr;
43  static double s_tracking_time_win_;
44  void TrackObjects(const base::Frame &radar_frame);
45  void UpdateAssignedTracks(const base::Frame &radar_frame,
46  std::vector<TrackObjectPair> assignments);
47  void UpdateUnassignedTracks(const base::Frame &radar_frame,
48  const std::vector<size_t> &unassigned_tracks);
49  void DeleteLostTracks();
50  void CreateNewTracks(const base::Frame &radar_frame,
51  const std::vector<size_t> &unassigned_objects);
52  void CollectTrackedFrame(base::FramePtr tracked_frame);
53 
54  DISALLOW_COPY_AND_ASSIGN(ContiArsTracker);
55 };
56 } // namespace radar
57 } // namespace perception
58 } // namespace apollo
Definition: frame.h:32
std::shared_ptr< Frame > FramePtr
Definition: frame.h:58
Definition: blob.h:72
Definition: base_matcher.h:39
bool Track(const base::Frame &detected_frame, const TrackerOptions &options, base::FramePtr tracked_frame) override
Definition: base_tracker.h:67
Definition: radar_track_manager.h:29
Definition: base_tracker.h:68
Definition: conti_ars_tracker.h:31