Apollo  6.0
Open source self driving car software
third_party_perception_mobileye.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2020 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 
21 #pragma once
22 #include <memory>
23 
25 
26 #include "modules/drivers/proto/conti_radar.pb.h"
27 #include "modules/drivers/proto/delphi_esr.pb.h"
28 #include "modules/drivers/proto/mobileye.pb.h"
29 
34 namespace apollo {
35 namespace third_party_perception {
36 
38  public:
40  ThirdPartyPerceptionMobileye() = default;
42  // Upon receiving mobileye data
43  void OnMobileye(const apollo::drivers::Mobileye& message);
44  // Upon receiving conti radar data
45  void OnContiRadar(const apollo::drivers::ContiRadar& message);
46  // Upon receiving esr radar data
47  void OnDelphiESR(const apollo::drivers::DelphiESR& message);
48 
49  bool Process(
50  apollo::perception::PerceptionObstacles* const response) override;
51 
52  private:
53  std::shared_ptr<apollo::cyber::Reader<apollo::drivers::Mobileye>>
54  mobileye_reader_ = nullptr;
55  std::shared_ptr<apollo::cyber::Reader<apollo::drivers::DelphiESR>>
56  delphi_esr_reader_ = nullptr;
57  std::shared_ptr<apollo::cyber::Reader<apollo::drivers::ContiRadar>>
58  conti_radar_reader_ = nullptr;
59  apollo::perception::PerceptionObstacles radar_obstacles_;
60  apollo::perception::PerceptionObstacles eye_obstacles_;
61 };
62 
63 } // namespace third_party_perception
64 } // namespace apollo
Definition: third_party_perception_mobileye.h:37
void OnContiRadar(const apollo::drivers::ContiRadar &message)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
void OnDelphiESR(const apollo::drivers::DelphiESR &message)
Node is the fundamental building block of Cyber RT. every module contains and communicates through th...
Definition: node.h:44
Definition: third_party_perception_base.h:44
void OnMobileye(const apollo::drivers::Mobileye &message)
bool Process(apollo::perception::PerceptionObstacles *const response) override