Robot Learning through Embodied Gaming
CS 148: Building Intelligent Robots
CS 296-3: Building Intelligent Robots
Towards accessible teaching of robots from demonstration, we have developed a mixed-reality distributed multi-player robotic gaming environment. Our goal is to provide robot learning researchers with an means to collect large corpora of data representative of human decision making. Robot control by an human operator (or teleoperation) is cast in a video game style interface to leverage the ubiquity and popularity of games while minimizing tedium in robot training.
Despite tremendous advances in robotics, we have yet to realize truly personal robots that serve as a medium for common users to express themselves, through desired robot behavior, in the real world. Analogizing to graphics, robotics lacks the basic tools for creating physical content (i.e., robot decision making) the same way tools such as OpenGL and Maya serve to render and animate virtual content. Teleoperation and programming (via computer programming languages) are classical methods to con- trol robotic systems, but often requires a combination of constant human supervision, a high level of expertise, and continued reprogramming to new tasks and environments. Techniques from machine learning (e.g., supervised regression, reinforcement learning) offer a promising avenue for robots to learn policies from observing user behaviour and incorporating user feedback. Development of robot learning from demonstration, however, has been limited mostly because it is data-driven process with a lack of representative data. This circumstance results from the fact that collecting data from human performance is difficult due to the expense of robot maintenance and lack of compelling interfaces.
Online robotic gaming involving a massive number of people and tasks is the path to viable robot learning. Our work aims to provide persistent online robot gaming presence (24/7/365), similar to a robotic XBox-Live, that immerse the user in the. We have developed a client/server robot gaming system consisting of: 1) Java-based teleoperation clients that use augmented reality overlays to drive 2) low-cost commercial robot platforms (i.e., iRobot Create) at selected game severs, moderated by automated referee observers. Our system logs control pairs (perceived robot states S and human control actions A) into a database that will (eventually) be used to learn a decision making function f(S) = A.
We have currently implemented a robot game server and clients for playing the example game of ``RoombaTag'' . Our robotic platform, named ``SmURV'' (Small Universal Robot Vehicle) is an iRobot Create with a Mini-ITX form factor computer. The Smurv also has a Unibrain Fire-I camera as a visual sensor and an IR emitter attached to the Create functioning as an ``IR cannon''. The ITX machine runs Linux (SLAS distribution) and Player/Stage robot server [Collett et al. 2005] from a flash memory card, allowing both control of the robot hardware via TCP/IP over wireless and execution of onboard robot controllers. Game state shared between multiple Smurvs are implemented in a game server. The game server that acts as a mediator, a referee and a switchboard between the set of physical robots and the users controlling the robots through the internet. Users control a robot through a client-side Java application that communicates with the game server.
It is crucial for the robot learner and human teacher to have the same awareness of the robot's state S, which has recently been explored through cartoon-like robot expression [Young et al. 2007]. In such cases for learning, the human will be acting on observations unavailable to the learned decision making policy. Thus, directly providing the robot's camera image to the human teleoperator is not sufficient. Instead, we will present to the user the robot's perceived state using augmented reality. The environment and other robots are markered with fiducials. The fiducials are tracked using the ARTag library [Fiala 2005] and associated 3D model overlays are displayed to the user. Eventually, the user will only see overlays to allow minimize the human's more advanced perceptual abilities.
Pictures of the prototype SmURV (front and back) from CS296-3 class project in February 2007
Snapshot of RoombaTag game in action from a single robot's perspective
Excerpt video illustrating RoombaTag
Robot control by Wiimote
B. Dickinson, O. Jenkins, M. Moseley, D. Bloom, and D. Hartmann. Roomba Pac-Man: Teaching autonomous robotics through embodied gaming. In AAAI Symposium on Robot and Robot Venues: Resources for AI Education, Palo Alto, CA, USA, Mar 2007.
[ bib | .pdf ]
M. Kostandov, J. Schwertfeger, O. Jenkins, R. Jianu, M. Buller, D. Hartmann, M. Loper, A. Tsoli, M. Vondrak, W. Zhou, and M. Fiala.
Robot Gaming and Learning using Augmented Reality.
To appear in ACM SIGGRAPH 2007 Technical Posters
Brown UTRA Program
iRobot Corpopration (Roomba donations) Chipalo Street