Organizational Unit:
Humanoid Robotics Laboratory

Research Organization Registry ID
Description
Previous Names
Parent Organization
Parent Organization
Includes Organization(s)
ArchiveSpace Name Record

Publication Search Results

Now showing 1 - 10 of 14
Thumbnail Image
Item

Correct Software Synthesis for Stable Speed-Controlled Robotic Walking

2013-06 , Dantam, Neil , Hereid, Ayonga , Ames, Aaron , Stilman, Mike

We present a software synthesis method for speed- controlled robot walking based on supervisory control of a context-free Motion Grammar. First, we use Human-Inspired control to identify parameters for fixed speed walking and for transitions between fixed speeds, guaranteeing dynamic stability. Next, we build a Motion Grammar representing the discrete- time control for this set of speeds. Then, we synthesize C code from this grammar and generate supervisors¹ online to achieve desired walking speeds, guaranteeing correctness of discrete computation. Finally, we demonstrate this approach on the Aldebaran NAO, showing stable walking transitions with dynamically selected speeds.

Thumbnail Image
Item

Robust and Efficient Communication for Real-Time Multi-Process Robot Software

2012-11 , Dantam, Neil , Stilman, Mike

We present a new Interprocess Communication (IPC) mechanism and library. Ach is uniquely suited for coordinating drivers, controllers, and algorithms in complex robotic systems such as humanoid robots. 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, and we discuss the implementation on our humanoid robot Golem Krang. Finally, the source code for Ach is available under an Open Source permissive license.

Thumbnail Image
Item

The Motion Grammar Calculus for Context-Free Hybrid Systems

2012-06 , Dantam, Neil , Stilman, Mike

This paper provides a method for deriving provably correct controllers for Hybrid Dynamical Systems with Context-Free discrete dynamics, nonlinear continuous dynamics, and nonlinear state partitioning. The proposed method models the system using a Context-Free Motion Grammar and specifies correct performance using a Regular language representation such as Linear Temporal Logic. The initial model is progressively rewritten via a calculus of symbolic transformation rules until it satisfies the desired specification.

Thumbnail Image
Item

The Motion Grammar: Linguistic Perception, Planning, and Control

2011-06 , Dantam, Neil , Stilman, Mike

We present and analyze the Motion Grammar: a novel unified representation for task decomposition, perception, planning, and control that provides both fast online control of robots in uncertain environments and the ability to guarantee 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 gameplay for the roughly six minute duration of each match.

Thumbnail Image
Item

The Motion Grammar: Analysis of a Linguistic Method for Robot Control

2013-06 , Dantam, Neil , Stilman, Mike

We present the Motion Grammar: an approach to represent and verify robot control policies based on Context-Free Grammars. The production rules of the grammar represent a top-down task decomposition of robot behavior. The terminal symbols of this language represent sensor readings that are parsed in real-time. Efficient algorithms for context-free parsing guarantee that online parsing is computationally tractable. We analyze verification properties and language constraints of this linguistic modeling approach, show a linguistic basis that unifies several existing methods, and demonstrate effectiveness through experiments on a 14-DOF manipulator interacting with 32 objects (chess pieces) and an unpredictable human adversary. We provide many of the algorithms discussed as Open Source, permissively licensed software. ¹

Thumbnail Image
Item

Linguistic Transfer of Human Assembly Tasks to Robots

2012-10 , Dantam, Neil , Essa, Irfan , Stilman, Mike

We demonstrate the automatic transfer of an assembly task from human to robot. This work extends efforts showing the utility of linguistic models in verifiable robot control policies by now performing real visual analysis of human demonstrations to automatically extract a policy for the task. This method tokenizes each human demonstration into a sequence of object connection symbols, then transforms the set of sequences from all demonstrations into an automaton, which represents the task-language for assembling a desired object. Finally, we combine this assembly automaton with a kinematic model of a robot arm to reproduce the demonstrated task.

Thumbnail Image
Item

Algorithms for Linguistic Robot Policy Inference from Demonstration of Assembly Tasks

2012 , Dantam, Neil , Essa, Irfan , Stilman, Mike

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.

Thumbnail Image
Item

Multi-Process Control Software for HUBO2 Plus Robot

2013-04 , Grey, M .X. , Dantam, Neil , Lofaro, Daniel M. , Bobick, Aaron F. , Egerstedt, Magnus B. , Oh, Paul , Stilman, Mike

Humanoid robots require greater software reliability than traditional mechantronic systems if they are to perform useful tasks in typical human-oriented environments. This paper covers a software architecture which distributes the load of computation and control tasks over multiple processes, enabling fail-safes within the software. These fail-safes ensure that unexpected crashes or latency do not produce damaging behavior in the robot. The distribution also offers benefits for future software development by making the architecture modular and extensible. Utilizing a low-latency inter-process communication protocol (Ach), processes are able to communicate with high control frequencies. The key motivation of this software architecture is to provide a practical framework for safe and reliable humanoid robot software development. The authors test and verify this framework on a HUBO2 Plus humanoid robot.

Thumbnail Image
Item

Linguistic Composition of Semantic Maps and Hybrid Controllers

2012-06 , Dantam, Neil , Nieto-Granda, Carlos , Christensen, Henrik I. , Stilman, Mike

This work combines semantic maps with hybrid control models, generating a direct link between action and environment models to produce a control policy for mobile manipulation in unstructured environments. First, we generate a semantic map for our environment and design a base model of robot action. Then, we combine this map and action model using the Motion Grammar Calculus to produce a combined robot-environment model. Using this combined model, we apply supervisory control to produce a policy for the manipulation task. We demonstrate this approach on a Segway RMP-200 mobile platform.

Thumbnail Image
Item

Make Your Robot Talk Correctly: Deriving Models of Hybrid System

2011-07 , Dantam, Neil , Stilman, Mike , Egerstedt, Magnus B.

Using both formal language and differential equations to model a robotic system, we introduce a calculus of transformation rules for the symbolic derivation of hybrid controllers. With a Context-Free Motion Grammar, we show how to test reachability between different regions of state-space and give several symbolic transformations to modify the set of event strings the system may generate. This approach lets one modify the language of the hybrid system, providing a way to change system behavior so that it satisfies linguistic constraints on correct operation.