diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/CMakeLists.txt b/clearpath_outdoornav_msgs/clearpath_safety_msgs/CMakeLists.txt index f3e505c..a928aad 100644 --- a/clearpath_outdoornav_msgs/clearpath_safety_msgs/CMakeLists.txt +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/CMakeLists.txt @@ -5,6 +5,7 @@ project(clearpath_safety_msgs) find_package(rosidl_default_generators REQUIRED) find_package(ament_cmake REQUIRED) +find_package(std_msgs REQUIRED) set(CMAKE_CXX_STANDARD 17) rosidl_generate_interfaces( @@ -12,7 +13,40 @@ rosidl_generate_interfaces( msg/AssistedTeleopState.msg msg/ObstacleMap.msg msg/Safety.msg + msg/WatchdogConfigArray.msg + msg/WatchdogConfigCommon.msg + msg/WatchdogConfigCommunication.msg + msg/WatchdogConfigHeartbeat.msg + msg/WatchdogConfigInclination.msg + msg/WatchdogConfigNodeletStatus.msg + msg/WatchdogConfigNodeStatus.msg + msg/WatchdogConfigNumPoints.msg + msg/WatchdogConfigOdomCovariance.msg + msg/WatchdogConfigRtkFix.msg + msg/WatchdogConfigTopicData.msg msg/WatchdogStatus.msg + msg/WatchdogStatusArray.msg + srv/AddCommunicationWatchdog.srv + srv/AddHeartbeatWatchdog.srv + srv/AddInclinationWatchdog.srv + srv/AddNodeletStatusWatchdog.srv + srv/AddNodeStatusWatchdog.srv + srv/AddNumPointsWatchdog.srv + srv/AddOdomCovarianceWatchdog.srv + srv/AddRtkFixWatchdog.srv + srv/AddTopicDataWatchdog.srv + srv/RemoveWatchdog.srv + srv/UpdateCommunicationWatchdog.srv + srv/UpdateHeartbeatWatchdog.srv + srv/UpdateInclinationWatchdog.srv + srv/UpdateNodeletStatusWatchdog.srv + srv/UpdateNodeStatusWatchdog.srv + srv/UpdateNumPointsWatchdog.srv + srv/UpdateOdomCovarianceWatchdog.srv + srv/UpdateRtkFixWatchdog.srv + srv/UpdateTopicDataWatchdog.srv + DEPENDENCIES + std_msgs ) ament_package() diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/AssistedTeleopState.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/AssistedTeleopState.msg index 8ff26d5..eca2f4c 100644 --- a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/AssistedTeleopState.msg +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/AssistedTeleopState.msg @@ -12,6 +12,7 @@ uint8 ASSIST_ON = 100 uint8 ASSIST_OFF_SERVICE = 101 uint8 ASSIST_OFF_JOYSTICK_OVERRIDE = 102 uint8 ASSIST_OFF_SENSOR_TIMEOUT = 103 +uint8 ASSIST_OFF_REMOTE_CONTROLLER_OVERRIDE = 104 uint8 assist_off_trigger string error_message diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigArray.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigArray.msg new file mode 100644 index 0000000..8dc9a70 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigArray.msg @@ -0,0 +1,13 @@ +# Watchdog config message containing information related to device +# monitoring and what action should be taken to recover from an error + + +WatchdogConfigCommunication[] communication_config +WatchdogConfigHeartbeat[] heartbeat_config +WatchdogConfigInclination[] inclination_config +WatchdogConfigNodeStatus[] node_status_config +WatchdogConfigNodeletStatus[] nodelet_status_config +WatchdogConfigNumPoints[] num_points_config +WatchdogConfigOdomCovariance[] odom_covariance_config +WatchdogConfigRtkFix[] rtk_fix_config +WatchdogConfigTopicData[] topic_data_config diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommon.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommon.msg new file mode 100644 index 0000000..a1fdff0 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommon.msg @@ -0,0 +1,6 @@ +string name +string type +bool enabled +string[] components +string on_trigger_action +# string[] on_trigger_options diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommunication.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommunication.msg new file mode 100644 index 0000000..210836f --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigCommunication.msg @@ -0,0 +1,5 @@ +WatchdogConfigCommon base_config +string protocol +string ip # only used when protocol is 'ip' +string interface # only used when protocol is 'can' or 'serial' +float32 timeout \ No newline at end of file diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.msg new file mode 100644 index 0000000..882a10d --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigHeartbeat.msg @@ -0,0 +1,3 @@ +WatchdogConfigCommon base_config +string topic +float32 timeout diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigInclination.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigInclination.msg new file mode 100644 index 0000000..9c74a0b --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigInclination.msg @@ -0,0 +1,5 @@ +WatchdogConfigCommon base_config +float32 roll_limit +float32 pitch_limit +float32 delay +string topic diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.msg new file mode 100644 index 0000000..9c64093 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeStatus.msg @@ -0,0 +1,3 @@ +WatchdogConfigCommon base_config +string node_name +uint8 num_requests diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.msg new file mode 100644 index 0000000..cc5716b --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNodeletStatus.msg @@ -0,0 +1,4 @@ +WatchdogConfigCommon base_config +string manager +string nodelet +uint8 num_requests diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.msg new file mode 100644 index 0000000..1a166bc --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigNumPoints.msg @@ -0,0 +1,3 @@ +WatchdogConfigCommon base_config +string topic +int32 threshold diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.msg new file mode 100644 index 0000000..f6d24d8 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigOdomCovariance.msg @@ -0,0 +1,5 @@ +WatchdogConfigCommon base_config +string topic # Odometry topic +float32 xy_threshold +float32 yaw_threshold +float32 timeout diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.msg new file mode 100644 index 0000000..88d331f --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigRtkFix.msg @@ -0,0 +1,6 @@ +WatchdogConfigCommon base_config + +bool rtk_heading_required +bool rtk_position_required +float32 timeout +string gnss_type # Either 'swiftnav' or 'xvn' diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigTopicData.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigTopicData.msg new file mode 100644 index 0000000..882a10d --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogConfigTopicData.msg @@ -0,0 +1,3 @@ +WatchdogConfigCommon base_config +string topic +float32 timeout diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatus.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatus.msg index a42e8db..c6e7e7c 100644 --- a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatus.msg +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatus.msg @@ -1,5 +1,8 @@ -# Watchdog status message containing information related to sensor monitoring, emergency stop and safety stops +# The message definition for a Watchdog including the type of watchdog, whether it +# has been triggered or not and the recovery taken. -bool[] gps_watchdog_triggered -bool[] lidar_watchdog_triggered -bool[] camera_watchdog_triggered + +string name +bool triggered +string trigger_message +string action diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatusArray.msg b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatusArray.msg new file mode 100644 index 0000000..c9145ba --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/msg/WatchdogStatusArray.msg @@ -0,0 +1,5 @@ +# Watchdog status message containing information related to device +# monitoring and what action has been taken to recover from an error + +std_msgs/Header header +WatchdogStatus[] statuses diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddCommunicationWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddCommunicationWatchdog.srv new file mode 100644 index 0000000..bd9a912 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddCommunicationWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigCommunication config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.srv new file mode 100644 index 0000000..0dc753e --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddHeartbeatWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigHeartbeat config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddInclinationWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddInclinationWatchdog.srv new file mode 100644 index 0000000..2fd425d --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddInclinationWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigInclination config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.srv new file mode 100644 index 0000000..d167fbf --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeStatusWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNodeStatus config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.srv new file mode 100644 index 0000000..6a9650b --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNodeletStatusWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNodeletStatus config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNumPointsWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNumPointsWatchdog.srv new file mode 100644 index 0000000..4a4b6e5 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddNumPointsWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNumPoints config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.srv new file mode 100644 index 0000000..04100b9 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddOdomCovarianceWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigOdomCovariance config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddRtkFixWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddRtkFixWatchdog.srv new file mode 100644 index 0000000..125fa2d --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddRtkFixWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigRtkFix config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddTopicDataWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddTopicDataWatchdog.srv new file mode 100644 index 0000000..d08f243 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/AddTopicDataWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigTopicData config + +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/RemoveWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/RemoveWatchdog.srv new file mode 100644 index 0000000..a2e6dcf --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/RemoveWatchdog.srv @@ -0,0 +1,4 @@ + +string name +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.srv new file mode 100644 index 0000000..2635315 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateCommunicationWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigCommunication new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.srv new file mode 100644 index 0000000..9aee227 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateHeartbeatWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigHeartbeat new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.srv new file mode 100644 index 0000000..550fb49 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateInclinationWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigInclination new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.srv new file mode 100644 index 0000000..9f373c5 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeStatusWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNodeStatus new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.srv new file mode 100644 index 0000000..070750e --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNodeletStatusWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNodeletStatus new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.srv new file mode 100644 index 0000000..bbecc50 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateNumPointsWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigNumPoints new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.srv new file mode 100644 index 0000000..9a50948 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateOdomCovarianceWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigOdomCovariance new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.srv new file mode 100644 index 0000000..5950b66 --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateRtkFixWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigRtkFix new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success diff --git a/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.srv b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.srv new file mode 100644 index 0000000..58f206b --- /dev/null +++ b/clearpath_outdoornav_msgs/clearpath_safety_msgs/srv/UpdateTopicDataWatchdog.srv @@ -0,0 +1,5 @@ + +WatchdogConfigTopicData new_config +string current_name # used as a key to find the watchdog in the list of watchdogs +--- +bool success