<?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-615-2026</article-id><title-group><article-title>Adaptive compliant milling control for switch rail edge deburring within an FDAFC-based robotic framework</article-title><alt-title>FDAFC-based robotic framework</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Xu</surname><given-names>Kang</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Li</surname><given-names>Quang</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Li</surname><given-names>Jianyong</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2">
          <name><surname>Fan</surname><given-names>Wengang</given-names></name>
          <email>wgfan@bjtu.edu.cn</email><email>kingkang2015@163.com</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Wu</surname><given-names>Zhiwei</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Liu</surname><given-names>Jiameng</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Key Laboratory of Vehicle Advanced Manufacturing, Measuring and Control Technology of Ministry of Education, Beijing Jiaotong University, Beijing 100044, China</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>School of Mechanical, Electronic and Control Engineering, Beijing Jiaotong University, Beijing, 100044, China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Wengang Fan (wgfan@bjtu.edu.cn, kingkang2015@163.com)</corresp></author-notes><pub-date><day>27</day><month>May</month><year>2026</year></pub-date>
      
      <volume>17</volume>
      <issue>1</issue>
      <fpage>615</fpage><lpage>628</lpage>
      <history>
        <date date-type="received"><day>16</day><month>January</month><year>2026</year></date>
           <date date-type="rev-recd"><day>30</day><month>March</month><year>2026</year></date>
           <date date-type="accepted"><day>8</day><month>May</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Kang Xu 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/615/2026/ms-17-615-2026.html">This article is available from https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026.html</self-uri><self-uri xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026.pdf">The full text article is available as a PDF file from https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e133">The burrs remaining on switch rails  are prone to cracking or even fracturing during operation, thereby diminishing their service life. Moreover, the complex profile of the switch rail makes stable robotic milling difficult, with constantly changing posture and milling force. Therefore, this paper proposes a feed–displacement dual-channel adaptive force control (FDAFC) framework comprising a tangential force–speed loop and a normal-force–displacement loop. The tangential loop employs feed-per-tooth normalization combined with an engagement-aware force–speed mapping and first-order gain scheduling. This design adaptively corrects the feed to regulate tangential force and compensate for engagement-dependent nonlinearities, thereby reducing cross-coupling with the normal channel. The normal loop uses position-based impedance control with radial basis function (RBF)-scheduled inertia, damping, and stiffness to track the desired normal force under time-varying loads. A Lyapunov-guided adaptation law guarantees uniform boundedness, asymptotic tracking-error convergence, and closed-loop stability. Finally, integrated co-simulation and experiments substantiate the efficacy of the compliant milling force-tracking controller for switch rail deburring. The long-distance milling method for robots proposed in this study offers a new approach for automatic burr removal from the switch rail.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e145">Railway turnout is responsible for changing train tracks and plays a crucial role in railway operations. The switch rail is a core structural component of the switch, which operates under complex loading conditions for extended periods. Its manufacturing quality directly impacts the safety of railway operations (Wang and Lei, 2021; Wang et al., 2025a). Problems such as hard burrs and residual milling chips appear in computerized numerical control (CNC) milling of switch rails, which leads to cracks in the service process, shortens their service life, and affects the safety of railway transportation (Jin et al., 2020; Wang et al., 2023). Currently, burr removal from the switch rail is primarily performed manually, which results in issues such as low quality, poor consistency, and incomplete grinding (Xiao et al., 2023; Ge et al., 2025).  Therefore, the development of an automated burr removal method for switch rails is crucial.</p>
      <p id="d2e150">During automated deburring, unstable boundary recognition and geometric mismatch can hinder the setup of reliable geometric references for tool path planning and control. Existing studies mainly focus on burr detection, CAD-to-point-cloud registration, and geometry-aware tool path correction. Mohammed et al. (2023) proposed a sparse convolutional neural network (CNN)-based pipeline for 3D burr detection and height estimation and enhanced geometric alignment robustness via robust registration. Villagrossi et al. (2017) and Lai et al. (2018) integrated laser- or vision-based measurement with robot motion to enable online acquisition of geometric information and real-time trajectory correction. González et al. (2024), in contrast, leveraged an industrial camera and contour-deviation processing to enable fast edge identification and generated NC subprograms in stages to accommodate part deformation and variations in burr scale. However, these methods mainly enhance the geometry-to-tool path stage, while contact machining still demands explicit force control and adaptive compensation to handle milling load disturbances, pose-dependent contact conditions, and overcut sensitivity of the thin edge.</p>
      <p id="d2e153">Once the geometric reference is established, the kinematic smoothness of the generated trajectory directly influences the process' dynamic stability. Rahul and Chiddarwar (2024) used deep reinforcement learning for model-free path planning and converted the planned paths into executable trajectories using inverse-Jacobian mapping. Zhang et al. (2024) improved the trade-off between efficiency and stability by incorporating adaptive weights into trajectory optimization. Tafuro et al. (2025) proposed a self-supervised vision-proprioception framework that directly maps visual inputs to deburring trajectories while mitigating sim-to-real degradation. However, these studies mainly address executability at the planning and kinematic levels. Because contact machining is highly nonlinear and subject to time-varying loads, trajectory smoothing alone is insufficient to maintain a stable contact force and consistent surface quality. Hence, trajectory planning must be integrated with contact-control strategies.</p>
      <p id="d2e156">Deburring quality depends critically on end-effector contact force and equivalent compliance; therefore, hybrid position/force and impedance/admittance control are widely used to explicitly regulate the contact interaction. Classical hybrid position/force control (Raibert and Craig, 1981) achieves force–position coordination by decomposing the task space into free and constrained directions. Impedance/admittance control (Hogan, 1984) further shapes the contact response by specifying the desired interaction dynamics. In deburring applications, several task-specific improvements have been reported. Burghardt et al. (2017) combined force control with process-window optimization to achieve controlled chamfer formation. Tao et al. (2015, 2016) introduced adaptive control strategies, such as fuzzy PID and radial basis function neural network (RBFNN), to improve tracking performance and disturbance rejection. More recently, Lloyd et al. (2024) proposed the simultaneous registration and machining (SRAM-D) framework, which unifies online registration, adaptive admittance tuning, and feed-rate regulation in a closed-loop architecture to jointly handle geometric uncertainty and contact stability. Existing validations are predominantly conducted on small to medium workpieces under fixed-base or short-stroke conditions. Under long-distance continuous machining, common assumptions, including a limited workspace, nearly constant compliance, and locally compensable errors, may no longer be valid.</p>
      <p id="d2e160">Currently, burr removal strategies for robot milling, both domestically and internationally, primarily focus on medium and small workpieces (Burghardt et al., 2017; Villagrossi et al., 2017; Tao et al., 2016; Zhang et al., 2024). Due to the switch rail length, which can exceed 40 m, long-distance robot motion leads to increased errors and degraded system stability compared with stationary operation. The switch rail profile is complex and variable, with the switch rail edge's cross-section gradually changing along its length (Tang et al., 2026; Grossoni et al., 2021). Additionally, the switch rail edge is weak, and the included angle increases progressively (Kisilowski  and Kowalik, 2020). Consequently, both the milling angle and the force change. However, during machining, the robot must both prevent force-induced overcut of the thin edge and maintain stable regulation under force variations. This requires adaptive adjustment according to edge characteristics and milling load changes to achieve compliant and stable contact with the switch rail edge (Chen et al., 2024; Wang et al., 2025b). To address the varying cross-sectional geometry of the switch rail edge and the challenges of long-distance robotic feed milling, this paper proposes a linear-motor–robot machining system. Building on hybrid position/force and impedance-control principles, a structured dual-loop adaptive force controller is developed for variable expected force milling. The main contributions of this paper are as follows: <list list-type="order"><list-item>
      <p id="d2e165">Tangential force–speed control is implemented via feed-per-tooth normalization with adaptive feed correction and first-order gain scheduling while also decoupling the normal-force–displacement loop.</p></list-item><list-item>
      <p id="d2e169">Position-based impedance with RBF parameter adaptation realizes normal-force–displacement control, and Lyapunov-based design guarantees bounded tracking/asymptotic convergence under nonlinear time-varying milling disturbances.</p></list-item><list-item>
      <p id="d2e173">The effectiveness and stability of the smooth control strategy proposed in this paper are validated through Simulink and ADAMS co-simulation and experimental verification.</p></list-item></list> The structure of the paper is organized as follows. Section 2 introduces the robot milling system. Section 3 presents the robot's kinematics and dynamics. Section 4 establishes the adaptive milling force control strategy. Section 5 presents a co-simulation with Simulink and ADAMS. Section 6 concludes with experimental verification. Finally, the conclusion is given in Sect. 7.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Configuration of the linear-motor–robot milling system</title>
      <p id="d2e185">The robot is mounted on a linear-motor module to satisfy the long-distance milling requirements of the switch rail, forming a 7-DOF linear-motor–robot system. The robotic machining system mainly consists of linear-motor modules, an industrial robot, and an end-effector, as shown in Fig. 1. The linear-motor module integrates the drive and guide rail functions, enabling straight-line robot motion, and its modular design accommodates switch rails of different lengths. The end-effector consists of an electrically driven spindle, a milling cutter, and a six-axis force sensor. During machining, the spindle drives the high-speed cutter for switch rail milling, while the force sensor mounted at the robot end measures the milling force in real time.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e190">Robot processing system.</p></caption>
        <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f01.png"/>

      </fig>

</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Kinematic–dynamic modeling of the robot system</title>
      <p id="d2e207">The joint kinematics of the robotic milling system are established using an improved <inline-formula><mml:math id="M1" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>–<inline-formula><mml:math id="M2" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> parameter method, with the joint coordinate frames shown in Fig. 1. The <inline-formula><mml:math id="M3" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>–<inline-formula><mml:math id="M4" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> parameters are shown in Table 1, with the first motion joint of the system being a prismatic joint (<inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the remaining six joints being revolute joints (<inline-formula><mml:math id="M6" 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>).</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e264"><inline-formula><mml:math id="M7" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>–<inline-formula><mml:math id="M8" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> parameters.</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"><inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (°)</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (mm)</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M13" 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> (°)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><sub>0</sub></oasis:entry>
         <oasis:entry colname="col3"><sub>0</sub></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><sub>0</sub></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><sub>0</sub></oasis:entry>
         <oasis:entry colname="col3"><sub>−90</sub></oasis:entry>
         <oasis:entry colname="col4"><sub>490</sub></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">160</oasis:entry>
         <oasis:entry colname="col3">90</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (90)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">780</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">150</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">90</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">660</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">90</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">110</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e686">Based on the <inline-formula><mml:math id="M35" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>–<inline-formula><mml:math id="M36" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> parameter table, the transformation relationship of coordinate system <inline-formula><mml:math id="M37" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> relative to <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> is established, and the homogeneous transformation matrix <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">A</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> can be expressed as

          <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M40" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">A</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><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="left left left left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        The coordinate transformation relationship of the end-effector relative to the base of the robot milling system can be obtained as

          <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M41" display="block"><mml:mrow><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">7</mml:mn><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">1</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">4</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">5</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">6</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msubsup><mml:msubsup><mml:mi>A</mml:mi><mml:mn mathvariant="normal">7</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>o</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>o</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>o</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>o</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M43" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> values are the end-effector orientation, and <inline-formula><mml:math id="M44" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> denotes the position. Once the joint angles of the robotic arm are obtained, the end-effector position and orientation can be calculated using Eq. (2).</p>
      <p id="d2e1182">The proposed milling system is modeled as a 7-DOF serial chain, where the linear motor is represented as the first prismatic joint <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, followed by six revolute joints <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Therefore, the forward kinematics, Jacobian mapping, and the subsequent dynamic recursion are all formulated based on this prismatic–revolute joint sequence.</p>
      <p id="d2e1214">Given the end-effector velocity vector <inline-formula><mml:math id="M47" display="inline"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:math></inline-formula> in Cartesian space, the corresponding joint velocity <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">7</mml:mn></mml:msub><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is derived using the Jacobian pseudo-inverse method (Khan, 2023; Ma et al., 2025):

          <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M49" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi>J</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mi>J</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is the Moore–Penrose pseudo-inverse of the Jacobian matrix, <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>∈</mml:mo><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is an arbitrary joint velocity vector in the null space. This formulation can yield the minimum-norm joint velocity solution. To improve trajectory smoothness and maintain stability, an acceleration-level gradient projection with damping is introduced (Kratěna et al., 2025; Xie et al., 2022):

          <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M53" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mi>J</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mi>J</mml:mi><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">T</mml:mi><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:mi>K</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>q</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M54" display="inline"><mml:mi mathvariant="bold">T</mml:mi></mml:math></inline-formula> is the gain matrix, and <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is the damping term, which can ensure the stability of the motion. <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mi>K</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>H</mml:mi><mml:mfenced open="(" close=")"><mml:mi>q</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is the gradient of the performance index function. This control law suppresses abrupt joint accelerations while ensuring tracking accuracy. In null-space optimization, a weighted L2-norm minimization strategy is adopted to balance joint motion and system stability (Tiseo et al., 2024):

          <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M57" display="block"><mml:mrow><mml:mi mathvariant="normal">min</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="bold">W</mml:mi><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mi mathvariant="bold">W</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">diag</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi mathvariant="normal">…</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is a positive definite weight matrix. Joint weights are assigned according to their motion importance under machining conditions; for example, a higher weight can be set for the frequently moving third joint to suppress excessive displacement variations.</p>
      <p id="d2e1587">In addition, the driving force or moment along the desired trajectory is calculated using the Newton–Euler recursion method (Zhou et al., 2025; Bai et al., 2024), incorporating the displacement, velocity, and acceleration of the robot joints. The following is for the kinetic analysis of the rotational pair. The extrapolation method for calculating velocity and acceleration (<inline-formula><mml:math id="M59" 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">6</mml:mn></mml:mrow></mml:math></inline-formula>) is

          <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M60" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:mfenced close="" open="("><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfenced open="" close=")"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>i</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:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>i</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>m</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</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/><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> denotes the angular velocity of link <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> in frame <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> denotes the rotation from frame <inline-formula><mml:math id="M65" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> to frame <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the angular velocity of joint <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the linear accelerations of the origin of frame <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and its center of mass, respectively; and <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the unit vector along the <inline-formula><mml:math id="M73" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> axis of frame <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the origin of the position of frame <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> in the coordinate system of joint <inline-formula><mml:math id="M77" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>. <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the position vector of the center of mass of link <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> expressed in frame <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e2704">Moreover, the forces and moments are calculated using an extrapolation method (<inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">7</mml:mn><mml:mo>→</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>):

          <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M82" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msubsup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>T</mml:mi></mml:msubsup><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi>Z</mml:mi></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the interaction force acting on link <inline-formula><mml:math id="M84" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>, expressed in the coordinate system of joint <inline-formula><mml:math id="M85" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>; similarly, <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the torque of action. <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:mi>F</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:math></inline-formula> values are the inertial force and inertial moment, respectively.  <inline-formula><mml:math id="M88" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> is the driving torque of joint <inline-formula><mml:math id="M89" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>.</p>
      <p id="d2e3029">The following is for the kinetic analysis of the mobile pair. The extrapolation method for calculating velocity and acceleration (<inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) is

          <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M91" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">&amp;</mml:mi><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mi>i</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</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:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">&amp;</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>d</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>×</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>i</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>m</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M92" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> is the displacement of the mobile pair. The extrapolation method for calculating forces and moments (<inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) is

          <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M94" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi/><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msub><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:msubsup><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>T</mml:mi></mml:msubsup><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mi>i</mml:mi></mml:msup><mml:mi mathvariant="bold-italic">Z</mml:mi></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

        Considering the effect of gravity, the initial value <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mrow><mml:msup><mml:mi/><mml:mn mathvariant="normal">0</mml:mn></mml:msup><mml:mi>v</mml:mi></mml:mrow><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>G</mml:mi></mml:mrow></mml:math></inline-formula> can incorporate the gravitational effect on the link into the dynamic recurrence equation.</p>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Feed–displacement dual-channel adaptive force control</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>System architecture of adaptive force control</title>
      <p id="d2e3796">The feed–displacement dual-channel adaptive force control (FDAFC) comprises a tangential force–speed loop and a normal-force–displacement loop. This separation is physically motivated by the different roles of tangential and normal contact interactions in milling. The tangential force mainly reflects feed-related engagement and cutting-load variations, whereas the normal force is governed by contact compliance and overcut avoidance under changing local stiffness and geometry. At each iteration, the controller updates the feed speed using the measured tangential force. The resulting correction modifies the feed per tooth and is propagated to the normal loop via an explicit normal-force reference update channel. When the burr distribution or tool-workpiece engagement changes, the tangential loop re-estimates the speed correction and updates the normal reference accordingly. This coupled–decoupled–recoupled operation enables stable and efficient compliant machining, as shown in Fig. 2.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e3801">Robot milling compliance control strategy diagram.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f02.png"/>

        </fig>

      <p id="d2e3810">The tangential loop decouples speed regulation using feed-per-tooth normalization and an engagement-aware force–speed map. A scalar update law computes the feed speed correction from the tangential force error and drives the inner motion loop. A first-order gain-scheduled approximation around the operating point mitigates engagement-dependent nonlinearity: it reduces to the nominal linear model when the scheduling variable is zero and provides first-order compensation otherwise.</p>
      <p id="d2e3814">The normal loop employs position-based impedance control driven by the normal-force error. To reject time-varying milling loads and contact-parameter variations, the inertia, damping, and stiffness are adapted online using a radial basis function neural network (RBFNN). The Lyapunov-based update laws guarantee uniform boundedness and closed-loop stability. Under standard assumptions, the force-tracking error converges, ensuring stable compliant machining.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Tangential milling force–speed control</title>
      <p id="d2e3825">During burr milling, maintaining a fixed cutter feed speed may lead to excessive tangential force, causing cutter wear or even tool failure. Therefore, the feed speed must be adaptively adjusted according to the measured tangential milling force. The empirical relationship between initial feed speed <inline-formula><mml:math id="M96" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> and cutter parameters can be expressed as

            <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M97" display="block"><mml:mrow><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mo>×</mml:mo><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is the number of blades, <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M100" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is the spindle speed; and <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the amount of milling feed per edge of the cutter.</p>
      <p id="d2e3921">For cylindrical milling, the relationship between feed speed and milling force is (Shaw  and Cookson, 2005; Groover, 2010)

            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M102" display="block"><mml:mrow><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub><mml:mn mathvariant="normal">9.81</mml:mn><mml:msubsup><mml:mi>a</mml:mi><mml:mi>e</mml:mi><mml:mn mathvariant="normal">0.88</mml:mn></mml:msubsup><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi></mml:mrow><mml:mn mathvariant="normal">0.75</mml:mn></mml:msubsup><mml:msub><mml:mi>a</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.86</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the side and back cutting amount, <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the feed per tooth, <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi></mml:mrow></mml:math></inline-formula> is the number of cutter teeth, <inline-formula><mml:math id="M107" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> is the cutter diameter, and <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the correction factor. Hence, the speed control model can be formulated as follows:

            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M109" display="block"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M111" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> are the expected and initial feed speed, <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the expected and actual tangential milling force, and <inline-formula><mml:math id="M114" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> is the speed coefficient. The one-dimensional equation is expressed as <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>v</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:math></inline-formula>, then

            <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M116" display="block"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>z</mml:mi><mml:mo>×</mml:mo><mml:mi>e</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the feed speed correction. When <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the end-effector is only the speed control. The corrected actual feed speed <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be adjusted based on the burr distribution and the shape of the rail edge. Given input <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the controller computes joint angles through inverse kinematics to control the end-effector feed speed.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e4262">Co-simulation model of milling compliance control.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f03.png"/>

        </fig>

      <p id="d2e4272">Equation (11) indicates that the expected milling force varies with milling area and feed speed. Therefore, the coupling between tangential milling force–speed control and normal-milling force–displacement control is crucial and must be considered when designing milling compliance control.</p>
      <p id="d2e4275">When the tangential force–speed control model adjusts the feed speed, the expected force in the normal-force–displacement control model also changes. Tangential and normal milling forces are proportionally related to the total milling force, which allows for deriving the relationship between milling force and feed speed:

            <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M121" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub><mml:mn mathvariant="normal">9.81</mml:mn><mml:msubsup><mml:mi>a</mml:mi><mml:mi>e</mml:mi><mml:mn mathvariant="normal">0.88</mml:mn></mml:msubsup><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mn mathvariant="normal">0.75</mml:mn></mml:msubsup><mml:msub><mml:mi>a</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:msup><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi></mml:msup><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.86</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub><mml:mn mathvariant="normal">9.81</mml:mn><mml:msubsup><mml:mi>a</mml:mi><mml:mi>e</mml:mi><mml:mn mathvariant="normal">0.88</mml:mn></mml:msubsup><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>d</mml:mi></mml:mrow><mml:mn mathvariant="normal">0.75</mml:mn></mml:msubsup><mml:msub><mml:mi>a</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:msup><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">"</mml:mi></mml:msup><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.86</mml:mn></mml:mrow></mml:msup></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="M122" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the expected normal milling force at the expected feed speed, <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the expected normal milling force after velocity correction, <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the feed per tooth at the desired feed speed, <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the feed per tooth after speed correction, and <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the proportional coefficient.</p>
      <p id="d2e4481">According to Eqs. (10) and (14), <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is fed into the calculation module to establish the relationship between the expected normal milling force and the feed speed. The formula can be obtained as

            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M128" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula> is the feed per tooth at the expected feed speed, <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>Z</mml:mi><mml:msup><mml:mi/><mml:mo>′</mml:mo></mml:msup><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula> is the feed per tooth after velocity correction, and <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is scheduled by feed. A first-order gain-scheduling approximation about <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is adopted as

            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M133" display="block"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>)</mml:mo><mml:mo>≈</mml:mo><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:mo>≪</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Substituting the above into Eq. (15) yields

            <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M134" display="block"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>≈</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where setting <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> recovers the original linear mapping; for <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>≠</mml:mo></mml:mrow></mml:math></inline-formula>, in addition to the linear scaling <inline-formula><mml:math id="M137" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula>, a first-order adaptive compensation for nonlinearity and large speed variations is introduced.</p>
      <p id="d2e4862">To ensure the validity of the first-order gain-scheduling approximation in Eq. (16), the feed-per-tooth variation around the nominal point <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is constrained such that <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. In our implementation, the velocity correction is bounded, i.e., <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is set to 0.3 (<inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> %) in the experiments. Accordingly, <inline-formula><mml:math id="M143" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> is chosen to satisfy <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. For robustness under large or abrupt speed changes, <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi>z</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is saturated before evaluating Eqs. (16)–(17), preventing excessive gain scheduling and maintaining stable closed-loop behavior.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Normal-milling force–displacement control</title>
      <p id="d2e5057">The force error <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is used as the input to the impedance model, where <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the expected milling force and <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the actual normal milling force. The normal milling force, measured as the <inline-formula><mml:math id="M149" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-axis component of the six-axis force sensor, is simplified as a one-dimensional quantity. The impedance model is given by

            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M150" display="block"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>d</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>d</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the desired inertia, damping, and stiffness, respectively, and <inline-formula><mml:math id="M154" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the actual and desired displacements. With position-based impedance control (Zong et al., 2025; Dong et al., 2024) and <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, Eq. (18) becomes <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>e</mml:mi></mml:mrow></mml:math></inline-formula>. In the Laplace domain, <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mi>e</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>d</mml:mi></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>b</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>. In free space, <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, yielding <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Thus, the controller degenerates to position control in free space.</p>
      <p id="d2e5450">Dynamic variations in switch rail milling introduce nonlinear, time-varying load disturbances, rendering fixed impedance parameters inadequate. In edge milling, changes in rail-profile stiffness, intermittent burr engagement, and cutter–workpiece interaction produce a time-varying equivalent impedance that is difficult to capture with a fixed analytical model. Accordingly, an RBFNN is employed as a lightweight online function approximator to adapt <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from force-tracking errors (Zong et al., 2025; Li et al., 2025). Compared with heuristic gain scheduling, this strategy provides continuous low-cost approximation without prior identification of stiffness/friction profiles.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e5476">Robot end-effector in contact with segments A, B, and C of the switch rail.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f04.png"/>

        </fig>

      <p id="d2e5486">The input vector is <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">net</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>K</mml:mi></mml:msub><mml:msub><mml:mi>e</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:msub><mml:mi>e</mml:mi><mml:mi>M</mml:mi></mml:msub><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and the radial basis vector is <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi>r</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. Therefore, the Gaussian function <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be expressed as follows (Zhao et al., 2025):

            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M165" display="block"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∥</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">net</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msup><mml:mo>∥</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msubsup><mml:mi>b</mml:mi><mml:mi>j</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mo>(</mml:mo><mml:mi>j</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:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denotes the center position of the Gaussian function at the <inline-formula><mml:math id="M167" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>th neuron in the hidden layer, <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the width of the Gaussian function at the <inline-formula><mml:math id="M170" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>th neuron in the hidden layer, and it is a constant greater than 0.</p>
      <p id="d2e5728">The hidden-layer centers <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are fixed a priori and uniformly distributed over the normalized input space, and a common width <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula> is chosen according to the average inter-center spacing. The network weights are initialized to zero and updated online using a discrete-time adaptation law with a learning rate of 0.5 and a sampling period of 1 ms. The learning rate is selected empirically to balance convergence speed and robustness to measurement noise.</p>
      <p id="d2e5757">After parameterization via RBFNN, the following equation can be derived:

            <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M173" display="block"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:mi>W</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M174" 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:mrow></mml:math></inline-formula> denotes the hidden layer output, <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:msup><mml:mo>]</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is the RBF weight vector, and <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:mi>W</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the approximation error associated with <inline-formula><mml:math id="M177" display="inline"><mml:mi>W</mml:mi></mml:math></inline-formula>. Specifically, Eq. (20) can be expressed as

            <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M178" display="block"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</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>w</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><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:mn mathvariant="normal">3</mml:mn><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M179" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> denotes the discrete-time index. The optimal weight <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is defined as

            <disp-formula id="Ch1.E22" content-type="numbered"><label>22</label><mml:math id="M181" display="block"><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mi>arg⁡</mml:mi><mml:mi mathvariant="normal">min</mml:mi><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>W</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mo movablelimits="false">sup⁡</mml:mo><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mi>T</mml:mi></mml:msup><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:mi mathvariant="normal">|</mml:mi></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          For any nonlinear continuous function, the optimal weight <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> always exists, and the corresponding approximation error <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> exhibits uniform boundedness. Accordingly, the impedance dynamics can be written as

            <disp-formula id="Ch1.E23" content-type="numbered"><label>23</label><mml:math id="M184" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><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:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>d</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="M185" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the desired inertia, damping, and stiffness, respectively. Then, the RBFNN input is defined as

            <disp-formula id="Ch1.E24" content-type="numbered"><label>24</label><mml:math id="M186" display="block"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi>M</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>C</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>K</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Jacobian information of the robot end position control can be obtained as

            <disp-formula id="Ch1.E25" content-type="numbered"><label>25</label><mml:math id="M187" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="true" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>≈</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="true" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>j</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:msub><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>K</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>b</mml:mi><mml:mi>j</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The control criterion function can be represented as

            <disp-formula id="Ch1.E26" content-type="numbered"><label>26</label><mml:math id="M188" display="block"><mml:mrow><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The gradient descent method is used to adjust parameter <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

            <disp-formula id="Ch1.E27" content-type="numbered"><label>27</label><mml:math id="M190" display="block"><mml:mrow><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:mi>e</mml:mi><mml:mi>M</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:mi>e</mml:mi><mml:mi>C</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>E</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msub><mml:mi>e</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:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the learning rate for inertia, damping, and stiffness parameters, respectively. Suppose that the parameter <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is selected to satisfy the following inequality: <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&gt;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The weight adaptive law <inline-formula><mml:math id="M194" display="inline"><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:math></inline-formula> is then defined as follows:

            <disp-formula id="Ch1.E28" content-type="numbered"><label>28</label><mml:math id="M195" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msup><mml:mi>e</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>P</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where both <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M197" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> are <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> vectors, <inline-formula><mml:math id="M199" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is a <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula> vector, and <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is the optimal approximation value of the weights of the RBF neural network. In the stability analysis, the dominant uncertainties in the normal-force channel are treated as lumped nonlinear disturbances and approximated by the RBFNN, while the residual approximation error is assumed to be bounded. Under this assumption, the Lyapunov-based adaptation ensures bounded closed-loop signals and stable force tracking.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e7138">Tracking error of the force in segment A of the switch rail.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <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:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Without</oasis:entry>
         <oasis:entry colname="col3">Normal</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">force</oasis:entry>
         <oasis:entry colname="col3">force</oasis:entry>
         <oasis:entry colname="col4">Compound</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Control type</oasis:entry>
         <oasis:entry colname="col2">control</oasis:entry>
         <oasis:entry colname="col3">control only</oasis:entry>
         <oasis:entry colname="col4">force control</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Tangential force error (N)</oasis:entry>
         <oasis:entry colname="col2">35.13</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">1.76</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Normal-force error (N)</oasis:entry>
         <oasis:entry colname="col2">21.23</oasis:entry>
         <oasis:entry colname="col3">1.42</oasis:entry>
         <oasis:entry colname="col4">1.67</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e7236">Tracking error of the force in segment B of the switch rail.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <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:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Without</oasis:entry>
         <oasis:entry colname="col3">Normal</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">force</oasis:entry>
         <oasis:entry colname="col3">force</oasis:entry>
         <oasis:entry colname="col4">Compound</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Control type</oasis:entry>
         <oasis:entry colname="col2">control</oasis:entry>
         <oasis:entry colname="col3">control only</oasis:entry>
         <oasis:entry colname="col4">force control</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Tangential force error (N)</oasis:entry>
         <oasis:entry colname="col2">69.52</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">3.15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Normal-force error (N)</oasis:entry>
         <oasis:entry colname="col2">38.73</oasis:entry>
         <oasis:entry colname="col3">2.39</oasis:entry>
         <oasis:entry colname="col4">2.92</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e7335">Tracking error of the force in segment C of the switch rail.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <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:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Without</oasis:entry>
         <oasis:entry colname="col3">Normal</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">force</oasis:entry>
         <oasis:entry colname="col3">force</oasis:entry>
         <oasis:entry colname="col4">Compound</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Control type</oasis:entry>
         <oasis:entry colname="col2">control</oasis:entry>
         <oasis:entry colname="col3">control only</oasis:entry>
         <oasis:entry colname="col4">force control</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Tangential force error (N)</oasis:entry>
         <oasis:entry colname="col2">39.24</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">6.11</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Normal-force error (N)</oasis:entry>
         <oasis:entry colname="col2">86.79</oasis:entry>
         <oasis:entry colname="col3">4.04</oasis:entry>
         <oasis:entry colname="col4">4.90</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e7432">Force response of segment A of the switch rail under normal-force control only. <bold>(a)</bold> Without force control: normal milling force. <bold>(b)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f05.png"/>

        </fig>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e7449">Force response of segment A of the switch rail under compound force control. <bold>(a)</bold> Without force control: tangential milling force. <bold>(b)</bold> Force control: tangential milling force. <bold>(c)</bold> Tangential force control: expected normal milling force. <bold>(d)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f06.png"/>

        </fig>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e7472">Force response of segment B of the switch rail under normal-force control only. <bold>(a)</bold> Without force control: normal milling force. <bold>(b)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f07.png"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e7490">Force response of segment B of the switch rail under compound force control. <bold>(a)</bold> Without force control: tangential milling force. <bold>(b)</bold> Force control: tangential milling force. <bold>(c)</bold> Tangential force control: expected normal milling force. <bold>(d)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f08.png"/>

        </fig>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e7513">Force response of segment C of the switch rail under normal-force control only. <bold>(a)</bold> Without force control: normal milling force. <bold>(b)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f09.png"/>

        </fig>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e7530">Force response of segment C of the switch rail under compound force control. <bold>(a)</bold> Without force control: tangential milling force. <bold>(b)</bold> Force control: tangential milling force. <bold>(c)</bold> Tangential force control: expected normal milling force. <bold>(d)</bold> Force control: normal milling force.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f10.png"/>

        </fig>

      <p id="d2e7551">The Lyapunov candidate (Precup et al., 2021) is defined as follows:

            <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M202" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>. Differentiating Eq. (30) gives

            <disp-formula id="Ch1.E30" content-type="numbered"><label>30</label><mml:math id="M204" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>K</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msup><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>T</mml:mi></mml:msup><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          </p>
      <p id="d2e8123">Substituting Eqs. (23) and (29) into Eq. (31), the following can be obtained:

            <disp-formula id="Ch1.E31" content-type="numbered"><label>31</label><mml:math id="M205" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>K</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msup><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mi>e</mml:mi><mml:mover accent="true"><mml:mi>e</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>P</mml:mi><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msubsup><mml:mi>K</mml:mi><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msup><mml:mi>e</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mi mathvariant="normal">|</mml:mi><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>P</mml:mi><mml:mi>R</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          Based on the above assumptions, we can push <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:mi>V</mml:mi><mml:mo>≥</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>≤</mml:mo></mml:mrow></mml:math></inline-formula>. When the error <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M209" display="inline"><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:math></inline-formula> takes a value of 0. From the Lyapunov stability criterion, it follows that the system is asymptotically stable and the error <inline-formula><mml:math id="M210" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula> is uniformly bounded. Further, by invoking LaSalle's invariance principle, when <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>→</mml:mo><mml:mi mathvariant="normal">∞</mml:mi></mml:mrow></mml:math></inline-formula>, the error converges to a neighborhood of 0, thereby verifying the closed-loop stability of the control system.</p>

      <fig id="F11"><label>Figure 11</label><caption><p id="d2e8453">Milling experiment on the switch rail. <bold>(a)</bold> Robotic processing system: 1. KAWAKI HANATAN 0613 cutter, 2. Electric spindle (Inlinbot RCD-E800D), 3. Six-axis force sensor (HPS-FT060S), 4. ROKAE XB25 industrial robot, 5. Linear-motor modules, 6. Chinese no. 9 switch rail, 7. Workbench. <bold>(b)</bold> Cutter–switch rail contact during milling. <bold>(c)</bold> Surface of the switch rail after milling. <bold>(d)</bold> Surface roughness after milling.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f11.png"/>

        </fig>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e8476">Comparison of the resultant milling force with and without compound force control in three segments of the switch rail: <bold>(a)</bold> Segment X, <bold>(b)</bold> Segment Y, and <bold>(c)</bold> Segment Z.</p></caption>
          <graphic xlink:href="https://ms.copernicus.org/articles/17/615/2026/ms-17-615-2026-f12.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Simulation of adaptive milling force control</title>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Establishment of adaptive force control simulation model</title>
      <p id="d2e8511">Based on the preceding analysis, the proposed controller is implemented in an ADAMS–Simulink co-simulation environment, as shown in Fig. 3. For a given reference trajectory, the outer loop regulates tangential force by adjusting the feed rate, whereas the inner loop employs adaptive impedance to regulate normal displacement and track the desired contact force. The corrected motion command is mapped to joint space via redundancy resolution. Joint torques are computed via Newton–Euler inverse dynamics and applied to the ADAMS joints as actuation inputs. The ADAMS model simulates the tool–rail contact and outputs the joint states and end-effector pose, together with the measured interaction forces and contact deflection. These signals are fed back to Simulink in real time to close the co-simulation loop and support coordinated motion–force tracking.</p>
      <p id="d2e8514">The linear-motor–robot system is modeled as a 7-DOF serial chain, consisting of one prismatic joint for the linear axis, followed by six revolute joints for the industrial robot, consistent with the kinematic formulation in Sect. 3. Robot links and the base are treated as rigid bodies with specified mass and inertia properties, while structural elasticities are not explicitly modeled because the co-simulation targets closed-loop control validation rather than structural vibration effects.</p>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e8520">Statistics of the resultant milling force in three representative segments.</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" colsep="1"/>
     <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 rowsep="1">
         <oasis:entry colname="col1">Segment</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center" colsep="1">Without force control </oasis:entry>
         <oasis:entry namest="col5" nameend="col7" align="center">Compound force control </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean (N)</oasis:entry>
         <oasis:entry colname="col3">SD (N)</oasis:entry>
         <oasis:entry colname="col4">Peak to peak (N)</oasis:entry>
         <oasis:entry colname="col5">Mean (N)</oasis:entry>
         <oasis:entry colname="col6">SD (N)</oasis:entry>
         <oasis:entry colname="col7">Peak to peak (N)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">X</oasis:entry>
         <oasis:entry colname="col2">63.00</oasis:entry>
         <oasis:entry colname="col3">18.88</oasis:entry>
         <oasis:entry colname="col4">81.13</oasis:entry>
         <oasis:entry colname="col5">65.10</oasis:entry>
         <oasis:entry colname="col6">7.57</oasis:entry>
         <oasis:entry colname="col7">44.18</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Y</oasis:entry>
         <oasis:entry colname="col2">64.00</oasis:entry>
         <oasis:entry colname="col3">20.95</oasis:entry>
         <oasis:entry colname="col4">84.91</oasis:entry>
         <oasis:entry colname="col5">64.88</oasis:entry>
         <oasis:entry colname="col6">7.48</oasis:entry>
         <oasis:entry colname="col7">40.15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Z</oasis:entry>
         <oasis:entry colname="col2">66.50</oasis:entry>
         <oasis:entry colname="col3">21.85</oasis:entry>
         <oasis:entry colname="col4">91.29</oasis:entry>
         <oasis:entry colname="col5">65.27</oasis:entry>
         <oasis:entry colname="col6">7.55</oasis:entry>
         <oasis:entry colname="col7">40.99</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>Simulation analysis of adaptive milling force control</title>
      <p id="d2e8668">In the ADAMS model, the milling process is represented by a tool–rail interaction model to evaluate the force-tracking performance of the proposed compliant control under specified milling conditions. The cutter and the switch rail are treated as rigid bodies. Their interaction is described by a penalty-based contact formulation that generates the normal contact force, while tangential interaction is modeled by a friction law to produce the tangential contact force. The resulting normal and tangential forces are used as the measured milling forces in the co-simulation.</p>
      <p id="d2e8671">Based on the milling force profile, the process is divided into three segments, as shown in Fig. 4: Segment A (0–60 mm), corresponding to the transition from free to constrained space with minimal force; Segment B (60–250 mm), where the force varies most rapidly; and Segment C (250–2098 mm), corresponding to the maximum force. The proposed algorithm is validated through force-tracking comparisons with and without compliance control.</p>
<sec id="Ch1.S5.SS2.SSS1">
  <label>5.2.1</label><title>Segment A</title>
</sec>
<sec id="Ch1.S5.SS2.SSSx1" specific-use="unnumbered">
  <title>Segment A of the switch rail</title>
      <p id="d2e8689">Vibration interference occurs at the initial contact between the robot end-effector and the switch rail. In the simulation, normal-force control is applied initially, with the resulting force response curve shown in Fig. 5. Subsequently, comprehensive force control is implemented, and the corresponding force response curve is presented in Fig. 6.</p>
      <p id="d2e8692">At the initial cutter-rail contact, a pronounced elastic impact occurs, making the thin rail edge prone to overcutting, as shown in Figs. 5 and 6. After implementing force control, although initial contact induces vibration, the amplitude of subsequent vibrations decreases, demonstrating the effectiveness of the control strategy. Performance is evaluated by comparing the mean deviation between the measured and reference milling forces with and without force control, as reported in Table 2. Force control enables accurate tracking in rail segments with small milling force variations and limited interference. Based on the estimated environmental stiffness, the displacement error under composite force control is 42 <inline-formula><mml:math id="M212" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>m.</p>
</sec>
<sec id="Ch1.S5.SS2.SSS2">
  <label>5.2.2</label><title>Segment B</title>
</sec>
<sec id="Ch1.S5.SS2.SSSx2" specific-use="unnumbered">
  <title>Segment B of the switch rail</title>
      <p id="d2e8717">Under normal-force-only control and composite-force control, the force response curves are provided in Figs. 7 and 8, respectively.</p>
      <p id="d2e8720">The milling force tracking error for section B is evaluated, the results of which are presented in Table 3. Force control effectively achieves force tracking in the segment with the fastest milling force change and interference, as shown in Figs. 7 and 8. Based on environmental stiffness calculations, the displacement error under compound force control is 42 <inline-formula><mml:math id="M213" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>m.</p>
</sec>
<sec id="Ch1.S5.SS2.SSS3">
  <label>5.2.3</label><title>Segment C</title>
</sec>
<sec id="Ch1.S5.SS2.SSSx3" specific-use="unnumbered">
  <title>Segment C of the switch rail</title>
      <p id="d2e8745">Under normal-force-only control and composite-force control, the force response curves are provided in Figs. 9 and 10, respectively.</p>
      <p id="d2e8748">The tracking error of the force in section C of the switch rail is used to assess the effectiveness of force control, as shown in Table 4. Additionally, force control effectively tracks the force in segments with high milling forces and interference. Based on environmental stiffness calculations, the displacement error under compound force control is 54 <inline-formula><mml:math id="M214" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>m.</p>
      <p id="d2e8759">Simulations under diverse milling force regimes show that the proposed compliance controller achieves accurate force tracking. The controller attains this by jointly modulating tangential velocity and normal displacement. Despite feed speed variations and the resulting updates to the normal-force reference, the controller maintains accurate normal-force tracking.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Experimental validation in robotic switch rail milling</title>
      <p id="d2e8772">To validate the effectiveness of the proposed FDAFC framework, the experimental platform is configured as follows. As shown in Fig. 11a, the robotic milling system is built on an industrial robot with a positioning repeatability of <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn></mml:mrow></mml:math></inline-formula> mm and a maximum working radius of 1617 mm. A six-axis force sensor is used for online force measurement, and the measured signals are sampled at 100 Hz and transmitted to the industrial PC via EtherCAT. Moreover, the proposed compliant milling controller is implemented on the industrial PC equipped with an Intel i7-9700TE CPU and 32 GB RAM.</p>
      <p id="d2e8785">Since the full-length Chinese no. 9 switch rail exceeds the workspace of the current experimental platform, a 1000 mm section is selected as the workpiece and further divided into three representative segments for long-distance milling tests. The spindle speed is set to 24 000 r min<sup>−1</sup>, and the initial feed speed is 5 mm s<sup>−1</sup>. During operation, the robot controller updates the cutter path online to maintain alignment between the cutter side and the top edge of the switch rail, as shown in Fig. 11b. As shown in Fig. 11c, the machined switch rail surface exhibits a smooth and uniform appearance, with no obvious tool marks or force-induced overcutting of the thin edge. Repeated measurements show that the post-milling surface roughness averages 3.2 <inline-formula><mml:math id="M218" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>m, as illustrated in Fig. 11d, demonstrating satisfactory surface quality for switch rail milling.</p>
      <p id="d2e8820">The resultant milling force is used as an overall indicator of the milling load to characterize the combined variation in the cutting load. Figure 12 presents the resultant milling force under the cases with and without compound force control in the three representative segments, and the corresponding statistical results are summarized in Table 5.</p>
      <p id="d2e8823">The mean resultant milling force under compound force control remains close to that of the uncontrolled case across all three segments, whereas the fluctuation level is significantly reduced. As summarized in Table 5, the standard deviation is reduced by 59.9 %, 64.3 %, and 65.4 % in Segments X, Y, and Z, respectively, while the peak-to-peak value is reduced by 45.5 %, 52.7 %, and 55.1 %. These results demonstrate that the proposed FDAFC framework effectively suppresses force fluctuation without noticeably changing the average milling load level, thereby improving the stability of long-distance robotic milling.</p>
</sec>
<sec id="Ch1.S7" sec-type="conclusions">
  <label>7</label><title>Conclusions</title>
      <p id="d2e8834">To address inconsistent machining quality caused by position control errors and burr effects during the long-feed process of the robotic system, this paper proposes a flexible milling control strategy based on the linear-motor–robot configuration. Robot kinematics and dynamics are formulated using <inline-formula><mml:math id="M219" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula>–<inline-formula><mml:math id="M220" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> parameters, a damped least-squares pseudo-inverse with L2-weighted null-space optimization, and Newton–Euler inverse dynamics. An FDAFC frame is devised: feed-per-tooth normalization with first-order gain scheduling regulates the tangential force, while RBF-scheduled position-based impedance tracks normal force. Moreover, a coupling law updates the normal-force reference, and Lyapunov-guided adaptation ensures stable, compliant milling. To support analysis, an ADAMS-Simulink model is developed, where the milling force exhibits three distinct regions. Under compound force control, the maximum tracking errors are 6.11 N for tangential force and 4.90 N for normal force. The experimental results confirm that the proposed FDAFC framework can effectively suppress milling load fluctuation and achieve satisfactory surface-finish quality in switch rail milling.</p>
      <p id="d2e8851">Nevertheless, the current FDAFC framework is formulated based on tangential/normal-force decoupling in the contact frame and does not explicitly model or compensate for the coupled closed-loop interactions between the linear-axis translation and the two force control channels. Future work will investigate an integrated multivariable control strategy that explicitly accounts for these coupling effects to improve multi-axis coordination.</p>
</sec>

      
      </body>
    <back><notes notes-type="dataavailability"><title>Data availability</title>

      <p id="d2e8858">Data supporting this study's findings are available from the corresponding author upon request.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e8864">KX: Writing – review and editing, writing – original draft, validation, supervision, resources, methodology, investigation, formal analysis. QL: writing – review and editing, supervision, conceptualization. JL: writing – review and editing, supervision, methodology. WF: visualization, resources, project administration, formal analysis, data curation. ZW: investigation, formal analysis, data curation. JL: investigation, supervision, data curation.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e8870">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e8876">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><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e8882">This work is supported by the talent fund of Beijing Jiaotong University (grant no. 2024XKRC030) and the National Natural Science Foundation of China (grant nos. 52305005, 52205005).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Bai, L., Xia, L., and Ge, X.: A Lie group variational integrator in a closed-loop vector space without a multiplier, Mech. Sci., 15, 169–181, <ext-link xlink:href="https://doi.org/10.5194/ms-15-169-2024" ext-link-type="DOI">10.5194/ms-15-169-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Burghardt, A., Szybicki, D., Kurc, K., Muszyńska, M., and Mucha, J.: Experimental study of Inconel 718 surface treatment by edge robotic deburring with force control, Strength Mater., 49, 594–604, <ext-link xlink:href="https://doi.org/10.1007/s11223-017-9903-3" ext-link-type="DOI">10.1007/s11223-017-9903-3</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Chen, H., Yang, J., and Ding, H.: Robotic compliant grinding of curved parts based on a designed active force-controlled end-effector with optimized series elastic component, Robot. Comput.-Integr. Manuf., 86, 102646, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2023.102646" ext-link-type="DOI">10.1016/j.rcim.2023.102646</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Dong, L., Ma, J., Cao, J., and Wang, D.: Serial–parallel cooperative assembly approach for precision micro-assembly of axial holes, Mech. Sci., 15, 653–665, <ext-link xlink:href="https://doi.org/10.5194/ms-15-653-2024" ext-link-type="DOI">10.5194/ms-15-653-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Ge, J., Cao, D., Liu, W., Deng, Z., Wu, J., Wu, S., Lv, L., and Wang, X.: An online monitoring approach of grinding wheel wear condition for robotic weld grinding based on enhanced CNN-GRU model, Mech. Syst. Signal Process., 241, 113483, <ext-link xlink:href="https://doi.org/10.1016/j.ymssp.2025.113483" ext-link-type="DOI">10.1016/j.ymssp.2025.113483</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>González, M., Rodríguez, A., López-Saratxaga, U., Pereira, O., and López de Lacalle, L. N.: Adaptive edge finishing process on distorted features through robot-assisted computer vision, J. Manuf. Syst., 74, 41–54, <ext-link xlink:href="https://doi.org/10.1016/j.jmsy.2024.02.014" ext-link-type="DOI">10.1016/j.jmsy.2024.02.014</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation> Groover, M. P.: Fundamentals of modern manufacturing: materials, processes, and systems, 4th Edn., John Wiley &amp; Sons, Hoboken, NJ, ISBN 978-0-470-46700-8, 2010.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Grossoni, I., Hughes, P., Bezin, Y., Bevan, A., and Jaiswal, J.: Observed failures at railway turnouts: Failure analysis, possible causes and links to current and future research, Eng. Fail. Anal., 119, 104987, <ext-link xlink:href="https://doi.org/10.1016/j.engfailanal.2020.104987" ext-link-type="DOI">10.1016/j.engfailanal.2020.104987</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Hogan, N.: Impedance control of industrial robots, Robot. Comput.-Integr. Manuf., 1, 97–113, <ext-link xlink:href="https://doi.org/10.1016/0736-5845(84)90084-X" ext-link-type="DOI">10.1016/0736-5845(84)90084-X</ext-link>, 1984.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Jin, S. Y., Pramanik, A., Basak, A. K., Prakash, C., Shankar, S., and Debnath, S.: Burr formation and its treatments – a review, Int. J. Adv. Manuf. Technol., 107, 2189–2210, <ext-link xlink:href="https://doi.org/10.1007/s00170-020-05203-2" ext-link-type="DOI">10.1007/s00170-020-05203-2</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Khan, S. G.: Adaptive chaos control of a humanoid robot arm: a fault-tolerant scheme, Mech. Sci., 14, 209–222, <ext-link xlink:href="https://doi.org/10.5194/ms-14-209-2023" ext-link-type="DOI">10.5194/ms-14-209-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Kisilowski, J. and Kowalik, R.: Numerical testing of switch point dynamics – a curved beam with a variable cross-section, Materials, 13, 701, <ext-link xlink:href="https://doi.org/10.3390/ma13030701" ext-link-type="DOI">10.3390/ma13030701</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>Kratěna, T., Vavruška, P., Švéda, J., and Zeman, P.: Workpiece position optimisation in robotic multi-axis machining, Results Eng., 27, 106421, <ext-link xlink:href="https://doi.org/10.1016/j.rineng.2025.106421" ext-link-type="DOI">10.1016/j.rineng.2025.106421</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>Lai, Z., Xiong, R., Wu, H., and Guan, Y.: Integration of visual information and robot offline programming system for improving automatic deburring process, in: 2018 IEEE International Conference on Robotics and Biomimetics (ROBIO), Kuala Lumpur, Malaysia, 12–15 December 2018, IEEE, 1132–1137, <ext-link xlink:href="https://doi.org/10.1109/ROBIO.2018.8665148" ext-link-type="DOI">10.1109/ROBIO.2018.8665148</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>Li, Z., Shang, W., and Zhang, B.: Hybrid impedance control of cable-driven parallel robots using adaptive friction compensation, IEEE Trans. Ind. Electron., 72, 703–713, <ext-link xlink:href="https://doi.org/10.1109/TIE.2024.3409905" ext-link-type="DOI">10.1109/TIE.2024.3409905</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Lloyd, S., Irani, R. A., and Ahmadi, M.: Precision robotic deburring with simultaneous registration and machining for improved accuracy, quality, and efficiency, Robot. Comput.-Integr. Manuf., 88, 102733, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2024.102733" ext-link-type="DOI">10.1016/j.rcim.2024.102733</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>Ma, X., Li, H., Xie, Y., Liu, J., Peng, Y., Xie, S., and Luo, J.: Adaptive dynamics-based prescribed-time control for robots formation tracking in task space, IEEE Trans. Syst. Man Cybern. Syst., 55, 6476–6485, <ext-link xlink:href="https://doi.org/10.1109/TSMC.2025.3579053" ext-link-type="DOI">10.1109/TSMC.2025.3579053</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation>Mohammed, A., Kvam, J., Onstein, I. F., Bakken, M., and Schulerud, H.: Automated 3D burr detection in cast manufacturing using sparse convolutional neural networks, J. Intell. Manuf., 34, 303–314, <ext-link xlink:href="https://doi.org/10.1007/s10845-022-02036-6" ext-link-type="DOI">10.1007/s10845-022-02036-6</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation>Precup, R.-E., Roman, R.-C., and Safaei, A.: Data-driven model-free controllers, CRC Press, Boca Raton, FL, <ext-link xlink:href="https://doi.org/10.1201/9781003143444" ext-link-type="DOI">10.1201/9781003143444</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Rahul, M. R. and Chiddarwar, S. S.: Deep reinforcement learning with inverse Jacobian based model-free path planning for deburring in complex industrial environment, J. Intell. Robot. Syst., 110, 4, <ext-link xlink:href="https://doi.org/10.1007/s10846-023-02030-x" ext-link-type="DOI">10.1007/s10846-023-02030-x</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>Raibert, M. H. and Craig, J. J.: Hybrid position/force control of manipulators, J. Dyn. Syst. Meas. Control, 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.bib22"><label>22</label><mixed-citation> Shaw, M. C. and Cookson, J. O.: Metal cutting principles, 2nd Edn., Oxford University Press, New York, NY, ISBN 978-0-19-514206-8, 2005.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>Tafuro, A., Molinaro, M., Zanchettin, A. M., and Rocco, P.: Self-supervised vision-driven trajectory planning for intelligent robotic deburring, Mach. Intell. Res., 22, 655–676, <ext-link xlink:href="https://doi.org/10.1007/s11633-025-1560-6" ext-link-type="DOI">10.1007/s11633-025-1560-6</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>Tang, X., Cai, X., Xu, J., and Yang, F.: A full information expression model for track irregularity based on stochastic harmonic functions in vehicle–turnout structure stochastic vibration analysis, Railw. Eng. Sci., 34, 349–369, <ext-link xlink:href="https://doi.org/10.1007/s40534-025-00381-9" ext-link-type="DOI">10.1007/s40534-025-00381-9</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Tao, Y., Zheng, J., Lin, Y., Wang, T., Xiong, H., He, G., and Xu, D.: Fuzzy PID control method of deburring industrial robots, J. Intell. Fuzzy Syst., 29, 2447–2455, <ext-link xlink:href="https://doi.org/10.3233/IFS-151945" ext-link-type="DOI">10.3233/IFS-151945</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>Tao, Y., Zheng, J., and Lin, Y.: A sliding mode control-based on a RBF neural network for deburring industry robotic systems, Int. J. Adv. Robot. Syst., 13, 8, <ext-link xlink:href="https://doi.org/10.5772/62002" ext-link-type="DOI">10.5772/62002</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation>Tiseo, C., Merkt, W., Wolfslag, W., Vijayakumar, S., and Mistry, M.: Safe and compliant control of redundant robots using superimposition of passive task-space controllers, Nonlinear Dyn., 112, 1023–1038, <ext-link xlink:href="https://doi.org/10.1007/s11071-023-09045-x" ext-link-type="DOI">10.1007/s11071-023-09045-x</ext-link>, 2024. </mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>Villagrossi, E., Cenati, C., Pedrocchi, N., Beschi, M., and Tosatti, L. M.: Flexible robot-based cast iron deburring cell for small batch production using single-point laser sensor, Int. J. Adv. Manuf. Technol., 92, 1425–1438, <ext-link xlink:href="https://doi.org/10.1007/s00170-017-0232-2" ext-link-type="DOI">10.1007/s00170-017-0232-2</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Wang, H. H., Wang, W. J., Han, Z. Y., Wang, Y., Ding, H. H., Lewis, R., Lin, Q., Liu, Q. Y., and Zhou, Z. R.: Wear and rolling contact fatigue competition mechanism of different types of rail steels under various slip ratios, Wear, 522, 204721, <ext-link xlink:href="https://doi.org/10.1016/j.wear.2023.204721" ext-link-type="DOI">10.1016/j.wear.2023.204721</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Wang, K., Zhu, H., Xu, J., Bai, T., Tian, C., Qian, Y., Gao, Y., Chen, R., Wang, P., and Liu, Y.: Study on the damage mechanism of high-speed turnout switch rails on large ramps, J. Cent. South Univ., 32, 288–303, <ext-link xlink:href="https://doi.org/10.1007/s11771-025-5858-x" ext-link-type="DOI">10.1007/s11771-025-5858-x</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Wang, Z. and Lei, Z.: Analysis of influence factors of rail corrugation in small radius curve track, Mech. Sci., 12, 31–40, <ext-link xlink:href="https://doi.org/10.5194/ms-12-31-2021" ext-link-type="DOI">10.5194/ms-12-31-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>Wang, Z., Zou, L., Li, J., Zhang, J., and Wang, W.: Point-driven toolpath curve and orientation smoothing in robotic belt grinding for turbine blade, Robot. Comput.-Integr. Manuf., 96, 103046, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2025.103046" ext-link-type="DOI">10.1016/j.rcim.2025.103046</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation>Xiao, Q., Yang, Y., Chang, C., and Li, D.: Monitoring and evaluation of high-speed railway turnout grinding effect based on field test and simulation, Appl. Sci., 13, 9177, <ext-link xlink:href="https://doi.org/10.3390/app13169177" ext-link-type="DOI">10.3390/app13169177</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib34"><label>34</label><mixed-citation>Xie, Z., Jin, L., Luo, X., Hu, B., and Li, S.: An acceleration-level data-driven repetitive motion planning scheme for kinematic control of robots with unknown structure, IEEE Trans. Syst. Man Cybern. Syst., 52, 5679–5691, <ext-link xlink:href="https://doi.org/10.1109/TSMC.2021.3129794" ext-link-type="DOI">10.1109/TSMC.2021.3129794</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><mixed-citation>Zhang, Y., Liu, H., Cheng, W., Hua, L., and Zhu, D.: A novel trajectory planning method for robotic deburring of automotive castings considering adaptive weights, Robot. Comput.-Integr. Manuf., 86, 102677, <ext-link xlink:href="https://doi.org/10.1016/j.rcim.2023.102677" ext-link-type="DOI">10.1016/j.rcim.2023.102677</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><mixed-citation>Zhao, J., Li, Y., Li, Y., Pei, B., Yu, Z., and Dong, Z.: A predefined-time radial basis function (RBF) neural network tracking control method considering actuator faults for a new type of spraying robot, Mech. Sci., 16, 51–60, <ext-link xlink:href="https://doi.org/10.5194/ms-16-51-2025" ext-link-type="DOI">10.5194/ms-16-51-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><mixed-citation>Zhou, R., Zhao, T., Yang, H., and Su, Q.: An online dynamic parameter identification approach for robotic manipulator with reformulated physical feasibility, IEEE Trans. Instrum. Meas., 74, 1–14, <ext-link xlink:href="https://doi.org/10.1109/TIM.2025.3573017" ext-link-type="DOI">10.1109/TIM.2025.3573017</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><mixed-citation>Zong, L., Jiang, C., Du, H., Luo, Y., and Cong, Y.: Interaction force control of industrial manipulators via neural network-based integral terminal sliding mode control algorithm, Nonlinear Dyn., 113, 26361–26375, <ext-link xlink:href="https://doi.org/10.1007/s11071-025-11483-8" ext-link-type="DOI">10.1007/s11071-025-11483-8</ext-link>, 2025.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Adaptive compliant milling control for switch rail edge deburring within an FDAFC-based robotic framework</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Bai, L., Xia, L., and Ge, X.: A Lie group variational integrator in a closed-loop vector space without a multiplier, Mech. Sci., 15, 169–181, <a href="https://doi.org/10.5194/ms-15-169-2024" target="_blank">https://doi.org/10.5194/ms-15-169-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Burghardt, A., Szybicki, D., Kurc, K., Muszyńska, M., and Mucha, J.:
Experimental study of Inconel 718 surface treatment by edge robotic
deburring with force control, Strength Mater., 49, 594–604,
<a href="https://doi.org/10.1007/s11223-017-9903-3" target="_blank">https://doi.org/10.1007/s11223-017-9903-3</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      
Chen, H., Yang, J., and Ding, H.: Robotic compliant grinding of curved parts
based on a designed active force-controlled end-effector with optimized
series elastic component, Robot. Comput.-Integr. Manuf., 86, 102646,
<a href="https://doi.org/10.1016/j.rcim.2023.102646" target="_blank">https://doi.org/10.1016/j.rcim.2023.102646</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      
Dong, L., Ma, J., Cao, J., and Wang, D.: Serial–parallel cooperative assembly approach for precision micro-assembly of axial holes, Mech. Sci., 15, 653–665, <a href="https://doi.org/10.5194/ms-15-653-2024" target="_blank">https://doi.org/10.5194/ms-15-653-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      
Ge, J., Cao, D., Liu, W., Deng, Z., Wu, J., Wu, S., Lv, L., and Wang, X.: An
online monitoring approach of grinding wheel wear condition for robotic weld
grinding based on enhanced CNN-GRU model, Mech. Syst. Signal Process., 241,
113483, <a href="https://doi.org/10.1016/j.ymssp.2025.113483" target="_blank">https://doi.org/10.1016/j.ymssp.2025.113483</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      
González, M., Rodríguez, A., López-Saratxaga, U., Pereira, O.,
and López de Lacalle, L. N.: Adaptive edge finishing process on
distorted features through robot-assisted computer vision, J. Manuf. Syst.,
74, 41–54, <a href="https://doi.org/10.1016/j.jmsy.2024.02.014" target="_blank">https://doi.org/10.1016/j.jmsy.2024.02.014</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      
Groover, M. P.: Fundamentals of modern manufacturing: materials, processes,
and systems, 4th Edn., John Wiley &amp; Sons, Hoboken, NJ, ISBN
978-0-470-46700-8, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      
Grossoni, I., Hughes, P., Bezin, Y., Bevan, A., and Jaiswal, J.: Observed
failures at railway turnouts: Failure analysis, possible causes and links to
current and future research, Eng. Fail. Anal., 119, 104987,
<a href="https://doi.org/10.1016/j.engfailanal.2020.104987" target="_blank">https://doi.org/10.1016/j.engfailanal.2020.104987</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      
Hogan, N.: Impedance control of industrial robots, Robot. Comput.-Integr.
Manuf., 1, 97–113, <a href="https://doi.org/10.1016/0736-5845(84)90084-X" target="_blank">https://doi.org/10.1016/0736-5845(84)90084-X</a>, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
      
Jin, S. Y., Pramanik, A., Basak, A. K., Prakash, C., Shankar, S., and
Debnath, S.: Burr formation and its treatments – a review, Int. J. Adv.
Manuf. Technol., 107, 2189–2210,
<a href="https://doi.org/10.1007/s00170-020-05203-2" target="_blank">https://doi.org/10.1007/s00170-020-05203-2</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
      
Khan, S. G.: Adaptive chaos control of a humanoid robot arm: a fault-tolerant scheme, Mech. Sci., 14, 209–222, <a href="https://doi.org/10.5194/ms-14-209-2023" target="_blank">https://doi.org/10.5194/ms-14-209-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      
Kisilowski, J. and Kowalik, R.: Numerical testing of switch point
dynamics – a curved beam with a variable cross-section, Materials, 13, 701,
<a href="https://doi.org/10.3390/ma13030701" target="_blank">https://doi.org/10.3390/ma13030701</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      
Kratěna, T., Vavruška, P., Švéda, J., and Zeman, P.:
Workpiece position optimisation in robotic multi-axis machining, Results
Eng., 27, 106421, <a href="https://doi.org/10.1016/j.rineng.2025.106421" target="_blank">https://doi.org/10.1016/j.rineng.2025.106421</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      
Lai, Z., Xiong, R., Wu, H., and Guan, Y.: Integration of visual information
and robot offline programming system for improving automatic deburring
process, in: 2018 IEEE International Conference on Robotics and Biomimetics
(ROBIO), Kuala Lumpur, Malaysia, 12–15 December 2018, IEEE, 1132–1137,
<a href="https://doi.org/10.1109/ROBIO.2018.8665148" target="_blank">https://doi.org/10.1109/ROBIO.2018.8665148</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      
Li, Z., Shang, W., and Zhang, B.: Hybrid impedance control of cable-driven
parallel robots using adaptive friction compensation, IEEE Trans. Ind.
Electron., 72, 703–713, <a href="https://doi.org/10.1109/TIE.2024.3409905" target="_blank">https://doi.org/10.1109/TIE.2024.3409905</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
      
Lloyd, S., Irani, R. A., and Ahmadi, M.: Precision robotic deburring with
simultaneous registration and machining for improved accuracy, quality, and
efficiency, Robot. Comput.-Integr. Manuf., 88, 102733,
<a href="https://doi.org/10.1016/j.rcim.2024.102733" target="_blank">https://doi.org/10.1016/j.rcim.2024.102733</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
      
Ma, X., Li, H., Xie, Y., Liu, J., Peng, Y., Xie, S., and Luo, J.: Adaptive
dynamics-based prescribed-time control for robots formation tracking in task
space, IEEE Trans. Syst. Man Cybern. Syst., 55, 6476–6485,
<a href="https://doi.org/10.1109/TSMC.2025.3579053" target="_blank">https://doi.org/10.1109/TSMC.2025.3579053</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
      
Mohammed, A., Kvam, J., Onstein, I. F., Bakken, M., and Schulerud, H.:
Automated 3D burr detection in cast manufacturing using sparse convolutional
neural networks, J. Intell. Manuf., 34, 303–314,
<a href="https://doi.org/10.1007/s10845-022-02036-6" target="_blank">https://doi.org/10.1007/s10845-022-02036-6</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
      
Precup, R.-E., Roman, R.-C., and Safaei, A.: Data-driven model-free
controllers, CRC Press, Boca Raton, FL,
<a href="https://doi.org/10.1201/9781003143444" target="_blank">https://doi.org/10.1201/9781003143444</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
      
Rahul, M. R. and Chiddarwar, S. S.: Deep reinforcement learning with inverse
Jacobian based model-free path planning for deburring in complex industrial
environment, J. Intell. Robot. Syst., 110, 4,
<a href="https://doi.org/10.1007/s10846-023-02030-x" target="_blank">https://doi.org/10.1007/s10846-023-02030-x</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
      
Raibert, M. H. and Craig, J. J.: Hybrid position/force control of
manipulators, J. Dyn. Syst. Meas. Control, 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.bib22"><label>22</label><mixed-citation>
      
Shaw, M. C. and Cookson, J. O.: Metal cutting principles, 2nd Edn., Oxford
University Press, New York, NY, ISBN 978-0-19-514206-8, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
      
Tafuro, A., Molinaro, M., Zanchettin, A. M., and Rocco, P.: Self-supervised
vision-driven trajectory planning for intelligent robotic deburring, Mach.
Intell. Res., 22, 655–676, <a href="https://doi.org/10.1007/s11633-025-1560-6" target="_blank">https://doi.org/10.1007/s11633-025-1560-6</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
      
Tang, X., Cai, X., Xu, J., and Yang, F.: A full information expression model
for track irregularity based on stochastic harmonic functions in
vehicle–turnout structure stochastic vibration analysis, Railw. Eng. Sci.,
34, 349–369, <a href="https://doi.org/10.1007/s40534-025-00381-9" target="_blank">https://doi.org/10.1007/s40534-025-00381-9</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
      
Tao, Y., Zheng, J., Lin, Y., Wang, T., Xiong, H., He, G., and Xu, D.: Fuzzy
PID control method of deburring industrial robots, J. Intell. Fuzzy Syst.,
29, 2447–2455, <a href="https://doi.org/10.3233/IFS-151945" target="_blank">https://doi.org/10.3233/IFS-151945</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
      
Tao, Y., Zheng, J., and Lin, Y.: A sliding mode control-based on a RBF
neural network for deburring industry robotic systems, Int. J. Adv. Robot.
Syst., 13, 8, <a href="https://doi.org/10.5772/62002" target="_blank">https://doi.org/10.5772/62002</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
      
Tiseo, C., Merkt, W., Wolfslag, W., Vijayakumar, S., and Mistry, M.: Safe
and compliant control of redundant robots using superimposition of passive
task-space controllers, Nonlinear Dyn., 112, 1023–1038,
<a href="https://doi.org/10.1007/s11071-023-09045-x" target="_blank">https://doi.org/10.1007/s11071-023-09045-x</a>, 2024.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
      
Villagrossi, E., Cenati, C., Pedrocchi, N., Beschi, M., and Tosatti, L. M.:
Flexible robot-based cast iron deburring cell for small batch production
using single-point laser sensor, Int. J. Adv. Manuf. Technol., 92,
1425–1438, <a href="https://doi.org/10.1007/s00170-017-0232-2" target="_blank">https://doi.org/10.1007/s00170-017-0232-2</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
      
Wang, H. H., Wang, W. J., Han, Z. Y., Wang, Y., Ding, H. H., Lewis, R., Lin,
Q., Liu, Q. Y., and Zhou, Z. R.: Wear and rolling contact fatigue
competition mechanism of different types of rail steels under various slip
ratios, Wear, 522, 204721, <a href="https://doi.org/10.1016/j.wear.2023.204721" target="_blank">https://doi.org/10.1016/j.wear.2023.204721</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
      
Wang, K., Zhu, H., Xu, J., Bai, T., Tian, C., Qian, Y., Gao, Y., Chen, R.,
Wang, P., and Liu, Y.: Study on the damage mechanism of high-speed turnout
switch rails on large ramps, J. Cent. South Univ., 32, 288–303,
<a href="https://doi.org/10.1007/s11771-025-5858-x" target="_blank">https://doi.org/10.1007/s11771-025-5858-x</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
      
Wang, Z. and Lei, Z.: Analysis of influence factors of rail corrugation in small radius curve track, Mech. Sci., 12, 31–40, <a href="https://doi.org/10.5194/ms-12-31-2021" target="_blank">https://doi.org/10.5194/ms-12-31-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
      
Wang, Z., Zou, L., Li, J., Zhang, J., and Wang, W.: Point-driven toolpath
curve and orientation smoothing in robotic belt grinding for turbine blade,
Robot. Comput.-Integr. Manuf., 96, 103046,
<a href="https://doi.org/10.1016/j.rcim.2025.103046" target="_blank">https://doi.org/10.1016/j.rcim.2025.103046</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
      
Xiao, Q., Yang, Y., Chang, C., and Li, D.: Monitoring and evaluation of
high-speed railway turnout grinding effect based on field test and
simulation, Appl. Sci., 13, 9177, <a href="https://doi.org/10.3390/app13169177" target="_blank">https://doi.org/10.3390/app13169177</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
      
Xie, Z., Jin, L., Luo, X., Hu, B., and Li, S.: An acceleration-level
data-driven repetitive motion planning scheme for kinematic control of
robots with unknown structure, IEEE Trans. Syst. Man Cybern. Syst., 52,
5679–5691, <a href="https://doi.org/10.1109/TSMC.2021.3129794" target="_blank">https://doi.org/10.1109/TSMC.2021.3129794</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
      
Zhang, Y., Liu, H., Cheng, W., Hua, L., and Zhu, D.: A novel trajectory
planning method for robotic deburring of automotive castings considering
adaptive weights, Robot. Comput.-Integr. Manuf., 86, 102677,
<a href="https://doi.org/10.1016/j.rcim.2023.102677" target="_blank">https://doi.org/10.1016/j.rcim.2023.102677</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>
      
Zhao, J., Li, Y., Li, Y., Pei, B., Yu, Z., and Dong, Z.: A predefined-time radial basis function (RBF) neural network tracking control method considering actuator faults for a new type of spraying robot, Mech. Sci., 16, 51–60, <a href="https://doi.org/10.5194/ms-16-51-2025" target="_blank">https://doi.org/10.5194/ms-16-51-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
      
Zhou, R., Zhao, T., Yang, H., and Su, Q.: An online dynamic parameter
identification approach for robotic manipulator with reformulated physical
feasibility, IEEE Trans. Instrum. Meas., 74, 1–14,
<a href="https://doi.org/10.1109/TIM.2025.3573017" target="_blank">https://doi.org/10.1109/TIM.2025.3573017</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
      
Zong, L., Jiang, C., Du, H., Luo, Y., and Cong, Y.: Interaction force
control of industrial manipulators via neural network-based integral
terminal sliding mode control algorithm, Nonlinear Dyn., 113, 26361–26375,
<a href="https://doi.org/10.1007/s11071-025-11483-8" target="_blank">https://doi.org/10.1007/s11071-025-11483-8</a>, 2025.

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