December 21, 2019

Limits of remote controlled robots

The good news is, that a remote controlled robot can provide amazing skills. The robot can drive a car, pick&place objects, work in real life applications and so on. It's even possible to combine a biped robot with the ability of remote controlled. The resulting machine looks similar to what is known from the I, robot movie which means, that it's a humanoid biped robot which can walk on the street. Providing such functionality is technically not very complicated, because the joystick controls the servo motors and that is all the secret.

The sad news is, that all of these remote controlled robots provide the same productivity like a normal human. That means, if 10 humanoid robots should walk on the street, 10 human operators are needed. The same is true, if the robot should do a pick&place task. What is not possible is, that a single operator controls a robot fleet. This would be equal to provide a better productivity.

On the first look, the problem seems not very hard to solve. If it's technically possible to build a teleoperated robot, it's also possible that man machine interface will become more efficient. Unfortunately, this is not possible. The only option which is available is to reduce the complexity of the task. That means, if the robot should follow a line but is not asked to do something useful, that the remote control system can provide a higher productivity.

The problem is, that reduced complexity tasks are different from what a robot should do. In most cases, the idea is, that the robot is doing something useful, for example deliver a box to the destination. This kind of task has a certain complexity, which is fixed. If the complexity is reduced, the task will become something else.

I know the explanation isn't a bit complicated. Perhaps it make sense to go a step backward. Increasing the productivity of a robot has to do with programming a macro or an algorithm. The algorithm calculates the next movement and the human operator can relax. So the question is which kind of algorithm is needed to control a certain robot. And exactly this is the bottleneck. An algorithm which means an autonomous robot can only be created, if the task is very easy to handle. This is the case for computer games. If the rules are known in advance, it's possible to create some kind of solver, which transforms the remote controlled robot into an autonomous one.

Unfortunately, real robotics applications do not providing fixed rules. It's not possible to formalize the actions of a human worker in an algorithm. Surprisingly this is also the case for simple tasks like an pick&place operation. Even if the robot arm has nothing to do than pick and place an object, the task can only be handled with remote controlled but not with an algorithm.

Perhaps it make sense to research the topic from the opposite perspective. Suppose it's possible to program an algorithm for a pick&place task. A working algorithm can be executed autonomously without a human in the loop. In theory this is equal to the maximum productivity. Are such robots available? No they don't. Because this would be equal that an autonomous robot is able to fulfill a task which is important.

Let us summarize the situation a bit: teleoperated robots are working great for practical applications. The disadvantage is, that the productivity is low. It's not possible to increase the productivity, because this is equal to provide human level AI which is not available. The open question is, if such a telerobot makes sense for today's companies. In theory, it's possible to build some sort of cloud service in which human robot controller are providing the service to control all sorts of robots. These robots are able to replace normal human workers. At the same time, the workers in the cloud will produce labor costs as well. The advantage is, that the labor is located in a single place which can be requested by lots of robots.

The explanation why the productivity of a remote controlled robot is limited isn't available in the domain of Artificial Intelligence itself, but it has to do who the normal economy is organized. The normal workplace for a human is organized in a way to maximize the productivity. That means, the truck driver who transports a load isn't able to do a second task while he is driving and the worker at the assembly line is also fully occopied what he is doing right now. That means, the average workplace generates a certain amount of stress to the human worker.

If the worker is replaced by robot, the robot has to provide the same amount of work, that means, he must resist to the workload as well. The sensor signals are transmitted to a remote location and the human operator behind the joystick will get the same amount of stress like before. If the normal human worker is not able to reduce the workload, how should the remote operator can do so? And exactly of this reason it's possible to increase the productivity. No matter, if the crane operator sitts physical in the crane or is located 100 miles away, the workload for the human is the same.

The only way for reducing the stress would be to replace the human operator with an Artificial Intelligence, which is a software which doesn't need a human operator anymore. This kind of robot is the opposite of a remote controlled robot, it's an autonomous device. The problem with autonomous robots is, that they fail in reality. They are not working for practical applications. Instead of asking how to improve the robot, the more elaborated question is, why a certain workplace produces a certain workload?

The answer is located in the industrial revolution. The workplace of a crane operator is the result of the invention of the crane. What a crane operator is doing physically is to press some buttons. At the same time, this job is very hard, that means, if no crane operator is available the construction site gets in trouble. The same is true for other jobs, for example in the service industry. An existing job is a sign, that the economy has a certain workload which is important. This workload is different from playing a game.

In contrast, the task which are available in robotics challenges for example the line following task, provide a small or even a zero workload. That means, the robot how drives on the line in a circle isn't providing real work which is needed by the economy, but it's his own pleasure. Solving a zero workload task with an algorithm is easy going, but solving a high workload task with an algorithm is not possible.

That means, if somebody like to replace a real worker with a robot, he will need a teleoperated robot. And if somebody has build an autonomous robot which doesn't need a human in the loop, the task has only zero workload which means, it's a synthetic challenge which is not needed in reality.`



In the graphic, the desired goal is located in the bottom right, which is a combination of autonomous robot plus high workload which is available in reality. What most robotics engineers are trying to realize is to built a software controlled robot which can do real tasks. The reason why this combination is colored in red is because it's not possible in doing so. The reason is, that if a certain task is highly complex it's not possible to create an algorithm for it. And if a robot is controlled only by software it will only be able to solve low workload tasks. Let us make a small thought experiment. Suppose, there is a human worker available who is doing nothing else as walking back and forth on the street. He moves 100 meter from left to right, and then the same 100 meter in the opposite direction. In the thought experiment the human worker gets 20 US$ for each hour he is doing so. Automating such a task with a robot and replacing the human worker by an algorithm would be pretty easy. A simple python script in under 100 lines of code would do the job very well. The problem is, that such a task is not available in the reality. It's equal to a synthetic challenge given in a robotics competition, but it is nothing which is requested by the real economy. Real obs in which the human worker earns 20 US$ per hour are much more complicated. They can't be automated with a simple Python script in under 100 lines of code.

The perhaps most interesting feature of teleoperated robots is their ability to solve high workload tasks from the reality. A well designed humanoid robot is able to replace a human worker. The only disadvantage teleoperation has is, that they can't do much more. If a company likes to replace all the 1000 employees with robots they will need exactly 1000 humanoid robots plus 1000 human operators in the cloud. They are not able to do the same workload with only 500 human operators, because it's the same job with the same workload. It's up to the company to decide, if cloud based teleoperation make sense or not.