The Dynamics of Bouncing Robots

I am extending this work, by reformulating it in terms of a 1D dynamical map ("map" as in logistic map). We can analyze the ergodicity and coverage of the map in different classes of polygons. To make a bouncing robot explore a space, you want a bouncing law that covers the polygon well. To make a bouncing robot localize, you want the robot to become "trapped" in a small region of phase space (the "attractor"). Work is ongoing here. See our paper, Periodic Trajectories of Mobile Robots, at IROS 2017!

Automated Robot Design

I am very interested in using tools from formal methods, such as model checking and synthesis, to help roboticists explore the space of robot designs. This can help us in several ways:

This exciting new research area leverages advances from formal methods and from the fabrication (printable / foldable / modular robots) and design communities.

To this end, I am a contributor to the robot design game, an informal (and fun!) way of exploring the trade-offs between robotic resources and capabilities. I am also helping organize the Workshop on Minimality and Trade-offs in Automated Robot Design at RSS 2017.


I have a hodge-podge of projects under the umbrella of self-assembly. I am leading an undergraduate project to build cases that allow weaselballs to connect into assemblies; I am interested in graph grammars and rewriting based approaches to assembly; and I am working on a simple model of fetal morphogenesis (how does a developing embryo change from a sphere to a torus?).

Improv: a High-Level Language for Live-Coding Robot Motion

Started as a project in Amy LaViers' class, I am developing a platform-independent domain-specific language (DSL) in Haskell. This language takes inspiration from Laban-Bartenieff Movement System, a framework for describing and analyzing human movement. The goal is to specify movements in a high-level, readable language which is then translated to ROS messages and sent to a simulator to see the effects of the commands in real time. Under development; code and documentation can be found here.

Tracking Motion of Rolling Robots

This project explores what can be reconstructed about the motion and environment of a rolling robot with an IMU fixed to the inside of its spherical surface. Projects like Sphero use IMUs fixed to an internal platform, whereas we're tracking the rotation of the robot, essentially creating a "3D wheel encoder".

Documentation on my github includes a general guide to setting up a small, battery-powered IMU that logs to an SD card.

Results from this project indicated that it is possible to get decent estimates of the distance and direction traveled by a rolling robot between collisions.

Predicted Information Gain and Exploratory Robots

"Predicted Information Gain" is an exploratory learning algorithm developed by the Redwood Center for Computational Neuroscience. While working with Jim Crutchfield's group at UC Davis, I adapted this algorithm for small robots and analyzed their learned representations of the environment. I also worked on developing ways to include more memory in the algorithm to adapt to hidden environments. My paper on the project is here. From summer 2014.

Partially Coherent Transport

Recent discoveries have indicated that some photosynthetic structures are able to use vibrational modes in proteins to encourage semi-coherent transport of energy. This means that excitons are not collapsed down into one state, but remain in a superposition of states during transport, which is a faster and more efficient way to transport energy. My project involved modelling this process using the Hierarchical Equations of Motion, a reformulated approximation to the solution of the Schrodinger Equation. Using these models, my group and myself identified several physical characteristics for highly coherent systems. This was a senior design project, and research has been passed on to a new group and is ongoing. My poster that I presented on my work can be found here, and a more detailed overview that I wrote with my two research partners is here. From academic year 2013-2014.