Apollo  6.0
Open source self driving car software
feature_extractor.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 
21 #pragma once
22 
23 #include <memory>
24 
29 
30 namespace apollo {
31 namespace prediction {
32 
34  public:
38  FeatureExtractor() = delete;
39 
45  ContainerManager* container_manager);
46 
47  FRIEND_TEST(FeatureExtractorTest, junction);
48 
49  private:
50  static void ExtractEgoLaneFeatures(
51  EnvironmentFeatures* ptr_environment_features,
52  const std::shared_ptr<const hdmap::LaneInfo>& ptr_ego_lane,
53  const common::math::Vec2d& ego_position);
54 
55  static void ExtractNeighborLaneFeatures(
56  EnvironmentFeatures* ptr_environment_features,
57  const std::shared_ptr<const hdmap::LaneInfo>& ptr_ego_lane,
58  const common::math::Vec2d& ego_position);
59 
60  static void ExtractFrontJunctionFeatures(
61  EnvironmentFeatures* ptr_environment_features,
62  ContainerManager* container_manager);
63 
64  static std::shared_ptr<const hdmap::LaneInfo> GetEgoLane(
65  const common::Point3D& position, const double heading);
66 };
67 
68 } // namespace prediction
69 } // namespace apollo
Definition: container_manager.h:40
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
FRIEND_TEST(FeatureExtractorTest, junction)
Definition: feature_extractor.h:33
FeatureExtractor()=delete
Constructor.
ADC trajectory container.
Obstacles container.
static EnvironmentFeatures ExtractEnvironmentFeatures(ContainerManager *container_manager)
Extract features for scenario analysis.
Implements a class of 2-dimensional vectors.
Definition: vec2d.h:42
Definition: environment_features.h:29
Use container manager to manage all containers.