AWS Robotics Blog
Adaptive Reprogramming of Industrial Robots and Toolpath Validation in the Cloud
Guest Blog By Sebastian Andraos, Chief Executive Officer, HAL Robotics Ltd.
At HAL Robotics, we enable the automation of variable, complex, and uncommon tasks with robots. Over the past 8 years, our software has powered innovation for multi-nationals and subject matter experts in aerospace, construction, transportation, and food & beverage.
The HAL Robotics Framework provides a modular, extensible, and reconfigurable workflow. This includes connections to data sources, cell modelling, toolpath generation and validation all the way through to robot code generation, upload, execution and data acquisition for analytics.
The framework is highly portable. It runs on desktops, in the cloud, in embedded systems, and is even built into CAD software. The HAL Robotics Framework is also vendor agnostic with simulation and programming support for almost 1000 robots from various manufacturers including ABB, KUKA, Universal Robots, Yaskawa, Kawasaki and FANUC amongst others.
Hyper-Customization and Variable Production
From automotive parts to surfboards through kitchen cabinetry and aerospace components – manufacturing companies are having to deal with increasing product variation in their pipelines. This is often because they’re starting to automate tasks which are being done manually or they plan to offer more customization and specialization to their customers. The variability in production is not accommodated by “traditional” automation techniques and that’s where adaptive reprogramming comes into play.
By generating toolpaths for robots using data rather than manual programming, we can inherently handle variation. That data can be geometric CAD models, text in a database, or any other data format – as long as the consumer of the data is able to process it properly and generate a toolpath from it.
This approach expands the Industry 4.0 focus on connectivity of devices, data acquisition and monitoring, with new command and control paradigms. Whether it’s through a truly made-to-measure service or modular assemblies, flexibility in automation is key to retaining economies of scale. Especially as we continue moving towards more human-centric design – removing dull, dirty, and dangerous jobs from humans and lowering the entry barrier for robot use.
For all the benefits of adaptive robot reprogramming to be realized, we still need to ensure the process we run is feasible, safe and efficient. There are two different ways to handle this. Either manually set safe parameters for all parts, such as the robot’s working area, speeds, and tool selection, or fine tune our process for each new part that comes through the pipeline. Simulation can validate variants without needing to use a real robot. However, testing different parameters and configurations on a part-by-part basis is time consuming and, if done manually, defeats the purpose of adaptive programming.
This is where a full robotics programming and simulation stack in the cloud pays dividends. By leveraging the compute power of the cloud to run high-performance digital twin instances, we can test different options in parallel and make informed, automated decisions about how a part should be processed. These decisions could be as broad as which robot cell can handle the part all the way down to the subtleties of toolpath generation strategy. For example, in a robot cell with a large and a small sander, we can determine whether, for a specific part, it is more efficient to use the larger sander wherever possible and change to the smaller one only for the details, or whether the cost of changing tools outweigh the benefits of covering larger areas with the larger tool.
Automated Design Validation PoC
In September 2022, HAL Robotics participated in a Robotics Start-up Accelerator by AWS and MassRobotics during which we developed a PoC for a new cloud-based design production validation tool with support from AWS Principal Solutions Architect, Jeremy Wallace.
The solution (diagram above) based on AWS services, creates a closed loop between designing parts and validating its efficient producibility in the cloud. This is demonstrated with a simplified polishing process for a car door. The workflow begins with a designer making changes to the part they want to produce in a CAD software. Once they are happy with this version of their part, they commit these changes to a change tracking system along with a set of parameters required for the production of the part. In the demonstration, parameters include polishing force range, pattern options, and the robot cells that can process the part. In a real-world scenario, the design data and production parameters could come from two different people or directly from a customer with little to no knowledge of the production process.
Once the design and parameters have been pushed to an Amazon Simple Storage Service (Amazon S3) bucket and Amazon DynamoDB table respectively, the client calls an API to start the validation of the process. This triggers an AWS Step Functions state machine which creates the batch of parameter configurations for the test. In the state machine, an AWS Fargate task is executed for each configuration using a container image stored in Amazon Elastic Container registry (Amazon ECR) that includes the HAL Robotics Framework and some custom code to generate a toolpath from the incoming parameters and geometric part data.
This container image generates a toolpath for a specific robot cell and solves the toolpath to ensure feasibility, identify any potential issues and calculate a number of metrics, e.g. duration or energy usage, which can be used to score different valid options. These metrics are then pushed to DynamoDB alongside the parameters used, any errors, and a digital twin simulation of the process.
The user can log in to a portal to view their validation runs, drill into the metrics, and download the simulation. The simulation can then be viewed in an interactive 3D viewer on their computer.
This workflow enables designers to make design changes in their software of choice – from ensuring the new design can be produced to optimizing processing. They can do this without needing to touch a line of robot code, manually change parameters, or wait for any simulations to run.
The solution proposed here is a powerful tool to make product design changes and examine the impact of these changes on production processes. It can further improve productivity when combined with the rest of the HAL Robotics stack, where you can create an end-to-end workflow from design to efficient variable production. For example, a 3D printing company could allow users to upload their models to a website with a few user-accessible parameters, then trigger the validation workflow above and push the optimal result to an HMI for an operator to simply press play.
Taking it a step further – this solution could run in the production loop. There are a number of processes at HAL Robotics where the parts entering a cell aren’t known ahead of time. In these cases, we use sensors such as 3D scanners to capture information about the part, then generate toolpaths with this data using compute at the edge. Whilst always functional and safe, those processes sacrifice a small amount of efficiency for that flexibility. With the power of the cloud and parallelization, you can generate and validate 10s or 100s of different toolpaths in the same amount of time. This workflow is becoming particularly prevalent in incremental manufacturing lines which combine sensors and multiple processes to fix defects in the loop or create extremely complex parts by layering processes on top of each other. Examples include additive manufacturing and machining in alternating passes.
The HAL Robotics Framework has been enabling adaptive automation for years. Now, by demonstrating its portability into elastic cloud services, we can unlock the scalable workflows needed to add flexibility to even the most demanding manufacturing systems.
To download the HAL Robotics framework and learn more about this solution go to the Download page or directly to the GitHub repository.