Randomization for Robot Tasks: Using Dynamic Programming in the Space of Knowledge States

Michael Erdmann
Algorithmica, Vol. 10, 1993, pp. 248-291.


Abstract
This paper explores the use of randomization as a primitive action in the solution of robot tasks. An example of randomization is the strategy of shaking a bin containing a part in order to orient the part in a desired stable state with some high probability. Further examples include tapping, vibrating, twirling, and random search. For instance, it is sometimes beneficial for a system to execute random motions purposefully when the precise motions required to perform an operation are unknown, as when they lie below the available sensor resolution.

The purpose of this paper is to provide a theoretical framework for the planning and execution of randomized strategies for robot tasks. This framework is built on the standard backchaining approach of dynamic programming. Specifically, a randomizing planner backchains from the goal in a state space whose states describe the knowledge available to the system at run-time. By choosing random actions in a principled manner at run-time, a system can sometimes obtain a probabilistic strategy for accomplishing a task even when no guaranteed strategy exists for accomplishing that task. In other cases, the system may be able to obtain a speedup over an existing guaranteed strategy.

The main result of this paper consists of two examples. One example shows that randomization can sometimes speed up task completion from exponential time to polynomial time. The other example shows that such a speedup is not always possible.


Keywords
uncertainty, robotics, randomization, probabilistic algorithms, automatic programming, planning with uncertainty

Notes

Text Reference
Michael Erdmann, "Randomization for Robot Tasks: Using Dynamic Programming in the Space of Knowledge States," Algorithmica, Vol. 10, 1993, pp. 248-291.

BibTeX Reference
@article{Erdmann_1993_5152,
   author = "Michael Erdmann",
   title = "Randomization for Robot Tasks: Using Dynamic Programming in the Space of Knowledge States",
   journal = "Algorithmica",
   pages = "248-291",
   year = "1993",
   volume = "10",
}