Legless locomotion for legged robots

We propose a locomotion technique for a legged robot that is high-centered, i.e., a robot stuck on a block with its legs dangling in air. By using its legs as reaction masses, the robot might be able to rock and roll on its stomach and incrementally move forward off the block, a form of legless locomotion using halteres. With locomotion of high-centered robots using body attitude oscillations as motivation, this paper focuses on studying the interplay between leg motions and body roll-pitch-yaw dynamics. We present results from simulation of two simplified models in which body motion is restricted to the roll and roll-yaw space respectively.

: The RHex experimental platform high-centered on a block.

Introduction
Legged robots offer rough terrain mobility, evident from examples of robots exploring live volcanos [1], climbing stairs [3], and negotiating inclines [12]. However, conventional legged locomotion may fail when a leg becomes stuck in a hole, when there is not enough clearance to stand, or when no leg can engage the ground (the robot is high-centered). This report presents a novel locomotion strategy for situations where conventional use of legs is not possible.
Our interest in this problem arose from experience with RHex [16]. RHex is a simple, robust, and highly mobile hexapod robot with many interesting behaviors such as running at 2 m/s, flipping backwards, etc. (see Fig. 1, http://rhex.net). Each leg has a single actuated hip joint with no joint limit, allowing it to rotate all the way around. When RHex is high-centered on a block, the legs do not touch the ground. Seeing how RHex gets stuck in challenging terrain, we proceeded to look at robot recovery, i.e., how to free RHex from stuck configurations. The only possible means of locomotion when RHex is high-centered is by using the legs as reaction masses. The robot can then wiggle its legs in such a way that body motion is produced. This report presents a preliminary study on simplified kinematic and dynamic models of robot-environment interaction which, when superimposed, may provide a strategy to free a high-centered legged robot like RHex.

Motion options for high-centered RHex
There are at least two options by which a high-centered RHex can escape from its stuck configuration. 1. A rocking motion that exploits body protrusions (see Fig. 2).

A smooth rocking motion that exploits a rolling contact between a round RHex body and the block
surface (see Fig. 3).
Option lisa rocking motion that exploits the non-smoothness of the robot body, allowing small body protrusions to act as "feet" (see Fig. 2). By a series of rolling and yawing motions, the rocking motion shifts the robot weight from one foot to another. Option 1, thus, uses multiple contacts between the robot and obstacle.
Top view Front view 9 Body protrusions act as feet  Option 2 assumes a round-bodied RHex sitting on a smooth surface (see Fig. 3). Then, interleaved roll and yaw body motions with no slip at the contact point can locomote the robot in the plane, while taking advantage of the constraints on the velocities of the two bodies in contact (nonholonomic constraints).
We prefer to study option 2 to option 1. This is because RHex's leg masses are small when compared to the body weight, and, hence, the forces generated by leg motions may be too small to lift the robot weight onto the pivot points in option 1. Also, each time the weight shifts from one foot to another, there will be impacts between the robot body and block surface. These impacts may produce slip-related motion, which is difficult to model. Thus, option 1 may not be suitable for RHex's conditions and is also difficult to model. In contrast, with a rounded body, even small torques can cause the robot's attitude to oscillate, and these oscillations can generate translation when coupled with the nonholonomic contact constraints between the robot body and block surface. Also, since all interactions of the body with the environment are smooth, there are no discontinuities to model. Thus, option 2 may be effective in locomoting a round-bodied robot on its stomach and is also easier to model than option 1. The rest of this report will focus on option 2. The challenge will be to find a set of body attitude oscillations that produce locomotion and appropriate leg motions to achieve such body motions.

RRRobot
As a preliminary test to see if a rocking motion coupled with the nonholonomic contact constraints can produce locomotion for a round-bodied robot, we built a simple prototype called RRRobot (Rocking and Rolling Robot), a hemisphere with two actuated legs that cannot reach the ground (see Fig. 4a). Thus, the two legs are used only as reaction masses, and they are more appropriately called halteres, after the dumbbells sometimes used by athletes to give impetus in leaping. The shape of RRRobot's rounded body, its interaction with the obstacle surface, and its influence on RRRobot locomotion is not the primary focus of this report, i.e., the body shape could have been, say, oval instead of spherical. The crucial point is that RRRobot is always high-centered and has similarities to a high-centered round-bodied RHex (see Fig. 4b).
The goal of building RRRobot is to find suitable leg trajectories that cause RRRobot to translate in the XYplane. Table 1 gives a sequence of interleaved body roll and yaw motions that locomotes RRRobot in the XF-plane (see Fig. 5 Table 1: A sequence of body attitude motions that translates RRRobot in the XY-plane (see Fig. 5).  Table 1).
To understand the relationship between leg motion and body roll-pitch-yaw dynamics, we tried different leg motion patterns or gaits on a teleoperated RRRobot-patterns such as moving just one leg, moving both legs in phase, and moving the legs out-of-phase. When we drove the halteres with periodic waveforms in an interleaved fashion, the resulting motion included incremental translation, some changes in yaw, and large oscillations in pitch and roll. Thus, we succeeded in getting some translation through teleoperation, but failed in controlling the pitch oscillations. We believe translation and controlled attitude oscillations may be possible using a computer-controlled RRRobot.
Our experiments with RRRobot suggest that oscillations in body attitude might be a practical way to recover from a high-centered state. With locomotion of high-centered robots using attitude oscillations as motivation, the remainder of this paper focuses on the use of halteres to control the robot body attitude. We will consider only small attitude changes and assume that RRRobot translation has no effect on the body roll-pitch-yaw dynamics. Thus, we will fix the body center for the roll-pitch-yaw dynamics analysis. After a review of related work in Section 1.3, the body of the paper will explore two simplified models, one in which the body motion is limited to yaw (Section 2) and one in which the body motion is limited to roll and yaw (Section 3). Section 4 presents a brief discussion of how attitude oscillations, when coupled with kinematic contact constraints, can lead to RRRobot translation.

Related Work
The locomotion strategy proposed here for RRRobot involves the interplay between roll-pitch-yaw dynamics and the kinematic nonholonomic constraints associated with contact. Numerous investigators have studied dynamic systems with constraints. Lewis et al. [9] discuss the constrained mechanics of the Snakeboard, a modified version of the skateboard in which the wheel directions can be controlled (see Fig. 6). The snakeboard rider locomotes by twisting his body back and forth, while simultaneously moving the wheels with the proper phase relationship. Lewis et al. present numerical simulations of snakeboard locomotion using characteristic wheel motions. In studying the RRRobot dynamics, we will use the Lagrangian method, which involves computing the Lagrangian and taking its derivatives [6]. Zenkov et al. [19] discuss the energy-momentum method for control of dynamic systems with nonholonomic constraints, such as the rattleback, the roller racer (see Fig. 7), and the rolling disk.
RRRobot's configuration space may be split up into two parts-the sphere's position and orientation with respect to a spatial coordinate frame (called the group space) and the two joint angles (called the internal configuration or the base space). Note that the sphere's position and orientation are not actuated, while the base space is actuated. Ostrowski [ 14] presents a general framework for studying systems where the robot's position and orientation can be represented as a group. Since only the base space is actuated, Ostrowski finds a connection relating the base space velocities to the group space velocities; but he presents results only for wheeled systems with constant inertias such as the snakeboard and the Hirose snake. Note that RRRobot has a spherical contact with the plane, its inertias change with configuration, and the mass matrix is coupled. Further analysis of the RRRobot system using the Ostrowski approach is required.
RRRobot locomotes by rolling its round body without slip on the planar surface. The curvatures of the two surfaces, the type of contact between the two surfaces, etc., determine the kinematic constraints and, hence, the relative motion between the two bodies [11]. Li et al. [10] discuss the motion of two rigid bodies with rolling contact. Given the geometry of the two bodies, they use Chow's theorem [5] to establish the existence of a path between any two configurations and, then, propose a kinematic algorithm for finding the path, given that one of the objects is flat. Camicia [4] provides an analysis of the nonholonomic kinematics and dynamics of the Sphericle [2], a hollow ball driven on a planar surface by an unicycle placed inside. The Sphericle and RRRobot have similar nonholonomic contact constraints with the surface they rest on. Nonholonomic constraints involve both configuration and rate variables (such as velocities), while holonomic constraints involve only configuration variables (see [13] for more details).
If we consider RRRobot to be floating in space and ignore the surface it is resting on, controlling body attitude using halteres is similar to Fernandes et al. [7], which discusses near-optimal nonholonomic motion planning for a system of coupled bodies using Lagrangian dynamics. In particular, they plan the motion for a falling cat, considering two types of joints between the upper body and the lower body: a ball and socket joint and an universal joint. Given an arbitrary starting point, the goal is to land the falling cat on its feet, subject to the nonholonomic constraint that angular momentum is conserved.
RRRobot's body attitude is not directly actuated, but its inertias change with leg position. By repetitively wiggling the legs while exploiting the differences in angular inertia, RRRobot may be able to adjust its orientation (see Section 2.3 for more details). In contrast, in the case where spinning reaction wheels are used to control satellite attitude, the inertias of the satellite system do not change with rotation of reaction wheels. Rui et al. [15] discuss nonlinear control of spacecraft attitude with reaction wheels and present a controllability analysis and motion planning approaches for maneuvers. Using small perturbation-like motions of a six degrees of freedom manipulator on board, Suzuki et al. [17] plan the orientation of a satellite approximately and create spiral motions of the satellite-manipulator system in nine dimensional space.

The Yaw model
We now study the interaction between leg motions and body dynamics. Since we consider only small oscillations in RRRobot attitude, we begin by assuming that the body center does not translate much and, thus, ignore the dynamic effects of translation.
To understand the roll-pitch-yaw dynamics, we begin by exploring a simplified version of RRRobot, Figure 6: The snakeboard. one that only yaws (see Fig. 8). The body center B is fixed, and there is no gravitational field. We place a passive pin joint at B with its axis aligned along the yaw axis, and body yaw configuration is represented by #2-Body roll and pitch are fixed at zero. Leg 1 joint angle is represented by 0i, leg 2 joint angle by 02, and there are no joint limits. The masses represented by black dots in Fig. 8 include three arranged symmetrically on the body and one at the distal end of each leg. Each body mass has value m m , and each leg mass has value mi < m m . Torques T\ and T<I can be applied at leg joints 1 and 2, and all links are rigid.

The Yaw Model mathematical details
The equations of motion for the yaw model take the form mil 2 0((f)i sin 2</>i + </ >2 sin 2</>2) + milb((p 2 sin 4>\ -^ sin </ >2 -±rajZ 2 0 2 sin20i -^mil 2 9 2 sin 202 M(q) is the Yaw Model's positive definite mass matrix, and C(q, q)q is the vector consisting of Coriolis and centrifugal terms. Row 1 of (1) implies that body yaw is not directly actuated and is influenced by leg motions only. Trivially, we infer that if the leg velocities and accelerations are zero, then the body yaw velocity and acceleration must also be zero.
Equation 1 can be rewritten as where Here, x = f . J G S 1 x S 1 x represents the state of the system, and x = € R 6 represents the rate of change of the state of the system. The matrix M~l (q) is the inverse of M(q), and M^1 (q) represents the i th column of M" 1 (q).

The Yaw Model formal analysis
We now present a theoretical analysis of the Yaw Model. In control systems literature, (2) is said to be in state-space form, and we can compute the rate of change of the state of the system, given its current state and control inputs. Note that the state of the yaw model x includes both configuration and velocity terms, and the rate of the change of the state of the system x includes the velocity and acceleration terms. The vectors g\ and g 2 are called control vector fields, corresponding to the controls T\ and r 2 , and / is called the drift vector field. The control vector field gi represents the acceleration of the robot when subject to an unit torque at leg joint i and zero torque at the other leg joint when the system is at rest (q = 0). The drift vector field / represents the motion of the robot in the absence of the torques; it consists of the Coriolis and centrifugal terms and is zero when q = 0. Note that the last three rows in (2) is the same as (1) with some terms rearranged. We can explore the yaw model, a nonlinear system that includes a drift vector field, by studying the vector fields /, g\, and g 2 and their filtration [18]. The filtration of the vector fields /, g\, and g 2 is defined as the sequence {Gi}, such that Gi = Spzm{f,g 1 N(x) is a vector that is not in the span of G2 and is perpendicular to each vector field in G2. Note that the fourth element of N(x) is never zero, implying that there is always a constraint along the yaw acceleration direction. increases as the velocity decreases (e.g., during the interval t = 0.5 to t -1.0 when leg 1 decelerates to a halt at TT/2), indicating that the yaw system is closer to dropping rank from five to four as the velocities decrease. When the system is at rest, the condition number is infinity, and Rank(G2) is 4. 4. From 3, we deduce that the tangent space of the yaw model T x is the space spanned by G2. Since

It can be shown that all the second degree Lie brackets in
Note that (4) is in Pfaffian form [ 13] and is identical to row 1 in (1). This constraint gives a relationship between the yaw velocity, yaw acceleration, the joint configurations, and their derivatives that must be satisfied.
Interestingly, since the dimension of the filtration is never greater than five, and the yaw system is embedded in a six-dimensional space, we can conclude that the yaw system has an algebraic constraint. For example, when the legs are horizontal and have zero velocity (<j>i = </ > 2 = 0), using (3), we compute ote that the only non-zero element in N(x) is along the yaw acceleration direction; we infer that yaw velocity is fixed when the legs are horizontal.

Changing body yaw using leg motions
In this section, we develop an intuitive physical understanding of how the body yaws when the legs are moved. In the next section, we will use this insight to create body roll-yaw motions in a simplified version of RRRobot that is constrained to only roll and yaw.
The yaw model is so simple that we can understand its motion using the law of conservation of angular momentum. Suppose the system is at rest at t = 0, and the yaw angular momentum of the system about the body center is zero. We keep leg 2 fixed and apply a torque to leg 1 to move it from (f>\ = 0 (horizontal position) to <j>\ = IT/2 (vertical position) so that the leg mass possesses negative yaw angular momentum about the body center (positive yaw angular momentum direction is vertical and upwards) . Since angular momentum must be conserved in the absence of externally applied moments about the yaw axis, the body starts yawing in a positive sense. Now, suppose the leg is decelerated while it approaches the vertical configuration by applying a torque at the joint. Then, the magnitude of the leg's yaw angular momentum about the body center decreases. Again, since angular momentum is conserved, the body yaw velocity also decreases, and the body comes to a halt when the leg stops in the vertical configuration. Thus, we understand how the body moves when one leg is moved, while the other leg is stationary. But this leg motion does not produce net body yaw; when the leg is moved back to original position, the body also returns to its original position.
We will now explore an important property of the yaw model that will help us produce net body yaw: the yaw inertia of the yaw model changes with leg configuration. For example, the yaw inertia is maximum when the legs are horizontal and is minimum when the legs are vertical. Since yaw inertia influences yaw motion, leg configuration affects yaw motion. Suppose the body yaw is e\ when leg 1 is kept fixed in the horizontal position and leg 2 is moved from a horizontal to vertical position. Similarly, let the body yaw be 62 when leg 1 is kept fixed in the vertical position and leg 2 is moved from a horizontal to vertical position. The magnitude of e\ will be lesser than 62, since the yaw inertia of the system is greater when leg 1 is horizontal. This dependence of yaw inertia on the leg configuration may be exploited while designing leg motions or gaits to modify yaw configuration. Net change in yaw 2(e\ -62) Table 2: Incremental motion of the yaw model.
A simple strategy to achieve net yaw is to use interleaved leg motions. We will move each leg back and forth between extremes of 0 and ?r/2 rad. Each leg will dwell at the extreme for one second, and will take one second to transition between angles following a cubic spline, achieved using a simple proportionalderivative controller. The result is a smoothed square wave, with the two legs TT/2 rad out-of-phase (see Fig. 10).
This Lie bracket-inspired out-of-phase smoothed square wave trajectory produces net yaw, as shown in Table 2. This result can be easily confirmed by studying the table and thinking about the angular inertia of the system. Now, suppose the magnitude of body yaw change is ei during the interval t -0 to t = 1 and is €2 during the interval t = 1 to t = 2. The net yaw during the two motion segments is different, because the angular inertia varies depending on whether the leg is stretched out or tucked in, and this difference produces net yaw at the end of the motion sequence. We get maximal yaw motion when the legs move between configurations of minimal and maximal yaw inertias. Since the legs come to rest after each motion, the kinetic energy of the system after each motion segment is zero. Also, we get reversed yaw motion if leg 2 is moved before leg 1.

The Roll-Yaw model details
The roll-yaw model (see Fig. 11) treated in this section is the same as the yaw model except for the additional roll freedom. Configuration is now given by q = {61,62, </>i, <fe) T € M 4 , where 6\ and 62 represent the roll and the yaw of the system. We constrain the body by placing an universal joint at B with axes aligned along the roll and yaw directions. The body pitch configuration is constrained to be zero, and we will assume small roll and yaw motions. The mass matrix of the system is M(q) G R 4x4 and the vector containing velocityrelated terms is C(q,q)q € M 4 . Note that we can follow a similar analysis to that used in Section 2.3 to conclude that the robot can locally adjust 61,62, <t>\, and 02-In all simulations of the roll-yaw model, the robot starts from rest. To approximate RHex's specifications, we set ntm -3 kg, mi = 0.2 kg, I = 0.1 m, and b = 0.2 m. We approximate the universal joint at B by using two passive single degree-of-freedom joints: one along the roll axis, and the other along the yaw axis. Since all attitude motions are small, this approximation is valid. Note that the roll inertia /R(</>I, (fe) is minimal when the legs are stretched out and maximal when the legs are tucked in; this is opposite for the yaw inertia /y(</>i, 02) (see Fig. 12).

Roll-Yaw model simulations
We present three patterns of leg motions or gaits that produce roll-yaw motions. Gaits 1 and 2 are interleaved leg motions similar to those shown in Fig. 10, and Gait 3 uses sinusoidal leg trajectories.

Gait 1
In Gait 1, the legs move between angles of 0 and TT/4 rad (see Fig. 13), and this produces predominantly positive yaw motion (see Fig. 14a). Note that the kinetic energy of the system at the end of each gait cycle is zero. If the order of leg motions is swapped, we get roll-yaw motion along the opposite direction; call this variation Gait 1' (see Fig. 14b).

Gait 2
In Gait 2, the legs move between angles of TT/2 and n rad (see Fig. 15), and this produces positive roll and negative yaw motion (see Fig. 16a). Call the variation obtained by swapping start and extreme positions Gait 2' (see Fig. 16b).
In the absence of gravity, we can incrementally build up RRRobot's roll and yaw using many cycles of Gaits 1,2, 1', and 2'. We can interleave these gaits to create RRRobot body attitude motions similar to the oscillations in Fig. 5, which cause RRRobot to translate in the XF-plane. (Although some leg motion is required to paste the gaits together, the net effect on roll and yaw is zero.)

Gait 3
Interleaving Gaits 1, 2, 1', and 2' produces roll-yaw oscillations in the roll-yaw model by incrementally building up large roll or yaw angles. But this is not practical for RHex or RRRobot, because, after each leg motion, the body would come to rest. It is impossible to maintain a fixed roll configuration in the presence of gravity, since the body would rock back to its equilibrium configuration. A more practical approach would be to use small continuous oscillations in roll and yaw. Table 3 shows the parameters of Gait 3's sinusoidal leg trajectories of the form asin(ut + /?) + 7. Note that the amplitude and frequency of oscillations is the same for both legs, but the legs are TT/2 out-of-phase with each other. The 'home' position for leg 1 is the horizontal position, while the 'home' for leg 2 is the vertical position. An envelope function ensures continuity in (0i,02) space, and the joint angles follow sinusoidal paths after ramping from zero velocity in 1 sec. To eliminate any drift in roll and yaw due to initial transients, we add damping of the form -k{di, (i = l,2;fc* G R > 0) to the roll and yaw axis equations. Under Gait 3, the body settles down into a steady rocking pattern after the initial transient phase (see Fig. 17). This motion is similar to the roll-yaw attitude oscillations that produce RRRobot translation (see Fig. 5 and Section 1.2).

Discussion
Suppose RRRobot's pitch configuration changes are negligible compared to roll-yaw changes. Then, RRRobot on a block is similar to a unicycle on a plane, with yaw corresponding to the unicycle direction and body roll corresponding to the unicycle forward motion. We can approximately compute RRRobot XY-plane translation kinematically using: AX = I v sin 0 2 dt, where v -W\ is the body center velocity. We hypothesize that roll-yaw attitude oscillations produced using Gait 3 (see Section 3), when coupled with the nonholonomic contact constraints, will produce translation as in Fig. 5. More experiments are necessary to verify this on RRRobot and RHex. If true, eighty cycles of Gait 3 will produce a few millimeters of translation after about 100 sees (measured using (5)). Note that there is still some drift in the yaw direction under Gait 3. This may mean that RRRobot does not travel along a straight line, but along curved paths. Further analysis is required to control the direction of translation.

Conclusion
We have presented a set of models which, when superimposed under suitable conditions, may produce locomotion for high-centered round-bodied legged robots. Using a high-centered RHex as motivation, we studied simplified dynamic models of a prototype, RRRobot, to create body attitude oscillations using leg motions. Then, we hypothesized that these attitude oscillations under slip-free contact constraints may result in locomotion. More experiments are necessary to verify this on RRRobot and RHex. We also presented simple thought experiments and control theory analysis to understand motion in the analytical models. Although we have given just a few patterns of leg motions or gaits for creating attitude oscillations, we believe that more optimized body motion through automatic gait generation is possible. Interesting future work could include analyzing how the shape and properties of the robot body affect this locomotion technique. Also, we have discussed using just two legs to change body attitude; using all six legs of RHex may produce richer body motion.