37 namespace controller {
41 std::string ego_sensor = to_string(CloeComponent::DEFAULT_EGO_SENSOR);
42 std::string world_sensor = to_string(CloeComponent::DEFAULT_WORLD_SENSOR);
43 std::string latlong_actuator = to_string(CloeComponent::DEFAULT_LATLONG_ACTUATOR);
45 double limit_deceleration = 5.0;
46 double limit_acceleration = 3.0;
91 {
"ego_sensor",
Schema(&ego_sensor,
"ego sensor component to read from")},
92 {
"world_sensor",
Schema(&world_sensor,
"world_sensor component to read from")},
93 {
"latlong_actuator",
Schema(&latlong_actuator,
"actuator to write to")},
94 {
"limit_acceleration",
Schema(&limit_acceleration,
"acceleration limit in [m/s^2]")},
95 {
"limit_deceleration",
Schema(&limit_deceleration,
"how much deceleration is allowed, in [m/s^2]")},
96 {
"derivative_factor_speed_control",
Schema(&kd,
"factor to tune the D term of the PID speed controller")},
97 {
"proportional_factor_speed_control",
Schema(&kp,
"factor to tune the P term of the PID speed controller")},
98 {
"integral_factor_speed_control",
Schema(&ki,
"factor to tune the I term of the PID speed controller")},
99 {
"derivative_factor_dist_control",
Schema(&kd_m,
"factor to tune the D term of the PID distance controller")},
100 {
"proportional_factor_dist_control",
Schema(&kp_m,
"factor to tune the P term of the PID distance controller")},
101 {
"integral_factor_dist_control",
Schema(&ki_m,
"factor to tune the I term of the PID distance controller")},
109 std::string ego_sensor = to_string(CloeComponent::DEFAULT_EGO_SENSOR);
110 std::string world_sensor = to_string(CloeComponent::DEFAULT_WORLD_SENSOR);
111 std::string latlong_actuator = to_string(CloeComponent::DEFAULT_LATLONG_ACTUATOR);
112 bool always_full_stop =
false;
113 double limit_deceleration = 8.0;
118 {
"enabled",
Schema(&enabled,
"whether automatic emergency braking is enabled")},
119 {
"ego_sensor",
Schema(&ego_sensor,
"ego sensor component to read from")},
120 {
"world_sensor",
Schema(&world_sensor,
"world_sensor component to read from")},
121 {
"latlong_actuator",
Schema(&latlong_actuator,
"actuator to write to")},
122 {
"always_full_stop",
Schema(&always_full_stop,
"whether to brake to a full-stop on activation")},
123 {
"limit_deceleration",
Schema(&limit_deceleration,
"how much deceleration is allowed, in [m/s^2]")},
130 bool enabled =
false;
131 std::string world_sensor = to_string(CloeComponent::DEFAULT_WORLD_SENSOR);
132 std::string latlong_actuator = to_string(CloeComponent::DEFAULT_LATLONG_ACTUATOR);
133 double adjustment_rad = 0.02;
134 double tolerance = 0.1;
135 double lerp_factor = 0.1;
140 {
"enabled",
Schema(&enabled,
"whether lane keeping assist is enabled")},
141 {
"world_sensor",
Schema(&world_sensor,
"world_sensor component to read from")},
142 {
"latlong_actuator",
Schema(&latlong_actuator,
"actuator to write to")},
143 {
"adjustment_rad",
Schema(&adjustment_rad,
"wheel angle adjustment in [rad]")},
144 {
"tolerance",
Schema(&tolerance,
"absolute tolerance in [m]")},
145 {
"lerp_factor",
Schema(&lerp_factor,
"linear interpolation factor with domain (0-1]")},
155 std::string driver_request;
157 void to_json(Json& j)
const override {
168 {
"acc",
Schema(&acc,
"ACC configuration")},
169 {
"aeb",
Schema(&aeb,
"AEB configuration")},
170 {
"lka",
Schema(&lka,
"LKA configuration")},
171 {
"driver_request",
Schema(&driver_request,
"component providing driver request")},
178 "very basic vehicle controller")
Definition: confable.hpp:43
Json to_json() const
Definition: confable.cpp:78
Definition: schema.hpp:175
#define DEFINE_CONTROLLER_FACTORY(xFactoryType, xConfigType, xName, xDescription)
Definition: controller.hpp:48
Definition: basic.hpp:107
Definition: basic.hpp:151
Definition: basic.hpp:129