CARLA
LibCarla
source
carla
rss
RssRestrictor.h
Go to the documentation of this file.
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::rss::EgoDynamicsOnRoute
struct defining the ego vehicles current dynamics in respect to the current route ...
Definition:
RssCheck.h:40
carla::rss::RssRestrictor::_logger
std::shared_ptr< spdlog::logger > _logger
the logger instance
Definition:
RssRestrictor.h:57
carla
This file contains definitions of common data structures used in traffic manager. ...
Definition:
Carla.cpp:133
carla::rss::RssRestrictor
class implementing the RSS restrictions within CARLA
Definition:
RssRestrictor.h:35
ad
Definition:
RssRestrictor.h:11
carla::rpc::VehicleControl
Definition:
LibCarla/source/carla/rpc/VehicleControl.h:20
carla::rpc::VehiclePhysicsControl
Definition:
LibCarla/source/carla/rpc/VehiclePhysicsControl.h:21
Generated by
1.8.13