Introduction
As the saying goes "You can't improve what you don't measure".
Manufacturers want to measure robot output - they want to increase productivity and minimize downtime. They also want to automatically roll these metrics up into ERP and MES systems. Robots generate all the data and more to accomplish this, but a lot of it goes to waste. The challenge is getting this data securely where it needs to be, and in a useful format, in order to extract meaningful insights from it.
This is the demo we built, and this article describes how Forge/OS made obtaining the necessary data streams really straightforward.
Millions of industrial robots, one API
Industrial robots generate data. A lot of data. Joint positions at 150Hz. Torque and power data. State and error data.
If you sit right next to the one robot you ever want to measure then integrating with this datastream is doable.
But if you want to create software that connects to robots from multiple vendors you'll run into variations in data schema, error codes, communication protocols, etc, etc.
You end up writing custom code for each robot brand you want to acquire data from. You then need to translate that data into some standard format so that you can reuse application code and also make meaningful comparisons. To compound the issue, robot controllers often require you program in a proprietary low-level language unique to that vendor. It is a gargantuan, error prone task.
Fortunately READY Robotics Forge/OS 5 already has drivers for over 90 models of industrial robot, and presents this data in a standardized format. This is a huge advantage when writing modern applications that consume industrial robot data - which is exactly what we used it for here. Let's talk about that.
Robots all over the world
We're working with four different robots all running Forge/OS in three different locations in READY Robotics sites across the USA:
- Fanuc M-20iA - Columbus, Ohio
- Fanuc LR Mate 200iD - Baltimore, Maryland
- Kawasaki RS080N - Austin, Taxas
- Universal Robotics UR10e - Columbus, Ohio
In Forge/OS Internet connectivity is disabled by default and in fact many customers air-gap robots in deployment. However, at READY Labs we have robots in our facility running an experimental build which, if the user permits it, enables an outbound connection that streams robot data.
The topology permits outbound telemetry data only. An external gateway aggregates live data from Forge/OS powered robots and serves that data unidirectionally to web clients that connect to it. The setup is sufficient for our demo purposes.
Data structure
Forge/OS runs on Unbuntu Linux on an Industrial PC (IPC), which in turn connects to the end appliance - the OEM Robot Controller. Within Forge/OS itself, interprocess messages are packed using protobuf and exchanged using the ZeroMQ messaging library.
We present a simpler data interface for remote application development. Data is filtered to the essentials, downsampled to 10Hz and represented as human readable JSON data. Our gateway then serves this robot data as a WebSocket stream to our demo clients on the Internet.
This is convenient for our web demo and there are plenty of JavaScript examples for receiving JSON data over WebSockets that show how simple it is to integrate.
Applications
Now have live data streams from our robots accessible via a single gateway, we can build some cool demo applications. Check out these articles to learn the value that is unlocked by this data:
- Web dashboard
- Visualization and graphing
- Augmentation
Next Steps
This was just a quick proof-of-concept, but shows just how easy it is to obtain standardized data from various industrial robot brands using Forge/OS. As we said, the topology we used was for demo purposes. In the future, to better support cloud-based applications, we might provide robot data streams via secure MQTT. Services like AWS IoT provide a secure framework to get this done.
Of course Forge/OS also provides a visual interface for the robot operator to program tasks, and supports all those robot models we describe and more. If you want to try out a demo of Forge/OS including the READY Labs Simulator you can sign up here.