December 19, 2019

Human Level AI for industrial robots

Industrial robots were never successful because all the tasks in reality are asking for human level AI. A human level AI is a robot which is on the same level like a human worker. That means, he understands normal English, is able to learn new tasks and is able to fulfill complex tasks by it's own. What autonomous robots can provide is reduced form of Artificial Intelligence. The typical AI control program is able to steer a robot on a line or can do simple pick&place tasks which are preprogrammed by the algorithm. In robotics challenges like micromouse and robocup such minimal AI is enough to solve the task. The problem is, that in reality the robot needs more skills to become highly productive.

From a technical point of view, it's not possible to program a human level AI in software. Even advanced research projects in the universities are not providing such features. All the existing robots have only sub-human level AI implemented. Because of this reason, they failed in real life applications. The better alternative is to use a teleoperated robot. Teleoperation means, that a human operator controls the robot which is connected with the robot with an internet connection. Teleoperation itself is not able to increase the productivity. The human operator will need the same time until the task is finished, and he has to be payed like the normal worker. The advantage of teleoperation is, that the distance between the robot and the human operator can be increased.

The normal Internet connection is remarkable fast. It allows to control a robot in realtime, similar to what a multi-player online game is about. That means the latency in games is enough for a robot control problem. In contrast to autonomous robots, a teleoperated robot is on the same cognitive level like a human. That means, it's possible to talk to the machine like “hello robot”. And the robot will answer in normal English, because on the other side there is normal human.

This kind of human level skills is required for solving real tasks. For example, the crane on a construction site is doing a complex task and there is a need to talk to the crane operator. If the crane operator is a software which was programmed for pick&place actions, it's not possible to talk to the crane. As a result, autonomous cranes are not used in reality. But a teleoperated crane is useful tool. The same is true for delivery robots which transports a box from a to b. A normal robot which is working with a computer program doesnt provide human level capabilities. A simple request like “put the box down” won't be understood by the robot, because the software has no speech recognition module. But if the same delivery drone is controlled a by a human operator it will understand each single word. And much better, the human operator will understand even sign language without extra commands so that the interaction make sense.

The work hypothesis is, that teleoperated robots are useful for commercial applications while autonomous robots are not. The only task which can be solved by software controlled robots are synthetici challenges like Micromouse, but these challenges are different from practical applications.

Is there a need for human level AI?

Perhaps it make sense to go a step backword and describe the precondition for normal robotics. The common idea of robot programming is, that at first the robot is equipped with piece of software, and then the software is able to solve the task. A typical example is a pick&place robot which moves an object from A to B. The assumption is, that the pick&place software is enough for solving problems in reality.

The problem is, that the engineers are not able to increase the skills of the software but what they are doing in reality is to modify the requirements of the tasks. In case of the pick&place robot the engineers are inventing a robot challenge in which a box needs to be moved from A to B. If the robot is able to do so, he has won the challenge. This kind of task is very different from real applications. In reality, a pick&place task is more complicated. This sort of real tasks can't be solved by the initial software. That is the reason, why a pick&place robots works great in the laboratory but fails in the reality. Let us imagine a real pick&place task which is required in the factory. Solving this task with a robot is not possible. What the companies are doing is to utilize human workers for this task. So the question is: which kind of software is needed to replace a human worker with an AI?

The answer is a bit complicated. It has to do with the task. Or let me reformulate the question: how much Artificial Intelligence is needed to solve pick&place tasks from the reality? The answer is, that only human level AI is capable of doing so. Even if the task looks easy to solve a normal algorithm isn't able to do so. That is the true reason why robotics were never used in the factory. Because the gap what robots have to offer and the requirement of the factory is, is too large.

The problem is not located in the domain of Artificial Intelligence. But it has to do with the human work in reality. All the jobs in the service industry, on the construction site, in the supermarket and for driving trucks to a destination are highly complex. They look easy only for humans, but they too complicated for robots. The reason why these tasks are so demanding is because most of the work was automated already. For example the engine in the truck moves the vehicle forward and the engine is driven by fuel. The only thing what is not automated is the steering task, which means to operate the truck and decide in which moment the brake is needed. The same is true for the crane on a construction site. The crane itself is driven by an electric motor. What the human operator is doing is to control the crane. That means, he is doing a high level task which needs a lot of domain specific knowledge.

This kind of human level knowledge isn't provided by simple path planning algorithm. The minimum requirement for a human worker is, that he understands normal English. Nearly all existing robots are not able to do so, only humans can understand a sentence like “please stop the engine”. If a robot doesn't even understand a simple sentence, how is he able to replace the human worker? Right, there is no way and as a result the automation project will fail.´