Robot Collectives and the Dynamics of Learning Project:
|
Goal: To explore new theories of single-agent learning and the emergence of cooperation in a collective of interacting autonomous robotic vehicles. |
|
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. |
|
|