September 07, 2021

Industrial robots at the assembly line

 

Assembly lines are the most efficient production facilities out there. There are running 24/7, there are mounted o a fixed place and they can be automated. In contrast to research oriented robotics projects like Robocup or micromouse an industrial robot mounted at the assembly line is doing something meaningful.
From the history point of view, assembly lines are a typical example of mass production at the lowest cost. The question is not how to produce and package a single piece of pizza but millions of them each day. The goal is to increase the quantity and reduce for a single unit down to zero. Then the product is sold to the mass consumer. Somebody may argue that mass produced goods which are created by assembly lines are outdated. From a research perspective this might be correct, because programming such a robot can become a boring task. On the other hand, such maschines are highly important for the economy. They are the backbone of the capitalism.
so let us think about not to create toy robots which can play games or helping in the kitchen, but the idea is to create real robots for the assembly line. Such a robot is never autonomous and he has no onboard battery pack. Instead, the amount o electrical current is endless and the system can be created with heavy metallic parts.
First thing to do is not to focus on the robot itself but on the concrete task. An assembly line delivers a raw product from the left, then an action is made on the work station and the improved product is delivered to the right side. This principle is repeated many times. A typical example is a workstation which drills a hole in each piece of wood delivered by the assembly line. The technical question is how to program a robot which can do such task error free.
To answer the question we have to investigate how research oriented robots are getting programmed and adapt this technology for industrial robot programming. A state of the art technique for implementing Artificial Intelligence is a reward function which maps the current state to a numerical value. This is equal to evaluate the actions of the robot If the robot is working well the reward function will show a value of 0.95, 0.94, 0.96 and so on. But if the robot made a mistake the score is reduced to a value near 0.0.
This realtime reward function is the backbone in modern robotics. It can be used to realize advanced control systems. At the same time it is utilized to debug existing robot software. Debugging means, that the robot is controlled by a joystick and while the human operator is doing so, he sees on the console the reward value. If this interaction works well enough, it is possible to program another software which removes the joystick from the loop ad controls the robot autonomously.
Let us imagine a robot control software for the drilling task is available already. The robot at the assembly line is repeating the same task over and over again. While it is doing so, the reward value of 0.95 and higher is shown on the display. This reward value can be displayed as a chart and shows what the system is doing. That means, in the robot software there is a module available which converts the current action into a single reward value. No matter what the task is or which programming language was used, the reward value is always visible. The importance is the same like the amount of energy a robot consumes. It is not a physical measurement but it is a task oriented information which have to do with the Artificial Intelligence in the robot.
Let us imagine under which condition a reward value of 0.95 is shown for a drilling robot First important thing is, that the drilling starts at the correct position, not to early and not to late Second important thing is, that the hole has a certain length. If everything is perfect the reward is equal to 1.0 which is the maximum value.