I am broadly interested in the coordination and control of large-scale, distributed robotic systems. How can one design algorithms that cope with the uncertainty inherent in the sensing and actuation such systems use ? Which coordination algorithms are well suited to an uncertain communication regime ? Which algorithms are parsimonious in their use of computation and energy ? These are the kind of questions that motivate my research.
The main theme of my research is to develop tools and techniques to design and understand large-scale, distributed, robotic systems. My research includes theoretical and rigorous empirical methods of study to provide a solid foundation for this field. I emphasize both analytical modeling and experimental work in the lab so systems are built and tested and models are validated. The applications for intelligent, distributed, robotic embedded systems are wide-ranging; from intelligent homes, office and production environments, to security and reconnaissance.
With the advent of affordable wireless networking and embedded systems with fast processors, there is a convergence in the Computer Science community between areas that have traditionally been separate. Specifically, there is increasing overlap between distributed robotics and computer networks. This intersection is the emerging area of robotic sensor networks. In short order the Internet has transformed the lives of the millions who use it. However, the Internet does not allow a geologist sitting in her lab to excavate remote rock samples for fossil analysis, or a doctor to palpate a patient remotely. As parts of it become wireless, it cannot repair itself when mobile computers lose contact with each other. It does not allow users to interact with the physical world through robotic proxies, the way it supports interaction with the virtual world, through software proxies.
It is possible to imagine a future network with considerably more functionality. Such a network would have at its end-points, sensors (to gather information about the physical world), and actuators (to act upon the physical world) thereby allowing a user to effectively sense and act at a distance. The resulting robotic sensor network will enable unprecedented capability (see C16,J9,J11). Driven partly by fast growing low-power computation and wireless communication, such a network of the future will be mobile and tightly coupled to the physical world. It will be able to exploit its autonomous physical mobility to self-reconfigure. It will be always on, highly distributed, and very large-scale. Parts of it may require timing guarantees on the communication delays between nodes to support the transmission of control signals.
My research interests lie in building scalable infrastructure for such a network of the future. This infrastructure is based on algorithms that address mobility, real-time constraints, energy constraints, and above all, uncertainty. Given that the nodes of the network will interface directly to the physical world, their control and coordination will be possible only if the network is designed with this interaction in mind. My background is primarily in distributed robotics which deals explicitly with uncertain, real-time, energy-constrained systems. I discuss below, my specific research contributions to date, and plans for future research. The detailed references for the papers cited below are in my CV as are the names of my principal collaborators on these works.
Motivated by these ideas, I have recently focused (in a collaborative project) on techniques for relative localization. In a distributed system the ability of robotic nodes to determine their location relative to each other is often enough to perform their tasks. Exact localization referenced to the external world is not always necessary. Relative localization can be formulated as a Maximum Likelihood Estimation problem (J3), and solved using a conjugate gradient descent technique (J3,C1). It may be noted that the solution can be distributed across a network of collaborating robots (C10) making it a viable candidate for large-scale systems. An intuitive formulation of the problem is obtained by making an analogy with a physical spring-mass system. It is possible to map the relative localization problem to the problem of finding the minimum energy state of a physical system. Experimental results show (C21,J3) that the formulation converges to a minimum energy state which minimizes relative localization error.
In past work I investigated localization strategies for wireless nodes which are portable. These nodes (such as laptops, PDAs, sensors) move because a human (or other) agent transports them. I proposed a technique based on communication (C34) to localize such nodes. The basic idea is to treat the localization problem as an estimation problem where the measurements are noisy wireless signal strengths from several transmitters in the environment. Since the computational framework used is a Kalman filter, this formulation is a natural extension to my prior research on the mobile robot localization problem. In this work, I proposed a Kalman filter-based algorithm to accurately localize mobile robots of varying morphology. This algorithm was tested on several platforms including NASA/JPL planetary robot rovers and several indoor and outdoor wheeled mobile bases in the robotics laboratory at USC. The results appear in papers C41, C43, and C44. The algorithms have also been applied (C42) to estimate the state of aerial robots such as the autonomous robot helicopter at USC (discussed later).
My future work on localization will continue to emphasize distributed techniques for relative localization, with emphasis on explicitly incorporating communication constraints between robots. I am also actively pursuing a line of research which studies localization for heterogeneous systems where the sensing and actuation capabilities of nodes are varied.
In concert with localization, mobile robotic nodes need to formulate and maintain a representation of the world around them in order to perform useful tasks. In my work I have focused on techniques which allow robots to autonomously build maps of their environment based on uncertain data gathered by sensors. I have developed an algorithm for robot mapping which runs in real time. This is a distributed mapping algorithm, in that it is used by multiple robots exploring an environment concurrently. This work relaxes the constraint which requires all robots to share a common coordinate system, or even to know each others' locations. The underlying map representation is a planar graph with directed, weighted edges. Map fusion across robots uses a fast topological graph matching algorithm. The results of this work appear in paper C33.
My current work on mapping emphasizes efficient sampling-based techniques for representation, and the study of generalized problems such as pattern detection in networks of sensors (eg detecting the gradient of a scalar field). In the future, I plan to study how mobility enhances pattern detection by focusing sensing where it is needed, in a timely manner.
An interesting problem in sensor networking is for the system to track targets in the region where it is deployed. I have developed a distributed tracking algorithm for a robotic sensor network to track targets, which builds on my prior work on topological mapping. The network I consider is composed of a set of mobile robots and a set of stationary nodes. The algorithm relies on a sparse topological representation of the environment and local computation by each network node to solve the global tracking problem (C3,C24). In recent collaborative work, I quantified the effect of the environment shape on the behavior of the algorithm, the results appear in J7.
My future work in this area will focus on pattern detection and tracking as a joint estimation problem, with an eye toward applications to non-traditional areas of robotics, such as marine microorganism monitoring.
For pragmatic reasons, a large-scale sensor network will need to automatically deploy itself. In recent collaborative work I have developed three algorithms to solve this problem. The first two rely on local interaction between robots (which form the sensor nodes of the network). The first algorithm (C12) uses distributed potential fields to solve the problem while respecting a line-of-sight constraint between robots (useful for relative localization). Experiments in simulation show that the system converges to the desired configuration within a reasonable time period as a result of purely local computation and sensing by the robots. The second approach (C11) is a rule-based system which also employs local repulsion techniques encoded as a small set of rules, to achieve dispersion and deployment. The third approach (J8,C2) is an incremental deployment algorithm in which nodes deploy sequentially, each one using the information gathered by the previously deployed members.
My current work in deployment focuses on distributed exploration of unknown environments by a team of robots. A recent promising result is an algorithm wherein the robots deploy a set of markers into the environment as they explore. These markers act as local signposts and form a beacon network, which dramatically speeds up the exploration time of the environment. The gist of the idea is that there is a fundamental tradeoff between the number of markers a robot can deploy into the environment and the cover time. In the absence of an environment map, and no access to markers, an upper bound for the problem is given by a random walk. However our analysis shows that a close to optimal solution is possible if the number of markers is large. The results of this are currently being written up. Large-scale distributed robotic systems will need new techniques for human interaction and task allocation. In recent collaborative projects I have developed an infrastructure for many-to-many human robot interaction (J2) and distributed task allocation (see C13, C20, C23, C27 and J4) which have been validated using extensive experimental trials.
The focus of my work has primarily been on spatially distributed and networked embedded systems which offer the promise of fault tolerance due to the absence of a centralized controller. However autonomously mobile systems might be significant sources of faults within such networks if they are not reliably designed. In collaboration with my students I have developed an architecture which utilizes traditional estimation algorithms and probabilistic techniques in a powerful hybrid architecture to detect, isolate, classify and rectify faults in mobile robot systems. This architecture has been implemented and improved in the course of several experiments with encouraging results (C40,C46,C47). I am particularly interested in robust, distributed algorithms for mobile embedded systems which scale to large group sizes. A past focus has been to develop biologically-inspired (ant-like) algorithms for mobile robots (J5,C19,C35,C36,C39). The strategies developed in this research were based on local computation and resulted in robust behavior in response to network failure (C28).
In current work, I am focusing on team behaviors for a helicopter group where omnidirectional sensing is used for formation flight. I am also focusing on the landing problem when the target is in motion. Preliminary results in these areas are encouraging.
I have been working on the design of a haptic interface for users to explore virtual worlds. Such an interface is built using haptic displays (gloves, force-feedback joysticks etc.) that provide the human user a sense of touch. My research interests in this area are efficient dynamic modeling of the virtual world and force control algorithms for providing realistic feedback (C6). A recent thrust is the development of algorithms for collaborative haptic interfaces across a network (B3,B4,C29,C30,C31), and the teleoperation of mobile robots using force feedback (J1,C5).
I am a Computer Scientist interested in algorithms for large-scale embodied robotic systems. Such systems are tightly coupled to the physical world, and the algorithms for their coordination and control are plagued with the uncertainty inherent in such a coupling. A robotic sensor network is an example of such a system, for which I have been developing distributed, scalable algorithms with various applications in mind. In my research, I seek a fundamental understanding of distributed algorithms for embodied systems, which when implemented, will result in useful services for robotic sensor networks of the future.