VDA5050 - anyone had experience or encounter it in the context of Node-RED?

Hi There,

Another day, another random standard that pops up: VDA 5050 which is:

Definition of a communication interface for driverless transport systems (DTS). This recommendation describes the communication interface for exchanging order and status data between a central master control and automated guided vehicles (AGVs) for intralogistics processes.

Basically controlling robots/vehicles on the factory floor using MQTT and a specific set of commands sent over specific channels.

I've had a quick search and found nothing relevant to Node-RED and I was wondering whether anyone has some war stories related to implementing the protocol in the wild.

It seems like a perfect use case for Node-RED but being an industry standard, there might well be implementations behind closed NDA doors.

I created a partially working flow that moves simulated bots around (to test the master control center) and now thought how hard could it be to implement a complete implementation. Behind said NDA doors unfortunately.

Cheers!

(commenting mainly to be notified - interesting topic)

I did work on AGVs (and a master controller) alongside a colleague in my former job - before MQTT was an open thing. We used EtherNet/IP as the protocol (it is deterministic). All logic (routing, steering, stopping, parking, ..., everything) was 100% PLC code.

Its nice they have generated schemas - that will aid implementation, but I have not read through the spec to see how much sense it makes or how we would abstract that into Node-RED.

1 Like

I ended up creating state machines to act as the "brains" of the AGV - but this was using Erlang-Red. I created a state machine node for Erlang-Red. (Since Erlang has a well defined state machine behaviour.)

To make creating the state machine simpler, I added state nodes to flow2uml - initially to be able to draw mermaid state diagrams but then I also added a Erlang code generator to that. An example flow of "drawing" state machines in Node-RED.

Why I say this is that there a few statemachine implementations for Node-RED which would be useful for this. It would be nice if there was a "official" one so that I could create a generator for that node, although the underlying library seems to be xstate, so generating something that it understands would be plenty.

I'm just thinking out loud here :wink: