September 08, 2025
This paper proposes a linear input-output observer design methodology for a population of systems in which each observer uses knowledge of the linear time-invariant dynamics of the particular device. Observers are typically composed of a known model of the system and a correction mechanism to produce an estimate of the state. The proposed design procedure characterizes the variation within the population in the frequency domain and synthesizes a single robust correction filter. The correction filter is compatible with all system models that satisfy the variation characterization such that a given level of estimation performance is guaranteed. This is accomplished by posing a robust performance problem using the observer error dynamics and solving it using \(DK\)-iteration. The design procedure is experimentally demonstrated on a flexible joint robotic manipulator with varied joint stiffnesses. It is shown that the proposed method that uses a single correction filter achieves comparable estimation performance to a method that uses a correction gain tailored toward each joint stiffness configuration.
State observer, robust control, system identification, \(DK\)-iteration
In many applications, knowledge of the state of a system is required. For example, the state is required to perform state-feedback control [1], [2], fault detection [3], and system monitoring [4]. The full state of a system is typically not measured due to limitations on the number and placement of sensors. Observers are used to estimate the state of the system using a model of the system dynamics, as well as knowledge of the inputs and outputs applied to the system. Typically, an observer predicts the state to be estimated using the system dynamics model and the known input augmented with a correction term driven by the innovation. The innovation is the error between the measured and estimated system output.
There are many methods for synthesizing observers, also often referred to as state estimators. The most common observers realize the correction step via a multiplication of the innovation by a constant gain. In the Kalman filter, the constant gain is designed to minimize the mean-squared estimate error subject to white noise disturbances [5], [6]. In \(\mc{H}_{2}\) and \(\mc{H}_{\infty}\) observers, the constant gain minimizes the gain from disturbances to state estimate errors measured via the \(\mc{H}_{2}\) and \(\mc{H}_{\infty}\) norms, respectively [6], [7]. More general observer structures such as the input-output and dynamical observers substitute the correction gain for a dynamical filter, that is to say a transfer matrix, which allows for additional degrees of freedom in the design [8], [9]. Often the constant gain and dynamic filter are referred to as the correction gain and correction filter, respectively.
Figure 1: Diagram of observer design methodologies for a population of electric motors with manufacturing variation.. a — A correction mechanism is designed for, and used with each of its respective system models to form an observer., b — A single correction mechanism is designed using a nominal model, which is used with each system model to form an observer., c — A single robust correction mechanism is designed using a nominal system model and variation characterization, which is used with each system model to form an observer.
In many cases, a set of observers must be designed for a batch of devices with manufacturing variation, or for individual devices whose system dynamics evolve over time. In these cases, the design problem is challenging as the variation in the system dynamics may degrade the estimation performance. A model of each device can be acquired through system identification (ID) methods [10]. For example, a standard system ID procedure can be applied to each device coming from an assembly line, resulting in a data-driven model of each individual system. The use of tailored data-driven dynamics models in the observers improves the estimation accuracy as it exploits the particularities of each system. Therefore, a methodology for designing observers that exploit a system ID model of each device in a population is desirable.
Current observer synthesis methods only allow for the design of a correction gain or filter from a single model. This results in design methodologies that do not scale well with the number of devices or lack estimation accuracy guarantees across the population. These limitations are illustrated in an example in which \(N\) electric motors with varied dynamics due to manufacturing variation are outfitted with observers. All devices undergo a system ID procedure such that a model of each device is available. Figure 1 (a) shows a methodology in which a correction mechanism is designed using each system model. This approach provides good estimation accuracy as the correction step is tailored toward each system, but it becomes impractical for a significant number of devices as the designer may need to tailor the hyperparameters of the design process for each system. Figure 1 (b) shows a procedure in which a single correction gain or filter is designed from a nominal model extracted from the population. This method is practical as only a single correction mechanism must be designed, but it does not provide estimation accuracy guarantees when pairing a system ID model with the correction gain or filter as the variation is never considered.
The contribution of this paper is a novel procedure for synthesizing a set of input-output observers that exploit a data-driven model of each device in a population, which is depicted in Figure 1 (c) and detailed in Section 3. The proposed approach is simple and certifies estimation accuracy over the population of devices. This is accomplished by synthesizing a single robust correction filter from a nominal model and a characterization of the variation, or uncertainty, within the population using methods from robust control theory. Then, the correction filter is paired with the individual system ID model associated with each device. An additional benefit is that an observer can be trivially formed by pairing the correction filter with a model of any additional system if it is within the previously characterized uncertainty set. The proposed approach is experimentally demonstrated on the estimation of angular positions in a planar flexible joint robotic manipulator subject to variation in joint stiffnesses.
This section outlines the input-output observer structure used in this paper and the observer design problem. Linear time-invariant (LTI) systems composed of a process and measurement model are considered. The process model \(\mbf{G}(s) \in \cnums^{n_{x} \times n_{u}}\), defined as \[\begin{align} \mbf{x}(s) = \mbf{G}(s) \mbf{u}(s), \label{eq:process95model} \end{align}\tag{1}\] relates the inputs \(\mbf{u}(s)\) to the states \(\mbf{x}(s)\). The measurement model is defined as \[\begin{align} \mbf{y}(s) = \mbf{C} \mbf{x}(s), \label{eq:measurement95model} \end{align}\tag{2}\] where \(\mbf{C} \in \rnums^{n_{y} \times n_{x}}\) is a constant matrix that maps the states \(\mbf{x}(s)\) to the outputs \(\mbf{y}(s)\). It is assumed that the measurement model is a static mapping with no feedthrough.
An attractive observer structure is the input-output observer, depicted in Figure 2, as it allows for frequency-domain performance specifications and controller synthesis methods such as \(\mc{H}_{2}\)- and \(\mc{H}_{\infty}\)-synthesis [8], [9]. The input-output observer is composed of the process model 1 , the measurement model 2 , and the correction filter \(\mbf{K}(s)\) defined as \[\begin{align} \mbs{\nu}(s) = \mbf{K}(s) \mbs{\rho}(s). \label{eq:observer95correction95filter} \end{align}\tag{3}\] The filter \(\mbf{K}(s) \in \cnums^{n_{u} \times n_{y}}\) maps the innovation \(\mbs{\rho}(s) = \mbf{y}(s) - \mbfhat{y}(s)\), which is the error between the measured and estimated output, to the input correction \(\mbs{\nu}(s)\). The estimated output is \(\mbfhat{y}(s) = \mbf{C} \mbfhat{x}(s)\) where \(\mbfhat{x}(s)\) is the estimated state.
The observer is designed by synthesizing \(\mbf{K}(s)\) that stabilizes the estimation error dynamics and mitigates the effect of disturbances on the errors. The error dynamics, shown in Figure 3, describe the effect of disturbances and/or noise at the input \(\mbf{d}_{u}(s)\), state \(\mbf{d}_{x}(s)\), and output \(\mbf{n}(s)\) on estimate errors at the state \(\mbf{e}_{x}(s)\) and output \(\mbf{e}_{y}(s)\). The error dynamics are in the form of a common control problem meaning that standard synthesis methods can be used.
This section outlines the robust control tools used to characterize the variation within a population of devices and to synthesize a controller that guarantees performance across all systems. Dynamic frequency-dependent uncertainty models are used to characterize the variation of a population of systems [1]. A system is described by the interconnection of a nominal LTI model \(\mbf{G}_0(s)\), a weight \(\mbf{W}_{\Delta}(s)\), and a bounded complex perturbation \(\mbs{\Delta}(s)\) defined as any LTI system that satisfies \[\begin{align} \norm{\mbs{\Delta}(s)}_{\infty} = \sup_{\omega} \bar{\sigma}(\mbs{\Delta}(j\omega)) \leq 1. \label{eq:delta95block} \end{align}\tag{4}\] For example, a multiplicative input uncertainty model describes a dynamics model in a set as \(\mbf{G}(s) = \mbf{G}_{0}(s) (\eye + \mbf{E}_{I}(s))\) where \(\mbf{E}_{I}(s) = \mbf{W}_{\Delta}(s) \mbs{\Delta}(s)\) is the residual. There are other uncertainty models each suited to different applications [1].
Figure 4 (a) depicts a block diagram of the general robust control design problem. The generalized plant \(\mbf{P}(s)\) interconnects the controller \(\mbf{K}(s)\) and perturbation \(\mbs{\Delta}(s)\) with the system to be controlled along with exogenous disturbances \(\mbf{w}(s)\) and performance outputs \(\mbf{z}(s)\) to be minimized. The objective is to design \(\mbf{K}(s)\) that ensures the gain from \(\mbf{w}(s)\) to \(\mbf{z}(s)\) is below a given threshold for all perturbations \(\mbs{\Delta}(s)\) satisfying 4 , which is called the robust performance problem. In order to establish the robust performance condition, let the system \(\mbf{N}(s)\) shown in Figure 4 (b) be defined using a lower linear fractional transformation as [1] \[\begin{align} \mbf{N}(s) &= \mbf{F}_{\ell}(\mbf{P}(s), \mbf{K}(s)). \label{eq:n95system} \end{align}\tag{5}\] The robust performance condition is defined as \[\begin{align} \mu_{\mbshat{\Delta}}(\mbf{N}(j\omega)) < 1, \quad \forall \omega \in [0, \infty), \label{eq:robust95performance95ssv} \end{align}\tag{6}\] where \(\mu_{\mbshat{\Delta}}\) is the structured singular value (SSV) associated with the perturbation \(\mbshat{\Delta}(s)\) [1]. The structured perturbation \(\mbshat{\Delta}(s)\) is given by \[\begin{align} \mbshat{\Delta}(s) = \begin{bmatrix} \mbs{\Delta}(s) & \mbf{0} \\ \mbf{0} & \mbs{\Delta}_{p}(s) \end{bmatrix}, \label{eq:robust95performance95delta} \end{align}\tag{7}\] where \(\mbs{\Delta}_{p}(s)\) is a fictitious perturbation associated with the performance channel gain from \(\mbf{w}(s)\) to \(\mbf{z}(s)\). The signals \(\mbf{w}(s)\) and \(\mbf{z}(s)\) must be appropriately normalized for 6 to hold any significance. In practice, \(\mu_{\mbshat{\Delta}}\) is not directly computed. Instead, the upper bound \[\begin{align} \mu_{\mbshat{\Delta}}(\mbf{N}(j\omega)) \leq \min_{\mbf{D}(j\omega) \in \mbc{D}_{\mbshat{\Delta}}} \bar{\sigma}(\mbf{D}(j\omega) \mbf{N}(j\omega) \mbf{D}(j\omega)\inv) \label{eq:ssv95upper95bound} \end{align}\tag{8}\] is used where \(\mbc{D}_{\mbshat{\Delta}}\) is the set of matrices that commute with \(\mbshat{\Delta}(j\omega)\) such that \(\mbf{D}(j\omega) \mbs{\Delta}(j\omega) = \mbs{\Delta}(j\omega) \mbf{D}(j\omega)\) [1]. The upper bound in 8 is a generalized eigenvalue problem that can be solved by a bisection on the upper bound with semidefinite feasibility problems on \(\mbf{D}(j\omega)\) at discrete frequencies \(\omega\) [11]. Hence, an appropriate grid of frequencies must be selected to evaluate the robust performance condition.
Figure 4: General robust control problem block diagram.. a — General structure for controller synthesis., b — \(\mbs{N}\mbs{\Delta}\)-structure for robust performance analysis.
Currently, there are no direct methods to synthesize \(\mu\)-optimal controllers. However, there is a method known as \(DK\)-iteration, which alternates between \(\mc{H}_{\infty}\)-synthesis and \(\mu\)-analysis, that works well at achieving robust performance in practice [1]. This method designs a controller that minimizes the upper bound on the SSV in 8 yielding the optimization problem \[\begin{align} \min_{\mbf{K}(s)} \left( \min_{\mbf{D}(s) \in \mbc{D}_{\mbshat{\Delta}}} \norm{\mbf{D}(s) \mbf{N}(s) \mbf{D}(s)\inv}_{\infty} \right), \label{eq:dk95iteration95optimization} \end{align}\tag{9}\] which is solved by alternating the minimization of the objective function between the controller \(\mbf{K}(s)\) and the scaling matrix \(\mbf{D}(s)\) [1]. Given that the scaling matrices \(\mbf{D}(j\omega)\) can only be computed at discrete frequencies, a stable and minimum-phase transfer matrix must be fit to the magnitude response to obtain \(\mbf{D}(s)\). This results in the following procedure.
Select an appropriate discrete grid of frequencies.
Synthesize an \(\mc{H}_{\infty}\)-optimal controller \(\mbf{K}(s)\) for the system \(\mbf{D}(s) \mbf{N}(s) \mbf{D}(s)\inv\).
Compute the upper bound of \(\mu_{\mbshat{\Delta}}(\mbf{N}(j\omega))\) and scaling matrix \(\mbf{D}(j\omega)\) at each frequency. Stop if robust performance is achieved, otherwise continue.
Fit a stable and non-minimum phase transfer matrix \(\mbf{D}(s)\) to the magnitude of \(\mbf{D}(j\omega)\) and return to step 1.
The proposed observer design method poses and solves a robust performance problem from the input-output observer error dynamics using \(DK\)-iteration. The methodology is as follows.
Identify an LTI model for each device in a population using a standardized system ID procedure.
Characterize the variation of the population using a dynamic uncertainty model.
Design performance weights and form a generalized plant from the input-output observer error dynamics.
Synthesize an observer correction filter using \(DK\)-iteration that achieves the robust performance criterion.
Form an input-output observer for each device by combining the robust correction filter with the respective system’s LTI model.
Given the attainment of the robust performance condition, any observer tailored toward a system that satisfies the variation characterization will achieve the prescribed level of performance. Therefore, an observer can be formed for a new device even after the variation characterization has been completed provided it is within the variation bounds. This makes for an efficient design procedure as a single correction filter can be used with an arbitrarily large number of devices provided they are compliant with the population variation description.
The state observer design methodology is demonstrated on the Quanser 2 DOF Serial Flexible Joint shown in Figure 5 [12]. The flexible joint manipulator has a planar shoulder and elbow joint. Each joint is composed of a hub rigidly connected to the motor shaft, and a link connected to the motor hub via a pair of springs to exaggerate the effect of gearbox compliance. The radial position and stiffness of the springs is varied to simulate the effect of manufacturing variation in gearbox stiffness. Each body has an encoder that measures its angular position.
The estimation task is to infer the angular positions of the motor hubs and link elastic deflections using the motor currents and motor hub encoder measurements for a set of \(4\) different joint stiffness configurations. The dynamics of the manipulator are nonlinear whereas the observer framework proposed in Section 3 only applies to linear systems. Therefore, the estimation is performed in a linear regime of small perturbations about the equilibrium point in which both links are colinear and stationary. The code required to reproduce the results of this paper is available at https://github.com/decargroup/input_output_observer_population.
Table 1 shows the system variables for the flexible joint manipulator. The inputs, states, and outputs of the system are defined as \[\begin{align} \mbf{u}(s) &= \begin{bmatrix} i_{1}(s) & i_{2}(s) \end{bmatrix}^{\trans}, \tag{10} \\ \mbf{x}(s) &= \begin{bmatrix} \theta_{1}(s) & \alpha_{1}(s) & \theta_{2}(s) & \alpha_{2}(s) \end{bmatrix}^{\trans}, \tag{11} \\ \mbf{y}(s) &= \begin{bmatrix} \theta_{1}(s) & \theta_{2}(s) \end{bmatrix}^{\trans}, \tag{12} \end{align}\] respectively.
Parameter | Unit | Symbol |
---|---|---|
Shoulder motor current | A | \(i_{1}\) |
Elbow motor current | A | \(i_{2}\) |
Shoulder motor hub angular position | deg | \(\theta_{1}\) |
Shoulder link angular deflection | deg | \(\alpha_{1}\) |
Elbow motor hub angular position | deg | \(\theta_{2}\) |
Elbow link angular deflection | deg | \(\alpha_{2}\) |
A process model from the inputs 10 to the states 11 of the flexible manipulator in the linear regime is determined for each joint stiffness configuration using frequency-domain system ID [13]. For each configuration, \(20\) datasets are collected
over a duration of \(81.92
\, (\si{s})\) at a sampling frequency of \(200 \, (\si{Hz})\). The current inputs applied to the system are odd random-phase multisines [13]. The frequency response matrices are computed using discrete Fourier transforms of the input and output signals. Then, state-space models are estimated using
MATLAB
‘s System Identification Toolbox [14]. The nominal model is obtained using the same
system ID procedure with the datasets from all the spring configurations. Figure 6 shows the magnitude response of the identified process models \(\mbf{G}(s)\) and the nominal model
\(\mbf{G}_{0}(s)\). The joint stiffness variation affects the manipulators’ natural frequencies as the peaks on the magnitude plots are shifted across the various configurations. The measurement model is identical for all
joint stiffness configurations and is given by the constant matrix \[\begin{align} \mbf{C} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\
\end{bmatrix}. \label{eq:measurement95model95fjr}
\end{align}\tag{13}\]
The variation in the population of systems is captured by an inverse input multiplicative uncertainty model where [1] \[\begin{align} \mbf{G}(s) = \mbf{G}_{0}(s) (\eye - \mbf{E}_{iI}(s))\inv, \quad \mbf{E}_{iI}(s) = \mbf{W}_{\Delta}(s) \mbs{\Delta}(s). \label{eq:inverse95input95multiplicative95uncertainty} \end{align}\tag{14}\] Figure 7 shows the magnitude response of the residuals \(\mbf{E}_{iI}(j\omega)\) computed from \(\mbf{G}(s)\) and \(\mbf{G}_{0}(s)\). The residuals are the largest around the natural frequencies of the flexible joints as they are being perturbed by the variation in the stiffnesses. The uncertainty weight \(\mbf{W}_{\Delta}(s)\) is obtained by fitting a stable and non-minimum phase transfer function whose magnitude tightly overbounds the maximum residuals \(\max(\mbf{E}_{iI})(j\omega)\) using a constrained log-Chebyshev approximation method [15]. The fit of \(\mbf{W}_{\Delta}(s)\) introduces some conservatism in the variation characterization as it does not tightly overbound \(\max(\mbf{E}_{iI})(j\omega)\) at all frequencies. However, it accurately captures the peaks of the residuals, which is of greater importance.
The generalized plant \(\mbf{P}(s)\) is created by augmenting the input-output observer error dynamics with filters that encode the performance requirements. The block diagram of the augmented error dynamics is shown in Figure 8 and the magnitude response of the weighting filters is shown in Figure 9. The exogenous inputs and performance outputs are given by \[\begin{align} \mbf{w}(s) &= \begin{bmatrix} \mbf{d}_{u}(s)^{\trans} & -\mbf{n}(s)^{\trans} \end{bmatrix}^{\trans}, \tag{15} \\ \mbf{z}(s) &= \begin{bmatrix} \mbf{z}_{1}(s)^{\trans} & \mbf{z}_{2}(s)^{\trans} \end{bmatrix}^{\trans}, \tag{16} \end{align}\] respectively. The input disturbance \(\mbf{d}_{u}(s)\) and sensor noise \(\mbf{n}(s)\) are filtered by \(\mbf{W}_{d}(s)\) and \(\mbf{W}_{n}(s)\), respectively, to encode the bandwidths over which they are expected to be significant. The performance output \(\mbf{z}_{1}(s)\) is the state estimate error \(\mbf{e}_{x}(s)\) low-pass filtered by \(\mbf{W}_{e}(s)\) to penalize estimation errors over the dominant frequency range of the dynamics. The performance signal \(\mbf{z}_{2}(s)\) is the input correction \(\mbs{\nu}(s)\) high-pass filtered by \(\mbf{W}_{\nu}(s)\) to suppress any high-frequency noise in the state estimate.
The correction filter \(\mbf{K}(s)\) is synthesized using \(DK\)-iteration implemented in the python
package dkpy
[16]. The SSV is evaluated on a logarithmically spaced frequency grid with \(61\) points from \(0.01 \, (\si{Hz})\) to \(25 \, (\si{Hz})\). Figure 10 shows the upper bound on the SSV across the steps of \(DK\)-iteration. In the initial iteration, the SSV is greater than \(1\) at nearly all frequencies in the grid with a peak around \(1.4\). Upon the next iteration
where an \(8\)th order fit of \(\mbf{D}(s)\) is used, the SSV is below \(1\) at all frequencies in the grid indicating that the robust performance criterion
is achieved.
The robust observer estimation is demonstrated on a dataset of the flexible joint manipulator. The robust observer is compared against a steady-state Kalman filter where the Kalman gain is designed for each varied system, which is equivalent to the procedure in Figure 1 (a). The Kalman gain is designed using process and measurement noise covariance values that correspond to the DC gain of the disturbance filter \(\mbf{W}_{d}(s)\) and noise filter \(\mbf{W}_{n}(s)\), respectively. Figure 11 shows the angular position estimates of the robust observer and tailored Kalman filter with the ground-truth data for the first \(10 \, (\si{s})\) of an example dataset. The robust observer and Kalman filter track the ground-truth angular positions well, with the exception being for \(\alpha_{1}\). This is likely due to the fact that the shoulder joint is not sufficiently excited to overcome friction effects as both the robust observer and Kalman filter exhibit a similar degree of error in estimating this angle.
Figure 12 shows box plots of the absolute error for each angular position estimate across the \(4\) stiffness configurations. Both estimators have similar error distributions for \(\theta_{1}\), although the Kalman filter’s peak errors are slightly larger. Both state estimators have similar error metrics for \(\alpha_{1}\), which is slightly larger than the other angles likely due to the aforementioned issues with the shoulder joint excitation. The Kalman filter attains more accurate estimates for \(\theta_{2}\) and \(\alpha_{2}\) as the peaks and the interquartile range of the absolute error are smaller. However, the difference is only on the order of a couple tenths of a degree indicating that the two methods have similar performance. Moreover, the larger absolute error seen in \(\theta_{2}\) compared to \(\theta_{1}\) is likely due to the fact that \(\theta_{2}\) attains larger angular deflections. This demonstrates the effectiveness of the proposed observer design procedure, which only requires the synthesis of a single correction filter, as it performs comparably to a method that synthesizes of a correction gain for each system.
This paper proposes a methodology for synthesizing input-output observers for a population of devices that exploit knowledge of the particular LTI system dynamics. The method requires the synthesis of a single correction filter that provides guarantees on the estimation accuracy across the population. The variation in the population is characterized, and a robust performance problem is posed and solved using \(DK\)-iteration. The design methodology is demonstrated on a flexible joint robotic manipulator with variation in the joint stiffness. It is shown that the proposed methodology provides comparable performance to a standard design procedure while requiring the synthesis of only a single correction filter.
The authors would like to acknowledge Steven Dahdah for their discussions on robust observer design and their help with the experimental apparatus.
This work was supported by the NSERC Discovery Grant Program and NSERC Alliance program in collaboration with Denso.↩︎
\(^{1}\)Timothy Everett Adams is a graduate research assistant with the Department of Mechanical Engineering, McGill University, 817 Sherbrooke St. W., Montreal, QC H3A 0C3, Canada
timothy.adams@mail.mcgill.ca
↩︎
\(^{2}\)James Richard Forbes is a Professor and William Dawson Scholar with the Department of Mechanical Engineering, McGill University, 817 Sherbrooke St. W., Montreal, QC H3A 0C3, Canada
james.richard.forbes@mcgill.ca
↩︎