Building data-driven robotics applications

READY Robotics team
January 3, 2023


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.

The Kawasaki RS080N in Austin, Texas

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.

The topology allows multiple apps to use data from multiple robots, worldwide

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. 


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.

On the fence about automation?
Your competition isn't.

Connect with READY's automation experts to learn how we can help transform your company to give you the competitive advantage you need to succeed in the age of automation.

Connect with us

We never share your details with third parties.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.