ITR: Dance, a Programming Language for the Control of Humanoid Robots
Yale University, New Haven CT
Investigators
Abstract
Robots are becoming increasingly common in, and important to, many commercial, industrial, and military applications. This project focuses on humanoid robots, which are becoming increasingly useful as they advance in sophistication, because they can perform in environments engineered specifically for humans, and because they make it easier for humans to interact with automation. This project focuses specifically on how to program humanoid robots; i.e. how to program their movements and interactions as easily and as effectively as possible. The focus is not on developing new algorithms for robot movement or sensing. Rather, once an algorithm is in hand, how does one program a robot to walk, wave its arms, clap its hands, or pick up an object? How does one do so in a high-level way that is devoid of unnecessary detail, yet is expressive enough to capture all desirable movements and interactions? The core of this effort is the design of a domain-specific language called "Dance" that is highly abstract, easy to use, yet has enough expressive power to describe a wide range of useful robot movements. Dance incorporates ideas from the PI's previous work on domain-specific languages for computer music, computer animation, and software-enabled control. For example, Dance uses declarative event-based reactivity to give a robot the ability to respond to its environment (through tactile, aural, and visual sensors), to its own body (such as interactions between limbs), and to internal programmatic events (timers, remote messages, user commands, and so on). Innovative language research makes behaviors the objects of computation in Dance, which enables programs to abstract over (aggregate) action sequences and evaluate interactions of such sequences. The language is also amenable to formal reasoning based on a formal algebraic semantics. It is possible to prove crucial run-time properties of Dance programs based on the axioms of this algebra. The proposed work also includes a programming environment called "Dance Studio" that has the ability to simulate and thus visualize a running Dance program, enabling a programmer to dynamically debug her programs prior to full robot deployment. Dance language research pioneers a control programming concept that is relevant for many applications in which complex, aggregate system behaviors or maneuvers are required, and in which such behaviors must be coordinated and assured. The research is part of, and supports, a broader agenda at Yale to create "socially adept" robots. Building a machine that can recognize social cues from a human observer allows a more natural human-machine interaction style, creates possibilities for machines to learn by directly observing untrained human instructors, and expands on the growing capabilities of robotic systems. Such social machines can be used as investigative tools to study many aspects of human social development. For example, a robot that is capable of perceptually identifying social cues can be used to provide a quantitative metric of social response. This metric may be a useful diagnostic tool for social development disorders such as autism. In fact research on the use of humanoid robots to diagnose and treat autism is being conducted in the broader scope of Yale's humanoid robotics program.
View original record on NSF Award Search →