We introduce pool and its variants, and describe the challenges of computationally simulating the game to create a robot capable of selecting and executing shots on a real table. A proficient pool player performs accurate shots and recovers good position with reasonable alternatives to play following each shot, which requires planning. The computational and robotic simulation of a high level player requires vision, calibration, and accurate robot positioning, as well as an ability to precisely anticipate the table arrangement through simulation of the planned shots. Such a system also requires strategic planning in order to recreate the human’s ability to clear table after table. Ultimately, the challenges associated with the creation of a pool robot will promote new ways of using existing AI methods and provide, if successful, a training tool for players wanting to improve their game.
The interest in computational pool is motivated by a variety of factors. The mechanics of pool has long served as a focus of interest for physicists, an interest which has extended naturally to the realm of computer simulation. Realistic and efficient simulators have led to the proliferation of computer pool games. These games include significant computer graphics components, often including human avatar competitors with unique personalities, as well as an element of rudimentary artificial intelligence to simulate strategic play. In addition to the interesting challenges of computational pool, the interest in robotic pool stems from the requirement of dealing with a physical system. The issues of robotic pool include the identification and accurate localization of balls through computer vision techniques, and accurate calibration and positioning of the robotic mechanism. Robotic pool systems are geared toward serving as advanced training platforms to assist and improve human play, and also hold the promise of competing directly against proficient humans, which is in some sense the ultimate challenge.
Though in the context of this chapter the primary objective is the creation of a robotic pool player, we wish to extend our research beyond the scope of robotics. We hope that by researching the best way of making a perfect player we can develop new AI approaches, and possibly contribute to other problems of that nature. Coincidently, a sub-goal is also to come up with a system good enough so that a human player can use it for training. Although the problem we wish to solve is deterministic in nature, subject to the laws of physics, it is so easily influenced by many small factors that it can actually be seen as stochastic. This makes it very hard to create a perfect player, because even if he never misses, the outcome of the game is never pre-defined.
In this chapter we will explore the technical challenges of computational and robotic pool. Some recent work on artificial intelligence methods for strategic play is presented. The graphics elements of computational pool are not covered in this chapter, as they are considered to be similar to other computer games, and not worth discussing uniquely. We also present a review of previous work in robotic pool, as well as a detailed description of the Deep Green® robotic pool system.
For simplicity, and somewhat loosely, we use the term pool here to encompass all cue-sports, and we limit ourselves to those variants which involve pockets. The basic elements common to all of these games are as follows: