Apollo
10.0
自动驾驶开放平台
sim_control_manager.h
浏览该文件的文档.
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
17
#pragma once
18
19
#include <limits>
20
#include <memory>
21
#include <string>
22
23
#include "
cyber/cyber.h
"
24
#include "
cyber/common/macros.h
"
25
#include "
modules/common/configs/config_gflags.h
"
26
#include "
modules/dreamview/backend/common/sim_control_manager/common/sim_control_gflags.h
"
27
#include "
modules/dreamview/backend/common/sim_control_manager/core/dynamic_model_factory.h
"
28
#include "
modules/dreamview/backend/common/sim_control_manager/core/sim_control_base.h
"
29
34
namespace
apollo
{
35
namespace
dreamview {
36
40
class
SimControlManager
{
41
public
:
42
bool
IsEnabled
()
const
{
return
enabled_; }
43
nlohmann::json
LoadDynamicModels
();
44
bool
AddDynamicModel
(
const
std::string &dynamic_model_name);
45
bool
ChangeDynamicModel
(
const
std::string &dynamic_model_name);
46
bool
DeleteDynamicModel
(
const
std::string &dynamic_model_name);
47
void
ResetDynamicModel
();
48
void
Restart
(
double
x,
double
y,
double
v = 0.0,
double
a = 0.0);
49
void
ReSetPoinstion
(
double
x,
double
y,
double
heading);
50
void
Restart
();
51
void
Reset
();
52
53
virtual
~SimControlManager
() {
Stop
(); }
54
55
std::string
Name
()
const
;
56
57
void
RunOnce
();
58
63
bool
Init
(
bool
set_start_point,
double
start_velocity = 0.0,
64
double
start_acceleration = 0.0,
65
double
start_heading = std::numeric_limits<double>::max());
66
70
void
Start
();
71
75
void
Stop
();
76
77
private
:
78
SimControlBase
*model_ptr_ =
nullptr
;
79
std::string current_dynamic_model_ =
""
;
80
bool
enabled_ =
false
;
81
82
DECLARE_SINGLETON
(
SimControlManager
)
83
};
84
85
}
// namespace dreamview
86
}
// namespace apollo
apollo::dreamview::SimControlBase
Interface of simulated control algorithm
Definition
sim_control_base.h:49
apollo::dreamview::SimControlManager
Definition
sim_control_manager.h:40
apollo::dreamview::SimControlManager::ResetDynamicModel
void ResetDynamicModel()
Definition
sim_control_manager.cc:46
apollo::dreamview::SimControlManager::DeleteDynamicModel
bool DeleteDynamicModel(const std::string &dynamic_model_name)
Definition
sim_control_manager.cc:86
apollo::dreamview::SimControlManager::Name
std::string Name() const
Definition
sim_control_manager.cc:30
apollo::dreamview::SimControlManager::AddDynamicModel
bool AddDynamicModel(const std::string &dynamic_model_name)
Definition
sim_control_manager.cc:59
apollo::dreamview::SimControlManager::RunOnce
void RunOnce()
Definition
sim_control_manager.cc:130
apollo::dreamview::SimControlManager::Init
bool Init(bool set_start_point, double start_velocity=0.0, double start_acceleration=0.0, double start_heading=std::numeric_limits< double >::max())
module initialization function
apollo::dreamview::SimControlManager::LoadDynamicModels
nlohmann::json LoadDynamicModels()
Definition
sim_control_manager.cc:34
apollo::dreamview::SimControlManager::Restart
void Restart()
Definition
sim_control_manager.cc:119
apollo::dreamview::SimControlManager::ChangeDynamicModel
bool ChangeDynamicModel(const std::string &dynamic_model_name)
Definition
sim_control_manager.cc:70
apollo::dreamview::SimControlManager::Stop
void Stop()
module stop function
Definition
sim_control_manager.cc:132
apollo::dreamview::SimControlManager::~SimControlManager
virtual ~SimControlManager()
Definition
sim_control_manager.h:53
apollo::dreamview::SimControlManager::IsEnabled
bool IsEnabled() const
Definition
sim_control_manager.h:42
apollo::dreamview::SimControlManager::ReSetPoinstion
void ReSetPoinstion(double x, double y, double heading)
Definition
sim_control_manager.cc:99
apollo::dreamview::SimControlManager::Start
void Start()
module start function
Definition
sim_control_manager.cc:92
apollo::dreamview::SimControlManager::Reset
void Reset()
Definition
sim_control_manager.cc:40
config_gflags.h
macros.h
DECLARE_SINGLETON
#define DECLARE_SINGLETON(classname)
Definition
macros.h:52
cyber.h
dynamic_model_factory.h
apollo
class register implement
Definition
arena_queue.h:37
sim_control_base.h
sim_control_gflags.h
modules
dreamview
backend
common
sim_control_manager
sim_control_manager.h