Academia.eduAcademia.edu
Adaptive Teams of Autonomous Aerial and Ground Robots for Situational Awareness Mong-ying A. Hsieh, Anthony Cowley, James F. Keller, Luiz Chaimowicz, Ben Grocholsky, Vijay Kumar, and Camillo J. Taylor GRASP Laboratory University of Pennsylvania Philadelphia, PA 19104 {acowley,mya,jfkeller,kumar,cjtaylor}@grasp.cis.upenn.edu Yoichiro Endo and Ronald C. Arkin Georgia Tech Mobile Robot Lab College of Computing Georgia Institute of Technology Atlanta, GA 303332 {endo,arkin}@cc.gatech.edu Boyoon Jung, Denis F. Wolf, and Gaurav S. Sukhatme Robotic Embedded Systems Laboratory Center for Robotics and Embedded Systems University of Southern California Los Angeles, CA 90089 {boyoon,denis,gaurav@robotics.usc.edu} Douglas C. MacKenzie Mobile Intelligence Corporation Livonia, MI 48150 doug@mobile-intelligence.com Abstract In this paper, we report on the integration challenges of the various component technologies developed towards the establishment of a framework for deploying an adaptive system of heterogeneous robots for urban surveillance. In our integrated experiment and demonstration, aerial robots generate maps that are used to design navigation controllers and plan missions for the team. A team of ground robots constructs a radio signal strength map that is used as an aid for planning missions. Multiple robots establish a mobile, ad-hoc communication network that is aware of the radio signal strength between nodes and can adapt to changing conditions to maintain connectivity. Finally, the team of aerial and ground robots is able to monitor a small village, and search for and localize human targets by the color of the uniform, while ensuring that the information from the team is available to a remotely located human operator. The key component technologies and contributions include (a) mission specification and planning software; (b) exploration and mapping of radio signal strengths in an urban environment; (c) programming abstractions and composition of controllers for multi-robot deployment; (d) cooperative control strategies for search, identification, and localization of targets; and (e) three-dimensional mapping in an urban setting. 1 Introduction Urban and unstructured environments provide unique challenges for the deployment of multirobot teams. In these environments, buildings and large obstacles pose 3-D constraints on visibility, communication network performance is difficult to predict and GPS measurements can be unreliable or even unavailable. The deployment of a network of aerial and ground vehicles working in cooperation can often achieve better performance since these threedimensional sensing networks may be better poised to obtain higher quality and more complete information and be robust to the challenges posed by these environments. Under these circumstances, it is necessary to keep the network tightly integrated at all times to enable the vehicles to better cooperate and collaborate and achieve greater synergy. Furthermore, one must provide enabling technologies to permit the deployment of these heterogeneous teams of autonomous mobile robots by a few human operators to execute the desired mission. This paper presents our attempts to realize our vision of an autonomous, adaptive robot network capable of executing a wide range of tasks within an urban environment. The work, funded by the Defense Advanced Research Projects Agency’s (DARPA) MARS2020 program, was a collaborative effort between the General Robotics, Automation, Sensing & Perception (GRASP) Laboratory at the University of Pennsylvania, the Georgia Tech Mobile Robot Laboratory and the University of Southern California’s (USC) Robotic Embedded Systems Laboratory. Our vision for the project was the development of a framework that would enable a single human operator to deploy a heterogenous team of autonomous air and ground robots to cooperatively execute tasks such as surveillance, reconnaissance, and target search and localization, within an urban environment while providing high-level situational awareness for a remote human operator. Additionally, the framework would enable autonomous robots to synthesize the desirable features and capabilities of both deliberative and reactive control while incorporating a capability for learning. This would also include a software composition methodology that incorporates both pre-composed coding and learning-derived or automated coding software to increase the ability of autonomous robots to function in unpredictable environments. Moreover, the framework would be context driven, and use multi-sensor processing to disambiguate sensor-derived, environmental state information. A team of heterogeneous robots with these capabilities has the potential to empower the individual robotic platforms to efficiently and accurately characterize the environment, and hence potentially exceed the performance of human agents. In short, our goals for the project were to develop and demonstrate an architecture, the algorithms and software tools that: • are independent of team composition; • are independent of team size, i.e. number of robots; • are able to execute of a wide range of tasks; • allow a single operator to command and control the team; • allow for interactive interrogation and/or reassignment of any robot by the operator at the task or team level. We report on the first outdoor deployment of a team of heterogeneous aerial and ground vehicles which brought together three institutions with over 15 different robotic assets to demonstrate communication sensitive behaviors for situational awareness in an urban village at the McKenna Military Operations on Urban Terrain (MOUT) site in Fort Benning, Georgia. The integrated demonstration was the culmination of the MARS2020 project bringing together the various component technologies developed as part of the project. The demonstration featured four distinct types of ground robots each using different types of command and control software, and operating systems at the platform level. These were coordinated at the team level by a common mission plan and operator control and display interconnected through an ad-hoc wireless network. The result was an integrated team of UAVs and UGVs, in which the team and the network had the ability to adapt to the needs and commands of a remotely located human operator to provide situational awareness. This paper is organized as follows: We present some related work in networked robotic systems in Section 2. Section 3 provides a brief description of the experimental testbed used to evaluate the component technologies summarized in Section 4. Section 5 describes the integrated demonstration that brought together the numerous key technologies summarized in this paper and the integration challenges. Section 6 provides a discussion on the successes and lessons learned with some concluding remarks. 2 Related Work There have been many successes in the manufacturing industry where existing sensors, actuators, material handling equipment and robots have been reconfigured and networked with new robots and sensors via wireless networks to enhance productivity, quality and safety. However, in most of these cases, the networked robots operate in a structured environment with very little variation in configuration and/or operating conditions and tasks are often well-defined and self-contained. The growing interest in the convergence of the areas of multi-agent robotics and sensor networks have lead to the development of networks of sensors and robots that not only can perceive their environment but also achieve tasks such as locomotion [Majumder et al., 2001], manipulation [Kang et al., 2000], surveillance [Hsieh et al., 2006], and search and rescue to name a few. Besides being able to perform tasks that individual robots cannot perform, networked robots also result in improved efficiency. Tasks like searching or mapping [Thibodeau et al., 2004] can be achieved by deploying multiple robots performing operations in parallel in a coordinated fashion. Furthermore, networked systems enable fault-tolerance in design by having the ability to react to information sensed by other mobile agents or remote sensors. This results in the potential to provide great synergy by bringing together components with complementary benefits and making the whole greater than the sum of the parts. Some applications for networked robots include environmental monitoring, where one can exploit mobility and communication abilities of the robotic infrastructure for observation and data-collection at unprecedented scales in various aspects of ecological monitoring. Some examples include [Sukhatme et al., 2006] for aquatic monitoring, [Kaiser et al., 2005] for terrestrial monitoring, and [Amarss, 2006] for subsoil monitoring. Other applications for networked robotic systems include surveillance of indoor environments [Rybski et al., 2000] and support for first responders in a search and rescue operation [Kotay et al., 2005]. In [Corke et al., 2003], the communication capabilities of a network of stationary sensor nodes are exploited to aid in the localization and navigation of an autonomous aerial vehicle, while [Durrant-Whyte et al., 2001] exploits the parallel processing power of sensor networks for data fusion. A theoretical framework for controlling team formation for optimal target tracking is provided in [Spletzer and Taylor, 2002] while [Stroupe and Balch, 2003] uses a behavior-based approach to solve a similar problem. In [Sukkarieh et al., 2003], cooperative target tracking is achieved by optimizing over all joint team actions. While there are many successful embodiments of networked robots with numerous applications there are significant challenges that have to be overcome. The problem of coordinating multiple autonomous units and making them cooperate creates problems at the intersection of communication, control and perception. Cooperation entails more than one entity working toward a common goal while coordination implies a coupling between entities that is designed to achieve the common goal. Some works that consider coordination and task allocation strategies in uncertain environments include [Mataric et al., 2003], [Lerman et al., 2006], and [McMillen and Veloso, 2006]. A behavior-based software architecture for heterogeneous multi-robot cooperation is proposed in [Parker, 2005], while a methodology for automatic synthesis of coordination strategies for multi-robot teams to execute given tasks is described in [Tang and Parker, 2005]. A market-based task allocation algorithm for multirobot teams tasked to extinguish a series of fires arising from some disaster is considered in [Jones et al., 2006b]. Dynamic coalition formation for a team of heterogeneous robots executing tightly coupled tasks is considered in [Jones et al., 2006a]. Our goal is to develop networks of sensors and robots that can perceive their environment and respond to it, anticipating information needs of the network users, repositioning and self-organizing themselves to best acquire and deliver the information, thus achieving seamless situational awareness within various types of environments. Furthermore, we are also interested in providing proper interfaces to enable a single human user to deploy networks of unmanned aerial, ground, surface and underwater vehicles. There have been several recent demonstrations of multi-robot systems exploring urban environments [et. al., 2005,Grocholsky et al., 2005] and interiors of buildings [Howard et al., 2006,Fox et al., 2006] to detect and track intruders, and transmit all of the above information to a remote operator. Although these examples show that it is possible to deploy networked robots using an off-the-shelf 802.11b wireless network and have the team be remotely tasked and monitored by a single operator, they do not quite match the level of team heterogeneity and complexity described in this paper. 3 Experimental Testbed Our multi-robot team consists of two unmanned aerial vehicles (UAVs) and 8 unmanned ground vehicles (UGVs). In this section, we provide a short description of the various components of the experimental testbed used to evaluate the key technologies employed in the integrated experiment. 3.1 UAVs The two UAVs are quarter scale Piper Cub J3 model airplanes with a wing span of 104 inches (∼ 2.7 m) (see Figure 1(a)). The glow fuel engine has a power rating of 3.5 HP, resulting in a maximum cruise speed of 60 knots (∼ 30m/s), at altitudes up to 5000 feet (∼ 1500 m), and a flight duration of 15 - 20 minutes. Each UAV is equipped with a sensor pod containing a high resolution firewire camera, inertial sensors and a 10Hz GPS receiver (See Figure 1(b)) and is controlled by a highly integrated, user customizable Piccolo avionics board which is manufactured by CloudCap Technologies [Vaglienti and Hoag, 2003]. The autopilot provides innerloop attitude and velocity stabilization control allowing research to focus on guidance at the mission level. Additionally, each UAV continuously communicates with the ground station at 1 Hz and the range of the communication can reach up to 6 miles. Direct communication between UAVs can be emulated through the ground or using the local communication channel on the UAVs (802.11b - wireless network card). The ground station has an operator interface program (shown in Figure 2), which allows the operator to monitor flight progress, obtain telemetry data, or dynamically change the flight plans using geo-referenced maps. The ground station can concurrently monitor up to 10 UAVs and performs differential GPS corrections and updates the flight plan, which is a sequence of three dimensional way-points connected by straight lines. 3.2 UGVs Our team of UGVs consist of 3 ClodBusters, 2 Pioneer2 ATs, 1 Segway RMP, 2 ATRV-Jrs, and an AM General Hummer Vehicle modified and augmented with multiple command and control computers and deployed as a Base Station. The ClodBuster UGVs, are commercial 4WD model trucks modified and augmented with a Pentium III laptop computer, specially designed Universal Serial Bus (USB) device which controls drive motors, odometry, steering servos and a camera pan mount with input from the PC, GPS receiver, IMU and firewire stereo camera. The Pioneer2 AT is a typical four-wheeled, statically stable robot designed for outdoor uses. This skid-steer platform can rotate in place and achieve a maximum speed of 0.7 meters per second. The Segway RMP is a two-wheeled, dynamically stable robot with self-balancing capability. Both the Pioneer2 AT and the Segway are equipped with a GPS receiver, an IMU, built-in odometry, a horizontal scanning laser sensor, and a pan/tilt/zoom- (a) (b) Figure 1: (a) Two Piper J3 cub model airplanes. (b) UAV external payloads (POD). Figure 2: Ground Station Operator Interface showing flight plan and actual UAV position. (August 2003, Fort Benning, Georgia) Figure 3: Our team of unmanned ground vehicles. capable camera. The Segway is also equipped with an additional vertical scanning laser to enable 3-dimensional mapping. The ATRV-Jr is a four-wheeled robot that can navigate outdoor terrains reaching approximately 2 meters per second at its full speed. It is equipped with onboard dual processor Pentium III computers, a differential GPS , a compass, an IMU, and shaft-encoders. In addition, two sets of laser range finders are mounted on top of the robot in order to provide full 360-degree coverage for obstacle detection. The Hummer Vehicle is outfitted with seating for three human operators and command and control computers for UGV deployment, launch missions, and monitor the progress of the ongoing missions. Figure 3 shows our team of UGVs. 3.3 Software Three software platforms were used to task and control our team of UAVs and UGVs: MissionLab, ROCI, and Player/Stage. MissionLab ( [MissionLab, 2006]) is a suite of software tools for developing and testing behaviors for a single or team of robots. The user interacts through a design interface tool that permits the visualization of a specification as it is created. Individual icons correspond to behavioral task specifications, which can be created as needed or preferably reused from an existing repertoire available in the behavioral library. Multiple levels of abstraction are available, which can be targeted to the abilities of the designer, ranging from whole robot teams, down to the configuration description language for a particular behavior within a single robot, with the higher levels being those easiest to use by the average user. After the behavioral configuration is specified, the architecture and robot types are selected and compilation occurs, generating the robot executables. These can be run within the simula- tion environment provided by MissionLab itself for verification of user intent such as [Endo et al., 2004] and [MacKenzie and Arkin, 1998], or through a software-switch, that can be downloaded to the actual robots for execution. ROCI ( [Chaimowicz et al., 2003], [Cowley et al., 2004a]) is a software platform for programming, tasking and monitoring distributed teams of robots. ROCI applications are composed from self-describing components that allow for message-passing based parallelism that allows for the creation of robust, distributed software. ROCI is especially suited for programming and monitoring distributed ensembles of robots and sensors since modules can be transparently launched and connected across a network using mechanisms that provide automated data formatting, verification, logging, discovery, and optimized transfer. Player is a device server that provides a flexible interface to a variety of sensors and actuators (e.g., robots). Player is language and platform independent allowing robot control programs to execute on any computer with network connectivity to the robot. In addition, Player supports multiple concurrent client connections to devices, creating new possibilities for distributed and collaborative sensing and control. Stage is a scaleable multiple robot simulator; it simulates a population of mobile robots moving in and sensing a two-dimensional environment, controlled through Player. 3.4 Communication Every agent on the network is equipped with a small embedded computer with 802.11b wireless Ethernet call the junction box (JBox). Communication throughout the team and across the different software platforms was achieved via the wireless network. The JBox, developed jointly by the Space and Naval Warfare Systems Center, BBN Technologies, and the GRASP Lab, handles multi-hop routing in an ad-hoc wireless network and provides the full link state information enabling network connectivity awareness to every agent on the network. 4 Component Technologies We present the component technologies developed towards the goal of providing an integrated framework for the command and control of an adaptive system of heterogeneous robots. These technologies were developed as a set of tools that can allow a human user to deploy a robot network to search and locate information in a physical world analogous to the use of computer networks via a search engine to look for and locate archived multimedia files. Of course, the analogy only goes so far. Unlike the World Wide Web, looking for a human target does not reduce to searching multimedia files that might contain semantic information about human targets. Robots must search the urban environment while keeping connectivity with a base station. They must be able to detect and identify the human target. And they must be able to alert the human operator by presenting information ordered in terms of salience, through a wireless network, allowing the human operator to request detailed information as necessary. Ideally, while all this is happening the process of reconfiguring, routing information through a multi-hop network, and moving to maintain connectivity must be transparent to the human user. In this section, we provide a brief summary of the enabling technologies developed to bring us closer to our vision. We refer the interested reader to the relevant literature for more detailed discussions. 4.1 Mission Specification and Execution A pressing problem for robotics in general is how to provide an easy-to-use method for programming teams of robots, making these systems more accessible to the average user. The MissionLab mission specification system [MissionLab, 2006] has been developed to address such issue. An agent-oriented philosophy [MacKenzie et al., 1997] is used as the underlying methodology, permitting the recursive formulation of entire societies of robots. A society is viewed as an agent consisting of a collection of either homogeneous or heterogeneous robots. Each individual robotic agent consists of assemblages of behaviors, coordinated in various ways. Temporal sequencing affords transitions between various behavioral states that are naturally represented as a finite state acceptor. Coordination of parallel behaviors can be accomplished via fusion, action-selection, priority, or other means as necessary. These individual behavioral assemblages consist of groups of primitive perceptual and motor behaviors, which ultimately are grounded in the physical sensors, and actuators of a robot. An important feature of MissionLab is the ability to delay binding to a particular behavioral architecture (e.g., schema-based [Arkin, 1998]) until after the desired mission behavior has been specified. Binding to a particular physical robot also occurs after specification, permitting the design to be both architecture- and robot-independent. This characteristic allowed the incorporation of the ROCI and Player/Stage systems. To achieve the level of coordination required in an integrated mission involving a team of heterogeneous robots controlled by three different mobile software platforms (MissionLab, ROCI, and Player/Stage), the Command Description Language interpreter (CMDLi) was developed. The CMDLi is a common software library that is compiled into each of the software target platforms. It parses and executes a common text file (a CMDL script) that contains the integrated mission plan developed in MissionLab by the operator (see Figure 4(a)). Hence, the script has to be distributed among all the participating robots prior to execution. The CMDL script is organized into two parts (1) the background information and (2) a list of behavioral tasks to be executed sequentially. For example, the CMDL script used during the integrated experiment is shown in Figure 4(b). The background information includes the names of the robot executables and the information regarding memberships of predefined groups. At runtime, the CMDLi interpreter resident on each platform sequentially executes the list of specified behaviors, and sends corresponding commands to the underlying controller program (i.e., Player in Player/Stage, etc.). Tasks/behaviors supported by CMDLi include MoveTo, Loiter, TrackTarget, and Synchronize. In MoveTo, the robot drives and steers itself towards the target position whereas, in Loiter, the robot stops and stands by at the target position. When the robot is executing the TrackTarget behavior, the robot identifies and follows a target object. In Synchronize, the robot waits for other specified robots to reach the same synchronization state. To realize this synchronization, each robot broadcasts its behavioral status to others via the JBox. When synchronization is attained, the robot resumes execution of the remaining mission. The available tasks for CMDLi can be easily expanded to a more general list. Each of the three software platforms already supports various behavior repertoires. (For example, the robot controlled by MissionLab can execute more than 80 types of behaviors [MissionLab, 2006].) To add a new task to this CMDLi framework, simply a new binding between the new task name and the platform’s behavior needs to be defined. It is important to note that increasing the size of the task list does not significantly affect computational complexity or performance as sequencing of the tasks is previously defined by a human operator rather than an automatic planning algorithm. Of course, if the new task involves a computationally very expensive algorithm (e.g., solving a traveling salesman problem), the performance should be solely affected by the execution of the task itself (i.e., the size of the list does not matter). The status of the robot can also be monitored by the MissionLab console along with the overall progress of the mission. More specifically, the display consists of a mission area map showing the real-time GPS coordinates of the robots as well as a CMDLi interface that can dynamically display the progress of an integrated mission. A screen capture of the MissionLab console showing progress during the integrated experiment is depicted in Figure 5. In this particular example, at the North cache, ClodBuster 1 (controlled by ROCI and denoted by upenn 1) waits for ATRV-Jr 1 (controlled by MissionLab and denoted as gtechRobot1) to complete the MoveTo (GIT-A1) behavior, so that synchronization can be achieved. In the South cache, two ClodBusters (denoted by upenn 2 and upeen 3), a Pioneer2 AT and a Segway (controlled by Player and denoted by usc pioneer1 and usc segway respectively) all wait for the second ATRV-Jr (denoted by gtechRobot2) to arrive at their cache. Lastly, at any given point, the operator is given the option to interrupt or even abort the current mission via the CMDLi interface at the MissionLab console. 4.2 Communication network and control for communication Successful deployment of multi-robot tasks for surveillance and search and rescue relies in large part on a reliable communication network. In general, radio propagation characteristics are difficult to predict a priori since they depend upon a variety of factors [Neskovic et al., 2000] which makes it difficult to design multi-agent systems such that the individual agents operate within reliable communication range at all times. In this section, we consider the problem of acquiring information for radio connectivity maps in urban terrains that can be used to plan multi-robot tasks and also serve as useful perceptual information. A radio connectivity map is a function that returns the signal strength between any two positions in the environment. In general, it is extremely difficult to obtain a connectivity map for all pairs of positions in the desired workspace, thus one aims to construct a map for pairs of locations selected a priori. For small teams of robots, the construction of the radio connectivity map can be formulated as a graph exploration problem. Starting with an overhead surveillance picture, it is possible to automatically generate roadmaps for motion (a) (b) Figure 4: (a) Coordination of heterogeneous mobile robot software platforms through the command description language interpreter (CMDLi). (b) CMDL script used during the MARS 2020 integrated experiment. Figure 5: Screen capture of the MissionLab console showing the progress of the integrated mission. The locations of the robots with respect to the MOUT site map are displayed on the left-hand-side. The progress of the mission with respect to the CMDLi script is shown in the right-hand-side. (a) (b) (c) Figure 6: (a) A roadmap graph. The solid edges denote feasible paths between neighboring cells associated with each node. (b) A radiomap graph for (a). The dashed edges denote links for which signal strength information must be obtained. (c) Three sample configurations of three robots on the roadmap graph that can measure at least one of the edges in the radiomap graph. The solid vertices denote the location of each robot. planning and encode these roadmaps as roadmap graphs 1 . From these roadmap graphs, a radiomap graph is obtained by determining the set of desired signal strength measurements (between pairs of positions) one would like to obtain. The discretization of the workspace allows us to strategically place each robot in a k-robot-team in k separate locations on the roadmap graph to obtain the desired measurements encoded in the radiomap graph. An example roadmap graph and its corresponding radiomap graph is shown in Figure 6. The solid edges in Figure 6(a) denote feasible paths between pairs of positions denoted by the circles. The dashed edges in Figure 6(b) denote signal strength measurements between pairs of positions that must be obtained. Figure 6(c) show three possible placements of a team of 3 robots such that the team can obtain at least one of the measurements given by the radiomap graph. An exploration strategy then consists of a set of waypoints each robot must traverse to obtain all the desired signal strength measurements encoded in the radiomap graph. Experiments were performed using three of our ground vehicles to obtain radio connectivity data at the Ft. Benning MOUT site. In these experiments, an optimal exploration strategy was determined using the algorithm described in [Hsieh et al., 2004]. Each robot was individually tasked with the corresponding list of waypoints. Team members navigate to their designated waypoints and synchronize, every member of the team measures its signal strength to the rest of the team. Once the robots have completed the radio signal strength measurements, they synchronize before moving on to their next targeted location. This is repeated until every member has traversed through all the waypoints on their list. The waypoints are selected to minimize the probability of losing connectivity under line-of-sight conditions in the planning phase to ensure the success of the synchronization based on lineof-sight propagation characteristics that can be determined a priori. Figure 7 shows the radio connectivity map that was obtained for the MOUT site. The weights on the edges denote the average signal strength that was measured between the two locations. In these experiments, the signal strength was measured using the JBox, described in Section 3. Radio connectivity maps can therefore be used to plan multi-robot tasks to increase the probability of a reliable communication network during the execution phase. Ideally, the measurements obtained during the exploration phase can be used to construct a limited 1 In the event an overhead surveillance picture is not available, one can generate roadmaps for motion planning with a map of the region of interest (a) (b) Figure 7: (a) Overhead image of the MOUT site. (b) Experimental radio connectivity map for the MOUT site obtained using our multi-robot testbed. model for radio propagation in the given environment such that, when coupled with additional reactive behaviors [Hsieh et al., 2006], a reliable communication network can be maintained during deployment. This two prong approach ensures that communication constraints are always satisfied and allows the operator to re-deploy the team and/or deploy additional assets in the presence of dynamic changes in the environment. 4.3 Programming abstractions and composition for multi-robot deployment The software development process in robotics has been changing in recent years. Instead of developing monolithic programs for specific robots, engineers are using smaller software components to construct new, complex applications. Component based development offers several advantages such as reuse of code, increased robustness, modularity and maintainability. To this end, we have been developing ROCI, a software platform for programming, tasking and monitoring distributed teams of robots [Cowley et al., 2004a]. In ROCI, applications are built in a bottom-up fashion from basic components called ROCI modules. A module encapsulates a process which acts on data available on its inputs and presents its results as outputs. Modules are self-contained and reusable, thus complex tasks can be built by connecting the inputs and outputs of specific modules. We say that these modules create the language of the ROCI network, allowing task designers to abstract away low level details in order to focus on high level application semantics [Cowley et al., 2004b]. One key characteristic of a component-based system is the development of robust interfaces to connect individual modules. In component-based development, external interfaces should be clearly defined to allow an incremental and error resistant construction of complex applications from simpler, self-contained parts. By making interfaces explicit and relying on strongly-typed, self-describing data structures, ROCI allows the development of robust applications. Moreover, ROCI’s modularity supports the creation of parallel data flows which favors the development of efficient distributed applications. The composition of complex behaviors in a component-based system may be achieved through the use of a more declarative application specification that defines application components, parameters of those components, and the connections between components, as opposed to the more traditional imperative programming style the components themselves may be developed with. This delineates a separation between the specification of what an application does from how it does it. This division is enabled by the syntactic and semantic interface specifications associated with individual components, which may be generated automatically using type introspection or manually by the developers. The system should everywhere be designed to require minimal extra effort from the developer to support the notion of the actual distributed, compositional execution model. The emphasis on interfaces further steers component development towards a natural implementation of message-passing parallelism, once again with minimal impact on the component developer. Indeed, the many pitfalls common to parallel processing should not be of primary concern to the developers of many types of modules whose behavior ought to be conceptually atomic. Instead, the application architect, working with the vocabulary defined by the component developers, may construct parallel data flows implicitly through the creation of a module network, the nature of which is of no intrinsic interest to the component developer. 4.4 Distributed databases for situational awareness A data logging system has been built on top of the foundation described in the previous section as realized by the ROCI software platform. Due to the fact that component interfaces are defined in terms of the data types they transact, operations on component outputs may be automatically dispatched to an appropriate handler via traditional single dispatch. In this case, we developed a generic logging system that could maintain a store of data indexed by time. While the types of data relevant to a mobile robot deployment are varied, time is a universally meaningful index due to the sequential manner in which data is collected. This basic indexing can be augmented by additional mechanisms that handle more specific data types, for example indexing position measurements by location. These loggers operate independently of the components that generate the data, thus freeing the component developer from concerns regarding serialization, indexing, or query resolution. This functional separation is a hallmark of componentized development and is responsible for the extensibility of the system as a whole. With these flexible data logging components in hand, an application over the robot network may be decorated with logs on any inter-component connection. These logs are then discoverable not just as generic data logs, but as data logs specific to the type of data they are attached to. This is made possible by the self-describing nature of inter-component connections based on the underlying type system. Having such logs attached to arbitrary data sources frees the development team from having to foresee every useful combination of sensor data. Instead, aggregate data types are created on-demand by cross-indexing separate data stores, perhaps across multiple machines. In this way, smart, compound data types are created from data streams that are annotated only with the metadata necessary to describe their own type; there is no unnecessary coupling imposed on the software architecture at any level. The logging system itself was inspired by the observation that the sensor and processor bandwidth on-board many mobile robots far outstrips available bandwidth. Due to this imbalance, it is often beneficial to optimize query resolution over the distribution of data sources by distributing query logic to the data before performing a join over the results of that initial filtering step. In the ROCI system, it is easy to programmatically launch a component, or collection of components, on another machine and attach inputs and outputs to dynamically discovered data sources. The code of the component will be automatically downloaded by the node hosting the relevant data in question via a peer-to-peer search and download mechanism that is transparent to the node launching the component and the node that is to execute the component or collection of components. This allows for the creation of active queries that ship their logic to the data and return only resulting data sets to the originator of the query. In most usages, the result data set is significantly smaller than the data set taken as a whole. An example of this functionality is the determination of where a particular target was sighted from. The query is a joining of a position table with an image table over the shared time index where the images contain a particular target. In our experimental setup, accurate position information was often logged by a camera system mounted on roof-tops overlooking the arena of operations, while the mobile robot logged many hundreds of megabytes of image data. The query, in this case, was executed by shipping a target identification component, parameterized to look for a specified target, to the node that maintained the image log. The time indices for images containing the target where used to index into the position log maintained by the node tracking the mobile units. Finally, the positions from which mobile units identified the target were sent to the query originator. Note that transferring the image data set over the network would be impractical; even transferring the position data set, which was generated from high-frequency sampling, would have been prohibitively expensive. Instead, resources were used commensurate with their availability. 4.5 Cooperative search, identification, and localization In this section we describe the framework used to exploit the synergy between UAVs and UGVs to enable cooperative search, identification and localization of targets. In general, UAVs are adept at covering large areas searching for targets. However, sensors on UAVs are typically limited in their accuracy of localization of targets on the ground. On the other hand, UGVs are suitable for accurately locating ground targets but they do not have the ability to move rapidly and see through such obstacles as buildings or fences. Using the Active Sensor Network (ASN) architecture proposed in [Makarenko et al., 2004], we build upon the key idea that the value of a sensing action is marked by its associated reduction in uncertainty and that mutual information [Cover and Thomas, 1991] captures formally the utility of sensing actions in these terms. This allows us to incorporate the dependence of the utility on the robot and sensor state and actions and allows us to formulate the tasks of coverage, search and localization as optimal control problems. Our algorithms for search and localization are easily scalable to large numbers of UAVs and UGVs and transparent to the specificity of the individual platforms. In this framework, the detection and estimation problems are formulated in terms of sum- mation and propagation of formal information measures. We use certainty grids [Makarenko et al., 2003] as the representation for the search and coverage problems. The certainty grid is a discrete-state binary random field in which each element encodes the probability of the corresponding grid cell being in a particular state. For the feature detection problem, the state x of the ith cell Ci can have one of two values, target and no target. This coverage algorithm allows us to identify cells that have an acceptably high probability of containing features or targets of interest. The localization of features or targets problem is first posed as a linearized Gaussian estimation problem where the information form of the Kalman filter is used, [Grocholsky et al., 2003]. In this manner, one can show the influence of sensing processes on estimate uncertainty [Grocholsky et al., 2005] where the control objective is to reduce estimate uncertainty. Because this uncertainty directly depends on the system state and action, each vehicle chooses an action that results in a maximum increase in utility or the best reduction in the uncertainty. New actions lead to accumulation of information and change in overall utility. Thus local controllers are implemented on each robotic sensor platform that direct the vehicle and sensors according to the mutual information gradient with respect to the system state. This gradient controller allows individual vehicles to drive in directions that maximize their information gain locally. The additive structure of the update equations for the information filter lends itself to decentralization. Thus measurements from different robots (UAVs and UGVs) are propagated through the network and updated through propagation of inter-nodal information differences and decisions based on this updated information are made independently by each robot [Grocholsky et al., 2006]. A communications manager known as a channel filter implements this process at each inter-nodal connection [Grocholsky, 2002]. The network of aerial and ground sensor platforms can then be deployed to search for targets and for localization. Both the search and localization algorithms are driven by informationbased utility measures and as such are independent of the source of the information, the specificity of the sensor obtaining the information, and the number of nodes that are engaged in these actions. Most importantly, these nodes automatically reconfigure themselves in this task. They are proactive in their ability to plan trajectories to yield maximum information instead of simply reacting to observations. Thus, we are able to realize a proactive sensing network with decentralized controllers, allowing each node to be seamlessly aware of the information accumulated by the entire team. Local controllers deploy resources accounting for and in turn influencing this collective information which results in coordinated sensing trajectories that transparently benefit from complementary sub-system characteristics. Information aggregation and source abstraction results in nodal storage, processing and communication requirements that are independent of the number of network nodes. The approach scales to large sensor platform teams. 4.6 Three-dimensional mapping Many different methods can be used to represent outdoor environments. A point cloud [Wolf et al., 2005] is one of the most frequently used techniques. It can describe features in fine detail when a sufficient number of points is used. These maps can be generated fairly easily Figure 8: Localization on the MOUT site. when good pose estimation and range information are available. In order to smooth pose estimation, we developed a particle filter based GPS approximation algorithm [Wolf et al., 2005]. Each particle represents a possibility of the robot being at a determinate position, and the particles are propagated as the robot moves. The motion model for the particles is based on the odometer and IMU sensors data. A small amount of Gaussian noise is also added to compensate a possible drift in the robot’s motion. The observation model is based on the GPS information. The particles are weighted based on how distant they are from the GPS points. Closer a particle is from the GPS point, higher it is weighted. After being weighted, the particles are re-sampled. The chance of a particle being selected for re-sampling is proportional to its weight; high weighted particles are replicated and low weighted particles are eliminated. The complete path of each particle is kept in the memory and at the end only particles that reasonably followed the GPS points will be alive. Consequently, the path of any of these particles can be used as reasonable trajectory estimation for the robot. The closer a particle is to the GPS point, the higher its probability for being selected. In order to obtain accurate local pose estimation, a scan matching algorithm is applied afterwards. Scan matching consists of computing the relative motion of the robot by maximizing the overlap of consecutive range scans. Features like trees, long grass, and moving entities make scan matching a hard task in outdoor environment. Figure 8 shows GPS data, odometry, and the particle filter-based GPS approximation for the robot’s trajectory. Once the current robot pose is obtained (from the localization module) and a desired target location/trajectory is specified, an VFH+ (Vector Field Histogram +) [Ulrich and Borenstein, 1998] algorithm is used for point-to-point navigation. VFH+ algorithm provides a natural way to combine a local occupancy grid map and the potential field method, and the dynamics and kinematics of a mobile robot can be integrated to generate an executable path. In addition, the robot’s motion property (e.g. goal-oriented, energy-efficient, or smooth-path) can be controlled by changing the parameters of a cost function. Once the robot arrives at the desired way-point, the point-to-point navigation module notifies the achievement to CMDLi, and CMDLi proceeds to the next way-point. Figure 9 shows two trajectories that the robot generated while performing point-to-point navigation using two different way-point sets. Figure 9: Point-to-point navigation using two way-point sets. (a) (b) Figure 10: Top and side view of the 3D map of Fort Benning site. Thus, when constructing 3-dimensional maps based on the robot’s position, the environment representation is built directly by plotting range measurements into the 3D Cartesian space. Figure 10 shows the result of mapping experiments performed at the Ft. Benning MOUT site. The maps were plotted using a standard VRML tool, which allows us to virtually navigate on the map. It is possible to virtually go on streets and get very close to features like cars and traffic signs and it is also possible to view the entire map from the top. 5 Integrated Demonstration In this section, we describe the final experiment which demonstrated the integration of all the component technologies with a discussion of integration challenges that had to be overcome. In order to test and demonstrate the integration of the component technologies, we conceived an urban surveillance mission which involved the detection of a human target wearing a Figure 11: Targets localized by the UAV on the MOUT site encircled by a white square. uniform with a specified color within a designated area, and then tracking the target once the identity of the target has been confirmed by a remotely located human operator. We briefly describe the mission in the next section that was used to stage a demonstration before discussing the results. 5.1 Demonstration Setup To meet our project goals, an integrated demonstration based on an urban surveillance mission by a heterogeneous team of robots was conceived. The goal of the demonstration was for the team to ascertain if a human target with a particular uniform is within the surveillance region. The demonstration was conducted on December 1, 2004, at the Fort Benning MOUT site which approximately spans 90 meters North to South and 120 meters East to West. We deployed one UAV, three ClodBusters, two Pioneer2 ATs, two ATRV-Jrs and one Segway. Three human operators, responsible for monitoring the progress of the demonstration and target verification, were seated in the Hummer Vehicle which was used as the base station (Base). The experiment consisted of an aerial phase, where an UAV was tasked to conduct an initial coarse search of the surveillance region and determine potential target locations. This was then followed by a second phase, where UGVs, based on the UAV’s initial assessment, were tasked to conduct more localized search and identification of the targets. Since the goal was surveillance rather than target recognition, targets in the aerial phase of the experiment consisted of bright orange color blobs and the target in the ground phase was a human in an orange colored vest. The orange color was simply used to ensure positive autonomous recognition without having to resort to complex and/or expensive means of target acquisition and designation. Furthermore, the human operator was brought into the loop on certain synchronization points. While deployment decisions (i.e. passing synchronization points) dedicated to maintaining network connectivity were made automatically, the human operator was engaged by the robots to confirm the identity of the target to ensure that the robots had indeed acquired the correct target before proceeding. A single UAV was initially deployed to actively search and localize specified targets within the designated region. Targets were bright orange blobs located at various locations on the site. Once a target(s) was detected, an alert can then be sent from the UAV to the Base Station to trigger the deployment of the UGVs. Figure 11 show some targets detected by the UAV during one of these fly-by experiments. In our demonstration, we assumed a scenario where a UAV observed a human target entering Figure 12: Robot initial positions and position of the Base. the surveillance area from the north of the MOUT site which triggered an alert message at the base station. Once the Base had been notified, two groups of robots were dispatched from the Base to caching areas at the limits of radio network connectivity to await further instructions, marked as Cache N and Cache S in Figure 12. A ClodBuster was positioned at Cache N, while two ClodBusters, two Pioneer2 ATs, and a Segway were positioned at Cache S. The two ATRV-Jrs remained at the Base. For the ground phase of the experiment, the initial target sighting was selected a priori based on previous UAV experiments and thus the trigger was delivered manually. The human target then entered into the building, shown in Figure 12, unseen by the team. At this point, a surveillance mission was composed from the Base to search the town for the target of interest. The mission plan was initially given to two ATRV-Jrs which were then deployed, one to each cache area. Upon arrival, the mission plan was then transferred to the individual platforms, in this case already positioned at the two caches, via the wireless network. The two ATRV-Jrs then acted as radio network repeaters to allow the others to venture beyond the limit of one-hop network communication. Following a universal commence signal from the Hummer base station, the robots then autonomously deployed themselves to search for the target of interest. Once the ClodBuster robots had arrived at their target positions, they entered a scanning mode, and passed images of the candidate target to the operator. These positions were chosen during the mission planning phase based on the radio connectivity map of the MOUT site obtained during an initial mapping and exploration phase shown in Figure 7. A schematic of the deployment scheme and all the robot trajectories are shown in Figure 13(a). Network connectivity was maintained to ensure that once the target was located, an alert can be sent to the base station, permitting the operator to make a positive identification by viewing images obtained by the robotic agents. Figure 14(a) shows the actual alert that was seen by the human operator when the target was located by one of the ClodBusters. Figure 14(b) shows the image that was used by the human operator to make the positive identification. The individual robots autonomously selected the best image, i.e. images in which the target was centrally located, from their databases to forward to the Base when it was requested. Once detected, the target was then tracked via the cameras from some of the robots, while the Segway moved in to physically track it as it left the area. This commitment to a particular target was finalized by the human, while the target tracking was achieved using a (a) (b) Figure 13: (a) Schematic of robot trajectories. (b) Schematic of target trajectory and Segway trajectory as it tracks and follows the target. (a) (b) Figure 14: (a) Screen capture of base station console showing the alert message notifying the human operator a target has been located. (b) Image obtained by one of the ClodBusters and provided to the human operator for identification. (a) (b) (c) Figure 15: Snapshots of previous target tracking result. Figure 16: Screenshot of USC monitoring station. particle filter-based algorithm developed to enable tracking in real-time [Jung and Sukhatme, 2004]. Figure 15 shows some snapshots of previous target tracking results. The information collected by the Segway was then transmitted to the base station over the multi-hop network. Figure 16 is a snapshot of the monitoring station. The current positions of the robots were displayed on the site map on the left in real-time. The two windows on the right showed live video streams from the Segway (on the top) and one of the Pioneer2 AT (on the bottom) for surveillance activity. Detected targets were displayed on top of the video streams. The experiment concluded as the target of interest departed the bounds of the MOUT site, while the Segway tracked it movements. This experiment was carried out live and the deployment was fully autonomous with the experiment lasting approximately 30 minutes. A short movie of the integrated experiment has be included with this publication. 5.2 5.2.1 Challenges towards integration Mission Specification and Execution Specification and execution of a mission through MissionLab was found to be fairly robust. As the simulator in MissionLab allows the mission scenario to be tested without actual deployment of the robots, a solid CMDL script for the Ft. Benning MOUT site (100% success rate in simulation) was composed before being integrated with other components. Even when the mission was executed by all of the actual robots, integrated with all other components, the CMDLi was found considerably reliable. Every robot was able to carry out all of the assigned tasks and the synchronization was properly attained as specified in the script. No major problem was found during the execution of the mission. Improvements can be made to the mission specification process to enhance robustness to errors during execution. For example, during the demonstration, the Segway collided with one of the ClodBuster because of errors in localization (caused by poor GPS information) and because the Segway sensors for obstacle avoidance were not low enough to detect the smaller ClodBusters, it could have been prevented by explicitly modeling the heterogeneity of the robots and adding additional constraints on the waypoints of the individual robots. 5.2.2 Communication network and control for communication A team of three ClodBuster robots were used to collect the radio signal strength map shown in Figure 7. The map was obtained prior to the final demonstration. Robots were simultaneously tasked to log signal strength and position information at specified location and continuously during the entire experiment. The continuous logs proved to be extremely useful in the construction of the map shown in Figure 7 since GPS errors of more than 5 meters were fairly common, especially towards the bottom right region of the site where robots consistently had problems obtaining accurate enough position information. This experience suggests that it may be possible to obtain a finer resolution map if one can incorporate some learning into the exploration strategy. Additionally, while the map proved to be very useful for determining the deployment positions of the Clobuster robots in the final demonstration, it failed to provide much insight for the deployment positions of the other robots due to the differences in robot sizes and capabilities. Thus, future work includes the development of exploration strategies for teams of heterogeneous robots to enable better utilization of the various available resources. Lastly, since the robots were not required to operate at the limit of their communication links for the integrated demonstration, the radio connectivity map proved to be a useful resource. In situations where robots would be operating at these limits, one must incorporate reactive strategies to enable robots to adapt to changes in their signal strengths as shown in [Hsieh et al., 2006]. 5.2.3 Programming abstractions and composition for multi-robot deployment A benefit of componentized development is that it leads to a natural structuring of test activities. All components are extensively tested in isolation to ensure that they yield the proper results given some set of inputs. Unfortunately, the outputs of many components are not amenable to a binary classification of success or failure, and the input domains of many components are too large to provide total test coverage. A good example of the difficulty in component testing is a component designed to recognized a target object in images coming from a camera. Lighting conditions, distance to the target, and environmental features all have dramatic effects on the ability of the software to perform correctly. For this reason, such components were tested until they satisfied sometimes loosely-defined performance specification. In the MARS experiments, image components provided tuning parameters that let engineers adjust performance to match experimental operating conditions. Such tuning – used to account for lighting conditions in color-based segmentation and ground clutter in obstacle avoidance – presents a critical point of failure for the entire experiment. This weakness may be mitigated by self-tuning software that monitors its own performance when possible, and by tools designed to allow human operators to quickly calibrate the software when automated testing metrics are difficult to specify. Isolation testing also presented a difficulty early in the development schedule when it was discovered that some components where designed with built-in performance assumptions. Such assumptions are only revealed when the component is tested in various execution environments, many of which may be difficult to anticipate without experimental experience. The simplest class of problems were those related to processing latency. Certain controllers were built with hard-coded real-time processing assumptions that could be satisfied by the host (non-real-time) OS under minimal CPU load, but violated when run alongside the many components that must coexist for the robot to be able to express all desired behaviors. Some of these controllers may be designed to dynamically tune parameters based on observed performance characteristics, while others may be moved to dedicated microcontrollers closer to the hardware. An approach that makes it easy to have asynchronous interoperation between multiple processors, some of which may be offering real-time performance guarantees, offers the engineering team the ability to avoid a potentially painful compromise, while also improving the scalability of the system as a whole. 5.2.4 Distributed databases for situational awareness The distributed database for interactive situational awareness provision was successful on its own, but highly dependent on general robot performance. While the software could correctly task robots, and integrate disparate data stores into a cohesive view, there was little oversight of robot resources. This meant that a database query, such as a request for an image taken from a particular location, could fail due to the robot being unable to achieve its task due to a loss of GPS reception, a failure of the obstacle avoidance system, a mechanical failure, or a networking failure. All of these failure modes were observed, but there was no automated contingency management to handle such failures from a high level. A significant difficulty in designing such contingency plans is that each of these failure modes itself represents a possible outcome of myriad actual circumstances. An obvious strategy would be to attach a timeout to each query, and to send another robot if the first failed. Unfortunately, this strategy tended to result in either a robot pile-up at some environmental feature the robots were not capable of handling, or great inefficiency when the first robot was able to successfully recover and complete its mission. Ideally, such inefficiencies should be acceptable operating losses of a multi-robot system, and multiple robot losses could be an acceptable price for learning valuable information about the environment (i.e. do not send robots to this location), but our experimental setup was constrained by too small a population of robots to accept such eventualities. 5.2.5 Cooperative search, identification, and localization In the demonstration, the synergy between aerial and ground vehicles was exploited to detect, identify and localize targets on the ground. Aerial vehicles are capable of searching quickly over a large area but they are unable to obtain accurate estimates of locations of potential targets because of errors in localization (position and orientation). On the other hand, ground vehicles are slower but capable of close-range observations that can confirm the identity of the target and provide better position information. This synergy was exploited during the demonstration. Over flight of the UAV (only one was flown for the demonstration) narrowed down the search area for the mission, while the ground robots were able to pursue potential targets for better information. The integration of different communication networks and the distances involved proved to be challenging. The communication between the UAV and the base station involved a low bandwidth radio modem connection precluding the possibility of processing of data on the ground. Thus onboard image processing algorithms on an off-the-shelf laptop was necessary. The communication between the base station and the robots would have required multiple repeaters because of the distances between the base station and the robot. Instead of pursuing this solution we manually connected the UAV network and the UGV network allowing effective experimentation. A second challenge with cooperative behaviors with multiple sensors is the need to have an efficient data structure coding the information in the network that can be shared globally. While in principle this approach allows the scaling up to large numbers of anonymous vehicles, in practice, the communications manager needs to be aware of the identities of each vehicle to ensure there are no loops in the sensor fusion network. This is a research problem that is currently under investigation by several groups (see, for example, [Dellaert et al., 2005]). 5.2.6 Three-dimensional mapping During our experiments in Ft. Benning, the robot mapped an area of approximately 50 m × 90 m (350 m tour with an average speed of 1.2 m/sec). A GPS unit (with accuracy of approximately 2m) was used as reference for the robot’s pose estimation. The pose estimation error can be noticed in the walls of some buildings, which appear bent in the point cloud map. Unfortunately, ground truth was not provided during these experiments, but visual comparisons between the aerial image and the planar model suggest errors around 2 m, which is compatible with the GPS errors. A better reference for pose estimation would certainly lead our algorithm to generate more accurate models of the environemnt. The performance can be further improved by extracting planar information from the incomplete point clouds. In our initial results, we represented flat surfaces found on point cloud map by planes [Wolf et al., 2005]. These planes do not possess the same level of detail as compared to the point clouds but they are more efficient in terms of memory. In situations were the application does not require a fine level of detail in the urban maps, planar information may be a convenient alternative. In the future, we plan to investigate different methods for mapping urban environments and represent these maps efficiently even for large environments and high level of details. We are considering strategies for combining range information with images. Lastly, we are also considering the combination of range information provided by both ground robots and helicopters. 5.3 Analysis of Integrated Demonstration Reliability and repeatability are most easily appreciated when viewed from a high level. One emphasis of the design of this demonstration was the importance of generality in the handling of robot resources. That is, the team was heterogeneous in make-up, and human operators should only be concerned with relevant data. The question of what robot provided what service should never come up, thus freeing human operators to focus on mission-specific goals, and offering welcome flexibility to engineering teams in terms of what robots are fielded for a given mission. This abstraction of hardware resources allows for a great level of scalability and fault tolerance. During hardware warm-up at the start of the public iteration of the integrated demonstration, the GPS unit on one of the ClodBusters failed. The problem was quickly detected during the routine hardware start-up check (the importance of this activity having long been established over months of testing), but the device could not be made to respond. Given that there was no time to debug the issue, a quick solution was needed. In this case, the fastest fix was to pull the computer from the faulty robot, and plug it into a spare robotic platform that carried similar hardware. The swap worked smoothly, and no changes needed to be made to any other robot. Calibration settings for the camera and motors were adjusted to reflect the new hardware platform, but all high-level scripting remained unchanged. In this case, the abstraction of hardware resources to the scripting systems used to drive the demonstration provided great flexibility in terms of specific hardware provisioning. The execution of the demonstration itself provided an example of the dangers of team heterogeneity, and the benefits of a loosely coupled robot team with built-in redundancy. The mission was specified such that three ClodBusters would be in position to view the person of interest as she left the building. Two robots had relatively close views of the two street-facing sides of the building, while a third robot had a slightly longer view that also encompassed a third side of the building. Once these robots were in position, the Segway was to begin patrolling an area adjacent to the building believed to house the target. This all proceeded according to plan, but, unnoticed by any observer, the third ClodBuster stopped slightly short of where it was intended to be positioned. Its location was within normal localization thresholds, but only just. Meanwhile, the Segway patrol also strayed towards the boundary of its expected area of coverage, which led to a run-in between the two robots, as previously mentioned. It was expected that the ClodBuster (GRASP) robots could have to contend with potential collisions among themselves, which they narrowly avoided during the demo, but such a collision could be prevented due to the robots detecting each other as unnavigable obstacles. The Segway, however, being a much larger robot, had its obstacle avoidance thresholds set such that an obstacle the size of a ClodBuster was considered to be surmountable. In this case, the Segway did surmount the GRASP robot soon after it sent its first long distance view of the target back to the Base. The GRASP robot was fairly seriously damaged, and began a spontaneous retreat back to its initial waypoint close to the Base. Fortunately, this third ClodBuster was not critical to mission success, and the remaining two GRASP vehicles were able to continue capturing images of the target to be selectively pushed to the human operator. The multiple views were sufficient for the human operator to positively identify the target, and allow the mission to proceed with the Segway tracking the target as she left the mission area. Had the mission hinged on a single ground vehicle to detect the target leaving a building in an urban setting, it would have been far more likely that positioning error or unwanted robot interaction (i.e. a collision) could have led to mission failure without any outright failure of any single component of the system. 6 Conclusion Our vision for the demonstration was to advance the state-of-the-art in the integration of heterogeneous robots into a single team with minimal human intervention. This required the presentation of a single integrated command and control interface for the human operator that enabled him/her to task the team and monitor performance of the mission. This proved to be very challenging since the team consisted of diverse robotic assets from different universities, each running different operating systems and robot control architectures, and all quite different in physical size and capabilities. Our final multi-robot coordination framework had to be both flexible and responsive for our team to be able to execute tasks efficiently and robustly. In our integrated demonstration at the McKenna MOUT site, the task was to patrol a small village and report and track a human target. The approach taken was to augment each robotic asset’s controller with an instance of a distributed tasking software agent. For each robot, this agent negotiated work assignments with the other assets’ agents and with the operator console to support assigning tasks across the assets. Each tasking agent instance maintained a work queue for its robot and passed commands and waypoints to the underlying controller for execution. It also aggregated status reported by the underlying controller and sent status reports back to the controller and to the other robots. This architecture allowed the operator to create a single mission for the team, distribute the mission to the robotic team members over the wireless network, and monitor, modify, or replace the mission during execution. In this fashion, the commander was able to deploy the mission across the team using the operator console and monitor progress of the mission and the location of vehicles on a map display during the demonstration. When a threat was identified the operator was presented with video of the potential target for confirmation. Although the initial task assignment was centralized, control of the individual robotic assets was accomplished in a decentralized fashion so as to avoid the difficult task of seamless integration of all three command and control softwares. This strategy allowed team members to respond to dynamic changes in the environment as well as achieve full fault tolerance. Two of our robotic assets suffered catastrophic failures during mission deployment2 , however due to our decentralized architecture at the individual robot level, the team was still able to locate and track the target and complete the mission. 2 One of the Pioneers failed to initialize while the Segway ran over one of the ClodBusters during the demonstration. This experiment successfully demonstrated that diverse robots and robot control architectures could be reliably aggregated into a team with a single, uniform operator control station. It showed that disparate robots could perform tightly coordinated tasks, such as distributed surveillance and coordinated movements. Further, all of these capabilities were added as a software agent sitting on top of each robot’s existing controller, without invasive modifications to the existing architecture or software. Field-testing is expensive, tiring, and frustrating, but irreplaceable in moving the competency of the system forward. In the field, sensors and perceptual algorithms are pushed to their limits where vegetation, lighting, and terrain are uncontrollable, and communication radios struggle in cluttered areas with many nodes competing for bandwidth. Just ensuring each robot’s batteries were charged at the same time to allow running an integrated experiment was difficult with this large a collection of robots. Much of the success of the integrated demonstration was due to the extensive testing of the individual subcomponents at each university and on the MOUT site. Additionally, even with extensive field-testing, it is often difficult to guarantee system performance at execution time. Despite months of testing, GPS coverage was spotty at best during the final days leading up to the integrated experiment. To mitigate the localization problems, we placed stationary overhead camera nodes on key buildings on the MOUT site. These can be seen as the deployment of additional UAVs, capable of estimating their own positions as well as accurately track ground vehicles, deployed to provide localiztion support. Without this additional support, the integrated experiment would have failed due to localization problems. Success was dependent on our ability to anticipate and prepare for such failures. As always, integration requires substantial planning and effort to be successful. This project, involving three universities and two corporations, benefited from strong leadership and collaboration to ensure that integration received the required emphasis and commitment from all involved. Finally, the most important lesson was that bringing together the different groups into a single team was extremely beneficial and the whole was truly greater than the sum of the parts. Each team has unique capabilities that other teams could leverage to make rapid progress. Further, each style of robot has unique physical capabilities and sensors that were utilized to fill gaps and provide a solid collection of capabilities for the integrated team. Acknowledgments The authors would like to thank Dan Gomez-Ibanez, Joshua Karch and Rahul Swaminathan formerly from the University of Pennsylvania, Dr. Jason Redi and Keith Manning from BBN Technologies, and Dr. Tucker Balch, Yang Cheng, Zsolt Kira, Lilia Moshkina, Matt Powers, Alexander Stoytchev, Patrick Ulam, and Alan Wagner from the Georgia Tech Mobile Robot Laboratory. A special thanks to Mike Barnes and Irv (Rod) Rodriguez and their colleagues at the Soldier Battle Lab for their support at Ft. Benning. We gratefully acknowledge the support of DARPA MARS NBCH1020012. References Amarss (2006). Amarss - networked minirhizotron planning and initial deployment. http://research.cens.ucla.edu/. Arkin, R. C. (1998). Behavior-Based Robotics. MIT Press. Chaimowicz, L., Cowley, A., Sabella, V., and Taylor, C. J. (2003). Roci: A distributed framework for multi-robot perception and control. In Proceedings of the 2003 IEEE/RJS International Conference on Intelligent Robots and Systems, Las Vegas, NV. Corke, P., Peterson, R., and Rus, D. (2003). Networked robots: Flying robot navigation using a sensor net. In Proceedings of the Eleventh International Symposium of Robotics Research (ISRR), Springer Tracts on Advanced Robotics (STAR). Springer-Verlag. Cover, T. and Thomas, J. (1991). Elements of Information Theory. John Wiley. Cowley, A., Hsu, H., and Taylor, C. J. (2004a). Distributed sensor databases for multirobot teams. In Proceedings of the 2004 IEEE International Conference on Robotics and Automation, New Orleans, LA. Cowley, A., Hsu, H., and Taylor, C. J. (2004b). Modular programming techniques for distributed computing tasks. In Performance Metrics for Intelligent Systems (PerMIS) Workshop, Gaithersburg, MD. Dellaert, F., Kipp, A., and Krauthausen, P. (2005). A multifrontal qr factorization approach to distributed inference applied to multi-robot localization and mapping. In Proceedings of the National Conference on Artificial Intelligence (AAAI ’05), volume 5, pages 1261– 1266, Pittsburgh, PA, USA. Durrant-Whyte, H., Stevens, M., and Nettleton, E. (2001). Data fusion in decentralised sensing networks. In Proc. Fusion 2001, pages 302–307, Montreal, Canada. et. al., L. C. (2005). Deploying air-ground multi-robot teams in urban environments. In Proceedings of the 2005 International Workshop on Multi-Robot Systems. Endo, Y., MacKenzie, D. C., and Arkin, R. C. (2004). Usability evaluation of high-level user assistance for robot mission specification. IEEE Transactions on Systems, Man, and Cybernetics, 34(2). Fox, D., Ko, J., Konolige, K., Limketkai, B., Schulzz, D., and Stewart, B. (2006). Distributed multi-robot exploration and mapping. In Proceedings of the IEEE. Grocholsky, B. (2002). Information-Theoretic Control of Multiple Sensor Platforms. PhD thesis, The University of Sydney. Available from http://www.acfr.usyd.edu.au. Grocholsky, B., Keller, J., Kumar, V., and Pappas, G. J. (2006). Cooperative air and ground surveillance: Scalable approach to detection and localization of targets by a network of uavs and u. IEEE Robotics and Automation Magazine, 13(3):16–25. Grocholsky, B., Makarenko, A., Kaupp, T., and Durrant-Whyte, H. (2003). Scalable control of decentralised sensor platforms. In Information Processing in Sensor Networks: 2nd Int Workshop, IPSN03, pages 96–112. Grocholsky, B., Swaminathan, R., Keller, J. F., Kumar, V., and Pappas, G. (2005). Information driven coordinated air-ground proactive sensing. In IEEE International Conference on Robotics and Automation, Barcelona, Spain. Howard, A., Parker, L. E., and Sukhatme, G. S. (2006). Experiments with a large heterogeneous mobile robot team: Exploration, mapping, deployment and detection. In International Journal of Robotics Research, number 25 in 5-6, pages 431–447. Hsieh, M. A., Cowley, A., Kumar, V., and Taylor, C. J. (2006). Towards the deployment of a mobile robot network with end-to-end performance guarantees. In International Conference on Robotics and Automation (ICRA) 2006, Orlando, FL. Hsieh, M. A., Kumar, V., and Taylor, C. J. (2004). Constructing radio signal strength maps with multiple robots. In Proc. IEEE International Conference on Robotics and Automation, New Orleans, LA. Jones, E., Browning, B., Dias, M. B., Argall, B., Veloso, M., and Stentz, A. T. (2006a). Dynamically formed heterogeneous robot teams performing tightly-coordinated tasks. In International Conference on Robotics and Automation. Jones, E., Dias, M. B., and Stentz, A. T. (2006b). Learning-enhanced market-based task allocation for disaster response. Technical Report CMU-RI-TR-06-48, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA. Jung, B. and Sukhatme, G. S. (2004). Detecting moving objects using a single camera on a mobile robot in an outdoor environment. In International Conference on Intelligent Autonomous Systems (IAS), pages 980–987, Amsterdam, The Netherlands. Kaiser, W., Pottie, G., Srivastava, M., Sukhatme, G. S., Villasenor, J., and Estrin., D. (2005). Networked infomechanical systems (nims) for ambient intelligence. In Ambient Intelligence, pages 83–114. Springer. Kang, W., Xi, N., and Spark, A. (2000). Formation control of autonomous agents in 3d workspace. In Proc. IEEE International Conference on Robotics and Automoation ICRA’00, pages 1755–1760, San Francisco, CA. Kotay, K., Peterson, R., and Rus, D. (2005). Experiments with robots and sensor networks for mapping and navigation. In International Conference on Field and Service Robotics, Port Douglas, Australia. Lerman, K., Jones, C., Galstyan, A., and Mataric, M. J. (2006). Analysis of dynamic task allocation in multi-robot systems. International Journal of Robotics Research. MacKenzie, D. C. and Arkin, R. C. (1998). Evaluating the usability of robot programming toolsets. International Journal of Robotics Research, 4(7). MacKenzie, D. C., Arkin, R. C., and Cameron, J. (1997). Multiagent mission specification and execution. Autonomous Robot, 4. Majumder, S., Scheding, S., and Durrant-Whyte, H. (2001). Multi sensor data fusion for underwater navigation. Robotics and Autonomous Systems, 35(1):97–108. Makarenko, A., Brooks, A., Williams, S., Durrant-Whyte, H., and Grocholsky, B. (2004). An architecture for decentralized active sensor networks. In IEEE International Conference on Robotics and Automation (ICRA’04), New Orleans, LA, USA. Makarenko, A., Williams, S., and Durrant-Whyte, H. (2003). Decentralized certainty grid maps. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), pages 3258– 3263. Mataric, M. J., Sukhatme, G. S., and Ostergaard, E. (2003). Multi-robot task allocation in uncertain environments. Autonomous Robots. McMillen, C. and Veloso, M. (2006). Distributed, play-based role assignment for robot teams in dynamic environments. In Proceedings of DARS-2006, Minneapolis, MN. MissionLab (2006). Missionlab: User manual for missionlab 7.0. College of Computing, Georgia Institute of Technology. Neskovic, A., Neskovic, N., and Paunovic, G. (2000). Modern approaches in modeling of mobile radio systems propagation environment. IEEE Communications Surveys, Third Quarter. Parker, L. E. (2005). Alliance: An architecture for fault tolerant multi-robot cooperation. In Proc. IEEE International Conference on Robotics and Automation, Barcelona, Spain. Rybski, P. E., Stoeter, S. A., Erickson, M. D., Gini, M., Hougen, D. F., and Papanikolopoulos, N. (2000). A team of robotic agents for surveillance. In Agents’2000, Barcelona, Spain. Spletzer, J. and Taylor, C. J. (2002). Sensor planning and control in a dynamic environment. In Proceedings of the IEEE International Conference on Robotics and Automation, Washington, DC. Stroupe, A. and Balch, T. (2003). Value-based observation with robot teams (vbort) using probabilistic techniques. In Proceedings International Conference on Advanced Robotics (ICAR), Portugal. Sukhatme, G. S., Dhariwal, A., Zhang, B., Oberg, C., Stauffer, B., and Caron, D. A. (2006). The design and development of a wireless robotic networked aquatic microbial observing system. In Environmental Engineering Science. Sukkarieh, S., Nettleton, E., Grocholsky, B., and Durrant-Whyte, H. (2003). Information Fusion and Control for Multiple UAVS. Klewer. Tang, F. and Parker, L. E. (2005). Asymtre: Automated synthesis of multi-robot task solutions through software reconfiguration. In Proc. IEEE International Conference on Robotics and Automation, Barcelona, Spain. Thibodeau, B. J., Fagg, A. H., and Levine, B. N. (2004). Signal strength coordination for cooperative mapping. Technical report, Department of Computer Science, University of Massachusetts, Amherst. Ulrich, I. and Borenstein, J. (1998). Vfh+: Reliable obstacle avoidance for fast mobile robots. In Proceeding of the IEEE International Conference on Robotics and Automation, pages 1572–1577, Leuven, Belgium. Vaglienti, B. and Hoag, R. (2003). Piccolo system user guide. http://www.cloudcaptech.com/downloads.htm. Available from Wolf, D. F., Howard, A., and Sukhatme, G. S. (2005). Towards geometric 3d mapping of outdoor environments using mobile robots. In IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 1258–1263.