Aaron M. Johnson

Self-Manipulation Frames



Cellular Decompositions

Convergent Planning

Convergent Planning


Tails and Flails


Motor Sizing






X-RHex (Kod*lab)


XRL (Kod*Lab)

Desert RHex

Desert RHex (Kod*lab)

Snake Robots

Snake Robots (Biorobotics Lab)


Self-manipulation is a new formal design methodology for dynamical legged robots with varying ground interactions, leveraging wherever possible the salient aspects of the multi-fingered object manipulation literature. Our primary motivation is not to facilitate numerical simulation but rather the distillation of physically parametrized models into formal design results (behavior design, controller design, and robot design), utilizing a variety of analytical and numerical methods.

Self-Manipulation Frames
Self-manipulation model with key coordinate frames.

Modeling Decisions

This self manipulation model follows the usual conventions from manipulation wherever possible. As such the robot and the world are separated at the fingertips (now called toes), and are not attached at any foot or separated anywhere in the middle. The wrench bases at the contact points (i.e. the forces and torques that the contact resists) are considered in unison, and through the separated velocity constraints of the grasp map and hand Jacobian dictate the forces and torques on the robot. This framework is body centric, i.e. it does not require full knowledge of the world reference frame (which is at some fixed, but possibly unknown, location relative to the ground). We will allow for the possibility of massless limbs, and as such will not require an invertable mass matrix. Finally as under-actuation is a common and interesting case in locomotion, we also not assume that the kinematic Jacobian is invertable.

Manipulation Model
Manipulation model with key coordinate frames
(Figure 2.14 in Murray, Li, & Sastry, 1994).

Comparison to Manipulation

Contrary to the oft encountered adage, locomotion is not the same as manipulation. In particular there are three main differences between the usual manipulation formulation and the self-manipulation setting:

  • The robot is the object, and so the "Palm" (robot centered) and "Object" (focus of manipulation) frames are coincident, allowing for wrenches and twists that are referenced to that point in the world, as needed by several funamental manipulation results.
  • We are concerned with motion of the robot and not what the robot is touching, and so the grasp map must be composed with an appropriate reflection. Taking the palm frame as fixed, from the robot’s perspective it appears that the movable Earth (the object) is attracted to the robot via gravity, and not the other way around.
  • The dynamics of the legs and body are not decoupled, so in particular the mass matrix is no longer block diagonal, complicating the dynamics. The extra terms in the mass matrix arise from the coupling between body and leg positions, though these terms drop out if the legs are considered massless.

Why bother following a manipulation formulation if the problems are actually different? While not every result carries over exactly, the problems are similar enough that matching as closely as possible the modeling decisions that have emerged from this very successful and mature body of work facilitates the reuse, or slightly modified extension, of several valuable ideas and results, including the closed-loop constraint, internal forces, and rolling contact.

Key Publications

Legged Self-Manipulation
Aaron M. Johnson and D. E. Koditschek
IEEE Access, Vol. 1, May, 2013. Full PDF

A Hybrid Systems Model for Simple Manipulation and Self-Manipulation Systems
Aaron M. Johnson, Samuel A. Burden, and D. E. Koditschek
arXiv Preprint arXiv:1502.01538 [cs.RO], 2015. Full PDF

Publications that use Self-Manipulation

Gait Design Using Self–Manipulation
Aaron M. Johnson
Dynamic Locomotion, Robotics: Science and Systems Workshop, July, 2014. Abstract PDF

Self-Manipulation and Dynamic Transitions for a Legged Robot
Aaron M. Johnson
University of Pennsylvania PhD Thesis, 2014. Full PDF

Robot Parkour: The Ground Reaction Complex & Dynamic Transitions
Aaron M. Johnson and D. E. Koditschek
Dynamic Walking, June, 2013. Abstract PDF

Toward a Vocabulary of Legged Leaping
Aaron M. Johnson and D. E. Koditschek
Proceedings of the 2013 IEEE Intl. Conference on Robotics and Automation, May, 2013. Full PDF

Standing Self-Manipulation for a Legged Robot
Aaron M. Johnson, G. C. Haynes, and D. E. Koditschek
Proceedings of the 2012 IEEE/RSJ Intl. Conference on Intelligent Robots and Systems, Full PDF

The ground reaction complex
The ground reaction complex for RHex leaping.

Cellular Decompositions

Robots are often modeled as hybrid systems providing a consistent, formal account of the varied dynamics associated with the loss and gain of kinematic freedom as a machine impacts and breaks away from its environment. This hybrid structure induces an abstract simplicial complex indexed by the active contact constraints, where each vertex in the complex is a single constraint. This complex provides a concise description of the possible edges of the hybrid system through impacts – they must lie in the closure of the star of the current cell. This structure is in some sense dual to the “ground reaction complex”, wherein constraints reduce dimension and the equivalent adjacency property is instead the star of the closure. Under either formulation, sequences of contact conditions (“letters”) define smooth families of executions (“words”). Points of discontinuity lie within the boundaries between words, but in certain cases the evaluation can still be continuous over an open set including these boundaries, even though the associated words change abruptly. This research studies these properties and finds examples of these “convergent” and “divergent” word boundaries.

Cellular Decomposition of Mechanical Systems

Define two structures on a mechanical hybrid system (for the sake of this example, assume no friction):

  • The constraint complex, an abstract simplicial complex whose vertices are individual normal-direction constraints and whose simplices are the discrete modes.
  • The configuration complex, sometimes called the ground reaction complex, whose vertices are the maximally constrained configurations and whose simplices’ dimension and adjacency are related to that of the hybrid domains through some quotient map.

To illustrate these definitions, consider the following simple 2-DOF, 4-constraint system:

Classification of Convergence

Convergent and Divergent Transitions
Divergent (left) and convergent (right) transitions.

An execution of the hybrid system follows a sequence of contact modes. If we consider each to be a letter then the sequence of letters in an execution could be called a word, and the set of possible words a vocabulary. We can now consider the grammar of this system, i.e. the relationship between the words.

In general the boundary between words will be divergent points of discontinuity in the execution – any neighborhood of such points will contain points that reach formally disjoint hybrid domains (figure, left). However, when the two words differ only by a letter and the guard manifolds that correspond to those letters intersect at an acute angle, the two words will converge (figure, right). In such cases the execution is continuous, although not smooth. It may be possible to plan behaviors that only use these convergent tranitions.


These structural properties are known to be true for general systems. However are they useful? By studying the cell complex for a given hybrid system, we are able to answer questions such as:

What are all of the dynamic transitions that a robot can perform?

This has been used to enumerate and reason about the different leaps on two robots: RHex and Jerboa. In the experimental data collected on these platforms, the difference between convergent and divergent boundaries is quite clear despite the higher dimension of their state space, unmodeled physical effects, and measurement noise.


Cellular Decomposition and Classification of a Hybrid System
Aaron M. Johnson and D. E. Koditschek
In preparation, 2016.

Tail-Assisted Rigid and Compliant Legged Leaping
Anna L. Brill, Avik De, Aaron M. Johnson and D. E. Koditschek
2015 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep, 2015. (to appear)

Cellular Decomposition and Classification of a Hybrid System
Aaron M. Johnson and D. E. Koditschek
Northeast Robotics Colloquium, October, 2014. Abstract PDF

Robot Parkour: The Ground Reaction Complex & Dynamic Transitions
Aaron M. Johnson and D. E. Koditschek
Dynamic Walking, June, 2013. Abstract PDF

Toward a Vocabulary of Legged Leaping
Aaron M. Johnson and D. E. Koditschek
Proceedings of the 2013 IEEE Intl. Conference on Robotics and Automation, May, 2013. Full PDF
Best Student Paper Finalist

Convergent Planning

High-level reasoning and motion planning will be most effective when it considers the mechanics of physical interaction. A robot’s behavior is not fully controllable or observable in general, and motion plans that take advantage of the underlying geometry of the system’s evolution will produce more robust behaviors. One way to do this is to bias the planning algorithm with some measure of how much the underlying vector field is converging or diverging. In this recent work, I define a number of analytic divergence measures as well as numerical approximations that, in the strongest case, guarantees exponential convergence to a motion plan. However it is not yet know what the best way is to incorporate these measures into a robot’s planning and control architecture, and this remains an open area of my research.


Convergent Planning
Aaron M. Johnson and Siddhartha Srinivasa
In preparation, 2016.


Tails can enable a great variety of behaviors in robots, from inertial self-righting to aiding running gaits. However it is not yet clear what the true cost of a tail is (mass, power, complexity, etc) or when, if ever, the benefits of the tail outweight that cost. There are plenty of examples in nature which we can draw from, but the difference in materials and control methods in robotics may prove to be important.

Running with tail Compressing legs with tail
Falling with flails Pitchback prevention
Many possible tasks with tails and flails.

Task Specification

The first step in adding a tail to a robot design, or in analyzing an existing tail, is to carefully define a task specification. This will add constraints on to the design problem, and can be used, e.g., to determine the minimum power necessary to complete a task.

One example task is Inertial Orientation (IR). In this task, the robot must rotate its body by 90 degrees in one body length of fall (which we can easily translate into a time constraint). We will require the body pitch velocity to be zero at both the start and end of the task.

This IR task is closely related to another task, that of pitch regulation. Instead of turning by a fixed rotation, the robot instead starts out at the correct pitch but with a non-zero pitching moment. Now the taks is to cancel out this disturbance in order to maintain a level pitch.

XRL with a tail
A tail mounted on XRL.

Morphological Reduction

In order to compare different appendages that could be used to achieve the task, a hierarchy of models is used following the Template/Anchor relationship. First we define the simplest model capable of capturing the desired phenomenon, in this case the IR template consists of two inertias pinned at the common COM.

Next for each morphology of appendage design (e.g. tails, reaction wheels, or flailing limbs) define a more complicated anchor model that captures the specifics of the design's dynamics. These anchor models will be related to the template model through three maps relating the state space, control space, and parameter space. In this case, the most interesting of these is the last, which we will call the morphological reduction.

Once a template design has been chosen that meets the task specification, the design parameters can be pulled back through the morphological reduction to define a region of anchor parameter space that meets the task. Alternatively for analysis, multiple tail designs of various anchor types may be pushed forward through the morphological reduction to be able to compare the designs in the common template parameter space.

Tail design for XRL

The design of the XRL tail is quite different than biological tails, but has become quite common in robotic tails. Most of the mass is concentrated at the tip of the tail which has a 600g brass weight. This is attached to a carbon fiber rod that provides the shape. The tail is actuated by a 50W Maxon motor that is identical to the ones used for the legs. The design of the power train for the tail could have been optimized by using various motor sizing techniques.


To explore the role of tails in animals and robots, I have helped organize a number of events:


Design and Scaling of Inertial Appendages for Aerial Reorientation
Thomas Libby, Aaron M. Johnson, Evan Chang-Siu, Robert J. Full and D. E. Koditschek
In preparation, 2015.

Design and Comparative Morphology for Inertial Reorientation
Thomas Libby, Aaron M. Johnson, Robert J. Full and D. E. Koditschek
Robotics: Science and Systems Workshop on “Robotic Uses for Tails”, July, 2015. Abstract PDF

Comparative Morphology of Inertial Reorientation
Thomas Libby, Aaron M. Johnson, Robert J. Full and D. E. Koditschek
IEEE International Conference on Robotics and Automation Workshop on “Robotics-Inspired Biology”, May, 2015. Abstract PDF

Scaling of Effectiveness for Inertial Reorientation
Thomas Libby, Aaron M. Johnson, and Robert J. Full
Society for Integrative and Comparative Biology Annual Meeting, January, 2015.

Planar Hopping with a Leg and a Tail
Avik De, Aaron M. Johnson and D. E. Koditschek
Dynamic Walking, June, 2014. Abstract Poster

Tail Assisted Dynamic Self Righting
Aaron M. Johnson, Thomas Libby, Evan Chang-Siu, Masayoshi Tomizuka, Robert J. Full and D. E. Koditschek
Proceedings of the International Conference on Climbing and Walking Robots, July, 2012. Full PDF

A Maxon Motor
Internal parts of a Maxon EC-45 Flat motor.

Motor Sizing

Selecting a motor for a legged robot presents challenges not seen in other domains. A legged robot by its very nature requires its actuators to actuate both quickly and move large torques. We have taken time to investigate a more methodical way of selecting and analyzing actuators.

Task Specification

For our analysis we require an abstract description of requirements in the form of a "Task Specification". Trajectories dynamically change with motor/gearbox choice and so simply picking a speed/torque operating point is insufficient for legged robots. A simple model is essential for analytical computations, and so something akin to templates like LLS, or SLIP will be best suited for our methods.

In addition some sort of performance metric based on this task specification will be used to evaluate candidate motors. This could be asymptotic average speed, or distance covered for a fixed number of strides, etc.

A key part of the task specification is deciding the operation mode: intermittent or continuous torque generation? We have proven (in the second paper below) that intermittent operation necessarily produces more (wasteful!) thermal energy irrespective of gearbox or motor characteristics.

Thermal Model
A standard two part thermal model of a motor.

Thermal Dynamics

We use a second order RC network as our thermal model as shown on the left. This is standard in the literature and the parameters can often be obtained from the motor manufacturers such as Maxon.

In the first paper listed below, we introduce the notion of a "Heat Coefficient", defined as,
H = Rc Rth / (Km² G² )
or the product of the coil and thermal resistance divided by the motor constant squared and the gear ratio squared. For a given motor, there will be two heat coefficients, one for the core and one for the case, and the units of each will be degrees of temperature rise per squared RMS torque. Thus for a fixed torque output, the heat coefficient will describe completely the steady state temperature rise of a given motor core or case. This, along with the thermal time constants, can provide a quick view of how hot a motor will get.

Simulation Results
Results of this method for a climbing task on a given motor
showing the thermally constrained and unconstrained optimal
gear ratios, as well as the conventional gear ratio selection.

Gearbox Elimination

It is often interesting to ask if a motor is capable of executing a given task, irrespective of gearbox. To answer this question, we have shown that it is possible to eliminate the variable G, the gear ratio, from the analysis by running an optimization over G and thus always selecting the best gearbox possible for a given task. Thus if a motor cannot accomplish a task even with the best gearbox possible, then that motor can be eliminated from consideration. In this way we can decouple the usually coupled tasks of motor and gearbox selection.

Exhaustive Simulation

Once we have a task specification with a performance metric, a good sense of the motor and thermal dynamics, and have eliminated the gear ratio as a parameter we can simply try out any candidate motors and compare them based on the performance metric. Rather than having to select the candidate motors we have instead opted to test out *every* motor in the Maxon motor catalog.

In the second publication listed below we go through the above steps for a robot climbing task, and are able to show an average of 27.7% improvement in performance over conventional motor selection methods. An example of the results from that paper is shown at right where the gearbox selection is improved from about 80:1 using conventional methods to 65:1 using this method.


X-RHex: A Highly Mobile Hexapedal Robot for Sensorimotor Tasks
Kevin C. Galloway, G. C. Haynes, B. Deniz Ilhan, Aaron M. Johnson, Ryan Knopf, Goran Lynch, Benjamin Plotnick, Mackenzie White, D. E. Koditschek
University of Pennsylvania Technical Report, 2010. Full PDF (Section 2.2)

Motor Sizing for Legged Robots Using Dynamic Task Specification
Avik De, Goran Lynch, Aaron M. Johnson and D. E. Koditschek
IEEE International Conference on Technologies for Practical Robot Applications, April 2011. Full PDF

Laboratory on Legs: An Architecture for Adjustable Morphology with Legged Robots
G. C. Haynes, Jason Pusey, Ryan Knopf, Aaron M. Johnson, and D. E. Koditschek
Proceedings of the SPIE Defense, Security, and Sensing Conference, Unmanned Systems Technology XIV (8387), April 2012. Full PDF

Tail Assisted Dynamic Self Righting
Aaron M. Johnson, Thomas Libby, Evan Chang-Siu, Masayoshi Tomizuka, Robert J. Full and D. E. Koditschek
Proceedings of the International Conference on Climbing and Walking Robots, July, 2012. Full PDF

Fault Detection Overview
The fault detection, identification, and recovery framework.


The right way to think about proprioceptive fault handling is in three parts: detection, identification, and recovery. Here the framework is instantiated for a legged robot detecting contact with its limbs.

Detection is achieved by means of a software contact event sensor with no additional sensing hardware beyond the commercial actuators’ standard shaft encoders. Recovery proceeds as necessary by means of a recently developed topological gait transition. The dynamics of the motor and leg are modeled and used to run an open loop observer. This model includes the PD control as well as gravity compensation and network time delay terms. When the leg contacts the ground, a large, clear spike in the virtual sensor is evident. The level returns to near zero in recirculation.

Contact Identification

The output of this observer is passed through an identification stage to decide if the leg state is

  • in flight (recirculation)
  • an expected disturbance, namely the ground
  • an unexpected disturbance, such as a wall or rock
  • a missing disturbance, when there is no ground contact due to a leg break or other fault

Additionally there are two transitional stages that help make identification more accurate and timely.

Behavioral Recovery

Maze Solving The robot uses the front two legs as an obstacle sensor (instead of a range finder, whiskers, laser scanner, etc). When the leg experiences an unexpected disturbance and is in the forward direction, the robot has hit a wall. When a wall is detected, the robot will back up and turn right. A more sophisticated maze solving algorithm could also be used.

Leg Break When the robot detects a missing ground contact from a leg break or other fault, it will switch to a 5 legged gait which saves the body from hitting the ground on every step.

Stair Climbing To transition from walking on the groun to climbing a staircase, the robot looks for an unexpected disturbance on the front legs and uses that to trigger the stair transition gait. The gait has two varients depending on if it is the left or right leg that reaches the stairs first. This proprioceptive stair detection is more reliable than previous error-based detections.

Terrain Identification The robot's gaits are typically tuned to a particular terrain (dirt, grass, rock, etc). When the robot uses the wrong gait it may waste power or worse, flip over. Therefore by detecting when the terrain has changed and transitioning the gait as needed the robot operation is more reliable.


Disturbance Detection, Identification, and Recovery by Gait Transition in Legged Robots
Aaron M. Johnson, G. Clark Haynes, D. E. Koditschek
Proceedings of the 2010 IEEE/RSJ Intl. Conference on Intelligent Robots and Systems, October 2010. Full PDF

Autonomous Legged Hill and Stairwell Ascent
Aaron M. Johnson, Matthew T. Hale, G. C. Haynes, and D. E. Koditschek
IEEE International Symposium on Safety, Security, and Rescue Robotics, November 2011. Full PDF

Terrain Identification for RHex-type Robots
Camilo Ordonez, Jacob Shill, Aaron M. Johnson, Jonathan Clark, and Emmanuel G. Collins
Proceedings of the SPIE Defense, Security, and Sensing Conference, Unmanned Systems Technology XV (8741), May, 2013. Full PDF