Robot Collectives and the Dynamics of Learning Project:
Synopsis

2 January 2002

James P. Crutchfield, P.I.

Michael Schippling, Research Engineer


Goal: To explore new theories of single-agent learning and the emergence of cooperation in a collective of interacting autonomous robotic vehicles.


System: A number (10-20) of independent robotic vehicles, with (intentionally) simple sensors (2-4 bumpers) roving around on a 4’ x 8' experiment table and communicating wirelessly. The overall system has been developed in Java on Sun, Win2k/NT, and Mac OS 9, with some pseudo-embedded code on various vehicle controllers. The vehicle hardware under development includes the Dallas Semi TINI board (programmed in Java but does not run a JVM), Diversified Enterprises’ Descartes, and the Lego MindStorms brick.


Architecture: The vehicles communicate (wirelessly) with a proxy or "mothership" on the laboratory intranet. In the case of Descartes or Lego, this is a proxy that implements, at minimum, basic device controls—travel distance, turning, position estimates, and so on—in a normalized manner so one can tell them how many cm to go and in what degree direction. Given sufficient memory and running either on a host PC or on our 60-CPU Linux cluster, the proxy can also implement spatial maps and high-level state-machine processing at a "tactical" planning level: e.g., plan and execute a route to point (x,y). In the future, on vehicles with more processor power one can do away with the proxy and simply have the vehicles directly communicate to the intranet. Since all of the code is in Java, the overall system is more portable and net-aware than one typically has using C or other languages. The on-board vehicle controls and proxy form the RoboCar device.

A video camera is mounted over the vehicles’ table to provide both a live webcam of the experiment in progress and an image stream for a tracking analysis process to generate accurate position information for the vehicles’ locations. The position information can be fedback to the vehicles in order to refine their motor controls and position estimation ability. In effect, the location-feedback and position-update for each vehicle is one of the first experiments in teaching them something analogous to proprioception. Naturally, one can control the amount and accuracy of the feedback as necessary, leading to an important set of experiments that explore the accuracy of the vehicles model of the environment and their place in it. The webcam and vehicle-tracking image processing run on a Macintosh with high-speed video I/O.

The other two components of the system are a data logging and interconnection system built on top of the Sun J2EE reference implementation (Enterprise Java Bean) platform. This runs on a SunBlade workstation on the lab intranet, but can be distributed and replicated. This will occur if an optimized and robust commercial J2EE product is required or when we integrate in more sophisticated and compute-bound learning algorithms running on our 60-CPU Linux cluster.

All of these subsystems are connected on the lab intranet via 100Mbps Ethernet. We intend to integrate in our Cisco 64-port gigabit switch as the main intranet interconnect, as processing and communication demand.

The J2EE platform may prove to be top heavy, but at the present time it supplies a very simple-to-use RMI communication facility—one required by the kind of large and heterogeneous distributed system which a robot collective is. Notably, it includes an all-Java relational DBMS for experimental data storage and management. All commands and results from the vehicles and their proxies are logged in the database for offline analysis. The system also supplies a near-real-time command and response channel for each vehicle that allows any sequence of commands at any level to be issued from any machine on the lab intranet. The J2EE platform and the various subsystems have been designed to be scalable and portable as necessary for whatever level of distributed processing our robot collective learning experiments demand.

Another key feature of the J2EE platform is a built-in web-server with support for arbitrary servlets and JSP pages. With these it is very easy to make web interfaces for monitoring and control of all levels of the system. Though, we have hacked together the basic database table access pages and such, many extensions are possible.


Status and Schedule: After many months of system, code, and hardware development, we are now ready for the first tests of the overall system: having the robots to move and learn various kinds of complex environments on their own. We expect preliminary results in the next few months. We believe that the overall system response times will be sufficient to the tasks, especially as more of the tactical and even strategic abilities migrate to lower levels of the system: onto the vehicles and their proxies.


Support: Hardware and software development partially supported by Intel Research and Cisco Systems. Theory development partially supported by DARPA’s Agent-Based Computing Program.