6 #include <std_msgs/Bool.h> 7 #include <std_msgs/Int32.h> 8 #include <std_msgs/Time.h> 34 int m_update_frequency;
41 ros::Duration m_expiration_time;
45 ros::Duration m_emergencystop_expiration_time;
47 ros::Time m_last_heartbeat_manual;
48 ros::Time m_last_heartbeat_autonomous;
49 ros::Time m_last_emergencystop;
51 ros::NodeHandle m_node_handle;
52 ros::Subscriber m_heartbeat_manual_subscriber;
53 ros::Subscriber m_heartbeat_autonomous_subscriber;
54 ros::Subscriber m_emergencystop_subscriber;
55 ros::Publisher m_drive_mode_publisher;
56 ros::Publisher m_command_emergencystop_publisher;
58 void configureParameters();
59 void publishDriveMode();
60 void publishCommandEmergencyStop();
62 void heartbeatManualCallback(
const std_msgs::Time::ConstPtr&
message);
63 void heartbeatAutonomousCallback(
const std_msgs::Time::ConstPtr& message);
64 void emergencystopCallback(
const std_msgs::Time::ConstPtr& message);
66 bool getEmergencyStop();
constexpr const char * TOPIC_HEARTBEAT_MANUAL
constexpr const char * PARAMETER_MODE_OVERRIDE
constexpr const char * TOPIC_HEARTBEAT_AUTONOMOUS
constexpr const char * TOPIC_EMERGENCYSTOP
constexpr const char * PARAMETER_EMERGENCYSTOP_EXPIRATION
constexpr const char * PARAMETER_DMS_CHECK_RATE
constexpr const char * PARAMETER_DMS_EXPIRATION
constexpr DriveMode NO_OVERRIDE
constexpr const char * TOPIC_COMMAND_EMERGENCYSTOP
constexpr const char * TOPIC_DRIVE_MODE