Research Robots Humanoid Applications Industries Technology Contact
← Back to Technology
Robotics Core

MQTT Protocol

The lightweight messaging champ powering today’s autonomous fleets. MQTT delivers reliable, real-time chatter between AGVs and fleet managers, keeping things smooth even in low-bandwidth factory spots.

MQTT Protocol AGV

Core Concepts

Publish/Subscribe

Unlike REST APIs, robots don’t chat directly. They publish to a broker and subscribe to topics they care about, nicely decoupling the whole fleet setup.

The Broker

It’s the central traffic cop. Grabs all messages from AGVs (the publishers) and smartly filters them out to the right systems (subscribers).

Topics

Data lives in a neat hierarchy, like `factory/robot-1/battery`. This lets you finely control who hears what command.

Quality of Service (QoS)

It sets message reliability. From “fire and forget” (QoS 0) to “exactly once” (QoS 2), so safety-critical commands never go missing.

Retained Messages

The broker holds onto the last solid value. When an AGV wakes up or reconnects, it gets the fleet’s current state right away.

Last Will & Testament

A smart safety net. If a robot drops off unexpectedly (say, battery dies), the broker blasts a preset “offline” message to warn the fleet manager.

How It Works

In typical mobile robotics setups, the AGV is an MQTT Client. It keeps streaming telemetry—like coords, battery voltage, sensor status—by publishing to specific topics on the MQTT Broker.

The Fleet Management System (FMS) is another client subscribed to those topics. It crunches the data to show the fleet’s positions. To send a mission, it publishes a JSON payload to a command topic (e.g., `robot-1/cmd/move`) that the target robot listens to.

This two-way flow is super efficient. Headers are just 2 bytes, so network overhead stays tiny—saving Wi-Fi bandwidth for key systems and easing battery drain on the robots.

Technical Diagram

Real-World Applications

Traffic Management

In packed warehouses, VDA 5050 uses MQTT for intersection coordination. Robots share positions, and the central controller green-lights zone entry to dodge collisions.

Remote Diagnostics

Engineers can subscribe to error topics like `robot/+/error` for instant logs on motor overheating or blocked LiDAR, enabling predictive maintenance without halting the line.

Battery & Charging Optimization

AMRs ping State of Charge (SoC) every few seconds. The fleet manager watches via MQTT and auto-sends low-battery bots to chargers when needed.

Task Allocation

ERP systems hook into the MQTT broker. New order? Task gets published. Idle robots on `tasks/pending` grab or bid on it instantly.

Frequently Asked Questions

Why pick MQTT over HTTP for robots?

MQTT’s built for shaky networks and low bandwidth, with a persistent connection that’s way faster than firing HTTP requests for every sensor ping. Plus, smaller code footprint and headers make it perfect for battery-hungry AGVs.

What’s VDA 5050, and how’s it tied to MQTT?

VDA 5050 is the standard interface for AGV-to-master control comms. It requires MQTT as the transport, with standardized JSON for topics like “order,” “state,” and “visualization”—so multi-vendor robots play nice together.

How does MQTT handle network disconnects in warehouses?

MQTT’s “Persistent Session” saves the day. Robot hits a WiFi dead zone? Broker queues its messages. Reconnect, and it grabs all missed commands—no lost instructions from brief outages.

What QoS for robotic nav commands?

For must-deliver stuff like “Stop” or mission coords, go QoS 1 (At least once) or 2 (Exactly once). For frequent telemetry like battery or position, QoS 0 (At most once) keeps network load light.

Is MQTT secure for industrial environments?

Yep, MQTT handles TLS/SSL encryption in transit, blocking intercepts or fakes. Brokers also do username/password auth and ACLs to lock down publish/subscribe rights per topic.

How many robots can a single MQTT broker handle?

Enterprise brokers like HiveMQ or Mosquitto Pro juggle millions of connections. For warehouses with hundreds or thousands of AGVs, one tuned broker handles it all with zippy low latency.

What is the "Keep Alive" interval?

Keep Alive is the interval (seconds) the client tells the broker. No message or PINGREQ in 1.5x that time? Broker figures the robot’s gone and might fire the Last Will and Testament.

How do I organize Topic Hierarchies for a fleet?

Best practice: `location/device_type/device_id/function`. Like `warehouse_1/forklifts/agv_55/battery`. Subscribe to `warehouse_1/+/+/battery` to track energy across the whole place effortlessly.

Can I send images or video over MQTT?

Technically possible, but don’t. MQTT loves small packets (256MB max, but KB-sized). For video or big LiDAR maps, use MQTT to share a URL, then switch to HTTP or RTSP for the heavy lifting.

What happens if the Broker crashes?

Broker down? Comm halts. That’s why pros use Clustered Brokers for redundancy. One node fails, robots seamlessly hop to another without dropping state or data.

Is ROS (Robot Operating System) compatible with MQTT?

Yes, bridges like `mqtt_bridge` let ROS topics flow to MQTT brokers and back. It links the robot’s internal ROS world to the factory’s IT backbone.

Ready to implement MQTT Protocol in your fleet?

Explore Our Robots