Apollo 11.0
自动驾驶开放平台
path_generation.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2023 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
17#pragma once
18
19#include <memory>
20#include <string>
21
27
28namespace apollo {
29namespace planning {
30
31class PathGeneration : public Task {
32 public:
33 virtual ~PathGeneration() = default;
34
36 Frame* frame, ReferenceLineInfo* reference_line_info) override;
37
38 apollo::common::Status Execute(Frame* frame) override;
39
40 protected:
42 Frame* frame, ReferenceLineInfo* reference_line_info) {
44 }
45
49
56
60 void RecordDebugInfo(const PathBound& path_boundaries,
61 const std::string& debug_name,
62 ReferenceLineInfo* const reference_line_info);
63
67 void RecordDebugInfo(const PathData& path_data, const std::string& debug_name,
68 ReferenceLineInfo* const reference_line_info);
77 bool GetSLBoundary(const PathData& path_data, int point_index,
78 const ReferenceLineInfo* reference_line_info,
79 SLBoundary* const sl_boundary);
80
82 std::vector<SLPolygon> obs_sl_polygons_;
83};
84
85} // namespace planning
86} // namespace apollo
A general class to denote the return status of an API call.
Definition status.h:43
static Status OK()
generate a success status.
Definition status.h:60
Frame holds all data for one planning cycle.
Definition frame.h:62
void RecordDebugInfo(const PathBound &path_boundaries, const std::string &debug_name, ReferenceLineInfo *const reference_line_info)
add path_boundary debug info for PnC monitor
apollo::common::Status Execute(Frame *frame, ReferenceLineInfo *reference_line_info) override
bool GetSLBoundary(const PathData &path_data, int point_index, const ReferenceLineInfo *reference_line_info, SLBoundary *const sl_boundary)
get sl boundary of the point on PathData
virtual apollo::common::Status Process(Frame *frame)
std::vector< SLPolygon > obs_sl_polygons_
virtual apollo::common::Status Process(Frame *frame, ReferenceLineInfo *reference_line_info)
void GetStartPointSLState()
calculate init sl state by planning start point, result will store in init_sl_state_
virtual ~PathGeneration()=default
ReferenceLineInfo holds all data for one reference line.
Planning module main class.
std::pair< std::array< double, 3 >, std::array< double, 3 > > SLState
std::vector< PathBoundPoint > PathBound
class register implement
Definition arena_queue.h:37