Apollo  6.0
Open source self driving car software
lattice_planner.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2017 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 #include <string>
25 
30 #include "modules/planning/proto/planning_config.pb.h"
31 
32 namespace apollo {
33 namespace planning {
34 
36  public:
37  LatticePlanner() = delete;
38 
39  explicit LatticePlanner(const std::shared_ptr<DependencyInjector>& injector)
40  : PlannerWithReferenceLine(injector) {}
41 
42  virtual ~LatticePlanner() = default;
43 
44  std::string Name() override { return "LATTICE"; }
45 
46  common::Status Init(const PlanningConfig& config) override {
47  return common::Status::OK();
48  }
49 
50  void Stop() override {}
51 
58  common::Status Plan(const common::TrajectoryPoint& planning_init_point,
59  Frame* frame,
60  ADCTrajectory* ptr_computed_trajectory) override;
61 
70  const common::TrajectoryPoint& planning_init_point, Frame* frame,
71  ReferenceLineInfo* reference_line_info) override;
72 };
73 
74 } // namespace planning
75 } // namespace apollo
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
common::Status PlanOnReferenceLine(const common::TrajectoryPoint &planning_init_point, Frame *frame, ReferenceLineInfo *reference_line_info) override
Override function Plan in parent class Planner.
Planning module main class. It processes GPS and IMU as input, to generate planning info...
Frame holds all data for one planning cycle.
Definition: frame.h:61
ReferenceLineInfo holds all data for one reference line.
Definition: reference_line_info.h:54
LatticePlanner(const std::shared_ptr< DependencyInjector > &injector)
Definition: lattice_planner.h:39
common::Status Init(const PlanningConfig &config) override
Definition: lattice_planner.h:46
std::string Name() override
Definition: lattice_planner.h:44
static Status OK()
generate a success status.
Definition: status.h:60
void Stop() override
Definition: lattice_planner.h:50
virtual ~LatticePlanner()=default
A general class to denote the return status of an API call. It can either be an OK status for success...
Definition: status.h:43
common::Status Plan(const common::TrajectoryPoint &planning_init_point, Frame *frame, ADCTrajectory *ptr_computed_trajectory) override
Override function Plan in parent class Planner.
Definition: lattice_planner.h:35