|
|
My research focuses on the area reliable autonomous systems (especially mobile robots) operating in rich, uncertain environments. The goal is to create intelligent systems that can operate autonomously for long periods of time in unstructured, natural environments. This necessitates robots that can plan, reason about uncertainty, diagnose and recover from unanticipated errors, interact with other robots and humans, and learn. In particular, I am interested in architectures for autonomy that combine deliberative and reactive behavior, reliable execution monitoring and error recovery, multi-robot coordination, human-robot social interaction, and formal verification of autonomous systems. Architectures for Autonomy. We are developing the Task Description Language (TDL) (http://www.cs.cmu.edu/~tdl), an extension of C++ that includes syntax to support task-level control, such as task decomposition, task synchronization, monitoring and exception handling. TDL is based on our earlier work on the Task Control Architecture ( TCA), a general-purpose architecture to support distributed planning, execution, error recovery, and task management for autonomous systems. TDL and TCA have been used in over a dozen mobile robot projects at CMU and elsewhere, including NASA and DARPA. We have recently extended TDL to handle coordination of multiple robot agents. Human-Robot Social Interaction. The goal here is to make robots more useful and acceptable by enabling them to interact with humans using social rules and conventions. This includes such rules as how to pass people in hallways in a socially acceptable manner, ride in elevators, and how to enter and wait in line. In conjunction with members of the Drama department, we are starting a project to give a robot a personality, and have it converse with people. The goal is to develop a robot receptionist that is both useful and entertaining. Multi-Robot Coordination. We are researching issues of how multiple, heterogeneous robots can coordinate to carry out high-level tasks, especially those that cannot be accomplished by a single robot. Issues include having the robots negotiate to dynamically form teams and assign tasks, monitoring each other's performance, and adapting dynamically to changing situations. The work extends traditional three-tiered architectures to multiple robots, and is investigating the use of distributed market-oriented strategies for planning and task assignment. Application domains include multi-rover exploration and multi-robot large-scale assembly. Probabilistic Reasoning in Robotics. We are exploring the use of probabilistic reasoning techniques in controlling autonomous robots. We are investigating methods for making mobile robots more robust and self-reliant. We are exploring the use of probabilistic techniques (in particular, hierarchical particle filters) to detect and diagnose failures. We are also exploring the use of information gain metrics to plan how to efficiently explore large areas (both indoors and outdoors), and using partially observable Markov models to navigate robots in office environments. Formal Verification of Autonomous Systems. We are developing tools and techniques to enable engineers to use formal methods more easily in the process of designing and implementing autonomous systems. The basic idea is to provide translators that can autonomously convert specialized representation used in autonomous systems into SMV, a formal model-checking language, verify the resulting models, and then translate any counter-examples back into the original representation language. We are also investigating sampling-based methods to provide probabilistic guarantees of specifications for general discrete-event systems.
|
||||