Apollo  6.0
Open source self driving car software
base_multisensor_fusion.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2021 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"
26 
27 namespace apollo {
28 namespace perception {
29 namespace fusion {
30 
32  std::vector<std::string> main_sensors;
33  std::string fusion_method;
34 };
35 
37  public:
38  BaseMultiSensorFusion() = default;
39  virtual ~BaseMultiSensorFusion() = default;
40 
41  virtual bool Init(const ObstacleMultiSensorFusionParam& param) = 0;
42 
43  virtual bool Process(const base::FrameConstPtr& frame,
44  std::vector<base::ObjectPtr>* objects) = 0;
45 
46  virtual std::string Name() const = 0;
47 
48  private:
50 }; // Class BaseMultiSensorFusion
51 
53 #define PERCEPTION_REGISTER_MULTISENSORFUSION(name) \
54  PERCEPTION_REGISTER_CLASS(BaseMultiSensorFusion, name)
55 
56 } // namespace fusion
57 } // namespace perception
58 } // namespace apollo
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
#define DISALLOW_COPY_AND_ASSIGN(classname)
Definition: macros.h:48
PERCEPTION_REGISTER_REGISTERER(BaseFusionSystem)
Definition: base_multisensor_fusion.h:36
std::shared_ptr< const Frame > FrameConstPtr
Definition: frame.h:61
bool Init(const char *binary_name)
std::vector< std::string > main_sensors
Definition: base_multisensor_fusion.h:32
Definition: base_multisensor_fusion.h:31
std::string fusion_method
Definition: base_multisensor_fusion.h:33