CARLA
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
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
struct defining the ego vehicles current dynamics in respect to the current route ...
Definition: RssCheck.h:40
std::shared_ptr< spdlog::logger > _logger
the logger instance
Definition: RssRestrictor.h:57
This file contains definitions of common data structures used in traffic manager. ...
Definition: Carla.cpp:133
class implementing the RSS restrictions within CARLA
Definition: RssRestrictor.h:35