CARLA
载入中...
搜索中...
未找到
LibCarla
source
carla
rss
RssRestrictor.h
浏览该文件的文档.
1
// Copyright (c) 2019-2020 Intel Corporation
2
//
3
// This work is licensed under the terms of the MIT license.
4
// For a copy, see <https://opensource.org/licenses/MIT>.
5
6
#pragma once
7
8
#include <spdlog/spdlog.h>
9
#include <memory>
10
11
namespace
ad
{
12
namespace
rss {
13
namespace
state {
14
15
/// @brief forward declararion for the RSS proper response
16
struct
ProperResponse;
17
18
}
// namespace world
19
}
// namespace rss
20
}
// namespace ad
21
22
namespace
carla
{
23
namespace
rpc {
24
class
VehicleControl;
25
class
VehiclePhysicsControl;
26
}
// namespace rpc
27
28
namespace
rss {
29
30
/// @brief forward declararion for ego vehicles current dynamics in respect to
31
/// the current route
32
struct
EgoDynamicsOnRoute;
33
34
/// @brief class implementing the RSS restrictions within CARLA
35
class
RssRestrictor
{
36
public
:
37
/// @brief constructor
38
RssRestrictor
();
39
40
/// @brief destructor
41
~RssRestrictor
();
42
43
/// @brief the actual function to restrict the given vehicle control input to
44
/// mimick
45
/// RSS conform behavior by braking
46
/// Lateral braking is achieved by counter-steering, so is only a very
47
/// rough solution
48
carla::rpc::VehicleControl
RestrictVehicleControl
(
const
carla::rpc::VehicleControl
&vehicle_control,
49
const ::ad::rss::state::ProperResponse &proper_response,
50
const
carla::rss::EgoDynamicsOnRoute
&ego_dynamics_on_route,
51
const
carla::rpc::VehiclePhysicsControl
&vehicle_physics);
52
53
void
SetLogLevel
(
const
uint8_t log_level);
54
55
private
:
56
/// @brief the logger instance
57
std::shared_ptr<spdlog::logger>
_logger
;
58
};
59
60
}
// namespace rss
61
}
// namespace carla
carla::rpc::VehicleControl
Definition
LibCarla/source/carla/rpc/VehicleControl.h:20
carla::rpc::VehiclePhysicsControl
Definition
LibCarla/source/carla/rpc/VehiclePhysicsControl.h:21
carla::rss::RssRestrictor
class implementing the RSS restrictions within CARLA
Definition
RssRestrictor.h:35
carla::rss::RssRestrictor::RssRestrictor
RssRestrictor()
constructor
Definition
RssRestrictor.cpp:19
carla::rss::RssRestrictor::_logger
std::shared_ptr< spdlog::logger > _logger
the logger instance
Definition
RssRestrictor.h:57
carla::rss::RssRestrictor::RestrictVehicleControl
carla::rpc::VehicleControl RestrictVehicleControl(const carla::rpc::VehicleControl &vehicle_control, const ::ad::rss::state::ProperResponse &proper_response, const carla::rss::EgoDynamicsOnRoute &ego_dynamics_on_route, const carla::rpc::VehiclePhysicsControl &vehicle_physics)
the actual function to restrict the given vehicle control input to mimick RSS conform behavior by bra...
Definition
RssRestrictor.cpp:38
carla::rss::RssRestrictor::SetLogLevel
void SetLogLevel(const uint8_t log_level)
Definition
RssRestrictor.cpp:31
carla::rss::RssRestrictor::~RssRestrictor
~RssRestrictor()
destructor
ad
Definition
RssRestrictor.h:11
carla
This file contains definitions of common data structures used in traffic manager.
Definition
Carla.cpp:133
carla::rss::EgoDynamicsOnRoute
struct defining the ego vehicles current dynamics in respect to the current route
Definition
RssCheck.h:40
制作者
1.10.0