{'fraction_non_alphanumeric': 0.033627139780070286, 'fraction_numerical': 0.01285285115066319, 'mean_word_length': 4.721965458525906, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Formulating and Deploying Strength Amplification Controllers for Lower-Body Walking Exoskeletons

Augmenting the physical strength of a human operator during unpredictable human-directed (volitional) movements is a relevant capability for several proposed exoskeleton applications, including mobility augmentation, manual material handling, and tool operation. Unlike controllers and augmentation systems designed for repetitive tasks (e.g., walking), we approach physical strength augmentation by a task-agnostic method of force amplification—using force/torque sensors at the human–machine interface to estimate the human task force, and then amplifying it with the exoskeleton. We deploy an amplification controller that is integrated into a complete whole-body control framework for controlling exoskeletons that includes human-led foot transitions, inequality constraints, and a computationally efficient prioritization. A powered lower-body exoskeleton is used to demonstrate behavior of the control framework in a lab environment. This exoskeleton can assist the operator in lifting an unknown backpack payload while remaining fully backdrivable.


INTRODUCTION
Exoskeletons offer the potential to greatly augment the physical load carrying ability by placing the strength of machines under the dexterous control of people. But the amplification of strength through force sensor feedback remains a challenging problem in practice. This problem is unique to this application area and is rarely discussed with regard to the various other types of exoskeletons-e.g., those that aim to recover locomotion capability lost to disease Kwa et al. (2009); Agrawal et al. (2017), offload the strenuous work of rehabilitation therapy from therapists Sugar et al. (2007); Kim and Deshpande (2017), or aid healthy locomotion with timed power boosts Mooney et al. (2014); Zhang et al. (2017); Sawicki et al. (2020). Amplification control systems are designed to magnify the physical strength of the operator as he or she interacts with a load through the exoskeleton, while also reducing the weight and inertia the operator feels from the exoskeleton itself. This kind of control allows non-repetitive, unpredictable tasks with unknown payloads.
Lifting known payloads is a simpler problem. These loads can be lifted by directly compensating their nominal weight with actuator torque commands (i.e., the "gravity compensation" strategy). This compensation could be lifting mostly the exoskeleton itself Kazerooni et al. (2005), or even offloading the operator's own bodyweight Kong et al. (2010) ;Lv et al. (2018); Lin et al. (2019). In an exoskeleton system that can be easily backdriven by the operator, gravity compensation alone is a practical approach for lifting well-modeled payloads Campbell (2018). However, the operator must still accelerate the full inertia, compensate for any model error, and lift any extra payloads. The inertia burden can be lessened by adding positive acceleration feedback Kazerooni (2005); Kong and Tomizuka (2009), but all three issues can be addressed by adding force-feedback-based amplification.
Admittance control for exoskeletons Yu and Rosen (2013); Fontana et al. (2014); Jacobsen and Olivier (2014); Lecours et al. (2012) uses force sensor feedback at the human interface 1 in order to increase the human-side closed-loop admittance, reduce sensitivity to the mass model, and lift unknown loads. But the admittance "increase" is relative to the admittance controller's plant: a position-controlled robot. Since position-controlled robots have an artificially low admittance to begin with Yu and Rosen (2013); Gonzalez and Asada (2019), the closed-loop human-side admittance is typically not an improvement over the torque-controlled gravity compensation strategy. Additionally, the position-controlled plant of the admittance controller will attenuate all external forces acting on the robot. This has the disadvantage of depriving the operator of the force feedback they would normally perceive when they interact with the load.
In order to allow bidirectional transmission of forces to coexist with amplification of human strength, the exoskeleton must transmit both amplified forces from the user to the load and attenuated forces from the load to the user. And this requires a force sensor configuration that can distinguish between load-and human-originated forces. Directly measuring a robot-load interface and robot-human interface with force sensors allowed Kazerooni and Guo (1993); Kazerooni and Mahoney (1991a,b) to control disparate admittance behaviors for each interface. 2 But the controller from Kazerooni and Guo (1993) was still not designed to improve the human-side admittance relative to the torque-controlled gravity compensation strategy. It still used admittance control and a position-controlled robot. In this paper, we use force sensing at the human-exoskeleton and actuator-exoskeleton interfaces (i.e., series elastic actuators), and this serves the dual purposes of distinguishing the human from the load and allowing torque control at the joints. The two interface admittances are then shaped with a cascade of amplification feedback on top of torque-controlled actuators. 3 Unfortunately, the problem of non-passivity is inherent to feedback control that conceals inertia. This is an issue regardless of how the inertia was concealed-through positive acceleration feedback Kazerooni (2005) or force feedback Buerger and Hogan (2007). Without passivity, we must fall back to robust control in order to certify such behaviors. Most importantly, the exoskeleton's human-facing port-its force-position relationship at the human-exoskeleton interface-will be in a feedback interconnection with the human's exoskeleton-facing port. Studies of this feedback interconnection Kazerooni (1990); Hogan (2007, 2006); He et al. (2019a) and the human in particular He et al. (2019b); He et al. (2020) have modeled the human as a mass-spring-damper system with a range of parameter values. The most variable parameter is stiffness, as this depends on muscle contraction Hogan (1984). We must demonstrate that no possible human behavior leads to instability-a robust control problem. Designing a machine to be passive Colgate and Hogan (1988); Hogan (1989); Colgate and Brown (1994); Adams and Hannaford (1999) can also be seen as a robust control problem: such designs guarantee stability against a very wide range of "human" behaviors-the set of all passive transfer functions. Our prior work ; He et al. (2019a); He et al. (2019b); He et al. (2020) has studied this stability problem for a table-mounted elbow exoskeleton.
In this paper, we deploy an amplification controller on a 12 degree of freedom (12-DOF) lower-body exoskeleton with eight torque-controlled active joints and four passive (but sensorized) joints ( Figure 1). The core framework of this controller is a multijoint coordination approach modeled after humanoid robot controllers for torque-controlled joints Sentis et al. (2010); Kim et al. (2016) (e.g., the Valkyrie robot at NASA JSC Radford et al., 2015;Paine et al., 2015) in which a list of 'tasks' (e.g., the position of the end effector, or the force between the feet) is accomplished by the robot. The full controller comprises 1) an optimization that determines robot joint torques using a prioritized list of tasks and a set of constraints that act on the sum of human and robot torques-the "Shared-Body Controller" (Sec. 5); 2) a six FIGURE 1 | Human-exoskeleton-load interaction illustrating the concept of amplification. Marker (A), the Human (inc. part of the backpack), connects to (B), the Apptronik Sagittarius Exoskeleton, which connects to (C), the unknown Load. The Human-Exoskeleton connection is force/ torque sensitive to allow human force feedback. Three diagrams represent forces acting on the inertia matrix of the exoskeleton M x in static equilibrium. When the exoskeleton is in zero-torque mode, the human supports both the load and the gravitational weight of the exoskeletons (D). When the exoskeleton compensates gravity, the human needs only compensate the load and the gravity compensation error (E). Amplification improves on this by making the exoskeleton augment the human input, in addition to compensating gravity (F).
degree of freedom (6-DOF) task that constrains the robot to follow human-led footstep transitions-the inter-foot force task (Sec. 4); 3) an amplification task that accomplishes strength amplification in Cartesian space (Sec. 2); and 4) a heuristic tuning strategy for the amplification filter, which is based on He et al. (2019a) and Thomas et al. (2019) (Sec. 3). We demonstrate the deployed controller's ability to reduce the human effort necessary to lift the robot itself and an unknown payload, as well as the operator's ability to easily back-drive the system to walk around and climb some stairs (Sec. 6).

STRENGTH AMPLIFICATION TASK
Strength amplification can be illustrated using the example of an ideal fixed-base (arm-like) "exoskeleton" performing a forcefeedback behavior with an end effector in contact with both the human and some load.
Consider a fully actuated, grounded base exoskeleton acted on by both a human operator (Jacobian J h , and force f h ) and an unknown load (Jacobian J l , and force f l ) (list of symbols in Table 1), The exoskeleton measures the human forces, f h , and can use this measurement to specify τ. As we will see, by implementing an amplifying control law, the exoskeleton can reduce the human's perception of the load. However to define this amplification law, we will need to first introduce the concept of a whole-body control task Sentis et al. (2010).
Whole body control tasks describe behaviors we want a robot to achieve, for example moving an end effector to a desired 6-DOF pose in Cartesian space. Tasks can also specify the desired internal forces of multi-contact Kim et al. (2016). More generally, tasks define both an effort-flow port of the robot and a target behavior for the robot to imitate at that port-a spring-damper behavior for position control and a force behavior for force control. This port is known as the task-space. By using the mapping between the joint-space of the robot and the taskspace position x t (and the mapping's Jacobian, J t ), a wholebody controller can implement the task behaviors even while floating in zero gravity or maintaining contact with arbitrarily shaped ground Sentis et al. (2010).
We define the amplification task to reduce human perception of load and exoskeleton dynamics disturbances in the task space. These task-space dynamics are originally (i.e., in open-loop) found by premultiplying (1) which clearly shows the human advantage with respect to the load, inertia, and Coriolis forces. For example, this case occurs if 1) both forces are applied to one sensorized, 6-DOF end effector; 2) the sensor measurements of the spatial force vectors of the human and the load are all converted to the same reference frame Featherstone (2014); and 3) this frame is also the frame in which the task is expressed. This law is unfortunately an unobtainable ideal, because it changes the apparent inertia the human feels instantaneously. In other words, the law requires that the actuation bandwidth is Exoskeleton mass matrix, coriolis vector, and gravity vector € q, _ q, q ∈ R nq Exoskeleton joint acceleration, velocity, and position vectors τ ∈ R nq (Fully actuated) joint torque vector n h ∈ Z Dimension of the human interaction, Human interaction cuff Jacobian, forces n l ∈ Z Dimension of the load interaction, J l ∈ R nl ×nq , f l ∈ R nl Load interaction Jacobian, forces n t ∈ Z Dimension of the task, infinite. Beyond the actuation bandwidth, all feedback systems asymptotically revert to their natural dynamics. Thus, in the limit as frequency approaches infinity, the frequency-domain representation of exoskeleton torque should be zero.

Filtered Amplification Task
To allow for bandwidth limited amplification tasks, we introduce the notion of filtered force feedback amplification. Instead of an amplification task following Eq. 3, we define a desired filtered amplification force as the result of a frequency domain filter aŝ f h ′ is the human force vector represented in the task space, F h ′ (s) is its Laplace transform, and K(s) is some matrix of linear filters analogous to (α − 1) in the ideal case. We design this matrix of filters to be diagonal, and consider a strategy for tuning the diagonal filter elements in Sec. 3.
In our exoskeleton, the amplification task is a 6-DOF task concerning the exoskeleton's hip/backpack frame and the 6-axis force/torque sensor that connects the hip/backpack link to the operator. The vector F h ′(s) is the 6-axis force/torque sensor measurement's expression in the task frame (the exoskeleton's hip frame). AndF a (s) is the desired amplification task spatial force vector (expressed in hip frame), which will be treated as a time-domain vector signalf a (t) in Sec. 5.

TUNING THE AMPLIFICATION FILTERS
Since ideal amplification cannot be attained, we must consider a design space of more realistic amplification behaviors. And the essence of this design space is a bandwidth limitation on the control. This bandwidth limit, and its impact on coupled human-exoskeleton stability, has been studied in the context of single degree of freedom exoskeleton systems He et al. (2019a); ; Huang et al. (2020); He et al. (2020), and we will use the single degree of freedom case as a heuristic for understanding the tuning of the amplification task's K(s) filter elements in our multi-DOF exoskeleton. While this heuristic omits several obvious nonlinear effects and inter-task couplings in the full system, it captures the basic problem of human-exoskeleton instability that can occur when bandwidth limits are ignored.

Human-Exoskeleton Stability Model
Consider a 1-DOF linear human and exoskeleton system ( Figure 2A; Table 2) where the exoskeleton acts like an inertia M and is being acted upon by three forces: the human f h (t), the actuator f x (t), and the load f l (t) as where x(t) the shared position of the human and the exoskeleton. We write this model in the frequency domain as using capitalization to distinguish Laplace transforms from timedomain versions of the same signal. The force-feedback filter K(s) is based on a nominal amplification behaviorα(s) 1 + K(s). 4 We parameterize the desired amplification transfer function aŝ i.e., a second order lag with two conjugate poles at lower frequency than the two conjugate zeros, using the same ζ twice for convenience, though this could potentially be optimized. While thisα(s) is not strictly causal, it produces a K(s) which is: Actuation imperfections ultimately limit the bandwidth, and we model these as the transfer function η(s). They include a time delay T and low pass filter effect (i.e., the closed loop bandwidth of the actuator's torque controller) at frequency ω with damping ratio ζ, The mechanical impedance of the human is also modeled as a complex stiffness-a spring with a dissipation term that does not change with frequency. (This model can be interpreted as similar to a spring with a coulomb friction term that scales with the magnitude of deflection, such that the energy lost in flexing the spring does not depend on the speed of the flexing Brissonneau et al., 2021) This complex stiffness model is more accurate than the viscous damping model in predicting human energy dissipation in the elbow, especially at low frequencies He et al. (2020).
To facilitate easy tuning of our controller we reparameterize in terms of an amplification bandwidth parameter ω a (equal to ω p ) and a low frequency amplification gain α 0 ≥ 1 (equal to ω 2 z /ω 2 p ) so that This results in a closed loop system model ( Figure 2B). We then tune only the amplification bandwidth ω a .

Tuning ω a
The tuning process we propose is simple. Sufficiently low values of ω a are always stable, so we can increase ω a until instability to tune the system without explicit system identification.
The bode plot of X(s)/F l (s) ("System" in Figure 3) transitions from a stable low-pass filter behavior to an unstable system as ω a is increased. We note that the critical frequency satisfies a relationship akin to zero phase margin, where both the magnitude of the human (integral) admittance, 1/(K h + C h j) ("Human" in Figure 3), is equal to that of the amplified exoskeleton admittance, 1/[α(s)Ms 2 ] ("Robot" in Figure 3), and the phases of the two are offset by 180°. We call the phase angle difference ∠C x (jω) −∠C h (jω) − 180°at crossover frequency ω where |C x ( jω)| |C h ( jω)| the "Human Phase Margin." Since the human phase margin is also the phase margin for the open loop transfer function C x (s)C −1 h (s) (in the unit negative feedback case), the human phase margin predicts the stability of the closed loop system resulting from the human-exoskeleton interconnection.
A single tuning experiment can determine the limiting bandwidth for any particular amplification shape. Starting with ω a very low, we slowly scale it up until the system appears to vibrate. Once the threshold of oscillation is found, the oscillation frequency is roughly the crossover frequency, and we could obtain an estimate of the human phase if we had a good model of the torque tracking performance and time delay. The problem is practically solved, however, by the formulation of the controller in a one-parameter tunable way. With one knob, it is easy to increase the performance up to the limit, back off for robustness, and get a good result in the end.

Symbol
Meaning Human complex stiffness [see He et al. (2020)] Human forcê α(s) ∈ C Desired amplification transfer function α(s) ∈ C Realized amplification transfer function K(s) ∈ C Feedback controller transfer function η(s) ∈ C Actuation imperfections (time-delay, low-pass filtering) ω a ∈ R Amplification bandwidth (tuning parameter) α 0 ∈ R Steady-state amplification rate ζ ∈ R Amplification damping ratio FIGURE 3 | One parameter tuning of the amplification filter. Three bode plots show three different tuning configurations as the single tuning parameter (the amplification bandwidth ω a ) is increased to failure in our frequency domain model. Tuning arrows indicate increasing ω a . Plotted are the (integral) admittance of the human, C h (s) 1/(K h + C h j ), the human-side admittance of the exoskeleton, C x (s) 1/[α(s)Ms 2 ], and the admittance of the closed loop system obtained when the two are interconnected in parallel, C s (s) X(s)/F l (s). Note that in the third plot, the phase of the closed loop system rises instead of falling, indicating an unstable pole in the right half of the complex plane. In all three bode plots, magnification is used to highlight the calculation of a "Human Phase Margin" which predicts this instability. This calculation uses the phase of C x (s) at the frequency where the magnitude of C x (s) is equal to the magnitude of C h (s)-the crossover frequency. At this frequency, stability of the resulting human-exoskeleton interconnection is determined by comparing the phase of C x (s) to a reference phase 180°offset from the phase of C h (s). The difference between the phase of C x (s) and this reference is the "Human Phase Margin." Frontiers in Robotics and AI | www.frontiersin.org September 2021 | Volume 8 | Article 720231

Practical Considerations
Ultimately this model is introduced as a heuristic for the tuning behavior occurring in the more complex exoskeleton system, so we now revisit its assumptions with an eye to the realistic case. If a small value for α 0 is selected such that the minimum phase of 1/ α(s)Ms 2 stays above the gray line in Figure 3, the system will be stable even for very high ω a . However, this will not hold true forever, and the bandwidth limiting factors in η(s) will cause the realized behavior 1/[α(s)Ms 2 ] itself to become unstable for high values of ω a .
The human model considered here neglected human inertia. If this term were added, the human inertia would be roughly comparable to the inertia of the exoskeleton. The model would not be changed at low frequencies, so the base case (stability of low ω a ) of our tuning process would stay the same. The lower phase of the human due to the inertia would improve the maximum allowable ω a , but a limit would still exist due to the bandwidth limiting factors in η(s).
The inertia of the exoskeleton changes as the person moves it, and this means that the stability of the amplification behavior can change depending on the configuration. Practically, this means that when tuning for maximum performance, care will need to be taken to test each iteration of the ω a parameter over a wide range of poses, to ensure a robust stability.
It is well known that humans have the ability to co-contract their antagonistic muscles and artificially raise their mechanical impedance, and this represents another changing aspect of this problem. If we assume that this scales both k h and h h together, as supported in He et al. (2020), then co-contraction will lower the human admittance and improve the human phase margin. In fact, by using a co-contraction predictor learned from wearable sensors (e.g., EMG and bicep circumference sensors), we have been able to design controllers that adapt online to take advantage of co-contraction to improve controller performance Huang et al. (2020). To ensure robust stability while tuning for performance, the operator will need to avoid co-contraction so as to explore the gain-limiting case.

INTER-FOOT FORCE TASK
Human-led foot contact transitions, such as walking or shifting balance, are an important part of any scheme for controlling lower-body exoskeletons. To allow this critical feature we introduce a second task, the inter-foot force task, that is achieved simultaneously and causes the exoskeleton to follow human-initiated foot lifting.
With one foot on the ground, this foot acts as a virtual base for the exoskeleton-a contact constraint on its otherwise freefall dynamics. Since the exoskeleton is not designed to jump, we can assume that some sort of virtual base always exists. When two feet are on the ground at the same time, we can imagine a virtual single foot between them that acts like a base and moves between the feet according to the operator's own weight distribution.
Two feet together have 12-DOF worth of reaction forces, and the virtual single foot contact only allows 6-DOF to be used as a virtual base. The remaining 6-DOF can be thought of as an error, representing the mismatch between the exoskeleton's reaction force distribution and the operator's. This error should be zero, and eliminating it is the purpose of the inter-foot force task.
To define this error, we first consider how correct reaction force distribution looks, and then consider the linear space of reaction forces perpendicular to this. For this purpose, we introduce an optimization problem that optimally distributes a net reaction wrench f s into two components, one for each foot, where Q 1 and Q 2 are positive definite and typically diagonal. We introduce two new reference frames: frame s (for "sum"), and frame d (for "difference"). Both frames are weighted averages of the two foot frames. Frame s is approximately matched with the human center of pressure. Frame d is the mirror image of frame s, and both frames overlap at the mid-foot point when the human puts equal weight on each foot. Transformation s X * 1 converts spatial force vectors from the 1st foot's frame to frame s, and s X * 2 is the same for the other foot. The force f s represents the sum of the two foot spatial force vectors expressed in frame s ( Table 3).
The equality constrained quadratic programming problem can be solved analytically. Starting from the equilibrium conditions, Xf f s .
In matrix form, Stacking of f 1 and f 2 f s ∈ R 6 Sum of foot spatial force vectors in frame s where Γ XQ −1 X T −1 and X Q −1 X T Γ. Thus This 12-DOF solution f is the virtual single foot contact's distribution of reaction forces between the two feet. The other six degrees of freedom in the foot forces-the degrees of freedom not specified by constraint Eq. 14-represent the inter-foot force task error. More specifically, we define the inter-foot force task error f d in frame d to complete a parameterization of the foot forces f where we introduceX as a rough parameterization of the deviation from the desired force distribution. This gets contorted into being perpendicular to X by the premultiplication with an X image space nullifier. As will be described in Sec. 5.5, the inter-foot force task puts a penalty on f d , and when f d 0, reaction forces minimize the previously defined quadratic cost (since f Xf s ). This leaves f s as the path of least resistance the optimization uses to hold up the weight of the exoskeleton.
We define G to simplify notation: As mentioned in Sec. I, our exoskeleton controller is tasked with simultaneously accomplishing the amplification task at the hip/ backpack interface (Sec. 3) and the inter-foot force task. In terms of reaction forces, the amplification task serves a similar purpose to the centroidal momentum task introduced in Koolen et al. (2016) or the center of mass task in Sentis et al. (2010): it determines the required sum of reaction forces. Meanwhile, the inter-foot force task [similar to the internal force tasks from Kim et al. (2016)] determines the part of the reaction force vector that is decoupled from the center of mass acceleration. With both tasks active, the reaction forces are all defined and the joint torques can be thought of as resulting from an inverse dynamics process-as in the Dynamic Balance Force Control of Stephens and Atkeson (2010).

WEIGHTED 1-NORM SHARED-BODY CONTROL
To combine the amplification task and inter-foot force task while also respecting limitations on the exoskeleton, we compute the joint torques of the exoskeleton using a linear optimization problem. This problem uses concepts of contact constraints, prioritization between task sub-components, a weighted 1norm cost, and the actuator-mapped reaction force space in order to be computationally efficient.

Contact Constraints
Exoskeletons with feet can topple over, and we use an inequalityconstrained floating base model Koolen et al. (2016); Kim et al. (2016Kim et al. ( , 2018; Mungai and Grizzle (2020) to keeping its feet flat on the ground. These inequality constraints act on the base-ground reaction forces, f r defined by the combination of the floating-base exoskeleton and a contact constraint (notation as in Table 4): To avoid tilting the feet, sliding the feet, or pulling on the ground, we require where these inequalities include a simple approximations of the friction cone. For example, two rows would be used to express μ| f x | ≤ f z , where μ is the friction coefficient. The size of C r depends on how many feet are on the ground. Joint torque limits are also represented as inequality constraints.

Actuator-Mapped Reaction Force Space
To speed up the solver and increase its accuracy, we reduce the number of free variables in our optimization problem by handling some equality constraints in advance. More specifically, we find f a (τ) T , f f (τ) T T as functions of the optimization variable τ. Defining a new composite Jacobian, J, force vector, f, and task acceleration, € x, as we can reformat the dynamics Eqs 28, 29 as a matrix equality with an analytic solution, which can be solved as in Eq. 21. We define the dynamically consistent pseudo inverse of J T , J T as and the inertia in the composite task frame as Λ Some terms in the previous expression are more significant than others, and some of the less significant terms are also corrupted by both imperfect knowledge of the exoskeleton's mass matrix and (filtered) differentiation noise inherent in Frontiers in Robotics and AI | www.frontiersin.org September 2021 | Volume 8 | Article 720231 using quantized position sensors to estimate velocity and acceleration estimates. We did not notice a significant drawback in switching to a simplified version which represents a steady state equilibrium: Of course, if we moved fast enough, these omissions would be noticeable. With this simplification, swinging the swing foot very fast should require the operator to resist the centrifugal extension of the knee due to the inertia of the exoskeleton. Also, squatting very quickly should result in a non-zero backpack sensor force due to the neglected acceleration terms. However, at the speeds we tested these effects were dwarfed by other control and mechanical imperfections. We hope that future exoskeletons will achieve such mastery over the basic terms that these dynamic terms will regain relevancy.

Prioritized Tasks
With multiple tasks and inequality constraints, the exoskeleton's behavior is often over-specified. For example, the combination of the lateral (y-axis force) component of the amplification task, the mediolateral-plane rotation (x-axis torque) component of the amplification task, and the stance-foot's lateral center-of-pressure limitation may require a non-zero task error. This is easy to visualize if the exoskeleton's hip is far from the stance foot: the ground reaction force can point toward the hip and avoid rotation, or it can point straight up and avoid lateral force, but it cannot do both simultaneously. A more general version of this problem is well known in the humanoid robotics community Bretl and Lall (2008). This happens frequently during dynamic walking. And it demands that we specify not only which tasks we want to achieve, but in which order the task sub-components should fail to be satisfied if they conflict in this way. 5 When constraints become active, there is neither an obvious choice for what to give up nor an analytical method to optimally decide. However, if we provide a prioritization of the task subcomponents, then an optimal answer exists. This prioritization requires additional parameters-a rank order for each task subcomponent-but these are relatively few, and easy to understand and adjust. This approach has also been used to handle redundancy in task definition even without the limitation of constraints Sentis et al. (2010). When constraints become active, the prioritization approach simply abandons the task subcomponents one at a time, starting with the least important, until the problem is solvable. The lowest priority task subcomponents are the ones for which we feel the human will have the easiest time comfortably handling the task subcomponent failure. In the case of our amplification task, this could mean a failure to amplify the interaction force and/or a failure to achieve gravity compensation. In the case of our interfoot force task, it could mean applying a force to the user's swing foot (failure to gravity compensate) or failing to match the user's desired contact force distribution (failure to transition appropriately, most evident if a foot is load-bearing when it should not be).
Strict prioritization between the tasks is a mathematically well-defined optimization scheme known as lexicographic optimization Bouyarmane and Kheddar (2017). Lexicographic problems must be solved as a series of related optimization sub-problems. First, the most important cost must be optimized within the problem constraints-the first optimization sub-problem. Next, the second most important cost must be optimized within both the original problem constraints and a new constraint. This new constraint requires that the previously minimized cost for the most important objective stays at its previously determined optimal value. With a solution to this second optimization sub-problem, a lexicographic optimization would proceed forward one cost at a time, solving optimization subproblems with an ever-increasing list of constraints. And this recursive process will continue until each component of the prioritized list of costs has been optimized in its own subproblem.
In our hardware, we could only solve three lexicographic optimization sub-problems within our 1 millisecond real-time control window, so with 12 prioritized task sub-components, a Exoskeleton mass matrix, coriolis and gravity vectors € q, _ q, q ∈ R nq Joint acceleration, velocity, position n τ ∈ Z Dimension of the torque space, sans floating base (12 for sagit) τ ∈ R nτ Optimization variable: joint torque vector S ∈ R nq ×nτ Underactuation matrix for a free floating base Jacobian for human contact and forces n r ∈ Z Dimension of the contact constraint (6 or 12) J r ∈ R nr ×nq , f r ∈ R nr Jacobian for ground contact and reaction forces C r ∈ R 20×nr , c r ∈ R 20 Reaction force inequality matrix and bias [see Thomas (2019)] e (·) ∈ R 12 A task error function σ(·) ∈ R 12 A task scalarization function s + , s − ∈ R 12 1-norm slack variables w ∈ R 12 Weight vector J a ∈ R 6×nq , f a , € x a ∈ R 6 Jacobian, force, accel. for the amplification task Jacobian, force, accel. for composite task J ∈ R nq ×18 Dynamically consistent pseudo-inverse of J Λ ∈ R 18 × 18 Inertia matrix in composite task frame G ∈ R 12 × 12 Virtual base definition matrix from Eq. 27 τ ∈ R nτ Maximum torque, human + exoskeleton f a ∈ R 6 Vector of filtered desired amplification task forces from Sec. 2 5 After trying both prioritizations, we determined that the operator prefers a failure in x-axis torque balance, even if this causes the exoskeleton's hip to "wobble" relative to the human's with every step due to the compliance of the backpack attachment in this degree of freedom. proper lexicographic solution was outside the realm of plausibility.

Weighted 1-Norm Cost
Weighted scalarization costs are an established approach to approximating a lexicographic optimization in the context of humanoid control Bouyarmane and Kheddar (2017). To avoid our computational bottleneck, we also used a scalarization that retains the linearity of the cost function. But in doing so we must add two positive slack variables and two inequality constraints for each scalarized cost (which were all task elements) to remain within a linear programming framework. For our vector of task errors e(τ), we define a vector of scalarizations σ(τ) where s + , and s − are the newly introduced vector slack variables, and the new vector inequalities in Eq. 36 are elementwise inequalities. Under conditions that are almost always met, 6 σ(τ) |e(τ)| (as an elementwise absolute value). This approach to modelling an absolute value function within the confines of a linear programming problem is the key to our application of a weighted 1-norm cost on the vector of all task errors. Clearly, summing the elements of σ(τ) results in the vector 1-norm of e(τ). Summing the elements of σ(τ) with positive weightings (setting cost equal to w T σ(τ) for some vector of positive weights w) is a weighted scalarization in the sense of Bouyarmane and Kheddar (2017), but we can also think of it as a weighted 1-norm-as the 1-norm for a scaled version of the original space. We prefer this as a name for the way it invokes a lozenge-like rhomboid geometry in 2D, and a diagonally-scaled octahedron geometry in 3D.
To capitalize on this 2D intuition, Figure 4 illustrates how the weighted 1-norm cost can be adjusted through the weighting to approximate different lexicographic costs (there are only two in 2D space: either x matters more than y or vice versa). The illustration features a convex 2D set of solutions which satisfy constraints. The two axes represent orthogonal tasks, with the origin representing zero error for both tasks. Cost A uses a weighting that penalizes y error more than the x, cost B penalizes them roughly equally, and cost C penalizes x error more than y. In both cases A and C, the minimum cost point which satisfies constraints falls on one of the two axes-exactly as a lexicographic solution would. The fact that 1-norm costs tend to produce solution vectors with many zero entries (so-called "sparse" solutions Candes et al., 2008) is well known and frequently exploited. To promote lexicographic solutions instead of simply solutions with many zeros requires tuning the penalty weights to favor the prioritized tasks. In our illustration, the weightings in A and C are sufficiently extreme, and two lexicographic solutions emerge. Cost B illustrates a nonlexicographic middle-ground: neither cost is penalized enough to completely dominate the other, and the solution vector assigns non-zero error to both tasks.
One disadvantage of weighted 1-norm costs in exoskeleton control is that the constraints are continuously varying due to the changing exoskeleton geometry, and this can cause the optimal behavior to jump discontinuously. This can occur if the 1-norm cost discontinuously switches from being aligned with one lexicographic solution to a different lexicographic solution or even a nonlexicographic solution. We call these abrupt switches "priority inversion events." To avoid these events entirely, we would need 1-norm weights with near-infinite scale differences between task sub-components. Since this is obviously not possible with floatingpoint numbers, the weighted 1-norm is an approximation: it sacrifices accuracy for speed. Fortunately, the approximation of the lexicographic problem is asymptotically perfect as the weight discrepancy increases. We exploited large differences in the weights to avoid priority inversion events during our experiment. The numerical precision of the linear program solver allowed us sufficient space to set these weights orders of magnitude apart and achieve reliable reproduction of the lexicographic problem in practice. These numerical limits restrict the total number of priority levels that can be correctly implemented.

A Linear Program for Shared-Body Control
At this point, we can express the optimization problem that the shared-body controller needs to solve at every controller update. Note that the passive joints 7 are treated as being active joints for FIGURE 4 | Illustration of how weighted 1-norm costs can behave similarly to lexicographic (prioritized) costs. Plot in the space of task error for task-x and task-y. Weighted 1-norm costs A, B, and C are depicted with a single contour line each. Optimal solutions for each task shown as colored circles. The so-called "sparsity promoting" nature of the weighted 1norm cost can be understood in this context as optimal solutions which sacrifice one task to achieve the other. As exemplified by cost B, however, this is not guaranteed and depends on the inequality constraints and the shape of the valid region they generate. the purpose of the optimization. Their non-zero torques represent the expectation of the exoskeleton on the human operator.
We write our optimization problem, minimize τ,s+,s− with some new notation from Table 4. Slack variables s + and s − are introduced to describe absolute value operations. Weightings w form the weighted 1-norm cost. Limits on absolute torque are expressed with τ. And the τ-dependent vector f(τ) from Eq. 38 (or from the steady-state approximation Eq. 39) is used to find e(τ) and f r (τ).
The first, e(τ), represents the 12-DOF vector of task errors for the amplification task and inter-foot force task: wheref a is the desired amplification task force from (6) in Sec.
2.1; f a (τ) is the force the exoskeleton applies at the backpack interface, which is a part of f(τ) as written in Eq. 31; and f d (τ) is also related to f(τ) as in Eq. 26: using the matrix G from Eq. 27.
The second, f r (τ), represents the subset of the foot forces f f (τ) corresponding to the feet that are actually on the ground. This vector is used to compute the constraints associated with hard friction cones and unilateral contacts-i.e., Eq. 30, which is directly reproduced in Eq. 37b.
We call this program "Shared-Body Control" because the human and the exoskeleton's torque and contact forces are both relevant. The true conditions for tipping over the foot are a function of both human and exoskeleton reaction forces. The sum of the human and exoskeleton reaction forces needs to lie within the friction cone, but sometimes the human works to counterbalance large torques the exoskeleton applies to the ground. We cannot know the human forces given our sensor configuration, so we are forced to be either optimistic (risking failure) or very conservative. Taking the conservative route means that our constraint will occasionally interfere with our tasks unnecessarily.
The human is also the only possible source of torques for the passive joints. By relaxing the torque requirements on the passive joints, the optimization will produce a torque vector representing a sum of exoskeleton and human originated torques. While we cannot expect the human to implement such torques, we can use this technique to prevent the exoskeleton from abandoning tasks which it could accomplish with help from the human (bounded, of course, by τ).

Hardware
Our hardware platform is the Sagittarius P5 lower-body exoskeleton from Apptronik Systems, shown in Figure 5. This exoskeleton has 12 joints, six per leg. We name the joints in the serial kinematic chain from the torso to the foot 1) hip abduction/adduction, 2) hip flexion/extension, 3) hip internal/external rotation (hip yaw), 4) knee flexion/ extension, 5) ankle flexion/extension, and 6) ankle pronation/supination (ankle roll). Of these six, four are powered joints. The two passive joints are hip internal/ external rotation (also referred to as hip yaw for alignment with the local z axis) and ankle pronation/supination (which we also call ankle roll for similar reasons). The powered hip abduction and hip flexion joints are actuated by rotary series elastic actuators, while the other two feature proprietary linkage designs connecting linear series elastic actuators with rotary joint motion. Power is provided from off-board the device via a joint power and communication tether. The actuators communicate with a real-time Linux desktop workstation through an ethercat bus. The different parts of the exoskeleton are highlighted in Figure 5, with rigid bodies being bordered by different color lines on the spectrum from blue to purple, human attachment points in orange, and safety features in red. To ensure the safety of the operator, the exoskeleton is attached via a slack safety rope to an overhead gantry system, and the rope's height is operated by an assistant when the height is changing rapidly (as in the stair-climbing activities pictured in Figure 5. The operator wears a helmet, and there are multiple easy ways to stop the exoskeleton in an emergency: 1) a software emergency stop button, 2) a button on the top of the main backpack circuitry box, and 3) a button that the operator is required to hold at all times.

Controller Implementation
While we have presented the controller design in a very general way, not all of its nuanced behavior is relevant enough to demand implementation in the hardware system we used. In particular, the dynamic terms in Eq. 34 were not large enough for the operator to notice their omission, and the dynamically consistent pseudo-inversion of J is unnecessary given that J is invertible with the tasks we defined, thus Note that when a component of the amplification task has K(s) set to zero, it will not amplify human forces but will still compensate gravity.
We chose to amplify cuff forces at the hip/backpack sensor in order to assist the operator in lifting a backpack-mounted payload. And as previously indicated, we applied a inter-foot force task to allow the exoskeleton to switch ground contacts effectively. To summarize the tasks of the controller, the six individual spatial force vector components of the human-side force are fed into a diagonal matrix of amplification compensators as described in Sec. 3. And this occurs in the frame of the amplification task-the hip frame. For the three sagittal plane forces and torques (x-force, z-force, and ytorque) we may apply non-zero amplification, but the other three are left at zero in this work. This is based on the physical intuition that the sagittal plane forces and torque represent the larger interaction quantities during walking. This forms the 6-DOF amplification task. Based on a bed of 12 insolemounted pressure sensitive resistors, a rough estimate of the human center of pressure is produced. This estimate is used to construct the elements of the inter-foot force task, which is also a 6-DOF task. With this hardware-specific preprocessing completed, the tasks are sent to a separate and more generic module to perform the linear programming optimization work. The software implementation of this optimization process is separate from the Apptronik control framework and is available as open source software Thomas (2019). It primarily acts as a wrapper layer for the linear programming solver from the COIN-OR Lougee-Heimer (2003) community.

Priorities
We avoided priority inversion events by iterative tuning of the priority weights (Table 5). This tuning was done with squatting and stepping behaviors similar to the planned tests. High-priority tasks that were never sacrificed held large weights, of roughly equal value. To effectively use the limited numerical precision, these tasks were equally ranked relative to each other. The most important weights were quickly identified and set to values that reliably avoided priority inversion in the tested behaviors. The more difficult question was identifying the priorities preferred by the operator. We iterated various priority rankings between the components of the amplification task until our operator was satisfied with the behavior. First, we attempted to re-create linear inverted pendulum behavior by prioritizing the moment components over the force components. This prioritization had been effective with the Hume/Mercury biped robot Kim et al. (2016Kim et al. ( , 2020. Unfortunately, this first approach frustrated the operator, as the exoskeleton was naturally unstable. We eventually settled on the weightings in Table 5, which sacrifice x-torque first and are more comfortable for the operator. This preference may be exoskeleton or operator specific. The main drawback of the priorities from Table 5 is that at each stance transition the hips of the device roll such that the stance hip is higher than the swing hip-likely due to the lower penalty on hip amplification x-torque. However, we must sacrifice something, and this appeared to be the leastuncomfortable choice. The large swing in the hip position is due to the rather loose coupling that the backpack provides in this degree of freedom. In testing, we began to suspect that operators may prefer a lower task penalty on the inter-foot force task while in double support but react strongly negatively to inter-foot force task violation while in swing (since this entails the exoskeleton loading their swing foot). We made a slight modification to the sum scalarized cost for the inter-foot force task as described in Eqs 37a, 37d, 37e, 38. A second copy of the task penalty was added, with a dead zone. We made the inter-foot force task error appear twice in the task error vector e(τ) instead of only once as in Eq. 38. Thus, we had two separate components of the weight vector w from Eq. 37a that penalized the same task. To introduce the dead zone for the second copy of the penalty, FIGURE 5 | The Apptronik Sagittarius Exoskeleton used in this paper. The operator can climb stairs with the exoskeleton, even when it is not amplifying forces, due to the backdrivable torque-controlled actuators (gravity compensation and strength amplification are both active in the pictured movement). Coloring segregates rigid exoskeleton parts for the right leg (blue-through-purple), human interfaces (orange) and the safety features (red).

Task Weighting
Hip amplification x-force 1 × 10 5 Hip amplification y-force 1 × 10 5 Hip amplification z-force 1 × 10 5 Hip amplification x-torque 1 × 10 0 Hip amplification y-torque 1 × 10 1 Hip amplification z-torque 1 × 10 5 Inter-foot x-force, limit penalty 1 × 10 -1 , 1 × 10 5 Inter-foot y-force, limit penalty 1 × 10 -1 , 1 × 10 5 Inter-foot z-force, limit penalty 1 × 10 -6 , 1 × 10 6 Inter-foot x-torque, limit penalty 1 × 10 -6 , 1 × 10 5 Inter-foot y-torque, limit penalty 1 × 10 -6 , 1 × 10 5 Inter-foot z-torque, limit penalty 1 × 10 0 , 1 × 10 5 Frontiers in Robotics and AI | www.frontiersin.org September 2021 | Volume 8 | Article 720231 we added a sparse bias vector to 37d, 37e. We call this new penalty, with its dead zone and higher penalty cost, the "Limit Penalty" (see Table 5) since it acts like a soft limit forcing the values to stay within the dead zone. Within the dead zone, this new cost still behaves like the original weighted 1-norm cost (plus a constant bias that does not influence the optimum), but at the boundary of the dead zone, the weight suddenly becomes much higher. We scheduled the dead zone width based on the center of pressure location, such that in single support this dead zone collapsed to zero and the inter-foot force task essentially took on the higher weighting of the limit penalty. In dual support, the width of the dead zone reached its widest when the feet were evenly balanced and reduced linearly in either direction away from that midpoint.

Demonstrating the Amplification Task
We conducted a set of simple tests to demonstrate the difference between gravity compensation and human strength amplification. These tests aimed to demonstrate an improvement in amplification stability relative to previous controllers developed for the exoskeleton and its previous partial prototypes (the 1-DOF testbed from He et al. (2019a); , a two degree of freedom leg, and a previous revision on the same lower-body design) under the same project Campbell (2018), which was a condition of our using the exoskeleton. 8 Figure 6; Table 6 show the basic structure of our tests: the operator wears the exoskeleton in a roughly standing position and various controller features are turned on and off. Extra weight is attached to the backpack as an unknown load in tests 6.4.3-4, and the image shows where it hangs relative to the operator. Figure 7 shows the results of the three tests. This experiment is shown in the video attachment Thomas (2020).
In the first test, 6.4.1 the exoskeleton joints are on, but the desired torque is zero. The first column of plots in Figure 7 show the large z-force on the backpack due to the gravitational load of the exoskeleton acting on the operator. Variation in the angle shows that the operator was not perfectly holding still over the duration of the test. This natural human movement, while it prevents us from easily comparing across experiments (the operator does not even have the same resting posture between loading configurations), is hard to compensate for or avoid.
The next test, 6.4.2 enables gravity compensation-which means the torques from the shared-body controller are applied to the exoskeleton, but the amplification filters are all set to apply no strength amplification feedback (α 0 1, sof a 0). This drastically reduces, but does not entirely eliminate, the interface forces and torques. Even if the exoskeleton's mass parameters were perfectly modeled, the operator would still need to apply forces through this interface to control the passive joints of the exoskeleton. Compensating for the weight of the heavy exoskeleton is the most significant component of the system's behavior. We can see this from the enormous reduction in human interface forces and torques in Figure 7 between 6.4.1 and 6.4.2: the vertical force, Fz, drops roughly 300 N, and the sagittal plane torque, Ty, drops roughly 40 N m.
In test 6.4.3, we added an 11 kg (25 lb) mass to the backpack, without changing the control mode. Based on our empirical determination, this represents the maximum load the exoskeleton could reliably handle without overheating during dynamic motions like walking. The test does not focus on the transient response but on the steady state behavior with the weight (mechanically, it would be hard to make the weight addition appear sudden without dropping it).
We see some unexpected behavior in the vertical sensor force: the weight's 110 N did not transfer to the sensorized interface. The user confirmed that additional vertical force and sagittal torque were felt. This suggests a "force leak" in the design of the backpack sensor, where the force of the added weight is transferred to the operator without passing through the sensor. A likely culprit is the hip-pad of the backpack (directly connected to the operator) and the hips of the exoskeleton-as  this would be consistent with the clear increase in the y-torque.
The "force leak" does not appear to allow all vertical forces to bypass the sensor. 6.4.1 clearly shows large forces.
In the final test, 6.4.4, we engaged the amplification filters-providing a steady state amplification factor of 3, and a zero pair at 1 Hz for all three degrees of freedom in the sagittal plane. By choosing these conservative settings, we were able to achieve stability on the first try. 9 Our system is pioneering in that it amplifies human strength at the backpack/hip link of the exoskeleton; there are no direct performance comparisons for this control feature. Our steady state amplification of human forces by 300% exceeded the 208% amplification (52% mass reduction) of sagittal hip moment in Zanotto et al. (2015), which also used force feedback to amplify human lower-body strength. However, this is not an exact comparison, as Zanotto et al. (2015)'s system used a treadmill mounted exoskeleton, had a different sensing configuration, and has only two degrees of freedom whereas our system has 12. The amplification's pole frequency (0.58 Hz) and amplification magnitude (α 0 3) at the hip/backpack human-exoskeleton interface are comparable to our previous results on a 1-DOF FIGURE 7 | The four experiments from Table 6, shown as subfigure columns (A-D), are compared in terms of the three sagittal plane components of the human-exoskeleton interaction force/torque, the sagittal joint torques, and the sagittal joint angles. In Exp. 6.4.1 (A), the exoskeleton joints apply no torque (as shown in A.4), and the human-exoskeleton interface supports ≈300 N (as shown in A.3) as well as a ≈35 Nm moment at the hip (as shown in A.1). In Exp. 6.4.2 (B), the controller is turned on with α 0 1 (no amplification), and human-exoskeleton vertical force (B.3) and sagittal torque (B.1) are vastly decreased due to gravity compensation. In Exp. 6.4.3 (C), a 11 kg mass is attached to the back of the exoskeleton (as shown in Figure 6), and this produces an increase in the human-exoskeleton sagittal torque (C.1), ≈30 Nm. Finally, Exp. 6.4.4 (D) increases α 0 from 1 (no amplification) to 3 in the sagittal tasks, and the human-exoskeleton sagittal torque increase due to the added mass is reduced by roughly a third-considering (B.1,C.1,D.1) representing the average numerical value of the curves, D.1 − B.1 ≈ 1/3(C.1 − B.1)-as expected. With the amplification engaged, the operator deepens the squat at 10 s (D.5) and then moves to a second, less extreme squat at 20 s (D.5), showing that the torque reduction continues to work. This squat is shown in the video attachment Thomas (2020). We would also expect that amplification would reduce the vertical force from the added mass; however, the vertical force remains roughly zero before adding the weight (B.3), after adding the weight (C.3), and with both the weight and amplification (D.3)-the expected 110 N force increase between (B.3) and (C.3) did not occur. Since the operator recalls feeling vertical forces from the addition of the mass, we suspect that there is a "force leak" where the vertical component transferred to the operator in a way the force sensor could not detect. Torque and angle measurements in the bottom two subfigure rows are measured using the exoskeleton's spring deflection encoders and joint encoders, and therefore represent the exoskeleton's-and not the operator's-torque and position. human elbow exoskeleton; in the notation of Appendix A, He et al. (2019a)'s robust controller used α 0 10, k G 0.1, Z g 10, and P g 0.01, resulting in an amplification magnitude of 2.995 at 0.58 Hz. However, unlike our controller, He et al. (2019b) had even greater amplification at lower frequencies: its lowest polepair was at 0.146 Hz, and its steady state amplification rate was 9.91.
As shown in Figure 7's fourth column, the human's effort was reduced to roughly a third of its value in the third column in the ytorque component. More specifically, the disturbance due to the added weight, which can be seen by comparing 6.4.3 (with weight) against 6.4.2 (no weight) in terms of y-axis torque, is attenuated by the amplification factor, resulting in a much smaller disturbance effect when comparing 6.4.4 (attenuated weight) to 6.4.2 (no weight). We must make this comparison despite joint angle differences on the order of 10°between these tests-a limitation of our operator and operator-exoskeleton coupling. In 6.4.4, the operator engages in two different squat positions (switching posture at roughly 10 and 20 s). The interface forces remain within 10-15 Nm despite these kinematic changes. This supports the notion that if the operator were able to perfectly reproduce the posture from Exp. 6.4.3 in 6.4.4, the y-axis torque would also be within this range.

Demonstrating Foot Transitions
Distributing weight between the two feet using the inter-foot force task is a key behavior of the system and was tested when the operator walked on level ground and stairs. Since the exoskeleton itself was based on high bandwidth torque-controlled actuation, the operator could easily backdrive it to climb up stairs or to stand on one foot. While this happened, the exoskeleton continued to compensate for its own gravitational weight and amplify strength at the hip/backpack sensor. Figures 8, 9 show the operator shifting weight from one foot to another and lifting up the legs one at a time. Since the operator decreases the ground reaction force on a foot before lifting it, matching the measured human ground reaction force distribution between the feet leads the exoskeleton to reduce its own ground reaction force on that foot in anticipation of the loss of contact. As mentioned in Sec. 4, the weighting matrices Q 1 and Q 2 in Eq. 15 are scheduled according to the exoskeleton's measurement of the human's weight distribution. When the human shifts weight to one foot, the Q matrix penalty for reaction forces on the other foot becomes much larger. And since this causes the COP of the exoskeleton to approximate the COP of the human, this prevents the human from needing to lift a load-bearing exoskeleton leg. In addition, the penalty limit method allowed the exoskeleton more freedom during dual support but smoothly reduced this freedom when approaching single support, so that by the time it was reached the inter-foot force task was essentially the highest priority.
This behavior is shown in more detail through the internal exoskeleton visualization of Figure 9. This Rviz model visualizes many signals of interest, as described in the legend table. All frames are expressed as red (x) green (y) blue (z) line segments meeting at the local origin. Spatial force vectors (comprising a force and a torque) are shown as a ray from the local origin (the force) and a bi-vector-a directed plane comprised of four vectors making a square-to represent the torque. Joint torques are represented as pure bi-vectors. Unlike vector descriptions of torque, the bi-vector visualization has an unambiguous scaling relative to the force visualizations and cannot be confused for them. The four instants pictured in Figure 9 of the contact transition show the apparent center of pressure moving from the left foot to the right foot, and the corresponding shift in all the joint torques and the predicted reaction forces from the sharedbody controller. As this is shifting, the reference frame of expression for the sum of reaction forces and the inter-foot force task's difference of reaction forces swap feet. At all times, the reaction force/torque b.6 representing the sum is roughly equal to the sum ground reaction force calculated without using the passive joints b.4-which means that the exoskeleton is supporting the vast majority of its weight even during this transition. The backpack force/torque sensor b.0 confirms this, as it is small (and therefore hard to spot) throughout the transition.

DISCUSSION
Strength amplification control offers us the potential to feel stronger as we manipulate the load through our exoskeleton. This paper deploys a control that has put that vision into practice under laboratory circumstances.

Benefits and Drawbacks
This controller has several advantages relative to the state of the art. It respects contact limitations-guaranteeing that the exoskeleton will never force the person to roll their ankles, lift their toes, or slide their feet. It improves human-side admittance relative to the gravity compensation baseline without the antistable acceleration feedback of Kazerooni et al. (2005). It keeps the human in control of the inter-foot force distribution using an elegant linear algebraic decomposition of the contact forces-a more general approach than Ref. Jacobsen and Olivier (2014). It allows the operator to move heavy objects without removing the force-feedback path that they would need in order to move the objects carefully-a force-feedback path that is removed by admittance control strategies Fontana et al. (2014).
Of course, the controller has downsides as well. The strategy depends on centralizing the contact between the human and the exoskeleton into a small set of sensors. 10 This centralization places a significant burden on the mechanical design and introduces a new failure mode-the "force leak," where interaction between the exoskeleton and the operator occurs outside the sensors. Additionally, all amplified interaction with the load must go through the exoskeleton structure-another mechanical design challenge. Due to the complexity of the mechanical design problem, the strategy makes it difficult to achieve the ultra-high energy density of successful locomotion augmentation exoskeletons Kim et al. (2019); Mooney et al. (2014). This is an open problem. Augmentation exoskeletons are already close to the energy-density boundary at which the energy they provide is equal to the energy they cost the user due to their mass. The extra design constraints make it harder for amplification exoskeletons to cross this boundary even at slow walking speeds.

Open Problems in the Control Framework
The control framework itself also has some open questions. Perhaps most pressing, is the lack of a formal stability guarantee that spans the entire control system from the human model to the inequality constraints of the linear program. In terms of the human model, we have approximated the mechanical impedance of the human and the cuff as being component-wise decoupled between the six degrees of freedom in our amplification task. Since an extremely low amplification bandwidth is still stable, and since our tuning process increases bandwidth until instability is discovered, this approximation limits us by introducing conservatism in the final tuning. Because of inter-component human coupling behavior, the tuning process may result in a different answer depending on the order with which the individual task sub-component bandwidths are tuned. In terms of the optimization, our approach may be at risk of chattering without a formal analysis of the hybrid-dynamical behavior of the discrete selection of an active set of inequality constraints and the continuous dynamics of the human and exoskeleton, though we have yet to observe this in practice.
Second, the framework was only tested with six amplification task sub-components. In theory, it supports arbitrarily many task sub-components. And it is also theoretically possible to join the inter-foot force task with the amplification task-to make the swing foot capable of acting like an amplified manipulator. Elimination of the inter-foot force f d currently restricts the exoskeleton to applying a pair of ground reaction forces inside a six-dimensional space. The six-dimensional null space that is prohibited includes non-zero internal forces along the axis between the feet and canceling vertical torques perpendicular to the ground-the internal forces of multi-contact Sentis et al. (2010). If these internal forces were instead amplified, then the exoskeleton could theoretically assist in kicking and manipulation of objects with the feet. We lacked the sensing configuration for such a test: it would require the full 6-DOF interaction force/torque between the human foot and the exoskeleton foot to be measured, rather than just the vertical pressure between them. Thus, to validate the scalability our theory predicts, we would need an exoskeleton with either 1) more sensorized human contacts (arms, for example) or 2) the elimination of all human-load contact that does not pass through the exoskeleton as an intermediary.
Third, the controller tuning process is intended to be robust to all activities the operator performs, but we cannot know all these activities beforehand. A practical extension to this work would be to introduce an always-online learning process to continually adapt the tuning and avoid instability. Previously we have looked at tuning automation using online stiffness estimation Huang et al. (2020). However, this type of automation could potentially be simpler: if the system starts to vibrate, it could reduce the amplification bandwidth until the vibration subsides. Such a procedure would essentially automate our manual tuning approach. a key part of our strategy, because with them we can avoid sensorizing the external force interface. This is a major advantage compared to systems designed to follow the extender concept Kazerooni and Guo (1993). The lack of load sensors gives us the freedom to properly handle amplification for load contract forces at any contact point along the structure of the exoskeleton. As for series compliance itself, however, control performance would be better with nearly-rigid springs. In our experiment, the primary bandwidth-limiting factor that η(s) must describe is the 10 Hz bandwidth of the exoskeleton's actuators. And this bandwidth is limited by the mechanical stiffness of the series spring, the noise level in the motor position and spring deflection sensors, and the bandwidth of the low-level electrical current controller. The time-delay of approximately 1 ms was non-limiting (due to the 10 Hz actuator bandwidth), so to improve the overall performance of the exoskeleton, the most efficient strategy would be to increase the spring stiffness and spring deflection sensor resolution. The series elastic actuators are simply torque sources to us, and direct drive motors offer higher bandwidth as torque sources. Removing the springs could also save weight. But series elasticity has some practical advantages: the force sensing is cheap and high quality, the exoskeleton's motors are protected from impacts, and both the transmission's friction and the rotor's reflected inertia are well hidden from the user.

Potential Applications
We have demonstrated the control framework on the Apptronik Sagittarius exoskeleton, which is designed to lift heavy payloads as the user moves quickly. In this use case, the benefit of amplification control-relative to gravity compensation of the payload-is the potential reduction of inertial forces the user needs to compensate (without resorting to acceleration feedback) and the forces due to modeling error in the compensation. Future controllers for this application might investigate further enhancements to the operator's quality of life, such as posture or safety support that guides the user.
However, amplification is also of great interest in load manipulation and heavy-duty tool use. We imagine some industrial amplification exoskeletons might be for slowly manipulating very large loads under direct human control. If they were to move fast, they would require significantly more impressive power density than we typically see today. Such an exoskeleton, worn by a skilled operator, might be fielded in difficult terrain as an alternative to tracked construction vehicles, perhaps with specialized tools for manipulating the environment. Given the strength of the system, these tools might not be constrained by weight relative to other tools for such difficult environments. The exoskeleton could act as an adjustable bracing system that allows the operator to maneuver them into position in a controlled way. For example, a construction worker could use an exoskeleton to maneuver an oversize pneumatic drill to carve a staircase on un-finished mountain terrain. Exoskeletons as platforms offer new possibilities for industrial tools and potential job sites by combining the flexibility of people with the strength of machines.
While our exoskeleton is designed to mimic the kinematics of the person wearing it, this is not the only way to approach the design. The control framework also has the potential to allow nonanthropomorphic exoskeletons to amplify human interaction. For example, consider a robot connected to an operator's feet with long spindly legs that join together at a robot "hip." Where this hip also features an enormous power tool that requires the user to manipulate it with both hands. Such an architecture would require the same control system features as our anthropomorphic exoskeleton structure: strength amplification in the frame of the robot's hip, awareness of contact inequalities, and human-led footstep transitions.

DATA AVAILABILITY STATEMENT
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.

ETHICS STATEMENT
Written informed consent was obtained from the individual(s) for the publication of any potentially identifiable images or data included in this article.