December 20, 2019

Non Teleoperated robots

Classical robotics competitions like Micromouse are working with non-teleoperated robots. That means, the robot is taking the next decision only by artificial intelligence. The reason why is because the AI engineers are trying to increase the productivity level. The assumption is, that a human operator doesn't make sense, because it will produce a high workload to that operator.

Non teleoperation has a major disadvantage. If all the decisions of the robot are controlled by software, the software needs to become very elaborated to solve a task. The problem is, that how to program an advanced AI is unknown, so what is available in reality is, that the difficulty of the robot competition gets smaller, so that current AI software is able to solve it. That means, the micromouse in the challenge doesn't need to do complex tasks, but it's enough if the mouse finds a way through the maze.- This reduced complexity allows the participant of the competition to program an AI Software which can do the task autonomously.

The problem is, that in reality the tasks have a higher complexity. A problem in which a robot has to travel through a maze isn't available in a real factory. Therefor the programmed software is useless. It will only be successful in synthetic robotics competition but not for practical applications. The gap between a robotic challenge and replacing real humans at the workplace is too large.

The reason why the gap is there has to do with the autonomous paradigm. All robotics competition have in common that the robot is controlled by software but not with a teleoperator. That means, the decision of the robot has to be calculated by the AI software. It's not possible to cheat the challenge, because it is doublechecked, if the onboard software is really able to control the robot. The requirement, that only software controlled are allowed to participant at the challenge is asking for a certain sort of robot. In case of the micromouse challenge, the typical software contains of a hierachical pathplanner in which high level trajectory is calculated together with low level motion commands. Such a pathplanner is optimized for the micromouse challenge. It's the opposite of a human level AI.

Somebody may argue, that it's not possible to program a human level AI which can solve more than a single game. And he is right, because such software is out of the scope of current AI. nobody knows, how to program a software which can play all the games and is able to communicate in natural language. The consequence is, that no alternative to a normal robotics competition is available.

Robotics competitions

The rules of challenge result into certain styles how to solve the issue. A typical example is a line following challenge. The task is to program a robot which can follow the line. The robot who is ooing so in the fastest amount of time has won. The problem with a line following challenge is, that it's not a robot task itself, but it's a programming problem. It can be solved by implementing an algorithm in the Python language. At first, the sensor information are read, then the robot has to calculate the next movement. A typical program for solving this task is working with the pid control method. That means, the sensor readings of the line is taken as input for the steering controller.

The problem is, that even a robot has won the challenge the robot project has failed. The created software can't be used outside the competition. It's a synthetic competition which provides a sandbox in which the programmer should proof if they have understood what a pid control algorithm is. The more elaborated form of a robotics challenge is an open problem which is equal to practical applications of robots in the reality.

It's important to know, that synthetici robotics challenges like a line following task and the requirement in the reality have nothing to do with each other. A line following problem is a game which is working by it's own rules. These rules are created with the purpose to simplify the problem. In contrast, using a robot in reality, for example in a factory or as a self-driving car is working by different rules.

The requirement in the reality can be summarized to “human level AI”. If a robot should replace human worker, the robot needs the same skills like a human. That means, the minimum requirement is, that the AI of the robot will pass the turing test. For sure, this requirement is a bit too high, no robot today will fulfill such a requirement. That means, a robot is not able to do useful tasks in the reality, because he failed in the turing test.

The problem is not described very well in the literature, so it make sense to focus on the detail. A naive assumption is, that practical applications of robots can be realized without providing human level AI. The hope is, that a normal AI algorithm which includes sensor perception and a bit of pathplanning is enough to solve tasks form the reality. The assumption is, that an industrial robot has to solve only simple tasks but there is no need to equip the robot with a massive human level AI which will pass the turing test.

This kind of assumption was never tested in the reality. It's the hope of the engineers because they can only program narrow AI system and the hope is, that these narrow AI systems can solve tasks from the reality. The altenative description is, to assume, that these narrow AI systems will fail in the task. That means, the robot which was programmed with some algorithm is not able to replace human workers and it can't be used in the reality. There are many facts available which are showing that this pessimistic thesis is correct.

All the robotics projects from the past have two things in common. First they are working with narrow AI but not with human level AI and secondly they failed. That means, the robot was not able to replace human workers. And between two facts there is a strong connection. That means, the robot projects failed because the robot was not able to pass the turing test.

Artificial Intelligence has a lot to do with solving games. Creating an AI controller is equal to solving a game. The open question is, which kind of games are available. An easy to solve game is TicTacToe. Such a game can be solved with a narrow AI. A basic strategy would be a gametree search. The problem is, that games played in reality are much harder to solve. For a certain standpoint, human workers are solving games too. If a cook prepares a meal he has to solve a game. This games contains of manipulation tasks with the hand and it has to do with decision making which kind of ingredients are needed. All the games in reality are too complex for current AI. That means, it's not possible to create an AI which can play games in the reality. The problem is, that games in the reality are fixed. It's not possible to simplify the existing games. So the answer is to increase the ability of the robot to a human level.