VDA 5050 Message Flow: Fleet Manager to AGV via MQTT
How VDA 5050 telegrams travel from a fleet manager through an MQTT broker to the vehicles. Topics, payloads, QoS, and the connectivity your IT team needs to prepare.
Why This Matters for IT and OT
When a fleet manager coordinates AGVs on the shop floor, IT and OT teams share one integration point: the MQTT broker. Every command the fleet manager sends to an AGV and every status the AGV reports back flows as a VDA 5050 telegram through that broker.
This article gives your IT colleagues the technical overview they need to prepare the infrastructure: what topics are used, what the messages look like, and what connectivity is required between the fleet manager, the broker, and the vehicles.
Related reading: VDA 5050: The Standard for AGV Communication covers the standard itself. Fleet Manager as SaaS covers cloud deployment variants. This article focuses on how messages actually travel end-to-end.
Version coverage: This article applies to VDA 5050 2.0, 2.1, and 3.0. Topics tagged with a v3 badge below are new in 3.0; everything else is consistent across all three versions. Examples use
v2because most production deployments today still run 2.0 or 2.1.
The Three Actors
Only three components are involved in the telegram flow:
Fleet Manager
Publishes orders and instant actions. Subscribes to vehicle state, visualization, and connection. Acts as an MQTT client, not a server.
MQTT Broker
Routes messages between publishers and subscribers based on topics. Does not interpret VDA 5050 payloads, only forwards them.
AGV
Subscribes to order and instant action topics for itself. Publishes its state, visualization, and connection topics. Also acts as an MQTT client.
Both the fleet manager and every AGV are MQTT clients. The broker is the only server component. This is the core insight for IT: the broker is the single point of communication, and publish/subscribe replaces direct client-to-client connections.
VDA 5050 Topic Structure
VDA 5050 defines a strict topic hierarchy so that one broker can serve many vehicles from many manufacturers without collisions:
interfaceName/majorVersion/manufacturer/serialNumber/topic
A concrete example for one vehicle:
uagv/v2/acme/AGV-0017/orderuagv/v2/acme/AGV-0017/instantActionsuagv/v2/acme/AGV-0017/stateuagv/v2/acme/AGV-0017/visualizationuagv/v2/acme/AGV-0017/connection
| Segment | Example | Meaning |
|---|---|---|
| interfaceName | uagv |
Name of the interface (configurable per site) |
| majorVersion | v2 |
Protocol major version, prefixed with v |
| manufacturer | acme |
AGV vendor identifier |
| serialNumber | AGV-0017 |
Unique per vehicle (A-Z, a-z, 0-9, _, ., :, -) |
| topic | order |
One of the VDA 5050 message types |
The fleet manager subscribes with wildcards (e.g., uagv/v2/+/+/state) to receive state updates from every vehicle at once, while each AGV subscribes only to topics carrying its own serial number.
The VDA 5050 Topics
| Topic | Direction | QoS | Purpose |
|---|---|---|---|
order |
Fleet Manager → AGV | 0 | Transport order with nodes, edges, and actions |
instantActions |
Fleet Manager → AGV | 0 | Immediate commands (stop, cancel, start charging) |
state |
AGV → Fleet Manager | 0 | Full vehicle state: position, battery, order progress, errors |
visualization |
AGV → Fleet Manager | 0 | High-frequency position updates for live map display |
connection |
AGV / Broker → Fleet Manager | 1, retained, last will | Online / offline status of the vehicle |
factsheet |
AGV → Fleet Manager | 0 | Vehicle capabilities and vendor-specific parameters |
zoneSet v3 |
Fleet Manager → AGV | 0 | Zone definitions for free-navigation vehicles |
responses v3 |
Fleet Manager → AGV | 0 | Fleet responses to requests the AGV raised in its state |
The connection topic is the only one that uses MQTT's retained flag and last-will-and-testament: the broker automatically publishes a CONNECTION_BROKEN message if a vehicle disconnects unexpectedly, so the fleet manager learns about dropouts within the keep-alive interval.
End-to-End Flow: One Order to the AGV
A typical transport order travels like this:
-
1
Trigger: An ERP or MES system sends a transport request to the fleet manager via its REST or messaging API.
-
2
Dispatch: The fleet manager selects a vehicle, computes the route, and builds a VDA 5050
ordermessage containing nodes, edges, and actions. -
3
Publish: The fleet manager publishes the JSON payload to
uagv/v2/acme/AGV-0017/orderwith QoS 0. -
4
Broker routing: The MQTT broker matches the topic against its subscribers and forwards the message to AGV-0017, which holds an active subscription on that topic.
-
5
Execution: The AGV parses the order, validates it, and starts driving the first edge toward the first node.
-
6
State feedback: On every relevant change (node reached, action finished, error raised, battery threshold crossed) the AGV publishes an updated
statemessage. A high-frequencyvisualizationstream runs in parallel for the live map. -
7
Completion: Once the last node is reached and all actions are finished, the AGV reports
orderState: FINISHED. The fleet manager confirms completion back to the ERP/MES.
What a Message Actually Looks Like
All VDA 5050 payloads are UTF-8 encoded JSON. Every message shares a common header:
{
"headerId": 1234,
"timestamp": "2026-04-24T09:15:32.041Z",
"version": "2.0.0",
"manufacturer": "acme",
"serialNumber": "AGV-0017",
...
}
A minimal order message adds nodes, edges, and optional actions:
{
"headerId": 1235,
"timestamp": "2026-04-24T09:15:33.122Z",
"version": "2.0.0",
"manufacturer": "acme",
"serialNumber": "AGV-0017",
"orderId": "ORD-7781",
"orderUpdateId": 0,
"nodes": [
{ "nodeId": "N-101", "sequenceId": 0, "released": true, "actions": [] },
{
"nodeId": "N-204",
"sequenceId": 2,
"released": true,
"actions": [{ "actionType": "pick", "actionId": "a-1", "blockingType": "HARD" }]
}
],
"edges": [
{
"edgeId": "E-101-204",
"sequenceId": 1,
"released": true,
"startNodeId": "N-101",
"endNodeId": "N-204",
"actions": []
}
]
}
Connectivity Your IT Team Needs to Prepare
For the infrastructure to carry VDA 5050 traffic reliably, IT typically sets up the following:
Transport Security
MQTT over TLS (MQTTS) on port 8883. Plain MQTT on 1883 should be disabled in production. Client and server certificates for mutual TLS are recommended.
Authentication
Each AGV and the fleet manager gets its own MQTT credentials or client certificate. Broker ACLs restrict publish/subscribe rights to the topics the client is allowed to touch.
Vehicle Network
AGVs need stable WiFi coverage with fast roaming. They reach the broker via the plant network, not the public internet. Latency to the broker should stay below 20 ms for smooth operation.
Network Segmentation
The fleet manager and AGVs reach the broker over the plant network. If the fleet manager runs outside the plant, firewall rules or a VPN are needed. See Fleet Manager as SaaS for the common deployment variants.
Keep-Alive & Last Will
AGVs configure a keep-alive interval (typically 15–60 s) and register a last-will message on the connection topic so the fleet manager sees dropouts immediately.
Broker Sizing
Per vehicle expect roughly 1–5 messages/second across all topics, dominated by visualization. A mid-range broker handles hundreds of vehicles without tuning.
Where the Broker Runs
VDA 5050 does not prescribe where the MQTT broker runs. In a classic on-premise setup, the broker lives on the same server as the fleet manager or on a dedicated industrial PC inside the plant network. When the fleet manager is deployed in the cloud or spans multiple network zones, broker placement becomes its own architectural decision. The Fleet Manager as SaaS article walks through the common variants (broker on-prem with VPN, MQTT bridge, full-cloud broker) and their trade-offs.
What stays constant across all deployments: the broker is the only server component, AGVs reach it over the plant network, and the topic structure and message formats described above are identical.
Checklist for the IT Team
- [ ] MQTT broker version and deployment location decided
- [ ] TLS certificates issued for broker and every client (fleet manager + AGVs)
- [ ] ACLs restrict each AGV to its own topic namespace
- [ ] Firewall rules opened between fleet manager, broker, and the AGV network
- [ ] Plant WiFi coverage validated on all AGV routes
- [ ] Keep-alive, last-will, and QoS expectations documented with the AGV vendor
- [ ] Monitoring in place for broker uptime, message rate, and connection drops
- [ ] Network zones and bridges defined if multi-site or segmented
Takeaways
- VDA 5050 telegrams are JSON messages published to MQTT topics following a fixed hierarchy of
interfaceName/version/manufacturer/serial/topic. - The fleet manager and every AGV are equal MQTT clients. The broker is the only server and the sole integration point IT needs to secure.
- The core topics cover everything:
order,instantActions,zoneSet, andresponsesflow down;state,visualization,connection, andfactsheetflow up. - Where the broker runs determines latency, firewall complexity, and resilience. Fleet Manager as SaaS covers those deployment variants.
A well-run VDA 5050 setup is surprisingly small from an IT perspective: one broker, TLS, and a handful of topics. The intelligence lives in the fleet manager and on the vehicles; the network just moves JSON.
The authoritative specification and JSON schemas are published at github.com/VDA5050/VDA5050. Share the link with your AGV vendor and the IT team alongside this overview.
AGVHub