Developing machine learning solution to predict errors in robotic milling processes

Challenge

To enable a more accurate and flexible robotic milling system by using data from an in-process metrology system to predict the positional error of a robot during a milling process.


Background

Project Accurate and Flexible Automation Systems (ACCUFAS), which was set up to address the need for better metrology to drive forward manufacturing, was devised in a joint partnership between the integrated manufacturing group at the University of Sheffield Advanced Manufacturing Research Centre (AMRC) and Bristol-based technology company INSPHERE, which is a tier two member of the AMRC and creates the technology to capture, analyse and utilise data to drive advanced, automated production. 

INSPHERE'S focus was to improve the performance of their in-process metrology system IONA, which is a scalable network of sensors that provides metrology-grade positional data to automated manufacturing processes. The AMRC team aimed to use data from IONA and machine learning to predict the positional error of a serial-arm robot during a milling process. 

The 18-month project was funded by National Aerospace Technology Exploitation Programme (NATEP). The cost of the project work, £300,000 was split, with £210,000 going to INSPHERE and £90,000 to the AMRC. 

Serial arm robots are found to be repeatable, but are not typically accurate. This results in them being great for performing the same task over and over, but not useful for performing new tasks - as each new task will require a fresh program that requires additional checks and validation.  

In general, this means that robots are limited to high volume product runs, such as in automotive plants, because the program set-up time for each is not suitable for low volume products, for example, an aeroplane wing. 

One method to improve the suitability of robots to perform low volume tasks is to integrate in-process metrology, such as IONA.  Systems like these measure robot position during a process and can be used to apply position corrections. 

For processes like milling that induce significant forces, in-process metrology alone may not be sufficient as the process forces can change and therefore so can the robot position.

A typical method of achieving a desired part tolerance is to run the process multiple times, changing the robot program each time until the tolerance is reached. This heavily increases the set-up time and is not feasible for low volume part runs.


Innovation

The AMRC devised a machine learning solution that was enabled by INSPHERE’S IONA system to produce parts correctly on a first program run, reducing the amount of trial and error required. 

To collect robot position data to build a training dataset, INSPHERE installed IONA into a robot machining cell at the AMRC’s flagship Factory 2050 facility. IONA is able to report data to external systems over a Message Queuing Telemetry Transport (MQTT). A custom Python app, which is a custom data logging application, was written to log this data and data from other sources.

Data from the robot controller was required for the dataset, which resulted in a background robot program being created that read variables such as tool position, and sent them to the data-logging PC which was running the Python app over a Transmission Control Protocol (TCP)/Internet Protocol (IT), using socket communication. 

To include effects from the machining forces, the torque from the robot joint motors was desired, but the functionality was not available. To circumvent this, a current clamp was installed around each joint motor cable so the motor torque could be inferred. The current clamps were connected to a Nation Instruments data logger and the Python app recorded the data over a serial connection.

The data-logging PC and IONA-control PC were time-synchronised over network time protocol, but it was not possible to synchronise the robot controller clock. The robot TCP/IP communication latency was deemed to be small enough that time stamping the robot data on the PC, rather than on the robot controller, was acceptable.

After the data logging was set up, the dataset was created by machining 74, 80mm x 80mm ISO block samples in a tooling board in a small area of the robot working volume. Variables such as feed rate, step-over and step-down were all kept constant to give the best chance of success for the proof-of-concept. The algorithm was trained on 62 of the samples to leave 12 for testing.


Result

The machine learning algorithm was tested by the AMRC team on the 12 dataset samples that had been kept separate from the training data and its position predictions were compared with the IONA position data. When the testing sample was machined within the area bounded by where the training data was collected, this resulted in the algorithm being able to predict deviations in the robot path to around a 0.3mm accuracy. 

When the testing sample was from a region outside of where the training samples were machined, the algorithm was unable to accurately predict the positional error. However, the algorithm was able to accurately predict positional errors in locations within the area of the training dataset, but it could not generalise beyond that.

IONA was simple to use and collect data from. It measured the robot position ten times per second  and the datasets were complete with no missing points. The self-locating feature of IONA was useful during the 74 ISO block setups as it was easy to accidentally knock the tripods that the IONA nodes were mounted on. 

The dataset that was collected was very dense and took a significant amount of time to collect. To create an algorithm that could better generalise the robot positional performance, the dataset would need to be collected over a wider area, but if done at the same density, this would take far too long. 

An intermediate research project could be undertaken to train multiple algorithms on the existing ACCUFAS-logged data, but with some of the 74 datasets omitted to alter the data density. 

There is likely to be an inflection point where the algorithm accuracy starts to decline from the 0.3mm seen in ACCUFAS. Knowing this inflection point would be useful to optimise the next data collection process so the minimum number of samples could be collected which would minimise the amount of system downtime required.


Impact

The AMRC developed experience with machine learning for robotics, based on data from in-process metrology. It showed that machine learning could be used to improve the accuracy and flexibility of robots and help enable their use in processes that they are not currently suitable for. 

The machine learning research from ACCUFAS is currently at Technology Readiness Level (TRL) five, meaning the work has received basic validation in a relevant environment, but proved that machine learning can characterise and predict the positional errors of a serial arm robot. 

If further developed, this work could open up more processes and applications to automation with serial arm robots, which could enable the processes to be cheaper, faster and increase productivity - helping companies and the economy to grow. 

It could also produce a lower scrap rate and improve the performance of existing robots, rather than purchasing new ones. Industry sectors that would benefit from the automation of accurate processes includes aerospace and defence. 

The AMRC is now considering direct follow-on work to this project, but IS already building on the ACCUFAS research work with a project looking at data and artificial intelligence for robotic manufacturing processes, funded by the High Value Manufacturing Catapult, a national network of research centres that includes the AMRC.