Bottom up robotics is working with certain assumption about how the world looks like. The idea is that some sort of problem is available and then the robot has to be programmed to solve the challenge. For example there is a line following challenge and the robot has to stay on the line.
The misconception is to assume that solving a well defined problem is hard or has something to do with artificial intelligence. Nope, the real challenge is located somewhere else. The real problem is that most robotics challenges aren't formalized enough.Suppose there is a well defined hierarchical problem which includes a cost function, subgoals and possible actions. Then it's trivial to control the robot autonomously. Such a problem is not an AI problem but it has to do with solving optimization problems
Controlling a robot isn't very complicated if the problem was defined very well. The reason is, that the actions of the robot have to do with maximizing the own reward. This can be realized with cost biased graph search algorithms like A* or RRT. And reinforcement learning is able to fulfill the same task.
But, if robot programming from a bottom up perspective is easy why are real robots struggling in solving tasks? Because it's very complicated to define in software what the problem is about. A human sees immediately if a robot has struggled in a problem, but a virtual referee which is a computer program has more problem in recognizing the issue. In game programming this module is often called a game engine and for most domains like grasping or self driving car no such game engine is available.
No comments:
Post a Comment