<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">MS</journal-id><journal-title-group>
    <journal-title>Mechanical Sciences</journal-title>
    <abbrev-journal-title abbrev-type="publisher">MS</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Mech. Sci.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">2191-916X</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/ms-17-657-2026</article-id><title-group><article-title>A primary–secondary admittance control strategy for dual-Stewart platforms in confined-space aircraft component alignment</article-title><alt-title>Primary–Secondary Admittance Control for Aircraft Assembly</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Yu</surname><given-names>Huijun</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Lin</surname><given-names>Jiahao</given-names></name>
          
        <ext-link>https://orcid.org/0009-0009-2433-0729</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Tan</surname><given-names>Ruimin</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Liu</surname><given-names>Kang</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Zhao</surname><given-names>Pengyuan</given-names></name>
          <email>zhaopengyuan@uestc.edu.cn</email>
        <ext-link>https://orcid.org/0000-0002-1645-191X</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>School of Mechanical and Electrical Engineering, University of Electronic Science and Technology of China, Chengdu, 611731, China</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Jiangxi ABC Electric Co., Ltd., Ji'an, 343100, China</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>The Hong Kong Polytechnic University, Hong Kong, 999077, China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Pengyuan Zhao (zhaopengyuan@uestc.edu.cn)</corresp></author-notes><pub-date><day>2</day><month>June</month><year>2026</year></pub-date>
      
      <volume>17</volume>
      <issue>1</issue>
      <fpage>657</fpage><lpage>670</lpage>
      <history>
        <date date-type="received"><day>2</day><month>April</month><year>2026</year></date>
           <date date-type="rev-recd"><day>20</day><month>April</month><year>2026</year></date>
           <date date-type="accepted"><day>29</day><month>April</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Huijun Yu et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026.html">This article is available from https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026.html</self-uri><self-uri xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026.pdf">The full text article is available as a PDF file from https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e129">Aircraft assembly is a critical phase in the manufacturing process, where the accuracy and efficiency heavily rely on the performance of posture adjustment mechanisms. For components with point features and linear features, traditional multi-point adjustment technologies based on numerical control positioners are limited by spatial constraints, heavy equipment, and high costs. This paper addresses the challenges of posture adjustment for point-feature and linear-feature aircraft components in confined spaces during assembly (e.g., wing fuselage assembly). We propose a cooperative control strategy using dual-Stewart platforms as core executive units. The approach integrates robust position control with admittance-based force–position coordination to achieve high-precision posture adjustment and internal force–moment suppression. We demonstrate that the system achieves a positioning accuracy of within <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> in translation and <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> in orientation through a comprehensive dynamics simulation, with an internal force–moment suppression rate exceeding 90.03 %. The results validate the effectiveness of the method for enhancing flexibility and reliability in aircraft assembly.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Shenzhen Science and Technology Innovation Program</funding-source>
<award-id>KCXFZ20240903094011015</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Natural Science Foundation of Sichuan Province</funding-source>
<award-id>2026NSFSC1255</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e167">Aircraft assembly is a critical process in the aviation industry, accounting for 50 %–60 % of the manufacturing workload. It directly influences the final performance, lifespan, and safety of aircraft (Wang et al., 2022; Guo et al., 2023; Li et al., 2021). In aircraft assembly, precise posture control of individual components is essential for achieving accurate docking between parts. Such control is achieved through posture adjustment technology, which is defined as the process of adjusting a component from its initial spatial state to its theoretical design posture. However, due to variations in the geometric shapes and structural dimensions of aircraft components, their corresponding posture adjustment technologies also differ.  To facilitate systematic analysis, these components can be abstracted into three major categories based on their spatial geometric characteristics, namely point-feature, linear-feature, and planar-feature components, as illustrated in Fig. 1. <list list-type="order"><list-item>
      <p id="d2e172"><italic>Point-feature components.</italic> Point-feature components, such as hatches and engines, are characterized by their compact structure and relatively small size.</p></list-item><list-item>
      <p id="d2e178"><italic>Linear-feature components.</italic> Linear-feature components, such as flaps, wings of small and medium-sized aircraft, and some slender rod-shaped UAV airframes, are distinguished by having one dimension that is significantly larger than the other two.</p></list-item><list-item>
      <p id="d2e184"><italic>Planar-feature components.</italic> Planar-feature components, such as the fuselage and wings of large and medium-sized aircraft, feature large dimensions in both length and width.</p></list-item></list></p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e191">Three types of aircraft components. The figure denoted as “Fig. 1” in the aforementioned paper is an original creation, authored and prepared entirely by the authors of this paper. It has not been previously published elsewhere, and it is not subject to any existing copyright held by a third party.</p></caption>
        <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f01.png"/>

      </fig>

      <p id="d2e200">Currently, posture adjustment and positioning in aircraft assembly are primarily applied to planar-feature components, such as fuselage docking, wing docking, and wing fuselage docking. Such components typically employ parallel posture adjustment systems based on numerical control positioners (NCPs). Based on the specific dimensions and stiffness of the components, the posture adjustment systems can be further categorized into types encompassing three-point, four-point, and six-point support, among others.  Among these, the four-point adjustment technology is the most widely adopted due to its optimal balance between system complexity and posture controllability (Zeng et al., 2020; Wang et al., 2023; Li et al., 2025a, c). However, significant limitations arise when applying these systems to the assembly of point-feature and linear-feature components, including insufficient flexibility, high costs, and spatial constraints for deployment. With the diversification and serialization of aircraft models, the demand for precise positioning and posture adjustment of point-feature and linear-feature components has become increasingly prominent, such as in the installation of weapon bay doors on new bombers, missile mounting, and cargo aircraft floor laying. In such confined working environments, traditional posture adjustment technologies are often inadequate due to insufficient installation space. Therefore, this paper focuses on posture adjustment technology suited for point-feature and linear-feature components.</p>
      <p id="d2e204">Facing the aforementioned posture adjustment requirements, the Stewart platform, which combines structural stiffness with motion accuracy, demonstrates significant application potential. Its characteristics of compact structure, high precision, and reconfigurability make it suitable for precise posture control in confined spaces (Lu et al., 2020; Russo et al., 2024; Stewart, 1965; Dasgupta and Mruthyunjaya, 1998). However, despite some existing applications of parallel-mechanism-based adjustment technologies in certain aircraft components (Zhao et al., 2025; Ramirez  and Wollnack, 2014; Erdem et al., 2016; Sun et al., 2012), their research and implementation for point-feature and linear-feature components remain notably insufficient, particularly in meeting the precision requirements within the confined spaces of new-generation aircraft models.</p>
      <p id="d2e207">Given the low-rigidity characteristic of aircraft components, it is imperative to integrate force–position control into the posture adjustment system to ensure operational safety and to prevent structural damage. In the fields of robotics and precision motion control, force–position control technologies are mainly divided into two categories: impedance control and hybrid force–position control (Raibert and Craig, 1981; He et al., 2020; Hogan, 1984; Duan et al., 2018; Wang et al., 2024; Yu et al., 2026; Wang et al., 2026). Furthermore, beyond force–position control at the single-platform level, effective posture adjustment for complex components often necessitates the coordinated effort of multiple platforms, thus also involving multi-agent cooperative control technology (Sombolestan and Nguyen, 2023; Ji and Egerstedt, 2007; Kou et al., 2025; Chen et al., 2020; Shi and Yan, 2021). In the research of multi-agent cooperative control technology, the core methods can be summarized as follows: centralized and distributed optimal control, primary–secondary control, impedance control, task space decomposition-based control, and intelligent cooperative control methods (Zhu et al., 2020; Liu et al., 2025; Zhou et al., 2025; Jiang et al., 2023; Hu et al., 2020). Research on multi-agent collaborative control has predominantly focused on serial robotic arm systems, typically targeted at small, rigid objects. There remains a lack of force–position cooperative control methods for multi-parallel platforms handling large-scale, weakly rigid components (e.g., aircraft components) (Li et al., 2025b).</p>
      <p id="d2e210">To address the aforementioned challenges, this paper investigates a cooperative posture adjustment technology with Stewart platforms as the actuators, targeting the assembly of point-feature and linear-feature components within confined spaces. The main contributions are as follows: <list list-type="order"><list-item>
      <p id="d2e215">A primary–secondary cooperative framework based on admittance control is proposed. Within this framework, the primary platform performs position tracking, while the secondary platform implements compliant force control via an admittance model, achieving precise coordinated motion between multiple platforms without compromising component safety.</p></list-item><list-item>
      <p id="d2e219">Building upon this framework, an H<inline-formula><mml:math id="M3" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> robust controller is incorporated to suppress unmodeled dynamics and external disturbances, thereby ensuring control accuracy and stability in complex assembly environments.</p></list-item></list> The structure of this paper is organized as follows: Sect. 2 details the architecture of the Stewart platform, key technical specifications, and kinematic and dynamic modeling. In Sect. 3, we propose the force–position cooperative strategy based on primary–secondary admittance control. Section 4 describes the co-simulation environment setup and presents the results validating the effectiveness of the proposed approach. Finally, Sect. 5 provides concluding remarks and discusses potential future research directions.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Modeling and analysis of the Stewart platform system</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Robot architecture and specification</title>
      <p id="d2e245">The ultimate objective of this research is to achieve high-precision coordinated posture adjustment for large-aircraft component assembly, using the wing fuselage assembly process as an application scenario, as illustrated in Fig. 2.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e250">Wing fuselage assembly system based on dual-Stewart platforms.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f02.png"/>

        </fig>

      <p id="d2e259">The focus of this paper is a dual-Stewart platform system for coordinated posture adjustment, as shown in Fig. 3a. Each Stewart platform in this system features a core mechanical structure that consists of a moving platform, a fixed platform, and six extensible legs connecting them, which is typically referred to as a six-UCU (where “U” stands for a hook joint, and “C” represents a cylindrical pair) kinematic configuration, as shown in Fig. 3b. Each leg is connected to the moving and fixed platforms via Hook joints (U joints) at both ends. When describing the Stewart platform, the moving-platform coordinate frame (<inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>P</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame) is typically defined at the geometric center of the moving platform, and the fixed-platform coordinate frame (<inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame) is fixed at the geometric center of the fixed platform. The moving attachment points <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) denote the three-dimensional coordinates of the rotation centers of the U joints on the moving platform in the <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>P</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame, while the fixed attachment points <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) represent the three-dimensional coordinates of the rotation centers of the U joints on the fixed platform in the <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame. The leg lengths are denoted as <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>), as shown in Fig. 3c.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e419">Schematics of the Stewart platform. <bold>(a)</bold> Schematic of the overall layout. <bold>(b)</bold> CAD of the Stewart platform. <bold>(c)</bold> Schematic of the Stewart platform architecture. <bold>(d)</bold> Schematic of the attachment point distribution on the Stewart platform.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f03.png"/>

        </fig>

      <p id="d2e440">The attachment points on the Stewart platform are symmetrically distributed, forming a hexagonal shape. Herein, the moving attachment points <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) are distributed on a circle of radius <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, with adjacent points being separated by an angle of <inline-formula><mml:math id="M17" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> or <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:mn mathvariant="normal">120</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:math></inline-formula>. Similarly, the fixed attachment points <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) lie on a circle of radius <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, with adjacent points separated by an angle of <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> or <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mn mathvariant="normal">120</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:math></inline-formula>, as shown in Fig. 3d.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e581">Dimensional parameters and technical specifications.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col2" align="center">Parameter </oasis:entry>
         <oasis:entry colname="col3">Value</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Dimensional parameters</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col3">125</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col3">200</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M26" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col3">20</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M27" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col3">30</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Initial height of moving platform (mm)</oasis:entry>
         <oasis:entry colname="col3">315.4599</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Stroke of electric cylinder (mm)</oasis:entry>
         <oasis:entry colname="col3">180</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Distance between primary and secondary platforms (mm)</oasis:entry>
         <oasis:entry colname="col3">1300</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Workpiece dimensions (mm)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:mn mathvariant="normal">2000</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">450</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Technical specifications</oasis:entry>
         <oasis:entry colname="col2">Positioning accuracy (mm)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Orientation accuracy (°)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Internal force–moment suppression rate</oasis:entry>
         <oasis:entry colname="col3">90 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Leg length control error (mm)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e816">The key dimensional parameters and technical specifications are listed in Table 1. The technical specifications are determined based on the performance requirements of aircraft component assembly in the aviation industry, with reference to the positioning accuracy standards of high-precision NCPs.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Inverse kinematics model</title>
      <p id="d2e827">The inverse kinematics modeling of the Stewart platform refers to the process of solving the required lengths of the six extensible legs, given the pose of the <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>P</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame relative to the <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame (<inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Φ</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.  The spatial rotation is described using <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mi>Y</mml:mi><mml:mi>X</mml:mi></mml:mrow></mml:math></inline-formula> Euler angles, where the sequential rotation angles are <inline-formula><mml:math id="M36" display="inline"><mml:mi mathvariant="italic">φ</mml:mi></mml:math></inline-formula> about the <inline-formula><mml:math id="M37" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula> axis, <inline-formula><mml:math id="M38" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> about the <inline-formula><mml:math id="M39" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> axis, and <inline-formula><mml:math id="M40" display="inline"><mml:mi mathvariant="normal">Φ</mml:mi></mml:math></inline-formula> about the <inline-formula><mml:math id="M41" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> axis. The corresponding rotation matrix <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula>  is given by the following:

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M43" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>c</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>s</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>s</mml:mi><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>s</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M44" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M45" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> denote the cosine and sine functions, respectively.</p>
      <p id="d2e1161">Based on Eq. (1) and the attachment points' coordinates, the coordinates of the moving attachment points in the <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame can be calculated as follows:

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M47" display="block"><mml:mrow><mml:msup><mml:mi/><mml:mi>B</mml:mi></mml:msup><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>P</mml:mi></mml:msup><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>x</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is the translation vector from the pose <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Φ</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e1295">Given the coordinates of the moving and fixed attachment points in the <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame, the length <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) of each extensible leg can be computed. Furthermore, the Jacobian matrix <inline-formula><mml:math id="M53" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula>, which maps the platform's spatial velocity to the rates of change in leg lengths, can be derived.

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M54" display="block"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">T</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>P</mml:mi></mml:msup><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>n</mml:mi><mml:mn mathvariant="normal">6</mml:mn><mml:mi mathvariant="normal">T</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi/><mml:mi>P</mml:mi><mml:mi>B</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>P</mml:mi></mml:msup><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          In the above, <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) is the unit direction vector of the extensible leg.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Forward kinematics model</title>
      <p id="d2e1497">The forward kinematics modeling of the Stewart platform refers to the process of determining the pose <inline-formula><mml:math id="M57" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> of the <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>P</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame relative to the <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame, given the lengths of the six extensible legs. Common solution methods include analytical, numerical, and intelligent algorithms. This paper adopts the quasi-Newton method for the solution. This method approximates derivative calculations using function value information, thereby avoiding complex differentiation and improving computational efficiency. For solving the forward kinematics of the Stewart platform, the core iterative formula is as follows:

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M60" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" class="cases" rowspacing="0.2ex" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M61" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is the iteration index, <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is an approximation matrix for <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the forward kinematics model function.</p>
      <p id="d2e1667">This paper employs the inverse Broyden method, an improved variant of the standard Broyden's algorithm, to design the approximation matrix <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>A</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M66" display="block"><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" class="cases" rowspacing="0.2ex" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:math></disp-formula>

          In the above, <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the change in the independent variable, <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the corresponding change in the function value, <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>≠</mml:mo></mml:mrow></mml:math></inline-formula>, and the initial value for the matrix <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be set to the Jacobian matrix <inline-formula><mml:math id="M71" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Inverse dynamics model</title>
      <p id="d2e1943">The dynamic analysis of the Stewart platform can be performed using various methods, including the Newton–Euler equations, Lagrange's equations, Kane's method, and the principle of virtual work. In this section, a combined approach utilizing d'Alembert's principle and the Newton–Euler equations is adopted to establish the system's dynamic model. D'Alembert's principle transforms dynamic inertial effects into an equivalent static equilibrium problem, while the Newton–Euler equations recursively compute the forces and moments on each component. By integrating these two methods, inertial forces, driving forces, and constraint reactions can be intuitively separated, significantly simplifying the dynamic analysis of the multi-body coupled system.</p>
      <p id="d2e1946">By analyzing the velocities and accelerations of each extensible leg, the instantaneous motion states of all legs during system operation were determined, thereby concretizing the inertial force effects in d'Alembert's principle. On this basis, by performing a force and moment equilibrium analysis on the moving platform and the payload, we obtain the following:

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M72" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable rowspacing="0.2ex" class="cases" columnspacing="1em" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">6</mml:mn></mml:msubsup><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mo>×</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">6</mml:mn></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>C</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the resultant force acting at the composite center of mass <inline-formula><mml:math id="M74" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula> of the moving platform and the payload, comprising inertial forces, gravitational force, and external forces; <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>C</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the resultant moment acting at <inline-formula><mml:math id="M76" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula>, comprising inertial moments and external moments; <inline-formula><mml:math id="M77" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> is the position vector of <inline-formula><mml:math id="M78" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula>, expressed in the <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>B</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame; and <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> are the force and moment, respectively, exerted by the U joint of the moving platform on extensible leg <inline-formula><mml:math id="M82" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e2188">Furthermore, the decomposition of the resultant force <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> along the axial direction of the extensible leg and its perpendicular direction leads to the following expression:

            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M85" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>a</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:mrow><mml:mi>a</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msup><mml:mi>J</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:msup><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">6</mml:mn></mml:munderover><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>c</mml:mi><mml:mo>×</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">6</mml:mn></mml:munderover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the component of <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> perpendicular to the extensible-leg axis, and <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>a</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the component of <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> along the extensible-leg axis (<inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>a</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>a</mml:mi></mml:msubsup><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>); they satisfy the relation of <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>a</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>). <inline-formula><mml:math id="M93" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula> denotes the Jacobian matrix defined earlier in Eq. (3).</p>
      <p id="d2e2527">Finally, performing a force analysis along the axis of extensible leg <inline-formula><mml:math id="M94" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> (<inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>) yields the required driving force <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

            <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M97" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mi>a</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the sum of the gravitational force and inertial force of extensible leg <inline-formula><mml:math id="M99" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> (<inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>).</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Cooperative control strategy</title>
      <p id="d2e2673">To address the cooperative posture adjustment problem of dual-Stewart platforms, the primary–secondary control architecture simplifies coordination complexity by clearly dividing tasks (primary platform for decision-making, secondary platform for following) while maintaining compatibility with widely adopted industrial primary–secondary frameworks. On the other hand, admittance control leverages the multi-leg force sensor network of the Stewart platform to dynamically convert high-dimensional force feedback into pose compensation, enabling active compliance. This allows the platform to proactively “yield” during adjustment, thereby reducing workpiece stress and adapting to deformations and environmental uncertainties. The integration of both strategies ensures precise posture adjustment while enhancing workpiece safety. Thus, this paper adopts a force–position cooperative control strategy based on primary–secondary admittance control, where the primary platform operates in position control mode, and the secondary platform operates in admittance control mode. The system control block diagram is shown in Fig. 4.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e2678">Primary–secondary admittance control block diagram.</p></caption>
        <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f04.png"/>

      </fig>

      <p id="d2e2687">The control flow in the block diagram operates as follows. For the primary platform, the target pose <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the moving platform is first generated based on task and trajectory planning. This pose <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is then mapped into the reference lengths <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>d</mml:mi><mml:mi mathvariant="normal">M</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> for the six extensible legs via the inverse kinematics model. Finally, <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msubsup><mml:mi>l</mml:mi><mml:mi>d</mml:mi><mml:mi mathvariant="normal">M</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is fed into the position controller (an H<inline-formula><mml:math id="M105" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity controller), which produces corresponding control signals to actuate the electric cylinders, thereby moving the platform to achieve the target pose <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e2758">In contrast, for the primary platform, a pose compensation <inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is added to the target pose <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This compensation <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is generated by an admittance controller, which takes the internal force <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from an internal force model as its input. The internal force model can generally be constructed in two ways: one is through direct modeling based on force analysis, and the other is through indirect modeling based on dynamic models or similar methods (the approach adopted in this paper will be introduced in Sect. 4.3). It should be noted that the input signals for the primary platform are the displacement curves of the six electric cylinders generated through trajectory planning. For the master platform, however, the input must additionally incorporate the pose compensation output from the admittance controller. In implementation, the displacement curves of the slave platform's electric cylinders are first converted into a pose via forward kinematics. After superimposing the compensation pose from the admittance controller, inverse kinematics is applied to finally derive the drive signals for the slave platform.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>H<inline-formula><mml:math id="M111" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity position controller</title>
      <p id="d2e2820">The position control of parallel mechanisms is central to achieving their high-precision motion. The mechanism itself constitutes a complex, multi-input–multi-output (MIMO), strongly coupled, nonlinear system.  Moreover, during actual operation, the system is subject to unmodeled dynamics, parameter variations, and external disturbances. Therefore, to realize high-precision, highly robust position control, this section introduces H<inline-formula><mml:math id="M112" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> robust control theory.</p>
      <p id="d2e2830">The core idea of H<inline-formula><mml:math id="M113" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> control is to design a controller that minimizes the H<inline-formula><mml:math id="M114" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> norm of certain specified transfer functions of the closed-loop system, thereby reducing the worst-case impact of disturbances to a minimum. The mixed-sensitivity method is an effective and intuitive design approach within this framework, which satisfies different performance specifications by simultaneously optimizing multiple sensitivity functions.  The block diagram of the H<inline-formula><mml:math id="M115" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity control is shown in Fig. 5.</p>

      <fig id="F5"><label>Figure 5</label><caption><p id="d2e2856">H<inline-formula><mml:math id="M116" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity control block diagram.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f05.png"/>

        </fig>

      <p id="d2e2873">In the diagram: <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the plant; <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the controller; <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the performance weighting function, used to shape the closed-loop system's tracking performance and disturbance rejection capability; <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the control effort weighting function, used to constrain the amplitude and energy of the control signal; <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the robustness weighting function, used to enhance the system's robustness against model uncertainties (such as parameter variations and unmodeled dynamics); <inline-formula><mml:math id="M122" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> denotes the generalized inputs, which include reference inputs, disturbances, and noise; <inline-formula><mml:math id="M123" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula> denotes the control error; <inline-formula><mml:math id="M124" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> denotes the control input; <inline-formula><mml:math id="M125" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> denotes the system output; <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> denotes the weighted error signal; <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> denotes the weighted control input signal; and <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> denotes the weighted system output signal.</p>
      <p id="d2e3018">Furthermore, the three sensitivity functions are defined as follows:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M129" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E9"><mml:mtd><mml:mtext>9</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E10"><mml:mtd><mml:mtext>10</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E11"><mml:mtd><mml:mtext>11</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>T</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:mo>-</mml:mo><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>[</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the sensitivity function, <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the control sensitivity function, and <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the complementary sensitivity function.</p>
      <p id="d2e3243">The objective of the H<inline-formula><mml:math id="M133" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity control is to find a controller <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> that minimizes the H<inline-formula><mml:math id="M135" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> norm of the weighted combination of sensitivity functions:

            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M136" display="block"><mml:mrow><mml:mfenced close="∥" open="∥"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mi>T</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>≤</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Admittance controller</title>
      <p id="d2e3372">Admittance control of the secondary platform establishes a mapping relationship between the interaction force and the compensated pose through a second-order dynamic model. The mathematical model is expressed as follows:

            <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M137" display="block"><mml:mrow><mml:mi>M</mml:mi><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>D</mml:mi><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>K</mml:mi><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="normal">Φ</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is the pose compensation vector of the slave platform; <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> are the mass, damping, and stiffness matrices characterizing the system dynamics, typically defined as diagonal matrices; <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> is the generalized force deviation, defined as the difference between the internal force–moment <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> acting on the workpiece and the desired internal force–moment <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>); and, in typical compliance control applications, the desired internal force–moment is often set to zero (<inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) to maximize workpiece protection. Under this setting, the force deviation <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> is equivalent to the internal force–moment <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e3615">To facilitate subsequent simulation analysis, the second-order differential equation is transformed into a state space representation. Defining the state variables <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the system state equation is derived as follows:

            <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M149" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" class="cases" rowspacing="0.2ex" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi><mml:mo>-</mml:mo><mml:mi>D</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi>K</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          and the standard state space representation of the system is given by

            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M150" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable class="cases" rowspacing="0.2ex" columnspacing="1em" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>K</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>D</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>+</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>u</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>+</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mn mathvariant="normal">0</mml:mn><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi>u</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M151" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula> denotes the identity matrix of appropriate dimensions, <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> denotes the system input, and <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denotes the system output.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results through co-simulation</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Simulation method</title>
      <p id="d2e4002">To validate the performance of the aforementioned control method, a co-simulation control loop is established between Simulink and ADAMS, as illustrated in Fig. 6. In this loop, ADAMS transmits the state data of the mechanical system (e.g., pose, forces) to Simulink in real time. Simulink, in turn, utilizes these data as input for its controller to compute the control signals, which are sent back to ADAMS to close the loop. The co-simulation is configured to operate in discrete mode. The parameters are set as follows: a simulation step size of 0.001 s and a total duration of 4 s for Simulink and a communication interval of 0.001 s between Simulink and ADAMS.</p>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e4007">Co-simulation control loop.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f06.png"/>

        </fig>

      <p id="d2e4016">Specifically, to investigate the internal force–moments generated within the workpiece due to non-synchronous motion of the dual platforms, the connection methods between the platforms and the workpiece in ADAMS must be appropriately configured. If both connections were implemented as rigid fixed joints, even minor synchronization errors would result in an over-constrained system, leading to simulation failure. Therefore, a flexible connection scheme is adopted in this model: the primary platform is connected to the workpiece via a fixed joint, while the secondary platform is connected to the workpiece through a bushing force. The parameters for the bushing force in ADAMS are provided in Table 2.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e4023">ADAMS bushing-force parameters.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Value</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Translational stiffness (<inline-formula><mml:math id="M154" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">mm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">(<inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Translational damping (<inline-formula><mml:math id="M156" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">s</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">mm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2.0</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2.0</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2.0</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Force preload (N)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rotational stiffness (N mm per degree)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">8.73</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">8.73</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">8.73</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rotational damping (N mm s per degree)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">3.49</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3.49</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3.49</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Torque preload (<inline-formula><mml:math id="M161" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e4348">Furthermore, to simulate the inevitable non-synchronous motion of the dual platforms during the actual alignment process, a pose disturbance signal is introduced into the command trajectory of the slave platform. This signal is designed as a composite signal consisting of two parts: a random spline curve and Gaussian noise. The spline curve ensures that the disturbance signal is smooth and continuous, preventing abrupt changes. Meanwhile, the Gaussian noise is employed to simulate random interference present in the actual environment. Simultaneously, based on the U-joint clearance model, the resulting leg length variation is incorporated into the control loop as an disturbance. This approach aims to better emulate real-world conditions and to validate the system's disturbance rejection capability. The dynamic response of the cooperative control system is provided in the Supplement (Video 1).</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Position controller performance</title>
      <p id="d2e4360">We take the fixed-platform coordinate frame of the primary platform as the world coordinate frame (<inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>W</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame). In the <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi>W</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> frame, the initial pose of the workpiece is <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">650</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">365.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and the target pose is set to <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">660</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">465.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. A desired trajectory, continuous and smooth in displacement, velocity, acceleration, and jerk, is generated based on a polynomial trajectory-planning method. Subsequently, the inverse kinematics solution is computed to derive the displacement drive commands for the electric cylinders of both the primary and secondary platforms, which serve as the coordinated control input for the system.</p>
      <p id="d2e4472">As outlined in Sect. 3.1, a prerequisite for designing the H<inline-formula><mml:math id="M167" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity controller is obtaining the transfer function of the controlled plant and designing the three weighting functions. At the drive level, a Stewart platform typically employs servo motors coupled with high-reduction-ratio planetary gearboxes or high-lead ball screws to drive the electric cylinders. Such high transmission ratio mechanical structures possess extremely high reverse undrivability and substantial equivalent rotational inertia. Consequently, the electrical dynamics of the motors and the linear displacement mapping of the ball screws constitute the dominant part of the system dynamics, resulting in a strongly diagonally dominant transfer function matrix for the system comprising six actuators. Based on this physical characteristic, each electric cylinder can be reasonably approximated as an independent second-order linear time-invariant (LTI) system. Those neglected off-diagonal coupled dynamic terms, unmodeled high-frequency flexible modes, and external load disturbances are uniformly abstracted as additive or multiplicative bounded unstructured uncertainties, to be suppressed by the subsequent H<inline-formula><mml:math id="M168" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> robust control algorithm. To this end, using a step signal as the input and the displacement response of the electric cylinder from the ADAMS virtual prototype as the output, the transfer function of the electric cylinder is obtained through system identification as follows:

            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M169" display="block"><mml:mrow><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mi>s</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e4542">where <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1925</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.205</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.205</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e4621">The weighting function was chosen in its canonical form, with parameters determined through a combination of theoretical analysis and iterative simulation. The final form of the weighting function is presented below:

            <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M174" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" class="cases" rowspacing="0.2ex" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">000</mml:mn></mml:mrow><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0.05</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mo>×</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>s</mml:mi><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>s</mml:mi><mml:mn mathvariant="normal">1100</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.0</mml:mn><mml:mo>×</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>s</mml:mi><mml:mn mathvariant="normal">900</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>s</mml:mi><mml:mn mathvariant="normal">2400</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e4747">Based on the identified plant model <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and the designed weighting functions <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mi>W</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the controller <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is obtained by solving the corresponding algebraic Riccati equations or linear matrix inequalities derived from the generalized plant structure.</p>
      <p id="d2e4792">A simulation model is constructed based on the aforementioned transfer function to validate the performance of the H<inline-formula><mml:math id="M178" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity controller. The results are shown in Fig. 7a and c. Analysis indicates that, although the tracking error exhibits some fluctuations during the initial and dynamic adjustment phases of the alignment process, it demonstrates excellent convergence. By the 4 s mark, the displacement tracking errors for all legs of both the primary and secondary platforms had stabilized within 0.05 mm, meeting the technical specifications outlined in Sect. 2.1 (Table 1).</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e4804">Simulation results of the H<inline-formula><mml:math id="M179" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity controller.  <bold>(a)</bold> Leg displacement tracking error of the master platform. <bold>(b)</bold> Leg displacement tracking error of the master platform (with step disturbance). <bold>(c)</bold> Leg displacement tracking error of the slave platform. <bold>(d)</bold> Leg displacement tracking error of the slave platform (with step disturbance).</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f07.png"/>

        </fig>

      <p id="d2e4832">Furthermore, to validate the robustness of the controller, a step signal with an amplitude of 10 mm is introduced as an external disturbance at the 2 s mark to observe the recovery of the system output. The final simulation results are shown in Fig. 7b and d. The results indicate that the H<inline-formula><mml:math id="M180" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity controller rapidly suppressed the oscillations induced by the disturbance (within approximately 0.02 s), enabling the system to quickly return to a stable tracking state. This demonstrates that the position controller designed based on the H<inline-formula><mml:math id="M181" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity method possesses strong disturbance rejection capability against external disturbances, meeting the requirements for high-precision pose adjustment.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Cooperative posture adjustment simulation</title>
      <p id="d2e4858">This section validates the overall performance of the proposed primary–secondary admittance control strategy for the dual-platform cooperative posture adjustment task, based on the co-simulation platform established in Sect. 4.1. The simulation focuses on two key metrics: the final positioning accuracy of the workpiece and the system's ability to suppress internal force–moment.</p>
      <p id="d2e4861">As described in Sect. 4.1, the internal force–moment <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> of the workpiece is indirectly observed via the bushing force in the ADAMS model (Table 2). To accurately isolate the undesired internal force–moment generated specifically by the motion asynchronization of the two platforms, a differential method is employed:

            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M183" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mtext>mea</mml:mtext></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mtext>sync</mml:mtext></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>mea</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is measured in real time through the bushing force model in ADAMS and represents a complex mixed term. Inevitably, it contains three core components: the gravitational component of the workpiece itself, the inertia force component generated as the workpiece follows the platform motion, and internal squeezing or pulling forces resulting from the motion asynchrony between the primary and secondary platforms. If <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>mea</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is directly used as feedback input in admittance control, the secondary platform will mistakenly exhibit a “compliant” response to the workpiece's own weight, causing the workpiece to drop under gravity and thereby affecting trajectory accuracy. Therefore, the concept of a baseline synchronous force <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>sync</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> must be introduced. <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>sync</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is the theoretical static and dynamic load that the slave platform would need to bear under a fully synchronized motion state to maintain the workpiece's current pose and desired kinematic state.  By performing the differential calculation, the internal force <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> generated specifically by the motion asynchronization can be accurately isolated.</p>
      <p id="d2e4958">This method effectively eliminates the internal force–moment component caused by gravity and the initial configuration, ensuring that the observed force signal originates directly from the motion asynchronization between the two platforms. The dynamic characteristics of the admittance controller are determined by the mass (<inline-formula><mml:math id="M189" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>), damping (<inline-formula><mml:math id="M190" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>), and stiffness (<inline-formula><mml:math id="M191" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>) matrices in Eq. (15). To achieve satisfactory force tracking performance and system stability, parameters were optimized through the system's dynamic response.  The final admittance parameters were determined as follows:

            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M192" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" class="cases" rowspacing="0.2ex" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mtext>diag</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mtext>diag</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:mtext>diag</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">φ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e5348">With the admittance controller implemented, a co-simulation of the entire cooperative adjustment process was conducted. The actual tracking trajectory of the workpiece from its initial to target pose is shown in Fig. 8a and b, and the internal force–moment variations are shown in Fig. 8c and d.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e5354">Co-simulation results. <bold>(a)</bold> Actual displacement tracking curve of the workpiece. <bold>(b)</bold> Actual attitude angle tracking curve of the workpiece. <bold>(c)</bold> Internal force variations curve of the workpiece. <bold>(d)</bold> Internal moment variations curve of the workpiece.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/657/2026/ms-17-657-2026-f08.png"/>

        </fig>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e5378">Workpiece posture error.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Workpiece posture</oasis:entry>
         <oasis:entry colname="col2">Initial value</oasis:entry>
         <oasis:entry colname="col3">Target value</oasis:entry>
         <oasis:entry colname="col4">Actual value</oasis:entry>
         <oasis:entry colname="col5">Error</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M199" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col2">650</oasis:entry>
         <oasis:entry colname="col3">660</oasis:entry>
         <oasis:entry colname="col4">659.9988</oasis:entry>
         <oasis:entry colname="col5">0.0012</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M200" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9.9987</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0013</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M204" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col2">365.4599</oasis:entry>
         <oasis:entry colname="col3">465.4599</oasis:entry>
         <oasis:entry colname="col4">465.4381</oasis:entry>
         <oasis:entry colname="col5">0.0218</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M205" display="inline"><mml:mi mathvariant="italic">φ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">5</oasis:entry>
         <oasis:entry colname="col4">4.9989</oasis:entry>
         <oasis:entry colname="col5">0.0011</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M206" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">5</oasis:entry>
         <oasis:entry colname="col4">4.9991</oasis:entry>
         <oasis:entry colname="col5">0.0009</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M207" display="inline"><mml:mi mathvariant="normal">Φ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">5</oasis:entry>
         <oasis:entry colname="col4">4.9984</oasis:entry>
         <oasis:entry colname="col5">0.0016</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e5590">A quantitative analysis of the simulation data was performed, with the results summarized in Tables 3 and 4. The pose accuracy analysis (Table 3) demonstrates that, upon completion of the posture adjustment task, the positioning errors of the workpiece were consistently low. Specifically, the maximum translational error was 0.0218 mm in the <inline-formula><mml:math id="M208" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> direction, and the maximum attitude error was 0.0016° around the <inline-formula><mml:math id="M209" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> axis. These results fully confirm the high-precision performance of the control system.</p>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e5610">Internal force–moment suppression.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Internal force</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center">Mean absolute value </oasis:entry>
         <oasis:entry colname="col4">Reduction</oasis:entry>
         <oasis:entry colname="col5">Suppression rate</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Without admittance</oasis:entry>
         <oasis:entry colname="col3">With admittance</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">control</oasis:entry>
         <oasis:entry colname="col3">control</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7568</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.0517</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.6516</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">94.0135 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7599</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:mn mathvariant="normal">5.6245</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7037</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">96.8041 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M218" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7488</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:mn mathvariant="normal">5.4216</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.6946</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">96.8998 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M223" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.2555</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">53.6250</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.2019</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">98.7399 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M227" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.5933</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">60.1660</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.5331</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">98.3256 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M231" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.8073</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">57.2810</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.7500</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">98.4955 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e6081">Design parameters for multiple sets of simulation experiment working conditions.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry colname="col2">Load condition</oasis:entry>
         <oasis:entry colname="col3">Workpiece mass (kg)</oasis:entry>
         <oasis:entry colname="col4">Range condition</oasis:entry>
         <oasis:entry colname="col5">Target pose (<inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M235" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:math></inline-formula>: °)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">light load</oasis:entry>
         <oasis:entry colname="col3">346.7853</oasis:entry>
         <oasis:entry colname="col4">short range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">651</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">375.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">light load</oasis:entry>
         <oasis:entry colname="col3">346.7853</oasis:entry>
         <oasis:entry colname="col4">medium range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M238" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">645</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">435.4599</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">light load</oasis:entry>
         <oasis:entry colname="col3">346.7853</oasis:entry>
         <oasis:entry colname="col4">extensive range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">660</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">465.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">medium load</oasis:entry>
         <oasis:entry colname="col3">693.5706</oasis:entry>
         <oasis:entry colname="col4">short range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">651</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">375.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">medium load</oasis:entry>
         <oasis:entry colname="col3">693.5706</oasis:entry>
         <oasis:entry colname="col4">medium range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">645</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">435.4599</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">medium load</oasis:entry>
         <oasis:entry colname="col3">693.5706</oasis:entry>
         <oasis:entry colname="col4">extensive range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">660</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">465.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">heavy load</oasis:entry>
         <oasis:entry colname="col3">1387.1412</oasis:entry>
         <oasis:entry colname="col4">short range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">651</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">375.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2">heavy load</oasis:entry>
         <oasis:entry colname="col3">1387.1412</oasis:entry>
         <oasis:entry colname="col4">medium range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">645</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">435.4599</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">heavy load</oasis:entry>
         <oasis:entry colname="col3">1387.1412</oasis:entry>
         <oasis:entry colname="col4">extensive range</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">660</mml:mn><mml:mo>,</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">465.4599</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e6663">The internal force–moment suppression effect, detailed in Table 4, is even more remarkable. Compared to the scenario without admittance control, the introduction of the admittance controller successfully suppressed the internal force–moment in all directions to a significantly lower level, achieving a suppression rate exceeding 94.01 % across all measured components. This clearly indicates that the proposed primary–secondary admittance control strategy is highly effective in mitigating the internal force–moment generated by motion asynchronization between the two platforms.</p>
      <p id="d2e6666">In summary, the simulation results comprehensively validate that the system's performance meets the technical specifications outlined in Sect. 2.1 (Table 1), excelling in both posture adjustment accuracy and internal force–moment suppression capability.</p>
      <p id="d2e6669">To validate the effectiveness and stability of the proposed control strategy under different operating conditions, multiple sets of simulation experiments were conducted further based on the aforementioned simulations.  The simulation experiments were designed from two dimensions: load mass and pose adjustment range, resulting in nine different working conditions: (1) Load conditions are categorized into light load, medium load, and heavy load.  Without altering the workpiece model, the density parameter was adjusted to simulate scenarios involving clamping components of different weights. (2) Range conditions are categorized into short range, medium range, and extensive range. This was achieved by setting different target poses for the workpiece. The range magnitude was measured by the required extension or retraction of each electric cylinder on the primary and secondary platforms, which directly reflects the utilization of the platform's driving mechanism within its physical stroke range.</p>
      <p id="d2e6672">Among them, the aforementioned simulation demonstrates the “medium load-extensive range” working condition. Under all working conditions, the same simulation environment settings, control algorithm parameters, and disturbance signals (<inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>q</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are maintained. The specific parameter designs for each working condition are shown in Table 5.</p>

<table-wrap id="T6" specific-use="star"><label>Table 6</label><caption><p id="d2e6697">Workpiece posture error statistics under multiple working conditions.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col7" align="center">Workpiece posture error </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M247" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M248" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M249" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M250" display="inline"><mml:mi mathvariant="italic">φ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M251" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M252" display="inline"><mml:mi mathvariant="normal">Φ</mml:mi></mml:math></inline-formula> (°)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">0.0002</oasis:entry>
         <oasis:entry colname="col3">0.0002</oasis:entry>
         <oasis:entry colname="col4">0.0018</oasis:entry>
         <oasis:entry colname="col5">0.0001</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0001</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7">0.0001</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0017</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.0018</oasis:entry>
         <oasis:entry colname="col4">0.0150</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M256" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">0.0012</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0013</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">0.0218</oasis:entry>
         <oasis:entry colname="col5">0.0011</oasis:entry>
         <oasis:entry colname="col6">0.0009</oasis:entry>
         <oasis:entry colname="col7">0.0016</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">0.0002</oasis:entry>
         <oasis:entry colname="col3">0.0002</oasis:entry>
         <oasis:entry colname="col4">0.0018</oasis:entry>
         <oasis:entry colname="col5">0.0001</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0001</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7">0.0001</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0017</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.0018</oasis:entry>
         <oasis:entry colname="col4">0.0150</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">0.0012</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0013</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">0.0218</oasis:entry>
         <oasis:entry colname="col5">0.0011</oasis:entry>
         <oasis:entry colname="col6">0.0009</oasis:entry>
         <oasis:entry colname="col7">0.0016</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">0.0002</oasis:entry>
         <oasis:entry colname="col3">0.0002</oasis:entry>
         <oasis:entry colname="col4">0.0018</oasis:entry>
         <oasis:entry colname="col5">0.0001</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0001</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7">0.0001</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0017</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.0018</oasis:entry>
         <oasis:entry colname="col4">0.0150</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0007</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">0.0012</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0013</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">0.0218</oasis:entry>
         <oasis:entry colname="col5">0.0011</oasis:entry>
         <oasis:entry colname="col6">0.0009</oasis:entry>
         <oasis:entry colname="col7">0.0016</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mean absolute value</oasis:entry>
         <oasis:entry colname="col2">0.0010</oasis:entry>
         <oasis:entry colname="col3">0.0011</oasis:entry>
         <oasis:entry colname="col4">0.0129</oasis:entry>
         <oasis:entry colname="col5">0.0006</oasis:entry>
         <oasis:entry colname="col6">0.0006</oasis:entry>
         <oasis:entry colname="col7">0.0008</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T7" specific-use="star"><label>Table 7</label><caption><p id="d2e7193">Workpiece internal force suppression rate statistics under multiple working conditions.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col7" align="center">Internal force–moment suppression rate </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N)</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M275" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M277" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M279" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">N</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">92.3065 %</oasis:entry>
         <oasis:entry colname="col3">97.3766 %</oasis:entry>
         <oasis:entry colname="col4">95.8495 %</oasis:entry>
         <oasis:entry colname="col5">97.5105 %</oasis:entry>
         <oasis:entry colname="col6">97.8787 %</oasis:entry>
         <oasis:entry colname="col7">98.9228 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">90.2135 %</oasis:entry>
         <oasis:entry colname="col3">95.9120 %</oasis:entry>
         <oasis:entry colname="col4">96.4444 %</oasis:entry>
         <oasis:entry colname="col5">98.0335 %</oasis:entry>
         <oasis:entry colname="col6">97.8501 %</oasis:entry>
         <oasis:entry colname="col7">97.0798 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">77.1049 %</oasis:entry>
         <oasis:entry colname="col3">97.9201 %</oasis:entry>
         <oasis:entry colname="col4">97.8399 %</oasis:entry>
         <oasis:entry colname="col5">97.6556 %</oasis:entry>
         <oasis:entry colname="col6">98.9437 %</oasis:entry>
         <oasis:entry colname="col7">98.4035 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">94.9368 %</oasis:entry>
         <oasis:entry colname="col3">72.1494 %</oasis:entry>
         <oasis:entry colname="col4">93.5288 %</oasis:entry>
         <oasis:entry colname="col5">98.5036 %</oasis:entry>
         <oasis:entry colname="col6">95.5496 %</oasis:entry>
         <oasis:entry colname="col7">95.5934 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">87.8917 %</oasis:entry>
         <oasis:entry colname="col3">95.4247 %</oasis:entry>
         <oasis:entry colname="col4">97.2446 %</oasis:entry>
         <oasis:entry colname="col5">98.9160 %</oasis:entry>
         <oasis:entry colname="col6">98.3947 %</oasis:entry>
         <oasis:entry colname="col7">97.1862 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">94.0135 %</oasis:entry>
         <oasis:entry colname="col3">96.8041 %</oasis:entry>
         <oasis:entry colname="col4">96.8998 %</oasis:entry>
         <oasis:entry colname="col5">98.7399 %</oasis:entry>
         <oasis:entry colname="col6">98.3256 %</oasis:entry>
         <oasis:entry colname="col7">98.4955 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">96.6507 %</oasis:entry>
         <oasis:entry colname="col3">95.1050 %</oasis:entry>
         <oasis:entry colname="col4">97.7051 %</oasis:entry>
         <oasis:entry colname="col5">99.0974 %</oasis:entry>
         <oasis:entry colname="col6">98.0307 %</oasis:entry>
         <oasis:entry colname="col7">97.7472 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2">85.2099 %</oasis:entry>
         <oasis:entry colname="col3">97.2013 %</oasis:entry>
         <oasis:entry colname="col4">97.4478 %</oasis:entry>
         <oasis:entry colname="col5">96.9155 %</oasis:entry>
         <oasis:entry colname="col6">98.0673 %</oasis:entry>
         <oasis:entry colname="col7">97.3304 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">92.0312 %</oasis:entry>
         <oasis:entry colname="col3">96.7664 %</oasis:entry>
         <oasis:entry colname="col4">96.0438 %</oasis:entry>
         <oasis:entry colname="col5">96.8821 %</oasis:entry>
         <oasis:entry colname="col6">98.0097 %</oasis:entry>
         <oasis:entry colname="col7">97.6325 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mean</oasis:entry>
         <oasis:entry colname="col2">90.0399 %</oasis:entry>
         <oasis:entry colname="col3">93.8511 %</oasis:entry>
         <oasis:entry colname="col4">96.5560 %</oasis:entry>
         <oasis:entry colname="col5">98.0282 %</oasis:entry>
         <oasis:entry colname="col6">97.8945 %</oasis:entry>
         <oasis:entry colname="col7">97.5990 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e7599">Furthermore, to evaluate the robustness of the proposed control strategy against fluctuations in controller parameters in practical engineering applications, piecewise time-varying random disturbances were introduced into the parameters of the admittance controller in the simulation. The specific design is as follows: the total duration of each simulation is evenly divided into 10 time segments. Within each segment, a random time point is selected, at which the mass, damping, and stiffness parameters of the admittance controller are instantly superimposed with a random disturbance value uniformly distributed within a <inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> range. This disturbance remains constant throughout the segment until the next disturbance time point is triggered. This design aims to simulate the slow drift or step changes in controller parameters caused by factors such as component aging or environmental temperature variations, thereby testing the stability of the cooperative control strategy under non-ideal parameter conditions.</p>
      <p id="d2e7615">Data from all nine sets of simulation experiments were collected and analyzed. The summarized results of the core performance indicators (posture adjustment accuracy and internal force suppression effectiveness) are presented in Tables 6 and 7.</p>
      <p id="d2e7618">Based on the statistical data from Tables 6 and 7, the following conclusions can be drawn regarding the performance of the proposed control strategy under different working conditions: across the nine working conditions covering light, medium, and heavy loads, as well as small, medium, and large ranges, the final workpiece pose errors remain at a low level. As shown in Table 6, the mean absolute values of displacement errors in all directions do not exceed 0.0129 mm, and the mean absolute values of attitude angle errors do not exceed 0.0008°. This indicates that the designed H<inline-formula><mml:math id="M281" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity position controller exhibits good robustness against variations in load, motion range, and controller parameter fluctuations and can stably ensure high-precision trajectory tracking.  Meanwhile, as seen in Table 7, the proposed admittance cooperative control strategy achieves highly efficient suppression of adjustment internal forces under all nine working conditions, with the suppression rates for internal forces and moments in all directions exceeding 90.03 %. The data show that, even in the presence of disturbances in the controller parameters, the internal force suppression performance does not significantly degrade, verifying its stability in internal force suppression.</p>
      <p id="d2e7629">In summary, the results of multiple sets of simulation experiments conducted under parameter disturbances demonstrate that the dual parallel platform cooperative pose adjustment strategy based on primary–secondary admittance control, as proposed in this paper, can achieve high-precision pose control and effective internal force suppression under various working conditions – from light to heavy loads and from small to large ranges. This fully meets the technical specifications outlined in Sect. 2.1 (Table 1).</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusion</title>
      <p id="d2e7642">This study addresses the challenge of precise posture adjustment for point-feature and linear-feature aircraft components in confined assembly spaces by proposing a dual-Stewart platform cooperative strategy based on primary–secondary admittance control. To enhance system robustness against parameter variations and external disturbances, the position controller was designed using the H<inline-formula><mml:math id="M282" display="inline"><mml:mi mathvariant="normal">∞</mml:mi></mml:math></inline-formula> mixed-sensitivity method. Simulation results demonstrate that the proposed approach not only achieves high-precision pose control, with translational errors within 0.0218 mm and attitude errors within 0.0016°, but also effectively suppresses the internal force–moment caused by motion asynchronization between the two platforms, achieving a suppression rate of over 94.01 %.</p>
      <p id="d2e7652">Currently, research on posture adjustment technologies using parallel mechanisms for point-feature and linear-feature aircraft components remains limited, particularly in terms of multi-platform force–position cooperative control methods for large-sized, low-rigidity workpieces. Thus, the strategy presented in this paper offers a viable technical solution for high-precision, low-force assembly of such components in spatially confined environments, contributing to broadening the application of parallel mechanisms in aviation manufacturing. Future work will involve the construction of a physical platform to validate the control strategy under real-world conditions. Key research directions will include the following: (1) advancing the control architecture from unilateral admittance to bilateral compliance or shared impedance, incorporating differentiated stiffness settings for the primary–secondary platforms and delay compensation mechanisms (e.g., passivity observers, bandwidth adjustment) to enhance coordination and stability in practical operation; (2) implementing joint coordinate calibration for the Stewart platform and developing adaptive compensation strategies for multi-source errors (e.g., friction, backlash, crosstalk), potentially augmented by global measurement feedback, to bridge the sim-to-real gap; and (3) establishing a real-time internal force observation loop based on the physical force sensor network, utilizing methods such as inverse-dynamics difference or matrix null-space decomposition to replace the simulation-specific bushing model, thereby improving the reliability and practicality of internal force control.</p>
</sec>

      
      </body>
    <back><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e7659">Code and data are available on request from the authors. The datasets and the control code generated and analyzed during this study are not publicly available due to confidentiality agreements with our industrial partners and the proprietary nature of the aircraft components involved. However, processed data necessary to reproduce the key findings, along with a demonstration version of the control algorithm, are available from the corresponding author upon reasonable request for academic verification purposes.</p>
  </notes><app-group>
        <supplementary-material position="anchor"><p id="d2e7662">The supplement related to this article is available online at <inline-supplementary-material xlink:href="https://doi.org/10.5194/ms-17-657-2026-supplement" xlink:title="zip">https://doi.org/10.5194/ms-17-657-2026-supplement</inline-supplementary-material>.</p></supplementary-material>
        </app-group><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e7671">Methodology: HY and JL. Software: JL and KL. Validation: RT, KL, and PZ. Investigation: HY and PZ. Writing (original draft preparation): JL and PZ. Writing (review and editing): JL and PZ. Visualization: JL and PZ. Supervision: HY and RT. Project administration: HY. Funding acquisition: HY and RT. All of the authors reviewed and approved the final version of the paper.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e7677">At least one of the (co-)authors is a member of the editorial board of <italic>Mechanical Sciences</italic>. The peer-review process was guided by an independent editor, and the authors also have no other competing interests to declare.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e7686">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e7692">This research was supported 2024 “Hundred Doctors-Hundred Enterprises” Initiative under grant 2024H-100171; in part by the Shenzhen Science and Technology Program under grant KCXFZ20240903094011015; and in part by the Natural Science Foundation of Sichuan Province under grant 2026NSFSC1255.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e7697">This research was supported 2024 “Hundred Doctors-Hundred Enterprises” Initiative under grant no. 2024H-100171, in part by the Shenzhen Science and Technology Program under grant no. KCXFZ20240903094011015 and in part by the Natural Science Foundation of Sichuan Province under grant no. 2026NSFSC1255.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e7703">This paper was edited by Haitong Liang and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Chen, Z., Huang, F. H., Yang, C. N., and Yao, B.: Adaptive fuzzy backstepping control for stable nonlinear bilateral teleoperation manipulators with enhanced transparency performance, IEEE T. Ind. Electron., 67, 746–756, <ext-link xlink:href="https://doi.org/10.1109/TIE.2019.2898587" ext-link-type="DOI">10.1109/TIE.2019.2898587</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Dasgupta, B. and Mruthyunjaya, T.-S.: A Newton–Euler formulation for the inverse dynamics of the Stewart platform manipulator, Mech. Mach. Theory, 33, 1135–1152, <ext-link xlink:href="https://doi.org/10.1016/S0094-114X(97)00118-3" ext-link-type="DOI">10.1016/S0094-114X(97)00118-3</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Duan, J. J., Gan, Y. H., Chen, M., and Dai, X. Z.: Adaptive variable impedance control for dynamic contact force tracking in uncertain environment, Robot. Auton. Syst., 102, 54–65, <ext-link xlink:href="https://doi.org/10.1016/j.robot.2018.01.009" ext-link-type="DOI">10.1016/j.robot.2018.01.009</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Erdem, I., Helgosson, P., and Kihlman, H.: Development of Automated Flexible Tooling as Enabler in Wing Box Assembly, Proc. CIRP, 44, 233–238, <ext-link xlink:href="https://doi.org/10.1016/j.procir.2016.02.065" ext-link-type="DOI">10.1016/j.procir.2016.02.065</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Guo, F. Y., Xiao, Q. D., Xiao, S. H., and Wang, Z. Q.: Assembly technology for aeronautical CFRP structures under the collaborative constrains of geometric shape, physical performance and service stability, Compos. Struct., 318, 1–26, <ext-link xlink:href="https://doi.org/10.1016/j.compstruct.2023.117071" ext-link-type="DOI">10.1016/j.compstruct.2023.117071</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>He, W., Xue, C. Q., Yu, X. B., Li, Z. J., and Yang, C. G.: Admittance-based controller design for physical human-robot interaction in the constrained task space, IEEE T. Autom. Sci. Eng., 17, 1937–1949, <ext-link xlink:href="https://doi.org/10.1109/TASE.2020.2983225" ext-link-type="DOI">10.1109/TASE.2020.2983225</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Hogan, N.: Impedance Control: An Approach to Manipulation, in: 1984 American Control Conference, San Diego, CA, USA, 6–8 June 1984, 304–313, <ext-link xlink:href="https://doi.org/10.23919/ACC.1984.4788393" ext-link-type="DOI">10.23919/ACC.1984.4788393</ext-link>, 1984.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Hu, J. Y., Niu, H. L., Carrasco, J., Lennox, B., and Arvin, F.: Voronoi-based multi-robot autonomous exploration in unknown environments via deep reinforcement learning, IEEE T. Veh. Technol., 69, 14413–14423, <ext-link xlink:href="https://doi.org/10.1109/TVT.2020.3034800" ext-link-type="DOI">10.1109/TVT.2020.3034800</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Ji, M. and Egerstedt, M.: Distributed Coordination Control of Multiagent Systems While Preserving Connectedness, IEEE T. Robot., 23, 693–703, <ext-link xlink:href="https://doi.org/10.1109/TRO.2007.900638" ext-link-type="DOI">10.1109/TRO.2007.900638</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Jiang, A. M., Han, H., Han, C. Y., He, S., Xu, Z. B., and Wu, Q. W.: Dynamics modeling and redundant force optimization of modular combination parallel manipulator, Machines, 11, 1–19, <ext-link xlink:href="https://doi.org/10.3390/machines11020247" ext-link-type="DOI">10.3390/machines11020247</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Kou, J. G., Wang, Y. X., Chen, Z. L., Shi, Y., and Guo, Q.: Gait planning and multimodal human-exoskeleton cooperative control based on central pattern generator, IEEE-ASME T. Mech., 30, 2598–2608, <ext-link xlink:href="https://doi.org/10.1109/TMECH.2024.3453037" ext-link-type="DOI">10.1109/TMECH.2024.3453037</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Li, B., Tian, W., Zhang, C. F., Hua, F. F., Cui, G. Y., and Li, Y. F.: Positioning error compensation of an industrialrobot using neural networks and experimental study, Chinese J. Aeronaut., 35, 346–360, <ext-link xlink:href="https://doi.org/10.1016/j.cja.2021.03.027" ext-link-type="DOI">10.1016/j.cja.2021.03.027</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>Li, C. Y., Hu, J. S., Su, X. T., Wang, H. C., Liu, H. W., and Tian, W.: Analyses and regulations on deformation and stress of aircraft assembly structures with hybrid modeling strategy, Adv. Eng. Inform., 69, 1–27, <ext-link xlink:href="https://doi.org/10.1016/j.aei.2025.104032" ext-link-type="DOI">10.1016/j.aei.2025.104032</ext-link>, 2025a. </mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>Li, X. F., Zhao, P. Y., and Jing, X. J.: X-Stewart mechanism for vibration isolation with nonlinear translational-to-rotational motion properties, Int. J. Mech. Sci., 303, 1–31, <ext-link xlink:href="https://doi.org/10.1016/j.ijmecsci.2025.110596" ext-link-type="DOI">10.1016/j.ijmecsci.2025.110596</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>Li, Y. J., Liu, W., Lu, H., Gao, C. Y., Liu, R. Z., and Chen, Q. H.: Online adaptive method for obtaining high-precision spherical joint positions with the lower internal force assembly of large-scale aircraft components, IEEE T. Ind. Inform., 21, 2194–2203, <ext-link xlink:href="https://doi.org/10.1109/TII.2024.3495764" ext-link-type="DOI">10.1109/TII.2024.3495764</ext-link>, 2025c.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Liu, H. H., Zhen, S. C., Liu, X. L., Zheng, H. M., Gao, L. S., and Chen, Y.-H.: Robust approximate constraint following control design for collaborative robots system and experimental validation, Robotica, 42, 3957-3975, <ext-link xlink:href="https://doi.org/10.1017/S0263574724001760" ext-link-type="DOI">10.1017/S0263574724001760</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>Lu, Z.-Q., Wu, D., Ding, H., and Chen, L.-Q.: Vibration isolation and energy harvesting integrated in a Stewart platform with high static and low dynamic stiffness, Appl. Math. Model., 89, 249–267, <ext-link xlink:href="https://doi.org/10.1016/j.apm.2020.07.060" ext-link-type="DOI">10.1016/j.apm.2020.07.060</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation>Raibert, M. H. and Craig, J. J.: Hybrid position/force control of manipulators, J. Dyn. Syst.-T. ASME, 103, 126-133, <ext-link xlink:href="https://doi.org/10.1115/1.3139652" ext-link-type="DOI">10.1115/1.3139652</ext-link>, 1981.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation>Ramirez, J. and Wollnack, J.: Flexible automated assembly systems for large CFRP-structures, Procedia Technol., 15, 447–455, <ext-link xlink:href="https://doi.org/10.1016/j.protcy.2014.09.004" ext-link-type="DOI">10.1016/j.protcy.2014.09.004</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Russo, M., Zhang, D., Liu, X.-J., and Xie, Z. H.: A review of parallel kinematic machine tools: Design, modeling, and applications, Int. J. Mach. Tool Manu., 196, 1–22, <ext-link xlink:href="https://doi.org/10.1016/j.ijmachtools.2024.104118" ext-link-type="DOI">10.1016/j.ijmachtools.2024.104118</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>Shi, P. and Yan, B.: A survey on intelligent control for multiagent systems, IEEE T. Syst. Man. Cy. A, 51, 161-175, <ext-link xlink:href="https://doi.org/10.1109/TSMC.2020.3042823" ext-link-type="DOI">10.1109/TSMC.2020.3042823</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><mixed-citation>Sombolestan, M. and Nguyen, Q.: Hierarchical Adaptive Control for Collaborative Manipulation of a Rigid Object by Quadrupedal Robots, in: 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems, Detroit, MI, USA, 1–5 October 2023, 2752–2759, <ext-link xlink:href="https://doi.org/10.1109/IROS55552.2023.10341700" ext-link-type="DOI">10.1109/IROS55552.2023.10341700</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>Stewart, D.: A platform with six degrees of freedom, Proc. Inst. Mech. Eng., 180, 371–386, <ext-link xlink:href="https://doi.org/10.1243/PIME_PROC_1965_180_029_02" ext-link-type="DOI">10.1243/PIME_PROC_1965_180_029_02</ext-link>, 1965.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>Sun, T., Song, Y. M., Dong, G., Lian, B. B., and Liu, J. P.: Optimal design of a parallel mechanism with three rotational degrees of freedom, Robot. CIM-Int. Manuf., 28, 500–508, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2012.02.002" ext-link-type="DOI">10.1016/j.rcim.2012.02.002</ext-link>, 2012. </mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Wang, J. Y., Tian, Y. Z., Xi, F. F., Chablat, D., Ren, G., and Zhao, Y. J.: A Pill bug-inspired Two-mode Mobile Robot Covered with Sliding Curvy Shells, IEEE T. Robot., 42, 1275–1289, <ext-link xlink:href="https://doi.org/10.1109/TRO.2026.3661723" ext-link-type="DOI">10.1109/TRO.2026.3661723</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>Wang, M. C., Zong, L. J., and Yuan, J. P.: Position/Force Control for a Dual-Arm Space Manipulator Gripping and Transporting an Unknown Target Without Grapple Fixtures, IEEE T. Aero. Elec. Sys., 60, 1770–1783, <ext-link xlink:href="https://doi.org/10.1109/TAES.2023.3341056" ext-link-type="DOI">10.1109/TAES.2023.3341056</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation>Wang, Y., Liu, Y. P., Chen, H. H., Xie, Q., Zhang, K. J., and Wang, J.: Combined measurement based wing-fuselage assembly coordination via multiconstraint optimization, IEEE T. Instrum. Meas., 71, 1–16, <ext-link xlink:href="https://doi.org/10.1109/TIM.2022.3186675" ext-link-type="DOI">10.1109/TIM.2022.3186675</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>Wang, Z. H., Li, H. B., and Sun, N. N.: High-efficiency inverse dynamics modeling of parallel posture alignment mechanism with actuation redundancy, Robotica, 41, 2668–2687, <ext-link xlink:href="https://doi.org/10.1017/S0263574723000590" ext-link-type="DOI">10.1017/S0263574723000590</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Yu, H., Lv, M., Hu, B., Zhang, Y., and Zhao, P.: Review article: A review of control technologies for soft robots: from structural design to intelligent control, Mech. Sci., 17, 313–332, <ext-link xlink:href="https://doi.org/10.5194/ms-17-313-2026" ext-link-type="DOI">10.5194/ms-17-313-2026</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Zeng, Q., Huang, X., Li, S. G., and Deng, Z. P.: High-efficiency posture prealignment method for large component assembly via iGPS and laser ranging, IEEE T. Instrum. Meas., 69, 5497–5510, <ext-link xlink:href="https://doi.org/10.1109/TIM.2019.2958579" ext-link-type="DOI">10.1109/TIM.2019.2958579</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Zhao, H. D., Li, L. P., Peng, Q. Y., Zhang, R. Q., Chen, T. D., Fang, F., Zhang, Q. J., Zhang, B. J., and Xiao, W. H.: Model based forward design of six degrees of freedom vibration isolator for aviation optoelectronic platform, Opt. Express, 33, 1–16, <ext-link xlink:href="https://doi.org/10.1364/OE.564911" ext-link-type="DOI">10.1364/OE.564911</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>Zhou, W., Tao, J. L., Yang, Z. J., Liu, W. Q., and Peng, J. Q.: Laparoscope adjustment with stereo vision for robot-assisted surgery based on multi-task control, IEEE Sens. J. (Early Access), 1–15, <ext-link xlink:href="https://doi.org/10.1109/JSEN.2025.3582390" ext-link-type="DOI">10.1109/JSEN.2025.3582390</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation>Zhu, D. H., Feng, X. Z., Xu, X. H., Yang, Z. Y., Li, W. L., Yan, S. J., and Ding, H.: Robotic grinding of complex components: A step towards efficient and intelligent machining – challenges, solutions, and applications, Robot. CIM-Int. Manuf., 65, 1–15, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2019.101908" ext-link-type="DOI">10.1016/j.rcim.2019.101908</ext-link>, 2020.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>A primary–secondary admittance control strategy for dual-Stewart platforms in confined-space aircraft component alignment</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Chen, Z., Huang, F. H., Yang, C. N., and Yao, B.: Adaptive fuzzy backstepping control for stable nonlinear
bilateral teleoperation manipulators with enhanced transparency performance, IEEE T. Ind. Electron., 67, 746–756,
<a href="https://doi.org/10.1109/TIE.2019.2898587" target="_blank">https://doi.org/10.1109/TIE.2019.2898587</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Dasgupta, B. and Mruthyunjaya, T.-S.: A Newton–Euler formulation for the inverse dynamics of the Stewart
platform manipulator, Mech. Mach. Theory, 33, 1135–1152, <a href="https://doi.org/10.1016/S0094-114X(97)00118-3" target="_blank">https://doi.org/10.1016/S0094-114X(97)00118-3</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
       Duan, J. J., Gan, Y. H., Chen, M., and Dai, X. Z.: Adaptive variable impedance control for dynamic contact
force tracking in uncertain environment, Robot. Auton. Syst., 102, 54–65, <a href="https://doi.org/10.1016/j.robot.2018.01.009" target="_blank">https://doi.org/10.1016/j.robot.2018.01.009</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
       Erdem, I., Helgosson, P., and Kihlman, H.: Development of Automated Flexible Tooling as Enabler in Wing Box
Assembly, Proc. CIRP, 44, 233–238, <a href="https://doi.org/10.1016/j.procir.2016.02.065" target="_blank">https://doi.org/10.1016/j.procir.2016.02.065</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
       Guo, F. Y., Xiao, Q. D., Xiao, S. H., and Wang, Z. Q.: Assembly technology for aeronautical CFRP structures
under the collaborative constrains of geometric shape, physical performance and service stability, Compos. Struct.,
318, 1–26, <a href="https://doi.org/10.1016/j.compstruct.2023.117071" target="_blank">https://doi.org/10.1016/j.compstruct.2023.117071</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
       He, W., Xue, C. Q., Yu, X. B., Li, Z. J., and Yang, C. G.: Admittance-based controller design for physical
human-robot interaction in the constrained task space, IEEE T. Autom. Sci. Eng., 17, 1937–1949,
<a href="https://doi.org/10.1109/TASE.2020.2983225" target="_blank">https://doi.org/10.1109/TASE.2020.2983225</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
       Hogan, N.: Impedance Control: An Approach to Manipulation, in: 1984 American Control Conference, San Diego,
CA, USA, 6–8 June 1984, 304–313, <a href="https://doi.org/10.23919/ACC.1984.4788393" target="_blank">https://doi.org/10.23919/ACC.1984.4788393</a>, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
       Hu, J. Y., Niu, H. L., Carrasco, J., Lennox, B., and Arvin, F.: Voronoi-based multi-robot autonomous
exploration in unknown environments via deep reinforcement learning, IEEE T. Veh. Technol., 69, 14413–14423,
<a href="https://doi.org/10.1109/TVT.2020.3034800" target="_blank">https://doi.org/10.1109/TVT.2020.3034800</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
       Ji, M. and Egerstedt, M.: Distributed Coordination Control of Multiagent Systems While Preserving
Connectedness, IEEE T. Robot., 23, 693–703, <a href="https://doi.org/10.1109/TRO.2007.900638" target="_blank">https://doi.org/10.1109/TRO.2007.900638</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
       Jiang, A. M., Han, H., Han, C. Y., He, S., Xu, Z. B., and Wu, Q. W.: Dynamics modeling and redundant force
optimization of modular combination parallel manipulator, Machines, 11, 1–19, <a href="https://doi.org/10.3390/machines11020247" target="_blank">https://doi.org/10.3390/machines11020247</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
       Kou, J. G., Wang, Y. X., Chen, Z. L., Shi, Y., and Guo, Q.: Gait planning and multimodal human-exoskeleton
cooperative control based on central pattern generator, IEEE-ASME T. Mech., 30, 2598–2608,
<a href="https://doi.org/10.1109/TMECH.2024.3453037" target="_blank">https://doi.org/10.1109/TMECH.2024.3453037</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      
Li, B., Tian, W., Zhang, C. F., Hua, F. F., Cui, G. Y., and Li, Y. F.: Positioning error compensation of an industrialrobot using neural networks and experimental study, Chinese J. Aeronaut., 35, 346–360, <a href="https://doi.org/10.1016/j.cja.2021.03.027" target="_blank">https://doi.org/10.1016/j.cja.2021.03.027</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      
Li, C. Y., Hu, J. S., Su, X. T., Wang, H. C., Liu, H. W., and Tian, W.: Analyses and regulations on deformation and stress of aircraft assembly structures with hybrid modeling strategy, Adv. Eng. Inform., 69, 1–27,
<a href="https://doi.org/10.1016/j.aei.2025.104032" target="_blank">https://doi.org/10.1016/j.aei.2025.104032</a>, 2025a.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      
Li, X. F., Zhao, P. Y., and Jing, X. J.: X-Stewart mechanism for vibration isolation with nonlinear translational-to-rotational motion properties, Int. J. Mech. Sci., 303, 1–31, <a href="https://doi.org/10.1016/j.ijmecsci.2025.110596" target="_blank">https://doi.org/10.1016/j.ijmecsci.2025.110596</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      
Li, Y. J., Liu, W., Lu, H., Gao, C. Y., Liu, R. Z., and Chen, Q. H.: Online adaptive method for obtaining high-precision spherical joint positions with the lower internal force assembly of large-scale aircraft components,
IEEE T. Ind. Inform., 21, 2194–2203, <a href="https://doi.org/10.1109/TII.2024.3495764" target="_blank">https://doi.org/10.1109/TII.2024.3495764</a>, 2025c.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
       Liu, H. H., Zhen, S. C., Liu, X. L., Zheng, H. M., Gao, L. S., and Chen, Y.-H.: Robust approximate
constraint following control design for collaborative robots system and experimental validation, Robotica, 42,
3957-3975, <a href="https://doi.org/10.1017/S0263574724001760" target="_blank">https://doi.org/10.1017/S0263574724001760</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
       Lu, Z.-Q., Wu, D., Ding, H., and Chen, L.-Q.: Vibration isolation and energy harvesting integrated in a
Stewart platform with high static and low dynamic stiffness, Appl. Math. Model., 89, 249–267,
<a href="https://doi.org/10.1016/j.apm.2020.07.060" target="_blank">https://doi.org/10.1016/j.apm.2020.07.060</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
       Raibert, M. H. and Craig, J. J.: Hybrid position/force control of manipulators, J. Dyn. Syst.-T. ASME, 103,
126-133, <a href="https://doi.org/10.1115/1.3139652" target="_blank">https://doi.org/10.1115/1.3139652</a>, 1981.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
       Ramirez, J. and Wollnack, J.: Flexible automated assembly systems for large CFRP-structures, Procedia
Technol., 15, 447–455, <a href="https://doi.org/10.1016/j.protcy.2014.09.004" target="_blank">https://doi.org/10.1016/j.protcy.2014.09.004</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
       Russo, M., Zhang, D., Liu, X.-J., and Xie, Z. H.: A review of parallel kinematic machine tools: Design,
modeling, and applications, Int. J. Mach. Tool Manu., 196, 1–22, <a href="https://doi.org/10.1016/j.ijmachtools.2024.104118" target="_blank">https://doi.org/10.1016/j.ijmachtools.2024.104118</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
       Shi, P. and Yan, B.: A survey on intelligent control for multiagent systems, IEEE T. Syst. Man. Cy. A, 51,
161-175, <a href="https://doi.org/10.1109/TSMC.2020.3042823" target="_blank">https://doi.org/10.1109/TSMC.2020.3042823</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>
       Sombolestan, M. and Nguyen, Q.: Hierarchical Adaptive Control for Collaborative Manipulation of a Rigid
Object by Quadrupedal Robots, in: 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems, Detroit,
MI, USA, 1–5 October 2023, 2752–2759, <a href="https://doi.org/10.1109/IROS55552.2023.10341700" target="_blank">https://doi.org/10.1109/IROS55552.2023.10341700</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
       Stewart, D.: A platform with six degrees of freedom, Proc. Inst. Mech. Eng., 180, 371–386,
<a href="https://doi.org/10.1243/PIME_PROC_1965_180_029_02" target="_blank">https://doi.org/10.1243/PIME_PROC_1965_180_029_02</a>, 1965.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
       Sun, T., Song, Y. M., Dong, G., Lian, B. B., and Liu, J. P.: Optimal design of a parallel mechanism with
three rotational degrees of freedom, Robot. CIM-Int. Manuf., 28, 500–508, <a href="https://doi.org/10.1016/j.rcim.2012.02.002" target="_blank">https://doi.org/10.1016/j.rcim.2012.02.002</a>, 2012.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
       Wang, J. Y., Tian, Y. Z., Xi, F. F., Chablat, D., Ren, G., and Zhao, Y. J.: A Pill bug-inspired Two-mode
Mobile Robot Covered with Sliding Curvy Shells, IEEE T. Robot., 42, 1275–1289, <a href="https://doi.org/10.1109/TRO.2026.3661723" target="_blank">https://doi.org/10.1109/TRO.2026.3661723</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
       Wang, M. C., Zong, L. J., and Yuan, J. P.: Position/Force Control for a Dual-Arm Space Manipulator Gripping
and Transporting an Unknown Target Without Grapple Fixtures, IEEE T. Aero. Elec. Sys., 60, 1770–1783,
<a href="https://doi.org/10.1109/TAES.2023.3341056" target="_blank">https://doi.org/10.1109/TAES.2023.3341056</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
       Wang, Y., Liu, Y. P., Chen, H. H., Xie, Q., Zhang, K. J., and Wang, J.: Combined measurement based
wing-fuselage assembly coordination via multiconstraint optimization, IEEE T. Instrum. Meas., 71, 1–16,
<a href="https://doi.org/10.1109/TIM.2022.3186675" target="_blank">https://doi.org/10.1109/TIM.2022.3186675</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
       Wang, Z. H., Li, H. B., and Sun, N. N.: High-efficiency inverse dynamics modeling of parallel posture
alignment mechanism with actuation redundancy, Robotica, 41, 2668–2687, <a href="https://doi.org/10.1017/S0263574723000590" target="_blank">https://doi.org/10.1017/S0263574723000590</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
       Yu, H., Lv, M., Hu, B., Zhang, Y., and Zhao, P.: Review article: A review of control technologies for soft
robots: from structural design to intelligent control, Mech. Sci., 17, 313–332, <a href="https://doi.org/10.5194/ms-17-313-2026" target="_blank">https://doi.org/10.5194/ms-17-313-2026</a>,
2026. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
       Zeng, Q., Huang, X., Li, S. G., and Deng, Z. P.: High-efficiency posture prealignment method for large
component assembly via iGPS and laser ranging, IEEE T. Instrum. Meas., 69, 5497–5510,
<a href="https://doi.org/10.1109/TIM.2019.2958579" target="_blank">https://doi.org/10.1109/TIM.2019.2958579</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
       Zhao, H. D., Li, L. P., Peng, Q. Y., Zhang, R. Q., Chen, T. D., Fang, F., Zhang, Q. J., Zhang, B. J., and
Xiao, W. H.: Model based forward design of six degrees of freedom vibration isolator for aviation optoelectronic
platform, Opt. Express, 33, 1–16, <a href="https://doi.org/10.1364/OE.564911" target="_blank">https://doi.org/10.1364/OE.564911</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
       Zhou, W., Tao, J. L., Yang, Z. J., Liu, W. Q., and Peng, J. Q.: Laparoscope adjustment with stereo vision
for robot-assisted surgery based on multi-task control, IEEE Sens. J. (Early Access), 1–15,
<a href="https://doi.org/10.1109/JSEN.2025.3582390" target="_blank">https://doi.org/10.1109/JSEN.2025.3582390</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
       Zhu, D. H., Feng, X. Z., Xu, X. H., Yang, Z. Y., Li, W. L., Yan, S. J., and Ding, H.: Robotic grinding of
complex components: A step towards efficient and intelligent machining – challenges, solutions, and applications,
Robot. CIM-Int. Manuf., 65, 1–15, <a href="https://doi.org/10.1016/j.rcim.2019.101908" target="_blank">https://doi.org/10.1016/j.rcim.2019.101908</a>, 2020.

    </mixed-citation></ref-html>--></article>
