We describe several algorithms used for the inference of linguistic robot policies from human
demonstration. First, tracking and match objects using the Hungarian Algorithm. Then, we convert Regular Expressions to Nondeterministic Finite Automata (NFA) using the McNaughton-Yamada-Thompson
Algorithm. Next, we use Subset Construction to convert to a Deterministic Finite Automaton. Finally, we
minimize finite automata using either Hopcroft's Algorithm or Brzozowski's Algorithm.
We present the Motion Grammar: a novel unified representation
for task decomposition, perception, planning, and hybrid control
that provides a computationally tractable way to control robots in
uncertain environments with guarantees on completeness and correctness.
The grammar represents a policy for the task which is
parsed in real-time based on perceptual input. Branches of the syntax
tree form the levels of a hierarchical decomposition, and the
individual robot sensor readings are given by tokens. We implement
this approach in the interactive game of Yamakuzushi on a
physical robot resulting in a system that repeatably competes with
a human opponent in sustained game-play for matches up to six
We present a new Inter-Process Communication (IPC) mechanism and library. Ach is uniquely suited for coordinating perception, control drivers, and algorithms in real-time systems that sample data from physical processes. Ach eliminates the Head-of-Line Blocking problem for applications that always require access to the newest message. Ach is efficient, robust, and formally verified. It has been tested and demonstrated on a variety of physical robotic systems. Finally, the source code for Ach is available under an Open Source BSD-style license.