# Control of Separable Subsystems with Application to Prostheses

Nonlinear control methodologies have successfully realized stable human-like walking on powered prostheses. However, these methods are typically restricted to model independent controllers due to the unknown human dynamics acting on the prosthesis. This paper overcomes this restriction by introducing the notion of a separable subsystem control law, independent of the full system dynamics. By constructing an equivalent subsystem, we calculate the control law with local information. We build a subsystem model of a general open-chain manipulator to demonstrate the control method's applicability. Employing these methods for an amputee-prosthesis model, we develop a model dependent prosthesis controller that relies solely on measurable states and inputs but is equivalent to a controller developed with knowledge of the human dynamics and states.

## Authors

• 6 publications
• 7 publications
• 50 publications
• ### Neural Identification for Control

We present a new method for learning control law that stabilizes an unkn...
09/24/2020 ∙ by Priyabrata Saha, et al. ∙ 0

• ### Model-Dependent Prosthesis Control with Interaction Force Estimation

Current prosthesis control methods are primarily model-independent - lac...
11/10/2020 ∙ by Rachel Gehlhar, et al. ∙ 0

• ### Sensor Fusion for Predictive Control of Human-Prosthesis-Environment Dynamics in Assistive Walking: A Survey

This survey paper concerns Sensor Fusion for Predictive Control of Human...
03/18/2019 ∙ by Kuangen Zhang, et al. ∙ 0

• ### Time-projection control to recover inter-sample disturbances, application to bipedal walking control

We present a new walking controller based on 3LP, a 3D model of bipedal ...
01/07/2018 ∙ by Salman Faraji, et al. ∙ 0

• ### Exploiting Spherical Projections To Generate Human-Like Wrist Pointing Movements

The mechanism behind the generation of human movements is of great inter...
03/08/2021 ∙ by Carlo Tiseo, et al. ∙ 0

• ### On the Human Control of a Multiple Quadcopters with a Cable-suspended Payload System

A quadcopter is an under-actuated system with only four control inputs f...
04/04/2020 ∙ by Pratik Prajapati, et al. ∙ 0

• ### A Passivity-based Nonlinear Admittance Control with Application to Powered Upper-limb Control under Unknown Environmental Interactions

This paper presents an admittance controller based on the passivity theo...
04/18/2019 ∙ by Min Jun Kim, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## I Introduction

Powered prostheses offer many advantages over passive prostheses, such as reducing the amputee’s metabolic cost [16, 5] and increasing the amputee’s self-selected walking speed [16]. To control these prostheses, previous work focused on dividing a human gait cycle into phases and controlling each with impedance control [21]

. These methods are highly heuristic and require extensive tuning. Recent work determined these impedance parameters through a bipedal robot gait generation optimization method

[1]. The researchers later improved tracking and robustness of this method by adding a feedback term, formulated by a model independent quadratic program constructed with output functions [25], inspired by [2]. These successes motivate translating to prosthesis other nonlinear control methods that have proved effective for walking robots, such as feedback linearization [4], control Lyapunov functions [2], control barrier functions [3], and input to state stabilizing controllers [14]. However two problems arise when trying to translate these methods to prostheses. One, the control laws depend on the full system dynamics, but here the human dynamics are unknown. Two, the prosthesis dynamics depend on the full system states, but here the human states are unknown.

To address these problems, [15] proposed using feedback linearization on a prosthesis in stance by incorporating the interaction forces between the amputee and prosthesis into the prosthesis dynamics. However, this method requires knowledge of the interaction forces at the amputee’s hip, which cannot be measured, meaning we cannot implement this method on an actual device. Other work examined robotic systems influenced by human behavior by considering the interaction forces [6, 12]. This approach is part of a larger investigation of modeling and control of robots in contact with a dynamic environment, which Vukobratovic examined in many of his works, most comprehensively in [19]. However, these works remain focused on simple models and do not consider incorporating the interaction forces in general nonlinear control methods. Nonlinear control methods were investigated for a multi-body system in the case of multi-machine power system [22]. However, this work formulated the control methods specific to power systems limiting its applicability to other nonlinear systems. This limitation of applying nonlinear control methods to systems coupled to another dynamic system motivates developing a general framework to control separable subsystems.

We develop a feedback linearizing control law for a separable subsystem, a system independent of its full system dynamics. While this controller solely depends on the subsystem dynamics, we prove it is equivalent to one developed with the full system dynamics. Second, we construct the control law using an equivalent subsystem with measurable states and inputs. These novel methods hold potential to construct model dependent controllers for nonlinear subsystems where the dynamics of the full system are either unknown or computationally expensive. This ability could allow nonlinear control approaches to give formal guarantees on stability and safety to coupled subsystems. Here we examine the application to robotic systems by outlining construction of a subsystem of a general open-chain manipulator. Following this framework, we model a powered prosthesis, Fig. 1, as a subsystem. By using the measurable interaction forces and global orientation and velocities at the amputee’s socket, we calculate our separable subsystem control law, independent of both the human dynamics and states. We demonstrate the application of these ideas with simulation results.

## Ii Separable Subsystem Control

To analyze controller construction for the amputee-prosthesis system, consider a general affine control system,

 ˙x=f(x)+g(x)u, (1)

with states and control inputs , where

. The vector fields

and are locally Lipschitz continuous, meaning given an initial condition , there exists a unique solution for some time. For simplicity we assume forward completeness, i.e. solutions exist for all time. We can stabilize this system by constructing a feedback linearizing control law for , which cancels out the nonlinear dynamics of the system and applies a linear controller to stabilize the resultant linear system.

Feedback Linearization. To begin construction of for the affine control system (1), we define linearly independent outputs so that the system has the same number of outputs as inputs. These outputs are of vector relative degree , chosen so such that the system is full state feedback linearizable [20]. We define the vector of partial derivatives of the Lie derivatives [20, 13] of the outputs with respect to the dynamic drift vector for as follows:

 ∂L→γ−1fy(x)∂x≜⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣∂Lγ1−1fy1(x)∂x∂Lγ2−1fy2(x)∂x⋮∂Lγm−1fym(x)∂x⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦.

Then, we define the vector of Lie derivatives with respect to drift vector and control matrix , respectively:

 L→γfy(x)≜∂L→γ−1fy(x)∂xf(x), LgL→γ−1fy(x)≜∂L→γ−1fy(x)∂xg(x).

Finally, we construct a feedback linearizing controller,

 u(x) =−(LgL→γ−1fy(x)A(x))−1(L→γfy(x)L∗fy(x)−μ) (2) =−A−1(x)(L∗fy(x)−μ),

where is the auxiliary control input the user defines to render the linearized system stable. See [20] or [13] for details. Note that is invertible because the outputs are linearly independent and the system is square [20], since the number of inputs equals the number of outputs.

Remark 1. Here, constructing a feedback linearizing controller requires the dynamics of the full system. However, in the case of large dimensional systems, the full dynamics may be unknown or may become computationally expensive, inhibiting feedback linearization.

### Ii-a Control Law for Separable Subystem

This section eliminates the need to know the full system dynamics for feedback linearzization by constructing a separable subsystem control law that only depends on subsystem dynamics. We begin by defining a separable control system.

Definition 1: The affine control system (1) is a separable control system if it can be structured as

 [˙xr˙xs]=[fr(x)fs(x)]+[gr1(x)gr2(x)0gs(x)][urus] (3) xr∈Rnr,xs∈Rns,ur∈Rmr,us∈Rms,

where and .

Because of the structure of in (3), only acts on part of the system. This motivates defining a separable subsystem independent of .

Definition 2. For a separable control system (3), its separable subsystem is defined as

 ˙xs=fs(x)+gs(x)us, (4)

which depends on the full system states .

Now, to construct a feedback linearizing control law for this separable subsystem, we construct output functions that solely depend on the subsystem states and whose Lie derivatives solely depend on the subsystem (4).

Definition 3. For a separable subsystem (4) of the separable control system (3), a set of linearly independent output functions with vector relative degree with respect to (3), where are separable subsystem outputs if they only depend on ,

 ys(xs)∈Rms, (5)

and meet the following cross-term cancellation conditions for and :

 ∂Ljfsys(x)∂xrfr(x)=0, (D3.1) ∂Lγsi−1fsys(x)∂xr[gr1(x)gr2(x)]=[00]. (D3.2)

We use these outputs to introduce a separable subsystem control law in terms of the subsystem (4) alone.

Definition 4. For a separable subsystem (4) with separable subsystem outputs (5), a separable subsystem control law can be defined as the following feedback linearizing control law:

 ussc(x) ≜−(LgsL→γs−1fsys(x)As(x))−1(L→γsfsys(x)L∗fsys(x)−μs) (6) =−A−1s(x)(L∗fsys(x)−μs).

This control law is independent of the rest of the system dynamics , but still depends on the full system states . We will address this dependence in subsequent results to develop an implementable form of this control law that is solely dependent on measurable states.

To compare this control law to , we construct separable outputs for the full system that include the separable subsystem outputs used for (6).

Definition 5. For a separable control system, a set of linearly independent output functions with vector relative degree are separable outputs if they are structured as

 y(x) =[yr(x)ys(xs)],yr(x)∈Rmr,ys(xs)∈Rms, (7)

and are separable subsystem outputs with vector relative degree . The remaining outputs have vector relative degree , where , and can depend on any of the system states . The number of subsystem outputs and the number of the rest of the outputs sums to , and .

For the following theorem, we define the auxilary control input as divided in the following form:

 μ=[μrμs],μr∈Rmr,μs∈Rms. (8)

Theorem 1: For a separable control system (3), if the control law (2) is constructed with separable outputs (7) and auxiliary control input (8), then .

Proof: We begin by relating the 3 components of to the components of , . We are given by (8) that . With condition (D3.2), we show:

 A(x) =(⎡⎢ ⎢ ⎢⎣∂L→γr−1fyr(x)∂xr∂L→γr−1fyr(x)∂xs∂L→γs−1fsys(x)∂xr∂L→γs−1fsys(x)∂xs⎤⎥ ⎥ ⎥⎦[gr1(x)gr2(x)0gs(x)]) =⎡⎢⎣⋆⋆0∂L→γs−1fsys(x)∂xsgs(x)⎤⎥⎦−1=[⋆⋆0As(x)] A(x)−1 =[⋆⋆0As(x)−1].

Similarly, we show:

 L∗fy(x) =⎡⎢ ⎢ ⎢⎣∂L→γr−1fyr(x)∂xr∂L→γr−1fyr(x)∂xs∂L→γs−1fsys(x)∂xr∂L→γs−1fsys(x)∂xs⎤⎥ ⎥ ⎥⎦[fr(x)fs(x)] =⎡⎢⎣⋆∂L→γs−1fsys(x)∂xsfs(x)⎤⎥⎦=[⋆L∗fsys(x)].

Putting these components together to construct yields

 u(x) =−[⋆⋆0A−1s(x)]([⋆L∗fsys(x)]−[⋆μs]) =[⋆−A−1s(x)(L∗fsys(x)−μs)]=[⋆ussc(x)],

showing that as defined in (6).

By Theorem 1, we conclude that we can construct a stabilizing controller, namely (6), for the subsystem independent of the rest of the system dynamics that is identical to the portion of the controller constructed with the full system dynamic that acts on the subsystem. This enables model dependent controllers to be constructed for separable subsystems without knowledge of the full system dynamics.

### Ii-B Equivalency of Subsystems

Although we now have a subsystem control law independent of the rest of the system dynamics, it still depends on the full system states . Consider the case where the states cannot be measured. If we could construct an equivalent subsystem whose dynamics are a function of the subsystem states , measurable states , and measurable inputs , we could calculate the subsystem control law independent of the full system states.

Consider another subsystem,

 ˙¯xs=¯fs(X)+¯gs(X)¯us (9) X=⎡⎢⎣¯xr¯xsF⎤⎥⎦=⎡⎢⎣¯xrxsF⎤⎥⎦∈R¯n,

where is the state vector augmented with an input . Using the same separable subsystem outputs as (5), we can define a control law for the subsystem as the following:

 ¯us(X) ≜−(L¯gsL→γs−1¯fsys(X)¯As(X))−1(L→γs¯fsys(X)L∗¯fsys(X)−μs) (10) =−¯A−1s(X)(L∗¯fsys(X)−μs).

Theorem 2: For the subsystems (4) and (9), if s.t. and the following conditions hold,

 fs(x) =¯fs(X), (T2) gs(x) =¯gs(X),

then . Applying these to (4) and (9), respectively, results in dynamical systems such that given the same initial condition yields solutions .

Proof. Since the subsystems have the same dynamics and outputs, the Lie derivatives that comprise their control laws will be the same as well, hence

 us(x) =−A−1s(x)(L∗fsys(x)−μs) =−¯A−1s(X)(L∗¯fsys(X)−μs)=¯us(X).

With the same control law and dynamics, the closed-loop dynamics of the subsystems will be the same,:

 ˙xs =fs(x)+gs(x)us(x) =¯fs(X)+¯gs(X)¯us(X)=˙¯xs.

Hence, given the same initial condition , they will have the same solution .

By Theorems 1 and 2, we can construct a stabilizing model dependent controller, namely (10), for the subsystem (4) independent of the rest of the system dynamics and with measurable states and inputs.

Zero Dynamics. We can apply these theorems to partially feedback linearizable systems by considering the zero dynamics’ stability. The full system zero dynamics must either project the same value for the subsystem or not occur in the subsystem. A formal proof of this remains for future work. Since we only care about the feedback linearizable part of the system, we restrict our attention to full state feedback linearizable systems.

## Iii Separable Robotic Control Systems

This method of subsystem control for separable systems can be applied to robotic control systems. While a robotic system may not initially be in the aforementioned form (3), one can construct an equivalent model by dividing the model into 2 subsystems and constraining them to each other through the use of a holonomic constraint [17]. For a model in -dimensional space, one can consider this holonomic constraint as a DOF fixed joint. Now, the control inputs of one subsystem only affect the other subsystem through the constraint wrench. This construction hence decouples the dynamics of one subsystem from the control input of the other so the robotic system can be in separable system form (3).

### Iii-a Robotic System in Separable Form

Consider an DOF robotic system in -dimensional space. The coordinates define the robot’s configuration space . Now, consider decomposing this robotic system into 2 subsystems denoted with coordinates and , respectively, and attached with a DOF fixed joint, as previously described, denoted by coordinates , where . An example of this configuration for an amputee-prosthesis system is shown in Fig. 2.

The dynamics of a robotic system are given by the classical Euler-Lagrangian equation [8], [17]:

 D(θ)¨θ+H(θ,˙θ)=Bu+JT(θ)F(θ,˙θ). (11)

Here is the inertial matrix. , a vector of centrifugal and Coriolis forces and a vector containing gravity forces, respectively. The actuation matrix contains the gear-reduction ratio of the actuated joints and is multiplied by the control inputs , where denotes the number of control inputs. The wrenches enforce the number of holonomic constraints. The Jacobian matrix of the holonomic constraints enforces the holonomic constraints by the following equation:

 ˙J(θ,˙θ)˙θ+J(θ)¨θ=0. (12)

Solving (11) and (12) simultaneously yields the constrained dynamics. These terms will now be referred to as , respectively, for notational simplicity.

The number of holonomic constraints is the summation of the number of holonomic constraints for each subsystem, and respectively, and the fixed joint , i.e. . The wrench includes the fixed joint wrenches , i.e. , and the Jacobian includes the Jacobian of the fixed joint’s holonomic constraints , i.e .

Robotic System in Nonlinear Form. Using the notation from Section II-A, will denote the states of the subsystem under consideration for control, and will denote the states of the rest of the system. We also define the control input , where and . By defining the following functions,

 [^fr(θ,˙θ)(ηl+δ)×1^fs(θ,˙θ)ηs×1]≜D−1(−H+JTF), (13) [^gr1(θ,˙θ)(ηl+δ)×mr^gr2(θ,˙θ)(ηl+δ)×ms^gr3(θ,˙θ)ηs×mr^gs(θ,˙θ)ηs×ms]≜D−1B,

we construct the robotic system in nonlinear form with :

 ˙x =f(x)+g(x)u (14) =⎡⎢ ⎢ ⎢ ⎢ ⎢⎣˙θr^fr(θ,˙θ)˙θs^fs(θ,˙θ)⎤⎥ ⎥ ⎥ ⎥ ⎥⎦f(x)+⎡⎢ ⎢ ⎢ ⎢⎣00^gr1(θ,˙θ)^gr2(θ,˙θ)00^gr3(θ,˙θ)^gs(θ,˙θ)⎤⎥ ⎥ ⎥ ⎥⎦g(x)[urus]

For a coupled robotic system, the control input on one side will only affect the other through the constraint wrench at the connection. The wrench appears in the drift dynamics , resulting in . We numerically verified this result for the amputee-prosthesis system under consideration in this paper. This result is produced from the structure of and . Proving the former structure requires the derivation of the inverse inertia matrix and remains for future work.

Assumption 1. An unactuated DOF joint separating a robotic subsystem from its full system in -dimensional space will decouple the subsystem dynamics from the control input of the rest of the system , meaning .

Given Assumption 1, we write system (14) as a separable control system (3),

 [˙xr˙xs] =⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣[˙θr^fr(θ,˙θ)][˙θs^fs(θ,˙θ)]⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦+⎡⎢ ⎢ ⎢ ⎢⎣[0^gr1(θ,˙θ)][0^gr1(θ,˙θ)][00][0^gs(θ,˙θ)]⎤⎥ ⎥ ⎥ ⎥⎦[urus] (15) ≜[fr(x)fs(x)]+[gr1(x)gr2(x)0gs(x)][urus],

which implies a separable subsystem can be written as (4).

Remark 2. Now by Theorem 1, for any separable subsystem outputs , a feedback linearizing control law can be constructed with (6). Typically, we calculate with in terms of by solving (11) for and substituting it into (12). Solving for yields

 F(θ,˙θ) =(JD−1JT)−1(JD−1(H−Bu)−˙J˙θ) (16) ≜λf+λgu.

Then we rearrange the dynamics in (13) as and ), respectively. While this arrangement does not yield a separable control system, it calculates the same , hence Theorem 1 still applies.

### Iii-B Equivalent Robotic Subsystem and Controller

The advantage of constructing a robotic system in the form (3) is applying Theorem 2 to construct an equivalent control law for a robotic subsystem without knowledge of the full system dynamics and states.

Construction of Equivalent Robotic Subsystem. We construct an equivalent robotic subsystem, Fig. 2, by modeling the links and joints of the full model denoted by coordinates . We place a DOF base frame, denoted by

, at the end of the link that connects to the fixed joint in the full model. At these base coordinates we project the interaction forces and moments

with . Here rotates the wrench from the fixed joint reference frame into the world frame . With configuration coordinates , the constrained subsystem dynamics equations are

 ¯D(¯θ)¨¯θ+¯H(¯θ,˙¯θ) =¯B¯u+¯JT(¯θ)¯F(¯θ,˙¯θ)+¯JTf(¯θ)Ff, (17) ˙¯J˙¯θ+¯J¨¯θ =0, (18)

where is the Jacobian of the holonomic constraints acting on the subsytem, apart from those for the fixed joint. These terms will now be referred to as , respectively.

Transformation for Subsystem States and Inputs. Using the notation from Section II-B, with from the full system, , and , we construct the robotic subsystem in nonlinear form. We relate the subsystem’s augmented state vector to the full system states . The base coordinates relate to the full system through the forward kinematics of the fixed joint reference frame with respect to the world frame , [17]. Their velocities relate by the spatial manipulator Jacobian, [17]. To obtain an expression for based on the equation for given in (16), we define the transformation where . Hence the transformation is defined as:

 T(x)≜⎡⎢ ⎢ ⎢ ⎢ ⎢⎣gWf(θ)JsWf(θ)˙θxsιf(F(θ,˙θ))⎤⎥ ⎥ ⎥ ⎥ ⎥⎦=⎡⎢ ⎢ ⎢ ⎢⎣¯θB˙¯θBxsFf⎤⎥ ⎥ ⎥ ⎥⎦=X.

Robotic Subsystem in Nonlinear Form. By defining the following functions,

 ⎡⎣^¯fr(¯θ,˙¯θ,Ff)δ×1^¯fs(¯θ,˙¯θ,Ff)ηs×1⎤⎦ ≜¯D−1(−¯H+¯JT¯F+¯JTfFf), (19) [^¯gr(¯θ,˙¯θ)δ×ms^¯gs(¯θ,˙¯θ)ηs×ms] ≜¯D−1¯B,

we construct the equivalent robotic subsystem as (9):

 ˙¯xs (20) ≜¯fs(X)+¯gs(X)¯us.

We numerically verified condition (T2) is met for the amputee-prosthesis system under consideration for this paper.

Assumption 2. For the given structure of the robotic subsystem model, condition (T2) is met.

Remark 3. With Assumption 2, Theorem 2 applies, enabling users to construct controllers for a robotic subsystem, without knowledge of the full dynamics and states, given the constraint forces and moments at the fixed joint and its global coordinates and velocities . This control law yields the same evolution of subsystem states as those of the full system under the control law . As explained for the full system, we typically solve in terms of and calculate with rearranged dynamics in (19). While this form does not meet (T2), Theorem 2 still holds since the method calculates the same .

## Iv Amputee-Prosthesis Application

The control methods presented in II-A and II-B apply to an amputee-prosthesis system by modeling it as a 2D bipedal robot per the methods of [8] with the addition of a fixed joint at the socket per the methods in III-A. The prosthesis subsystem is constructed according to the method in III-B

. The parameters for the human limbs are estimated based on the user’s total height and mass. The length, mass, and COM are calculated based on Plagenhoef’s table of percentages

[18]. The inertia of each limb is calculated based on Erdmann’s table of radiuses of gyration [7]. The prosthesis parameters are based on a CAD model of AMPRO3 [24], a powered transfemoral prosthesis, Fig. 1.

Generalized Coordinates. For the generalized coordinates of III, we define as Here are the extended coordinates representing position and rotation of the full system’s base frame with respect to the world frame , and and are the relative joint angles of the human’s left and right leg, respectively. The subsystem coordinates denote the relative joint angles of the prosthesis knee and ankle, respectively. See Fig. 2.

### Iv-a Hybrid Systems

To model human locomotion which consists of both continuous and discrete dynamics, a hybrid system is employed. This multi-domain hybrid control system is defined as a tuple,

 \HybridControlSystem=(\DirectedGraph,\Domain,\ControlInput,\Guard,Δ,FG),

where:

• is a directed cycle, with vertices and edges ,

• , set of domains of admissibility,

• , set of admissible control inputs,

• , set of guards or switching surfaces,

• , set of reset maps that define the discrete transitions triggered at ,

• with a control system on , that defines the continuous dynamics for each and .

A detailed explanation of each hybrid system component can be found in [4]. See Fig. 3.

Continuous Domains of Full System. The dynamics of the full system are given by (11), and control system by (14). For each domain, holonomic constraints are used to model the foot contact points present in human walking behavior [8]. Above, pt represents “prosthesis stance” where the prosthetic leg’s foot is constrained to the ground with the 3 DOF constraint , and the human leg is swinging. The leg positions are switched for “prosthesis swing” (pw), where the 3 DOF constraint constrains the human foot to the ground. Both domains have a holonomic constraint for the 3 DOF fixed joint at the socket. See Fig. 3. For this system, for the number of actuated joints in the prosthesis subsystem , and for the rest of the of actuated joints .

Continuous Domains for Prosthesis Subsystem. The continuous dynamics for both domains are defined by (17) where is only present for prosthesis stance when defines the prosthesis foot contact. The control system is defined by (20). As explained in II-B and III-B, the prosthesis subsystem must measure its states and input . In , and can be calculated using inverse kinematics of its own joints since the foot is assumed to be flat on the ground. In , an IMU on the amputee’s amputated thigh can provide the global rotation and velocities. The global positions are not required since they do not appear in the dynamics. Both domains require a load cell at the socket interface to measure the interaction forces .

Guards and Reset Maps. For both domains, the condition for the guard is met when the swing leg reaches the ground. The reset map dictates the discrete dynamics that occur assuming a perfectly plastic impact. See [10] for details.

### Iv-B Prosthesis Gait Design

To control the prosthesis to yield stable human-like walking for the entire amputee-prosthesis system, we design walking trajectories for outputs of the full system. We define separable outputs to enable separable subsystem control:

• hip velocity:

• stance calf: ,

• stance hip: ,

• non-stance hip: ,

• non-stance knee: ,

• non-stance ankle: .

Here and are the stance knee and ankle limb lengths, respectively. The angles