Apollo
11.0
自动驾驶开放平台
st_guide_line.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 <vector>
24
25
#include "modules/common_msgs/basic_msgs/pnc_point.pb.h"
26
#include "modules/common_msgs/config_msgs/vehicle_config.pb.h"
27
#include "
modules/common/status/status.h
"
28
#include "
modules/planning/planning_base/common/obstacle.h
"
29
#include "
modules/planning/planning_base/common/path/path_data.h
"
30
#include "
modules/planning/planning_base/common/path_decision.h
"
31
#include "
modules/planning/planning_base/common/speed/speed_data.h
"
32
#include "
modules/planning/planning_base/common/speed/st_boundary.h
"
33
#include "
modules/planning/planning_base/common/speed_limit.h
"
34
#include "
modules/planning/planning_base/common/trajectory/discretized_trajectory.h
"
35
#include "
modules/planning/planning_base/reference_line/reference_line.h
"
36
37
namespace
apollo
{
38
namespace
planning
{
39
40
// TODO(jiacheng): currently implemented a constant velocity model for
41
// guide-line. Upgrade it to a constant acceleration model.
42
class
STGuideLine
{
43
public
:
44
STGuideLine
() {}
45
46
void
Init
(
double
desired_v);
47
48
void
Init
(
double
desired_v,
49
const
std::vector<common::TrajectoryPoint> &speed_reference);
50
51
virtual
~STGuideLine
() =
default
;
52
53
double
GetGuideSFromT
(
double
t);
54
55
void
UpdateBlockingInfo
(
const
double
t,
const
double
s_block,
56
const
bool
is_lower_block);
57
58
private
:
59
// Variables for simple guide-line calculation.
60
double
t0_;
61
double
s0_;
62
double
v0_;
63
// St guideline from upstream modules
64
SpeedData
guideline_speed_data_;
65
};
66
67
}
// namespace planning
68
}
// namespace apollo
apollo::planning::STGuideLine
Definition
st_guide_line.h:42
apollo::planning::STGuideLine::Init
void Init(double desired_v)
Definition
st_guide_line.cc:28
apollo::planning::STGuideLine::GetGuideSFromT
double GetGuideSFromT(double t)
Definition
st_guide_line.cc:52
apollo::planning::STGuideLine::~STGuideLine
virtual ~STGuideLine()=default
apollo::planning::STGuideLine::UpdateBlockingInfo
void UpdateBlockingInfo(const double t, const double s_block, const bool is_lower_block)
Definition
st_guide_line.cc:63
apollo::planning::STGuideLine::STGuideLine
STGuideLine()
Definition
st_guide_line.h:44
apollo::planning::SpeedData
Definition
speed_data.h:30
planning
Planning module main class.
status.h
discretized_trajectory.h
apollo
class register implement
Definition
arena_queue.h:37
path_data.h
path_decision.h
obstacle.h
reference_line.h
speed_data.h
speed_limit.h
st_boundary.h
modules
planning
tasks
st_bounds_decider
st_guide_line.h