**3. An Extended System for COG–ZMP Robust Estimation and Control**

Choi does not introduce any input–output dynamic model to prove his results, but only a Lyapunov function directly based on Equations (1)–(4). Here, vice versa, the essence of the feedback control problem involving measures of *COG* and *ZMP* with the reference velocity as input is captured by the simple model of the block diagram of Figure 1: a third-order model with states *c*, *c*˙, *c*¨, where the jerk of the *COG* (in the following with an excess of notation, *COG* indicates its projection on the ground) is controlled by a reference velocity signal *u* in an internal partial speed loop with velocity gain *kv* and output *COG* and *ZMP*. The third-order model is needed to guarantee a realistic strictly proper system for the design of the state estimator and feedback as position and acceleration are both present in the output, and in the meantime, representing the internal speed loop with the servo dynamics. If the gain of the local speed loop is taken relatively high (*kv* > 100) the *COG* speed will closely track the reference *u*, as desired. This model does not take into account external forces acting on the system or internal disturbances, as in the case of a lower-limb exoskeleton with the presence of a patient. External forces are introduced when crutches are used or when the patient is sitting on a chair in a sit-to-stand exercise, or simply to accommodate discrepancies between *COG* and *ZMP* measures. Internal disturbances are generated by the involuntary motion of the patient in the small freedom offered by the exoskeleton, independent of the joint motion, and obviously, by modeling errors.

**Figure 1.** The COG–ZMP model of the linearized inverted pendulum.

Then the model can be completed, generating the extended system of Figure 2, as defined in robust control theory (for the definition of the extended system and its role in robust control and H<sup>∞</sup> theory, see [14,15]).

*F* represents low-frequency external forces influencing the *CoP*. In the model *ZMPactual* (i.e., *CoP*), the value measured and *ZMPideal*, the one linked to the *COG* by the linearized inverted pendulum relationship, are defined separately, where *δ* is the difference between the two, the effect of disturbance *F* to be estimated. *COG* and *CoP* are measured as before, taking into account measurement noise represented by two high pass filters *WnoiseCOG* , *WnoiseZMP* . Output objectives are set on the *COG* and on the *ZMP* for sensitivity requirements with respect to process noise (in a different context, here has the same interpretation and scope as in Equation (3)) and the effect of the unknown external force *F*. The weighting functions *WCOG* and *WZMP* are chosen to guarantee steady-state gain (i.e., tracking error with respect to disturbances and *F*) and the frequency band of the loop transfer function in the designed feedback. In order to have a balanced design, the control activity *zu* (with a weighting function *Wu*) is added as an objective against measurement noises *nCOG* and *nZMP*, to set the control

activity. This extended system is used to design robust estimators of *COG*, *COG*˙ , *ZMPideal*, and *δ*, as well as robust controls.

**Figure 2.** The extended system of COG–ZMP, disturbance model of the linearized inverted pendulum.

Let *c*ˆ, ˆ *c*˙, *p*ˆ, ˆ *δ* be the estimates of the *COG* projection on the ground, its derivative, the *ZMPideal*, and *δ*. Then the control strategy of Equation (4) is modified as follows:

$$\begin{aligned} \mathbf{e}\_{\mathcal{L}} &= \mathbf{c}\_{d} - \hat{\mathbf{c}} - \hat{\boldsymbol{\delta}}, \\ \mathbf{e}\_{\mathcal{c}\mathcal{V}} &= \dot{\mathbf{c}}\_{d} - \hat{\mathbf{c}}, \end{aligned} \tag{5}$$

$$\begin{aligned} \mathbf{e}\_{p} &= p\_{d} - \hat{\mathbf{p}} - \hat{\boldsymbol{\delta}}, \\ \mathbf{u} &= \dot{\mathbf{c}}\_{d} + k\_{\mathcal{C}} \mathbf{e}\_{\mathcal{C}} - k\_{p} \mathbf{e}\_{p} + k\_{\mathcal{C}\mathcal{V}} \mathbf{e}\_{\mathcal{C}\mathcal{V}} \end{aligned} \tag{6}$$

with the control scheme represented in Figure 3. This means that *c* (and in the steady state, *p*) must track a perturbed reference in order to guarantee that the *CoP*, and not the *ZMPideal* linked to the *COG*, follows the desired preview signal, despite *ZMPideal* and *COG* converging to the same value in the steady state, independently of the presence of disturbances. A feedback from ˆ *c*˙ is also introduced as it has a critical influence on the closed loop damping.

In the next subsections, two different approaches, based on robust control theory, to compute the state observer and the state feedback coefficients, are introduced and tested. The estimates and the coefficients in Equation (5) result explicitly from standard H<sup>∞</sup> techniques by operating a state-space transformation in the extended system of Figure 2, choosing as states *c*, *c*˙, *p*, *δ*, augmented (for the whole extended system) by the unobservable or uncontrollable states introduced by the dynamics of the weighting functions.

**Figure 3.** Control of COG–ZMP with observer feedback.

## *3.1. Separate Estimator and Feedback*

In this first approach, the extended system with the new state representation is used to design a state estimator.

Then, a static output feedback problem for constrained pole placement is solved on the cascade of the extended system and observer to derive the gains *kc*, *kcv*, and *kp* in (5).

It is known that static output feedback has no analytical solution. Hence, a numerical technique based on the Levenberg–Marquardt algorithms was implemented. No algorithm details are presented here. Just note that by minimizing the sum of the squares of a certain number of penalty functions, the closed-loop poles are brought into a stability region with desired damping, constraining *kc* to be greater than a lower bound, and the control activity (measured by the H<sup>∞</sup> norm of the closed-loop operator from measuring noises to control objectives) to be smaller than an upper bound.
