This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Fabrics: A Foundationally Stable Medium for Encoding Prior Experience

Nathan Ratliff and Karl Van Wyk
Abstract

Most physical systems have dynamics functions that are just a nuisance to policies. Torque policies, for instance, usually have to effectively invert the natural classical mechanical dynamics to get their job done. Because of this, we often use controllers to make things easier on policies. For instance, inverse dynamics controllers wipe out the physical dynamics so the policy starts from a clean slate. That makes learning easier, but still the policy needs to learn everything about the problem, including aspects of a solution which are common to many other problems, such as how to make the end-effector move in a straight line, how to avoid joints and self collisions, how to avoid obstacles, etc. Over the past few years it’s become standard to formulate learning not in C-space, but in end-effector space and use controllers such as Operational Space Control (OSC) to capture some of these commonalities. These controllers, whether inverse dynamics or OSC, reshape the natural dynamics of the system into a different second-order dynamical system whose behavior is more useful. And the trend is, the more useful behavior we can pack into these reshaped systems, the easier it is to learn policies.

However, OSC is from the 80’s, and captures only straight line end-effector motion. There’s a lot more behavior we could and should be packing into these systems. Earlier work [15, 16, 19] developed a theory that generalized these ideas and constructed a broad and flexible class of second-order dynamical systems which was simultaneously expressive enough to capture substantial behavior (such as that listed above), and maintained the types of stability properties that make OSC and controllers like it a good foundation for policy design and learning. This paper, motivated by the empirical success of the types of fabrics used in [20], reformulates the theory of fabrics into a form that’s more general and easier to apply to policy learning problems. We focus on the stability properties that make fabrics a good foundation for policy synthesis. Fabrics create a fundamentally stable medium within which a policy can operate; they influence the system’s behavior without preventing it from achieving tasks within its constraints. When a fabrics is geometric (path consistent) we can interpret the fabric as forming a road network of paths that the system wants to follow at constant speed absent a forcing policy, giving geometric intuition to its role as a prior. The policy operating over the geometric fabric acts to modulate speed and steers the system from one road to the next as it accomplishes its task.

We reformulate the theory of fabrics here rigorously and develop theoretical results characterizing system behavior and illuminating how to design these systems, while also emphasizing intuition throughout.

I Introduction

Policies all operate on underlying system dynamics: what the robot wants to do absent external control. These dynamics can be as straightforward as the underlying classical mechanical dynamics of the robot, where the system’s inertia defines its Riemannian geometry, the network of paths the system would travel along absent gravity and frictions (see [16] for a discussion of the connection between classical mechanics and Riemannian geometry). That mechanical system of paths, though, is often irrelevant to tasks and a hindrance to achieving a desired behavior.

Therefore, control systems often work to reshape that geometry into something more relevant, or at least less disruptive. For instance, inverse dynamics control [17] removes the geometry entirely, replacing it with a Euclidean geometry in C-space (a blank slate), such that additional controllers can generate a desired behavior without competing with the native system geometry.

Operational space control [9] builds upon this idea and not only clears the geometry, but also reshapes it into something more relevant to the task. Specifically, it replaces the physical geometry with a different Riemannian geometry where geodesics move the end-effector in straight lines. Policies then build off that more useful geometry to define useful task behavior. Since tasks are often more easily described in the end-effector space, this starting geometry is highly relevant to many problems—it encodes useful prior information.

However, operational space control captures only a small fraction of the commonalities among tasks. Most tasks, for instance, require some form of obstacle awareness, such as avoidance or attraction toward a surface (e.g. grasping). Moreover, robots generally avoid joint limits and self-collisions, and approach targets from a particular direction (e.g. approach a table orthogonal to a surface when touching it). Many of these behavioral elements can and should be factored out and encoded into the reshaping controller itself, and ideally we should extract these common behavioral components from data.

In this work, we formalize this concept of an underlying behavior shaping controller into what we call fabrics. We define fabrics rigorously as conservative autonomous second-order differential equations, show how to construct them by energizing a generating system, and thoroughly characterize their intrinsic stability properties. This theory supports the type of fabric design used in recent fabric learning work such as [20] and gives the theoretical foundations for encoding prior information into an underlying fabric and training policies over the top of it.

When the fabric has a particular geometric path consistency property, we call it a geometric fabric. This path consistency gives the fabric a speed invariant road network of paths that guide the system around obstacles and other constraints and broadly encode important prior information. Policies navigating these fabrics generally follow the network of paths and need only choose when and how strongly to push the system from one path to another and how to regulate energy along the way. We provide a number of theoretical statements characterizing energy regulation and system convergence, including convergence to desired goals (the zero set of a forcing term). We tailor the theory to providing insight into the design and training of fabrics and the policies residing on them.

Importantly, these shared fabrics, especially those learned from data [20], constitute well-informed priors on behavior. We discuss this perspective throughout this work. Generally, when we us the term prior, we mean it in the broader sense than purely Bayesian probabilistic. We simply mean it acts as a way to inject prior experience into the system to improve the sample efficiency of training policies (including the manual design of policies which is, itself, an information theoretic learning process—an iterative process resulting in a policy expected to generalize to novel situations.) Note that fabrics can be used to develop probabilistic priors by running stochastic policies over them to generate distributions of trajectories. But the underlying fabric itself, which captures the essence of the encoded information in its geometry, is not probabilistic.

I-A Related work

Since robots are physical systems, their dynamics are well-understood and governed by the Euler-Lagrange equation, as characterized in any number of introductory robotics text books [7, 17]. The mathematics of these systems is sophisticated, with Lagrangian symmetries giving rise to conserved quantities such as energy conservation [18], and control theorists have exploited those mathematical properties thoroughly for the stable design of complex nonlinear controllers by reshaping the systems into different, more favorable, dynamical systems [1, 4]. These fundamental equations have also been used in the creation of modern robot simulators like [11, 12], which are critical tools for designing or learning robot control policies.

In classical systems, the Euler-Lagrange equations decompose into two parts. One part is the closed system’s inertial equations. This component can be shown to be geometric in nature in the sense that it produces speed-invariant paths through space [4, 16]. The system, under the influence of only its inertia, follows the same path regardless of speed (or more generally accelerations along the direction of motion). These geometries are Riemannian, and the system’s mass matrix is the Riemannian metric (see [16] for a derivation). The second part includes additional forcing and damping terms. Both of these components are required to accurately model the complex, nonlinear physical phenomena in the real world. Reshaping these models into useful behavioral systems within the same class of classical mechanical systems (Riemannian geometries) is common [2, 3, 4, 9], and interestingly, Riemannian geodesics have also been shown to model large segments of human motion in [10, 13], indicating that energy efficient human motion can be largely captured by following geometric paths. However, these Riemannian systems are fundamentally limited in their expressivity for two reasons: their metrics can only be a function of position (no velocity), and the metric plays a double role of both defining the geometry of paths itself and specifying how one sub-system weights together with another. Broader classes of second-order differential equations, such as Riemannian Motion Policies (RMPs) for motion generation in [14], aren’t limited in these ways and have been shown empirically to have high-capacity for representing intricate behaviors, but are less well understood.

Recently, [19] generalized classical mechanical models to what are called geometric fabrics, building off a type of system termed a bent Finsler systems, to expand the modeling capacity of these types of systems specifically to remove those above limitations. Geometric fabrics capture the flexibility of RMPs while being provably stable and maintaining a form of (non-Riemannian) geometric path consistency, building off the mathematics of Finsler and Spray geometry [16]. With bent Finsler systems, behavioral designers were able to engineer policies that can outperform both the classical mechanical systems of geometric control and RMPs. These systems were also shown to outperform linear dynamical systems (such as Dynamic Movement Primitives, DMPs), RMPs, and a variety of baseline neural architectures like Long Short-Term Memory (LSTM) networks in learning contexts [20]. These systems superficially resemble artificial potential fields [8], but are built to enable the design of the geometry rather than the potential function, which improves their regularity and dramatically boosts performance in practice. Behavior can be written directly into the underlying road network of paths, reshaping the system geometry, rather than relying on the potential function to push the system (fight) against a less relevant natural geometry.

Independently, Bylard et al [5] developed what are called Pullback Bundle Dynamical Systems (PBDS) as a rigorously covariant version of the Geometric Dynamical Systems (GDS) developed earlier in [6]. They approached the problem as developing Riemannian metrics on the tangent bundle (space of positions and velocities) of a given manifold. While rigorous, those systems are analogous in their representational capacity to the Lagrangian fabrics outlined in [15] and from the analysis in [19], it’s now know they lack the flexibility to independently represent both the geometry of paths and the metric independent of one another. For that reason, PBDS rely heavily on non-geometric potential functions similar to the standard potential shaping techniques of geometric control [4]. The perspective we develop here builds from the results on nonlinear (spray) geometries of paths detailed in [16], and requires less technical machinery than developing metrics directly on the tangent bundle. Finsler fabrics and more broadly Lagrangian fabrics are analogous to PBDS, but geometric fabrics are a fundamentally more expressive class of systems.

All of these earlier works, while elegant in their generalization of classical mechanical or Riemannian systems, often require complex tensor calculations, such as evaluating the Euler-Lagrange equation, to fully follow the theory. This complexity introduces challenges, especially when learning is involved. Here, we reformulate these systems in a way that’s more intuitive, easier to handle both conceptually and implementationally, and emphasizes the role they play as fundamentally stable mediums for guiding policies.

I-B A note on generalized notation

Often a classical mechanical, (bent) Finsler, RMP system, etc. takes the form 𝐌(𝐪,𝐪˙)𝐪¨+𝝃(𝐪,𝐪˙)=𝟎\mathbf{M}(\mathbf{q},{\dot{\mathbf{q}}}){\ddot{\mathbf{q}}}+\bm{\xi}(\mathbf{q},{\dot{\mathbf{q}}})=\mathbf{0}, and when forced by some potential function ψ(𝐪)\psi(\mathbf{q}), and damped by a dissipating term 𝐁(𝐪,𝐪˙)𝐪˙\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}}, we get

𝐌𝐪¨+𝝃=ψ𝐁𝐪˙.\displaystyle\mathbf{M}{\ddot{\mathbf{q}}}+\bm{\xi}=-\partial\psi-\mathbf{B}{\dot{\mathbf{q}}}. (1)

The resulting acceleration is

𝐪¨\displaystyle{\ddot{\mathbf{q}}} =𝐌1𝝃𝐌1(ψ+𝐁𝐪˙)\displaystyle=-\mathbf{M}^{-1}\bm{\xi}-\mathbf{M}^{-1}\big{(}\partial\psi+\mathbf{B}{\dot{\mathbf{q}}}\big{)} (2)
=𝐡~(𝐪,𝐪˙)+𝐟(𝐪,𝐪˙),\displaystyle={\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}})+\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}), (3)

where 𝐡~=𝐌1𝝃{\widetilde{\mathbf{h}}}=-\mathbf{M}^{-1}\bm{\xi} and 𝐟=𝐌1(ψ+𝐁𝐪˙)\mathbf{f}=-\mathbf{M}^{-1}\big{(}\partial\psi+\mathbf{B}{\dot{\mathbf{q}}}\big{)}. That first term 𝐡~{\widetilde{\mathbf{h}}} is conservative and often geometric (and/or unbiased in the sense that it won’t push the system away from rest) and the second term both forces away from 𝐡~{\widetilde{\mathbf{h}}} and regulates the injection and dissipation of energy.

In this work, we address general decomposed systems of the form given in Equation 3. We use 𝐡~{\widetilde{\mathbf{h}}} to denote a fabric (conservative term) and the 𝐟\mathbf{f} to denote a forcing term that pushes against the fabric and regulates energy. The tilde denotes that the term is conservative (a fabric), to distinguish it from a generator that creates a fabric through energization (see Definition II.9 and Lemma II.10).

This decomposition is very general and covers many systems, including the ones above. If 𝐡~{\widetilde{\mathbf{h}}} has an associated system metric 𝐌\mathbf{M}, it’s often useful to think of forcing policies as force functions such as π(𝐪,𝐪˙)=ψ𝐁𝐪˙\pi(\mathbf{q},{\dot{\mathbf{q}}})=-\partial\psi-\mathbf{B}{\dot{\mathbf{q}}} which are transformed by the system metric into the forcing term 𝐌1π(𝐪,𝐪˙)\mathbf{M}^{-1}\pi(\mathbf{q},{\dot{\mathbf{q}}}) such as in Equation 2. Note that strong Eigen-directions of 𝐌\mathbf{M} trim away components of the force. In that sense, 𝐌\mathbf{M} defines the system priorities, intuitively defining which directions in space important to 𝐡~{\widetilde{\mathbf{h}}} and which directions that aren’t.

I-C Overview

We begin in Section II with a series of results characterizing the fundamental stability of fabrics as a medium for policies to operate on. Throughout, we define and develop the theory of fabrics generally but also detail the important role path consistency plays in the more specific case of geometric fabrics which form a concrete road network of paths for policies to operate across.

We start by defining fabrics to be conservative second-order autonomous differential equations in Definition II.1 and show that energy conservation, by itself, gives the fabric important stability properties. Terminologically, in Definition II.4, we decompose the full system into 𝐪¨=𝐡~+𝐟{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f}, where 𝐡~{\widetilde{\mathbf{h}}} is the fabric and 𝐟\mathbf{f} is the policy, and together they form a forced system. This terminology derives from the force form 𝐌(𝐪,𝐪˙)𝐪¨+𝝃=π(𝐪,𝐪˙)\mathbf{M}(\mathbf{q},{\dot{\mathbf{q}}}){\ddot{\mathbf{q}}}+\bm{\xi}=\pi(\mathbf{q},{\dot{\mathbf{q}}}) where 𝐌\mathbf{M} is a symmetric positive definite system metric and we have the relations 𝐡~=𝐌1𝝃{\widetilde{\mathbf{h}}}=-\mathbf{M}^{-1}\bm{\xi} and 𝐟=𝐌1π\mathbf{f}=\mathbf{M}^{-1}\pi. Here π\pi is called a force policy. Intuitively, a system traveling along a fabric will always maintain constant energy if the policy does nothing, and the policy can always simply dissipate energy to come to a stop. Over a bounded period of time, a bounded policy can only inject a finite amount of energy into the system, so it always has the means to easily bring the system back to rest. Fabrics, in that sense, innately form a fundamentally stable medium across which the policy operates.

We show in Lemma II.10 that we can always transform any given second-order autonomous system into a fabric simply by speeding up or slowing down along the direction of motion, and Definition II.9 gives a specific energization transform that does that. Importantly, Proposition II.13 then shows that if the underlying generating system is geometric (path consistent), energization stabilizes it without changing the collection of paths (since it operates entirely by accelerating along the direction of motion which is known to leave paths unchanged in geometric systems).

Then Proposition II.16 shows that any policy operating across a geometric fabric can be decomposed into a zero-work energy-preserving term which bends (or steers) the paths without changing the energy, and an energy regulation term which modulates speed along the direction of motion without changing the path. All policies thereby act to simply modulate the underlying fabric’s energy while steering the system. When training policies, one can potentially exploit this observation to define data efficient policy parameterizations.

Section II finishes with a discussion of convergence to the zero set of the forcing policy. Broadly, there are many cases where goals can be characterized by zero sets of some vector field. For instance, the local minima of a potential are the zero sets of its gradient. A forcing policy is a vector field that vanishes when it no longer wants to move the system, so the zero set of the forcing policy is a good characterization of the policy’s goals. Proposition II.17 presents some general conditions under which the forced system converges to the zero set. One of those conditions is the practical statement that if the system (with bounded accelerations) converges, it must converge to the zero set. That comes from the simple observation that the fabric is conservative and therefore wouldn’t itself push the system from rest (zero energy). So if it comes to reset at the zero set, neither the fabric nor the policy wants it to move from there. It’s often straightforward to design convergent systems that dissipate energy properly to bring the system to rest at a zero set, so even if we can’t otherwise prove global convergence of the system, we can design practically convergent systems which are guaranteed to be at the policy’s zero set when they converge. Moreover, these observations suggest that given a goal, we can parameterize the policy to ensure the policy is zero if and only if it’s at the goal. Then a training system needs only learn how to modulate energy effectively to converge nicely to that zero set.

Section III moves into a more complete discussion of theoretical conditions on energy regulation. Propositions III.1 and  III.3 give some policy parameterizations for which we can guarantee bounded energy and a natural form of energy regulation. The main result of this section is Theorem III.5, which gives a specific energy regulation formula under which any forced fabric can be guaranteed to converge to the zero set of the policy provided there exists what we call a compatible potential which we use to guide the energy regulation.

Section IV gives a final stability analysis for a common case where the fabric has a corresponding system metric and is being forced by a damped potential function. This setting is similar to the geometric fabric setting of [19], but more general. Importantly, we allow the underlying geometric fabric to be arbitrary and paired with any system metric. It’s typically much easier to design and implement such systems than the bent Finsler geometries described in [19].

Finally, we summarize the takeaways in Section VI.

II The Fundamental Stability of Fabrics

Fabrics are stable autonomous second-order differential equations that can form well-informed priors on policies by encoding behavioral information common across many tasks. Individual control policies use fabrics by navigating across them. In this section, we define fabrics and characterize their utility and fundamental stability.

Throughout this work we use the multivariate calculus notational conventions outlined in [15]. Note that in earlier work we built in specific conditions to handle boundary conformance for manifolds with a boundary. Those boundary conditions often require systems to be unbounded (e.g. accelerations or metrics approach infinity), which is impractical for real-world implementation and numerical integration. More recently, [19] described how to integrate explicit hard constraints into the definition of systems like the ones we consider here; constraint forces effectively fold into the forcing policy making them conceptually simpler. In many cases practical implementations use terms that are softer and better conditioned to smoothly avoid constraints (e.g. added potential function in the framework of [19]). We, therefore, cover only the unconstrained setting here, and refer the reader to [19] for details on how to incorporate hard constraints.

Definition II.1 (Fabrics).

An autonomous differential equation 𝐪¨=𝐡~(𝐪,𝐪˙){\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) is a fabric if it conserves a Finsler energy (𝐪,𝐪˙)\mathcal{L}(\mathbf{q},{\dot{\mathbf{q}}}).

This definition states that a fabrics is simply a conservative second-order autonomous differential equation. That conservation property is what makes the fabric a nice stable medium for policy design. The following Lemma shows that the fabric itself doesn’t attempt to push a system from rest. This property will enable policies to reliably navigate the fabric and converge to any given desired goal.

Lemma II.2.

If 𝐡~{\widetilde{\mathbf{h}}} is a fabric, then 𝐡~(𝐪,𝟎)=𝟎{\widetilde{\mathbf{h}}}(\mathbf{q},\mathbf{0})=\mathbf{0}.

Proof.

Let \mathcal{L} be the fabric’s conserved Finsler energy. Finsler energies can be written =12𝐪˙T𝐌𝐪˙\mathcal{L}=\frac{1}{2}{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}} where 𝐌=𝐪˙𝐪˙2\mathbf{M}_{\mathcal{L}}=\partial^{2}_{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}}\mathcal{L} (see [16]), so 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0} if and only if =0\mathcal{L}=0. If 𝐡~(𝐪,𝟎)𝟎{\widetilde{\mathbf{h}}}(\mathbf{q},\mathbf{0})\neq\mathbf{0} at time tt, by continuity, there exists an ϵ>0\epsilon>0 such that 𝐪˙𝟎{\dot{\mathbf{q}}}\neq\mathbf{0} at time t+ϵt+\epsilon. But that would mean the energy changes which contradicts the fabrics conservation property. Therefore, 𝐡~(𝐪,𝟎)=𝟎{\widetilde{\mathbf{h}}}(\mathbf{q},\mathbf{0})=\mathbf{0}. ∎

Remark II.3.

Lemma II.2 shows that fabrics as defined in Definition II.1 are unbiased in the sense that they can influence the system’s behavior while in motion, but vanish when the system stops. In other words, a system at rest remains at rest, allowing convergence regions to be entirely governed by the zero sets of other forcing terms (see Definition III.6 in [15] for a precise description.)

Definition II.4 (Navigating across fabrics).

Let 𝐟(𝐪,𝐪˙)\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}) be a finite second-order differential equation. 𝐟\mathbf{f} is called a navigation policy when added to a fabric to form the system

𝐪¨=𝐡~(𝐪,𝐪˙)+𝐟(𝐪,𝐪˙).\displaystyle{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}})+\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}). (4)

We often say 𝐟\mathbf{f} navigates across 𝐡~{\widetilde{\mathbf{h}}}. When the context is clear, we often refer to it simply as the policy.

We often describe the system in Equation 4 as a forced system because of it’s relation to forcing policies as defined next.

Definition II.5 (Forcing policies).

In many cases, there is a relevant positive-definite system metric 𝐌(𝐪,𝐪˙)\mathbf{M}(\mathbf{q},{\dot{\mathbf{q}}}) that can be used to shape navigating term (see Equation 2 for the intuition). In that case, we usually write the system in its force form

𝐌𝐪¨+𝝃=𝝉\displaystyle\mathbf{M}{\ddot{\mathbf{q}}}+\bm{\xi}=\bm{\tau} (5)

where 𝝃=𝐌𝐡~\bm{\xi}=-\mathbf{M}{\widetilde{\mathbf{h}}} and 𝝉\bm{\tau} is an external force. The navigation term is then constructed using a forcing policy denoted 𝝉=π(𝐪,𝐪˙)\bm{\tau}=\pi(\mathbf{q},{\dot{\mathbf{q}}}), matching standard policy notation. Since the metric 𝐌\mathbf{M} is invertible, there is a one-to-one correspondence between forcing policy and navigation term with 𝐟=𝐌1𝝉\mathbf{f}=\mathbf{M}^{-1}\bm{\tau}. Again, when the context is clear, we often refer to it simply as the policy.

The following lemma collects together some previously proven results that characterize the energy conservation properties of fabrics.

Lemma II.6 (Properties of fabric energies).

Let 𝐡~(𝐪,𝐪˙){\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) be a fabric with Finsler energy \mathcal{L}. The Hamiltonian has the property =𝐪˙T𝐪˙=\mathcal{H}_{\mathcal{L}}={\dot{\mathbf{q}}}^{T}\partial_{\dot{\mathbf{q}}}\mathcal{L}-\mathcal{L}=\mathcal{L} and its time derivative takes the form ˙=𝐪˙T(𝐌𝐪¨+𝛏)=0\dot{\mathcal{H}}_{\mathcal{L}}={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}\big{)}=0 where 𝐌𝐪¨+𝛏=𝟎\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}=\mathbf{0} are the Euler-Lagrange equations of \mathcal{L} with 𝐌=𝐪˙𝐪˙2\mathbf{M}_{\mathcal{L}}=\partial^{2}_{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}}\mathcal{L} and 𝛏=𝐪˙𝐪𝐪˙𝐪\bm{\xi}_{\mathcal{L}}=\partial_{{\dot{\mathbf{q}}}\mathbf{q}}\mathcal{L}{\dot{\mathbf{q}}}-\partial_{\mathbf{q}}\mathcal{L}. The fabric conserves \mathcal{L} so it has the property ˙=𝐪˙T(𝐌𝐡~+𝛏)=0\dot{\mathcal{H}}_{\mathcal{L}}={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}{\widetilde{\mathbf{h}}}+\bm{\xi}_{\mathcal{L}}\big{)}=0.

Proof.

These results are proven in [19], with the final fabric property following from conservation of energy. ∎

We use these properties to prove the following theorem which shows that fabrics are fundamentally stable in the sense that the energy of a forced system is bounded at any given time and can always be dissipated to bring the system to rest.

Theorem II.7 (Fundamental stability of fabrics).

Let 𝐡~(𝐪,𝐪˙){\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) be a fabric with Finsler energy \mathcal{L}. If 𝐟\mathbf{f} is a finite navigation policy, the corresponding forced system 𝐪¨=𝐡~+𝐟{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f} has finite energy after a finite time and will come to rest if the navigating term is set to 𝐟=𝐟damp=𝐌1𝐁(𝐪,𝐪˙)𝐪˙\mathbf{f}=\mathbf{f}_{\mathrm{damp}}=-\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}}, where 𝐁(𝐪,𝐪˙)\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}) is any positive-definite damping matrix.

Proof.

By Lemma II.6 ˙[𝐪¨]=𝐪˙T(𝐌𝐪¨+𝝃)\dot{\mathcal{L}}[{\ddot{\mathbf{q}}}]={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}\big{)}, so for our system we have

˙[𝐡~+𝐟]\displaystyle\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}+\mathbf{f}] =𝐪˙T(𝐌(𝐡~+𝐟)+𝝃)\displaystyle={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}({\widetilde{\mathbf{h}}}+\mathbf{f})+\bm{\xi}_{\mathcal{L}}\big{)} (6)
=𝐪˙T(𝐌𝐡~+𝝃)+𝐪˙T𝐌𝐟\displaystyle={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}{\widetilde{\mathbf{h}}}+\bm{\xi}_{\mathcal{L}}\big{)}+{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f} (7)
=˙[𝐡~]+𝐪˙T𝐌𝐟\displaystyle=\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}]+{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f} (8)
=𝐪˙T𝐌𝐟\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f} (9)

since ˙[𝐡~]=0\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}]=0. This is the work done by 𝐟\mathbf{f} on the system. The total work gives the energy after TT seconds as

(𝐪T,𝐪˙T)=(𝐪0,𝐪˙0)+0T𝐪˙T𝐌𝐟𝑑t,\displaystyle\mathcal{L}(\mathbf{q}_{T},{\dot{\mathbf{q}}}_{T})=\mathcal{L}(\mathbf{q}_{0},{\dot{\mathbf{q}}}_{0})+\int_{0}^{T}{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}dt, (10)

which is finite.

Choosing 𝐟=𝐟damp=𝐌1𝐁(𝐪,𝐪˙)𝐪˙\mathbf{f}=\mathbf{f}_{\mathrm{damp}}=-\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}} after TT seconds gives energy change

˙\displaystyle\dot{\mathcal{L}} =𝐪˙T𝐌(𝐌1𝐁𝐪˙)\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\big{(}-\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}\big{)} (11)
=𝐪˙T𝐁𝐪˙<0.\displaystyle=-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}<0. (12)

Since \mathcal{L} is lower bounded, ˙=𝐪˙T𝐁𝐪˙0\dot{\mathcal{L}}=-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}\to 0 which means both 𝐪˙𝟎{\dot{\mathbf{q}}}\to\mathbf{0} and 𝐪¨𝟎{\ddot{\mathbf{q}}}\to\mathbf{0} as tt\to\infty. ∎

Remark II.8.

See Corollary II.15 for a simplified form for the damper 𝐟damp=β(𝐪,𝐪˙)𝐪˙\mathbf{f}_{\mathrm{damp}}=-\beta(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}} where β>0\beta>0 is a scalar, which is appealing for preserving the path consistency of geometric fabrics as defined in Proposition II.13.

Given any (finite) autonomous second-order differential equation 𝐡\mathbf{h}, we can always accelerate along the direction of motion strategically to ensure any given Finsler energy is conserved. The following definition characterizes how to do that.

Definition II.9 (Energization).

Let 𝐪¨=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) be a finite autonomous second-order differential equation, and let \mathcal{L} be an energy. The energized system is the transformed system defined as

𝐪¨=energize[𝐡(𝐪,𝐪˙)]=𝐡+α𝐪˙\displaystyle{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}})\big{]}=\mathbf{h}+\alpha{\dot{\mathbf{q}}} (13)
whereα=𝐪˙T(𝐌𝐡+𝝃)𝐪˙T𝐌𝐪˙\displaystyle\ \ \ \ \ \mbox{where}\ \ \alpha=-\frac{{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}} (14)

This system transformation, which we call energization, turns any 𝐡\mathbf{h} into a fabric by making it conservative. Note that the energy can be any Lagrangian, although it’s common for that energy to be more specifically a Finsler energy.

Lemma II.10.

Let 𝐪¨=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) be a finite autonomous second-order differential equation, and let \mathcal{L} be a Finsler energy. The energized system 𝐪¨=energize[𝐡]{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]} conserves \mathcal{L} and is therefore a fabric. We call 𝐡\mathbf{h} the generator of a fabric constructed in this way.

Proof.

We show that the energized system conserves \mathcal{L}. By Lemma II.6 ˙[𝐪¨]=𝐪˙T(𝐌𝐪¨+𝝃)\dot{\mathcal{L}}[{\ddot{\mathbf{q}}}]={\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}\big{)}, so after energization the time rate of change of \mathcal{L} is

˙[𝐡+α𝐪˙]\displaystyle\dot{\mathcal{L}}[\mathbf{h}+\alpha{\dot{\mathbf{q}}}] =𝐪˙T[𝐌(𝐡𝐪˙T(𝐌𝐡+𝝃)𝐪˙T𝐌𝐪˙𝐪˙)+𝝃]\displaystyle={\dot{\mathbf{q}}}^{T}\left[\mathbf{M}_{\mathcal{L}}\left(\mathbf{h}-\frac{{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}{\dot{\mathbf{q}}}\right)+\bm{\xi}_{\mathcal{L}}\right]
=𝐪˙T𝐌𝐡(𝐪˙T𝐌𝐡+𝐪˙T𝝃𝐪˙T𝐌𝐪˙)𝐪˙T𝐌𝐪˙\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{h}-\left(\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{h}+{\dot{\mathbf{q}}}^{T}\bm{\xi}_{\mathcal{L}}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\right){\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}
+𝐪˙T𝝃\displaystyle\ \ \ \ \ \ \ \ +{\dot{\mathbf{q}}}^{T}\bm{\xi}_{\mathcal{L}}
=𝐪˙T𝐌𝐡𝐪˙T𝐌𝐡𝐪˙T𝝃+𝐪˙T𝝃\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{h}-{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{h}-{\dot{\mathbf{q}}}^{T}\bm{\xi}_{\mathcal{L}}+{\dot{\mathbf{q}}}^{T}\bm{\xi}_{\mathcal{L}}
=0.\displaystyle=0.

In general, energization may change the behavior of a system since the path traced by a system often changes when the system speeds up or slows down. (E.g. an orbiting satellite will fall to earth if it slows and shoot out to space if it speeds up.) The following proposition characterizes the class of systems whose behavior is unaffected by energization.

Definition II.11.

A system 𝐪¨=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) is Homogeneous of Degree 2 (HD2) if 𝐡(𝐪,α𝐪˙)=α2𝐡(𝐪,𝐪˙)\mathbf{h}(\mathbf{q},\alpha{\dot{\mathbf{q}}})=\alpha^{2}\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) for α0\alpha\geq 0.

Remark II.12.

An HD2 system modulates its accelerations in just the right way to maintain its path, independent of speed. If the system were constrained to follow a given path, speeding up by a factor of α\alpha would induce accelerations α2\alpha^{2} times higher to maintain the path. An HD2 system has this scaling property built in to make its integral curves trace speed invariant paths. This speed invariance is a defining property of geometries [16].

The next proposition characterizes the class of path consistent fabrics constructed by HD2 generators.

Proposition II.13 (Geometric Fabrics).

Let 𝐪¨=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) be an HD2 generator, and let (𝐪,𝐪˙)\mathcal{L}(\mathbf{q},{\dot{\mathbf{q}}}) be a Finsler energy. The paths traced by the fabric 𝐪¨=𝐡~(𝐪,𝐪˙)=energize[𝐡]{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}})=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]} match those of 𝐡\mathbf{h}. Moreover, the energized system is also HD2 so 𝐪¨=energize[𝐡]+γ𝐪˙{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}+\gamma{\dot{\mathbf{q}}} trace the same paths as its HD2 generator 𝐡\mathbf{h} for any time varying γ\gamma. Fabrics constructed this way are called geometric fabrics and the class of geometric fabrics is the unique class of path consistent fabrics.

Proof.

A property of HD2 systems is that they can accelerate along the direction of motion arbitrarily without changing the system’s path [16]. The energization transformation is defined as energize[𝐡]=𝐡+α𝐪˙\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}=\mathbf{h}+\alpha{\dot{\mathbf{q}}} for a particular choice of α\alpha. Therefore, the energized system is path consistent. Similarly, adding another term γ𝐪˙\gamma{\dot{\mathbf{q}}} is also an acceleration along the direction of motion, so the paths remain consistent.

Examining the system under the specific energization coefficient, we see

energize[𝐡]\displaystyle\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]} =𝐡𝐪˙T(𝐌𝐡+𝝃)𝐪˙T𝐌𝐪˙𝐪˙\displaystyle=\mathbf{h}-\frac{{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}{\dot{\mathbf{q}}} (15)
=𝐡+𝐀(𝐌𝐡+𝝃),\displaystyle=\mathbf{h}+\mathbf{A}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}, (16)

where 𝐀=𝐪˙𝐪˙T/𝐪˙T𝐌𝐪˙\mathbf{A}=-{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}^{T}/{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}. 𝐌\mathbf{M}_{\mathcal{L}} is HD0 (independent of velocity norm), and 𝝃\bm{\xi}_{\mathcal{L}} is HD2 (see [16] for a discussion of these properties). 𝐀\mathbf{A} is also HD0 since 𝐌\mathbf{M}_{\mathcal{L}} is and there are two factors of 𝐪˙{\dot{\mathbf{q}}} in both the numerator and denominator. Therefore, the energized system is HD2 since 𝐡\mathbf{h} is HD2.

We prove uniqueness by contradiction. Suppose 𝐡~{\widetilde{\mathbf{h}}} is a geometric fabrics but is not HD2. (If it is HD2, then it can be constructed as described above.) Then there exists a (𝐪,𝐪˙)(\mathbf{q},{\dot{\mathbf{q}}}) where 𝐪¨=𝐡~(𝐪,λ𝐪˙)λ2𝐡~(𝐪,𝐪˙){\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}(\mathbf{q},\lambda{\dot{\mathbf{q}}})\neq\lambda^{2}{\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) for some λ0\lambda\geq 0. That means for that state and that λ\lambda, the integral curve starting at (𝐪,λ𝐪˙)(\mathbf{q},\lambda{\dot{\mathbf{q}}}) will deviate from the integral curve starting at (𝐪,𝐪˙)(\mathbf{q},{\dot{\mathbf{q}}}) after some finite time. Therefore, it can’t be geometric which is a contradiction since it’s a geometric fabric. ∎

Remark II.14.

The bent Finsler systems described in [19], which can be characterized as generalizations of classical mechanical systems, are geometric fabrics as defined in Proposition II.13. The definition here, though, is broader and easier to work with in practice than the earlier definition. In bent Finsler systems, metrics must be defined by Finsler energies, requiring the application of Euler-Lagrange equations which can be computationally complex and challenging to implement. Under our definition here, allows metrics to be arbitrary HD0 positive semi-definite matrices dramatically simplifying design. The Finsler energy is still used for energization of the HD2 geometry generator, but it can remain simply since it needs only define the desired measure of speed, not the metrics. This simpler setup was already used in [20] and is especially helpful where automatic differentiation is involved.

Corollary II.15.

A forced geometric fabric of the form 𝐪¨=𝐡~=energize[𝐡]β(𝐪,𝐪˙)𝐪˙{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}-\beta(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}} with positive real valued β>0\beta>0 asymptotically comes to rest without deviating from the paths of the underlying HD2 system 𝐡\mathbf{h}.

Proof.

By Theorem II.7 the fabric will come to rest with 𝐟=𝐌1𝐁𝐪˙\mathbf{f}=-\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}. Choose 𝐁=β(𝐪,𝐪˙)𝐌\mathbf{B}=\beta(\mathbf{q},{\dot{\mathbf{q}}})\mathbf{M}_{\mathcal{L}} with β>0\beta>0. 𝐁\mathbf{B} is positive definite and 𝐟=𝐌1β(𝐪,𝐪˙)𝐌𝐪˙=β𝐪˙\mathbf{f}=-\mathbf{M}_{\mathcal{L}}^{-1}\beta(\mathbf{q},{\dot{\mathbf{q}}})\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}=\beta{\dot{\mathbf{q}}}. 𝐡\mathbf{h} is HD2, so 𝐡~{\widetilde{\mathbf{h}}} is HD2 and follows the same paths as 𝐡\mathbf{h}. Since 𝐟\mathbf{f} only accelerates along the direction of motion, by Proposition II.13 the forced system 𝐪¨=𝐡~β𝐪˙{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}-\beta{\dot{\mathbf{q}}} maintains the same paths as 𝐡~{\widetilde{\mathbf{h}}} and hence 𝐡\mathbf{h}. ∎

We can think of geometric fabrics as forming a road network of paths through space. Without a navigation policy the system simply follows the nominal paths of the underlying fabric. The navigation policy then operates over the top of that nominal behavior, pushing the system from its current path to neighboring paths as needed. Similar to long-distant travel, when traveling to a distant goal, if the network of roads is well-designed, the navigation policy needs only set the system onto the right road up front, potentially do some minor switching of roads en route, and then, once close, pull the system off the major road networks to converge locally to the goal. Well-designed geometric fabrics can therefore significantly simplify the navigation policy. In that sense, they constitute a well-informed prior on behavior.

The following Proposition shows that with geometric fabrics we can always view a navigation policy as a combination of zero-work steering (where the path bends but the energy remains constant) and speeding up or slowing down along the direction of motion (more precisely, path invariant energy regulation).

Proposition II.16.

Let 𝐪¨=energize[𝐡]{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]} be a geometric fabric and let 𝐟\mathbf{f} be a navigation policy. Then the forced equation 𝐪¨=energize[𝐡]+𝐟{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}+\mathbf{f} can be written

𝐪¨\displaystyle{\ddot{\mathbf{q}}} =energize[𝐡+𝐟]+γ𝐪˙\displaystyle=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}+\mathbf{f}\big{]}+\gamma{\dot{\mathbf{q}}} (17)

for γ=𝐪˙T𝐌𝐟/𝐪˙T𝐌𝐪˙\gamma={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}/{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}\in\mathbb{R}. The first term is a fabric which we call the steered fabric, and the second term is an energy regulator. We can also write this system as

𝐪¨=(energize[𝐡]+γ𝐪˙)+𝐏𝐟\displaystyle{\ddot{\mathbf{q}}}=\Big{(}\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}+\gamma{\dot{\mathbf{q}}}\Big{)}+\mathbf{P}_{\perp}\mathbf{f} (18)

where 𝐏=𝐌12[𝐈𝐯^𝐯^T]𝐌12\mathbf{P}_{\perp}=\mathbf{M}_{\mathcal{L}}^{-\frac{1}{2}}\big{[}\mathbf{I}-{\widehat{\mathbf{v}}}{\widehat{\mathbf{v}}}^{T}\big{]}\mathbf{M}_{\mathcal{L}}^{\frac{1}{2}} with 𝐯=𝐌12𝐪˙\mathbf{v}=\mathbf{M}_{\mathcal{L}}^{\frac{1}{2}}{\dot{\mathbf{q}}} and 𝐯^=𝐯/𝐯{\widehat{\mathbf{v}}}=\mathbf{v}/\|\mathbf{v}\| is a projection matrix.

Proof.

Equation 17 can be proven by expansion:

𝐪¨\displaystyle{\ddot{\mathbf{q}}} =energize[𝐡+𝐟]+γ𝐪˙\displaystyle=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}+\mathbf{f}\big{]}+\gamma{\dot{\mathbf{q}}}
=𝐡+𝐟(𝐪˙T(𝐌(𝐡+𝐟)+𝝃)𝐪˙T𝐌𝐪˙)𝐪˙+𝐪˙T𝐌𝐟𝐪˙T𝐌𝐪˙𝐪˙\displaystyle=\mathbf{h}+\mathbf{f}-\left(\frac{{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}(\mathbf{h}+\mathbf{f})+\bm{\xi}_{\mathcal{L}}\big{)}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\right){\dot{\mathbf{q}}}+\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}{\dot{\mathbf{q}}}
=𝐡(𝐪˙T(𝐌𝐡+𝝃)𝐪˙T𝐌𝐪˙)𝐪˙\displaystyle=\mathbf{h}-\left(\frac{{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\right){\dot{\mathbf{q}}}
+𝐟(𝐪˙T𝐌𝐟𝐪˙T𝐌𝐪˙)𝐪˙+𝐪˙T𝐌𝐟𝐪˙T𝐌𝐪˙𝐪˙\displaystyle\ \ \ \ +\mathbf{f}-\left(\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\right){\dot{\mathbf{q}}}+\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}{\dot{\mathbf{q}}} (19)
=energize[𝐡]+𝐟.\displaystyle=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]}+\mathbf{f}.

Equation 18 is just an equivalent algebraic form emphasizing the separation of acceleration along the direction of motion and orthogonal steering. It can be verfied by substituting the expressions for 𝐯\mathbf{v} and 𝐯^{\widehat{\mathbf{v}}}. See [19] Lemma C.2 Equation 30 for a related derivation. ∎

The system in Equation 17 shows that we can absorb the navigation term into the fabric thereby exposing a separate energy regulation term γ𝐪˙\gamma{\dot{\mathbf{q}}}. With γ=0\gamma=0 the system conserves energy while 𝐟\mathbf{f} acts to steer the fabric, hence the name. With γ<0\gamma<0 the system will slow to a stop. The second form given in Equation 18 shows we can also view the energy regulation as applying to the original fabric. Since the fabric is geometric and the energy regulation is an acceleration along the direction of motion, the energy increases or decreases but the path doesn’t change. On top of that, the term 𝐏𝐟\mathbf{P}_{\perp}\mathbf{f} steers the system without affecting the energy.

This section show that fabrics form a stable medium for system navigation. Navigation across the fabric can be described either as a navigation policy operating directly on the fabric accelerations or, when there is a system metric, as a force policy pushing against the fabric. Geometric fabrics, in particular, can be viewed as a road network of paths the system can travel along without any effort. We can view navigation across the fabric as a combination of energy regulation (injecting or dissipating energy) and energy invariant steering. In the case of geometric fabrics, the energy regulation doesn’t change the network of paths.

The following proposition gives insight into the behavior of forced fabrics and helps guide design. It states that if we can get the system to converge with sufficient finite damping, it will converge to the zero set (goal) of the navigation policy. Strategically, we can increase the damping to slow the system as needed to give the navigation policy more influence over the behavior. And if we can prove the navigation policy converges on its own (or equivalently when forcing the Euclidean fabric), then we can construct a modified navigation policy that’s guaranteed to converge to the desired goal.

These results can guide policy design, although it’s far from a complete characterization of convergence or stable policies. In many cases, we might learn a policy over a given fabric, for instance using RL. Convergence and stability are more complex in this setting, but fabrics make it easier to safely explore and find performance stable and convergent solutions.

Proposition II.17 (Convergence).

Let 𝐡~{\widetilde{\mathbf{h}}} be a fabric and let 𝐟\mathbf{f} be a bounded navigation policy with zero set 𝒮={𝐪|𝐟(𝐪,𝟎)=𝟎}\mathcal{S}=\{\mathbf{q}\>|\>\mathbf{f}(\mathbf{q},\mathbf{0})=\mathbf{0}\}. Let 𝐪¨=𝐡~+𝐟=𝐡~𝐟{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f}={\widetilde{\mathbf{h}}}_{\mathbf{f}} denote the forced system. Then if 𝐡~𝐟{\widetilde{\mathbf{h}}}_{\mathbf{f}} converges, it converges to 𝒮\mathcal{S}.

Proof.

By Lemma II.2, 𝐡~(𝐪,𝟎)=𝟎{\widetilde{\mathbf{h}}}(\mathbf{q},\mathbf{0})=\mathbf{0} for all 𝐪\mathbf{q}. Therefore, at convergence, 𝐪¨=𝐡~(𝐪,𝟎)+𝐟(𝐪,𝟎)=𝐟(𝐪,𝟎)=𝟎{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}(\mathbf{q}^{*},\mathbf{0})+\mathbf{f}(\mathbf{q}^{*},\mathbf{0})=\mathbf{f}(\mathbf{q}^{*},\mathbf{0})=\mathbf{0}, which implies 𝐪𝒮\mathbf{q}^{*}\in\mathcal{S}. ∎

Proposition II.17 shows that training navigation policies can be a powerful design choice. If we enforce through structural choices the desired zero set of the navigation policy and train the policy to successfully converge, then we’re guaranteed that it converges to the correct goal.

When 𝐟\mathbf{f} does not necessarily converge on its own (e.g. it may require additional damping), Theorem III.5 gives an explicit class of energy regulators that will guarantee convergence to 𝒮\mathcal{S} in the case where there exists a compatible potential.

III Energy Regulation

This next proposition characterizes how to regulate energy within a given range [0,max][0,\mathcal{L}_{\max}] using an energy regularizer while using a navigation policy 𝐟\mathbf{f} to both modulate system energy and steer. When driven by 𝐟\mathbf{f}, the system increases energy (speeds up) to a maximum energy level then maintains that energy as long as 𝐟\mathbf{f} is pushing the system forward. If the system is moving against 𝐟\mathbf{f} it removes energy (slows down). Examples of when this second case may occur are (1) the system is moving the wrong way, e.g. away from a goal; (2) the system is approaching a goal and 𝐟\mathbf{f} includes sufficient damping to bring it to rest at the goal. In both cases, the energy regularization is removed and 𝐟\mathbf{f} acts to slow the system.

Proposition III.1 (Energy Capping 1).

Let 𝐡~{\widetilde{\mathbf{h}}} be a fabric with Finsler energy \mathcal{L} and let 𝐟\mathbf{f} be a navigation policy. Design a regularized system of the form

𝐪¨=𝐡~+𝐟λ𝐌1𝐁𝐪˙,\displaystyle{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f}-\lambda\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}, (20)

where 𝐌\mathbf{M}_{\mathcal{L}} is the energy tensor of \mathcal{L} and 𝐁(𝐪,𝐪˙)\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}) is positive definite, and choose

λ=max{0,𝐪˙T𝐌𝐟𝐪˙T𝐁𝐪˙+γ()},\displaystyle\lambda=\max\left\{0,\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}+\gamma(\mathcal{L})}\right\}, (21)

where γ(0)=γmax\gamma(0)=\gamma_{\max}, γ(max)=0\gamma(\mathcal{L}_{\max})=0, and max\mathcal{L}_{\max} is a desired energy cap. Then the regularized system has the following energy properties:

  1. 1.

    Bounded energy: [0,max]\mathcal{L}\in[0,\mathcal{L}_{\max}].

  2. 2.

    Energy increases when moving with 𝐟\mathbf{f}: When 𝐪˙T𝐌𝐟0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}\geq 0, we have ˙0\dot{\mathcal{L}}\geq 0 with equality only when either =max\mathcal{L}=\mathcal{L}_{\max} or 𝐪˙T𝐌𝐟=0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}=0.

  3. 3.

    Energy decreases when moving against 𝐟\mathbf{f}: When 𝐪˙T𝐌𝐟<0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}<0, we have ˙<0\dot{\mathcal{L}}<0.

  4. 4.

    Energy rates of change are instantaneously the same with and without the fabric, and the regularizing damper only decreases energy: ˙[𝐡~+𝐟λ𝐌1𝐁𝐪˙]=˙[𝐟λ𝐌1𝐁𝐪˙]˙[𝐟]=˙[𝐡~+𝐟]\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}+\mathbf{f}-\lambda\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}]=\dot{\mathcal{L}}[\mathbf{f}-\lambda\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}]\leq\dot{\mathcal{L}}[\mathbf{f}]=\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}+\mathbf{f}].

Proof.

The energy derivative is

˙\displaystyle\dot{\mathcal{L}} =𝐪˙T[𝐌𝐪¨+𝝃]\displaystyle={\dot{\mathbf{q}}}^{T}\big{[}\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}\big{]}
=𝐪˙T[𝐌(𝐡~+𝐟λ𝐌1𝐁𝐪˙)+𝝃]\displaystyle={\dot{\mathbf{q}}}^{T}\Big{[}\mathbf{M}_{\mathcal{L}}\big{(}{\widetilde{\mathbf{h}}}+\mathbf{f}-\lambda\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}\big{)}+\bm{\xi}_{\mathcal{L}}\Big{]}
=𝐪˙T[𝐌𝐡~+𝝃]+𝐪˙T𝐌(𝐟λ𝐌1𝐁𝐪˙)\displaystyle={\dot{\mathbf{q}}}^{T}\big{[}\mathbf{M}_{\mathcal{L}}{\widetilde{\mathbf{h}}}+\bm{\xi}_{\mathcal{L}}\big{]}+{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\big{(}\mathbf{f}-\lambda\mathbf{M}_{\mathcal{L}}^{-1}\mathbf{B}{\dot{\mathbf{q}}}\big{)} (22)
=𝐪˙T𝐌𝐟λ𝐪˙T𝐁𝐪˙,\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}-\lambda{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}},

since 𝐪˙T[𝐌𝐡~+𝝃]=˙[𝐡~]=0{\dot{\mathbf{q}}}^{T}\big{[}\mathbf{M}_{\mathcal{L}}{\widetilde{\mathbf{h}}}+\bm{\xi}_{\mathcal{L}}\big{]}=\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}]=0 by the conservation property of 𝐡~{\widetilde{\mathbf{h}}}. Choosing λ\lambda per Equation 21, we have two case. If 𝐪˙T𝐌𝐟<0{\dot{\mathbf{q}}}^{T}\mathbf{M}\mathbf{f}<0, then λ=0\lambda=0 and

˙=𝐪˙T𝐌𝐟<0.\displaystyle\dot{\mathcal{L}}={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}<0. (23)

This case proves property 3.

The second case is, if 𝐪˙T𝐌𝐟0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}\geq 0, then

λ=𝐪˙T𝐌𝐟𝐪˙T𝐁𝐪˙+γ()\displaystyle\lambda=\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}+\gamma(\mathcal{L})} (24)

and

˙\displaystyle\dot{\mathcal{L}} =𝐪˙T𝐌𝐟(𝐪˙T𝐌𝐟𝐪˙T𝐁𝐪˙+γ())𝐪˙T𝐁𝐪˙\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}-\left(\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}+\gamma(\mathcal{L})}\right){\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}} (25)
=𝐪˙T𝐌𝐟[1𝐪˙T𝐁𝐪˙𝐪˙T𝐁𝐪˙+γ()].\displaystyle={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}\left[1-\frac{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}}{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}+\gamma(\mathcal{L})}\right]. (26)

We can make two observations:

  1. 1.

    When γ=0\gamma=0, =max\mathcal{L}=\mathcal{L}_{\max} and 𝐪˙𝟎{\dot{\mathbf{q}}}\neq\mathbf{0}, so ˙=0\dot{\mathcal{L}}=0.

  2. 2.

    When γ=γmax\gamma=\gamma_{\max}, =0\mathcal{L}=0 and 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}, so

    𝐪˙T𝐁𝐪˙𝐪˙T𝐁𝐪˙+γ()=0\displaystyle\frac{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}}{{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}+\gamma(\mathcal{L})}=0 (27)

    so ˙=𝐪˙T𝐌𝐟0\dot{\mathcal{L}}={\dot{\mathbf{q}}}^{T}\mathbf{M}\mathbf{f}\geq 0.

To prove property 2, we note ˙>0\dot{\mathcal{L}}>0 only when γ>0\gamma>0 and 𝐪˙T𝐌𝐟>0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}>0. And ˙=0\dot{\mathcal{L}}=0 when either factor in Equation 26 is zero, which means either 𝐪˙T𝐌𝐟=0{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}=0 or 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}. The latter condition implies γ=0\gamma=0 and =max\mathcal{L}=\mathcal{L}_{\max}.

Property 1 follows by noting that ˙=0\dot{\mathcal{L}}=0 at =max\mathcal{L}=\mathcal{L}_{\max} so >max\mathcal{L}>\mathcal{L}_{\max} would be a contradiction.

Finally, property 4 derives from the simple observation that the contribution from 𝐡~{\widetilde{\mathbf{h}}} to ˙\dot{\mathcal{L}} drops out in line 22 because 𝐡~{\widetilde{\mathbf{h}}} is conservative. And λ0\lambda\geq 0 only removes energy with its contribution being λ𝐪˙T𝐁𝐪˙0-\lambda{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}\leq 0 since 𝐁\mathbf{B} is positive definite.

Remark III.2.

The use of γ\gamma in the denominator of Equation 21 makes it robust at 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}. The specific profile of γ\gamma defines how λ\lambda moves between λ0=𝐪˙T𝐌𝐪˙/𝐪˙T𝐁𝐪˙\lambda_{0}={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}/{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}} (to fully cap the energy with ˙=0\dot{\mathcal{L}}=0 when =max\mathcal{L}=\mathcal{L}_{\max}) and 0 when =0\mathcal{L}=0 (equiv. 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}).

Proposition III.3 (Energy Capping 2).

Let 𝐡~{\widetilde{\mathbf{h}}} be a fabric with energy \mathcal{L} and let 𝐟\mathbf{f} be a navigation policy. Design a regularized system of the form

𝐪¨=𝐡~+𝐟+λ𝐪˙β𝐪˙,\displaystyle{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f}+\lambda{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}, (28)

and choose

λ(αf)=γ()αf\displaystyle\lambda(\alpha_{f})=\gamma(\mathcal{L})\alpha_{f} (29)

where β[0,βmax]\beta\in[0,\beta_{max}], γ()[0,1]\gamma(\mathcal{L})\in[0,1], γ(0)=0\gamma(0)=0, γ(max)=1\gamma(\mathcal{L}_{max})=1, and

αf=𝐪˙T𝐌𝐟𝐪˙T𝐌𝐪˙.\displaystyle\alpha_{f}=-\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}. (30)

Such a system will have bounded energy [0,max]\mathcal{L}\in[0,\mathcal{L}_{\max}] for all time.

Proof.

The energy time derivative is

˙\displaystyle\dot{\mathcal{L}} =𝐪˙T(𝐌𝐪¨+𝝃)\displaystyle={\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}) (31)
=𝐪˙T(𝐌(𝐡~+𝐟+λ𝐪˙β𝐪˙)+𝝃)\displaystyle={\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}({\widetilde{\mathbf{h}}}+\mathbf{f}+\lambda{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}})+\bm{\xi}_{\mathcal{L}}) (32)
=β𝐪˙T𝐌𝐪˙+𝐪˙T(𝐌(𝐟+λ𝐪˙))\displaystyle=-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}+{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}(\mathbf{f}+\lambda{\dot{\mathbf{q}}})) (33)

since 𝐪˙T[𝐌𝐡~+𝝃]=˙[𝐡~]=0{\dot{\mathbf{q}}}^{T}\big{[}\mathbf{M}_{\mathcal{L}}{\widetilde{\mathbf{h}}}+\bm{\xi}_{\mathcal{L}}\big{]}=\dot{\mathcal{L}}[{\widetilde{\mathbf{h}}}]=0 by the conservation property of 𝐡~{\widetilde{\mathbf{h}}}. In general, 𝐪˙T𝐌𝐟{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f} can perform work on the system, changing its energy levels. However, system energy will ultimately be bounded given that γ\gamma can become equal to 1 arbitrarily, and certainly γ(max)=1\gamma(\mathcal{L}_{max})=1 by design. Whenever γ=1\gamma=1, the energy time derivative becomes

˙\displaystyle\dot{\mathcal{L}} =β𝐪˙T𝐌𝐪˙+𝐪˙T(𝐌(𝐟𝐪˙T𝐌𝐟𝐪˙T𝐌𝐪˙𝐪˙))\displaystyle=-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}+{\dot{\mathbf{q}}}^{T}\left(\mathbf{M}_{\mathcal{L}}\left(\mathbf{f}-\frac{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}{\dot{\mathbf{q}}}\right)\right) (34)
=β𝐪˙T𝐌𝐪˙\displaystyle=-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}} (35)

If β=0\beta=0, then system energy is conserved, and if β>0\beta>0, then energy is dissipated. In essence, γ\gamma can monitor the system energy and decide how much work can be done by 𝐪˙T𝐌𝐟{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{f}, which results in shifting energy levels that are ultimately bounded by max\mathcal{L}_{max}. ∎

Within the preset boundary conditions, γ\gamma can behave arbitrarily, fluctuating the system energy. γ\gamma can therefore be learned from experience, enabling it to modulate system energy advantageously. In parallel, β\beta can also be learned, promoting dynamic braking. Note, if β>0\beta>0 and γ=1\gamma=1 persists, then system energy will decrease resulting in 𝐪˙,𝐪¨0\|{\dot{\mathbf{q}}}\|,\|{\ddot{\mathbf{q}}}\|\to 0 as tt\to\infty. Note, this does not imply that 𝐟0\|\mathbf{f}\|\to 0 as well, but rather, the system can controllably come to rest regardless of 𝐟\|\mathbf{f}\|. Finally, robustness to numerical issues when leveraging this design for λ\lambda when 𝐪˙0\|{\dot{\mathbf{q}}}\|\to 0 can be obtained via the strategies in Section V.

To effectively regulate the energy of a navigation fabric to guarantee convergence to the navigation policy’s zero set, we need a measure of progress toward that zero set. That measure of progress can be given by a potential function that’s compatible with the navigation policy in the sense that it’s negative gradient generally points in the same direction as the policy’s vector field and is (locally) minimized at the policy’s zero set.

Definition III.4 (Compatible potential).

Let 𝐟(𝐪,𝐪˙)\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}) be a navigation policy. We say a potential function is compatible with 𝐟\mathbf{f} if ψ(𝐪)=𝟎\partial\psi(\mathbf{q})=\mathbf{0} if and only if 𝐟(𝐪,𝟎)=𝟎\mathbf{f}(\mathbf{q},\mathbf{0})=\mathbf{0} and ψT𝐟(𝐪,𝟎)>0-\partial\psi^{T}\mathbf{f}(\mathbf{q},\mathbf{0})>0 wherever 𝐟(𝐪,𝟎)𝟎\mathbf{f}(\mathbf{q},\mathbf{0})\neq\mathbf{0} (equiv. ψ𝟎\partial\psi\neq\mathbf{0}).

The next theorem prescribes how to regulate the energy of a navigation fabric given a compatible potential.

Theorem III.5.

Let energize[𝐡(𝐪,𝐪˙)]\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}})\big{]} be a fabric with generator 𝐡\mathbf{h} and Finsler energy \mathcal{L}, and let 𝐟(𝐪,𝐪˙)\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}) be a navigation policy with compatible potential ψ(𝐪)\psi(\mathbf{q}). Denote the total energy by =+ψ\mathcal{H}=\mathcal{L}+\psi. The system 𝐪¨=energize[𝐡+𝐟]+γ𝐪˙{\ddot{\mathbf{q}}}=\mathrm{energize}_{\mathcal{H}}\big{[}\mathbf{h}+\mathbf{f}\big{]}+\gamma{\dot{\mathbf{q}}} with energy regulator

γ(𝐪,𝐪˙)=(𝐪˙𝐪˙T𝐪˙T𝐌𝐪˙)ψβ𝐪˙\displaystyle\gamma(\mathbf{q},{\dot{\mathbf{q}}})=-\left(\frac{{\dot{\mathbf{q}}}\>{\dot{\mathbf{q}}}^{T}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\right)\partial\psi-\beta{\dot{\mathbf{q}}} (36)

converges to the zero set of 𝐟\mathbf{f} for β>0\beta>0.

Proof of Theorem III.5.

The total energy \mathcal{H} of the energized system energize[𝐡+𝐟]\mathrm{energize}_{\mathcal{H}}[\mathbf{h}+\mathbf{f}] is conserved by definition, and we will show that with damping it’s minimized and the system comes to rest. We then show that at convergence the compatibility conditions between potential ψ\psi and perturbation field 𝐟\mathbf{f} ensure that at convergence 𝐟=𝟎\mathbf{f}=\mathbf{0}.

The time derivative of the total energy =+ψ\mathcal{H}=\mathcal{H}_{\mathcal{L}}+\psi is:

˙=𝐪˙T[𝐌𝐪¨+𝝃+ψ],\displaystyle\dot{\mathcal{H}}={\dot{\mathbf{q}}}^{T}\Big{[}\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}+\partial\psi\Big{]}, (37)

where 𝐌𝐪¨+𝝃=𝟎\mathbf{M}_{\mathcal{L}}{\ddot{\mathbf{q}}}+\bm{\xi}_{\mathcal{L}}=\mathbf{0} are the equations of motion of \mathcal{L} defined by the Euler-Lagrange equation (see [19] for a derivation). We assume 𝐌\mathbf{M}_{\mathcal{L}} is bounded in a finite region and strictly positive definite everywhere; in particular, it doesn’t vanish or reduce rank as 𝐪˙𝟎{\dot{\mathbf{q}}}\rightarrow\mathbf{0}. To derive energization, we take the system

𝐪¨=𝐡+𝐟+α𝐪˙\displaystyle{\ddot{\mathbf{q}}}=\mathbf{h}+\mathbf{f}+\alpha{\dot{\mathbf{q}}} (38)

and solve for the α\alpha which makes ˙=0\dot{\mathcal{H}}=0 (i.e. calculate the acceleration along the direction of motion needed to conserve energy). Plugging Eq. 38 into Eq. 37, setting to zero, and solving for α\alpha gives:

𝐪˙T[𝐌(𝐡+𝐟+α𝐪˙)+𝝃+ψ]=𝟎\displaystyle{\dot{\mathbf{q}}}^{T}\Big{[}\mathbf{M}_{\mathcal{L}}\big{(}\mathbf{h}+\mathbf{f}+\alpha{\dot{\mathbf{q}}}\big{)}+\bm{\xi}_{\mathcal{L}}+\partial\psi\Big{]}=\mathbf{0} (39)
α(𝐪˙T𝐌𝐪˙)+𝐪˙T(𝐌𝐡+𝝃)+𝐪˙T(𝐌𝐟+ψ)=𝟎\displaystyle\Rightarrow\alpha({\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}})+{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}})+{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{f}+\partial\psi)=\mathbf{0}
α=𝐪˙T(𝐌𝐡+𝝃)Z𝐪˙T(𝐌𝐟+ψ)Z\displaystyle\Rightarrow\alpha=-\frac{{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}})}{Z}-\frac{{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{f}+\partial\psi)}{Z} (40)
α=1Z𝐪˙T(𝐌(𝐡+𝐟)+𝝃+ψ)\displaystyle\Rightarrow\alpha=-\frac{1}{Z}{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}(\mathbf{h}+\mathbf{f})+\bm{\xi}_{\mathcal{L}}+\partial\psi\big{)} (41)

where Z=𝐪˙T𝐌𝐪˙Z={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}. Equation 41 is the form given in Definition II.9.

The α\alpha of Equation 41 by definition makes the undamped equations in 38 conserve the Hamiltonian \mathcal{H}, therefore the damped equations

𝐪¨=𝐡+𝐟+α𝐪˙β𝐪˙\displaystyle{\ddot{\mathbf{q}}}=\mathbf{h}+\mathbf{f}+\alpha{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}} (42)

for β>0\beta>0 decreases energy at a rate

˙\displaystyle\dot{\mathcal{H}} =𝐪˙T[𝐌(𝐡+𝐟+α𝐪˙)+𝝃+ψ]β𝐪˙T𝐌𝐪˙\displaystyle={\dot{\mathbf{q}}}^{T}\Big{[}\mathbf{M}_{\mathcal{L}}\big{(}\mathbf{h}+\mathbf{f}+\alpha{\dot{\mathbf{q}}}\big{)}+\bm{\xi}_{\mathcal{L}}+\partial\psi\Big{]}-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}} (43)
=β𝐪˙T𝐌𝐪˙.\displaystyle=-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}. (44)

Since 𝐌\mathbf{M}_{\mathcal{L}} is strictly positive definite, this final expression is less than 0 for all 𝐪˙𝟎{\dot{\mathbf{q}}}\neq\mathbf{0} and 0 for 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}. Since \mathcal{H} is always decreasing but also lower bounded, we know that its rate of decrease must converge to zero ˙0\dot{\mathcal{H}}\rightarrow 0 (it stops decreasing at some point). Therefore, ˙=β𝐪˙T𝐌𝐪˙0\dot{\mathcal{H}}=-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}\rightarrow 0 which means 𝐪˙𝟎{\dot{\mathbf{q}}}\rightarrow\mathbf{0} and hence 𝐪¨𝟎{\ddot{\mathbf{q}}}\rightarrow\mathbf{0}.

Plugging α\alpha from Equation 40 into the system in Equation 42 and taking the limit with 𝐪˙,𝐪¨𝟎{\dot{\mathbf{q}}},{\ddot{\mathbf{q}}}\rightarrow\mathbf{0} gives

𝐪¨\displaystyle{\ddot{\mathbf{q}}} =𝐡+𝐟\displaystyle=\mathbf{h}+\mathbf{f}
+(𝐪˙T(𝐌𝐡+𝝃)Z𝐪˙T(𝐌𝐟+ψ)Z)𝐪˙β𝐪˙\displaystyle\ \ \ \ +\left(-\frac{{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}})}{Z}-\frac{{\dot{\mathbf{q}}}^{T}(\mathbf{M}_{\mathcal{L}}\mathbf{f}+\partial\psi)}{Z}\right){\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}
=(𝐡β𝐪˙𝐪˙𝐪˙TZ(𝐌𝐡+𝝃))\displaystyle=\Big{(}\mathbf{h}-\beta{\dot{\mathbf{q}}}-\frac{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}^{T}}{Z}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)}\Big{)} (45)
+𝐟𝐪˙𝐪˙TZ(𝐌𝐟(ψ))\displaystyle\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +\mathbf{f}-\frac{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}^{T}}{Z}\Big{(}\mathbf{M}_{\mathcal{L}}\mathbf{f}-(-\partial\psi)\Big{)}
=𝐕+𝐟𝐪˙𝐪˙T𝐪˙T𝐌𝐪˙(𝐌𝐟(ψ)).\displaystyle=\mathbf{V}+\mathbf{f}-\frac{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}^{T}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\Big{(}\mathbf{M}_{\mathcal{L}}\mathbf{f}-(-\partial\psi)\Big{)}. (46)

Here 𝐕\mathbf{V} collects the terms in parentheses from the second line which vanish in the limit with 𝐕𝟎\mathbf{V}\rightarrow\mathbf{0} as 𝐪˙𝟎{\dot{\mathbf{q}}}\rightarrow\mathbf{0}, and we write ψ-\partial\psi because it’s the negative gradient that has positive inner product with 𝐟\mathbf{f} per the compatibility conditions. On left-hand-side we have 𝐪¨𝟎{\ddot{\mathbf{q}}}\rightarrow\mathbf{0}, so it’s the rest of the terms in Equation 46 we need to analyze in the limit as 𝐪˙0{\dot{\mathbf{q}}}\rightarrow 0. Note that 𝐪˙T𝐪˙/(𝐪˙T𝐌𝐪˙){\dot{\mathbf{q}}}^{T}{\dot{\mathbf{q}}}/({\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}) has two factors of 𝐪˙{\dot{\mathbf{q}}} in both the numerator and the denominator. Since 𝐌\mathbf{M}_{\mathcal{L}} is bounded and doesn’t vanish in the limit, it limits to a projection operator

𝐀=𝐯𝐯T𝐯T𝐌𝐯,\displaystyle\mathbf{A}=\frac{\mathbf{v}\mathbf{v}^{T}}{\mathbf{v}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{v}}, (47)

where 𝐯=limt𝐪˙/𝐪˙\mathbf{v}=\lim_{t\rightarrow\infty}{\dot{\mathbf{q}}}/\|{\dot{\mathbf{q}}}\| is the limiting direction of motion as the system comes to a stop. This notation allows us write Equation 46 as

𝐪¨=𝐕+𝐟𝐪˙𝐪˙T𝐪˙T𝐌𝐪˙(𝐌𝐟(ψ))\displaystyle\ \ \ \ \ {\ddot{\mathbf{q}}}=\mathbf{V}+\mathbf{f}-\frac{{\dot{\mathbf{q}}}{\dot{\mathbf{q}}}^{T}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}}\Big{(}\mathbf{M}_{\mathcal{L}}\mathbf{f}-(-\partial\psi)\Big{)} (48)
t𝟎=[𝐈𝐀𝐌]𝐟+𝐀(ψ).\displaystyle\xrightarrow[t\to\infty]{}\mathbf{0}=\Big{[}\mathbf{I}-\mathbf{A}\mathbf{M}_{\mathcal{L}}\Big{]}\mathbf{f}+\mathbf{A}(-\partial\psi). (49)

The matrix 𝐏=𝐈𝐀𝐌\mathbf{P}=\mathbf{I}-\mathbf{A}\mathbf{M}_{\mathcal{L}} has nullspace 𝐯\mathbf{v} since

[𝐈𝐀𝐌]𝐯=𝐯𝐯𝐯T𝐯T𝐌𝐯𝐌𝐯\displaystyle\Big{[}\mathbf{I}-\mathbf{A}\mathbf{M}_{\mathcal{L}}\Big{]}\mathbf{v}=\mathbf{v}-\frac{\mathbf{v}\mathbf{v}^{T}}{\mathbf{v}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{v}}\mathbf{M}_{\mathcal{L}}\mathbf{v} (50)
𝐯𝐯(𝐯T𝐌𝐯𝐯T𝐌𝐯)=𝐯𝐯=𝟎.\displaystyle\ \ \ \ \ \ \ \ \mathbf{v}-\mathbf{v}\left(\frac{\mathbf{v}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{v}}{\mathbf{v}^{T}\mathbf{M}_{\mathcal{L}}\mathbf{v}}\right)=\mathbf{v}-\mathbf{v}=\mathbf{0}. (51)

Likewise, 𝐀\mathbf{A} is rank-1 with column space spanned by 𝐯\mathbf{v}, so [𝐈𝐀𝐌]𝐟\Big{[}\mathbf{I}-\mathbf{A}\mathbf{M}_{\mathcal{L}}\Big{]}\mathbf{f} and 𝐀(ψ)\mathbf{A}(-\partial\psi) must be linearly independent when they’re both nonzero.

We’ll prove 𝐟=𝟎\mathbf{f}=\mathbf{0} by contradiction. 𝐏𝐟\mathbf{P}\mathbf{f} and 𝐀(ψ)\mathbf{A}(-\partial\psi) are orthogonal so for Equation 49 to hold, they must both be zero. If 𝐟𝟎\mathbf{f}\neq\mathbf{0}, then since 𝐏𝐟=𝟎\mathbf{P}\mathbf{f}=\mathbf{0} we must have 𝐟span(𝐯)\mathbf{f}\in\mathrm{span}(\mathbf{v}). And since 𝐀(ψ)=𝟎\mathbf{A}(-\partial\psi)=\mathbf{0}, we must have either that ψ=𝟎\partial\psi=\mathbf{0} or ψ𝐯\partial\psi\perp\mathbf{v} which implies ψT𝐟=𝟎\partial\psi^{T}\mathbf{f}=\mathbf{0}. Both of these contradict the compatibility conditions. Therefore, 𝐟=𝟎\mathbf{f}=\mathbf{0}. ∎

One simple way to leverage Theorem III.5 is to choose a potential ψ\psi whose zero set 𝒮={𝐪|ψ(𝐪)=𝟎}\mathcal{S}=\{\mathbf{q}\>|\>\partial\psi(\mathbf{q})=\mathbf{0}\} characterizes the goal and then define 𝐟(𝐪,𝐪˙)\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}}) so that it’s compatible with ψ\psi by construction. For instance, the following 𝐟\mathbf{f} would be compatible:

𝐟=ψψ+ϵ𝐁(𝐪,𝐪˙)𝐪˙.\displaystyle\mathbf{f}=-\frac{\partial\psi}{\|\partial\psi\|+\epsilon}-\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}){\dot{\mathbf{q}}}. (52)

The first term is the soft normalized negative gradient, and the second is a damper.

IV Forcing energized fabrics

Here we analyze forcing an arbitrary fabric term 𝐡~(𝐪,𝐪˙){\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) using a forcing term pushing against a system metric of the type described in Section I-B Equation 3. This a case is more specific than the general energy regulation settings discussed in Section III, but it’s an important and common one used, for instance, in [20]. The forcing term in this case takes the form

𝐟(𝐪,𝐪˙)=𝐌1ψ𝐌1𝐁𝐪˙\displaystyle\mathbf{f}(\mathbf{q},{\dot{\mathbf{q}}})=-\mathbf{M}^{-1}\partial\psi-\mathbf{M}^{-1}\mathbf{B}{\dot{\mathbf{q}}} (53)

where 𝐌(𝐪,𝐪˙)\mathbf{M}(\mathbf{q},{\dot{\mathbf{q}}}) is an arbitrary positive definite system metric and 𝐁(𝐪,𝐪˙)\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}) is an arbitrary positive semi-definite damping matrix.

𝐡~{\widetilde{\mathbf{h}}} can be an arbitrary fabric. For instance, we may construct a transform tree, populate its spaces with arbitrary specs, and pull them back into the root. The resulting spec (𝐌,𝝃)(\mathbf{M},\bm{\xi}) defines a differential equation 𝐌𝐪¨+𝝃=𝟎\mathbf{M}{\ddot{\mathbf{q}}}+\bm{\xi}=\mathbf{0} with acceleration 𝐪¨=𝐌1𝝃=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=-\mathbf{M}^{-1}\bm{\xi}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}). That 𝐡\mathbf{h} can then be used to generate the fabric 𝐡~=energize[𝐡]{\widetilde{\mathbf{h}}}=\mathrm{energize}_{\mathcal{L}}\big{[}\mathbf{h}\big{]} by energization. The matrix 𝐌\mathbf{M} defines the system metric which we use to define the forcing term given in Equation 53. If the individual specs on the transform tree are themselves geometric (the metrics are HD0 and the policies are HD2), the resulting fabric is a geometric fabric. Importantly, the metrics don’t need to be Finsler (deviating from the theory of [19]), just HD0.

The following theorem shows that these systems are stable and convergent to the logical minimum of a potential function with appropriate choice of damping.

Theorem IV.1.

Let 𝐡~(𝐪,𝐪˙){\widetilde{\mathbf{h}}}(\mathbf{q},{\dot{\mathbf{q}}}) be a fabric with positive-definite system metric 𝐌(𝐪,𝐪˙)\mathbf{M}(\mathbf{q},{\dot{\mathbf{q}}}), and let ψ(𝐪)\psi(\mathbf{q}) be a potential function. Then we can always find a finite positive definite damping matrix 𝐁(𝐪,𝐪˙)\mathbf{B}(\mathbf{q},{\dot{\mathbf{q}}}) such that the system

𝐪¨=𝐡~𝐌1(ψ+𝐁𝐪˙)\displaystyle{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}-\mathbf{M}^{-1}\big{(}\partial\psi+\mathbf{B}{\dot{\mathbf{q}}}\big{)} (54)

converges. And at convergence, by Proposition II.17 ψ\psi is at a local minimum.

Proof.

Suppose our system is

𝐪¨=𝐡~+𝐟+α𝐪˙β𝐪˙,\displaystyle{\ddot{\mathbf{q}}}={\widetilde{\mathbf{h}}}+\mathbf{f}+\alpha_{\mathcal{L}}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}, (55)

with 𝐟\mathbf{f} as given by Equation 53, β+\beta\in\mathbb{R}_{+}, and where α\alpha_{\mathcal{L}}\in\mathbb{R} is the energization coefficient with respect to some energy \mathcal{L}. Our proof follows a standard Lyapunov analysis. We design our Lyapunov function as

V=12𝐪˙T𝐌𝐪˙+ψ.\displaystyle V=\frac{1}{2}{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}+\psi. (56)

The time derivative of the Lyapunov function is

V˙=𝐪˙T𝐌𝐪¨+12𝐪˙T𝐌˙𝐪˙+𝐪˙Tψ.\displaystyle\dot{V}={\dot{\mathbf{q}}}^{T}\mathbf{M}{\ddot{\mathbf{q}}}+\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}+{\dot{\mathbf{q}}}^{T}\partial\psi. (57)

Plugging in 𝐪¨{\ddot{\mathbf{q}}} from Equation 55 above yields

V˙=\displaystyle\dot{V}= 𝐪˙T𝐌(𝐡~𝐌1ψ𝐌1𝐁𝐪˙+α𝐪˙β𝐪˙)\displaystyle{\dot{\mathbf{q}}}^{T}\mathbf{M}\Big{(}{\widetilde{\mathbf{h}}}-\mathbf{M}^{-1}\partial\psi-\mathbf{M}^{-1}\mathbf{B}{\dot{\mathbf{q}}}+\alpha_{\mathcal{L}}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}\Big{)}
+12𝐪˙T𝐌˙𝐪˙+ψT𝐪˙.\displaystyle\ \ \ +\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}+\partial\psi^{T}{\dot{\mathbf{q}}}. (58)

Rearranging and canceling terms reduces the expression to

V˙=𝐪˙T𝐌(𝐡~+α𝐪˙)+12𝐪˙T𝐌˙𝐪˙𝐪˙T𝐁𝐪˙β𝐪˙T𝐌𝐪˙.\displaystyle\dot{V}={\dot{\mathbf{q}}}^{T}\mathbf{M}\big{(}{\widetilde{\mathbf{h}}}+\alpha_{\mathcal{L}}{\dot{\mathbf{q}}}\big{)}+\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}. (59)

We now write α\alpha_{\mathcal{L}} as the sum of a term α0\alpha_{0} designed to remove 𝐡~{\widetilde{\mathbf{h}}} and 𝐌˙\dot{\mathbf{M}} and a residual α~\tilde{\alpha}. I.e. α=α0+α~\alpha_{\mathcal{L}}=\alpha_{0}+\tilde{\alpha} with

α0=𝐪˙T𝐌𝐡~12𝐪˙T𝐌˙𝐪˙𝐪˙T𝐌𝐪˙\displaystyle\alpha_{0}=\frac{-{\dot{\mathbf{q}}}^{T}\mathbf{M}{\widetilde{\mathbf{h}}}-\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}}{{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}} (60)

so that

𝐪˙T𝐌(𝐡~+α0𝐪˙)+12𝐪˙T𝐌˙𝐪˙=0.\displaystyle{\dot{\mathbf{q}}}^{T}\mathbf{M}\big{(}{\widetilde{\mathbf{h}}}+\alpha_{0}{\dot{\mathbf{q}}}\big{)}+\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}=0. (61)

We assume that \mathcal{L}, 𝐌\mathbf{M}, and 𝐡~{\widetilde{\mathbf{h}}} are designed such that the residual α~\tilde{\alpha} is bounded. Substituting α=α0+α~\alpha_{\mathcal{L}}=\alpha_{0}+\tilde{\alpha} into 59 gives

V˙=𝐪˙T𝐌(𝐡~+α~𝐪˙+α0𝐪˙)+12𝐪˙T𝐌˙𝐪˙𝐪˙T𝐁𝐪˙β𝐪˙T𝐌𝐪˙.\displaystyle\dot{V}={\dot{\mathbf{q}}}^{T}\mathbf{M}\big{(}{\widetilde{\mathbf{h}}}+\tilde{\alpha}{\dot{\mathbf{q}}}+\alpha_{0}{\dot{\mathbf{q}}}\big{)}+\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}. (62)

Regrouping yields

V˙\displaystyle\dot{V} =[𝐪˙T𝐌(𝐡~+α0𝐪˙)+12𝐪˙T𝐌˙𝐪˙]\displaystyle=\Big{[}{\dot{\mathbf{q}}}^{T}\mathbf{M}({\widetilde{\mathbf{h}}}+\alpha_{0}{\dot{\mathbf{q}}})+\frac{1}{2}{\dot{\mathbf{q}}}^{T}\dot{\mathbf{M}}{\dot{\mathbf{q}}}\Big{]} (63)
+α~𝐪˙T𝐌𝐪˙𝐪˙T𝐁𝐪˙β𝐪˙T𝐌𝐪˙.\displaystyle\ \ \ \ \ \ +\tilde{\alpha}{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}.

The first group of terms vanish by the design of α0\alpha_{0}, so we get

V˙=α~𝐪˙T𝐌𝐪˙𝐪˙T𝐁𝐪˙β𝐪˙T𝐌𝐪˙.\displaystyle\dot{V}=\tilde{\alpha}{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}-{\dot{\mathbf{q}}}^{T}\mathbf{B}{\dot{\mathbf{q}}}-\beta{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}. (64)

We combine the two damping terms to produce

V˙=α~𝐪˙T𝐌𝐪˙𝐪˙T𝐁~𝐪˙.\displaystyle\dot{V}=\tilde{\alpha}{\dot{\mathbf{q}}}^{T}\mathbf{M}{\dot{\mathbf{q}}}-{\dot{\mathbf{q}}}^{T}\tilde{\mathbf{B}}{\dot{\mathbf{q}}}. (65)

This equation can now be upper-bounded via the Rayleigh-Ritz theorem as

V˙λ¯M𝐪˙2λ¯B𝐪˙2,\displaystyle\dot{V}\leq\overline{\lambda}_{M}\|{\dot{\mathbf{q}}}\|^{2}-\underline{\lambda}_{B}\|{\dot{\mathbf{q}}}\|^{2}, (66)

where λ¯M\overline{\lambda}_{M} is the maximum eigenvalue of α~𝐌\tilde{\alpha}\mathbf{M} and λ¯B\underline{\lambda}_{B} is the minimum eigenvalue of 𝐁~\tilde{\mathbf{B}}. Via the design of 𝐁\mathbf{B} and a sufficiently large β\beta, we can enforce that λ¯B>λ¯M\underline{\lambda}_{B}>\overline{\lambda}_{M} yielding

V˙b𝐪˙2,\displaystyle\dot{V}\leq-b\|{\dot{\mathbf{q}}}\|^{2}, (67)

where b=λ¯Bλ¯M>0b=\underline{\lambda}_{B}-\overline{\lambda}_{M}>0. We now invoke LaSalle’s invariant set theorem to give 𝐪˙0\|{\dot{\mathbf{q}}}\|\to 0 as tt\to\infty. This implies 𝐪¨0\|{\ddot{\mathbf{q}}}\|\to 0 as tt\to\infty, and consequently, f,ψ0\|f\|,\|\partial\psi\|\to 0 as well. This ultimately guarantees that the system will come to rest at a minimum of ψ\psi. ∎

V Numerical Considerations

The mathematical definition of energization given in Definition II.9 has a numerical instability at 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}. The following definition gives two robust variants that can be used for practical implementation. The choice of which to use depends on the properties of the generator being energized as discussed below.

Definition V.1.

Let 𝐪¨=𝐡(𝐪,𝐪˙){\ddot{\mathbf{q}}}=\mathbf{h}(\mathbf{q},{\dot{\mathbf{q}}}) be an autonomous second-order differential equation, and let \mathcal{L} be an energy. The vanishing energization transform is defined as

energizeϵ[𝐡]=𝐡+α𝐪˙\displaystyle\mathrm{energize}_{\mathcal{H}}^{\epsilon}[\mathbf{h}]=\mathbf{h}+\alpha{\dot{\mathbf{q}}} (68)
withα=1Z+ϵ𝐪˙T(𝐌𝐡+𝝃)\displaystyle\ \ \ \ \ \ \ \ \ \ \ \mbox{with}\ \ \alpha=\frac{1}{Z+\epsilon}{\dot{\mathbf{q}}}^{T}\big{(}\mathbf{M}_{\mathcal{L}}\mathbf{h}+\bm{\xi}_{\mathcal{L}}\big{)} (69)

for ϵ>0\epsilon>0 where Z=𝐪˙T𝐌𝐪˙Z={\dot{\mathbf{q}}}^{T}\mathbf{M}_{\mathcal{L}}{\dot{\mathbf{q}}}. This variant smoothly reduces α\alpha to zero as 𝐪˙𝟎{\dot{\mathbf{q}}}\rightarrow\mathbf{0} avoiding numerical instability and ambiguity at 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}. Another variant which we call the robust energization transform additionally preserves the unbiased property of energization while resolving numerical issues:

energizeησ,ϵ[𝐡]=ησ(𝐪˙)energizeϵ[𝐡]\displaystyle\mathrm{energize}_{\mathcal{H}}^{\eta_{\sigma},\epsilon}\big{[}\mathbf{h}\big{]}=\eta_{\sigma}(\|{\dot{\mathbf{q}}}\|)\;\mathrm{energize}_{\mathcal{H}}^{\epsilon}\big{[}\mathbf{h}\big{]} (70)

where ησ(s)\eta_{\sigma}(s) is some function that diminishes to zero as s0s\rightarrow 0 with length scale σ\sigma. For instance, ηϵ(s)=1exp{s2/(2σ2)}\eta_{\epsilon}(s)=1-\exp\big{\{}-s^{2}/(2\sigma^{2})\big{\}} is a common choice.

The vanishing energization transform is the same as the standard energization transform aside from the ϵ\epsilon in the denominator. When the generator 𝐡\mathbf{h} is unbiased (zero at 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0}), this transformed system is also unbiased. The robust energization transform is useful when energizing a biased generator to create an unbiased system. It explicitly includes the ησ\eta_{\sigma} term to ensure the resulting system is zero at 𝐪˙=𝟎{\dot{\mathbf{q}}}=\mathbf{0} (unbiased).

VI Conclusions

This paper reformulates fabrics to focus on their fundamental stability as a medium for policies to operate across. The fabric creates a nominal prior behavior which guides the policy. The policy then steers across the system and regulates energy. When the fabric is geometric, it forms a well-defined road network of paths that the system wants to follow. This reformulation is more intuitive than previous formulations, while subsuming those formulations, making the fabrics both flexible and easier to use in practice, particularly for learning applications.

References

  • Behal et al. [2009] Aman Behal, Warren Dixon, Darren M Dawson, and Bin Xian. Lyapunov-based control of robotic systems. CRC Press, 2009.
  • Bloch et al. [2000] A.M. Bloch, N.E. Leonard, and J.E. Marsden. Controlled lagrangians and the stabilization of mechanical systems. i. the first matching theorem. IEEE Transactions on Automatic Control, 45(12):2253–2270, 2000. doi: 10.1109/9.895562.
  • Bloch et al. [2001] A.M. Bloch, Dong Eui Chang, N.E. Leonard, and J.E. Marsden. Controlled lagrangians and the stabilization of mechanical systems. ii. potential shaping. IEEE Transactions on Automatic Control, 46(10):1556–1571, 2001. doi: 10.1109/9.956051.
  • Bullo and Lewis [2019] Francesco Bullo and Andrew D Lewis. Geometric control of mechanical systems: modeling, analysis, and design for simple mechanical control systems, volume 49. Springer, 2019.
  • Bylard et al. [2021] Andrew Bylard, Riccardo Bonalli, and Marco Pavone. Composable Geometric Motion Policies using Multi-Task Pullback Bundle Dynamical Systems. In International conference on Robotics and Automation (ICRA 2021), Xi’an, China, May 2021. URL https://hal.science/hal-03467542.
  • Cheng et al. [2018] Ching-An Cheng, Mustafa Mukadam, Jan Issac, Stan Birchfield, Dieter Fox, Byron Boots, and Nathan Ratliff. Rmpflow: A computational graph for automatic motion policy generation. In International Workshop on the Algorithmic Foundations of Robotics, pages 441–457. Springer, 2018.
  • Craig [2005] John J Craig. Introduction to robotics: mechanics and control. Pearson Educacion, 2005.
  • Khatib [1986] Oussama Khatib. Real-time obstacle avoidance for manipulators and mobile robots. The International Journal of Robotics Research, 5(1):90–98, 1986.
  • Khatib [1987] Oussama Khatib. A unified approach for motion and force control of robot manipulators: The operational space formulation. IEEE Journal on Robotics and Automation, 3(1):43–53, 1987.
  • Klein et al. [2022] Holger Klein, Noémie Jaquier, Andre Meixner, and Tamim Asfour. A riemannian take on human motion analysis and retargeting. arXiv preprint arXiv:2208.01372, 2022.
  • Macklin et al. [2019] Miles Macklin, Kenny Erleben, Matthias Müller, Nuttapong Chentanez, Stefan Jeschke, and Viktor Makoviychuk. Non-smooth newton methods for deformable multi-body dynamics. ACM Transactions on Graphics (TOG), 38(5):1–20, 2019.
  • Makoviychuk et al. [2021] Viktor Makoviychuk, Lukasz Wawrzyniak, Yunrong Guo, Michelle Lu, Kier Storey, Miles Macklin, David Hoeller, Nikita Rudin, Arthur Allshire, Ankur Handa, et al. Isaac gym: High performance gpu-based physics simulation for robot learning. arXiv preprint arXiv:2108.10470, 2021.
  • Neilson et al. [2015] Peter D Neilson, Megan D Neilson, and Robin T Bye. A riemannian geometry theory of human movement: The geodesic synergy hypothesis. Human movement science, 44:42–72, 2015.
  • Ratliff et al. [2018] Nathan D Ratliff, Jan Issac, Daniel Kappler, Stan Birchfield, and Dieter Fox. Riemannian motion policies. arXiv preprint arXiv:1801.02854, 2018.
  • Ratliff et al. [2020] Nathan D. Ratliff, Karl Van Wyk, Mandy Xie, Anqi Li, and Asif Muhammad Rana. Optimization fabrics for behavioral design. arXiv:2010.15676 [cs.RO], 2020.
  • Ratliff et al. [2021] Nathan D. Ratliff, Karl Van Wyk, Mandy Xie, Anqi Li, and Muhammad Asif Rana. Generalized nonlinear and finsler geometry for robotics. In 2021 IEEE International Conference on Robotics and Automation (ICRA), pages 10206–10212, 2021. doi: 10.1109/ICRA48506.2021.9561543.
  • Spong et al. [2006] Mark W Spong, Seth Hutchinson, Mathukumalli Vidyasagar, et al. Robot modeling and control, volume 3. Wiley New York, 2006.
  • Taylor [2005] J.R. Taylor. Classical Mechanics. G - Reference,Information and Interdisciplinary Subjects Series. University Science Books, 2005. ISBN 9781891389221. URL https://books.google.com/books?id=P1kCtNr-pJsC.
  • Van Wyk et al. [2022] Karl Van Wyk, Man Xie, Anqi Li, Muhammad Asif Rana, Buck Babich, Bryan Peele, Qian Wan, Iretiayo Akinola, Balakumar Sundaralingam, Dieter Fox, et al. Geometric fabrics: Generalizing classical mechanics to capture the physics of behavior. IEEE Robotics and Automation Letters, 2022.
  • Xie et al. [2022] Mandy Xie, Karl Van Wyk, Ankur Handa, Stephen Tyree, Dieter Fox, Harish Ravichandar, and Nathan D. Ratliff. Neural geometric fabrics: efficiently learning high-dimensional policies from demonstration. In Conference on robot learning, 2022.