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 model with key coordinate frames.
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 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.
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
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.
Fig. 7. Two pushing examples.
Top: Exponential divergence Ee = 11.14,
NG = 5% of rollouts reaching the goal.
Bottom: Ee = 1.84, NG = 100%.
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.
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.
Many possible tasks with tails and flails.
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.
A tail mounted on XRL.
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:
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.
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.
A standard two part thermal model of a motor.
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.
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.
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.
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.
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.
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.
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.