10
1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are a primary challenge for mobile robots navigating indoor, human environments. Stair climbing is a useful, if not necessary, capability for mobile robots in urban search & rescue, security, cleaning, telepresence, elder care, and other applications. Existing stair climbing robots are large, expensive, and not always reliable, especially when descending stairs. In this paper, we present a novel approach for stair climbing that is achievable by a small mobile robot with minimal actuators and sensors, and thus cost. The proposed robot has articulated tread assemblies on either side of a chassis. Using feedback control, the robot can balance on the edge of a single step. As the robot drives up the step, the chassis pivots to maintain the center of mass directly above the contact point. The dynamics of the system are derived with the Lagrangian method and a discrete-time integral controller with friction compensation is designed to stabilize a stair climbing trajectory. The algorithms used to estimate the state of the system with low-cost, noisy, internal sensors are explained in detail. No external motion capture system is used. Simulation results are compared to successful experimental results. Index Terms—Robot dynamics, motion control, control systems I. I NTRODUCTION I n order for robots to be accepted and useful in indoor, human environments, they must be able to locomote unas- sisted. Three primary locomotion challenges, beyond station- ary and moving obstacle avoidance, are stairs, doors, and thresholds (a degenerate case of stairs). In this paper, we focus on the stair climbing problem. A number of existing robots are capable of stair climbing, which can generally be classified into a few categories. These include humanoids, such as those featured in the DARPA Robotics Challenge [1] [2] [3]. Despite recent advances prompted by the challenge, it is not necessary, and indeed it is complex and costly, to locomote in a human manner in a human environment. Alternative form factors and control strategies can be simpler, cheaper, and faster. Traditional treaded vehicles [4] [5] that are long enough to span multiple step edges can climb stairs in a straightforward manner. Additional, articulated tread segments can aid in agility, particularly on the first and last steps. Another class of stair climbing robots utilize hybrid wheel-leg, or wheg, systems. This includes the popular RHex hexapod [6] and a number of robots with alternate wheg designs [7] [8] [9]. A unique design utilizes deformable wheels which can transform into treads to fit into tight places as well as pivot like whegs to overcome steps, but the prototype presented is still limited to small stairs [15]. Other robots employ a dedicated mechanism for stair climbing, such as hopping [10] [11] or a system This paper was presented in part at the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011. Both authors are affiliated with the Coordinated Robotics Lab, University of California San Diego, La Jolla, CA 92093-0411 USA; e-mail: [email protected] (corresponding author), [email protected] Fig. 1: Switchblade robot perching on the edge of a step. for raising and lowering the robot in two or more segments. While these methods can be effective at climbing stairs, the weight and size of the dedicated stair climbing components detract from the robot’s performance on flat ground and adds to cost. There has been recent research into stair climbing robots with mobile inverted pendulum dynamics [13] [14], but both are wheeled systems with wheel radii greater than the step height. Another wheeled inverted pendulum robot is smaller and uses a novel mechanism to climb its own central post, but requires space on each step to reposition itself and is slow [12]. A number of stair climbing robots are not capable of climbing standard stairs, that is, they can only climb stairs with an unrealistically low pitch angle, and/or rise. Some of the vehicles would be difficult, costly, and inefficient to scale to the size of standard stairs. The proposed method of stair climbing via successive perching combines dynamic inverted pendulum balancing with the mechanical simplicity of a treaded design. The robot approaches the first step balanced on the far end of the tread assemblies with the chassis angled back to keep the center of mass above the contact point with the ground. Once the tread assemblies make contact with the first step edge, the chassis pivots forwards, shifting the center of mass directly above the step edge. The robot then drives up the step edge, pivoting the chassis appropriately to maintain the center of mass above the contact point and balancing dynamically (Fig. 1). At the top of the step, the robot transitions to balancing on the top face of the step and can then climb successive stairs similarly.

Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

  • Upload
    ngocong

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

1

Stair Climbing via Successive PerchingNicholas Morozovsky, Thomas Bewley

Abstract—Stairs are a primary challenge for mobile robotsnavigating indoor, human environments. Stair climbing is auseful, if not necessary, capability for mobile robots in urbansearch & rescue, security, cleaning, telepresence, elder care,and other applications. Existing stair climbing robots are large,expensive, and not always reliable, especially when descendingstairs. In this paper, we present a novel approach for stairclimbing that is achievable by a small mobile robot with minimalactuators and sensors, and thus cost. The proposed robot hasarticulated tread assemblies on either side of a chassis. Usingfeedback control, the robot can balance on the edge of a singlestep. As the robot drives up the step, the chassis pivots to maintainthe center of mass directly above the contact point. The dynamicsof the system are derived with the Lagrangian method and adiscrete-time integral controller with friction compensation isdesigned to stabilize a stair climbing trajectory. The algorithmsused to estimate the state of the system with low-cost, noisy,internal sensors are explained in detail. No external motioncapture system is used. Simulation results are compared tosuccessful experimental results.

Index Terms—Robot dynamics, motion control, control systems

I. INTRODUCTION

I n order for robots to be accepted and useful in indoor,human environments, they must be able to locomote unas-

sisted. Three primary locomotion challenges, beyond station-ary and moving obstacle avoidance, are stairs, doors, andthresholds (a degenerate case of stairs). In this paper, we focuson the stair climbing problem. A number of existing robots arecapable of stair climbing, which can generally be classifiedinto a few categories. These include humanoids, such as thosefeatured in the DARPA Robotics Challenge [1] [2] [3]. Despiterecent advances prompted by the challenge, it is not necessary,and indeed it is complex and costly, to locomote in a humanmanner in a human environment. Alternative form factorsand control strategies can be simpler, cheaper, and faster.Traditional treaded vehicles [4] [5] that are long enough tospan multiple step edges can climb stairs in a straightforwardmanner. Additional, articulated tread segments can aid inagility, particularly on the first and last steps. Another classof stair climbing robots utilize hybrid wheel-leg, or wheg,systems. This includes the popular RHex hexapod [6] and anumber of robots with alternate wheg designs [7] [8] [9]. Aunique design utilizes deformable wheels which can transforminto treads to fit into tight places as well as pivot like whegs toovercome steps, but the prototype presented is still limited tosmall stairs [15]. Other robots employ a dedicated mechanismfor stair climbing, such as hopping [10] [11] or a system

This paper was presented in part at the IEEE/RSJ International Conferenceon Intelligent Robots and Systems, 2011. Both authors are affiliated withthe Coordinated Robotics Lab, University of California San Diego, La Jolla,CA 92093-0411 USA; e-mail: [email protected] (corresponding author),[email protected]

Fig. 1: Switchblade robot perching on the edge of a step.

for raising and lowering the robot in two or more segments.While these methods can be effective at climbing stairs, theweight and size of the dedicated stair climbing componentsdetract from the robot’s performance on flat ground and addsto cost. There has been recent research into stair climbingrobots with mobile inverted pendulum dynamics [13] [14],but both are wheeled systems with wheel radii greater thanthe step height. Another wheeled inverted pendulum robot issmaller and uses a novel mechanism to climb its own centralpost, but requires space on each step to reposition itself and isslow [12]. A number of stair climbing robots are not capableof climbing standard stairs, that is, they can only climb stairswith an unrealistically low pitch angle, and/or rise. Some ofthe vehicles would be difficult, costly, and inefficient to scaleto the size of standard stairs.

The proposed method of stair climbing via successiveperching combines dynamic inverted pendulum balancing withthe mechanical simplicity of a treaded design. The robotapproaches the first step balanced on the far end of the treadassemblies with the chassis angled back to keep the center ofmass above the contact point with the ground. Once the treadassemblies make contact with the first step edge, the chassispivots forwards, shifting the center of mass directly above thestep edge. The robot then drives up the step edge, pivotingthe chassis appropriately to maintain the center of mass abovethe contact point and balancing dynamically (Fig. 1). At thetop of the step, the robot transitions to balancing on the topface of the step and can then climb successive stairs similarly.

Page 2: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

2

See the included video for an animation of the stair climbingsequence. This maneuver is compatible with a wide range ofstep dimensions. This paradigm requires only that the lengthof the tread, not the sprocket radius, be greater than the riseof the step. Further, the length of the tread does not need tospan multiple step edges, as in other treaded stair climbingrobots. The smaller required size of the robot decreases costas well as increases maneuverability in tight spaces, such asin a partially collapsed building. No additional or dedicatedsensors or actuators are required for stair climbing, and noexternal feedback system, such as a vision system, is requiredor used.

The (patent-pending) robot, Switchblade, used to test thismethod of stair climbing has been developed at the Universityof California, San Diego Coordinated Robotics Lab [16]. Asin a traditional treaded vehicle, Switchblade has a pair of treadassemblies, driven by an internal sprocket, mounted on eitherside of a central chassis. Uniquely, the tread assemblies canrotate continuously about the main drive axle of the chassis.Changing the angle between the chassis and tread assembliesmoves the center of mass. There are no physical connectionsbetween the left and right tread assemblies to keep themparallel, but feedback control may be applied when it is desiredto keep the two tread assemblies in line.

In a horizontal configuration the robot functions muchlike any other treaded skid-steer robot, with the ability toindependently drive each tread forward or backward to driveand turn. The treads act to minimize contact force on loosesurfaces and maintain traction better than wheels. Note that theactuated tread assemblies make the robot impervious to high-centering. Note also that the robot operates just as effectively“upside down” as “right side up.”

We have previously described a rudimentary stair climbingmaneuver that can be performed with the same vehicle.Climbing successive stairs required each step to have sufficientrun for the robot to be able to to turn around or flip itself. Thismethod is still effective for thresholds such as street curbs. Themaneuver presented in this paper, dubbed successive perching,does not have this limitation on step geometry. An overviewof the maneuvers the vehicle is capable of is shown in theincluded video. This vehicle design has been recognized forscoring well in both versatility and mechanical complexitymetrics [17].

In the following sections, we will present the nonlineardynamics of the perching problem and then describe the con-troller we use to stabilize a stair climbing trajectory. We nextdiscuss the physical prototype robot used in the experimentsand the estimation technique. We close with an analysis ofexperimental results and a discussion of future work.

II. DYNAMICS

In order to create a simulation and design a controller, wefirst derive the dynamics of the system using the Lagrangianmethod. By symmetry, we simplify the model to three bodiesin two dimensions, the generalized coordinates are defined inFig. 2, θ and α are the angles of the chassis and unified rightand left tread assemblies from vertical respectively, φ is the

θ

α ϕLT

LC

r

mT

mC

w

mS

XYρ

Fig. 2: Generalized coordinates and key dimensions.

rotation angle of the unified right and left tread sprockets fromvertical, and w is the distance between the tread sprocketand the contact point on the step edge measured along thetread. The radius of curvature of the step edge is ρ; a sharpedge is modeled by setting ρ = 0. The inertial frame XY isfixed at the center of the curved edge. Motors on the robotexert torques between the tread sprocket and the chassis andbetween the chassis and the tread assembly.

The kinetic energies of the unified sprockets, unified treadassemblies, chassis, unified sprocket motors, and unified treadassembly motors are given, respectively, by

TS =1

2{mS [(w cosα− α(r cosα+ ρ cosα+ w sinα))2

+ (w sinα− α(r sinα− w cosα+ ρ sinα))2] + JSφ2},

TT =1

2{mT [(α(r cosα− LT sinα+ ρ cosα+ w sinα)

− w cosα)2 + (α(LT cosα+ r sinα− w cosα

+ ρ sinα)− w sinα)2] + JT α2},

TC =1

2{mC((w cosα− α(r cosα+ ρ cosα+ w sinα)

+ LC θ sin θ)2 + (α(r sinα− w cosα+ ρ sinα)

− w sinα+ LC θ cos θ)2) + JC θ2},

TSM =1

2

[JSM (φ− θ)2

], TTM =

1

2

[JTM (α− θ)2

],

where mS and JS are the mass and rotational inertia respec-tively of the combined right and left tread sprockets, mT

and JT are the mass and rotational inertia respectively of thecombined right and left tread assemblies, LT is the distancebetween the center of mass of the tread assemblies and theaxis of rotation with the chassis, mC and JC are the mass androtational inertia of the chassis, and LC is the distance betweenthe center of mass of the chassis and the axis of rotation withthe tread assemblies. TSM and TTM are the kinetic energiesof the combined right and left sprocket and tread assembly

Page 3: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

3

motors respectively. The energy is only nonzero when there isrelative rotation between either the sprockets and the chassisor the tread assemblies and the chassis. The motor coils donot rotate (and therefore do not have rotational kinetic energywhen there is no relative rotation. The kinetic energy of themass of the motors is accounted for in the kinetic energyof the chassis. JSM and JTM are the effective rotationalinertias of the combined right and left sprocket and treadassembly motor coils respectively. Motor coil rotational inertiais nominally small, but when a gear reduction is used, theinertia is effectively multiplied by the square of the gear ratiobecause it’s rotating at a much higher velocity and the inertiacan become significant. The gravitational potential energy isgiven by

V = g[mS(r sinα− w cosα+ ρ sinα)

+mT (LT cosα+ r sinα− w cosα+ ρ sinα)

+mC(LC cos θ + r sinα− w cosα+ ρ sinα)].

We define the generalized coordinates as

q =(w φ α θ

)T.

The Lagrangian can be written as L = TS+TT +TC+TSM +TTM − V . By solving the Euler-Lagrange equations, we canwrite the equations of motion in the form

M(q)q + F (q, q) = Bτ +δP (q)

δq, (1)

The (positive definite) mass matrix, M(q), is given by:

M1,1(q) =m, M1,2(q) = 0,

M1,3(q) =− (r + ρ)m, M1,4(q) = −LCmC sin(α− θ),M2,2(q) =JS + JSM , M2,3(q) = 0,

M2,4(q) =− JSM ,M3,3(q) =JT + JTM +mTLT (LT − 2w)

+m[(r + ρ)2 + w2],

M3,4(q) =LCmC [(r + ρ) sin(α− θ)− w cos(α− θ)]− JTM ,

M4,4(q) =mCL2C + JC + JSM + JTM ,

where m = mS +mT +mC . The vector F (q, q) is given by:

F1(q, q) =mTLT α2 −mwα2 −mg cosα

+mCLC θ2 cos(α− θ),

F2(q, q) =0,

F3(q, q) =2αmww +mg(r + ρ) cosα

+ g(mw −mTLT ) sinα− 2LT αmT w

−mCLC θ2[(r + ρ) cos(α− θ) + w sin(α− θ)],

F4(q, q) =LCmC [(r + ρ)α2 cos(α− θ)− 2αw cos(α− θ) + α2w sin(α− θ)− g sin θ],

The right hand side of (1) is the sum of the generalizedforces of the system. The power dissipation function P (q)[18] accounts for the Coulomb friction of the treads rubbing

against the tread assemblies and the Coulomb friction betweenthe chassis and tread assemblies

P (q) = −µkmgrsinα

(φ− α)− cT (α− θ), (2)

where µk is the coefficient of kinetic friction between thetreads and tread assemblies and mg/ sinα is the normal forceacting on the treads from the step edge at equilibrium. Thecoefficient cT is a constant defined by the physical parametersof the system (mass, length, coefficient of kinetic frictionbetween the chassis and tread assemblies, and gravitationalacceleration). The contribution to the generalized forces canbe determined from Fq = δP (q)/δq, where the signumfunction is appended to capture the direction-dependent natureof Coulomb friction

δP (q)

δq=

0

−µkmgrsinα · sgn(φ− α)

µkmgrsinα · sgn(φ− α)− cT · sgn(α− θ)

cT · sgn(α− θ)

. (3)

Alternatively, a smooth model, such as used in [19], could beused to model the friction. The matrix B in (1) maps τ , thecontrol input torque vector for the motors in the chassis, tothe generalized coordinates:

B =

0 0−1 00 −11 1

. (4)

The first element of τ represents the motor torque betweenthe chassis and the tread sprockets and the second elementrepresents the motor torque between the chassis and thetread assemblies. The motors are electrically connected toexert a positive torque on the chassis and equal and oppositereaction torques on the sprockets and tread assemblies whena positive voltage is applied, thus the paired positive andnegative elements in (4) above. We model the torque outputτκ from each motor linearly as

τκ = σκuκ − ζκωκ, σκ =γκkκV

Rκ, ζκ =

(γκkκ)2

Rκ, (5)

where σκ is the stall torque, uκ is the control input (limitedto [−1, 1]), ζκ is the back EMF damping coefficient of themotor, ωκ is the speed of the motor shaft relative to the motorbody, kκ is the motor constant, γκ is the gear ratio of thetransmission, V is the nominal battery voltage, and Rκ is theterminal resistance [20]. Substituting the motor model (5), wecan rewrite (1):

M(q)q + F (q, q) = B[Σu− Z(q)] +δP (q)

δq, (6)

Σ =

[σS 00 σT

], Z(q) =

(ζS(θ − φ)

ζT (θ − α)

).

We next impose a no-slip constraint between the tread sprocketand the step edge, which will be shown also achieves acoordinate reduction, via

w + r(φ− α) + ρ(π/2− α) = 0. (7)

Page 4: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

4

In two dimensions, this is a holonomic constraint which wecan differentiate with respect to time to write in the form

A1q = 0, A1 =(

1 r −(r + ρ) 0).

Alternately, we could explicitly solve (7) for w and replace win all expressions, but this greatly expands the form of M(q)and F (q, q) and we lose the intuitive insight into which termsare dependent directly on the tread displacement and velocity.Also, it will be shown that by treating the no-slip constraintin this manner, we can apply it simultaneously with the non-holonomic constraints.

We can write additional, non-holonomic constraints depend-ing on whether the treads are in stiction with (not movingrelative to) the tread assemblies (φ = α)

A2q = 0, A2 =(

0 1 −1 0),

or the tread assemblies are in stiction with the chassis (α = θ)

A3q = 0, A3 =(

0 0 1 −1).

These three constraints can be combined by stacking the rowvectors to form a constraint matrix Aβ . In this system, Aβ isnot dependent on q. We append (6) with the inner product ofthe constraint matrix Aβ with λβ , the Lagrange multiplier:

M(q)q + F (q, q) = B[Σu− Z(q)] +δP (q)

δq+ATβ λβ . (8)

We assume that the no-slip constraint always holds, but areinterested in the different combinations of tread/tread assem-bly and chassis/tread assembly stiction. This results in fourpossible constraint matrices• No-slip only, ANS = A1

• No-slip with treads in stiction, AT = [A1;A2]• No-slip with chassis in stiction, AC = [A1;A3]• No-slip with treads and chassis in stiction, ATC =

[A1;A2;A3]

We can find orthonormal bases Sβ for the null spaces of Aβ

SNS =

−r/√r2 + 1 (r + ρ)/

√(r + ρ)2 + 1 0

1/√r2 + 1 0 0

0 1/√

(r + ρ)2 + 1 00 0 1

,

(9)

ST =

ρ/√ρ2 + 2 0

1/√ρ2 + 2 0

1/√ρ2 + 2 00 1

,

SC =

−r/√r2 + 1 (r + ρ)/

√(r + ρ)2 + 2

1/√r2 + 1 0

0 1/√

(r + ρ)2 + 2

0 1/√

(r + ρ)2 + 2

,

STC =

ρ/√ρ2 + 3

1/√ρ2 + 3

1/√ρ2 + 3

1/√ρ2 + 3

.

Given that q is in this space, we define νβ and νβ accordingly

q = Sβνβ , q = Sβ νβ (10)

since Sβ are constant-valued matrices. Premultiplying by STβand using (10), we can rewrite (8) as

STβM(q)Sβ νβ + STβ F (q, q) = STβ B[Σu−Z(q)] + STβδP (q)

δq.

Solving for the acceleration terms νβ ,

νβ = [STβM(q)Sβ ]−1STβ {B[Σu−Z(q)] +δP (q)

δq−F (q, q)}.

(11)Premultiplying by Sβ and using (10)

q = Sβ [STβM(q)Sβ ]−1STβ {B[Σu−Z(q)]+δP (q)

δq−F (q, q)},

(12)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate Sβ as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (Sβ = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (STTCB = 01×2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (Sβ = SNS). Noting that thedynamics of w are directly coupled to φ and α by (7), we canchoose a reduced coordinate set qr =

(φ α θ

)Tsuch

that qr = S′NSνNS where S′NS is the bottom three rows of(9). Similarly, qr = S′NS νNS .

Concatenating qr and qr yields a complete state vector x.Rewriting (11) and premultiplying by S′NS to recover qr fromνNS , we see that this nonlinear system is affine in the inputs:

x =

(qrqr

), x = f(x) + Γ(x)u,

f(x) =

(qr

S′NS [STNSM(q)SNS ]−1STNS [ δP (q)δq −BZ(q)− F (q, q)]

)

Γ(x) =

[03×2

S′NS [STNSM(q)SNS ]−1STNSBΣ

].

A. Equilibrium Conditions

We seek to find equations to describe the static equilibriummanifold of the system, that is, we seek to find expressionsfor x∗ and u∗ such that x = f(x∗) + Γ(x∗)u∗ = 06×1 givenqr = 03×1.

Given that STNSM(q)SNS is positive definite, we can solvethe matrix expression

STNS{B[Σu− Z(q)] +δP (q)

δq− F (q, q)} = 03×1 (13)

Page 5: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

5

a𝜅

uFψ

ũψ

-a𝜅

b𝜅

-b𝜅

Fig. 3: Friction compensator uFψ as a function of uψ .

from (11) and simplify by setting qr = 03×1 to get threeequations

−(σSu∗1 +mgr cosα∗)/

√r2 + 1 = 0,

−[σTu∗2 + g(mw∗ −mTLT ) sinα∗]/

√(r + ρ)2 + 1 = 0,

σSu∗1 + σTu

∗2 +mCLCg sin θ∗ = 0. (14)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u∗1 and u∗2 in terms of φ∗

and α∗, where w∗ = f(φ∗, α∗) (7)

u∗1 = −mgr cosα∗/σS , (15)u∗2 = g(mTLT −mw∗) sinα∗/σT . (16)

The expression for u∗1 is equivalent to the torque required tohold position at an inclination of α∗. The expression for u∗2is the torque required to hold up the weight of the chassisfrom the tread assemblies. We also see that there is a uniquesolution for θ∗ as a function of φ∗ and α∗, combining (14),(15), and (16)

θ∗ = arcsin

(mr cosα∗ − (mTLT −mw∗) sinα∗

mCLC

). (17)

The equilibrium values φ∗, α∗, and θ∗ correspond to a posein which the overall center of mass is directly above the stepedge. This can be confirmed by a static analysis of the system.

We define x = x− x∗ and u = u− u∗ such that

˙x = f(x+ x∗) + Γ(x+ x∗)(u+ u∗). (18)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uFto the controller [21]. The linearizable plant dynamics are

fl(x) =

(qr

−S′NS [STNSM(q)S]−1STNS [BZ(q) + F (q, q)]

).

(19)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing the

equilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

(− µkmgrσS sinα · sgn(φ− α)

−(cT /σT ) · sgn(α− θ)

).

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of uψ instead of the relativevelocity. We also desire a function that is simple to implementon an embedded controller, see section IV-B. We come to afriction compensator with the form

uF =

(min(max(u1aS/bS , −aS), aS)/ sinα

min(max(u2aT /bT , −aT ), aT )

)(20)

which is illustrated in Fig. 3 and where aS ≤ µkmgr/σS ,aT ≤ cT /σT , and aκ, bκ can be tuned empirically on thephysical system. The effect of the friction compensator canbe seen in section IV-D.

C. Linearization and Integral Control

We linearize the system at the origin of the transformedsystem (18) using the linearizable plant dynamics (19)

˙x = Ax+ B(u+ u∗),

A =δfl(x+ x∗)

δx

∣∣∣x=0

, B = Γ(x+ x∗)∣∣∣x=0

.

By construction, the top half of A will have the form[03×3 I3×3] and the top half of B is zeros because the systeminputs affect the accelerations, not the velocities. In order toincrease the robustness of the system to disturbances such asparameter and sensor error, we augment the state vector x withthe integrated regulation error ξ [22], defined by

ξ =

((φ− α)− (φ∗ − α∗)(α− θ)− (α∗ − θ∗)

),

noting that (φ−α) is approximately w, the tread displacement,when r � ρ and (α− θ) is the separation angle between thechassis and the tread assemblies. Thus the integrated regulationerror will increase when the state is not at the desired treaddisplacement or chassis separation angle. We further define

x =

(xξ

), C =

(1 −1 0 0 0 00 1 −1 0 0 0

),

and the system can now be written

˙x = Ax+ B(u+ u∗), (21)

A =

[A 06×2C 02×2

], B =

[B

02×2

].

Page 6: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

6

D. Linear Quadratic Regulator

A state feedback gain matrix can be found using the linearquadratic regulator (LQR) method. The weighting matricesare determined by Bryson’s method [23]. For the horizontalequilibrium where α∗ = θ∗ = π/2

QC = diag

(1

(k)21

(k)21

(k)21

(π)21

(l)21

(l)21

(4/5)21

(7/5)2

),

RC = diag

(1

(2/5)21

(1/4)2

), NC = 07×2,

where k = 1/8 and l = 7/2.

E. Discretization

Since the control will be implemented with digital electron-ics, we must discretize the system; we choose a sample timeof h = 0.01s. We convert our continuous-time system from(21) using the matrix exponential

xk+1 = Fxk +G(uk + u∗),

F = Φ(h), Φ(τ) = eAτ ,

G = Θ(h), Θ(τ) =

∫ τ

0

eAηBdη.

The continuous time weighting matrices are also transformed(given that NC = 0):

QD =

∫ h

0

ΦT (τ)QCΦ(τ)dτ,

RD =

∫ h

0

ΘT (τ)QCΘ(τ) +RCdτ,

ND =

∫ h

0

ΦT (τ)QCΘ(τ)dτ.

A discrete state feedback matrix K is found using the discrete-time LQR method u = Kx. The final control law is of theform u = Kx + u∗ + uF . As noted, the motor model (5) isvalid for a bounded control input ∈ [−1, 1], so each elementof u is saturated at unity magnitude.

F. Trajectory Generation and Gain Scheduling

To drive up a step edge, we plan a trajectory along the staticequilibrium manifold such that every point in the trajectorysatisfies the equilibrium conditions (13). The overall center ofmass is continuously maintained directly above the step edge.This approach has the added benefit that the trajectory cansimply be reversed to descend a step edge, while maintainingequilibrium. We vary w ∗ from zero to the length of thetread assembly and choose the tread inclination angle α∗ tobe constant, from which we can compute a range of valuesfor φ∗ ∈ [φS , φF ] (7) which correspond to the start and finaltread displacement positions. The value of θ∗ is given by (17).

The dynamics (19) change considerably across this rangeas the angle of the chassis, θ∗, and thus height of center ofmass, changes, so we choose nG = 5 values of φ∗ evenlydistributed ∈ [φS , φF ], use our constant α∗, solve for θ∗, andfind a discrete-time state feedback matrix K at each equilib-rium point. The weighting matrices QC and RC are adjusted

(a) (b) (c)

(d) (e)

Fig. 4: Stair climbing trajectory with centers of mass of chassisand tread assemblies as squares, and overall center of mass asa circle.

Estimator

ReferenceGeneration

Gain Scheduler

FeedforwardControl

Friction Compensator

+ -+

+

+ +

4

ST =

2664

⇢/p

⇢2 + 2 0

1/p

⇢2 + 2 0

1/p

⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

4

ST =

2664

⇢/p

⇢2 + 2 0

1/p

⇢2 + 2 0

1/p

⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

4

ST =

2664

⇢/p

⇢2 + 2 0

1/p

⇢2 + 2 0

1/p

⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

4

ST =

2664

⇢/p

⇢2 + 2 0

1/p

⇢2 + 2 0

1/p

⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

4

ST =

2664

⇢/p⇢2 + 2 0

1/p⇢2 + 2 0

1/p⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p⇢2 + 3

1/p⇢2 + 3

1/p⇢2 + 3

1/p⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

4

ST =

2664

⇢/p

⇢2 + 2 0

1/p

⇢2 + 2 0

1/p

⇢2 + 2 00 1

3775 ,

SC =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 2

1/p

r2 + 1 0

0 1/p

(r + ⇢)2 + 2

0 1/p

(r + ⇢)2 + 2

3775 ,

STC =

2664

⇢/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

1/p

⇢2 + 3

3775 .

Given that q is in this space, we define ⌫� and ⌫� accordingly

q = S�⌫� , q = S� ⌫� (9)

since S� are constant-valued matrices. Premultiplying by ST�

and using (9), we can rewrite (7) as

ST� M(q)S� ⌫� + ST

� F (q, q) = ST� B[⌃u � Z(q)] + ST

�P

�q.

Solving for the acceleration terms ⌫� ,

⌫� = [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)}.

(10)Premultiplying by S� and using (9)

q = S� [ST� M(q)S� ]

�1ST� {B[⌃u � Z(q)] +

�P

�q� F (q, q)},

(11)which is a set of second order nonlinear differential equationswhich can be marched forward in time by traditional means,choosing the appropriate S� as time progresses as a functionof the state, see section III-G.

III. CONTROLLER DESIGN

When the system is in stiction, the control authority isreduced. In the worst case, when both the treads and chassisare in stiction (S� = STC), there is no effect of the motortorque on the treads or tread assemblies until enough torqueis applied to break the stiction (ST

TCB = 01⇥2). We thereforefocus our control design on the case where neither the treadsnor the chassis are in stiction (S� = SNS). Noting that thedynamics of w are directly coupled to � and ↵ by (6), we canchoose a reduced coordinate set qr =

�� ↵ ✓

�Tsuch

that qr =¯SNS⌫NS where

¯SNS is the bottom three rows of

(8). Similarly, qr =¯SNS ⌫NS .

Concatenating qr and qr yields a complete state vector x.Rewriting (10) and premultiplying by

¯SNS to recover qr from

⌫NS , we see that this nonlinear system is affine in the inputs:

x =

✓qr

qr

◆, x = f(x) + �(x)u,

f(x) =qr

¯SNS [ST

NSM(q)SNS ]�1STNS [ �P�q � BZ(q) � F (q, q)]

�(x) =

03⇥2

¯SNS [ST

NSM(q)SNS ]�1STNSB⌃

�.

A. Equilibrium Conditions

We seek to find equations to describe the equilibriummanifold of the system, that is, we seek to find expressionsfor x⇤ and u⇤ such that x = f(x⇤) + �(x⇤)u⇤ = 06⇥1 givenqr = 03⇥1.

Given that STNSM(q)SNS is positive definite, we can solve

the matrix expression

STNS{B[⌃u � Z(q)] +

�P

�q� F (q, q)} = 03⇥1 (12)

from (10) and simplify by appropriately substituting (6) andqr = 03⇥1 to get three equations

�(�Su⇤1 + mgr cos↵⇤)/

pr2 + 1 = 0,

�[�T u⇤2 + g(mw � mT LT ) sin↵⇤]/

p(r + ⇢)2 + 1 = 0,

�Su⇤1 + �T u⇤

2 + mCLCg sin ✓⇤ = 0. (13)

By inspecting the above equations, we see that there are uniquesolutions for the feedforward terms u⇤

1 and u⇤2 for a given x:

u⇤1 = �mgr cos↵⇤/�S , (14)

u⇤2 = g(mT LT � mw) sin↵⇤/�T . (15)

We also see that there is a unique solution for ✓⇤, combining(13), (14), and (15)

✓⇤ = arcsin

✓mr cos↵⇤ � (mT LT � mw) sin↵⇤

mCLC

◆. (16)

The expression (16) can also be derived from a static analysiswhere the center of mass is constrained to be directly abovethe step edge.

We define x = x � x⇤ and u = u � u⇤ such that

˙x = f(x + x⇤) + �(x + x⇤)(u + u⇤). (17)

B. Friction Compensation

The signum function in (3) due to Coulomb friction cannotbe linearized about the origin. Instead we ignore this term inthe linearization and add a separate friction compensator uF

to the controller [19]. The linearizable plant dynamics are

fl(x) =

✓qr

�¯SNS [ST

NSM(q)S]�1STNS [BZ(q) + F (q, q)]

◆.

(18)There are a number of factors to be considered when design-

ing the friction compensator. The compensator should mitigateboth stiction and Coulomb friction without destabilizing theequilibrium manifold. An obvious choice to “eliminate” theCoulomb friction may be

uF =

� µkmgr�S sin↵ · sgn(�� ↵)

�(cT /�T ) · sgn(↵� ✓)

!.

However, practical matters such as backlash and chatter inthe physical system limit the use of the signum function asa candidate compensator. We can instead saturate a steep linepassing through the origin, see Fig. 3. It is also inherentlydifficult to measure near-zero relative velocity with opticalencoders (more in section IV-C) and so smoother performanceis possible when using the sign of u instead of the relative

5

-aα

-bα

uFψ

ũψ

Fig. 3: Friction compensator uF as a function of u .

velocity. We also desire a function that is simple to implementon an embedded controller, see section IV-B. We come to afriction compensator with the form

uF =

✓min(max(u1aS/bS , �aS), aS)/ sin↵

min(max(u2aT /bT , �aT ), aT )

◆(19)

which is illustrated in Fig. 3 and where aS µkmgr/�S ,aT cT /�T , and a↵, b↵ can be tuned empirically on thephysical system. The effect of the friction compensator canbe seen in section IV-D.

C. Linearization and Integral Control

We linearize the system at the origin of the transformedsystem (17) using the linearizable plant dynamics (18)

˙x = Ax + B(u + u⇤),

A =�fl(x + x⇤)

�x

���x=0

, B = �(x + x⇤)���x=0

.

In order to increase the robustness of the system to distur-bances such as parameter and sensor error, we augment thestate vector x with the integrated regulation error ⇠ [20],defined by

⇠ =

✓(�� ↵) � (�⇤ � ↵⇤)(↵� ✓) � (↵⇤ � ✓⇤)

◆,

noting that ��↵ is approximately w when r � ⇢. We furtherdefine

x =

✓x⇠

◆, C =

✓1 �1 0 0 0 00 1 �1 0 0 0

◆,

and the system can now be written

˙x = Ax + B(u + u⇤), (20)

A =

A 06⇥2

C 02⇥2

�, B =

B

02⇥2

�.

D. Linear Quadratic Regulator

A state feedback gain matrix can be found using the linearquadratic regulator (LQR) method. The weighting matrices

are determined by Bryson’s method [21]. For the horizontalequilibrium where ↵⇤ = ✓⇤ = ⇡/2

QC = diag

✓1

(k)21

(k)21

(k)21

(⇡)21

(l)21

(l)21

(4/5)21

(7/5)2

◆,

RC = diag

✓1

(2/5)21

(1/4)2

◆, NC = 07⇥2,

where k = 1/8 and l = 7/2.

E. Discretization

Since the control will be implemented with digital electron-ics, we must discretize the system; we choose a sample timeof h = 0.01s. We convert our continuous-time system from(20) using the matrix exponential

xk+1 = Fxk + G(uk + u⇤),

F = �(h), �(⌧) = eA⌧ ,

G = ⇥(h), ⇥(⌧) =

Z ⌧

0

eA⌘Bd⌘.

The continuous time weighting matrices are also transformed(given that NC = 0):

QD =

Z h

0

�T (⌧)QC�(⌧)d⌧,

RD =

Z h

0

⇥T (⌧)QC⇥(⌧) + RCd⌧,

ND =

Z h

0

�T (⌧)QC⇥(⌧)d⌧.

A discrete state feedback matrix K is found using the discrete-time LQR method u = Kx. The final control law is of theform u = Kx + u⇤ + uF . As noted, the motor model (4) isvalid for a bounded control input 2 [�1, 1], so each elementof u is saturated at unity magnitude.

F. Trajectory Generation and Gain Scheduling

To drive up a step edge, we plan a trajectory that satisfiesequilibrium (12) at every point. This approach has the addedbenefit that the trajectory can simply be reversed to descenda step edge, while maintaining equilibrium. We vary w fromzero to the length of the tread assembly and choose ↵⇤ to beconstant, this results in a range of values for �⇤ 2 [�S ,�F ].The value of ✓⇤ is given by (16).

The dynamics (18) change considerably across this range, sowe choose nG = 5 values of �⇤ evenly distributed 2 [�S ,�F ],use our constant ↵⇤, solve for ✓⇤, and find a discrete-time statefeedback matrix K at each point. The weighting matrices QC

and RC are adjusted at each point to keep the norm of Kconstant. Five different positions along a step edge climbingequilibrium manifold are shown in Fig. 4. We construct a8 ⇥ 2 ⇥ nG lookup table containing all of the state feedbackmatrices and linearly interpolate between the entries of thetable depending on the reference value �⇤.

3

The Lagrangian can be written as L = TS +TT +TC +TSM +TTM � V . By solving the Euler-Lagrange equations, we canwrite the equations of motion in the form

M(q)q + F (q, q) = B⌧ +�P

�q, (1)

The (positive definite) mass matrix, M(q), is given by:

M1,1(q) =m, M1,2(q) = 0,

M1,3(q) = � (r + ⇢)m, M1,4(q) = �LCmC sin(↵� ✓),

M2,2(q) =JS + JSM , M2,3(q) = 0,

M2,4(q) = � JSM ,

M3,3(q) =JT + JTM + mT LT (LT � 2w)

+ m[(r + ⇢)2 + w2],

M3,4(q) =LCmC [(r + ⇢) sin(↵� ✓) � w cos(↵� ✓)]

� JTM ,

M4,4(q) =mCL2C + JC + JSM + JTM ,

where m = mS + mT + mC . The vector F (q, q) is given by:

F1(q, q) =mT LT ↵2 � mw↵2 � mg cos↵

+ mCLC ✓2 cos(↵� ✓),

F2(q, q) =0,

F3(q, q) =2↵mww + mg(r + ⇢) cos↵

+ g(mw � mT LT ) sin↵� 2LT ↵mT w

� mCLC ✓2[(r + ⇢) cos(↵� ✓) + w sin(↵� ✓)],

F4(q, q) =LCmC [(r + ⇢)↵2 cos(↵� ✓)

� 2↵w cos(↵� ✓) + ↵2w sin(↵� ✓) � g sin ✓],

The right hand side of (1) is the sum of the generalized forcesof the system. The power dissipation function P [17] accountsfor the Coulomb friction of the treads rubbing against the treadassemblies and the Coulomb friction between the chassis andtread assemblies

P = �µkmgr

sin↵(�� ↵) � cT (↵� ✓), (2)

where µk is the coefficient of kinetic friction between thetreads and tread assemblies and mg/ sin↵ is the normal forceacting on the treads from the step edge at equilibrium. Thecoefficient cT is a constant defined by the physical parametersof the system (mass, length, coefficient of kinetic frictionbetween the chassis and tread assemblies, and gravitationalacceleration). The contribution to the generalized forces can bedetermined from Fq = �P/�q taking special care to maintainthe sign of the direction-dependent force by using the signumfunction

�P

�q=

0BB@

0

�µkmgrsin↵ · sgn(�� ↵)

µkmgrsin↵ · sgn(�� ↵) � cT · sgn(↵� ✓)

cT · sgn(↵� ✓)

1CCA . (3)

The matrix B in (1) maps ⌧ , the control input torque vectorfor the motors in the chassis, to the generalized coordinates:

y x B =

2664

0 0�1 00 �11 1

3775 .

The first element of ⌧ represents the motor torque betweenthe chassis and the tread sprockets and the second elementrepresents the motor torque between the chassis and the treadassemblies. We model the torque output ⌧ from each motorlinearly as

⌧ = �u � ⇣!, � =�kV

R, ⇣ =

(�k)2

R, (4)

where � is the stall torque, u is the control input (limitedto [�1, 1]), ⇣ is the back EMF damping coefficient of themotor, ! is the speed of the motor shaft relative to the motorbody, k is the motor constant, � is the gear ratio of thetransmission, V is the nominal battery voltage, and R is theterminal resistance [18]. Substituting the motor model (4), wecan rewrite (1):

M(q)q + F (q, q) = B[⌃u � Z(q)] +�P

�q, (5)

⌃ =

�S 00 �T

�, Z(q) =

✓⇣S(✓ � �)

⇣T (✓ � ↵)

◆.

We next impose a no-slip constraint between the tread sprocketand the step edge, which will be shown also achieves acoordinate reduction, via

w + r(�� ↵) + ⇢(⇡/2 � ↵) = 0. (6)

In two dimensions, this is a holonomic constraint which wecan differentiate with respect to time to write in the form

A1q = 0, A1 =�

1 r �(r + ⇢) 0�.

We can write additional constraints depending on whether thetreads are in stiction with (not moving relative to) the treadassemblies (� = ↵)

A2q = 0, A2 =�

0 1 �1 0�,

or the tread assemblies are in stiction with the chassis (↵ = ✓)

A3q = 0, A3 =�

0 0 1 �1�.

These three constraints can be combined by stacking the rowvectors to form a constraint matrix A� . In this system, A� isnot dependent on q. We append (5) with the inner product ofthe constraint matrix A� with �� , the Lagrange multiplier:

M(q)q + F (q, q) = B[⌃u � Z(q)] +�P

�q+ AT

� �� . (7)

We assume that the no-slip constraint always holds, but areinterested in the different combinations of tread/tread assem-bly and chassis/tread assembly stiction. This results in fourpossible constraint matrices

• No-slip only, ANS = A1

• No-slip with treads in stiction, AT = [A1; A2]• No-slip with chassis in stiction, AC = [A1; A3]• No-slip with treads and chassis in stiction, ATC =

[A1; A2; A3]

We can find orthonormal bases S� for the null spaces of A�

SNS =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 1 0

1/p

r2 + 1 0 0

0 1/p

(r + ⇢)2 + 1 00 0 1

3775 ,

(8)

3

The Lagrangian can be written as L = TS +TT +TC +TSM +TTM � V . By solving the Euler-Lagrange equations, we canwrite the equations of motion in the form

M(q)q + F (q, q) = B⌧ +�P

�q, (1)

The (positive definite) mass matrix, M(q), is given by:

M1,1(q) =m, M1,2(q) = 0,

M1,3(q) = � (r + ⇢)m, M1,4(q) = �LCmC sin(↵� ✓),

M2,2(q) =JS + JSM , M2,3(q) = 0,

M2,4(q) = � JSM ,

M3,3(q) =JT + JTM + mT LT (LT � 2w)

+ m[(r + ⇢)2 + w2],

M3,4(q) =LCmC [(r + ⇢) sin(↵� ✓) � w cos(↵� ✓)]

� JTM ,

M4,4(q) =mCL2C + JC + JSM + JTM ,

where m = mS + mT + mC . The vector F (q, q) is given by:

F1(q, q) =mT LT ↵2 � mw↵2 � mg cos↵

+ mCLC ✓2 cos(↵� ✓),

F2(q, q) =0,

F3(q, q) =2↵mww + mg(r + ⇢) cos↵

+ g(mw � mT LT ) sin↵� 2LT ↵mT w

� mCLC ✓2[(r + ⇢) cos(↵� ✓) + w sin(↵� ✓)],

F4(q, q) =LCmC [(r + ⇢)↵2 cos(↵� ✓)

� 2↵w cos(↵� ✓) + ↵2w sin(↵� ✓) � g sin ✓],

The right hand side of (1) is the sum of the generalized forcesof the system. The power dissipation function P [17] accountsfor the Coulomb friction of the treads rubbing against the treadassemblies and the Coulomb friction between the chassis andtread assemblies

P = �µkmgr

sin↵(�� ↵) � cT (↵� ✓), (2)

where µk is the coefficient of kinetic friction between thetreads and tread assemblies and mg/ sin↵ is the normal forceacting on the treads from the step edge at equilibrium. Thecoefficient cT is a constant defined by the physical parametersof the system (mass, length, coefficient of kinetic frictionbetween the chassis and tread assemblies, and gravitationalacceleration). The contribution to the generalized forces can bedetermined from Fq = �P/�q taking special care to maintainthe sign of the direction-dependent force by using the signumfunction

�P

�q=

0BB@

0

�µkmgrsin↵ · sgn(�� ↵)

µkmgrsin↵ · sgn(�� ↵) � cT · sgn(↵� ✓)

cT · sgn(↵� ✓)

1CCA . (3)

The matrix B in (1) maps ⌧ , the control input torque vectorfor the motors in the chassis, to the generalized coordinates:

y x B =

2664

0 0�1 00 �11 1

3775 .

The first element of ⌧ represents the motor torque betweenthe chassis and the tread sprockets and the second elementrepresents the motor torque between the chassis and the treadassemblies. We model the torque output ⌧ from each motorlinearly as

⌧ = �u � ⇣!, � =�kV

R, ⇣ =

(�k)2

R, (4)

where � is the stall torque, u is the control input (limitedto [�1, 1]), ⇣ is the back EMF damping coefficient of themotor, ! is the speed of the motor shaft relative to the motorbody, k is the motor constant, � is the gear ratio of thetransmission, V is the nominal battery voltage, and R is theterminal resistance [18]. Substituting the motor model (4), wecan rewrite (1):

M(q)q + F (q, q) = B[⌃u � Z(q)] +�P

�q, (5)

⌃ =

�S 00 �T

�, Z(q) =

✓⇣S(✓ � �)

⇣T (✓ � ↵)

◆.

We next impose a no-slip constraint between the tread sprocketand the step edge, which will be shown also achieves acoordinate reduction, via

w + r(�� ↵) + ⇢(⇡/2 � ↵) = 0. (6)

In two dimensions, this is a holonomic constraint which wecan differentiate with respect to time to write in the form

A1q = 0, A1 =�

1 r �(r + ⇢) 0�.

We can write additional constraints depending on whether thetreads are in stiction with (not moving relative to) the treadassemblies (� = ↵)

A2q = 0, A2 =�

0 1 �1 0�,

or the tread assemblies are in stiction with the chassis (↵ = ✓)

A3q = 0, A3 =�

0 0 1 �1�.

These three constraints can be combined by stacking the rowvectors to form a constraint matrix A� . In this system, A� isnot dependent on q. We append (5) with the inner product ofthe constraint matrix A� with �� , the Lagrange multiplier:

M(q)q + F (q, q) = B[⌃u � Z(q)] +�P

�q+ AT

� �� . (7)

We assume that the no-slip constraint always holds, but areinterested in the different combinations of tread/tread assem-bly and chassis/tread assembly stiction. This results in fourpossible constraint matrices

• No-slip only, ANS = A1

• No-slip with treads in stiction, AT = [A1; A2]• No-slip with chassis in stiction, AC = [A1; A3]• No-slip with treads and chassis in stiction, ATC =

[A1; A2; A3]

We can find orthonormal bases S� for the null spaces of A�

SNS =

2664

�r/p

r2 + 1 (r + ⇢)/p

(r + ⇢)2 + 1 0

1/p

r2 + 1 0 0

0 1/p

(r + ⇢)2 + 1 00 0 1

3775 ,

(8)1–s

5

-aα

-bα

uFψ

ũψ

Fig. 3: Friction compensator uF as a function of u .

velocity. We also desire a function that is simple to implementon an embedded controller, see section IV-B. We come to afriction compensator with the form

uF =

✓min(max(u1aS/bS , �aS), aS)/ sin↵

min(max(u2aT /bT , �aT ), aT )

◆(19)

which is illustrated in Fig. 3 and where aS µkmgr/�S ,aT cT /�T , and a↵, b↵ can be tuned empirically on thephysical system. The effect of the friction compensator canbe seen in section IV-D.

C. Linearization and Integral Control

We linearize the system at the origin of the transformedsystem (17) using the linearizable plant dynamics (18)

˙x = Ax + B(u + u⇤),

A =�fl(x + x⇤)

�x

���x=0

, B = �(x + x⇤)���x=0

.

In order to increase the robustness of the system to distur-bances such as parameter and sensor error, we augment thestate vector x with the integrated regulation error ⇠ [20],defined by

⇠ =

✓(�� ↵) � (�⇤ � ↵⇤)(↵� ✓) � (↵⇤ � ✓⇤)

◆,

noting that ��↵ is approximately w when r � ⇢. We furtherdefine

x =

✓x⇠

◆, C =

✓1 �1 0 0 0 00 1 �1 0 0 0

◆,

and the system can now be written

˙x = Ax + B(u + u⇤), (20)

A =

A 06⇥2

C 02⇥2

�, B =

B

02⇥2

�.

D. Linear Quadratic Regulator

A state feedback gain matrix can be found using the linearquadratic regulator (LQR) method. The weighting matrices

are determined by Bryson’s method [21]. For the horizontalequilibrium where ↵⇤ = ✓⇤ = ⇡/2

QC = diag

✓1

(k)21

(k)21

(k)21

(⇡)21

(l)21

(l)21

(4/5)21

(7/5)2

◆,

RC = diag

✓1

(2/5)21

(1/4)2

◆, NC = 07⇥2,

where k = 1/8 and l = 7/2.

E. Discretization

Since the control will be implemented with digital electron-ics, we must discretize the system; we choose a sample timeof h = 0.01s. We convert our continuous-time system from(20) using the matrix exponential

xk+1 = Fxk + G(uk + u⇤),

F = �(h), �(⌧) = eA⌧ ,

G = ⇥(h), ⇥(⌧) =

Z ⌧

0

eA⌘Bd⌘.

The continuous time weighting matrices are also transformed(given that NC = 0):

QD =

Z h

0

�T (⌧)QC�(⌧)d⌧,

RD =

Z h

0

⇥T (⌧)QC⇥(⌧) + RCd⌧,

ND =

Z h

0

�T (⌧)QC⇥(⌧)d⌧.

A discrete state feedback matrix K is found using the discrete-time LQR method u = Kx. The final control law is of theform u = Kx + u⇤ + uF . As noted, the motor model (4) isvalid for a bounded control input 2 [�1, 1], so each elementof u is saturated at unity magnitude.

F. Trajectory Generation and Gain Scheduling

To drive up a step edge, we plan a trajectory that satisfiesequilibrium (12) at every point. This approach has the addedbenefit that the trajectory can simply be reversed to descenda step edge, while maintaining equilibrium. We vary w fromzero to the length of the tread assembly and choose ↵⇤ to beconstant, this results in a range of values for �⇤ 2 [�S ,�F ].The value of ✓⇤ is given by (16).

The dynamics (18) change considerably across this range, sowe choose nG = 5 values of �⇤ evenly distributed 2 [�S ,�F ],use our constant ↵⇤, solve for ✓⇤, and find a discrete-time statefeedback matrix K at each point. The weighting matrices QC

and RC are adjusted at each point to keep the norm of Kconstant. Five different positions along a step edge climbingequilibrium manifold are shown in Fig. 4. We construct a8 ⇥ 2 ⇥ nG lookup table containing all of the state feedbackmatrices and linearly interpolate between the entries of thetable depending on the reference value �⇤.

5

-aα

-bα

uFψ

ũψ

Fig. 3: Friction compensator uF as a function of u .

velocity. We also desire a function that is simple to implementon an embedded controller, see section IV-B. We come to afriction compensator with the form

uF =

✓min(max(u1aS/bS , �aS), aS)/ sin↵

min(max(u2aT /bT , �aT ), aT )

◆(19)

which is illustrated in Fig. 3 and where aS µkmgr/�S ,aT cT /�T , and a↵, b↵ can be tuned empirically on thephysical system. The effect of the friction compensator canbe seen in section IV-D.

C. Linearization and Integral Control

We linearize the system at the origin of the transformedsystem (17) using the linearizable plant dynamics (18)

˙x = Ax + B(u + u⇤),

A =�fl(x + x⇤)

�x

���x=0

, B = �(x + x⇤)���x=0

.

In order to increase the robustness of the system to distur-bances such as parameter and sensor error, we augment thestate vector x with the integrated regulation error ⇠ [20],defined by

⇠ =

✓(�� ↵) � (�⇤ � ↵⇤)(↵� ✓) � (↵⇤ � ✓⇤)

◆,

noting that ��↵ is approximately w when r � ⇢. We furtherdefine

x =

✓x⇠

◆, C =

✓1 �1 0 0 0 00 1 �1 0 0 0

◆,

and the system can now be written

˙x = Ax + B(u + u⇤), (20)

A =

A 06⇥2

C 02⇥2

�, B =

B

02⇥2

�.

D. Linear Quadratic Regulator

A state feedback gain matrix can be found using the linearquadratic regulator (LQR) method. The weighting matrices

are determined by Bryson’s method [21]. For the horizontalequilibrium where ↵⇤ = ✓⇤ = ⇡/2

QC = diag

✓1

(k)21

(k)21

(k)21

(⇡)21

(l)21

(l)21

(4/5)21

(7/5)2

◆,

RC = diag

✓1

(2/5)21

(1/4)2

◆, NC = 07⇥2,

where k = 1/8 and l = 7/2.

E. Discretization

Since the control will be implemented with digital electron-ics, we must discretize the system; we choose a sample timeof h = 0.01s. We convert our continuous-time system from(20) using the matrix exponential

xk+1 = Fxk + G(uk + u⇤),

F = �(h), �(⌧) = eA⌧ ,

G = ⇥(h), ⇥(⌧) =

Z ⌧

0

eA⌘Bd⌘.

The continuous time weighting matrices are also transformed(given that NC = 0):

QD =

Z h

0

�T (⌧)QC�(⌧)d⌧,

RD =

Z h

0

⇥T (⌧)QC⇥(⌧) + RCd⌧,

ND =

Z h

0

�T (⌧)QC⇥(⌧)d⌧.

A discrete state feedback matrix K is found using the discrete-time LQR method u = Kx. The final control law is of theform u = Kx + u⇤ + uF . As noted, the motor model (4) isvalid for a bounded control input 2 [�1, 1], so each elementof u is saturated at unity magnitude.

F. Trajectory Generation and Gain Scheduling

To drive up a step edge, we plan a trajectory that satisfiesequilibrium (12) at every point. This approach has the addedbenefit that the trajectory can simply be reversed to descenda step edge, while maintaining equilibrium. We vary w fromzero to the length of the tread assembly and choose ↵⇤ to beconstant, this results in a range of values for �⇤ 2 [�S ,�F ].The value of ✓⇤ is given by (16).

The dynamics (18) change considerably across this range, sowe choose nG = 5 values of �⇤ evenly distributed 2 [�S ,�F ],use our constant ↵⇤, solve for ✓⇤, and find a discrete-time statefeedback matrix K at each point. The weighting matrices QC

and RC are adjusted at each point to keep the norm of Kconstant. Five different positions along a step edge climbingequilibrium manifold are shown in Fig. 4. We construct a8 ⇥ 2 ⇥ nG lookup table containing all of the state feedbackmatrices and linearly interpolate between the entries of thetable depending on the reference value �⇤.

Fig. 5: Controller block diagram.

at each equilibrium point to keep the norm of K constant.Five different positions along a step edge climbing equilibriummanifold are shown in Fig. 4. We construct an 8 × 2 × nGlookup table containing all of the state feedback matrices (each8× 2) indexed by the reference value of φ∗ and implementgain scheduling by linearly interpolating between the entries ofthe lookup table depending on the current reference commandφ∗. A block diagram of the controller is shown in Fig. 5. Theestimator is described in section IV-C.

G. Simulation

We created a simulation in MATLAB and Simulink inorder to validate the model and controller. The full nonlinear,continuous time dynamics of the system (12) are used torepresent the plant and are numerically integrated with avariable time-step Runge-Kutta method [24]. The controlleris implemented in discrete time as per section III with a zeroorder hold on the motor input u between control loops. Thechoice of which constraints Sβ in the plant model to applyat time step ti is determined by logical functions of the statevector xi, the control input ui, and the previous constraintcondition. Starting at rest, both the treads and the chassis areassumed to be in stiction, Sβ = STC . If and when thereis sufficient torque (from combined contributions of F (q, q)and u) to break the stiction between the treads and the treadassemblies or the chassis and the tread assemblies, then a

Page 7: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

7

different Sβ is used. If the relative velocity between the treadsand the tread assemblies or the chassis and tread assemblieschanges sign (passes through zero), then the system reentersstiction. Entering stiction is treated as an inelastic collision,where the angular velocity of the involved bodies is set equalby conservation of momentum. Simulation results are shownin section IV-D.

IV. PROTOTYPE

A. Mechanical Design

The linchpin of this design is the hip joint that pivotallyconnects each tread assembly to the chassis of the robot. Withboth motors mounted in the chassis, this joint independentlytransmits two coaxial torques: one to rotate the sprocketdriving the treads and a second to rotate the tread assemblywith respect to the chassis. Optical encoders (360 counts perrevolution, CPR) are mounted within the chassis coaxiallyon both motor shafts. An additional high resolution (5000CPR) optical encoder is mounted on the outboard side of thetread assembly to measure the relative rotation of the treadshaft. The higher resolution encoder enables better low-speedestimation, see section IV-C for a detailed discussion.

The actuation of the two degrees of freedom of each hipjoint enable the robot to perform its unique suite of maneuvers.A set of passive, un-actuated wheels is mounted on the endof the chassis opposite the main drive axles. The wheelsprevent the chassis from dragging on the ground when thetread assemblies are rotated higher than the chassis.

The diameter of the tread sprocket was chosen to giveover 25 mm of ground clearance for the chassis when in ahorizontal configuration, in conjunction with the motor andgearbox choice to have sufficient torque to lift the weightof the robot, and a top speed in excess of 2.5 m/s (6 bodylengths per second). The traction between the treads andvarious ground surfaces is balanced between the need to gripwhile accelerating and the need to slip while skid-steering. Itis critical to maintain traction while balancing upright, wherea tread slipping may cause the robot to fall. The off-the-shelf treads (manufactured by VEX Robotics) are made ofacetal and have a spray rubber coating to increase traction.The treads are continuously supported underneath, any largenormal force on the treads will be transferred to the structureof the tread assembly (also acetal). The power loss incurredby the smooth sliding contact between the treads and treadassemblies is included in the dynamic model (2). The positionof the rear idler sprocket is adjustable to appropriately tensionthe treads.

Great pains were taken to minimize the part count, par-ticularly the custom part count, and to reduce the number ofmachining operations per custom part. Off-the-shelf parts wereused wherever possible to reduce manufacturing time. All buttwo of the custom parts are laser-cut from sheets of acetal,with thread-tapping of some holes (thus avoiding the needfor nuts) and press-fitting bearings being the only secondarymachining operations. The remaining two custom parts areformed from stainless steel rod stock with simple operationson a lathe and milling machine. The symmetry of the design

Fig. 6: View of the hip joint. Tab-and-slot construction sim-plifies assembly and reduces the number of screws required.

TABLE I: Parameters of the physical system.

Parameter Value Parameter ValuemC 3.662 kg LC 0.122 mmT 1.828 kg LT 0.126 mmS 0.090 kg r 0.066 mm 5.580 kg ρ 0.011 mµk 0.216 cT 2.261 NmσS 4.127 Nm ζS 0.187 Nm/sσT 31.595 Nm ζT 13.478 Nm/sJSM 0.002 kg m2 JTM 0.645 kg m2

JC 0.065 kg m2 JT 0.022 kg m2

JS 0.001 kg m2

reduces the unique part count and many parts are orientation-agnostic, simplifying assembly. The 26 unique custom partsaccount for 73 pieces used in the assembly of each robot,with most parts being used in multiple places.

The design process included careful consideration of assem-bly time. The parts of the superstructure are quickly assembledwith a series of interlocking tabs and slots (Fig. 6), therebyminimizing the number of mechanical fasteners needed andsaving cost, weight, and assembly time. A team of fiveundergraduates working under our direction constructed 13Switchblade robots from part manufacturing to final assem-bly in 10 weeks. Many system parameters (masses, lengths,etc.) were directly measured or taken from the 3D CADmodel. Other parameters (stall torques, back EMF dampingcoefficients, rotational inertias, coefficients of friction) weredetermined empirically with an in situ characterization. Weused a least squares algorithm similar to what is presented in[20]. Fundamental parameters of the physical system are listedin Table I.

B. Embedded Electronics

The Switchblade robot is built around the National Instru-ments sbRIO 9602 embedded controller. This board has bothan FPGA and a PowerPC processor, which gives flexibilityin handling both low-level high-speed tasks (such as readingoptical encoders) and more complex control algorithms (asdescribed in section III) in real time, and is programmed usingthe LabVIEW graphical programming language, including theControl Design & Simulation and Robotics modules. Built-inethernet coupled with a wireless ethernet adapter enables real-time wireless communication, debugging, and deployment ofsoftware. A 16-bit analog to digital converter reads the output

Page 8: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

8

of the analog accelerometer and gyroscope and monitors thebattery voltage.

C. Sensing and Estimation

On the physical system we are limited in what states canbe observed directly with the onboard sensors. No externalsensors (e.g. motion capture systems) are used. Thus we designan estimator to recreate the full state vector x. The robot isinstrumented with only a two-axis MEMS accelerometer, asingle-axis MEMS gyroscope, and two optical encoders. Nocamera, laser scanner, or additional nonproprioceptive sensoris required to traverse a step edge.

1) Inertial Estimation: The gyroscope can measure the ro-tational velocity of the chassis providing a direct measurementof θ. We apply a first-order digital low pass filter with acutoff frequency of 60 rad/s to remove high frequency noise.The accelerometer outputs acceleration magnitudes in twoorthogonal axes; by taking the arctangent of the two values,the gravity vector can be calculated, under the assumption thatthe body accelerations are small. Adding a first-order discretelow pass filter attenuates noise as well as disturbances frombody accelerations. This method yields an acceptable estimateof θ only at low frequencies.

Another method to estimate θ is to numerically integratethe output of the gyroscope. Integration error and thermal biasbuild over time, but can be eliminated using a first-order digitalhigh pass filter, thus creating an estimate of θ that is validonly at high frequencies. We create a complementary filter bychoosing the accelerometer low pass filter constant µALP andintegrated gyroscope high pass filter constant µGHP such thatthey sum to unity, which allows the two measurements to besimply summed for a single estimate of θ valid across a widefrequency range [25].

µGHP =1/ωc

1/ωc + h, µALP =

h

1/ωc + h

We choose the crossover frequency ωc = 0.5 rad/s to trade-offsensor errors such as body accelerations and integration error.

2) Encoder Velocity Estimation: The optical encoders pre-cisely measure the relative rotation between the tread sprocketsand tread assemblies and between the chassis and the treadassemblies. Measuring the relative rotational velocity withthe encoders is more difficult, particularly at low velocity.Counting the number of encoder ticks in a single time steph has unacceptable discretization noise when the speed is lowbecause there are few to no encoder ticks per time step. A lowpass or moving average filter may be applied to smooth thedata, but it inherently adds delay, decreasing the bandwidth ofthe system which can cause the controller to fail.

An alternative method is to use a high speed clock (e.g.an FPGA) to measure the time between subsequent encoderticks. Using quadrature encoding and counting both rising andfalling edges of both channels of the encoder can increasethe resolution by a factor of four (as well as determine thedirection of rotation), but this common method can actuallyintroduce significant noise to the velocity measurement. Inpractice, the output of the A and B channels of the encoder are

not ideal square waves, the high time is not equal to the lowtime for a constant speed. Further, the phase offset betweenthe A and B channels is not exactly 90◦, and varies betweenrising and falling edges. What is more consistent is the 360◦

period from like edge to like edge (e.g. rising A to rising A,falling B to falling B, etc.), assuming the encoder is mountedconcentrically with the shaft.

By measuring the four different periods independently in-stead of only measuring the sub periods between subsequentedges of any type, we maintain the factor of four increasein resolution (and direction information) without introducingerror from the asymmetry of the signals [26]. When a changeof direction occurs, one channel of the encoder will outputtwo opposite edges before the other channel outputs a singleedge. In this case, it is impossible to measure the instantaneousspeed because it is uncertain how far the encoder rotatedbefore changing direction. However, we know that the averagevelocity between the two edges is zero because the netdisplacement over the time interval is zero, so we assume ameasured speed of zero.

When the speed is great enough that at least two encoderedges pass in a single time step, it is possible to average thetwo (or more) time periods to smooth the velocity estimate.The smoothing effect is proportional to the speed. This isimportant to not only remove sensor noise from imperfectionsin the encoder disc, but also to smooth process noise. Thedisturbances caused by the sprocket teeth engaging and disen-gaging with the treads and other factors can induce significantnoise if only measuring one encoder period.

By measuring the amount of time between encoder pulses,it is not possible to measure a speed of zero. Given thecurrent time and the time since each of the last edges, it ispossible to bound the actual speed by calculating the maximumspeed that would not have yet produced an encoder edge.In practice, after the estimate decays sufficiently, it becomesnegligible. Measuring the period of an encoder pulse is notan instantaneous measurement of speed, in fact, it only yieldsthe average speed over the interval of the last encoder pulsecycle. As speed decreases, this measurement delays increases,decreasing the bandwidth of the system. Using a higherresolution encoder will improve performance, so long as thehigh speed clock is still significantly faster (O(100)) than theencoder pulse rate at the maximum shaft rotational velocityto avoid introducing discretization error. Encoder resolution isoften a function of cost and size. Placing the encoder directlyon the motor shaft, instead of the gearbox output shaft, greatlyincreases the resolution of the rotation of the output shaft (bya factor of γ, the gearbox ratio) without increasing the costor size of the encoder, at the expense of not being able tomeasure the backlash at the gearbox output shaft.

3) Sensor Fusion: Given the estimates of {θ, θ} from theMEMS sensors and the encoder data, {φ, φ, α, α} can becomputed by simple addition. For the purposes of simulation,we mimic the output of the sensors by manipulating the statevector. For the encoders, we simply quantize the simulationstate given the resolution of the encoder. For the MEMSgyroscope and accelerometer, we calculate what the sensoroutput would be given the current position, velocity, and accel-

Page 9: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

9

0 1 2 3 4 5 6 7 8 9 10

−1.92

−1.9

−1.88

−1.86

−1.84

−1.82

−1.8

−1.78

−1.76

T ime (se c )

φ−

α(rad)

0 1 2 3 4 5 6 7 8 9 10

−1

−0.5

0

0.5

1

T ime (se c )

φ−

α(rad/se

c)

Ex p e rimental a S = 0

Exp e rimental a S = 0 .06

S imu lation a S = 0

S imu lation a S = 0 .06

φ∗− α ∗

Fig. 7: Experimental and simulation results for stabilizing atα∗ = θ∗ = π/2 with and without friction compensation.

TABLE II: Results from horizontal stability tests.

aS RMS(φ−α)−(φ∗−α∗)

RMS(φ− α)

RMSu1

Experimental0 0.044 0.352 0.1440.06 0.028 0.169 0.167

Simulation0 0.053 0.466 0.1590.06 0.038 0.326 0.161

erations, add white noise (the variance of which is based on themanufacturer’s specifications), and apply the complementaryfilter as described above.

D. Experimental Results

We first look at the performance of the system when stabi-lizing about a single equilibrium point, where α∗ = θ∗ = π/2.We use a narrow beam (ρ = 0.011 m) as a step edge surrogatefor testing. We can compare the balancing behavior with andwithout the friction compensator (20) by choosing aS = 0 oraS = 0.06. In both cases, bS = bT = 0.04 and aT = 0 (sinceα∗ = θ∗ the friction between the chassis and tread assembliesdoes not need compensation). Due to backlash in the treadsand uncertainty in the velocity estimate, the φ gain is decreased40% to eliminate chatter. As can clearly be seen in Fig. 7and Table II, the controller with the friction compensator hassignificantly reduced variance from the reference command(φ∗ − α∗) and the magnitude of the tread velocity (φ − α)

0 1 2 3 4 5 6 7 8 9 10−0.5

0

0.5

1

1.5

2

T ime (se c )

Angle

(rad)

φ

α

θφ∗

α ∗

θ ∗

Fig. 8: Experimental results for traversing with α∗ = 190◦.

peaks is greatly reduced without a significant increase in thecontrol effort. The flat sections in the plot of φ−α correspondto when the treads are in stiction. Please refer to the includedvideo to see horizontal stability tests with (aS = 0.06) andwithout (aS = 0) the friction compensator. Discrepanciesbetween simulation and experiment in Fig. 7 can be explainedby differences in initial conditions and unmodeled effects ofdifferences between the left and right drivetrains.

Given the mass distribution of the robot, climbing the edgeof a standard step, while kinematically possible, see Fig. 4,is not practically feasible. The distance between the center ofmass of the chassis and the tread assembly pivot point (LC inFig. 2) is less than half the length of the tread assemblies. Thismeans that in order to shift the total center of mass from oneend of the tread assemblies to the other, the inclination anglemust be steep (α∗ = 150◦). By (15), a significant amountof the torque available from the tread motor is used by thefeedforward term and not available for error regulation (inone direction). This problem is exacerbated as the height ofthe center of mass increases, because more torque is requiredto recover from a given disturbance. The amount of stictionand friction between the treads and the tread assemblies furtherlimits the control authority since the friction limits the amountof torque that can be used for correction, and there is zerocontrol authority when in stiction. Worse, the normal force onthe treads increases with α (2) which increases the frictionand stiction. With the current prototype build, only a limitedtraverse is possible. Logged data from a 10 cm traverse at aninclination of 10 degrees from horizontal (α∗ = 100◦) over10 seconds is shown in Fig. 8, the maneuver is also shownin the included video. The oscillatory behavior is due to thetreads entering and exiting stiction. The steady state error isdue to sensor and parameter errors.

V. CONCLUSIONS

We have presented a novel approach to the problem ofstair climbing utilizing feedback control on a small mobilerobot. Successful experimental results have been shown for aprototype traversing across a narrow beam. This method ofstair climbing enables a relatively small robot (length scaleon the same order as the height of a single step) to climb

Page 10: Stair Climbing via Successive Perching - University of ...fccr.ucsd.edu/pubs/MB15.pdf1 Stair Climbing via Successive Perching Nicholas Morozovsky, Thomas Bewley Abstract—Stairs are

10

stairs without any external or expensive sensors and withoutany dedicated stair climbing hardware. As mentioned in theprevious section, the mass distribution of the current robotis not optimized for climbing standard-sized stairs. It maybe possible to improve performance with a different formof nonlinear controller, or an estimator that can detect whenthe treads are in stiction, however, greater performance gainscould be achieved by decreasing the mass and shifting thecenter of mass of the chassis further from the tread assemblypivot point (alternatively, the tread assembly pivot point couldmove closer to the center of the tread assemblies). Stictionand friction could be significantly reduced by switching fromdiscrete tread links to a timing belt and changing the designof the tread assemblies to avoid rubbing. All of these changeswould act to increase the control authority of the system. Infuture work, the robot could perform automated parameteridentification of a staircase (i.e. rise and run) from sensordata, such as from a camera or LIDAR. The robot could thencalculate a trajectory and controller to climb the staircase usingthe algorithms outlined in this paper. One or more robots couldbe used to autonomously map a multi-story building, such asin a fire-fighting or urban warfare scenario. Modeling of thedynamics could also be expanded to three dimensions and theperching controller could be generalized to balance on unevengeometry, adaptively estimating the point of contact, possiblywith additional sensors [27].

ACKNOWLEDGMENTS

The authors would like to thank National Instruments fortheir generous support, Maxon motor for donating motors, andnumerous members of the Coordinated Robotics Lab for theirassistance in developing the Switchblade prototypes.

REFERENCES

[1] DARPA Robotics Challenge, 2013. http://www.theroboticschallenge.org[2] SCHAFT Inc., 2013. http://schaft-inc.jp[3] Boston Dynamics, 2013. http://www.bostondynamics.com/robot Atlas.html[4] B. Yamauchi, “PackBot: a versatile platform for military robotics,”

Proceedings of SPIE, vol. 5422, pp. 228-237, 2004.[5] C. X. Chen, M. M. Trivedi, C. R. Bidlack, “Simulation and animation of

sensor-driven robots,” IEEE Trans. on Robotics and Automation, vol. 10,no. 5, pp. 684-704, Oct. 1994.

[6] E. Z. Moore, D. Campbell, F. Grimminger, M. Buehler, “Reliable StairClimbing in the Simple Hexapod RHex,” Proc. IEEE Int’l. Conf. onRobotics and Automation, pp. 2222-2227, 2002.

[7] DEKA Research, 2000. http://www.dekaresearch.com/ibot.shtml[8] S. D. Herbert, A. Drenner, N. Papanikolopoulos, “Loper: A quadruped-

hybrid stair climbing robot,” Proc. IEEE Int’l. Conf. on Robotics andAutomation, pp. 799-804, 2008.

[9] S. C. Chen, K. J. Huang, W. H. Chen, S. Y. Shen, C. H. Li, and P. C. Lin,“Quattroped: A LegWheel Transformable Robot,” IEEE/ASME Trans.Mechatronics, vol. 19, no. 2, pp. 730742, Apr. 2014.

[10] S. A. Stoeter, N. Papanikolopoulos, “Autonomous Stair-Climbing WithMiniature Jumping Robots,” Systems, Man, and Cybernetics, Part B:Cybernetics, IEEE Trans. on, vol. 35, no. 2, pp. 313-325, Apr. 2005.

[11] C. Schmidt-Wetekam, D. Zhang, R. Hughes, T. Bewley, “Design, opti-mization, and control of a new class of reconfigurable hopping rovers,”Proc. IEEE Conf. on Decision and Control, pp. 5150-5155, 2007.

[12] University of California San Diego Coordinated Robotics Lab, 2009.http://robotics.ucsd.edu/iHop.htmlhttp://www.youtube.com/watch?v=rUbMQzLjo2Y

[13] T. Takaki, T. Aoyama, I. Ishii, “Development of inverted pendulum robotcapable of climbing stairs using planetary wheel mechanism,” Proc.IEEE Int’l. Conf. on Robotics and Automation, pp. 5618-5624, 2013.

[14] R. C. Luo, M. Hsiao, T. W. Lin, “Erect wheel-legged stair climbingrobot for indoor service applications,” Proc. IEEE/RSJ Int’l. Conf. onIntelligent Robots and Systems, pp. 2731-2736, 2013.

[15] J. Koh, D. Lee, S. Kim, K. Cho, “Deformable soft wheel robot usinghybrid actuation,” Proc. IEEE/RSJ Int’l. Conf. on Intelligent Robots andSystems, pp. 3869-3870, 2012.

[16] N. Morozovsky, C. Schmidt-Wetekam, T. Bewley, “Switchblade: an agiletreaded rover,” Proc. IEEE/RSJ Int’l. Conf. on Intelligent Robots andSystems, pp. 2741-2746, 2011.

[17] C. Nie, X. Pacheco Corcho, M. Spenko, “Robots on the Move: Versatilityand Complexity in Mobile Robot Locomotion,” IEEE Robotics andAutomation Magazine, vol. 20, no. 4, pp. 72-82, Dec. 2013.

[18] D. A. Wells, “A “Power Function” for the Determination of LagrangianGeneralized Forces,” J. Applied Physics, vol. 16, no. 9, pp. 535-538,Sep. 1945.

[19] K. Iagnemma, C. C. Ward, “Classification-based wheel slip detectionand detector fusion for mobile robots on outdoor terrain,” AutonomousRobots, vol. 26, no. 1, pp. 33-46, Jan. 2009.

[20] N. Morozovsky, R. Moroto, T. Bewley, “RAPID: an inexpensive opensource dynamometer for robotics applications,” IEEE/ASME Trans.Mechatronics, vol. 18, no. 6, pp. 1855-1860, Dec. 2013.

[21] B. Bona, M. Indri, “Friction Compensation in Robotics: an Overview,”Proc. IEEE Conf. on Decision and Control and European Control Conf.,pp. 4360-4367, 2005.

[22] H. K. Khalil, “Exact Feedback Linearization,” in Nonlinear Systems,2nd ed. Upper Saddle River, NJ: Prentice Hall, 1996, ch. 12, sec. 12.3.3,pp. 554-558.

[23] A. E. Bryson, Jr., Y. C. Ho, Applied Optimal Control. New York, NY:Taylor & Francis Group, 1975.

[24] J. R. Dormand, P. J. Prince, “A family of embedded Runge-Kuttaformulae,” J. Comp. and Appl. Mathematics, vol. 6, no. 1, pp. 19-26.Mar. 1980.

[25] W. T. Higgins, “A Comparison of Complementary and Kalman Filter-ing,” IEEE Trans. Aerospace and Electronic Systems, vol. 11, no. 3,pp. 321-325, 1975.

[26] R. C. Kavanagh, “Improved digital tachometer with reduced sensitivityto sensor nonideality,” IEEE Trans. Ind. Electron., vol. 47, no. 4, pp. 890-897, 2000.

[27] C. Schmidt-Wetekam, N. Morozovsky, T. Bewley, “Inertial RotationCenter Position Estimation for a Perching Treaded Vehicle,” Proc.IEEE/RSJ Int’l. Conf. on Intelligent Robots and Systems, pp. 4097-4102,2011.

Nicholas Morozovsky (S’10) received the B.S.degree in mechanical engineering from CarnegieMellon University, Pittsburgh, PA in 2007 and theM.S. degree also in mechanical engineering from theUniversity of California San Diego, La Jolla, CA in2011. He is currently a graduate student researcherat the Coordinated Robotics Lab at the University ofCalifornia San Diego, where he holds a Jacobs Fel-lowship. His research interests include mobile robotlocomotion, switched systems, mechanism design,embedded systems, and rapid prototyping. He is also

a student member of the American Society of Mechanical Engineers (ASME).

Thomas Bewley (B.S./M.S. Caltech 1989, Ph.D.Stanford 1998) directs the UCSD Flow Control andCoordinated Robotics Labs. Recent patent-pendingrobotic designs include iHop (an automated pogo-stick), iceCube (a self-propelled sphere driven inter-nally by CMGs), and Switchblade (a treaded vehiclethat pops wheelies and perches on large obstacles).Recent theoretical innovations include the HybridEnsemble Smoother for large-scale data assimilationand its dual, the Ensemble/Variational Optimizationalgorithm for adaptive observation (targeted sensor

motion). Applications include contaminant plume forecasting in urban andbattlefield environments leveraging sensor-laden UAVs and in situ hurricaneand ocean current monitoring leveraging buoyancy-controlled balloons anddrifters. Bewley is the sole author of the forthcoming Numerical Renaissance:Simulation, Optimization, and Control.