Robot programming accounts for a significant portion of the overall cost of robot adoption and has traditionally required programmers trained in frameworks specific to each robot manufacturer.
This is changing, with rapid developments in model-based approaches, the ‘appification’ of robot programming, and demonstration teaching methods. We look at recent trends in robot programming and the implications for robot adoption and skills requirements.
Model-based development - already well-established in software engineering and widely used in manufacturing sectors such as automotive and avionics- is now increasingly adopted in robotics. One model-based approach encapsulates the code that describes specific attributes and actions of the robot in blocks. Blocks can describe the physical structure of the robot, the activities or ‘skills’ it should perform, its components such as sensors and actuators, as well as the interface between the robot program and other controllers such as actuators or other machines. These blocks can then be combined in different ways to create new programs, without writing each line of code from scratch. Robots can be programmed faster, and by generalist engineers or, for simple applications, production operators. Experts estimate that model-based programming through graphical user interfaces aimed at non-programmers can save up to 75% of installation time and cost.
Model-based development approaches are offered by a number of robot manufacturers for their robot fleets. There are also start-ups providing libraries of models with easy-to-use application-building interfaces that do not require programming skills. One example is drag&bot, a spin-off of Germany’s Fraunhofer Institute. The company provides a graphical user interface through which peripherals such as cameras, actuators such as grippers and programmable line controllers from a range of manufacturers can be integrated with different robots. Drag&bot also provides models for common functions such as palletizing, and support in customizing more complex applications such as pick-and-place, using existing models.
Many companies have installed robots from different manufacturers and want to be able to reuse an application developed for one robot operating system on a robot from a different manufacturer. This has traditionally required significant reprogramming. A number of initiatives are focused on enabling greater reusability of model-based programs. This reduces the resources needed to make specific blocks of code usable on a new robot and in turn lowers the overall implementation cost and increases the economic viability of automating new processes. Traditionally, industrial robots have been used to automate processes that remain constant across large numbers of robots over time – for example welding and cutting parts in automotive manufacturing. However, as manufacturers come under increasing pressure to adapt production to smaller runs of a larger variety of products (high-mix/low-volume), the ability to cost-effectively adapt existing applications and automate new processes becomes a competitive advantage.
The ROS-Industrial Consortium aims to support reusability by building on the open-source framework ROS (Robot Operating System) - a collection of tools, libraries, and conventions for robot programming heavily used by robot developers but not yet widely accepted for use in commercial applications, particularly for industrial robots as there are still concerns regarding support for the strict real-time requirements that are a feature of most industrial robot applications, functional safety and liability. ROS 2, a major revision of the ROS programming framework, aims to address these issues, though the required software libraries are still in development. ROS-Industrial Consortium members, which include a number of industrial robot manufacturers such as ABB, Yaskawa and Universal Robots, contribute code or programming frameworks, which enable re-use of specific blocks of existing proprietary code. The ROS-Industrial repository includes interfaces for common industrial manipulators, grippers, sensors, and device networks as well as software libraries for tasks such as automatic 2D/3D sensor calibration and process path/motion planning.
In an ideal world, full robot applications would be available for download through an App Store with no further need for customization - as we’re used to with our cell phones and computers. This is not realistic in robotics, given that robots interact with their external environment, which varies from company to company. Service robots that work in public environments are subject to high levels of unpredictability in the external environment which would be impossible to model in a ‘plug-and-play’ app.
Please see Xito platform success story: Transpharm Logistik /Teva – on YouTube.
However, the developments described above are a move in the direction of the ‘appification’ of robotics. Some robot manufacturers and providers of robot actuators are working toward ‘out-of-the-box’ applications for simple tasks such as tightening screws and sanding (for example, OnRobot’s sanding application).
Another development supporting reusability is the application marketplace through which companies and systems integrators can find and access existing robot programming models and expertise to reduce programming time. One example is Xito, which emerged from the European Union’s RobMoSys project. Xito enables end users, system integrators and robot manufacturers to provide and find existing pre-programmed models for robot functions and interfaces, or to connect with a developer with most expertise in the specific requirement for custom development. End-users or system integrators describe the intended application and the platform suggests the most suitable components and model-building interface. End-users with a basic engineering degree can program robotic applications, lowering the cost of automation. Xito is focused on the fast-moving service robot market, characterized by a high number of specialist companies. These companies benefit from end-users being able to combine their solutions rapidly and cost-effectively with solutions from other providers to form a complete robotic application.
Demonstration teaching, in which the user guides the robot arm through the path of motion to be followed – with small adjustments then made through a user interface - is common in ‘cobots’ which are often used alongside human workers in environments where tasks vary frequently. Demonstration teaching can be done by a production operator, significantly lowering the cost of automation for manufacturers in high-mix/low-volume environments.
A new start-up, Wandelbots, provides a demonstration teaching interface that automatically converts the demonstration path mapped by the production operator to code for robots from different manufacturers to enable reusability.
Demonstration teaching is not typically used for programming industrial robot applications requiring a very high degree of precision and speed, though this may change in the future. Please see example on YouTube with a KUKA robot.
As model-based approaches mature, we can expect to see de-facto standards emerge from the most popular models. This will further simplify implementation and reusability. As standards become ubiquitous and robust, they can be used for certification, making it easier for developers to offer, and end-users to find, trusted application building blocks. We may also see the increased use of model-based approaches for simulation. Simulation enables end-users to test an application to explore usability and return on investment before having to incur costs. However, it has historically been difficult to do for robots that are influenced by variable or unpredictable external conditions.
In general, advances in model-based robot programming have huge potential for reducing the cost of installation of robots, particularly for high-mix/low-volume production environments and service-robot applications. By lowering the barrier to entry in terms of costs and required skills, model-based approaches are critical to accelerating robot adoption and have a promising future.