Dance: A Declarative Language for the Control of Humanoid Robots

Dance: A Declarative Language for the Control of Humanoid Robots,Liwen Huang,Paul Hudak

Dance: A Declarative Language for the Control of Humanoid Robots   (Citations: 6)
BibTex | RIS | RefWorks Download
Robots are becoming increasingly common in, and important to, many commercial, industrial, and military applications. This paper focuses on how to program humanoid robots, and in particular how to program their movements and interactions as easily and as eectively as possible. The core of this eort 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 movement. Dance consists of a non-reactive base inspired by Labanotation, a graphical notation for human motion, and a reactive layer based on Yampa, our latest incarnation of functional reactive programming. The reactive layer is structured using arrows, a generalization of monads, and gives a robot the ability to react to its environment in critical ways. Dance is also independent of the robot platform being used. Our target is two humanoid robots being designed and constructed in the Yale Vision and Robotics Laboratory. We have also written a simulator in which a 3D-rendering of a humanoid robot is controlled by a Dance program.
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
    • ...Second, by capturing the discrete dynamics associated with pose transitions, the proposed model differs from previous attempts (e.g., [3] and [10]) in that it encodes the actual rules which ballet dancers and choreographers employ into a mathematical construct ‐ thus making a new set of tools which can quantify aspects of choreography, facilitating new debate among scholars and offering unbiased comparison to other styles and genres...

    Amy Lavierset al. The ballet automaton: A formal model for human motion

    • ...[14], [15], [16]) uses the declarative programming style to specify behaviors that the robot should exhibit in reaction to different states of the environment...

    Jimmy Liet al. Graphical State Space Programming: A visual programming paradigm for r...

    • ...Connecting Yampa with hardware robots is the language Dance [8], which is a high level language based on Yampa and Labanotation, which is a formalism to denote humanoid movement...

    Peter Achten. Teaching functional programming with soccer-fun

    • ...FRP has been used in a variety of applications, including computer animation [10], mobile robotics [24,25], humanoid robotics [13], real-time systems [31], parallel processing [12], and graphical user interfaces [7]...

    Hai Liuet al. Plugging a Space Leak with an Arrow

    • ...In our robotics application these advantages are even greater because some of the processes are actually Dance [6,5] programs that have been compiled into 1 The name “HPorter” comes from the name of the QNX scripting language Porter, and our use of H askell...

    Liwen Huanget al. HPorter: Using Arrows to Compose Parallel Processes

Sort by: