December 09, 2019

Increasing the automation level

Instead of trying to automate a task with the help of robots, the more interesting question is how to make the transition from human work towards robotics smooth. The idea is, that the automation works with substeps which can be climbed like a ladder. In the low level, the robot is remote controlled. That means, a human operators gets a joystick and has to control the robot arm like a crane. This kind of interaction takes is not very efficient but it works. The human worker is able to do with the robot all sorts of tasks. He can grasps objects, manipulate objects and can recover from failure.

In the next step the automation level is a bit higher. This time, the remote controlled robot gets a semantic annotation. Which means, that some sort of execution monitoring is available which is able to detect how many pick&place actions the human worker has mastered in one hour. The system also detects, if the human operator has made a pause and the robot arm is doing no operation.

Both automation level are easy to achive from a technical perspecitve. Programming a robot so that it accepts manual joystick movements and count how many objects were moved is not very complicated. The next step is to increase the automation level even more into the direction of semi-automatic movement. The idea is, to support the human operator, so that he is able to do the task with less effort. This kind of real automation is much harder to realize. Perhaps it's impossible because the technical problems are to much.

Perhaps it make sense to go a step backward and describe what the first two mentioned automation are about. Controlling a robot arm with a joystick and monitoring the execution transforms a pick&place task into a game. The game is about reaching a virtual score by moving the joystick forward and backward. The exciting question is, in which moment the user has to active which action?

The good news is that from a formal perspective the task is equal to create a non player character. That is a computer software which can play a game without a human user. The npc character determines the next action autonomously. Such an NPC user is able to control the joystick movements by itself. The problem is, that the movements of a robot arm are equal to a complicated game. The amount of decisions is high. The game is more complicated than a simple chess game. According to state-of-the art robotics literature the best practice method in solving such games is a task- and motion planner. This is a hierarchical planner which works on two layers. In the higher symbolic level the game is formalized in a task language for example with the STRIPS notation, while in the lower motion layer, the game contains of trajectories.