This article introduces Pyro, an open-source Python robotics toolkit for exploring topics in AI and robotics. We present key abstractions that allow Pyro controllers to run unchanged on a variety of real and simulated robots. We demonstrate Pyro's use in a set of curricular modules. We then describe how Pyro can provide a smooth transition for the student from symbolic agents to real-world robots, which significantly reduces the cost of learning to use robots. Finally we show how Pyro has been successfully integrated into existing AI and robotics courses.
Pyro, which stands for Python Robotics, is a Python-based robotics programming environment that enables students to explore topics in robotics. Programming robot behaviors in Pyro is akin to programming in a high-level general purpose programming language; Pyro provides abstractions for low-level robot-specific features much like the abstractions provided in high-level programming languages. Consequently, robot control programs written for a small robot (such as K-Team's hockey puck sized, infrared-based Khepera robot) can be used, without any modifications, to control a much larger robot (such as ActivMedia's human-scale, laser-based PeopleBot). This represents an advance over previous robot programming methodologies in which robot programs were written for specific motor controllers, sensors, communications protocols and other low-level features. Programming robot behaviors is carried out using the programming language Python, which enables several additional pedagogical benefits. We have developed an extensive set of robot programming modules, modeling techniques, and learning materials that can be used in graduate and undergraduate curricula in a variety of ways. Currently, Pyro supports K-Team's Kheperas, ActivMedia's Pioneer class robots (including PeopleBot and AmigoBot robots), Player/Stage based robots (including Evolution's ER1 and many others), the Handyboard, RWI's Mobility-based B21R, and simulators for all of these. Currently, many other robots are also being ported to Pyro, including Sony's Aibo, K-Team's inexpensive Hemisson, and the Robocup Soccer Server Simulator.
As educators, we are often faced with the paradox of having to create simplified examples in order to demonstrate complicated ideas. The trick is in finding the right kinds of simplifications--ones that will scale up to the full range of possible complexities we eventually would like our students to tackle. In this paper, we argue that low-cost robots have been a useful first step, but are now becoming a dead-end because they do not allow our students to explore more sophisticated robotics methods. We suggest that it is time to shift our focus from lowcost robots to creating software tools with the right kinds of abstractions that will make it easier for our students to learn the fundamental issues relevant to robot programming. We describe a programming framework called Pyro which provides a set of abstractions that allows students to write platform-independent robot programs.
This editorial introduction presents an overview of the robotic resources available to AI educators and provides context for the articles in this special issue. We set the stage by addressing the tradeoffs among a number of established and emerging hardware and software platforms, curricular topics, and robot contests used to motivate and teach undergraduate AI. Yet it is only recently that physically embodied agents have become a viable tool in the undergraduate AI classroom. Examples of the flurry of activity in this area include competitions and exhibitions, the growing options for lowcost robot hardware and software, and a number of recent workshops and symposia. This special issue of AI Magazine grew out of the 2004 AAAI spring symposium on Accessible, Hands-on AI and Robotics Education.
This editorial introduction presents an overview of the robotic resources available to AI educators and provides context for the articles in this special issue. We set the stage by addressing the trade-offs among a number of established and emerging hardware and software platforms, curricular topics, and robot contests used to motivate and teach undergraduate AI.