June 25, 2019

From plan recognition to autonomous robots


The transition from teleoperation to a fully autonomous robot contains of many steps in between. These steps are necessary to realize more complex operations. Suppose, a plan recognition parser was added to a teleoperated robot, how can this capability help to realize a fully autonomous robot?
Let me give an example which is an RC car who is navigating in a maze. The human operator controls the car and the plan recognizer is printing out to the console all the actions on a semantic level. For example the output is, that at timecode 0 the car is in the middle of the maze, then it moves to the north, the the driver makes a turn left and then the car stops. On the first look, the annotated gamelog is not exactly the desired behavior of the AI system, because we need a robot who can drive by it's own and not a chatbot who is commenting what a human driver is doing. But let us slow down the overall situation a bit. A recorded gamelog is equal to plan. In the plan is written how to bring the system from the initial state to the goal state. And this will answer the question how to realize a fully autonomous system. Such a robot control system takes a plan as input and generates the low level commands as output.
A plan is equal to a list of keyframes. They are describing who the overall trajectory will look like. And it's up to the solver to realize the plan in reality. The plan provides the reward, the subgoal and the timing. It's not very complicated to transform a given plan into lowlevel actions.
Let us research how a robot control system will look like if no plan and no plan notation is given. Usually the system is in the initial state and should reach the goal state. And then the planner has to plan everything from scratch. This can be very complicated because the state space is large. In the more easier task a plan is already there and planning means only to transform the plan into smaller activities.
Sure, the plan can't executed direct because of minor obstacles. The plan is only the general plot which have to be followed. It is some kind of subgoal list which reduces the state space. The resulting real sequence will look like very similar to the original plan.