<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "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">
  <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-11-193-2020</article-id><title-group><article-title>Dynamic parameters identification of a haptic<?xmltex \hack{\break}?> interface for a helicopter
flight simulator</article-title><alt-title>Haptic inteface dynamics for a helicopter simulator</alt-title>
      </title-group><?xmltex \runningtitle{Haptic inteface dynamics for a helicopter simulator}?><?xmltex \runningauthor{D. Zhao et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Zhao</surname><given-names>Dingxuan</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Zhang</surname><given-names>Jianyao</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Carbone</surname><given-names>Giuseppe</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-0831-8358</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Yang</surname><given-names>Haojie</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Ni</surname><given-names>Tao</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff3">
          <name><surname>Yao</surname><given-names>Shuangji</given-names></name>
          <email>buaayaoshuangji@163.com</email>
        </contrib>
        <aff id="aff1"><label>1</label><institution>School of Mechanical Engineering, Yanshan University, Qinhuangdao,
066004, China</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>DiMEG, University of Calabria, Rende, 87036, Italy</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>School of Vehicles and Energy, Yanshan University, Qinhuangdao,
066004, China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Shuangji Yao (buaayaoshuangji@163.com)</corresp></author-notes><pub-date><day>3</day><month>June</month><year>2020</year></pub-date>
      
      <volume>11</volume>
      <issue>1</issue>
      <fpage>193</fpage><lpage>204</lpage>
      <history>
        <date date-type="received"><day>20</day><month>January</month><year>2020</year></date>
           <date date-type="accepted"><day>29</day><month>April</month><year>2020</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2020 Dingxuan Zhao et al.</copyright-statement>
        <copyright-year>2020</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/11/193/2020/ms-11-193-2020.html">This article is available from https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020.html</self-uri><self-uri xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020.pdf">The full text article is available as a PDF file from https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020.pdf</self-uri>
      <abstract><title>Abstract</title>
    <p id="d1e135">The haptic interface force feedback is one of the key
factors for a reliable flight simulation. This paper addresses the design
and control implementation of a simple joystick-like haptic interface to be
used for a helicopter flight simulator. The expression of the haptic
interface force is obtained by dynamic analysis of the haptic interface
operation. This paper proposes a new strategy aiming at avoiding the use of
an expansive and complex force/torque sensor. Accordingly, specific dynamic
model is implemented by including Stribeck friction to describe the friction
moment. Experimental data are processed as based on a genetic algorithm for
identifying the dynamic parameters in the Stribeck friction model. This
allows to obtain the friction moment parameters of the haptic interface, as
well as the torque distribution due to gravity and the rotational inertia
parameters of the haptic interface for the calculation of the haptic
interface force. Experimental tests are carried out and results are used to
validate the proposed dynamic model and dynamic parameter identification
method and demonstrate the effectiveness of the proposed force feedback
while using a cheap photoelectric sensor instead of an expansive
force/torque sensor.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d1e147">Due to the high risks and costs of training on a real helicopter, pilots
often need to complete a preliminary training on a helicopter flight
simulator. Real flight training is carried out only after a successful
training on a simulator. In helicopter flight simulators, the joystick is a
key element, which is used to achieving a reliable helicopter driving while
providing a force feedback feeling, which needs to properly mimic the force
feedback feelings of a real helicopter flying (Prachyabrued and Robert,  2018). In the
real flight control process, the pilot's hand will feel the feedback force
and make judgments, then adjust the flight status through the feedback
force. In the whole process, the current force of the haptic interface needs
to be used as the simulation calculation of the feedback force. Thus, its
measurement accuracy is particularly important. Most of the operating forces
are measured by using torque sensors. The papers Cavallo et al. (2004),
Rinaldi and Beckham (1983), Hutton et al. (1994), and Fergani et al. (2016) installed
a pull-up/pressure sensor at the end of the rod to read the applied force at
each moment. However, torque sensor occupies large space in both mechanical
installation and wiring, which affects the normal operation of the pilots.
This paper proposes a different strategy aiming at avoiding the use of an
expansive and complex force/torque sensor. Namely, the proposed approach is
based on establishing a reliable dynamic model of the haptic interface to
replace the role of the force/torque sensor. Accordingly, a proper dynamic
model and a parameter identification strategy have been proposed.</p>
      <p id="d1e150">In a servo system, there are complex rolling friction and sliding friction
phenomena between gear train, bearing, input/output shaft and seal.
Therefore, the modelling of friction torque is very important, which
directly affects the dynamic accuracy of the haptic interface. A variety of
empirical models have been proposed for friction calculation of servo
system, which can be divided into two phases: static friction model and
dynamic friction model (Bona and Indri, 2005).<?pagebreak page194?> The most widely used static
friction model is the Stribeck model. Several papers analyzed the friction
of a servo system by establishing its Stribeck friction model (Lichun and Pavelescu, 1982; Xu et al., 2011; Chen et al., 2016; Márton and Lantos, 2009;
Broel-Plater et al., 2018). Considering the advantages and drawbacks of the
existing models in literature, it has been decided to implement a Lugre
model to analyze the friction of the servo system, as proposed in Canudas de Wit et al. (1995), Wang et al. (2019), Azizi and Yazdizadeh (2019), Freidovich et al. (2010), and
Ishikawa et al. (2010). Main advantage of Lugre model is its relatively high
accuracy, while its implementation is relatively complex, since it
introduces an unknown quantity which can be difficult to be measured
directly and requires a high precision servo system. The Stribeck model is
currently used in many fields to model the friction moment. Since there are
unknown parameters in the haptic interface dynamics model, such as gravity
moment, Stribeck friction moment model parameters and rotational inertia,
these parameters need to be identified. The main available parameter
identification methods are tracing methods, least square methods, and
genetic algorithms. The genetic algorithms are very effective evolutionary
random search methods, which are proven in literature to be very effective
in managing non-linear problems with a high level of computational
robustness and calculation parallelization. Accordingly, genetic algorithms
can be seen as the most convenient approach for addressing this
identification problem. In this paper, a dynamic analysis is carried out on
the a 2-dof flight haptic interface for a helicopter simulator. A nonlinear
Stribeck model is established for the friction torque of the servo system. A
curve fitting and genetic algorithm method are used for processing the data
to identify the gravity torque, four parameters of the Stribeck model and
the rotational inertia. Finally, the available parameters identified are
brought into the dynamic model to calculate the haptic interface force in
real time and an experimental validation is carried out to proof the
effectiveness of the proposed approach.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Haptic interface operating principle and dynamics analysis</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>The proposed haptic interface and its operating principles</title>
      <p id="d1e168">This paper adopts the helicopter simulator at laboratory in Yanshan
University which is shown in Fig. 1. The helicopter flight simulator is
mainly composed of four modules: a helicopter simulation cockpit system, a
virtual scene system, a dynamic motion system and an audio system. The
simulator's haptic interface is shown in Fig. 2. The haptic interface is
driven by two servomotors, and two disc speed reducers are used for speed
regulation. The motor adopts Kollmorge CKM04 AC permanent magnet synchronous
servo motors, and its corresponding AKD series servo driver supports Modubus
TCP communication. The parameters of the servo motors and the reducers are
shown in Tables 1 and 2. The hardware system composition of the haptic
interface is shown in Fig. 3.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1" specific-use="star"><?xmltex \currentcnt{1}?><label>Figure 1</label><caption><p id="d1e173">The helicopter simulator in Yanshan University.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f01.jpg"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2" specific-use="star"><?xmltex \currentcnt{2}?><label>Figure 2</label><caption><p id="d1e184">Force feedback test bench of haptic interface. <bold>(a)</bold> Control handle;
<bold>(b)</bold> servo motor and rotating mechanism.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f02.jpg"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3"><?xmltex \currentcnt{3}?><label>Figure 3</label><caption><p id="d1e202">Hardware system composition of haptic interface.</p></caption>
          <?xmltex \igopts{width=142.26378pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f03.png"/>

        </fig>

      <p id="d1e211">First, the computer is connected to the switch, and the switch is connected
with two motor drivers respectively through Enternet port. Then, C<inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mo>+</mml:mo></mml:mrow></mml:math></inline-formula>
programmed code has been written to establish communication between servo
motor and computer through Modbus TCP protocol. When the driver operates the
haptic interface, the computer can obtain the current electricity value from
the servo motor at each time. Then, the driving torque of the servo motor is
obtained. At the same time, the photoelectric encoder of the servo motor can
measure the stick's position and speed at the current time, which can be
used for the dynamic calculation of the haptic interface.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1"><?xmltex \currentcnt{1}?><label>Table 1</label><caption><p id="d1e227">Parameter of the Kollmorge CKM04 servo motor.</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="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Symbol</oasis:entry>
         <oasis:entry colname="col3">Value</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Rated power</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.4</oasis:entry>
         <oasis:entry colname="col4">Kw</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rated speed</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3000</oasis:entry>
         <oasis:entry colname="col4">rpm</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Peak speed</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">4500</oasis:entry>
         <oasis:entry colname="col4">rpm</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rated torque</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.2</oasis:entry>
         <oasis:entry colname="col4">N m</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Peak torque</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.82</oasis:entry>
         <oasis:entry colname="col4">N m</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2"><?xmltex \currentcnt{2}?><label>Table 2</label><caption><p id="d1e388">Parameter of the reducers.</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="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">brand</oasis:entry>
         <oasis:entry colname="col3">Type</oasis:entry>
         <oasis:entry colname="col4">Reduction ratio</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Reducer 1</oasis:entry>
         <oasis:entry colname="col2">Faston</oasis:entry>
         <oasis:entry colname="col3">KD090-70-P2</oasis:entry>
         <oasis:entry colname="col4">70</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Reducer 2</oasis:entry>
         <oasis:entry colname="col2">Faston</oasis:entry>
         <oasis:entry colname="col3">KD090-35-P2</oasis:entry>
         <oasis:entry colname="col4">35</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Dynamic analysis of the haptic interface</title>
      <p id="d1e463">First, coordinate system for the haptic interface is established for the
haptic interface, as shown in Fig. 4. The intersection point of the two
motor axes is defined as origin <inline-formula><mml:math id="M7" display="inline"><mml:mi>O</mml:mi></mml:math></inline-formula>. The two motor axes are set as <inline-formula><mml:math id="M8" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis and
<inline-formula><mml:math id="M9" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis respectively. <inline-formula><mml:math id="M10" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> axis is perpendicular to the <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula> plane.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4"><?xmltex \currentcnt{4}?><label>Figure 4</label><caption><p id="d1e506">Haptic interface coordinate system.</p></caption>
          <?xmltex \igopts{width=170.716535pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f04.png"/>

        </fig>

      <p id="d1e515">The free-body diagram is shown in Fig. 5. The angle <inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> formed between the haptic interface and the <inline-formula><mml:math id="M15" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> axis is the
output angle of reducer 1 and reducer 2 respectively. the relationship of
the three parameters can be expressed as follows:
            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M16" display="block"><mml:mrow><mml:msup><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:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e594">When the haptic interface moves, the control handle, the haptic interface
and the base of the haptic interface move at an angle <inline-formula><mml:math id="M17" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>, the motor 1, the reducer 1 and the rotating mechanism move at an angle <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5"><?xmltex \currentcnt{5}?><label>Figure 5</label><caption><p id="d1e617">The proposed free-body diagram.</p></caption>
          <?xmltex \igopts{width=170.716535pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f05.png"/>

        </fig>

      <p id="d1e626">In Fig. 5, <inline-formula><mml:math id="M19" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> is the mass of the haptic interface system, <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the
distance between the center of mass of the haptic interface and the origin,
and <inline-formula><mml:math id="M21" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula> is the distance between the top of the stick and the origin. <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the output torques by motor 1 and 2 through
the disc reducer respectively; <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the
friction torques on the <inline-formula><mml:math id="M26" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M27" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis of the<?pagebreak page195?> servo system respectively.
The manual force of the pilot in the direction of <inline-formula><mml:math id="M28" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis, <inline-formula><mml:math id="M29" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M30" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> axis
defined as <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e780">The Lagrange method is adopted to conduct dynamic analysis of the system.
The Lagrange function can be formulated as
            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M34" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><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">k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><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">k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub></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>E</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><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:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (2), <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the kinetic energy of the haptic interface system;
<inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the potential energy of the haptic interface system;
<inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>q</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in the haptic interface system represent
the output angles <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the two reducers
respectively.</p>
      <?pagebreak page196?><p id="d1e961">The total kinetic energy <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the haptic interface system can be
expressed as:
            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M42" display="block"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><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:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (3), <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the sum of the moment of inertia of motor 1, reducer
1 and rotating mechanism; <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the sum of the moment of inertia of
the control handle, haptic interface and haptic interface base.</p>
      <p id="d1e1113">The potential energy of the haptic interface <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be expressed as:
            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M46" display="block"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">mg</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In combination with Fig. 5 and Eq. (1), the following equation can be
obtained:
            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M47" display="block"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:msqrt><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          According to the comprehensive Eqs. (2)–(5), can be obtained:
            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M48" display="block"><mml:mrow><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</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:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="normal">mg</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><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:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></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:mi>y</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="normal">mg</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>=</mml:mo><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:mrow><mml:mi mathvariant="normal">a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (6), <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M50" 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> are the torques exerted by the
pilot on the <inline-formula><mml:math id="M51" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M52" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis during the control process respectively.</p>
      <p id="d1e1498">Especially, the torque output <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> by the motor through the disc
reducer is related to the reduction ratio <inline-formula><mml:math id="M54" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> of the reducer and the output
torque <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the motor, as:
            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M56" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be deduced from Eq. (7):
            <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M58" display="block"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:msub><mml:mi>P</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (8), <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is polar logarithm; <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the flux chain of
rotor magnetic pole; <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the armature inductance of axis
<inline-formula><mml:math id="M63" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> and axis <inline-formula><mml:math id="M64" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula>; <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the current of <inline-formula><mml:math id="M67" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M68" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> axis.</p>
      <p id="d1e1724">Since the armature inductance of <inline-formula><mml:math id="M69" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M70" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> axis of the motor used same
value, namely:
            <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M71" display="block"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          From Eqs. (7), (8) and (9) can be obtained as follows:
            <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M72" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mi>i</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          At this time, the torque and the <inline-formula><mml:math id="M73" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> axis current have a linear relationship,
which can be expressed as:
            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M74" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          Combined with Eqs. (6) and (11), and using <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mi mathvariant="normal">mg</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> replaced by the gravity
moment <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the following equation can be obtained:
            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M77" display="block"><mml:mrow><?xmltex \hack{\hbox\bgroup\fontsize{9.2}{9.2}\selectfont$\displaystyle}?><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</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:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><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:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></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:mi>y</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo><?xmltex \hack{$\egroup}?></mml:mrow></mml:math></disp-formula>
          Thus, the manual force of the pilot can be expressed as:
            <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M78" display="block"><mml:mrow><?xmltex \hack{\hbox\bgroup\fontsize{9.2}{9.2}\selectfont$\displaystyle}?><mml:mtable class="split" rowspacing="0.2ex" columnspacing="1em" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>F</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>F</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>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>l</mml:mi></mml:mfrac></mml:mstyle><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></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:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</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>y</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>l</mml:mi></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></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:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</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>y</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>⋅</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</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:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><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:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></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:mi>y</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mi>sec⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>g</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><?xmltex \hack{$\egroup}?></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Friction torque model of the haptic interface</title>
      <p id="d1e2582">In the haptic interface structure, there are complex frictions within the
servo motor and between the reducer. The friction torque generated by these
frictions has a great influence on the accurate modelling of the haptic
interface. Therefore, the friction torque at each moment must be accurately
obtained to ensure the accuracy of the calculated force and torque at each
moment.</p>
      <p id="d1e2585">The classic Coulomb friction model friction indicated that friction force is
related to the positive pressure acting on the object. However, due to the
lubrication in the servo system, the influence of viscous friction must be
considered.</p>
      <?pagebreak page197?><p id="d1e2588">Stribeck proposed to model the servo friction as a combination of Coulomb
friction and viscous friction. He has given a quantitative formulation for
friction with respect to velocity (Balogh and Krstic, 2004). Similarly, the
Stribeck formula can be converted into the formula of friction torque
regarding motor speed as proposed in (Iwasaki et al., 1999):
            <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M79" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msup><mml:mo>]</mml:mo><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (14), <inline-formula><mml:math id="M80" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> is the motor speed; <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is Coulomb friction
torque; <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the maximum static friction torque; <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is Stribeck speed; <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the coefficient of
viscous friction.</p>
      <p id="d1e2726">The Stribeck curve is related to the speed of the servo system. In the
low-speed area, it is affected by Coulomb friction and viscous friction, and
the friction torque decreases. This area is called boundary lubrication
friction area. With the increase of speed, the influence of viscous friction
is much higher than Coulomb friction. At this time, the friction torque is
approximately proportional to the rotational speed. This operation condition
is defined as liquid lubrication condition.</p>
      <p id="d1e2730">There are two problems in applying the Stribeck friction model to the
control of haptic interface force control: on the one hand, it is difficult
to describe the change of haptic interface friction torque when the velocity
is zero; on the other hand, the change of velocity near the zero point will
cause a sudden change of friction torque, which will lead to a jitter in the
reversing process. Therefore, approximate treatment of the low speed phase
of the Stribeck friction model is required. This paper proposes to use a
sigmoid function to deal with Stribeck friction model (Ciliza and Tomizuka, 2007).</p>
      <p id="d1e2733">The Stribeck friction torque model improved by sigmoid function can be
expressed as follows:
            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M85" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close="]" open="["><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          According to the requirements of the model and accuracy, the value of
<inline-formula><mml:math id="M86" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> is defined as 500 in the proposed model.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Identification of dynamic parameters</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Identification of the gravity torque model parameter</title>
      <p id="d1e2872">According to Eq. (13), the total force applied to the haptic interface is
directly related to the magnitude of the gravity torque <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. In order
to obtain an accurate model, it is necessary to identify the gravity torque
<inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This is achieved with an experiment conducted on the motor 1 when
its movement is on <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula> plane. Set the haptic interface to rotate at a constant
speed, and then <inline-formula><mml:math id="M90" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is zero. The haptic interface was
not moved in the <inline-formula><mml:math id="M91" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> direction, so <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is zero. The driver has no
additional force to the haptic interface, accordingly also <inline-formula><mml:math id="M93" 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> is
zero. Since the velocity is constant, <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is constant. In
addition, <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is relatively small in practical application,
accordingly <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be used instead. The experimental process is
shown in Fig. 6 and Eq. (6) can be converted into:
            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M97" display="block"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F6"><?xmltex \currentcnt{6}?><label>Figure 6</label><caption><p id="d1e3042">The experimental process.</p></caption>
          <?xmltex \igopts{width=113.811024pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f06.png"/>

        </fig>

      <p id="d1e3051">At this time, <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> maintain a liner relationship with <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>
have a linear relationship. Discretizing Eq. (16) one can obtain:
            <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M100" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></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:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          A following experiment consists in setting the motor speed at 40 rpm
(Rotation per minute), make the haptic interface rotate at a constant speed,
take the values of <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> in multiple groups. A curve
fitting of the results in such experiments is shown in Fig. 7. The
identified gravity torque is 11.14 N m. The toolbox of Curve Fitting
Tool in Matlab is used to get the result.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F7"><?xmltex \currentcnt{7}?><label>Figure 7</label><caption><p id="d1e3180">Identification process of heavy torque.</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f07.png"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Identification of friction torque model parameters via genetic algorithm</title>
      <p id="d1e3197">When we choose Stribeck friction model, it contains four unknowns: <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow class="chem"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, these four
parameters need to be identified. Similarly, the motor 1 is set as the speed
mode and a specific motor speed is given to make the haptic interface rotate
at a constant speed. At the same time the driver has no additional force to
the haptic interface, in this case, <inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M108" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>and <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are equal to zero. Therefore, according to Eq. (6), the
following equation can be obtained:
            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M110" display="block"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          According to Sect. 2.1, the current value, rotation angle and rotation
speed of the motor can be read at each moment. It is can be concluded from
Eq. (18), the friction torque <inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> at the corresponding rotational
speed <inline-formula><mml:math id="M112" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be obtained. The value of friction torque
<inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> can be obtained by the different output angle <inline-formula><mml:math id="M114" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8" specific-use="star"><?xmltex \currentcnt{8}?><label>Figure 8</label><caption><p id="d1e3396">Flow chart of genetic algorithm.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f08.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F9" specific-use="star"><?xmltex \currentcnt{9}?><label>Figure 9</label><caption><p id="d1e3407">Parameter identification process of friction model. <bold>(a)</bold> The
objective function changes with generations; <bold>(b)</bold> the elite individual changes
with generations.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f09.png"/>

        </fig>

      <?pagebreak page198?><p id="d1e3423">Genetic algorithm is an algorithm designed according to Darwinian evolution
theory: through continuous natural selection, survival of the fittest, so as
to obtain the most adaptable results (Liu, 2006). The process of parameter
identification mainly includes generation of initial population, selection
of race parameters, setting of fitness function, selection, crossover,
variation and termination.</p>
      <p id="d1e3426">The search scope of parameters <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mrow class="chem"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can obtained by tracing method. The
iteration interval is [4–5], [4–5], [0–0.1] and [20–40] respectively. The population size was set as 100, and the crossover
probability and mutation probability were set as 0.4 and 0.1 respectively.
The selection of GA parameters has been carried out by considering the
peculiarities of the specific identification problem as<?pagebreak page199?> well as several
preliminary identification tests. In particular, after preliminary
identification tests we selected 0.4 as crossover parameter and 0.1 as
variation parameters. The selected crossover parameter gives a preference to
parental individuals on filial individuals. The selected variation value is
motivated by a limited influence of variation on this specific parameter
identification. Numerical simulations have been carried out also with other
values of the crossover parameter (e.g. 0.4 and 0.8). Results led to similar
outcomes of the identification procedure.</p>
      <p id="d1e3474">The multi-group friction torques obtained through Eq. (18) can be expressed
as:
            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M119" display="block"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">sgn</mml:mi><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:mi>x</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>B</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="italic">ω</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (8), <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ω</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>B</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the four parameters to be
identified respectively, and <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the theoretical
friction torque calculated by the motor speed. Take the target function:
            <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M125" display="block"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><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 stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><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 actual identification task of genetic algorithm is to solve the minimum
value of objective function.</p>
      <p id="d1e3723">The minimum target value is defined as <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> here, and the maximum
evolutionary algebra is 10 000 generations. In each generation, the
population is sorted in ascending fitness order, and the optimal solution of
this generation is recorded as the elite. Parental individuals were selected
in the fitness sequence for crossover, and the offspring were mutated.
Finally, when the fitness of a certain generation of elite meets the
requirements (<inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mi>J</mml:mi><mml:mo>≤</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>) or the evolutionary algebra is more than 10 000
generations, the whole selection process of genetic algorithm is terminated.</p>
      <p id="d1e3758">The process of genetic algorithm is shown in Fig. 8, and its identification
process is shown in Fig. 9. Figure 10 shows the comparison between the
theoretical friction moment calculated by the identified parameters and the
actual friction moment. The measurement result of the friction torque at the
moment of <inline-formula><mml:math id="M128" 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:mi>x</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> is the same as the moment of
<inline-formula><mml:math id="M129" 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:mi>x</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, but the symbol is opposite, so it was omitted.
Here we only figure out the absolute value of the friction torque. The
identified parameters at the end of program operation are shown in Table 1.
The identification of friction model parameters in the <inline-formula><mml:math id="M130" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis direction was
the same as that in the <inline-formula><mml:math id="M131" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis. The identification results are listed in
Table 3. Several cases have been considered in the identification process
for the friction torque model parameters to obtain a reliable mean value of
all the parameters. Considering the characteristics of the proposed
identification process we can estimate a confidence interval of 0.0001 %
(the minimum target value is in Eq. 20), which can be considered suitable
for the specific application, also in comparison with commonly available
accuracy of commercial sensors.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10"><?xmltex \currentcnt{10}?><label>Figure 10</label><caption><p id="d1e3814">Curve of friction torque and rotational speed.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f10.png"/>

        </fig>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3"><?xmltex \currentcnt{3}?><label>Table 3</label><caption><p id="d1e3826">Parameter identification.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.90}[.90]?><oasis:tgroup cols="3">
     <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:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Identification of parameters</oasis:entry>
         <oasis:entry colname="col2">Motor 1</oasis:entry>
         <oasis:entry colname="col3">Motor 2</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Coulomb moment of friction <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N m)</oasis:entry>
         <oasis:entry colname="col2">4.15</oasis:entry>
         <oasis:entry colname="col3">4.23</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Maximum static friction moment <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">τ</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N m)</oasis:entry>
         <oasis:entry colname="col2">4.85</oasis:entry>
         <oasis:entry colname="col3">4.95</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Stribeck speed <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (rad s<inline-formula><mml:math id="M135" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">0.006</oasis:entry>
         <oasis:entry colname="col3">0.008</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Coefficient of viscous friction <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>B</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="italic">ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (N m s rad<inline-formula><mml:math id="M137" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">30.3668</oasis:entry>
         <oasis:entry colname="col3">28.3698</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

<?xmltex \hack{\newpage}?>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Identification of rotational inertia model parameters</title>
      <p id="d1e3996">According to Eq. (14), the Stribeck friction torque model can be simplified
as:
            <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M138" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">sgn</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          Firstly, the motor 1 is analyzed. When the pilot does not operate the haptic
interface, Eq. (6) can be converted into:
            <disp-formula id="Ch1.E22" content-type="numbered"><label>22</label><mml:math id="M139" display="block"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mi mathvariant="normal">sgn</mml:mi><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:mi>x</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</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:mi>x</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          Thus, the structure block diagram of Eq. (21) can be described and is shown
as in Fig. 11.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F11" specific-use="star"><?xmltex \currentcnt{11}?><label>Figure 11</label><caption><p id="d1e4128">Structural block diagram of motor driven haptic interface.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f11.png"/>

        </fig>

      <p id="d1e4137">After sorting out Fig. 11, the simplified structure block diagram of motor
driven haptic interface is shown in Fig. 12.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F12" specific-use="star"><?xmltex \currentcnt{12}?><label>Figure 12</label><caption><p id="d1e4143">Simplified structure diagram.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f12.png"/>

        </fig>

      <p id="d1e4152">According to Fig. 12, the continuous function can be expressed as:
            <disp-formula id="Ch1.E23" content-type="numbered"><label>23</label><mml:math id="M140" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>s</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:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><mml:mi>s</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mi>s</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          The zero order holder method is adopted for <inline-formula><mml:math id="M141" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> transformation in Eq. (22),
and the following equation can be obtained:
<?xmltex \hack{\newpage}?>
            <disp-formula id="Ch1.E24" content-type="numbered"><label>24</label><mml:math id="M142" display="block"><mml:mtable rowspacing="0.2ex" columnspacing="1em" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi>Z</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>T</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mi>s</mml:mi></mml:mfrac></mml:mstyle><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mfrac></mml:mstyle><mml:mfenced close="" open="["><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><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:mi>z</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mfenced open="" close="]"><mml:mrow><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
          In which,
            <disp-formula id="Ch1.E25" content-type="numbered"><label>25</label><mml:math id="M143" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>T<?pagebreak page200?></mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          By discretizing Eq. (24), the following equation can be obtained:
            <disp-formula id="Ch1.E26" content-type="numbered"><label>26</label><mml:math id="M144" display="block"><mml:mtable class="split" rowspacing="0.2ex" columnspacing="1em" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>d</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>⋅</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>B</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">G</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>d</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>⋅</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>]</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
          In which,
            <disp-formula id="Ch1.E27" content-type="numbered"><label>27</label><mml:math id="M145" display="block"><mml:mrow><mml:mi>d</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">c</mml:mi><mml:mo>+</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">c</mml:mi><mml:mo>-</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (27), <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">c</mml:mi><mml:mo>+</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> represents positive Coulomb friction and <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">c</mml:mi><mml:mo>-</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> represents negative Coulomb friction.</p>
      <p id="d1e5169">Set the torque mode through the motor driver, set the specific current size,
and drive the haptic interface to rotate. When the motor speed reaches a
certain value, take multiple groups of current value <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and rotation
angle <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e5197">For the obtained data, the genetic algorithm in Sect. 3.2 can be used to
identify the moment of inertia. The estimated <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> value among search
range [0.1–1.1]. The population size was set as 100, and the crossover
probability and mutation probability were set as 0.4 and 0.1 respectively.
The selection of GA parameters has been carried out by considering the
peculiarities of the specific identification problem as well as several
preliminary identification tests. In particular, the selected crossover
parameter has been defined to give a preference to parental individuals on
filial individuals. The selected low variation value is motivated by a
limited influence of variation on this specific parameter identification.</p>
      <p id="d1e5211">The multiple groups of rotation angles <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> calculated
by Eq. (26) can be expressed as:
            <disp-formula id="Ch1.E28" content-type="numbered"><label>28</label><mml:math id="M152" display="block"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><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 minimum target value is given as <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and the maximum evolution
algebra is 10 000 generations. The evolution of its optimal solution is shown
in Fig. 13. The <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> of the recognized moment of inertia is
0.2887 kg m<inline-formula><mml:math id="M155" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F13" specific-use="star"><?xmltex \currentcnt{13}?><label>Figure 13</label><caption><p id="d1e5330">Identification process of moment of inertia. <bold>(a)</bold> The objective
function changes with generations; <bold>(b)</bold> the elite individual changes with
generations.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f13.png"/>

        </fig>

      <p id="d1e5345">Performming the same operation on the motor 2 as above, and the identified
moment of inertia <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is 0.2989 kg m<inline-formula><mml:math id="M157" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:math></inline-formula>. Therefore,
<inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is 0.0102 kg m<inline-formula><mml:math id="M159" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:math></inline-formula>.</p><?xmltex \hack{\newpage}?>
</sec>
</sec>
<?pagebreak page201?><sec id="Ch1.S4">
  <label>4</label><title>Experimental validation</title>
      <p id="d1e5405">Based on the experimental platform in Fig. 2, the driver is connected to the
switch through the X11 terminal, and the switch is connected to the
computer. Use Visual Studio C<inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mo>+</mml:mo></mml:mrow></mml:math></inline-formula> for programming. The computer
communicates with the driver via Modbus TCP. Specifically, the program
adopts the dynamic mapping function of Modbus. Modbus allows the driver to
map any fixed register address to a new register address, and read-write
access to the remap parameters by reordering the sequence block. The
computer gives instructions to read or change the motor current state by
reading or modifying the value in the register.</p>
      <p id="d1e5418">In this paper, the sampling time of the motor is given as 15 ms, and the
quadrature axis current <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> size are set as 0. After
noise removal, the rotation speed <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M164" 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> and position
<inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> of the two motors at each moment were
measured. <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> can be converted to the reducer
1. the reducer 1 output angular speed <inline-formula><mml:math id="M169" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and position
<inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are corresponding to them respectively; <inline-formula><mml:math id="M171" 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> and
<inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> can be converted to the reducer 2. The reducer 2 output
angular speed <inline-formula><mml:math id="M173" 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:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>and position <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are
corresponding to them respectively; by substituting <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M176" 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> into Eq. (14), the friction torque <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="normal">f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> of two degrees of freedom on the haptic interface at the current
moment can be obtained. The angular acceleration <inline-formula><mml:math id="M179" 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:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math id="M180" 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:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of two degrees of freedom of the haptic interface
can be calculated by difference method, and they can be expressed as:
          <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M181" display="block"><mml:mrow><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><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:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">¨</mml:mo></mml:mover><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">θ</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo><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:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
        In Eq. (29), <inline-formula><mml:math id="M182" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is the sampling time of the motor.</p>
      <p id="d1e5803">At this time, the driver's force on the haptic interface can be obtained
through Eq. (13).</p>
      <p id="d1e5806">In the experiment, the pilot manipulates the haptic interface diagonally and
nearly sinusoidal, as shown in Fig. 14a, and records the control force
after the kinetic solution. The calculation result of haptic interface force
in the whole process is shown in Fig. 14b.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F14" specific-use="star"><?xmltex \currentcnt{14}?><label>Figure 14</label><caption><p id="d1e5812">Control process of the haptic interface approaching sinusoidal
motion. <bold>(a)</bold> Operating conditions of the haptic interface; <bold>(b)</bold> calculation
results.</p></caption>
        <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f14.png"/>

      </fig>

      <p id="d1e5827">Then take the take-off stage and the helicopter hovering to the left for
example.</p>
      <p id="d1e5830">For the control process in the take-off stage, after lifting the total pitch
bar, the pilot slowly and uniformly pulls the haptic interface backward. The
haptic interface needs to be operated negatively along the <inline-formula><mml:math id="M183" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis to make the
helicopter climb steadily, and holds the haptic interface steadily after
pulling back to a certain degree. When the helicopter climbs to the target
altitude, lay down the haptic interface. The haptic interface needs to be
operated forward along the <inline-formula><mml:math id="M184" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis to make the helicopter attitude. The
specific control process is shown in Fig. 15. From Fig. 15b, it can be
seen that the pilot in <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> moment is pulling the haptic interface in a
negative direction towards the <inline-formula><mml:math id="M186" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis and <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> both are
negative. In the <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> stage, the pilot holds the haptic interface for a
certain seconds. At this time, because the motor speed is zero, <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> only equal to gravity. <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are all constant positive
values. In the <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> stage, the pilot pulls the haptic interface forward
along the <inline-formula><mml:math id="M195" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis, therefore, both <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are positive. At the
<inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> stage, the haptic interface returns to its original position, and
the values of <inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> back zero. In addition, because the driver
did not apply force in the direction of the <inline-formula><mml:math id="M201" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis, <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> was constant
zero in the whole process.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F15" specific-use="star"><?xmltex \currentcnt{15}?><label>Figure 15</label><caption><p id="d1e6038">Helicopter take-off stage control process. <bold>(a)</bold> Operating
conditions of the haptic interface; <bold>(b)</bold> calculation results.</p></caption>
        <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f15.png"/>

      </fig>

      <?xmltex \floatpos{h!}?><fig id="Ch1.F16" specific-use="star"><?xmltex \currentcnt{16}?><label>Figure 16</label><caption><p id="d1e6055">Helicopter hovering to the left. <bold>(a)</bold> Operating conditions of the
haptic interface; <bold>(b)</bold> calculation results.</p></caption>
        <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://ms.copernicus.org/articles/11/193/2020/ms-11-193-2020-f16.png"/>

      </fig>

      <p id="d1e6071">For the control process of helicopter hovering to the left, the pilot slowly
and uniformly pulls the haptic interface. The haptic interface needs to be
operated forward along the <inline-formula><mml:math id="M203" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis so that the helicopter fuselage tilts to
the left. After pulling the haptic interface to a certain extent, the pilot
stabilizes the haptic interface. At this time, with the operation of the
helicopter pedal, the helicopter can make circular circling. The specific
control process is shown in Fig. 16. As can be seen from Fig. 16b, in the
<inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> stage, the pilot pulls the haptic interface forward along the <inline-formula><mml:math id="M205" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axis, which <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is positive and <inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> negative. In the <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
stage, the pilot holds the haptic interface firmly, which <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is
negative value and <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> positive value. <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> was constant zero in
the whole process.</p>
      <p id="d1e6166">It can be seen from the experiments that the control process curve of
take-off stage and left hover stage is consistent<?pagebreak page202?> with the actual driving
situation. It can be indicated that proposed identification method for the
haptic interface model parameters are feasible and can be applied in the
helicopter flight simulator.</p>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusion</title>
      <p id="d1e6178">In this paper we have addressed the dynamic modelling and parameter
identification of a joystick-like haptic interface to be used for helicopter
flight simulators. Careful attention has been addressed at the Stribeck
friction model and its parameters for an accurate modelling of servomotors.
A specific genetic algorithm has been implemented for an<?pagebreak page203?> accurate
identification of the Stribeck friction parameters. A full dynamic model has
been developed and implemented as based on Lagrange formulation.
Experimental tests show that the proposed identification procedure and
haptic interface allow a control of both take-off and left hover stage with
results being consistent with the actual helicopter driving. Accordingly,
the proposed haptic interface can provide a reliable force feedback even
without using expansive force sensors. As future work, we aim at improving
the proposed model for a more accurate modelling of friction especially when
the velocity is close to zero. Future activities will also include further
experimental testing.</p>
</sec>

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

      <p id="d1e6185">All data used in this paper can be obtained on request
from the corresponding author.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d1e6191">DZ and JZ wrote the whole paper, HY and TN
designed the experiment and dealt with data, GC and SY revised the paper.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d1e6197">The authors declare that they have no conflict of interest.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e6203">The authors would like to thank the Hebei
Province “Giant Plan” (grant no. 4570031) and the Hebei Province Natural
Science Fund (grant no. E2019203431) for supporting this research work.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d1e6208">This research has been supported by the Hebei Province “Giant Plan” (grant no. 4570031) and the Hebei Province Natural Science Fund (grant no. E2019203431).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d1e6214">This paper was edited by Daniel Condurache and reviewed by Adrian Pisla and two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><?label 1?><mixed-citation>Azizi, Y. and Yazdizadeh, A.: Passivity-based adaptive control of
a 2-DOF serial robot manipulator with temperature dependent joint frictions,
Int. J. Adapt. Control, 33,
512–526, <ext-link xlink:href="https://doi.org/10.1002/acs.2968" ext-link-type="DOI">10.1002/acs.2968</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><?label 1?><mixed-citation>Balogh, A. and Krstic, M.: Stability of partial difference equations
governing control gains in infinite-dimensional backstepping,  Syst.
Control Lett., 51, 151–164, <ext-link xlink:href="https://doi.org/10.1016/S0167-6911(03)00222-6" ext-link-type="DOI">10.1016/S0167-6911(03)00222-6</ext-link>,
2004.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><?label 1?><mixed-citation>Bona, B. and Indri, M.: Friction Compensation in Robotics: an Overview, in:
Proceedings of the 44th IEEE Conference on Decision and Control, 15 December 2005, Seville,
Spain, 4360–4367, <ext-link xlink:href="https://doi.org/10.1109/CDC.2005.1582848" ext-link-type="DOI">10.1109/CDC.2005.1582848</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><?label 1?><mixed-citation>Broel-Plater, B., Jaroszewski,  K., and Dworak,  P.: Minimizing the Impact of
Non-Linear Stribeck Friction on Positioning of a Servo Drive, in:
Proceedings of the 2018 23rd International Conference on Methods &amp; Models
in Automation &amp; Robotics (MMAR), 27–30 August 2018, Miedzyzdroje, Poland, 870–875, <ext-link xlink:href="https://doi.org/10.1109/MMAR.2018.8486112" ext-link-type="DOI">10.1109/MMAR.2018.8486112</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><?label 1?><mixed-citation>Canudas de Wit, C., Olsson,  H., Astrom,  K. J., and  Lischinsky, P.: A new model
for control of systems with friction, IEEE T. Autom.
Control, 40, 419–425, <ext-link xlink:href="https://doi.org/10.1109/9.376053" ext-link-type="DOI">10.1109/9.376053</ext-link>,1995.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><?label 1?><mixed-citation>Cavallo, A., Natale,  C., Pirozzi, S., Visone, C., and Formisano, A.:
Feedback Control Systems for Micro-positioning Tasks with Hysteresis
Compensation,  IEEE T. Magn., 40, 876–879,
<ext-link xlink:href="https://doi.org/10.1109/TMAG.2004.824777" ext-link-type="DOI">10.1109/TMAG.2004.824777</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><?label 1?><mixed-citation>Chen, D., Yao,  F., and Chai,  S.: Sliding Mode Control with Observer for PMSM
Based on Stribeck Friction Model, in: Proceedings of the 2016 Chinese
Control and Decision Conference, 28–30 May 2016, Hangzhou, Zhejiang,
469–472, <ext-link xlink:href="https://doi.org/10.1109/CCDC.2016.7531746" ext-link-type="DOI">10.1109/CCDC.2016.7531746</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><?label 1?><mixed-citation>Ciliza, M. K. and Tomizuka, M.: Friction modelling and compensation
for motion control using hybrid neural network models,  Eng.
Appl. Artif. Intell., 20, 898–911, <ext-link xlink:href="https://doi.org/10.1016/j.engappai.2006.12.007" ext-link-type="DOI">10.1016/j.engappai.2006.12.007</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><?label 1?><mixed-citation>Fergani, S., Allias, J. F., Briere, Y., and Defay, F.: A novel structure design
and control strategy for an aircraft active sidestick, in: Proceedings of
the 2016 24th Mediterranean Conference on Control and Automation (MED), 21–24 June 2016,
Athens, Greece, 1114–1119, <ext-link xlink:href="https://doi.org/10.1109/MED.2016.7536014" ext-link-type="DOI">10.1109/MED.2016.7536014</ext-link>,
2016.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><?label 1?><mixed-citation>Freidovich, L., Robertsson,  A., Shiriaev,  A., and Johansson, R.:
LuGre-Model-Based Friction Compensation,  IEEE T. Contr.
Syst. T., 18, 194–200, <ext-link xlink:href="https://doi.org/10.1109/TCST.2008.2010501" ext-link-type="DOI">10.1109/TCST.2008.2010501</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><?label 1?><mixed-citation>
Hutton, R. J., Flach, J. M., Brickman, B. J., Hettinger, L. J., Haas, M.,
and Russell, C. T.: Keeping in touch: kinesthetic-tactile information and
fly-by-wire, in: Proceedings of the 38th Annual Meeting of the Human Factors
and Ergonomics Society, 24–28 October 1994, Nashville, TN, 26–30, 1994.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><?label 1?><mixed-citation>
Ishikawa, J., Tei,  S., Hoshino,  D., Izutsu,  M., and  Kamamichi, N.: Friction compensation based on the LuGre friction model, in: Proceedings
of SICE Annual Conference 2010, 18–21 August 2010, Taipei, Taiwan, 2010.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><?label 1?><mixed-citation>Iwasaki, M., Shibata,  T., and Matsui, N.: Disturbance-observer-based nonlinear
friction compensation in table drive system,  IEEE-ASME T.
Mech., 4, 3–8, <ext-link xlink:href="https://doi.org/10.1109/3516.752078" ext-link-type="DOI">10.1109/3516.752078</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><?label 1?><mixed-citation>Lichun, B. and Pavelescu, D.: The friction-speed relation and its influence on
the critical velocity of stick-slip motion, J. Wear, 82, 277–289, <ext-link xlink:href="https://doi.org/10.1016/0043-1648(82)90223-x" ext-link-type="DOI">10.1016/0043-1648(82)90223-x</ext-link>, 1982.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><?label 1?><mixed-citation>Liu, D.: Genetic Algorithms Based Parameter Identification for Nonlinear Mechanical Servo Systems, in: Proceedings of the 2006 1ST IEEE Conference on Industrial
Electronics and Applications, 24–26 May 2006, Singapore, Singapore, 1–5,
<ext-link xlink:href="https://doi.org/10.1109/ICIEA.2006.257322" ext-link-type="DOI">10.1109/ICIEA.2006.257322</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><?label 1?><mixed-citation>Márton, L. and Lantos, B.: Control of mechanical systems
with Stribeck friction and backlash, Syst. Control Lett., 58,
141–147, <ext-link xlink:href="https://doi.org/10.1016/j.sysconle.2008.10.001" ext-link-type="DOI">10.1016/j.sysconle.2008.10.001</ext-link>, 2009.</mixed-citation></ref>
      <?pagebreak page204?><ref id="bib1.bib17"><label>17</label><?label 1?><mixed-citation>Prachyabrued, M. and Robert, O. P.: Development of Attack
Helicopter Simulator, in: Proceedings of the 2018 5th Asian Conference on
Defense Technology (ACDT), 25–27 October 2018, Hanoi, Vietnam, 31–36,
<ext-link xlink:href="https://doi.org/10.1109/ACDT.2018.8592944" ext-link-type="DOI">10.1109/ACDT.2018.8592944</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><?label 1?><mixed-citation>Rinaldi, P. and Beckham, K.: Digital Control Loading – a Modular Approach, in:
Proceedings of the 1983 American Control Conference,
22–24 June 1983, San Francisco, CA, USA, 269–273, <ext-link xlink:href="https://doi.org/10.23919/ACC.1983.4788224" ext-link-type="DOI">10.23919/ACC.1983.4788224</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><?label 1?><mixed-citation>Wang, H., Sun, Y., and Tian, Y.: Mechanical Structure Design and Robust
Adaptive Integral Backstepping Cooperative Control of a New Lower Back
Exoskeleton,  Stud. Inform. Control, 28, 133–146, <ext-link xlink:href="https://doi.org/10.24846/v28i2y201902" ext-link-type="DOI">10.24846/v28i2y201902</ext-link>, 2019.
</mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bib20"><label>20</label><?label 1?><mixed-citation>Xu, J., Qiao, M., Wang, W., and Miao, Y.: Fuzzy PID control for AC
servo system based on Stribeck friction model, in: Proceedings of the 2011
6th International Forum on Strategic Technology, 22–24
August 2011, Harbin, Heilongjiang, 706–711, <ext-link xlink:href="https://doi.org/10.1109/IFOST.2011.6021121" ext-link-type="DOI">10.1109/IFOST.2011.6021121</ext-link>, 2011.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Dynamic parameters identification of a haptic interface for a helicopter flight simulator</article-title-html>
<abstract-html><p>The haptic interface force feedback is one of the key
factors for a reliable flight simulation. This paper addresses the design
and control implementation of a simple joystick-like haptic interface to be
used for a helicopter flight simulator. The expression of the haptic
interface force is obtained by dynamic analysis of the haptic interface
operation. This paper proposes a new strategy aiming at avoiding the use of
an expansive and complex force/torque sensor. Accordingly, specific dynamic
model is implemented by including Stribeck friction to describe the friction
moment. Experimental data are processed as based on a genetic algorithm for
identifying the dynamic parameters in the Stribeck friction model. This
allows to obtain the friction moment parameters of the haptic interface, as
well as the torque distribution due to gravity and the rotational inertia
parameters of the haptic interface for the calculation of the haptic
interface force. Experimental tests are carried out and results are used to
validate the proposed dynamic model and dynamic parameter identification
method and demonstrate the effectiveness of the proposed force feedback
while using a cheap photoelectric sensor instead of an expansive
force/torque sensor.</p></abstract-html>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
Azizi, Y. and Yazdizadeh, A.: Passivity-based adaptive control of
a 2-DOF serial robot manipulator with temperature dependent joint frictions,
Int. J. Adapt. Control, 33,
512–526, <a href="https://doi.org/10.1002/acs.2968" target="_blank">https://doi.org/10.1002/acs.2968</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
Balogh, A. and Krstic, M.: Stability of partial difference equations
governing control gains in infinite-dimensional backstepping,  Syst.
Control Lett., 51, 151–164, <a href="https://doi.org/10.1016/S0167-6911(03)00222-6" target="_blank">https://doi.org/10.1016/S0167-6911(03)00222-6</a>,
2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
Bona, B. and Indri, M.: Friction Compensation in Robotics: an Overview, in:
Proceedings of the 44th IEEE Conference on Decision and Control, 15 December 2005, Seville,
Spain, 4360–4367, <a href="https://doi.org/10.1109/CDC.2005.1582848" target="_blank">https://doi.org/10.1109/CDC.2005.1582848</a>, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
Broel-Plater, B., Jaroszewski,  K., and Dworak,  P.: Minimizing the Impact of
Non-Linear Stribeck Friction on Positioning of a Servo Drive, in:
Proceedings of the 2018 23rd International Conference on Methods &amp; Models
in Automation &amp; Robotics (MMAR), 27–30 August 2018, Miedzyzdroje, Poland, 870–875, <a href="https://doi.org/10.1109/MMAR.2018.8486112" target="_blank">https://doi.org/10.1109/MMAR.2018.8486112</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
Canudas de Wit, C., Olsson,  H., Astrom,  K. J., and  Lischinsky, P.: A new model
for control of systems with friction, IEEE T. Autom.
Control, 40, 419–425, <a href="https://doi.org/10.1109/9.376053" target="_blank">https://doi.org/10.1109/9.376053</a>,1995.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
Cavallo, A., Natale,  C., Pirozzi, S., Visone, C., and Formisano, A.:
Feedback Control Systems for Micro-positioning Tasks with Hysteresis
Compensation,  IEEE T. Magn., 40, 876–879,
<a href="https://doi.org/10.1109/TMAG.2004.824777" target="_blank">https://doi.org/10.1109/TMAG.2004.824777</a>, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
Chen, D., Yao,  F., and Chai,  S.: Sliding Mode Control with Observer for PMSM
Based on Stribeck Friction Model, in: Proceedings of the 2016 Chinese
Control and Decision Conference, 28–30 May 2016, Hangzhou, Zhejiang,
469–472, <a href="https://doi.org/10.1109/CCDC.2016.7531746" target="_blank">https://doi.org/10.1109/CCDC.2016.7531746</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
Ciliza, M. K. and Tomizuka, M.: Friction modelling and compensation
for motion control using hybrid neural network models,  Eng.
Appl. Artif. Intell., 20, 898–911, <a href="https://doi.org/10.1016/j.engappai.2006.12.007" target="_blank">https://doi.org/10.1016/j.engappai.2006.12.007</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
Fergani, S., Allias, J. F., Briere, Y., and Defay, F.: A novel structure design
and control strategy for an aircraft active sidestick, in: Proceedings of
the 2016 24th Mediterranean Conference on Control and Automation (MED), 21–24 June 2016,
Athens, Greece, 1114–1119, <a href="https://doi.org/10.1109/MED.2016.7536014" target="_blank">https://doi.org/10.1109/MED.2016.7536014</a>,
2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
Freidovich, L., Robertsson,  A., Shiriaev,  A., and Johansson, R.:
LuGre-Model-Based Friction Compensation,  IEEE T. Contr.
Syst. T., 18, 194–200, <a href="https://doi.org/10.1109/TCST.2008.2010501" target="_blank">https://doi.org/10.1109/TCST.2008.2010501</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
Hutton, R. J., Flach, J. M., Brickman, B. J., Hettinger, L. J., Haas, M.,
and Russell, C. T.: Keeping in touch: kinesthetic-tactile information and
fly-by-wire, in: Proceedings of the 38th Annual Meeting of the Human Factors
and Ergonomics Society, 24–28 October 1994, Nashville, TN, 26–30, 1994.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
Ishikawa, J., Tei,  S., Hoshino,  D., Izutsu,  M., and  Kamamichi, N.: Friction compensation based on the LuGre friction model, in: Proceedings
of SICE Annual Conference 2010, 18–21 August 2010, Taipei, Taiwan, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
Iwasaki, M., Shibata,  T., and Matsui, N.: Disturbance-observer-based nonlinear
friction compensation in table drive system,  IEEE-ASME T.
Mech., 4, 3–8, <a href="https://doi.org/10.1109/3516.752078" target="_blank">https://doi.org/10.1109/3516.752078</a>, 1999.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
Lichun, B. and Pavelescu, D.: The friction-speed relation and its influence on
the critical velocity of stick-slip motion, J. Wear, 82, 277–289, <a href="https://doi.org/10.1016/0043-1648(82)90223-x" target="_blank">https://doi.org/10.1016/0043-1648(82)90223-x</a>, 1982.
</mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
Liu, D.: Genetic Algorithms Based Parameter Identification for Nonlinear Mechanical Servo Systems, in: Proceedings of the 2006 1ST IEEE Conference on Industrial
Electronics and Applications, 24–26 May 2006, Singapore, Singapore, 1–5,
<a href="https://doi.org/10.1109/ICIEA.2006.257322" target="_blank">https://doi.org/10.1109/ICIEA.2006.257322</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
Márton, L. and Lantos, B.: Control of mechanical systems
with Stribeck friction and backlash, Syst. Control Lett., 58,
141–147, <a href="https://doi.org/10.1016/j.sysconle.2008.10.001" target="_blank">https://doi.org/10.1016/j.sysconle.2008.10.001</a>, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
Prachyabrued, M. and Robert, O. P.: Development of Attack
Helicopter Simulator, in: Proceedings of the 2018 5th Asian Conference on
Defense Technology (ACDT), 25–27 October 2018, Hanoi, Vietnam, 31–36,
<a href="https://doi.org/10.1109/ACDT.2018.8592944" target="_blank">https://doi.org/10.1109/ACDT.2018.8592944</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
Rinaldi, P. and Beckham, K.: Digital Control Loading – a Modular Approach, in:
Proceedings of the 1983 American Control Conference,
22–24 June 1983, San Francisco, CA, USA, 269–273, <a href="https://doi.org/10.23919/ACC.1983.4788224" target="_blank">https://doi.org/10.23919/ACC.1983.4788224</a>, 1983.
</mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
Wang, H., Sun, Y., and Tian, Y.: Mechanical Structure Design and Robust
Adaptive Integral Backstepping Cooperative Control of a New Lower Back
Exoskeleton,  Stud. Inform. Control, 28, 133–146, <a href="https://doi.org/10.24846/v28i2y201902" target="_blank">https://doi.org/10.24846/v28i2y201902</a>, 2019.

</mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
Xu, J., Qiao, M., Wang, W., and Miao, Y.: Fuzzy PID control for AC
servo system based on Stribeck friction model, in: Proceedings of the 2011
6th International Forum on Strategic Technology, 22–24
August 2011, Harbin, Heilongjiang, 706–711, <a href="https://doi.org/10.1109/IFOST.2011.6021121" target="_blank">https://doi.org/10.1109/IFOST.2011.6021121</a>, 2011.
</mixed-citation></ref-html>--></article>
