25 const double& speed_limit_auto,
27 : speed_limit_t1_(speed_limit_t1)
28 , speed_limit_auto_(speed_limit_auto)
29 , set_speed_limit_func_(set_speed_limit_func)
36 ROS_DEBUG(
"updateOperationMode: %d", operation_mode.value);
43 double speed_limit {0};
44 switch(operation_mode.value)
46 case OperationModes::T1:
50 case OperationModes::AUTO:
66 GetSpeedOverride::Response& response)
std::atomic< double > speed_override_
The active speed override.
bool getSpeedOverride(GetSpeedOverride::Request &, GetSpeedOverride::Response &response)
ros::Time time_stamp_last_op_mode_
Time stamp of the last received operation mode.
SetSpeedLimitFunc set_speed_limit_func_
Function used to propagate speed limit changes into the system.
const double speed_limit_t1_
The allowed speed limit in operation mode T1.
const double speed_limit_auto_
The allowed speed limit in operation mode AUTOMATIC.
OperationModeSetupExecutor(const double &speed_limit_t1, const double &speed_limit_auto, const SetSpeedLimitFunc &set_speed_limit_func)
Ctor.
std::function< bool(const double &)> SetSpeedLimitFunc
void updateOperationMode(const OperationModes &operation_mode)
Function to be called whenever a new operation mode is set.