From 941169a9e9fad2ff5e11421b9b394e6266de3c91 Mon Sep 17 00:00:00 2001 From: Florian Rothmeyer Date: Thu, 8 Dec 2022 14:13:42 +0100 Subject: [PATCH 1/8] add message definitions for State and ActionState --- CMakeLists.txt | 2 ++ msg/ActionState.msg | 25 +++++++++++++++ msg/State.msg | 75 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 msg/ActionState.msg create mode 100644 msg/State.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c94797..aedbd6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ add_message_files( AGVPosition.msg Action.msg ActionParameter.msg + ActionState.msg BatteryState.msg BoundingBoxReference.msg Connection.msg @@ -35,6 +36,7 @@ add_message_files( Order.msg OrderInformation.msg SafetyState.msg + State.msg Trajectory.msg Velocity.msg Visualization.msg diff --git a/msg/ActionState.msg b/msg/ActionState.msg new file mode 100644 index 0000000..29a62fa --- /dev/null +++ b/msg/ActionState.msg @@ -0,0 +1,25 @@ +# HEADER +vda5050_msgs/Header header # header of the message + +# CONTENTS +string actionID # action_ID +string actionType # actionType of the action. + # Optional: Only for informational or visualization purposes. Order knows the type. + +string actionStatus # waiting: waiting for trigger + # (passing the node, entering the edge) + # Paused: paused by instantAction or external trigger + # failed: action could not be performed. + +string resultDescription # Description of the result, e.g. the result of a RFID-read. + # Errors will be transmitted in errors. Examples for results are given in 6.5 + + +# Enums for actionStatus +string waiting=waiting +string initializing=initializing +string running=running +string paused=paused +string finished=finished +string failed=failed + diff --git a/msg/State.msg b/msg/State.msg new file mode 100644 index 0000000..8271724 --- /dev/null +++ b/msg/State.msg @@ -0,0 +1,75 @@ +# state msg +# HEADER +vda5050_msgs/Header header # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent + # (but not necessarily received) message. + +# CONTENTS +string orderId # Unique order identification of the current order or the previous finished order. + # The orderId is kept until a new order is received. + # Empty string ("") if no previous orderId is available. + +uint32 orderUpdateId # Order Update Identification to identify that an order update has been accepted by the AGV. + # “0” if no previous orderUpdateId is available. + +string zoneSetId # Unique ID of the zone set that the AGV currently uses for path planning. + # Must bethe same as the one used in the order, otherwise the AGV has to reject the order. + # Optional: If the AGV does not use zones, this field can be omitted. + + +string lastNodeId # nodeId of last reached node or, if AGV is currently on a node, current node (e.g.„node7”). Empty string ("") if no lastNodeId is available. + +uint32 lastNodeSequenceId # sequenceId of the last reached node or, if the AGV is currently on a node, sequenceId of current node. + # “0” if no lastNodeSequenceId is available. + +vda5050_msgs/NodeState[] nodeStates # Array of nodeState-Objects that need to be traversed for fulfilling the order. + +vda5050_msgs/EdgeState[] edgeStates # Array of edgeState-Objects that need to be traversed for fulfilling the order (empty list if idle). + +vda5050_msgs/AGVPosition agvPosition # Current position of the AGV on the map. + # Optional: Can only be omitted for AGVs without the capability to localize themselves, e.g. line guided AGVs. + +vda5050_msgs/Velocity velocity # The AGVs velocity in vehicle coordinates. + +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. + +bool driving # “true”: indicates that the AGV is driving and/or rotating. + # Other movements of the AGV (e.g. lift movements) are not included here. + # “false”: indicates that the AGV is neither driving nor rotating. + +bool paused # True: AGV is currently in a paused state, either because of the push of a physical button on the AGV or instantAction because of an instantAction. + # The AGV can resume the order. + # False: The AGV is currently not in a paused state. + +bool newBaseRequest # “true”: AGV is almost at the end of the base and will reduce speed if no new base is transmitted. + # Trigger for MC to send a new base. + # “false”: no base request required. + +float64 distanceSinceLastNode # Used by line guided vehicles to indicate the distance it has been driving past the „lastNodeIdId“. + # Distance is in meters + + +vda5050_msgs/ActionState[] actionStates # Contains a list of the current actions and the actions which are yet to be finished. + # This may include actions from previous nodes that are still in progress. + # When an action is completed, an updated state message is published with actionStatus set to finished + # and if applicable with the corresponding resultDescription. + # The action state is kept until a new order is received. + +vda5050_msgs/BatteryState batteryState # Contains all battery-related information. +string operatingMode # For additional information, see the table OperatingModes in the chapter 6.10.6. +vda5050_msgs/Error[] errors # Array of error-objects. All active errors of the AGV should be in the list. + # An empty array indicates that the AGV has no active errors. + +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. + +vda5050_msgs/SafetyState safetyState # Contains all safety-related information. + +# Enums for operatingMode +string AUTOMATIC=AUTOMATIC +string SEMIAUTOMATIC=SEMIAUTOMATIC +string MANUAL=MANUAL +string SERVICE=SERVICE +string TEACHIN=TEACHIN + From cc731c9c2ae61c20c3ad5ddcfc1768a9720578f0 Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Wed, 22 Feb 2023 10:46:07 +0100 Subject: [PATCH 2/8] Added missing msg types and updated State message header --- msg/ActionStates.msg | 1 + msg/EdgeStates.msg | 1 + msg/Errors.msg | 1 + msg/Information.msg | 1 + msg/Loads.msg | 1 + msg/NodeStates.msg | 3 +++ msg/OrderActions.msg | 5 +++++ msg/OrderMotion.msg | 31 +++++++++++++++++++++++++++++++ msg/State.msg | 15 +++++++++++---- 9 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 msg/ActionStates.msg create mode 100644 msg/EdgeStates.msg create mode 100644 msg/Errors.msg create mode 100644 msg/Information.msg create mode 100644 msg/Loads.msg create mode 100644 msg/NodeStates.msg create mode 100644 msg/OrderActions.msg create mode 100644 msg/OrderMotion.msg diff --git a/msg/ActionStates.msg b/msg/ActionStates.msg new file mode 100644 index 0000000..50a5c2e --- /dev/null +++ b/msg/ActionStates.msg @@ -0,0 +1 @@ +vda5050_msgs/ActionState[] actionStates diff --git a/msg/EdgeStates.msg b/msg/EdgeStates.msg new file mode 100644 index 0000000..5a62062 --- /dev/null +++ b/msg/EdgeStates.msg @@ -0,0 +1 @@ +vda5050_msgs/EdgeState[] edgeStates diff --git a/msg/Errors.msg b/msg/Errors.msg new file mode 100644 index 0000000..dcf6aa1 --- /dev/null +++ b/msg/Errors.msg @@ -0,0 +1 @@ +vda5050_msgs/Error[] errors diff --git a/msg/Information.msg b/msg/Information.msg new file mode 100644 index 0000000..ecdf2ef --- /dev/null +++ b/msg/Information.msg @@ -0,0 +1 @@ +vda5050_msgs/Info[] informations diff --git a/msg/Loads.msg b/msg/Loads.msg new file mode 100644 index 0000000..cda43e0 --- /dev/null +++ b/msg/Loads.msg @@ -0,0 +1 @@ +vda5050_msgs/Load[] loads diff --git a/msg/NodeStates.msg b/msg/NodeStates.msg new file mode 100644 index 0000000..a51a8e4 --- /dev/null +++ b/msg/NodeStates.msg @@ -0,0 +1,3 @@ +# Array of nodes to be traversed for fulfilling the order + +vda5050_msgs/NodeState[] nodeStates diff --git a/msg/OrderActions.msg b/msg/OrderActions.msg new file mode 100644 index 0000000..20ced39 --- /dev/null +++ b/msg/OrderActions.msg @@ -0,0 +1,5 @@ +# Batch of actions extended by orderId for communication between order daemon and action daemon. + +string orderId # Unique order identification + +vda5050_msgs/Action[] orderActions # Array of actionIds to be executed. \ No newline at end of file diff --git a/msg/OrderMotion.msg b/msg/OrderMotion.msg new file mode 100644 index 0000000..27065bf --- /dev/null +++ b/msg/OrderMotion.msg @@ -0,0 +1,31 @@ +# All driving motion related information of one edge. + +float64 maxSpeed # [m/s] Permitted maximum speed on the edge. Speed is defined by the fastest point of the + # vehicle. + +float64 maxHeight # [m] Permitted maximum height of the vehicle, including the load, on edge +float64 minHeight # [m] Permitted minimal height of the edge measured at the bottom of the load +float64 orientation # [rad] Orientation of the AGV on the edge relative to the global project specific + # map coordinate origin (for holonomic vehicles with more than one driving + # direction). + # Example: orientation Pi/2 rad will lead to a rotation of 90 degrees. + # If AGVstarts in different orientation, rotate the vehicle on the edge to the + # desired orientation if rotationAllowed is set to “true”. If rotationAllowed + # is “false", rotate before entering the edge. If that is not possible, reject + # the order. + # 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 direction # Sets direction at junctions for line-guided vehicles, to be defined initially + # (vehicle individual) Example: left, right, straight, 433MHz + +bool rotationAllowed # “true”: rotation is allowed on the edge. “false”: rotation is not allowed on the edge. + # Optional: Default to “false”. If this value is set, rotation is allowed on the edge. +float64 maxRotationSpeed # [rad/s] Maximum rotation speed Optional: No limit if not set +vda5050_msgs/Trajectory trajectory # Trajectory JSON-object for this edge as a NURBS. Defines the curve on which the + # AGV should move between startNode and endNode. Optional: Can be omitted if AGV + # cannot process trajectories or if AGV plans its own trajectory. +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. +vda5050_msgs/NodePosition target # If no trajectory is defined, use coordinates of the target position. \ No newline at end of file diff --git a/msg/State.msg b/msg/State.msg index 8271724..a687883 100644 --- a/msg/State.msg +++ b/msg/State.msg @@ -1,7 +1,15 @@ # state msg # HEADER -vda5050_msgs/Header header # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent - # (but not necessarily received) message. +int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent + # (but not necessarily received) message. + +string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) + +string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) + +string manufacturer # Manufacturer of the AGV + +string serialNumber # Serial Number of the AGV # CONTENTS string orderId # Unique order identification of the current order or the previous finished order. @@ -71,5 +79,4 @@ string AUTOMATIC=AUTOMATIC string SEMIAUTOMATIC=SEMIAUTOMATIC string MANUAL=MANUAL string SERVICE=SERVICE -string TEACHIN=TEACHIN - +string TEACHIN=TEACHIN \ No newline at end of file From bff1cd15bd3b57db6978c103795614df0ebd8baa Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Wed, 22 Feb 2023 10:46:25 +0100 Subject: [PATCH 3/8] Updated CMakeLists --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index aedbd6c..1069a3b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ add_message_files( Action.msg ActionParameter.msg ActionState.msg + ActionStates.msg BatteryState.msg BoundingBoxReference.msg Connection.msg @@ -22,19 +23,26 @@ add_message_files( CurrentAction.msg Edge.msg EdgeState.msg + EdgeStates.msg Error.msg + Errors.msg ErrorReference.msg Header.msg InstantActions.msg Info.msg InfoReference.msg + Information.msg Load.msg LoadDimensions.msg + Loads.msg Node.msg NodePosition.msg NodeState.msg + NodeStates.msg Order.msg + OrderActions.msg OrderInformation.msg + OrderMotion.msg SafetyState.msg State.msg Trajectory.msg From 8b24088ac73cf58df90f7b2de6828de923ec2e88 Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Tue, 13 Jun 2023 14:33:32 +0200 Subject: [PATCH 4/8] Added zone update messages --- msg/Zone.msg | 13 +++++++++++++ msg/ZoneParameter.msg | 3 +++ msg/ZonePolygonPoint.msg | 3 +++ msg/ZoneUpdate.msg | 20 ++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 msg/Zone.msg create mode 100644 msg/ZoneParameter.msg create mode 100644 msg/ZonePolygonPoint.msg create mode 100644 msg/ZoneUpdate.msg diff --git a/msg/Zone.msg b/msg/Zone.msg new file mode 100644 index 0000000..5b12ebb --- /dev/null +++ b/msg/Zone.msg @@ -0,0 +1,13 @@ +string zoneId # ID of the zone + +string zoneType # Type of the zone + +string name # Name of the zone + +string description # Description of the zone + +string mapId # ID of the map that this zone belongs to. + +ZoneParameter[] zoneParameters # Parameters of the zone + +ZonePolygonPoint[] polygon # List of points that form the polygon of the zone diff --git a/msg/ZoneParameter.msg b/msg/ZoneParameter.msg new file mode 100644 index 0000000..14d70e3 --- /dev/null +++ b/msg/ZoneParameter.msg @@ -0,0 +1,3 @@ +string key # Key of the parameter + +string value # Value of the key \ No newline at end of file diff --git a/msg/ZonePolygonPoint.msg b/msg/ZonePolygonPoint.msg new file mode 100644 index 0000000..1c1484d --- /dev/null +++ b/msg/ZonePolygonPoint.msg @@ -0,0 +1,3 @@ +float64 x # Position of the polygon point on the X-axis + +float64 y # Position of the polygon point on the Y-axis \ No newline at end of file diff --git a/msg/ZoneUpdate.msg b/msg/ZoneUpdate.msg new file mode 100644 index 0000000..7b3e36e --- /dev/null +++ b/msg/ZoneUpdate.msg @@ -0,0 +1,20 @@ +# HEADER +int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent + # (but not necessarily received) message. + +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) + +string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) + +string manufacturer # Manufacturer of the AGV + +string serialNumber # Serial Number of the AGV + +# CONTENTS +string zoneSetId # The ID of the zone set being used + +string zoneDownloadLink # Link to download the zones + +string zoneDownloadProtocol # Protocol used to download the zones from the zoneDownloadLink + +Zone[] zones # List of zones to be used by the AGV \ No newline at end of file From 6aafd6fa2701bd03fd320a86723ae6a8a605108e Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Tue, 13 Jun 2023 14:34:15 +0200 Subject: [PATCH 5/8] Updated CMakeLists --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1069a3b..08a581c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,10 @@ add_message_files( Trajectory.msg Velocity.msg Visualization.msg + Zone.msg + ZoneParameter.msg + ZonePolygonPoint.msg + ZoneUpdate.msg ) generate_messages( DEPENDENCIES From f03d8477d16dd8c75de474a24556386c63237572 Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Tue, 13 Jun 2023 14:34:38 +0200 Subject: [PATCH 6/8] Updated timestamp field to match anyfleet --- msg/Connection.msg | 2 +- msg/Header.msg | 2 +- msg/InstantActions.msg | 2 +- msg/Order.msg | 2 +- msg/OrderInformation.msg | 2 +- msg/State.msg | 2 +- msg/Visualization.msg | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/msg/Connection.msg b/msg/Connection.msg index d083db2..12b9a53 100644 --- a/msg/Connection.msg +++ b/msg/Connection.msg @@ -2,7 +2,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/Header.msg b/msg/Header.msg index bbd6817..aecc6ba 100644 --- a/msg/Header.msg +++ b/msg/Header.msg @@ -1,7 +1,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/InstantActions.msg b/msg/InstantActions.msg index e6742b9..183a4dc 100644 --- a/msg/InstantActions.msg +++ b/msg/InstantActions.msg @@ -1,7 +1,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/Order.msg b/msg/Order.msg index 7be76ba..597998c 100644 --- a/msg/Order.msg +++ b/msg/Order.msg @@ -2,7 +2,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/OrderInformation.msg b/msg/OrderInformation.msg index 87ff62d..8adb9d2 100644 --- a/msg/OrderInformation.msg +++ b/msg/OrderInformation.msg @@ -2,7 +2,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/State.msg b/msg/State.msg index a687883..794e932 100644 --- a/msg/State.msg +++ b/msg/State.msg @@ -3,7 +3,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) diff --git a/msg/Visualization.msg b/msg/Visualization.msg index de136d9..532a68d 100644 --- a/msg/Visualization.msg +++ b/msg/Visualization.msg @@ -2,7 +2,7 @@ int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent # (but not necessarily received) message. -string timestamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) From d612a31b69d4a747b57afe76077000dd58028ff4 Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Fri, 16 Jun 2023 13:46:36 +0200 Subject: [PATCH 7/8] Updated eStop enum to be in all caps --- msg/SafetyState.msg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/msg/SafetyState.msg b/msg/SafetyState.msg index ad3346b..e22f645 100644 --- a/msg/SafetyState.msg +++ b/msg/SafetyState.msg @@ -1,12 +1,12 @@ -string eStop # Enum {autoAck, manual, remote, none} Acknowledge-Type of eStop: - # autoAck: autoacknowledgeable e-stop is activated e.g. by bumper or protective field - # manual: e-stop has to be acknowledged manually at the vehicle - # remote: facility estop has to be acknowledged remotely - # none: no e-stop activated +string eStop # Enum {AUTOACK, MANUAL, REMOTE, NONE} Acknowledge-Type of eStop: + # AUTOACK: autoacknowledgeable e-stop is activated e.g. by bumper or protective field + # MANUAL: e-stop has to be acknowledged manually at the vehicle + # REMOTE: facility estop has to be acknowledged remotely + # NONE: no e-stop activated bool fieldViolation # Protective field violation. True: field is violated False: field is not violated # Enums for eStop -string AUTO_ACK=autoAck -string MANUAL=manual -string REMOTE=remote -string NONE=none +string AUTOACK=AUTOACK +string MANUAL=MANUAL +string REMOTE=REMOTE +string NONE=NONE \ No newline at end of file From c58eaa4eafb1d1108012a73c64b1d23b38f5e00c Mon Sep 17 00:00:00 2001 From: jammoul271 Date: Wed, 12 Jul 2023 18:24:24 +0200 Subject: [PATCH 8/8] Updated message definitions --- CMakeLists.txt | 5 ----- msg/AGVPosition.msg | 9 ++++++--- msg/Action.msg | 2 +- msg/ActionParameter.msg | 1 + msg/ActionState.msg | 9 ++++----- msg/BatteryState.msg | 7 ++++++- msg/BoundingBoxReference.msg | 3 +++ msg/Connection.msg | 3 ++- msg/ControlPoint.msg | 4 ---- msg/CurrentAction.msg | 14 -------------- msg/Edge.msg | 14 ++++++++++++++ msg/EdgeState.msg | 5 +++-- msg/Error.msg | 20 +++++++++++--------- msg/ErrorReference.msg | 1 + msg/Header.msg | 10 ---------- msg/Info.msg | 11 +++++++---- msg/InfoReference.msg | 1 + msg/Information.msg | 2 +- msg/InstantActions.msg | 12 ++++++------ msg/Load.msg | 4 ++-- msg/LoadDimensions.msg | 2 ++ msg/Node.msg | 2 +- msg/NodePosition.msg | 14 +++++++------- msg/NodeState.msg | 6 +++++- msg/Order.msg | 5 ----- msg/OrderActions.msg | 5 ----- msg/OrderInformation.msg | 4 +--- msg/OrderMotion.msg | 31 ------------------------------- msg/SafetyState.msg | 7 +++++-- msg/State.msg | 8 +++++--- msg/Trajectory.msg | 2 +- msg/Velocity.msg | 2 ++ msg/Visualization.msg | 4 ++-- 33 files changed, 100 insertions(+), 129 deletions(-) delete mode 100644 msg/CurrentAction.msg delete mode 100644 msg/Header.msg delete mode 100644 msg/OrderActions.msg delete mode 100644 msg/OrderMotion.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index 08a581c..827344c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,14 +20,12 @@ add_message_files( BoundingBoxReference.msg Connection.msg ControlPoint.msg - CurrentAction.msg Edge.msg EdgeState.msg EdgeStates.msg Error.msg Errors.msg ErrorReference.msg - Header.msg InstantActions.msg Info.msg InfoReference.msg @@ -40,9 +38,6 @@ add_message_files( NodeState.msg NodeStates.msg Order.msg - OrderActions.msg - OrderInformation.msg - OrderMotion.msg SafetyState.msg State.msg Trajectory.msg diff --git a/msg/AGVPosition.msg b/msg/AGVPosition.msg index 676aec2..e88178a 100644 --- a/msg/AGVPosition.msg +++ b/msg/AGVPosition.msg @@ -1,11 +1,14 @@ # Defines the position on a map in world coordinates. Each floor has its own map. -bool positionInitialized # False: position is not initialized True: position is initialized +bool positionInitialized # True: position is initialized + # False: position is not initialized -float64 localizationScore # Range: [0.0 … 1.0] Describes the quality of the localization and therefore, can be used +float64 localizationScore # Range: [0.0 … 1.0] Describes the quality of the localization and therefore, can be used # e. g. by SLAMAGVs to describe how accurate the current position information is. # 0.0: position unknown 1.0: position known -float64 deviationRange # Value for the deviation range of the position in meters. + +float64 deviationRange # Value for the deviation range of the position in meters. + float64 x # [m] X-position on the map in reference to the map coordinate system. Precision is up to # the specific implementation diff --git a/msg/Action.msg b/msg/Action.msg index 58d239e..0fb8801 100644 --- a/msg/Action.msg +++ b/msg/Action.msg @@ -25,7 +25,7 @@ vda5050_msgs/ActionParameter[] actionParameters # Array of actio # serialization is always a json dictionary with "key" # and "value" we decided to serialize the value as # string. This way the (de-)serialization has to be done by - # the user depending on the key, but the protocol is met + # the user depending on the key, but the protocol is met. # Enums for blockingType diff --git a/msg/ActionParameter.msg b/msg/ActionParameter.msg index 6f825d5..09ba795 100644 --- a/msg/ActionParameter.msg +++ b/msg/ActionParameter.msg @@ -1,2 +1,3 @@ string key + string value diff --git a/msg/ActionState.msg b/msg/ActionState.msg index 29a62fa..05406b7 100644 --- a/msg/ActionState.msg +++ b/msg/ActionState.msg @@ -1,13 +1,12 @@ -# HEADER -vda5050_msgs/Header header # header of the message - # CONTENTS string actionID # action_ID + string actionType # actionType of the action. # Optional: Only for informational or visualization purposes. Order knows the type. -string actionStatus # waiting: waiting for trigger - # (passing the node, entering the edge) +string actionDescription # Additional information on the current action. + +string actionStatus # Waiting: waiting for trigger (passing the node, entering the edge) # Paused: paused by instantAction or external trigger # failed: action could not be performed. diff --git a/msg/BatteryState.msg b/msg/BatteryState.msg index a5df87a..ecd3422 100644 --- a/msg/BatteryState.msg +++ b/msg/BatteryState.msg @@ -1,6 +1,11 @@ float64 batteryCharge # [%] State of Charge: if AGV only provides values for good or bad battery levels, these will # be indicated as 20% (bad) and 80% (good). + float64 batteryVoltage # [V] Battery Voltage + int8 batteryHealth # [%] State of Health -bool charging # True: charging in progress False: AGV is currently not charging + +bool charging # True: Charging in progress + # False: AGV is currently not charging + uint32 reach # Estimated reach with current SoC diff --git a/msg/BoundingBoxReference.msg b/msg/BoundingBoxReference.msg index 96ce038..f6939fa 100644 --- a/msg/BoundingBoxReference.msg +++ b/msg/BoundingBoxReference.msg @@ -2,6 +2,9 @@ # box’s bottom surface (at height = 0) and is described in coordinates of the AGV’s coordinate system. float64 x # x-coordinate of the point of reference. + float64 y # y-coordinate of the point of reference. + float64 z # z-coordinate of the point of reference. + float64 theta # Orientation of the loads bounding box. Important for tugger trains etc diff --git a/msg/Connection.msg b/msg/Connection.msg index 12b9a53..cacb87f 100644 --- a/msg/Connection.msg +++ b/msg/Connection.msg @@ -9,8 +9,9 @@ string version # Version of the protocol [Major].[Minor].[Patch] (e.g. string manufacturer # Manufacturer of the AGV string serialNumber # Serial Number of the AGV + # CONTENTS -string connectionState # Enum{ONLINE, OFFLINE, CONNECTIONBROKEN} +string connectionState # Enum {ONLINE, OFFLINE, CONNECTIONBROKEN} # ONLINE: connection between AGV and broker is active. # OFFLINE: connection between AGV and broker has gone offline in a coordinated way. # CONNECTIONBROKEN: The connection between AGV and broker has unexpectedly ended. diff --git a/msg/ControlPoint.msg b/msg/ControlPoint.msg index ba0de85..a78d5ab 100644 --- a/msg/ControlPoint.msg +++ b/msg/ControlPoint.msg @@ -2,9 +2,5 @@ float64 x # X coordinate described in the world coordinate system. float64 y # Y coordinate described in the world coordinate system. -float64 orientation # [rad] Range [-pi...pi] Orientation of the AGV on this position of the curve. - # The orientation is in world coordinates. - # When not defined the orientation of the AGV will be tangential to the curve. - float64 weight # Range [0..infinity) The weight with which this control point pulls on the curve. # When not defined, the default will be 1.0 diff --git a/msg/CurrentAction.msg b/msg/CurrentAction.msg deleted file mode 100644 index b976f27..0000000 --- a/msg/CurrentAction.msg +++ /dev/null @@ -1,14 +0,0 @@ -string actionId # actionName_ID -string actionDescription # Additional information on the current action -string actionStatus # Enum {waiting; initializing; running; finished; failed} waiting: waiting for trigger - # failed: action could not be performed. -string resultDescription # Description of the result, e.g. the result of a RFID-read. Errors will be transmitted in - # errors. Examples for results are given in 5.2 - -# Enums for actionStatus -string WAITING=WAITING -string INITIALIZING=INITIALIZING -string RUNNING=RUNNING -string PAUSED=PAUSED -string FINISHED=FINISHED -string FAILED=FAILED diff --git a/msg/Edge.msg b/msg/Edge.msg index a952858..884464d 100644 --- a/msg/Edge.msg +++ b/msg/Edge.msg @@ -12,12 +12,16 @@ bool released # True indicates that the edge is part of th # part of the horizon. string startNodeId # nodeID of startNode + string endNodeId # nodeID of endNode + float64 maxSpeed # [m/s] Permitted maximum speed on the edge. Speed is defined by the fastest point of the # vehicle. float64 maxHeight # [m] Permitted maximum height of the vehicle, including the load, on edge + float64 minHeight # [m] Permitted minimal height of the edge measured at the bottom of the load + float64 orientation # [rad] Orientation of the AGV on the edge relative to the global project specific # map coordinate origin (for holonomic vehicles with more than one driving # direction). @@ -30,15 +34,20 @@ float64 orientation # [rad] Orientation of the AGV on the edge r # If a trajectory without orientation and the orientation field here is defined, # apply the orientation to the tangent of the trajectory. +string orientationType # Sets the orientation type of the edge. + string direction # Sets direction at junctions for line-guided vehicles, to be defined initially # (vehicle individual) Example: left, right, straight, 433MHz bool rotationAllowed # “true”: rotation is allowed on the edge. “false”: rotation is not allowed on the edge. # Optional: Default to “false”. If this value is set, rotation is allowed on the edge. + float64 maxRotationSpeed # [rad/s] Maximum rotation speed Optional: No limit if not set + vda5050_msgs/Trajectory trajectory # Trajectory JSON-object for this edge as a NURBS. Defines the curve on which the # AGV should move between startNode and endNode. Optional: Can be omitted if AGV # cannot process trajectories or if AGV plans its own trajectory. + 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 +55,8 @@ vda5050_msgs/Action[] actions # Array of actionIds to be executed on the e # 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 orientationType +string GLOBAL=GLOBAL +string TANGENTIAL=TANGENTIAL \ No newline at end of file diff --git a/msg/EdgeState.msg b/msg/EdgeState.msg index 1f81330..58fb581 100644 --- a/msg/EdgeState.msg +++ b/msg/EdgeState.msg @@ -1,11 +1,12 @@ string edgeId # Unique edge identification -int32 sequenceId # sequenceId to differentiate between multiple edges with +uint32 sequenceId # sequenceId to differentiate between multiple edges with string edgeDescription # Additional information on the edge bool released # True indicates that the edge is part of the base. False indicates that the edge is # part of the horizon. -vda5050_msgs/Trajectory trajectory # The trajectory is to be communicated as a NURBS and is defined in chapter6.4 + +vda5050_msgs/Trajectory trajectory # The trajectory is to be communicated as a NURBS. # Trajectory segments are from the point where the AGV starts to enter the edge # until the point where it reports that the next node was traversed. diff --git a/msg/Error.msg b/msg/Error.msg index 1e0b248..8ea5bbc 100644 --- a/msg/Error.msg +++ b/msg/Error.msg @@ -1,12 +1,14 @@ -string errorType # Type / name of error +string errorType # Type / Name of the error + vda5050_msgs/ErrorReference[] errorReferences # Array of references to identify the source of the error (e. g. headerId, - # orderId, actionId, …). For additional information see best practice - # chapter 6.3 -string errorDescription # Error description -string errorLevel # 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) + # orderId, actionId, …). + +string errorDescription # Error description. + +string errorLevel # 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) # Enums for errorLevel -string WARNING=warning -string FATAL=fatal +string WARNING=WARNING +string FATAL=FATAL diff --git a/msg/ErrorReference.msg b/msg/ErrorReference.msg index 8d0610c..a29f22a 100644 --- a/msg/ErrorReference.msg +++ b/msg/ErrorReference.msg @@ -1,2 +1,3 @@ string referenceKey # References the type of reference (e. g. headerId, orderId, actionId, …). + string referenceValue # References the value the reference key. diff --git a/msg/Header.msg b/msg/Header.msg deleted file mode 100644 index aecc6ba..0000000 --- a/msg/Header.msg +++ /dev/null @@ -1,10 +0,0 @@ -int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent - # (but not necessarily received) message. - -string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) - -string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) - -string manufacturer # Manufacturer of the AGV - -string serialNumber # Serial Number of the AGV diff --git a/msg/Info.msg b/msg/Info.msg index b43cdac..6a917ef 100644 --- a/msg/Info.msg +++ b/msg/Info.msg @@ -1,8 +1,11 @@ -string infoType # Type / name of information -vda5050_msgs/InfoReference[] infoReferences # array of references -string infoDescription # Info description -string infoLevel # Enum {DEBUG, INFO} DEBUG: used for debugging, INFO: used for visualization +string infoType # Type / Name of information. +vda5050_msgs/InfoReference[] infoReferences # Array of references. +string infoDescription # Info description. + +string infoLevel # Enum {DEBUG, INFO} DEBUG: used for debugging, INFO: used for visualization. + +# Enum for infoLevel string DEBUG=DEBUG string INFO=INFO diff --git a/msg/InfoReference.msg b/msg/InfoReference.msg index 8d0610c..a29f22a 100644 --- a/msg/InfoReference.msg +++ b/msg/InfoReference.msg @@ -1,2 +1,3 @@ string referenceKey # References the type of reference (e. g. headerId, orderId, actionId, …). + string referenceValue # References the value the reference key. diff --git a/msg/Information.msg b/msg/Information.msg index ecdf2ef..878928c 100644 --- a/msg/Information.msg +++ b/msg/Information.msg @@ -1 +1 @@ -vda5050_msgs/Info[] informations +vda5050_msgs/Info[] information diff --git a/msg/InstantActions.msg b/msg/InstantActions.msg index 183a4dc..7cc5590 100644 --- a/msg/InstantActions.msg +++ b/msg/InstantActions.msg @@ -1,12 +1,12 @@ -int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent - # (but not necessarily received) message. +int32 headerId # header ID of the message. The headerId is defined per topic and incremented by 1 with each sent + # (but not necessarily received) message. -string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) +string timeStamp # Timestamp after ISO8601 in the format YYYY-MM-DDTHH:mm:ss.ssZ (e.g.“2017-04-15T11:40:03.12Z”) -string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) +string version # Version of the protocol [Major].[Minor].[Patch] (e.g. 1.3.2) -string manufacturer # Manufacturer of the AGV +string manufacturer # Manufacturer of the AGV -string serialNumber # Serial Number of the AGV +string serialNumber # Serial Number of the AGV Action[] instantActions # List of actions to execute diff --git a/msg/Load.msg b/msg/Load.msg index 0d6e8cf..2ea0469 100644 --- a/msg/Load.msg +++ b/msg/Load.msg @@ -1,7 +1,7 @@ string loadId # Unique identification number of the load (e. g. barcode or # RFID) -string loadType # Type of load +string loadType # Type of load. string loadPosition # Indicates which load handling/carrying unit of the AGV is # used, e. g. in case the AGV has multiple spots/positions to @@ -14,4 +14,4 @@ vda5050_msgs/BoundingBoxReference boundingBoxReference # Point of reference for vda5050_msgs/LoadDimensions loadDimensions # Dimensions of the load’s bounding box in meters. -uint32 weight # Absolute weight of the load measured in kg. +float64 weight # [Kg] Absolute weight of the load measured. \ No newline at end of file diff --git a/msg/LoadDimensions.msg b/msg/LoadDimensions.msg index 74f3e8a..cff1eeb 100644 --- a/msg/LoadDimensions.msg +++ b/msg/LoadDimensions.msg @@ -1,5 +1,7 @@ # Dimensions of the load’s bounding box in meters. float64 length # Absolute length of the load’s bounding box. + float64 width # Absolute width of the load’s bounding box. + float64 height # Absolute height of the load’s bounding box. Optional: Set value only if known. diff --git a/msg/Node.msg b/msg/Node.msg index cfea805..1572fbb 100644 --- a/msg/Node.msg +++ b/msg/Node.msg @@ -12,7 +12,7 @@ string nodeDescription # Additional information on th bool released # True indicates that the node is part of the base. False indicates # that the node is part of the horizon. -vda5050_msgs/NodePosition nodePosition # Node position +vda5050_msgs/NodePosition nodePosition # Node position vda5050_msgs/Action[] actions # Array of actions to be executed in node. Empty array if no actions diff --git a/msg/NodePosition.msg b/msg/NodePosition.msg index 959ebd6..71712d5 100644 --- a/msg/NodePosition.msg +++ b/msg/NodePosition.msg @@ -5,13 +5,6 @@ float64 y # [m] Y-position on the map in float64 theta # [rad] The angular dimension -string mapId # Unique identification of the map in which the position is referenced. Each map has the same - # origin of coordinates. When an AGV uses an elevator, e. g. leading from a departure floor to a - # target floor, it will disappear off the map of the departure floor and spawn in the related - # lift node on the map of the target floor. - -string mapDescription # Additional information on the map - float32 allowedDeviationXY # Indicates how exact an AGV has to drive over a node in order for it # to count as traversed. # @@ -26,3 +19,10 @@ float32 allowedDeviationTheta # Range: [0 ... Pi] # Indicates how big the deviation of theta angle can be. # The lowest acceptable angle is theta -allowedDevaitionTheta and # the highest acceptable angle is theta + allowedDeviationTheta + +string mapId # Unique identification of the map in which the position is referenced. Each map has the same + # origin of coordinates. When an AGV uses an elevator, e. g. leading from a departure floor to a + # target floor, it will disappear off the map of the departure floor and spawn in the related + # lift node on the map of the target floor. + +string mapDescription # Additional information on the map \ No newline at end of file diff --git a/msg/NodeState.msg b/msg/NodeState.msg index 8326bd4..a093d8f 100644 --- a/msg/NodeState.msg +++ b/msg/NodeState.msg @@ -1,8 +1,12 @@ # Array of nodes to be traversed for fulfilling the order -string nodeId # Unique node identification +string nodeId # Unique node identification. + int32 sequenceId # sequenceId to discern multiple nodes with same nodeId. + string nodeDescription # Additional information on the node + vda5050_msgs/NodePosition position # Node position (see Topic: Order) + bool released # true indicates that the node is part of the base. # false indicates that the node is part of the horizon. diff --git a/msg/Order.msg b/msg/Order.msg index 597998c..2425891 100644 --- a/msg/Order.msg +++ b/msg/Order.msg @@ -17,11 +17,6 @@ string orderId # Unique order identification uint32 orderUpdateId # orderUpdate identification. Is unique per orderId. If an order update is # rejected, this field is to be passed in the rejection message -bool replace # Indicates that previously released base nodes should be replaced by the - # base of this updated order. If this is not possible, the AGV returns an - # error code (see errors in topic “state”). The new base has to start at the - # following node from the current position which has not been traversed yet. - vda5050_msgs/Node[] nodes # Array of nodes to be traversed for fulfilling the order. The nodes come # in the sequence of the fulfilling. diff --git a/msg/OrderActions.msg b/msg/OrderActions.msg deleted file mode 100644 index 20ced39..0000000 --- a/msg/OrderActions.msg +++ /dev/null @@ -1,5 +0,0 @@ -# Batch of actions extended by orderId for communication between order daemon and action daemon. - -string orderId # Unique order identification - -vda5050_msgs/Action[] orderActions # Array of actionIds to be executed. \ No newline at end of file diff --git a/msg/OrderInformation.msg b/msg/OrderInformation.msg index 8adb9d2..c323271 100644 --- a/msg/OrderInformation.msg +++ b/msg/OrderInformation.msg @@ -39,7 +39,6 @@ bool newBaseRequested # True: AGV is almost at th float64 distanceSinceLastNode # Used by line guided vehicles to indicate the distance it has been driving past the „lastNodeId“. Distance is in meters string operatingMode # Enum {AUTOMATIC, SEMIAUTOMATIC, MANUAL, SERVICE, TEACHIN} - # For additional information see chapter 6.2 vda5050_msgs/NodeState[] nodeStates # Array of nodeStateObjects (empty list if idle) @@ -91,5 +90,4 @@ string MANUAL=MANUAL # Supervisor is not in control of the AGV. Supervisor doesn’t send driving order or actions to the AGV. Authorized personal can reconfigure the AGV. string SERVICE=SERVICE - # Supervisor is not in control of the AGV. Supervisor doesn’t send driving order or actions to the AGV. The AGV is being taught, e.g. mapping is done by a supervisor -string TEACHIN=TEACHIN +string TEACHIN=TEACHIN # Supervisor is not in control of the AGV. Supervisor doesn’t send driving order or actions to the AGV. The AGV is being taught, e.g. mapping is done by a supervisor. \ No newline at end of file diff --git a/msg/OrderMotion.msg b/msg/OrderMotion.msg deleted file mode 100644 index 27065bf..0000000 --- a/msg/OrderMotion.msg +++ /dev/null @@ -1,31 +0,0 @@ -# All driving motion related information of one edge. - -float64 maxSpeed # [m/s] Permitted maximum speed on the edge. Speed is defined by the fastest point of the - # vehicle. - -float64 maxHeight # [m] Permitted maximum height of the vehicle, including the load, on edge -float64 minHeight # [m] Permitted minimal height of the edge measured at the bottom of the load -float64 orientation # [rad] Orientation of the AGV on the edge relative to the global project specific - # map coordinate origin (for holonomic vehicles with more than one driving - # direction). - # Example: orientation Pi/2 rad will lead to a rotation of 90 degrees. - # If AGVstarts in different orientation, rotate the vehicle on the edge to the - # desired orientation if rotationAllowed is set to “true”. If rotationAllowed - # is “false", rotate before entering the edge. If that is not possible, reject - # the order. - # 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 direction # Sets direction at junctions for line-guided vehicles, to be defined initially - # (vehicle individual) Example: left, right, straight, 433MHz - -bool rotationAllowed # “true”: rotation is allowed on the edge. “false”: rotation is not allowed on the edge. - # Optional: Default to “false”. If this value is set, rotation is allowed on the edge. -float64 maxRotationSpeed # [rad/s] Maximum rotation speed Optional: No limit if not set -vda5050_msgs/Trajectory trajectory # Trajectory JSON-object for this edge as a NURBS. Defines the curve on which the - # AGV should move between startNode and endNode. Optional: Can be omitted if AGV - # cannot process trajectories or if AGV plans its own trajectory. -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. -vda5050_msgs/NodePosition target # If no trajectory is defined, use coordinates of the target position. \ No newline at end of file diff --git a/msg/SafetyState.msg b/msg/SafetyState.msg index e22f645..77264c7 100644 --- a/msg/SafetyState.msg +++ b/msg/SafetyState.msg @@ -2,8 +2,11 @@ string eStop # Enum {AUTOACK, MANUAL, REMOTE, NONE} Acknowledge-Type # AUTOACK: autoacknowledgeable e-stop is activated e.g. by bumper or protective field # MANUAL: e-stop has to be acknowledged manually at the vehicle # REMOTE: facility estop has to be acknowledged remotely - # NONE: no e-stop activated -bool fieldViolation # Protective field violation. True: field is violated False: field is not violated + # NONE: No e-stop activated + +bool fieldViolation # Protective field violation. + # True: field is violated. + # False: field is not violated # Enums for eStop string AUTOACK=AUTOACK diff --git a/msg/State.msg b/msg/State.msg index 794e932..34b6a87 100644 --- a/msg/State.msg +++ b/msg/State.msg @@ -54,7 +54,7 @@ bool newBaseRequest # “true”: AGV is almost at the end o # Trigger for MC to send a new base. # “false”: no base request required. -float64 distanceSinceLastNode # Used by line guided vehicles to indicate the distance it has been driving past the „lastNodeIdId“. +float64 distanceSinceLastNode # [m] Used by line guided vehicles to indicate the distance it has been driving past the „lastNodeIdId“. # Distance is in meters @@ -65,11 +65,13 @@ vda5050_msgs/ActionState[] actionStates # Contains a list of the current actions # The action state is kept until a new order is received. vda5050_msgs/BatteryState batteryState # Contains all battery-related information. -string operatingMode # For additional information, see the table OperatingModes in the chapter 6.10.6. + +string operatingMode # Current operating mode of the vehicle. + vda5050_msgs/Error[] errors # Array of error-objects. All active errors of the AGV should be in the list. # An empty array indicates that the AGV has no active errors. -vda5050_msgs/Info[] informations # Array of info-objects. An empty array indicates that the AGV has no information. +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. vda5050_msgs/SafetyState safetyState # Contains all safety-related information. diff --git a/msg/Trajectory.msg b/msg/Trajectory.msg index 6df9436..4b61c10 100644 --- a/msg/Trajectory.msg +++ b/msg/Trajectory.msg @@ -1,6 +1,6 @@ # Points defining a spline. Theta allows holonomic vehicles to rotate along the trajecotry. -int32 degree # Range: [1 … infinity) Defines the number of control points that influence +float64 degree # Range: [1 … infinity) Defines the number of control points that influence # any given point on the curve. Increasing the degree increases continuity. # If not defined, the default value is 1. diff --git a/msg/Velocity.msg b/msg/Velocity.msg index d87cee4..a0ea613 100644 --- a/msg/Velocity.msg +++ b/msg/Velocity.msg @@ -1,3 +1,5 @@ float64 vx # [m/s] forward velocity + float64 vy # [m/s] sideways velocity + float64 omega # [rad/s] rotational velocity diff --git a/msg/Visualization.msg b/msg/Visualization.msg index 532a68d..0163271 100644 --- a/msg/Visualization.msg +++ b/msg/Visualization.msg @@ -11,6 +11,6 @@ string manufacturer # Manufacturer of the AGV string serialNumber # Serial Number of the AGV # CONTENTS -AGVPosition agvPosition # The AGV's position +AGVPosition agvPosition # The AGV/AMR's position -Velocity velocity # The AGV's velocity in vehicle coordinates +Velocity velocity # The AGV/AMR's velocity in vehicle coordinates