Apollo
11.0
自动驾驶开放平台
stage_parking_park.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2019 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
25
#include "
cyber/plugin_manager/plugin_manager.h
"
26
#include "
modules/planning/planning_open_space/utils/open_space_trajectory_optimizer_util.h
"
27
#include "
modules/planning/planning_interface_base/scenario_base/stage.h
"
28
#include "
modules/planning/scenarios/valet_parking_park/valet_parking_scenario.h
"
29
30
namespace
apollo
{
31
namespace
planning
{
32
33
enum class
ParkingMissionStatus
{
34
RUNNING
= 0,
35
DONE
= 1,
36
};
37
38
struct
ParkingMissionInfo
{
39
std::string
parking_spot_id
;
40
int
command_sequence_num
;
41
ParkingMissionStatus
status
;
42
};
43
44
class
StageParkingPark
:
public
Stage
{
45
public
:
46
StageResult
Process
(
const
common::TrajectoryPoint
& planning_init_point,
47
Frame
* frame)
override
;
48
49
private
:
50
StageResult
FinishStage(
Frame
* frame);
51
52
bool
CheckADCParkingCompleted(
Frame
* frame);
53
54
bool
CheckParkingMissionInfo(
const
ValetParkingContext
& planning_command);
55
56
bool
arrive_parking_spot_ =
false
;
57
ScenarioValetParkingParkConfig
scenario_config_;
58
ParkingMissionInfo
parking_mission_info_;
59
};
60
61
CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN
(
apollo::planning::StageParkingPark
,
Stage
)
62
63
}
// namespace planning
64
}
// namespace apollo
apollo::planning::Frame
Frame holds all data for one planning cycle.
Definition
frame.h:62
apollo::planning::StageParkingPark
Definition
stage_parking_park.h:44
apollo::planning::StageParkingPark::Process
StageResult Process(const common::TrajectoryPoint &planning_init_point, Frame *frame) override
Each stage does its business logic inside Process function.
Definition
stage_parking_park.cc:28
apollo::planning::StageResult
Definition
process_result.h:52
apollo::planning::Stage
Definition
stage.h:46
planning
Planning module main class.
plugin_manager.h
CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN
#define CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN(name, base)
Definition
plugin_manager.h:272
apollo::planning::ParkingMissionStatus
ParkingMissionStatus
Definition
stage_parking_park.h:33
apollo::planning::ParkingMissionStatus::DONE
@ DONE
apollo::planning::StageStatusType::RUNNING
@ RUNNING
apollo
class register implement
Definition
arena_queue.h:37
open_space_trajectory_optimizer_util.h
stage.h
apollo::common::TrajectoryPoint
Definition
pnc_point.proto:61
apollo::planning::ParkingMissionInfo
Definition
stage_parking_park.h:38
apollo::planning::ParkingMissionInfo::command_sequence_num
int command_sequence_num
Definition
stage_parking_park.h:40
apollo::planning::ParkingMissionInfo::parking_spot_id
std::string parking_spot_id
Definition
stage_parking_park.h:39
apollo::planning::ParkingMissionInfo::status
ParkingMissionStatus status
Definition
stage_parking_park.h:41
apollo::planning::ScenarioValetParkingParkConfig
Definition
valet_parking_park.proto:5
apollo::planning::ValetParkingContext
Definition
valet_parking_scenario.h:36
valet_parking_scenario.h
modules
planning
scenarios
valet_parking_park
stage_parking_park.h