From 2b3f0633d15ddd8ea64f67f5081317476d53ea1c Mon Sep 17 00:00:00 2001 From: Max Beutelspacher Date: Thu, 19 Sep 2024 19:16:42 +0200 Subject: [PATCH] fix: adaptions for v2.1 --- vda5050_msgs/CMakeLists.txt | 6 ++++-- vda5050_msgs/msg/Corridor.msg | 7 +++++++ vda5050_msgs/msg/Edge.msg | 7 +++++++ vda5050_msgs/msg/Error.msg | 1 + vda5050_msgs/msg/InstantActions.msg | 2 +- vda5050_msgs/msg/Load.msg | 2 +- vda5050_msgs/msg/Map.msg | 8 ++++++++ vda5050_msgs/msg/State.msg | 13 ++++--------- 8 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 vda5050_msgs/msg/Corridor.msg create mode 100644 vda5050_msgs/msg/Map.msg diff --git a/vda5050_msgs/CMakeLists.txt b/vda5050_msgs/CMakeLists.txt index 94fe3c6..352529f 100644 --- a/vda5050_msgs/CMakeLists.txt +++ b/vda5050_msgs/CMakeLists.txt @@ -24,16 +24,18 @@ set(msg_files "msg/BoundingBoxReference.msg" "msg/Connection.msg" "msg/ControlPoint.msg" + "msg/Corridor.msg" "msg/Edge.msg" "msg/EdgeState.msg" "msg/Error.msg" "msg/ErrorReference.msg" + "msg/Header.msg" "msg/Info.msg" "msg/InfoReference.msg" - "msg/Header.msg" "msg/InstantActions.msg" "msg/Load.msg" "msg/LoadDimensions.msg" + "msg/Map.msg" "msg/Node.msg" "msg/NodePosition.msg" "msg/NodeState.msg" @@ -46,7 +48,7 @@ set(msg_files ) rosidl_generate_interfaces(${PROJECT_NAME} ${msg_files} - DEPENDENCIES + DEPENDENCIES std_msgs builtin_interfaces ) diff --git a/vda5050_msgs/msg/Corridor.msg b/vda5050_msgs/msg/Corridor.msg new file mode 100644 index 0000000..b2e1945 --- /dev/null +++ b/vda5050_msgs/msg/Corridor.msg @@ -0,0 +1,7 @@ +float64 left_width # Defines the width of the corridor in meters to the left related to the trajectory of the vehicle. +float64 right_width # Defines the width of the corridor in meters to the right related to the trajectory of the vehicle. +string corridor_ref_point # Defines whether the boundaries are valid for the kinematic center or the contour of the vehicle. + +#Enums for corridor_ref_point +string KINEMATICCENTER="KINEMATICCENTER" +string CONTOUR="CONTOUR" diff --git a/vda5050_msgs/msg/Edge.msg b/vda5050_msgs/msg/Edge.msg index e1edd05..7b33ca6 100644 --- a/vda5050_msgs/msg/Edge.msg +++ b/vda5050_msgs/msg/Edge.msg @@ -29,6 +29,8 @@ float64 orientation # [rad] Orientation of the AGV on the edge r # If a trajectory with orientation is defined, follow the trajectories orientation. # If a trajectory without orientation and the orientation field here is defined, # apply the orientation to the tangent of the trajectory. +string orientation_type # "GLOBAL"- relative to the global project specific map coordinate system; + # "TANGENTIAL"- tangential to the edge. If not defined, the default value is "TANGENTIAL" string direction # Sets direction at junctions for line-guided vehicles, to be defined initially # (vehicle individual) Example: left, right, straight, 433MHz @@ -39,6 +41,7 @@ float64 max_rotation_speed # [rad/s] Maximum rotation speed Optional: N vda5050_msgs/Trajectory trajectory # Trajectory JSON-object for this edge as a NURBS. Defines the curve on which the # AGV should move between start_node and end_node. Optional: Can be omitted if AGV # cannot process trajectories or if AGV plans its own trajectory. +vda5050_msgs/Corridor corridor # Definition of boundaries in which a vehicle can deviate from its trajectory, e. g. to avoid obstacles. float64 length # [m] Length of the path from startNode to endNode. Optional: This value is used # by lineguided AGVs to decrease their speed before reaching a stop position. @@ -46,3 +49,7 @@ vda5050_msgs/Action[] actions # Array of action_ids to be executed on the # only be active for the time that the AGV is traversing the edge which triggered # the action. When the AGV leaves the edge, the action will stop and the state # before entering the edge will be restored. + +# Enum for orientation_type +string GLOBAL="GLOBAL" +string TANGENTIAL="TANGENTIAL" diff --git a/vda5050_msgs/msg/Error.msg b/vda5050_msgs/msg/Error.msg index fddbc7c..f09a4ee 100644 --- a/vda5050_msgs/msg/Error.msg +++ b/vda5050_msgs/msg/Error.msg @@ -6,6 +6,7 @@ string error_description # Error description string error_level # Enum {warning, fatal} warning: AGV is ready to start (e.g. maintenance # cycle expiration warning) fatal: AGV is not in running condition, user # intervention required (e.g. laser scanner is contaminated) +string error_hint # Hint on how to approach or solve the reported error. # Enums for error_level string WARNING="warning" diff --git a/vda5050_msgs/msg/InstantActions.msg b/vda5050_msgs/msg/InstantActions.msg index 474e6c7..75fe8de 100644 --- a/vda5050_msgs/msg/InstantActions.msg +++ b/vda5050_msgs/msg/InstantActions.msg @@ -9,4 +9,4 @@ string manufacturer # Manufacturer of the AGV string serial_number # Serial Number of the AGV -Action[] instant_actions # List of actions to execute +Action[] actions # List of actions to execute diff --git a/vda5050_msgs/msg/Load.msg b/vda5050_msgs/msg/Load.msg index 0723cf5..6d02d26 100644 --- a/vda5050_msgs/msg/Load.msg +++ b/vda5050_msgs/msg/Load.msg @@ -14,4 +14,4 @@ vda5050_msgs/BoundingBoxReference bounding_box_reference # Point of reference f vda5050_msgs/LoadDimensions load_dimensions # Dimensions of the load’s bounding box in meters. -uint32 weight # Absolute weight of the load measured in kg. +float64 weight # Absolute weight of the load measured in kg. diff --git a/vda5050_msgs/msg/Map.msg b/vda5050_msgs/msg/Map.msg new file mode 100644 index 0000000..2296ccb --- /dev/null +++ b/vda5050_msgs/msg/Map.msg @@ -0,0 +1,8 @@ +string map_id # ID of the map describing a defined area of the vehicle's workspace. +string map_version # Version of the map. +string map_description # Additional information on the map. +string map_status # Information on the status of the map indicating, if a map version is currently used on the vehicle. ENABLED: Indicates this map is currently active / used on the AGV. At most one map with the same mapId can have its status set to ENABLED.
DISABLED: Indicates this map version is currently not enabled on the AGV and thus could be enabled or deleted by request. + +# Enums for map status +string ENABLED="ENABLED" +string DISABLED="DISABLED" diff --git a/vda5050_msgs/msg/State.msg b/vda5050_msgs/msg/State.msg index 2682372..6b07e81 100644 --- a/vda5050_msgs/msg/State.msg +++ b/vda5050_msgs/msg/State.msg @@ -51,10 +51,6 @@ vda5050_msgs/AGVPosition agv_position # Current position of the A vda5050_msgs/Velocity velocity # AGV's velocity in vehicle coordinates -vda5050_msgs/Trajectory trajectory # The trajectory is to be communicated as a NURBS and is defined in - # chapter 5.1. Optional: AGVs that plan their own path are to - # communicate their path via a trajectory object. - vda5050_msgs/Load[] loads # Loads that are currently handled by the AGV. # Optional: If AGV cannot determine load state, leave the array out of the state. # If the AGV can determine the load state, but the array is empty, the AGV is considered unloaded. @@ -72,11 +68,10 @@ vda5050_msgs/Error[] errors # Array of errorobjects. Em vda5050_msgs/SafetyState safety_state # Contains all safetyrelated information. -vda5050_msgs/Info[] informations # Array of info-objects. An empty array indicates that the AGV has no information. - # This should only be used for visualization or debugging – it must not be used for logic in master control - # Changed to information with 2.0 - - +vda5050_msgs/Info[] information # Array of info-objects. An empty array indicates that the AGV has no information. + # This should only be used for visualization or debugging – it must not be used for logic in master control + # Changed to information with 2.0 +vda5050_msgs/Map[] maps #Array of map-objects that are currently stored on the vehicle. # Enums for operatingMode string AUTOMATIC="AUTOMATIC"