How to: automation software MVP for manufacturing, via third-party robots’ REST API
So, let’s deconstruct a recent project we did for a manufacturing client.
For any manufacturing company, investing into technology (whether machinery or software) is a must. In order to make the most out of (usually expensive) acquisition, one needs to use machinery at full capacity.
Our client is no different: the plant manager’s explicit goal is to keep the machines productive at all times. For this reason, he invests significant time and effort to optimally plan and monitor all manufacturing operations.
The optimisation needs to address several layers:
1. The planners are in charge with establishing the production quota for each machine during each shift, day, or week. They also make sure that all equipment works at maximum possible capacity.
2. The machine operators do the actual work. For each batch they cover during a shift, the operators must refill their stock of raw materials or pre-processed items. The regular way to do it is to pick a pallet in person, from warehouse or from another machine, and transport it to the workstation using a mechanical pallet transporter. Once they have the input materials, the operators use the application to record the number of processed items, within performance targets (speed, failures etc.).
Needless to say, the stocking part of an operator’s job was uselessly slow, with a negative impact on overall efficiency.
3. The technology: we had already equipped each workstation with PCs in a minimal configuration, to assist the operators during manufacturing activities. During each shift, the operator can see the planned quantity and can record the actual progress. Due to the intuitive interface and pleasant user experience, the system is easy to learn and operate.
In order for us to the bring the machines at maximum capacity, we would need to eliminate all useless downtimes. Within this system, the obvious bottleneck was the time spent restocking; therefore, we started looking into automating specifically this phase.
The MIR robots
We were partially lucky. Pretty much at the same time, the Danish robots manufacturer MiR A/S had a demo presentation of their autonomous robots for industrial transportation. Since we’re Kaizen-heads, we loved the idea of integrating them within the existing system.
The robots themselves had everything that our partner needed:
- enough load capacity (several options between 100-1000 kg) on standardized EU pallets;
- working on Li batteries with 12-15 h / 20 km range, highest speed of 1.5 m/s;
- no structural changes for the existing space (i.e. underground cables, ceiling-mounted sensors);
- operated by PC or smartphone, via WiFi;
- navigation guided by a network of 2D-3D scanners and cameras.
On top of these, the robot was capable of performing a lot of operations, but they were above machine-operator expertise level (and definitely not possible during actual manufacturing):
- map the facility to build an internal plan necessary for the autonomous navigation;
- define no-go zones for safe travel;
- define various points of interest on the shop floor;
- define missions, like moving to one point, loading cargo, moving to another point, unloading cargo, etc.;
- schedule missions, one after another;
- define self-care behavior like going to a charging station when battery is low or going to a designated point when idle;
- connect the robot to customer’s wi-fi network.
Solution & prototype development
Now “all” we needed was a piece of software to guide the robots from the same PC interface that the plant operators were using for regular manufacturing operations. Ideally, we would make the robot part of the manufacturing cycle and use one single interface for everything related to a manufacturing machine.
Here’s how we did it:
1. The MVP / minimum viable product
First, we’ve put together a two-men team, in charge with developing a minimal prototype within two weeks: a piece of software to embed within the operator’s screen (i.e. the one used to record manufacturing activities).
2. Information gathering
The robot offers a REST API, that should make it possible to interact with our own software. Well – in theory, at least. Because in practice, API’s extensive manual, covering 330 methods, was neither minimal nor quick to grasp, possibly pushing our MVP’s deadline for several more weeks.
We were lucky once more, when MIR A/S’s support team offered an online workshop and access to a virtual machine simulator that acts like a real robot. Suddenly, we could gather information at much higher speed, by testing and training the API’s commands and methods on it. Tracking virtual robots’ movements on screen provided the instant, visual feedback we needed to advance quickly.
3. Prototype delivery / testing
Precisely on deadline, tree workstations had the prototype implemented: one, single extra button on operator’s interface, to contact the robot and schedule basic missions:
- go to a designated loading point;
- load the cargo;
- transport the cargo to the workstation;
- warn the user if the mission could not be accomplished (e.g. reason the robot is busy or needs recharging).
Unsurprisingly, all went as planned. The robot + manufacturing interface was functionally, and the we had the proof of concept that bottlenecks can be eliminated by automating parts of the manufacturing process.
Before expanding from three workstations to company-wide, the prototype needs testing and observing for several weeks. Further questions need to be answered:
- Will the robot keep finding its way safely around the usually crowded shop floor, on regular and predictable basis?
- Is the robot’s REST API reliable and error-free?
- What are the efficiency gains of using a robot (instead of a human operator) for transporting the cargo pallets?
- How do the perceive and think of robots helping them with the physical actions?
Developing the solution was fun and challenging, but it also provided some strong learning points, too:
- Pretty much everything within a company’s scope can be digitalised.
- Digitalizing the core expertise (or activities in its close proximity) delivers the highest value.
- Deeper integration with the client company increases project’s speed and overall efficiency.
- New projects with big investments are scary. Start with a small team to deliver an MVP, then scale it up gradually.
- Third parties are happy to participate in experiments involving their products, as long as the experiments can be a source of further development ideas.
As I write this article, the trial phase is in progress, but we are convinced that the outcome will be positive. Meanwhile the customer’s operational engineers and the development team are working together to build up the complete feature matrix of this robot integration and to create a release plan spread on the next 6 months.
It’s hard work ahead but the breakthrough was done, and the stage was set for a refreshing and exciting new direction of what would otherwise be a conventional software product.