<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Built Environ.</journal-id>
<journal-title>Frontiers in Built Environment</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Built Environ.</abbrev-journal-title>
<issn pub-type="epub">2297-3362</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1374819</article-id>
<article-id pub-id-type="doi">10.3389/fbuil.2024.1374819</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Built Environment</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Evaluation of data-driven NARX model based compensation for multi-axial real-time hybrid simulation benchmark study</article-title>
<alt-title alt-title-type="left-running-head">Xu et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fbuil.2024.1374819">10.3389/fbuil.2024.1374819</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Weijie</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2664845/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Meng</surname>
<given-names>Xiangjin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2660501/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Cheng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1023494/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Guo</surname>
<given-names>Tong</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Peng</surname>
<given-names>Changle</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2686653/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Key Laboratory of Concrete and Prestressed Concrete Structures of the Ministry of Education</institution>, <institution>Southeast University</institution>, <addr-line>Nanjing</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Engineering</institution>, <institution>San Francisco State University</institution>, <addr-line>San Francisco</addr-line>, <addr-line>CA</addr-line>, <country>United States</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/262523/overview">Wei Song</ext-link>, University of Alabama, United States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1810902/overview">Georgios Baltzopoulos</ext-link>, University of Naples Federico II, Italy</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/444536/overview">Brian M Phillips</ext-link>, University of Florida, United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/171509/overview">Bin Xu</ext-link>, Huaqiao University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/697645/overview">Zheng Lu</ext-link>, Tongji University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Cheng Chen, <email>chcsfsu@sfsu.edu</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>20</day>
<month>03</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>10</volume>
<elocation-id>1374819</elocation-id>
<history>
<date date-type="received">
<day>22</day>
<month>01</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>08</day>
<month>03</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Xu, Meng, Chen, Guo and Peng.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Xu, Meng, Chen, Guo and Peng</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Actuator control takes a pivotal role in achieving stability and accuracy, particularly in the context of multi-axial real-time hybrid simulation (maRTHS). In maRTHS, multiple hydraulic actuators are necessitated to apply precise motions to experimental substructures thus necessitating the application of multiple-input multiple-output (MIMO)control strategies. This study evaluates the data-driven nonlinear autoregressive with external input (NARX) based compensation for the servo-hydraulic dynamics within the maRTHS benchmark model. Different from previous study, nonlinear terms are incorporated into the NARX model. Online least square and ridge regression techniques are utilized to estimate the model coefficients to achieve optimal compensation. The influence of various model order and window length is assessed for the NARX model-based compensation. The findings of this research demonstrate that NARX-based compensation has significant potential not only in facilitating precise actuator control for maRTHS but also in enabling robust control in the presence of unknown uncertainties inherent to the servo-hydraulic system.</p>
</abstract>
<kwd-group>
<kwd>nonlinear autoregressive with external input model</kwd>
<kwd>actuator delay</kwd>
<kwd>compensation</kwd>
<kwd>multi-axis</kwd>
<kwd>real-time hybrid simulation</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Earthquake Engineering</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Experimental technique plays an indispensable role in advancing earthquake engineering research. Rigorous experimentation is crucial for new structures or materials to be considered suitable for engineering applications. In comparison with conventional methods such as shaking table tests and quasi-static tests, real-time hybrid simulation (RTHS) stands out by integrating numerical modeling of analytical substructures with physical testing of experimental substructures. This integration allows full scale test possible in both time and size. With over 2&#xa0;decades of dedicated research focusing on integration algorithms, delay compensation, and evaluation methods, RTHS has emerged as an effective and efficient technique for performance evaluation of systems under earthquakes. Its capability to facilitate real-time, large-scale testing has significantly contributed to the evaluation and validation of technologies for seismic hazard mitigation, marking a pivotal milestone in the field of earthquake engineering (<xref ref-type="bibr" rid="B11">Nakashima et al., 1992</xref>; <xref ref-type="bibr" rid="B13">Ou et al., 2015</xref>; <xref ref-type="bibr" rid="B16">Tian et al., 2020</xref>; <xref ref-type="bibr" rid="B8">Li et al., 2022</xref>; <xref ref-type="bibr" rid="B14">Palacio-Betancur and Soto, 2023</xref>).</p>
<p>RTHS can be categorized based on the number of experimental substructures or actuators required as single-actuator RTHS (saRTHS) or multiple-actuator or multi-axial RTHS (maRTHS) (<xref ref-type="bibr" rid="B4">Chen and Ricles, 2012</xref>; <xref ref-type="bibr" rid="B9">Lu et al., 2022</xref>; <xref ref-type="bibr" rid="B10">Najafi et al., 2023</xref>). In saRTHS, a solitary actuator is employed to apply the desired displacement exclusively to the only experimental substructure. Conversely, maRTHS demands a minimum of two hydraulic actuators to impart the necessary motion to experimental substructures. In the context of saRTHS, the implementation of single-input single-output (SISO) control is imperative to mitigate actuator delay introduced by actuator dynamics. Previous research underscores that actuator delay can be regarded as equivalent to negative damping, leading to inaccuracies in test results and even destabilize the overall simulation if not compensated adequately (<xref ref-type="bibr" rid="B6">Horiuchi et al., 1999</xref>; <xref ref-type="bibr" rid="B18">Wallace et al., 2005</xref>; <xref ref-type="bibr" rid="B3">Chen and Ricles, 2008</xref>). Traditional delay compensation methods typically require researchers to pre-estimate the time delay before conducting tests, assuming constant delay or constant actuator dynamics throughout RTHS. Consequently, the efficacy of such methods heavily relies on the accuracy of this estimation (<xref ref-type="bibr" rid="B1">Carrion and Spencer, 2008</xref>). However, researchers have also noted that actuator dynamics are frequency-dependent and time-varying. This suggests that signals with varying frequencies or times may correspond to different actuator delays. Consequently, both the assumption of constant delay and constant actuator dynamics are inconsistent with the actual actuator dynamics, even when actuator delay or dynamics are accurately predicted (<xref ref-type="bibr" rid="B20">Xu et al., 2016</xref>).</p>
<p>To address the limitations of traditional compensations, adaptive methods utilize measured displacements from actuators to continually update estimations during RTHS, enhancing compensation performance. These approaches are often termed adaptive compensation methods, as their parameters undergo self-regulation. Consequently, the need for accurately estimating actuator delay or dynamics before tests is eliminated. Furthermore, the adaptive nature of these methods allows for the regulation of time-varying delays or actuator dynamics. As a result, adaptive compensation methods have become the predominant approach in RTHS, with many validated through benchmark problems (<xref ref-type="bibr" rid="B12">Ning et al., 2019</xref>; <xref ref-type="bibr" rid="B19">Wang et al., 2019</xref>; <xref ref-type="bibr" rid="B22">Xu et al., 2019</xref>; <xref ref-type="bibr" rid="B23">Zhou et al., 2019</xref>; <xref ref-type="bibr" rid="B15">Silva et al., 2020</xref>). Among these methods, the Nonlinear Autoregressive with External Input Model (NARX) compensation (<xref ref-type="bibr" rid="B21">Xu et al., 2022</xref>)constructs the actuator dynamics as a function of previously predicted displacements and current or previous measured displacements. The relationship between calculated displacement and predicted displacement is determined based on this actuator dynamics model. NARX model-based compensation can be further categorized into different orders, such as first order NARX (F-NARX), second order NARX (S-NARX), third order NARX (T-NARX), and higher order NARX, depending on the number of previous calculated displacements considered in the formulation. When nonlinear terms are ignored, NARX degenerates into autoregressive with external input (ARX). This is akin to adaptive time series compensation (ATS) (<xref ref-type="bibr" rid="B2">Chae et al., 2013</xref>) when the ordinary least squares method is applied to compute coefficients in the NARX model (<xref ref-type="bibr" rid="B2">Chae et al., 2013</xref>; <xref ref-type="bibr" rid="B2">Chae et al., 2013</xref>). Furthermore, first order NARX can be considered as an adaptive alternative to traditional inverse compensation (<xref ref-type="bibr" rid="B3">Chen and Ricles, 2008</xref>).</p>
<p>In contrast with saRTHS, maRTHS offers the advantage of synergistically utilizing existing laboratory facilities to address multi-dimensional problems, thus presenting potential solutions to complex engineering challenges. However, the transition to maRTHS requires the adoption of multiple-input multiple-output (MIMO) control strategies instead of single-input single-output (SISO) control, thus imposing challenges. Moreover, the global performance of saRTHS mainly depends on the tracking performance of one actuator, while tracking performance of all actuators should be considered for maRTHS.</p>
<p>In this study, data-driven NARX model-based compensation is evaluated for the maRTHS benchmark model (<xref ref-type="bibr" rid="B17">Uribe et al., 2023</xref>), which features a steel frame, two hydraulic actuators, and a high-stiffness steel coupler. Expanding upon the groundwork laid by the NARX controller proposed by <xref ref-type="bibr" rid="B21">Xu et al. (2022)</xref>, this study delves into the integration of nonlinear terms into the NARX model-based compensation framework. Whereas previous applications primarily focused on linear terms, this research introduces the inclusion of nonlinear elements for enhanced practical implementation. Moreover, the study advocates for the utilization of ridge regression techniques to bolster the efficacy of online least square regression within the NARX framework. Ten criteria are utilized to evaluate the performance of RTHS including both tracking performance and global performance indices. Nonlinear terms are explored for the NARX model-based compensation, and model coefficients are estimated using online least square regression and ridge regression techniques. The study evaluates the impact of different model order and window length on the compensation performance. The findings of this research further demonstrate the effectiveness and robustness of the NARX model-based compensation for maRTHS. In <xref ref-type="sec" rid="s2">Section 2</xref>, we delve into the NARX method, with <xref ref-type="sec" rid="s2-1">Sections 2.1</xref>&#x2013;<xref ref-type="sec" rid="s2-3-1">2.3.1</xref> elaborating on its intricacies. Following this, <xref ref-type="sec" rid="s2-3-2">Sections 2.3.2</xref>, <xref ref-type="sec" rid="s2-4">2.4</xref> introduce our novel contributions. The application of these innovations in a benchmark model for maRTHS is detailed in <xref ref-type="sec" rid="s3-2">Section 3.2</xref>.</p>
</sec>
<sec id="s2">
<title>2 Nonlinear autoregressive exogenous model based compensation</title>
<sec id="s2-1">
<title>2.1 Formulation of NARX model based compensation</title>
<p>For the NARX model (<xref ref-type="bibr" rid="B7">Leontaritis and Billings, 1985</xref>), the current value of a time series is influenced not only by its past values but also by the current and past values of an exogenous series. Mathematically, this relationship can be expressed as:<disp-formula id="e1a">
<mml:math id="m1">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3d6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1a)</label>
</disp-formula>
<disp-formula id="e1b">
<mml:math id="m2">
<mml:mrow>
<mml:mi>&#x3d6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(1b)</label>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m3">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the output of the model at the <italic>t</italic>th step; <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:mi>&#x3d6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the regression term; <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the previous values of output before the <italic>t</italic>th step; <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are external input for current and previous values; <italic>&#x3b5;</italic>(<italic>t</italic>) is error term; and <italic>F</italic> ( ) represents nonlinear function. When employing the NARX model in Eq. <xref ref-type="disp-formula" rid="e1b">1b</xref> to formulate compensation method for delay, the predicted displacement <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and command displacement <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> for the <italic>n</italic>th step are employed as its input and output, without the inclusion of an error term, denoted as <italic>x</italic>(<italic>t</italic>) and <italic>y</italic>(<italic>t</italic>) respectively.<disp-formula id="e2">
<mml:math id="m9">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <italic>i</italic> and <italic>j</italic> are the number of predicted displacement and command displacement required. Derived from Eq. <xref ref-type="disp-formula" rid="e2">2</xref>, the predicted displacement at the current time is computed based on predicted displacements at previous times and command displacements at the current and previous times. This resulting is referred to as NARX model-based compensation hereafter.</p>
</sec>
<sec id="s2-2">
<title>2.2 Simplified form of NARX model based compensation</title>
<p>Eq. <xref ref-type="disp-formula" rid="e2">2</xref> presents a universal formulation of NARX model-based compensation, wherein the predicted displacements are interconnected, allowing for the application of any nonlinear function. However, under practical circumstances, this formulation of NARX model-based compensation may not be directly applicable. A simplified version is often necessary in such situations.</p>
<p>In contrast with calculated and measured displacements, predicted displacements serve as intermediate values and lack a direct correlation with structure responses in RTHS. When predicted displacements are interrelated, it poses a risk to the stability of RTHS, particularly if one predicted displacement falls outside a reasonable range. To address this issue, the predicted displacements from previous steps are ignored.</p>
<p>Among all possible types of functions <italic>F</italic> ( ), the efficacy of polynomial functions has been substantiated. In this context, Eq. <xref ref-type="disp-formula" rid="e2">2</xref> can be represented as:<disp-formula id="e3">
<mml:math id="m10">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">q</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf7">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the corresponding coefficients of the NARX model for the first order and second order polynomial functions, respectively. As observed from Eq. <xref ref-type="disp-formula" rid="e3">3</xref>, an infinite number of terms can be employed in the NARX model-based compensation method, representing infinite orders of polynomial functions. For the purpose of practical applications, Eq. <xref ref-type="disp-formula" rid="e3">3</xref> should be truncated to a certain order with finite terms. For example, Eq. <xref ref-type="disp-formula" rid="e3">3</xref> can be simplified as<disp-formula id="e4a">
<mml:math id="m13">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(4a)</label>
</disp-formula>when the order of the NARX model is two, and<disp-formula id="e4b">
<mml:math id="m14">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mo mathvariant="bold">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">q</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(4b)</label>
</disp-formula>
</p>
<p>When the order of the NARX model is one, Eq. <xref ref-type="disp-formula" rid="e4a">4a</xref> represents the simplest linear form among all possible NARX model-based compensations when compared with Eq. <xref ref-type="disp-formula" rid="e4b">4b</xref>. In this configuration, the NARX model degenerates into an ARX model. Eq. <xref ref-type="disp-formula" rid="e4a">4a</xref> is also referred to as the <italic>j</italic>th order NARX model based on the terms required. <xref ref-type="table" rid="T1">Table 1</xref> outlines the coefficients for first, second, and third order NARX model-based compensations, denoted as F-, S-, and T-NARX, respectively (<xref ref-type="bibr" rid="B21">Xu et al., 2022</xref>).</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Coefficients of the different order NARX model-based compensation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">NARX based compensator</th>
<th align="center">Coefficients</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">F-NARX</td>
<td align="center">[<inline-formula id="inf9">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>]</td>
</tr>
<tr>
<td align="center">S-NARX</td>
<td align="center">[<inline-formula id="inf10">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>]</td>
</tr>
<tr>
<td align="center">T-NARX</td>
<td align="center">[<inline-formula id="inf11">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>]</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2-3">
<title>2.3 Parameter estimation for NARX model-based compensation</title>
<p>In theory, the measured displacement <inline-formula id="inf12">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> should be identical to the command displacement <inline-formula id="inf13">
<mml:math id="m19">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> when the delay compensation method works perfectly. In this scenario, the relationship between predicted displacements and measured displacements can be expressed as:<disp-formula id="e5a">
<mml:math id="m20">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5a)</label>
</disp-formula>
</p>
<p>or<disp-formula id="e5b">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5b)</label>
</disp-formula>
</p>
<p>Given that all <inline-formula id="inf14">
<mml:math id="m22">
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf15">
<mml:math id="m23">
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>m</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> values in Eq. <xref ref-type="disp-formula" rid="e6b">6b</xref> are accessible during RTHS, the NARX model can be derived through data regression between predicted and measured displacements. This model can then be applied to Eq. <xref ref-type="disp-formula" rid="e2">2</xref> to compensate time delay. For illustrative purposes, Eq. <xref ref-type="disp-formula" rid="e4a">4a</xref> is employed as an example to illustrate this procedure. By substituting <inline-formula id="inf16">
<mml:math id="m24">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> with <inline-formula id="inf17">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, Eq. <xref ref-type="disp-formula" rid="e5a">5a</xref> can also be written as<disp-formula id="e6a">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(6a)</label>
</disp-formula>
</p>
<p>or<disp-formula id="e6b">
<mml:math id="m27">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(6b)</label>
</disp-formula>
</p>
<p>However, Eq. <xref ref-type="disp-formula" rid="e6b">6b</xref> comprises only one equation with <italic>j</italic>&#x2b;1 undetermined parameters, leading to an under-determined system. Consequently, there exists an infinite number of possible solutions satisfying this equation. To address this challenge and arrive at an appropriate and unique solution, additional constraints must be introduced. In this study, the predicted displacements from previous steps are employed to estimate the undetermined parameters, i.e.,<disp-formula id="e6c">
<mml:math id="m28">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6c)</label>
</disp-formula>
</p>
<p>The number of equations, denoted as <italic>M</italic>, in the parameter estimation process is thereafter referred to as the window length, which is an integer larger than <italic>j</italic>. It is then obvious from Eq. <xref ref-type="disp-formula" rid="e6c">6c</xref> that the calculated coefficients <inline-formula id="inf18">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in NARX-based compensation are not instantaneous undetermined parameters rather parameters estimated through a fixed window length. When the window length is relatively small, the estimated parameters closely approach the current values. Defining <inline-formula id="inf19">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf20">
<mml:math id="m31">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf21">
<mml:math id="m32">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <bold>
<italic>D</italic>&#x3d;</bold> <inline-formula id="inf22">
<mml:math id="m33">
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, Eq. <xref ref-type="disp-formula" rid="e7">7</xref> can be written as<disp-formula id="e7">
<mml:math id="m34">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>In Eq. <xref ref-type="disp-formula" rid="e7">7</xref>, <inline-formula id="inf23">
<mml:math id="m35">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf24">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be obtained during RTHS, allowing for the estimation of parameters in NARX model-based compensation through these linear systems of equations. As the window length, denoted as <italic>L</italic>, is larger than <italic>j</italic>, Eq. <xref ref-type="disp-formula" rid="e7">7</xref> leads to an over-determined system, wherein the number of constraints exceeds the number of unknown variables. Consequently, a solution satisfying the linear system is generally nonexistent. Instead, an approximate solution is sought to minimize a given error. To obtain the estimated parameters, two data regression methods, namely, ordinary least squares and ridge regression, are introduced in this study.</p>
<sec id="s2-3-1">
<title>2.3.1 Ordinary least square</title>
<p>The essence of ordinary least squares lies in estimating parameters by minimizing the sum of residual squares, aiming to find <inline-formula id="inf25">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> appropriate value that satisfies.<disp-formula id="e8">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">argmin</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <italic>&#x2018;argmin&#x2019;</italic> represents the argument of the minimum. To identify this minimum, the least-square error is expanded as<disp-formula id="e9">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-3-2">
<title>2.3.2 Ridge regression</title>
<p>Ordinary least squares in Eq. <xref ref-type="disp-formula" rid="e9">9</xref> offers the best linear unbiased estimation with minimum variance, particularly when the correlation matrix form of <italic>D<sup>T</sup>D</italic> is nearly a unit matrix. However, the practical application of ordinary least squares has limitations, especially when the correlation matrix deviates significantly from a unit matrix. Instead, ridge regression, which is based on estimation from (<italic>D<sup>T</sup>D</italic>&#x2b;<italic>&#x3b3;</italic>
<bold>
<italic>I</italic>
</bold>), proves to be more suitable (<xref ref-type="bibr" rid="B5">Hoerl and Kennard, 1970</xref>) and gives:<disp-formula id="e10">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b1;</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <italic>&#x3b3;</italic> is a real positive number and plays a crucial role in the performance of ridge regression. As the value of <italic>&#x3b3;</italic> increases, the total variance decreases, accompanied by an increase in squared bias. Meanwhile, the performance of ridge regression aligns with ordinary least squares when <italic>&#x3b3;</italic> is small, but diverges from real values as <underline>&#x3b3;</underline> becomes large.</p>
<p>When conducting ridge regression in NARX model-based compensation, it is identical as ordinary least squares when <italic>&#x3b3;</italic> equals 0. As <italic>&#x3b3;</italic> increases, the calculated &#x2018;<italic>a</italic>
<sub>n</sub>&#x2019; becomes smaller. In this scenario, the stability of the compensation can be ensured, albeit at the expense of accuracy. To strike a balance between stability and accuracy, ridge regression is primarily applied for compensation methods with three or more parameters, and the range of <italic>&#x3b3;</italic> should be carefully selected.</p>
</sec>
</sec>
<sec id="s2-4">
<title>2.4 Discussion of nonlinear terms</title>
<p>Eqs <xref ref-type="disp-formula" rid="e4a">4a</xref>, <xref ref-type="disp-formula" rid="e4b">4b</xref> employ the linear and nonlinear formulation, respectively. The former has exhibited better applicability in real-time hybrid simulation compared to the latter, attributed to the inherent complexity and nonlinearity of hydraulic systems. The linear form can be adapted to various hydraulic systems, while the same cannot be said for the nonlinear form. In this section, the selection of nonlinear terms is very briefly discussed. The nonlinear terms are selected to serve as fine-tuning mechanisms to ensure the stability and accuracy of NARX model-based compensation composed of linear terms. The coefficients of the nonlinear terms are significantly smaller than those of the linear terms, thereby maintaining stability. It should also be noted that identifying suitable nonlinear terms for a specific hydraulic system is a challenging task, even with some preliminary knowledge. Nonetheless, a well-chosen nonlinear system can yield superior compensation performance, capitalizing on the inherent nonlinearity of the hydraulic system.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Benchmark model for maRTHS and simulation matrix</title>
<sec id="s3-1">
<title>3.1 Benchmark model for maRTHS</title>
<p>A novel maRTHS benchmark model has been proposed by Condori <xref ref-type="bibr" rid="B17">Uribe et al. (2023)</xref> focusing on a frame subjected to seismic loading at the base. As illustrated in <xref ref-type="fig" rid="F1">Figure 1</xref>, the benchmark model features a steel moment-resisting frame with three bays and three stories. The mid-span at the bottom is designated as the experimental substructure, while the rest is considered as the numerical substructure. To simulate seismic loading, a scaled El Centro historic record serves as the input ground motion, with a scaling factor of 0.40 is applied to maintain linear elastic behavior in all structural components of the frame. For the experimental substructure, two actuators are strategically positioned to deliver equivalent translational and rotational motion. A coupler is employed to facilitate the coupling of the linear stroke of both actuators. A block diagram illustrating the key components, along with a properly designed and tuned control system, is presented in <xref ref-type="fig" rid="F2">Figure 2A</xref>. The objective of this benchmark is to formulate a control system that ensures the output of the controlled plant accurately tracks the target displacement vector. In the benchmark model, an estimator is essential to filter out high-frequency noise before being sent to the control plant. However, this block is typically integrated into the data acquisition module for real RTHS. Consequently, the estimator is not employed for NARX model-based compensation in the benchmark model, as depicted in <xref ref-type="fig" rid="F2">Figure 2B</xref>. Instead, a fifth order Butterworth filter with a cutoff frequency of 6&#xa0;Hz is utilized in constructing the NARX model to balance the frequency components of the actuator response and noise mitigate performance. The time delay introduced by Butterworth filter is compensated simultaneously, since the displacements after Butterworth filter are sent to the compensator.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Composition of the benchmark model.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Control system and NARX model-based compensation in the benchmark model.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g002.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>3.2 Evaluation for maRTHS</title>
<p>To evaluate the performance of NARX model-based compensation for maRTHS, various compensation methods, including traditional inverse compensation (IC), NARX compensation without nonlinear terms (NARX<sup>
<italic>l</italic>
</sup>), NARX compensation with ridge regression (NARX<sup>
<italic>r</italic>
</sup>), and NARX compensation with different nonlinear terms (NARX<sup>
<italic>n</italic>
</sup>) are applied to the benchmark model.</p>
<sec id="s3-2-1">
<title>3.2.1 Traditional inverse compensation</title>
<p>As the simplest formulation of NARX model-based compensation and a special case of F-NARX, traditional inverse compensation is first implemented, where <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>1</sub> remain time-invariant during RTHS. Two cases are considered for inverse compensation with different estimated time delays. In Case 1, the estimated time delay is both 25 msec for the first and second actuators, while, the estimated delays are 60 msec. And 25 msec. In Case 2. More details of inverse compensation are presented in <xref ref-type="table" rid="T2">Table 2</xref>, where <italic>a</italic>
<sub>i,j</sub> represents the coefficient <italic>a</italic>
<sub>i</sub> for the <italic>j</italic>th actuator.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Compensation scheme for inverse compensation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Case</th>
<th align="center">Method</th>
<th align="center">
<italic>a</italic>
<sub>0,1</sub>
</th>
<th align="center">
<italic>a</italic> <sub>1,1</sub>
</th>
<th align="center">
<italic>a</italic>
<sub>0,2</sub>
</th>
<th align="center">
<italic>a</italic> <sub>1,2</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">inverse</td>
<td align="center">25</td>
<td align="center">&#x2212;24</td>
<td align="center">25</td>
<td align="center">&#x2212;24</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">inverse</td>
<td align="center">60</td>
<td align="center">&#x2212;59</td>
<td align="center">25</td>
<td align="center">&#x2212;24</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2-2">
<title>3.2.2 NARX compensation without nonlinear term</title>
<p>When nonlinear terms are not considered, NARX compensation is similar to ATS compensator. In this scenario, various orders with different window lengths are explored. Specifically, Cases 3 to 5 represent second order NARX compensations with window lengths of 512, 1024, and 2048, corresponding to 0.5s, 1.0s, and 2.0s. Additionally, Case 6 to Case 7 maintain a consistent window length of 1024 with different orders, corresponding to firstand fourth order NARX compensation, respectively. Details of NARX compensation without nonlinear terms are summarized in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Compensation scheme for NARX compensation without nonlinear term.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Case</th>
<th align="center">3</th>
<th align="center">4</th>
<th align="center">5</th>
<th align="center">6</th>
<th align="center">7</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Method</td>
<td align="center">S-NARX</td>
<td align="center">S-NARX</td>
<td align="center">S-NARX</td>
<td align="center">F-NARX</td>
<td align="center">4th-NARX</td>
</tr>
<tr>
<td align="center">Window length</td>
<td align="center">512</td>
<td align="center">1024</td>
<td align="center">2048</td>
<td align="center">1024</td>
<td align="center">1024</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2-3">
<title>3.2.3 NARX with rigid regression</title>
<p>
<xref ref-type="table" rid="T4">Table 4</xref> presents the NARX model-based compensation with rigid regression, where Cases 8 to 11 are presented to compare the performance of the ridge regression using varying regression parameters <italic>&#x3b3;</italic> with Case 7 for the fourth order NARX under the window length of 1024. The values of <italic>&#x3b3;</italic> for Cases 8 to 11 are 1, 0.01,1 &#xd7; 10<sup>&#x2212;7</sup> and 1 &#xd7; 10<sup>&#x2212;9</sup>, respectively.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Compensation scheme for NARX compensation with ridge regression.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">8</th>
<th align="left">9</th>
<th align="left">10</th>
<th align="left">11</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>&#x393;</italic>
</td>
<td align="left">1</td>
<td align="left">0.01</td>
<td align="left">1 &#xd7; 10<sup>&#x2212;7</sup>
</td>
<td align="left">1 &#xd7; 10<sup>&#x2212;9</sup>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2-4">
<title>3.2.4 NARX with nonlinear terms</title>
<p>Cases 12 to 16 in <xref ref-type="table" rid="T5">Table 5</xref> evaluates the performance of NARX model-based compensation with nonlinear terms, where five different nonlinear terms respectively replace the linear term <italic>x</italic>
<sub>n-2</sub> of S-NARX with a window length of 1024.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Compensation scheme for NARX compensation with nonlinear terms.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Case</th>
<th align="center">12</th>
<th align="center">13</th>
<th align="center">Case14</th>
<th align="center">Case15</th>
<th align="center">Case16</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Nonlinear term</td>
<td align="center">x<sub>n-2</sub>
<sup>2</sup>
</td>
<td align="center">x<sub>n-1&#xd7;</sub>x<sub>n-2</sub>
</td>
<td align="center">
<inline-formula id="inf26">
<mml:math id="m41">
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf27">
<mml:math id="m42">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">x<sub>n-2</sub>
<sup>3</sup>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3-3">
<title>3.3 Evaluation criteria</title>
<p>The evaluation of compensation performance involves assessing the difference between measured and calculated displacements. However, tracking performance has limitations in evaluating maRTHS. To comprehensively gauge the effectiveness of various compensation methods, ten distinct evaluation criteria (<italic>J</italic>
<sub>1</sub>&#x223c;<italic>J</italic>
<sub>10</sub>) are employed. The initial six criteria focus on evaluating the tracking performance of the control system, while the remaining four concentrate on assessing the global performance of RTHS. Specifically, the ten evaluation criteria are defined as:<disp-formula id="e11a">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">argmax</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mn>1000</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11a)</label>
</disp-formula>
<disp-formula id="e11b">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11b)</label>
</disp-formula>
<disp-formula id="e11c">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11c)</label>
</disp-formula>
<disp-formula id="e11d">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">argmax</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3b7;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mn>1000</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11d)</label>
</disp-formula>
<disp-formula id="e11e">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>28</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11e)</label>
</disp-formula>
<disp-formula id="e11f">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>28</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11f)</label>
</disp-formula>
<disp-formula id="e11g">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>28</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11g)</label>
</disp-formula>
<disp-formula id="e11h">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msqrt>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>26</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>27</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11h)</label>
</disp-formula>
<disp-formula id="e11i">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>9</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>28</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11i)</label>
</disp-formula>
<disp-formula id="e11j">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mn>10</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>26</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>27</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11j)</label>
</disp-formula>where <italic>i</italic> represents the actuator number in Eqs <xref ref-type="disp-formula" rid="e11a">11a</xref>&#x2013;<xref ref-type="disp-formula" rid="e11d">11d</xref>, and represents the node freedom number in Eqs <xref ref-type="disp-formula" rid="e11e">11e</xref>&#x2013;<xref ref-type="disp-formula" rid="e11i">11i</xref>. In Eqs <xref ref-type="disp-formula" rid="e11e">11e</xref>&#x2013;<xref ref-type="disp-formula" rid="e11i">11i</xref>, &#x2018;4/2/3&#x2032; and &#x2018;28/26/27&#x2032; represent the <italic>x</italic> and <italic>&#x3b8;</italic> direction responses for the first/second/third floor. &#x3b7;ns, &#x3b7;m, and <inline-formula id="inf28">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3b7;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the desired actuator displacements, measured actuator displacements, and estimated interface node displacements; <inline-formula id="inf29">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>&#x3a8;ns</italic> and <italic>&#x3a8;</italic> represent the frame target displacements, estimated interface node displacements, and numerical substructure response; <italic>f</italic>
<sub>
<italic>s</italic>
</sub> represents the sampling frequency and is set at 1024Hz. The ten criteria above can be divided into three categories: <italic>J</italic>
<sub>1</sub> to <italic>J</italic>
<sub>3</sub>, <italic>J</italic>
<sub>4</sub> to <italic>J</italic>
<sub>6</sub>, <italic>J</italic>
<sub>7</sub> to <italic>J</italic>
<sub>10</sub> represent tracking control, estimation results, and global performance, respectively (<xref ref-type="bibr" rid="B17">Uribe et al., 2023</xref>). Since the estimator is not adopted in NARX compensation, <italic>J</italic>
<sub>1</sub> is exactly the same as <italic>J</italic>
<sub>4</sub>. Consequently, the results of <italic>J</italic>
<sub>4</sub> are not presented in this study.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Performance of NARX model-based compensation</title>
<p>The maRTHS benchmark model involves various types of displacements, such as target and measured displacements for each actuator, frame target displacements, and estimated interface node displacements of the experimental frame, as well as reference and estimated measured responses of the frame at the interface node, and reference and numerical substructure responses at each floor. Analyzing time histories of all these displacements offers an accurate and comprehensive way to assess the compensation&#x2019;s performance. However, in many cases, different displacements are correlated. As such, the performance of the compensation can be effectively reflected in the difference between the reference and estimated measured response of the frame at the interface node. Consequently, only the time history of the reference and estimated measured responses of the frame at the first floor is provided. In order to accurately obtain the patterns of compensation methods under various working conditions, no upper and lower limits of the coefficients are used for any case. The tracking control and estimation results are firstly analyzed to obtain the performance of different compensation performance.</p>
<sec id="s4-1">
<title>4.1 Performance of traditional inverse compensation</title>
<p>The performance of traditional inverse compensation can be assessed through Case 1 and 2, with the reference and the measured displacements of the first floor depicted in <xref ref-type="fig" rid="F3">Figure 3</xref> for both cases. It is evident that the measured displacement for Case 2 is closer to the reference, indicating that Case 2 outperforms Case 1. The evaluation criteria are presented in <xref ref-type="table" rid="T6">Table 6</xref> for inverse compensation. It can be observed that all criteria for Case 2 are superior to those for Case 1, which is consistent with observations in <xref ref-type="fig" rid="F3">Figure 3</xref>. Given that <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>1</sub> remain time-invariant throughout the simulation, the performance of inverse compensation is highly dependent on the initial estimation. From <italic>J</italic>
<sub>1,1</sub> and <italic>J</italic>
<sub>1,2</sub> for Case 2, inverse compensation proves effective in reducing time delay when the initial estimation is accurate. However, a notable time delay is observed when the initial estimation deviates from actuator dynamics, as observed in <italic>J</italic>
<sub>1,1</sub> for Case 1.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of measured first floor displacements for inverse compensation.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g003.tif"/>
</fig>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Evaluation Criteria for Inverse Compensation with tracking control and estimation results.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Case</th>
<th align="center">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="center">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="center">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="center">
<italic>J</italic> <sub>6,28</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">18.55</td>
<td align="center">0.98</td>
<td align="center">25.49</td>
<td align="center">5.46</td>
<td align="center">25.93</td>
<td align="center">5.88</td>
<td align="center">11.05</td>
<td align="center">22.29</td>
<td align="center">11.13</td>
<td align="center">23.79</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">0.00</td>
<td align="center">0.00</td>
<td align="center">13.64</td>
<td align="center">3.88</td>
<td align="center">14.82</td>
<td align="center">4.68</td>
<td align="center">2.78</td>
<td align="center">20.16</td>
<td align="center">3.17</td>
<td align="center">20.92</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>An intriguing observation arises when comparing the tracking criteria of the second actuator, namely, <italic>J</italic>
<sub>1,2</sub>, <italic>J</italic>
<sub>2,2</sub>, and <italic>J</italic>
<sub>3,2</sub>, for the two cases. Despite employing the same initial estimations for both cases, the tracking criteria for Case 2 surpass those for Case 1. This can be attributed to the interaction between the two actuators in maRTHS. Consequently, full compensation of dynamics is imperative all actuators in maRTHS. This might stem from inadequate compensation altering the properties of the structural response, particularly the frequency components. Hence, compensation parameters that were initially suitable may become unsuitable. However, this issue is primarily associated with constant delay compensation methods, and it can be effectively addressed through adaptive compensation.</p>
<p>When comparing tracking criteria of the same actuator, namely, <italic>J</italic>
<sub>1</sub>, <italic>J</italic>
<sub>2</sub>, and <italic>J</italic>
<sub>3</sub> for the same case, the performance of the second actuator is significantly better. In Case 1, the substantial difference between the two actuators is attributed to the initial estimation. However, both <italic>J</italic>
<sub>1</sub> values are zero for both actuators in Case 2, while <italic>J</italic>
<sub>2</sub> and <italic>J</italic>
<sub>3</sub> are nearly three times higher for the first actuator compared to the second actuator. This discrepancy suggests that, in comparison with the second actuator, the actuator delay for the first actuator is more pronounced. In such cases, traditional constant delay compensation is unsuitable, and adaptive compensation becomes necessary. Moreover, the estimated results for <italic>x</italic> direction responses, i.e., <italic>J</italic>
<sub>5,4</sub> and <italic>J</italic>
<sub>6,4</sub>, is reduced from about 11% for case 2%&#x2013;3% for case 1. This implies the importance of initial estimation for inverse compensation. However, the estimated results for &#x3b8; direction responses, i.e., <italic>J</italic>
<sub>5,28</sub> and <italic>J</italic>
<sub>6,28</sub>, have little improvement. This however indicates the requirement of adaptive compensation.</p>
</sec>
<sec id="s4-2">
<title>4.2 Influence of the window length and order for NARX model-based compensation</title>
<p>The window length and the model order are two major factors that influence the performance of NARX model-based compensation. Cases 3 to 5 are employed to demonstrate the impact of window length on the performance of second order NARX model-based compensation without nonlinear terms. <xref ref-type="fig" rid="F4">Figure 4</xref> presents the comparison of measured first-floor displacements for these three cases. It can be observed in <xref ref-type="fig" rid="F4">Figure 4A</xref> that it is evident that the measured displacement in cases 4 and 5 aligns quite well with the reference. In Case 3, the fluctuations in displacement over the last 15&#xa0;s indicate instability. Additionally, in <xref ref-type="fig" rid="F4">Figure 4B</xref>, none of the measured displacements exactly match the reference, suggesting that the delay compensation method can reduce but cannot eliminate time delay, even for NARX model-based compensation.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparison of measured first-floor displacements for NARX model-based compensation with different window length.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g004.tif"/>
</fig>
<p>The evaluation criteria for NARX model-based compensation with different window lengths when considering tracking control and estimation results are presented in <xref ref-type="table" rid="T7">Table 7</xref>. Criteria are small and nearly identical for Case 4 and 5, while larger values criteria are observed for Case 3. Constructing the NARX model requires a certain amount of data, otherwise the NARX model may deviate from actuator dynamics. Thus, there is a limit on the minimum data length for NARX model-based compensation. When the window length is smaller than the limit, the performance of compensation deteriorates, as observed for Case 3. Once the minimum data length is reached, increasing the window length has little impact on performance, as observed from the minimal difference between Case 4 and 5. Although computational efficiency and response to time-varying delays might decrease with an increase of window length. When comparing Case 4 and 2, the NARX model-based compensation outperforms inverse compensation in all tracking evaluation criteria, i.e., <italic>J</italic>
<sub>1</sub> to <italic>J</italic>
<sub>3</sub>, especially for <italic>J</italic>
<sub>2,1</sub>. Consequently the estimated results for <italic>&#x3b8;</italic>, i.e., <italic>J</italic>
<sub>5,28</sub> and <italic>J</italic>
<sub>6,28</sub>, direction responses is reduced from about 20% to 2% when NARX model-based compensation utilized.</p>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Evaluation criteria for NARX model-based compensation with different window length.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">3</td>
<td align="right">6.84</td>
<td align="right">7.81</td>
<td align="right">524.64</td>
<td align="right">878.46</td>
<td align="right">655.49</td>
<td align="right">3987.4</td>
<td align="right">557.7</td>
<td align="right">630.07</td>
<td align="right">2538.8</td>
<td align="right">733.5</td>
</tr>
<tr>
<td align="left">4</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">2.98</td>
<td align="right">1.8</td>
<td align="right">3.6</td>
<td align="right">2.68</td>
<td align="right">2.06</td>
<td align="right">2.48</td>
<td align="right">2.9</td>
<td align="right">3.74</td>
</tr>
<tr>
<td align="left">5</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">2.92</td>
<td align="right">1.8</td>
<td align="right">3.55</td>
<td align="right">2.7</td>
<td align="right">2.05</td>
<td align="right">2.43</td>
<td align="right">2.84</td>
<td align="right">3.73</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The performance of NARX model-based compensation is determined by the parameters of the NARX model. Since the same compensation method is applied for both actuators, the parameters of the NARX model are nearly identical for Case 4 and 5. Therefore <xref ref-type="fig" rid="F5">Figure 5</xref> only presents the compensation parameters for the first actuator for Case 3 and 4. When nonlinear terms are not considered, the sum of <italic>a</italic> should be close to 1. From <xref ref-type="fig" rid="F5">Figure 5</xref>, <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>2</sub> are similar, while <italic>a</italic>
<sub>1</sub> is almost the opposite of the sum of <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>2</sub> for both cases. In <xref ref-type="fig" rid="F5">Figure 5A</xref>, the parameters undergo dramatic changes from 11&#xa0;s to 15&#xa0;s, 20&#xa0;s to 25&#xa0;s, and 28&#xa0;s to the end of the simulation. Large value of <italic>a</italic>
<sub>1</sub> is observed more than 10,000 around 28&#xa0;s, which corresponds to the time when measured displacement deviates from the reference and the simulation becomes unstable. On the contrary, the parameters in <xref ref-type="fig" rid="F5">Figure 5B</xref> do not have a significant change, resulting in better compensation performance. This again indicates the importance of window length in NARX model-based compensation.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Parameters of NARX model for the first actuator.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g005.tif"/>
</fig>
<p>Case 4, 6, and seven all have window length of 1024 and are used to assess the impact of model order on NARX model-based compensation without nonlinear terms. <xref ref-type="fig" rid="F7">Figure 7</xref> displays the time history of the first-floor measured displacements for these cases compared with the reference. Instability is observed in Case 7 when a fourth order NARX model is employed, whereas Case 6, using a first order NARX model, closely resembles case 4 with a second order NARX model. <xref ref-type="table" rid="T8">Table 8</xref> presents the criteria for Case 6 and 7, which is consistent with observations from <xref ref-type="fig" rid="F6">Figure 6</xref>. This suggests that while higher order NARX models may become unstable for the same window length, stability can be maintained with lower order NARX models. Additionally, lower order models require fewer parameters, allowing for accurate parameter estimation with smaller window lengths. The compensation parameters are presented in <xref ref-type="fig" rid="F7">Figure 7</xref> for Case 6 and 7. In <xref ref-type="fig" rid="F7">Figure 7A</xref>, <italic>a</italic>
<sub>0</sub> remains approximately 50 for the first order NARX compensation, except around 7&#xa0;s and in the last 2&#xa0;s. Furthermore, the sum of <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>1</sub> is close to 1. In contrast, the parameters for the fourth order NARX model can reach up to 8&#xd7;10<sup>7</sup>, resulting in significantly larger evaluation criteria in <xref ref-type="table" rid="T8">Table 8</xref> for Case 7.</p>
<table-wrap id="T8" position="float">
<label>TABLE 8</label>
<caption>
<p>Evaluation criteria for NARX model-based compensation with different orders.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">6</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">2.87</td>
<td align="center">1.76</td>
<td align="center">3.49</td>
<td align="center">2.49</td>
<td align="center">1.89</td>
<td align="center">3.12</td>
<td align="center">1.9</td>
<td align="center">5.47</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">&#x2212;8.79</td>
<td align="center">&#x2212;12835</td>
<td align="center">2156</td>
<td align="center">2376</td>
<td align="center">2204</td>
<td align="center">6948</td>
<td align="center">2156</td>
<td align="center">100</td>
<td align="center">2204</td>
<td align="center">100</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Illustrates a comparison of measured first-floor displacements for NARX model-based compensation with varying orders.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Illustrates the parameters of the NARX model for the first actuator.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g007.tif"/>
</fig>
</sec>
<sec id="s4-3">
<title>4.3 Influence of rigid regression</title>
<p>Due to smaller window length than the minimum for the fourth order NARX model, From <xref ref-type="fig" rid="F6">Figure 6</xref> and <xref ref-type="table" rid="T8">Table 8</xref>, it is evident that the measured displacement for Case 7 becomes unstable. This results in inability for high order NARX model-based compensation. It is apparent that traditional ordinary least square has limitations, especially when the number of undetermined parameters is more than three in the NARX model. Rigid regression, instead of ordinary least square, is employed in Case 8&#x2013;11 to calculate parameters in the fourth order NARX model with different values of parameter <italic>&#x3b3;</italic>. The time histories of compensation parameters are presented in <xref ref-type="fig" rid="F8">Figure 8</xref> and the corresponding values of evaluation criteria are summarized in <xref ref-type="table" rid="T9">Table 9</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Comparison of measured first floor displacements for NARX model based with rigid regression.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g008.tif"/>
</fig>
<table-wrap id="T9" position="float">
<label>TABLE 9</label>
<caption>
<p>Evaluation criteria for NARX model-based compensation with rigid regression.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">8</td>
<td align="right">22.46</td>
<td align="right">6.84</td>
<td align="right">33.74</td>
<td align="right">13.08</td>
<td align="right">28.69</td>
<td align="right">11.15</td>
<td align="right">19.78</td>
<td align="right">15.24</td>
<td align="right">14.84</td>
<td align="right">16.97</td>
</tr>
<tr>
<td align="center">9</td>
<td align="right">0.98</td>
<td align="right">0</td>
<td align="right">4.53</td>
<td align="right">1.9</td>
<td align="right">6.24</td>
<td align="right">2.53</td>
<td align="right">2.49</td>
<td align="right">3.98</td>
<td align="right">3.13</td>
<td align="right">5.62</td>
</tr>
<tr>
<td align="center">10</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">2.83</td>
<td align="right">1.75</td>
<td align="right">3.49</td>
<td align="right">2.55</td>
<td align="right">2</td>
<td align="right">2.17</td>
<td align="right">2.69</td>
<td align="right">3.68</td>
</tr>
<tr>
<td align="center">11</td>
<td align="right">&#x2212;10.74</td>
<td align="right">&#x2212;13.67</td>
<td align="right">2092.6</td>
<td align="right">689.3</td>
<td align="right">2746</td>
<td align="right">1378</td>
<td align="right">2093</td>
<td align="right">100</td>
<td align="right">2745.9</td>
<td align="right">100</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In <xref ref-type="fig" rid="F8">Figure 8A</xref>, it can be observed that Case 11 remains unstable due to <italic>&#x3b3;</italic> value as small as 1 &#xd7; 10<sup>&#x2212;9</sup>, indicating that the rigid regression does not take effect. For very small value of <italic>&#x3b3;</italic>, rigid regression is same as ordinary least square regression. With the increase of <italic>&#x3b3;</italic>, cases 8&#x2013;10 become stable such as case 10 when <italic>&#x3b3;</italic> equals 1 &#xd7; 10<sup>&#x2212;7</sup>. Compared with case 4 in <xref ref-type="table" rid="T7">Table 7</xref>, the evaluation criteria in <xref ref-type="table" rid="T9">Table 9</xref> for case 10 are better for almost all criteria. This suggests the advantages of the higher order NARX model-based compensation with ridge regression. When <italic>&#x3b3;</italic> increases to 0.01, the tracking error visibly increases for the first actuator, while a slight increase is observed for the second actuator as shown in <xref ref-type="table" rid="T9">Table 9</xref>. Moreover, a significant increase can be observed for all evaluation criteria when <italic>&#x3b3;</italic> increases to 1. Consequently, ridge regression would reduce the performance of compensation when <italic>&#x3b3;</italic> reaches a threshold. However, the simulations remain stable for larger <italic>&#x3b3;</italic>. The parameters for Case 11 are like those of Case 7, while Case 9 falls between Case 8 and 10. Thus, only the parameters of the NARX model for the first actuator for Case 8 and Case 10 are presented in <xref ref-type="fig" rid="F9">Figure 9</xref>. It can be observed that the absolute value of each compensation parameter decreases with the increase of <italic>&#x3b3;</italic>. Influence of nonlinear term.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Parameters of the NARX model for the first actuator with rigid regression.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g009.tif"/>
</fig>
<p>Nonlinear terms are explored in this study for the NARX model-based compensation. In <xref ref-type="fig" rid="F10">Figure 10A</xref>, clear instability is observed for Case 15, while the rest cases remain stable. In the close-up view of <xref ref-type="fig" rid="F10">Figures 10A, B</xref> slight difference between the measured displacement and reference is observed for Case 16, while the measured displacements in the remaining cases agree well with the reference. This implies that different nonlinear term leads to distinct compensation performance. The evaluation criteria are summarized in <xref ref-type="table" rid="T10">Table 10</xref> for the five cases with nonlinear terms. It is worth noting that Case 12 and 13, which involve <italic>x</italic>
<sub>n-2</sub>
<sup>2</sup> with little difference from <italic>x</italic>
<sub>
<italic>n</italic>-1</sub>&#xd7;<italic>x</italic>
<sub>n-2</sub>, have almost identical evaluation criteria. In comparison with corresponding case 4 with only linear terms, these criteria are slightly larger. Conversely, Case 14 demonstrates improved evaluation criteria particularly with smaller tracking control when compared with corresponding linear case. This observation suggests that the inclusion of a carefully selected nonlinear term can further improve the performance of the NARX model-based compensation. However, large evaluation criteria are noticeable for Case 15 and 16, consistent with observations in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Comparison of measured first-floor displacements for NARX model-based compensation with different nonlinear terms.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g010.tif"/>
</fig>
<table-wrap id="T10" position="float">
<label>TABLE 10</label>
<caption>
<p>Evaluation criteria for NARX model-based compensation with various nonlinear terms.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Case</th>
<th align="center">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="center">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="center">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="center">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="center">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="center">
<italic>J</italic> <sub>6,28</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">12</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">3.39</td>
<td align="center">1.88</td>
<td align="center">4.66</td>
<td align="center">2.67</td>
<td align="center">2</td>
<td align="center">4.05</td>
<td align="center">2.34</td>
<td align="center">5.57</td>
</tr>
<tr>
<td align="center">13</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">3.39</td>
<td align="center">1.88</td>
<td align="center">4.7</td>
<td align="center">2.66</td>
<td align="center">2</td>
<td align="center">4.05</td>
<td align="center">2.34</td>
<td align="center">5.57</td>
</tr>
<tr>
<td align="center">14</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">2.89</td>
<td align="center">1.82</td>
<td align="center">3.5</td>
<td align="center">2.64</td>
<td align="center">1.91</td>
<td align="center">3.31</td>
<td align="center">1.98</td>
<td align="center">5.79</td>
</tr>
<tr>
<td align="center">15</td>
<td align="center">&#x2212;16.6</td>
<td align="center">&#x2212;102.54</td>
<td align="center">1418.5</td>
<td align="center">2338.1</td>
<td align="center">2221.7</td>
<td align="center">3851.7</td>
<td align="center">1418.5</td>
<td align="center">100</td>
<td align="center">2221.7</td>
<td align="center">100</td>
</tr>
<tr>
<td align="center">16</td>
<td align="center">&#x2212;2.93</td>
<td align="center">0</td>
<td align="center">13.53</td>
<td align="center">2.06</td>
<td align="center">34.18</td>
<td align="center">4.03</td>
<td align="center">4.52</td>
<td align="center">15.68</td>
<td align="center">11.17</td>
<td align="center">37.75</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the context of utilizing a second order NARX model for compensation, three key parameters (<italic>a</italic>
<sub>0</sub>, <italic>a</italic>
<sub>1</sub>, <italic>a</italic>
<sub>2</sub>) are derived during the simulation. While the behavior of <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>1</sub> aligns with the first order NARX model compensation as shown in <xref ref-type="fig" rid="F7">Figure 7A</xref>, the focus in <xref ref-type="fig" rid="F11">Figure 11</xref> is exclusively on the time history of the third parameter <italic>a</italic>
<sub>2</sub>. From <xref ref-type="fig" rid="F11">Figure 11A</xref>, it can be observed that <italic>a</italic>
<sub>2</sub> exhibits slight variation ranging between &#x2212;0.015 and 0.01. This magnitude is notably smaller when compared to <italic>a</italic>
<sub>0</sub> and <italic>a</italic>
<sub>1</sub> from <xref ref-type="fig" rid="F7">Figure 7A</xref>. This observation underscores the nuanced and fine-tuning role played by the nonlinear term in shaping the compensation performance. In particular, the trajectories of <italic>a</italic>
<sub>2</sub> for cases 12, 13, and 16 remain relatively small throughout the simulation with occasional jumps. Conversely, for case 15, the absolute values of <italic>a</italic>
<sub>2</sub> surpass 200, indicative of significant fluctuations, ultimately contributing to worse compensation performance.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Parameters of NARX model for the first actuator with nonlinear terms.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g011.tif"/>
</fig>
</sec>
<sec id="s4-4">
<title>4.4 Global performance of NARX model-based compensation</title>
<p>As maRTHS incorporates a minimum of two actuators, a comprehensive global evaluation becomes imperative. Given that cases 3, 7, 8, 11, and 15 have been established as unstable through simulation, the remaining 11 cases are used to evaluate the performance of NARX model-based compensation. <xref ref-type="fig" rid="F12">Figure 12</xref> presents the global performance evaluation criteria (<italic>J</italic>
<sub>7</sub> to <italic>J</italic>
<sub>10</sub>) for these cases.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Global performance of NARX model-based compensation.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g012.tif"/>
</fig>
<p>It can be observed that case 2 exhibits the best global performance among all stable cases, while case 1 shows the worst global performance evaluation criteria, with the exception of the <italic>&#x3b8;</italic> direction responses for the first floor. This observation confirms previous finding that the performance of constant delay compensation significantly rely on initial estimation. Notably, the values for the second and third floors (<italic>J</italic>
<sub>8</sub> and <italic>J</italic>
<sub>10</sub>) in case 2 are surprisingly lower than those in NARX-model-based compensation. This might be attributed to the reduction in testing errors for the <italic>x</italic> and <italic>&#x3b8;</italic> directions when calculating the response of the second and third floors. Consequently, it becomes apparent that improving the tracking performance of individual actuators does not necessarily translate to an enhancement in the global performance of maRTHS, which is distinct from saRTHS. <xref ref-type="fig" rid="F13">Figure 13</xref>.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Distribution of evaluation criteria for case 14.</p>
</caption>
<graphic xlink:href="fbuil-10-1374819-g013.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<title>5 Robustness of NARX model-based compensation</title>
<p>The analysis in previous section has demonstrated the effectiveness of the NARX model-based compensation method in maRTHS. In addition to accounting for measured responses, this method also considers noise, uncertainties, or model inaccuracies in the control plant as part of the benchmark model, enabling robustness analysis. Although rigid regression enhances the robustness of higher order NARX model-based compensation method, it is crucial to note that the performance of rigid regression is contingent upon the regression parameter &#x3b3;, which, though significant, will not be delved into in this discussion.</p>
<p>To evaluate the impact of system uncertainties, an initial set of 10,000 simulations is conducted for the no-compensation case. Subsequently, an additional 10,000 simulations with different control plant uncertainties are carried out for Case 4 and 14, shedding light on the robustness of the NARX model-based compensation with both linear and nonlinear terms. <xref ref-type="table" rid="T11">Tables 11</xref>&#x2013;<xref ref-type="table" rid="T13">13</xref> present the mean and standard deviation (std) of evaluation criteria for the no-compensation scenario, Case 4, and Case 14. Specifically, <xref ref-type="table" rid="T11">Table 11</xref> summarizes the statistics for the no-compensation case, where the std ranges from 0.19 to 1.11 across different criteria, representing 0.9%&#x2013;8.8% of corresponding mean values.</p>
<table-wrap id="T11" position="float">
<label>TABLE 11</label>
<caption>
<p>The mean and stand derivation (std) of no compensation case.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>7,4</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Mean</td>
<td align="left">40.5</td>
<td align="left">23.7</td>
<td align="left">53.0</td>
<td align="left">32.5</td>
<td align="left">53.1</td>
<td align="left">32.7</td>
<td align="left">39.4</td>
<td align="left">11.8</td>
<td align="left">39.4</td>
<td align="left">14.0</td>
<td align="left">36.0</td>
</tr>
<tr>
<td align="center">Std</td>
<td align="left">0.76</td>
<td align="left">0.46</td>
<td align="left">0.77</td>
<td align="left">0.39</td>
<td align="left">0.81</td>
<td align="left">0.38</td>
<td align="left">0.40</td>
<td align="left">1.04</td>
<td align="left">0.37</td>
<td align="left">1.11</td>
<td align="left">0.31</td>
</tr>
<tr>
<td align="left">Case</td>
<td align="left">
<italic>J</italic>
<sub>7,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,27</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>9,4</sub>
</td>
<td align="left">
<italic>J</italic> <sub>9,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,27</sub>
</td>
</tr>
<tr>
<td align="center">Mean</td>
<td align="left">10.7</td>
<td align="left">6.4</td>
<td align="left">6.8</td>
<td align="left">6.4</td>
<td align="left">6.6</td>
<td align="left">37.0</td>
<td align="left">13.1</td>
<td align="left">5.1</td>
<td align="left">5.4</td>
<td align="left">5.1</td>
<td align="left">5.3</td>
</tr>
<tr>
<td align="center">Std</td>
<td align="left">0.81</td>
<td align="left">0.31</td>
<td align="left">0.24</td>
<td align="left">0.29</td>
<td align="left">0.26</td>
<td align="left">0.34</td>
<td align="left">0.96</td>
<td align="left">0.22</td>
<td align="left">0.19</td>
<td align="left">0.22</td>
<td align="left">0.21</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T12" position="float">
<label>TABLE 12</label>
<caption>
<p>The mean and stand derivation (std) of case 4.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Mean</td>
<td align="left">0.48</td>
<td align="left">&#x2212;3.83</td>
<td align="left">10.4</td>
<td align="left">20.1</td>
<td align="left">18.9</td>
<td align="left">93.9</td>
<td align="left">12.5</td>
<td align="left">13.7</td>
<td align="left">45.4</td>
<td align="left">24.2</td>
<td align="left">45.4</td>
</tr>
<tr>
<td align="center">Std</td>
<td align="left">39.4</td>
<td align="left">65.8</td>
<td align="left">65</td>
<td align="left">223</td>
<td align="left">124</td>
<td align="left">825</td>
<td align="left">88</td>
<td align="left">73</td>
<td align="left">323</td>
<td align="left">107</td>
<td align="left">323</td>
</tr>
<tr>
<td align="left">Case</td>
<td align="left">
<italic>J</italic>
<sub>7,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,27</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>9,4</sub>
</td>
<td align="left">
<italic>J</italic> <sub>9,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,27</sub>
</td>
</tr>
<tr>
<td align="center">Mean</td>
<td align="left">63.7</td>
<td align="left">14.2</td>
<td align="left">14.0</td>
<td align="left">13.8</td>
<td align="left">14.2</td>
<td align="left">465.3</td>
<td align="left">316.2</td>
<td align="left">20.9</td>
<td align="left">22.8</td>
<td align="left">19.5</td>
<td align="left">24.9</td>
</tr>
<tr>
<td align="center">Std</td>
<td align="left">425</td>
<td align="left">61</td>
<td align="left">66</td>
<td align="left">62</td>
<td align="left">67</td>
<td align="left">4839</td>
<td align="left">2119</td>
<td align="left">131</td>
<td align="left">150</td>
<td align="left">122</td>
<td align="left">166</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T13" position="float">
<label>TABLE 13</label>
<caption>
<p>The mean and stand derivation (std) of case 14.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Case</th>
<th align="left">
<italic>J</italic>
<sub>1,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>1,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>2,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,1</sub>
</th>
<th align="left">
<italic>J</italic> <sub>3,2</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>5,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
<th align="left">
<italic>J</italic> <sub>6,28</sub>
</th>
<th align="left">
<italic>J</italic>
<sub>6,4</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Mean</td>
<td align="left">0.00</td>
<td align="left">0.00</td>
<td align="left">2.88</td>
<td align="left">1.81</td>
<td align="left">3.79</td>
<td align="left">2.74</td>
<td align="left">1.90</td>
<td align="left">3.30</td>
<td align="left">1.99</td>
<td align="left">5.74</td>
<td align="left">9.95</td>
</tr>
<tr>
<td align="left">Std</td>
<td align="left">0.000</td>
<td align="left">0.000</td>
<td align="left">0.019</td>
<td align="left">0.015</td>
<td align="left">0.280</td>
<td align="left">0.139</td>
<td align="left">0.011</td>
<td align="left">0.044</td>
<td align="left">0.164</td>
<td align="left">0.098</td>
<td align="left">0.016</td>
</tr>
<tr>
<td align="left">Case</td>
<td align="left">
<italic>J</italic>
<sub>7,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>8,27</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>9,4</sub>
</td>
<td align="left">
<italic>J</italic> <sub>9,28</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,2</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,26</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,3</sub>
</td>
<td align="left">
<italic>J</italic>
<sub>10,27</sub>
</td>
</tr>
<tr>
<td align="left">mean</td>
<td align="left">7.95</td>
<td align="left">6.88</td>
<td align="left">6.05</td>
<td align="left">6.47</td>
<td align="left">6.11</td>
<td align="left">8.65</td>
<td align="left">8.40</td>
<td align="left">5.11</td>
<td align="left">4.73</td>
<td align="left">4.79</td>
<td align="left">4.71</td>
</tr>
<tr>
<td align="left">Std</td>
<td align="left">0.011</td>
<td align="left">0.009</td>
<td align="left">0.009</td>
<td align="left">0.009</td>
<td align="left">0.009</td>
<td align="left">0.152</td>
<td align="left">0.070</td>
<td align="left">0.008</td>
<td align="left">0.012</td>
<td align="left">0.012</td>
<td align="left">0.014</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In contrast, <xref ref-type="table" rid="T12">Table 12</xref> shows a significant std variation from 61 to 4839 for Case 4, indicating instability for the second order NARX model-based compensation in the absence of nonlinear terms. The average delay for both actuators are no longer 0, especially for the second actuator. This implies again the importance of including nonlinear terms or rigid regression for stability. Considering the incorporation of nonlinear terms in NARX model-based compensation, <xref ref-type="table" rid="T13">Table 13</xref> enumerates the 22 assessment criteria for Case 14. Average delay for both actuators are 0 with 0 standard deviation, which indicates no instability occurs. The standard deviation ranges from 0 to 0.28 across various criteria, constituting 0.1%&#x2013;8.2% of their respective mean values. Compared with no compensation cases in <xref ref-type="table" rid="T11">Table 11</xref>, the introduction of nonlinear term not only improves the accuracy but also increase the robustness of the simulation. This underscores the commendable performance of the NARX model-based compensation when nonlinear terms are taken into account.</p>
</sec>
<sec id="s6">
<title>6 Summary and conclusion</title>
<p>This study presents the performance evaluation of NARX model-based compensation for multi-axial real-time hybrid simulation (maRTHS) benchmark model. Traditional inverse compensation is also considered as the simplest formulation of NARX model compensation. Different window length and NARX model order are accounted for searching for patterns of NARX model-based compensation through linear terms. Rigid regression technique is utilized to estimate the model coefficients for higher order NARX model-based compensation. Different nonlinear terms are selected to prove the effectiveness of the nonlinear model. A total of 10,000 perturbed simulations are conducted to verify the robustness of NARX model-based compensation. Based on the results of this study, conclusions are drawn as follows:<list list-type="simple">
<list-item>
<p>1. As a special case of NARX model-based compensation, inverse compensation utilizes a fixed first order ARX model during simulation, which the tracking performance highly depends on the initial estimation. Moreover, perfect compensation performance cannot be reached even the initial estimation consistent with actuator dynamics. However, inverse compensation may provide good globe global evaluation for maRTHS. Moreover, the compensation performance of one actuator may influence the performance of other actuators for maRTHS, which is different from traditional single actuator RTHS.</p>
</list-item>
<list-item>
<p>2. The suitable window length for NARX model-based compensation depends on the order of NARX model. Higher order model has larger number of uncertain parameters thus requiring longer window length. There is a length threshold for a certain order NARX model-based compensation. The compensation effect becomes very poor when the window length is smaller than threshold, but will not significantly improves when window length larger than this threshold.</p>
</list-item>
<list-item>
<p>3. Compared with ordinary least square, ridged regression sacrifices part of accuracy to improve stability, which is particularly suitable for higher order NARX model-based compensation. Ridged regression decreases the length threshold, thus the advantages of the high order NARX model can be demonstrated. The performance of ridged regression is highly depending on parameter &#x3bb;. A small &#x3bb; leads ridged regression degenerating to ordinary least square, while large &#x3bb; damage the accuracy of compensation completely.</p>
</list-item>
<list-item>
<p>4. Identifying an appropriate nonlinear term poses a challenge in NARX model-based compensation. However, the judicious selection of a suitable nonlinear term can significantly enhance both accuracy and robustness in compensation performance. Typically, a harmonious blend of linear and nonlinear terms is employed to strike a balance between accuracy and stability. In such instances, nonlinear terms contribute to refining the overall compensation effect. The outcomes of 10,000 perturbed simulations highlight that well-chosen nonlinear terms can indeed bolster the robustness of NARX model-based compensation with high accuracy.</p>
</list-item>
<list-item>
<p>5. Actuator control for maRTHS presents greater challenges compared to saRTHS. Improving the tracking performance of individual actuators may not necessarily result in an overall enhancement of maRTHS performance. Therefore, the adoption of advanced compensation techniques with higher accuracy and robustness is necessary for effective control of maRTHS</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>WX: Data curation, Funding acquisition, Investigation, Resources, Software, Validation, Visualization, Writing&#x2013;original draft, Writing&#x2013;review and editing. XM: Data curation, Software, Visualization, Writing&#x2013;original draft. CC: Conceptualization, Methodology, Supervision, Writing&#x2013;review and editing. TG: Methodology, Project administration, Resources, Supervision, Writing&#x2013;review and editing. CP: Data curation, Validation, Visualization, Writing&#x2013;original draft.</p>
</sec>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. The first author would like to acknowledge the support from the Ministry of Science and Technology of China under grant No. 2023YFC3804300 and National Science Foundation of China under grant No. 52178114, Young scientific and technological talents promotion project of Jiangsu Association for science and technology No. 2021-79.</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Carrion</surname>
<given-names>J. E.</given-names>
</name>
<name>
<surname>Spencer</surname>
<given-names>B. F.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Real-time hybrid testing using model-based delay compensation</article-title>. <source>Smart Struct. Syst</source> <volume>4</volume>, <fpage>809</fpage>&#x2013;<lpage>828</lpage>. <pub-id pub-id-type="doi">10.12989/sss.2008.4.6.809</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chae</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Kazemibidokhti</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ricles</surname>
<given-names>J. M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Adaptive time series compensator for delay compensation of servo-hydraulic actuator systems for real-time hybrid simulation</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>42</volume>, <fpage>1697</fpage>&#x2013;<lpage>1715</lpage>. <pub-id pub-id-type="doi">10.1002/eqe.2294</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ricles</surname>
<given-names>J. M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Stability analysis of SDOF real-time hybrid testing systems with explicit integration algorithms and actuator delay</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>37</volume>, <fpage>597</fpage>&#x2013;<lpage>613</lpage>. <pub-id pub-id-type="doi">10.1002/eqe.775</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ricles</surname>
<given-names>J. M.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Large-scale real-time hybrid simulation involving multiple experimental substructures and adaptive actuator delay compensation</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>41</volume>, <fpage>549</fpage>&#x2013;<lpage>569</lpage>. <pub-id pub-id-type="doi">10.1002/eqe.1144</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hoerl</surname>
<given-names>A. E.</given-names>
</name>
<name>
<surname>Kennard</surname>
<given-names>R. W.</given-names>
</name>
</person-group> (<year>1970</year>). <article-title>Ridge regression - biased estimation for nonorthogonal problems</article-title>. <source>Technometrics</source> <volume>12</volume>, <fpage>55</fpage>&#x2013;<lpage>67</lpage>. <pub-id pub-id-type="doi">10.1080/00401706.1970.10488634</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Horiuchi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Inoue</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Konno</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Namita</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>Real-time hybrid experimental system with actuator delay compensation and its application to a piping system with energy absorber</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>28</volume>, <fpage>1121</fpage>&#x2013;<lpage>1141</lpage>. <pub-id pub-id-type="doi">10.1002/(sici)1096-9845(199910)28:10&#x3c;1121::Aid-eqe858&#x3e;3.3.Co;2-f</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Leontaritis</surname>
<given-names>I. J.</given-names>
</name>
<name>
<surname>Billings</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>1985</year>). <article-title>Input-output parametric models for non-linear systems Part I: deterministic non-linear systems</article-title>. <source>Int. J. Control</source> <volume>41</volume>, <fpage>303</fpage>&#x2013;<lpage>328</lpage>. <pub-id pub-id-type="doi">10.1080/0020718508961129</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J. C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z. X.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>X. Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Reinforcement learning control method for real-time hybrid simulation based on deep deterministic policy gradient algorithm</article-title>. <source>Struct. Control Health Monit.</source> <volume>29</volume>, <fpage>e3035</fpage>. <pub-id pub-id-type="doi">10.1002/stc.3035</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>L. Q.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J. T.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Theoretical and experimental studies on critical time delay of multi-DOF real-time hybrid simulation</article-title>. <source>Earthq. Eng. Eng. Vib.</source> <volume>21</volume>, <fpage>117</fpage>&#x2013;<lpage>134</lpage>. <pub-id pub-id-type="doi">10.1007/s11803-021-2073-0</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Najafi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Fermandois</surname>
<given-names>G. A.</given-names>
</name>
<name>
<surname>Dyke</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Spencer</surname>
<given-names>B. F.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Hybrid simulation with multiple actuators: a state-of-the-art review</article-title>. <source>Eng. Struct.</source> <volume>276</volume>, <fpage>115284</fpage>. <pub-id pub-id-type="doi">10.1016/j.engstruct.2022.115284</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nakashima</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kato</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Takaoka</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Development of real-time pseudo dynamic testing</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>21</volume>, <fpage>79</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1002/eqe.4290210106</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ning</surname>
<given-names>X. Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Robust actuator dynamics compensation method for real-time hybrid simulation</article-title>. <source>Mech. Syst. Signal Process</source> <volume>131</volume>, <fpage>49</fpage>&#x2013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2019.05.038</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ou</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ozdagli</surname>
<given-names>A. I.</given-names>
</name>
<name>
<surname>Dyke</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Robust integrated actuator control: experimental verification and real-time hybrid-simulation implementation</article-title>. <source>Earthq. Eng. Struct. Dyn.</source> <volume>44</volume>, <fpage>441</fpage>&#x2013;<lpage>460</lpage>. <pub-id pub-id-type="doi">10.1002/eqe.2479</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Palacio-Betancur</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Soto</surname>
<given-names>M. G.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Recent advances in computational methodologies for real-time hybrid simulation of engineering structures</article-title>. <source>Arch. Comput.Methods Eng.</source> <volume>30</volume>, <fpage>1637</fpage>&#x2013;<lpage>1662</lpage>. <pub-id pub-id-type="doi">10.1007/s11831-022-09848-y</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Silva</surname>
<given-names>C. E.</given-names>
</name>
<name>
<surname>Gomez</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Maghareh</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Dyke</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Spencer</surname>
<given-names>B. F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Benchmark control problem for real-time hybrid simulation</article-title>. <source>Mech. Syst. Signal Process</source> <volume>135</volume>, <fpage>106381</fpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2019.106381</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tian</surname>
<given-names>Y. P.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>X. Y.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Advances in real-time hybrid testing technology for shaking table substructure testing</article-title>. <source>Front. Built Environ.</source> <volume>6</volume>, <fpage>123</fpage>. <pub-id pub-id-type="doi">10.3389/fbuil.2020.00123</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Uribe</surname>
<given-names>J. W. C.</given-names>
</name>
<name>
<surname>Salmeron</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Patino</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Montoya</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Dyke</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Silva</surname>
<given-names>C. E.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Experimental benchmark control problem for multi-axial real-time hybrid simulation</article-title>. <source>Front. Built Environ.</source> <volume>9</volume>, <fpage>1270996</fpage>. <pub-id pub-id-type="doi">10.3389/fbuil.2023.1270996</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wallace</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sieber</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Neild</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wagg</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Krauskopf</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Asme</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2005</year>). &#x201c;<article-title>Delay differential equation models for real-time dynamic substructuring</article-title>,&#x201d; in <conf-name>5th International Conference on Multibody Systems, Nonlinear Dynamics, and Control</conf-name>, <conf-loc>Long Beach, CA</conf-loc>, <conf-date>Sep 24-28 2005</conf-date> (<publisher-name>ASME</publisher-name>), <fpage>875</fpage>&#x2013;<lpage>882</lpage>.</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>X. Z.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>G. S.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>High performance compensation using an adaptive strategy for real-time hybrid simulation</article-title>. <source>Mech. Syst. Signal Process</source> <volume>133</volume>, <fpage>106262</fpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2019.106262</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Tong</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Comparison of delay compensation methods for real-time hybrid simulation using frequency-domain evaluation index</article-title>. <source>Earthq. Eng. Eng. Vib.</source> <volume>15</volume>, <fpage>129</fpage>&#x2013;<lpage>143</lpage>. <pub-id pub-id-type="doi">10.1007/s11803-016-0310-8</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>W. J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>X. S.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>M. H.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>C. L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Data-driven nonlinear autoregressive with external input model-based compensation for real-time testing</article-title>. <source>Struct. Control Health Monit.</source> <volume>29</volume>, <fpage>e3119</fpage>. <pub-id pub-id-type="doi">10.1002/stc.3119</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>W. J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>M. H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Evaluation of frequency evaluation index based compensation for benchmark study in real-time hybrid simulation</article-title>. <source>Mech. Syst. Signal Process</source> <volume>130</volume>, <fpage>649</fpage>&#x2013;<lpage>663</lpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2019.05.039</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>X. Y.</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>X. Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A robust linear-quadratic-Gaussian controller for the real-time hybrid simulation on a benchmark problem</article-title>. <source>Mech. Syst. Signal Process</source> <volume>133</volume>, <fpage>106260</fpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2019.106260</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>