VDA 5050

VDA 5050 is an open standard and protocol for communication between AGVs and a central fleet management service. The fleet management server sends requests and commands to the AGV while the AGV sends status updates and vehicle information back. Message exchange is done via MQTT. PlatformPilot supports VDA 5050 in version 2.0.0.

Enable

There are two things to enable: The Connector implementing the VDA 5050 command protocol and an MQTT proxy to send and receive MQTT messages.

VDA 5050 Connector

In your configuration folder add a file called enable_vda5050_connector with the content true.

MQTT Proxy

For the MQTT communication, an MQTT proxy module must be started to translate between VDA 5050 messages and internal Pilot communication. See also MQTT Interface.

In your configuration folder add or append a file named mqtt_proxy_list+ with content

["MQTT_Proxy_VDA_5050"]

This will start the module. Configuration of the module is done in the file MQTT_Proxy_VDA_5050.json. Most of the configuration is inherited from the default but there are a few fields that you will probably have to change. It is recommended to start with the following file.

{
        "address": "10.1.30.42:1883",
        "client_id": "pilot-vda5050",
        "topic_prefix": "uagv/v2/Neobotix/123456789/",
        "last_will": {
                "message": "{\"headerId\": 0, \"timestamp\": 0, \"version\": \"2.0.0\", \"manufacturer\": \"Neobotix\", \"serialNumber\": \"123456789\", \"connectionState\": \"CONNECTIONBROKEN\"}"
        }
}
  • Most important, change the address to the actual address of the MQTT broker used by this VDA 5050 server.
  • The client_id is the name of the MQTT client and should be different for each platform. For example, you can append the (unique) name of the platform which has been configured in the platform.json file and gets displayed in the graphical user interface.
  • The topic_prefix is a prefix for all imported and exported MQTT topics. The one given here follows the naming scheme proposed in the standard but you should at least change the 123456789 to the actual serial number of your platform which has been configured in the platform.json file and gets displayed in the graphical user interface.
  • Change the serial number in the last_will message as well.