<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Control of the four-cable-driven parallel robot with the help of the inverse kinematic model*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fadeev Mikhail</string-name>
          <email>m.fadeew@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maloletov Alexander</string-name>
          <email>a.maloletov@innopolis.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Innopolis University</institution>
          ,
          <addr-line>Innopolis</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this work, we consider the solution of the problem of inverse kinematics and software implementation of the control algorithm for a four-cable robot with a parallel structure. The control algorithm takes into account the design features of the cable winding mechanisms of the prototype cable robot developed at Innopolis University. The control system of the cable robot prototype is based on the OMRON controller. In this work, we describe the structure of the control system. We consider an experimental measurement method of the accuracy of the position of a mobile platform. The data obtained during testing are presented and analyzed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        of a cable robot and methods for their compensation have been developed [
        <xref ref-type="bibr" rid="ref7 ref8">8, 9</xref>
        ]. The current work presents the results of
experimental studies of the control algorithm, its capabilities and features.
      </p>
      <p>The prototype of a cable robot (Figure 1), developed at Innopolis University together with ARCODIM, is a modular
reconfigurable system with four controllable winches and allows up to 12 winches at the nodes of the frame points. The
control system is based on the components of Omron firms (Table 1). As a working body, a 24-liter tank was installed
with a mechanical sand feed valve (Figure 2). The winding mechanism consists of vertically arranged tanks with a radius
NJ501-1300 NJ-Series Universal Machine Controller CPU module, 20MB of program memory, 4MB of
nonstored data memory, 2MB of stored data memory, up to 40 CJ I/O modules, up to 16 axes, 1 x USB2.0, 1 x</p>
      <sec id="sec-1-1">
        <title>EtherNet/IP, 1 x EtherCAT , 1 x SD card slot NB7W-TW01B Touchscreen operator panel of the NB series, diagonal 7”, TFT, 65535 colors, resolution 800x480 pixels, 1x RS-232C port, 1 x RS-232C / RS-422 / RS-485 port, Ethernet, 128 MB memory, USB, USB host, 24VDC power</title>
      </sec>
      <sec id="sec-1-2">
        <title>R88D-KN15F-ECT G5 Series Servo Drive, 1.5kW, 3x400V, EtherCAT Control</title>
      </sec>
      <sec id="sec-1-3">
        <title>R88M-K1K030F-S2 Servo motor G5 series, without brake, 1kW, 400V, 3.18Nm, 3000 rpm S8VK-C12024 S8VK-C series switching power supply, power 120 W, input voltage 240 ~ B, 350 = B, input current 4.8 A, output voltage 24 V, output current 5 A, frequency 50/60 Hz (47. .450 Hz), overload protection, overvoltage protection</title>
        <p>NJ-PD3001 Power Supply Module for NJ Series Universal Machine Controller, 24VDC, 30W, 5VDC / 6A,
24VDC / 1A</p>
      </sec>
      <sec id="sec-1-4">
        <title>Reduction ratio</title>
      </sec>
      <sec id="sec-1-5">
        <title>Servo rated speed</title>
      </sec>
      <sec id="sec-1-6">
        <title>Maximum drum rotation speed</title>
      </sec>
      <sec id="sec-1-7">
        <title>Drum diameter</title>
      </sec>
      <sec id="sec-1-8">
        <title>Maximum linear cable speed</title>
      </sec>
      <sec id="sec-1-9">
        <title>Cable effort at rated torque</title>
      </sec>
      <sec id="sec-1-10">
        <title>Coordinate \ cable X, mm Y, mm Z, mm</title>
        <p>0
4366,35
-1943,798
2893,303</p>
        <p>1
-4435,848
-1950,001
2894,382
of R = 0.048 m, the pitch of the helical groove on the tank h = 0.005 m and the feeding mechanism in the form of a
movable roller kinematically connected with the tank (Figure 2).</p>
        <p>Servo motors are equipped with gearboxes with a gear ratio of 30:1. The torque from the gearbox is transmitted via
a toothed belt to a cable winding drum with a diameter of 100mm. The design characteristics of electromechanical
winches are given in Table 2.</p>
        <p>Since the control action is the angle of rotation of the servomotor. To control robots in the Cartesian coordinate
system associated with the robot frame, it is necessary to find the cable lengths necessary for the desired coordinate,
which in turn are directly proportional to the angle of rotation of the drum. For these calculations, this kinematic model is
used:</p>
        <p>=  ( −  ) + √(ξ − ξ )2 + (η − η )2 + (ζ − ζ )2
√(ξ − ξ∗ )2 + (η − η∗ )2 + (ζ − ζ∗ )2</p>
        <p>The expression for the rotation angle of each of the drums, taking into account the design of the winding
mechanism:</p>
        <p>=  − 
ξ

ζ

[η ] = [η∗ ] + [ cos( ) sin( )]
 cos( ) cos( )</p>
        <p>sin ( )
ξ

ζ

∗
∗
 =
 ′ =
 −  −  0


 −  0</p>
        <p>;
 = ℎ</p>
        <p>=
 ′
2
ℎ( −  0)
2
r – radius of the guide roller; L0 – cable length at the moment the working body is at the point (0; 0; 0); R – cylinder
diameter; h – winding pitch; the meaning of the angles β, ε, γ, δ – explained on the design scheme (Figure 3).
2.2</p>
        <sec id="sec-1-10-1">
          <title>Motion control</title>
          <p>To move the working body from one given position to another with a smooth set of speed and smooth
deceleration, the following algorithm is implemented. Acceleration for acceleration, maximum linear speed and negative
acceleration for the braking stage are transmitted as input. Their projections on the axis of the coordinate system are
calculated:
ki =</p>
          <p>(  , −   ,0)
√(  , −  0, )2 + (  , −  0, )2 + (  , −  0, )2
  , =    
 
, =</p>
          <p>, =</p>
          <p>∈ { ,  ,  }
pn – endpoint of the robot; p0 – point where the robot moves; aacc – acceleration of speed gain; vmax – maximum linear
speed; adec – deceleration during braking.</p>
          <p>After that, the sequence of coordinates of points on the trajectory is calculated with a step of 4 ms in time:</p>
          <p>Si,j = √(  , −   , )2 + (  , −   , )2 + (  , −   , )2
{
{
  , =   , −1 +  
  , =   , −1 +   , 
  , =</p>
          <p>,
  , =   , −1 +  
;
,</p>
          <p>;
  , =   , −1 −  
{   , =   , −1 +   ,  ;
{
,</p>
          <p>,

  , &lt;</p>
          <p>, ,   , &gt;
  , =  
, ,   , &gt;
  , ≤
|  |</p>
          <p>2
2 
|  |
2 
|  |
2
2
2 
 ∈ { ,  ,  };  ∈ [0;  ]
S – distance from the current position of the robot to the final point of movement of the robot; v (i, j) – velocity at point j
along the coordinate i; τ – period of the controller.</p>
          <p>The calculations are performed in the developed algorithmic software implemented in the Go programming
language. The calculated values of the rotation angles of the winch drums are sent using the FINS protocol every 4ms to
the robot controller in 16-byte packets, ensuring the working body is moved to the desired position.
2.3</p>
        </sec>
        <sec id="sec-1-10-2">
          <title>Robot control system structure</title>
          <p>interaction between them is via the EtherNet/IP bus (Figure 4).
2.3.1</p>
        </sec>
        <sec id="sec-1-10-3">
          <title>Operator panel</title>
          <p>The robot control system consists of three main modules: an operator panel, computer, and controller. The
It is a 7-inch touch screen with an internal programmable module, which allows you to implement a user
interface and send commands to the robot controller.</p>
          <p>The current software implementation allows to send commands to the controller for control the power of
servomotors, performing rotation of each of the robot motor independent, and moving in the coordinate plane associated
with the robot frame according to a simplified model.
2.4</p>
        </sec>
        <sec id="sec-1-10-4">
          <title>Computer</title>
          <p>A personal computer with running proprietary software. Which has the ability to send commands to the controller,
both to control each motor separately, and all at the same time, it is also possible to read the readings of the encoders of
each motor and control the power of the motors.
2.4.1</p>
        </sec>
        <sec id="sec-1-10-5">
          <title>Controller</title>
          <p>NJ501-1300 NJ-Series Universal Machine Controller CPU module manufactured by OMRON, executes
computer commands. and processing input signals from the operator panel. In addition, due to the fact that the encoders
of the motors do not have their own non-volatile memory, the controller implements integrated virtual encoders using the
internal non-volatile memory of the controller. This avoids the calibration of the robot at each start.
2.4.1.1</p>
        </sec>
      </sec>
      <sec id="sec-1-11">
        <title>Signal processing from the operator panel</title>
      </sec>
      <sec id="sec-1-12">
        <title>To process signals from the operator panel, two subprograms are implemented in the controller:</title>
        <p>•
•</p>
        <p>Manual control of the rotation of each of the servomotors, while the controller receives the drive
number and direction, rotation always occurs at a constant speed specified in the program. It is also
possible to rotate the motor in the direction of winding the cable to a specific indicator of the current
consumption of the motor, this algorithm allows you to pre-tension before calibration. The algorithm is
implemented both for working with one engine, and with all at the same time.</p>
        <p>Movement in the coordinate plane according to the simplified kinematic model. In this case, the rotary
mechanisms, rollers and the winding mechanism are neglected. The algorithm is integral, which does
not allow you to specify the end point of the motion path, but allows you to use the robot offset in the
form of an input signal, which is more preferable when using the touch panel. Its main purpose is to
provide the operator with the opportunity to change the position of the working fluid without using a
personal computer.
2.4.1.2</p>
      </sec>
      <sec id="sec-1-13">
        <title>Processing signals from a computer</title>
        <p>When controlling the robot from a computer, the calculations made on the controller are minimized. It performs
the following three functions:
•
•
•</p>
        <p>Receives the desired angles of rotation of the engine from the computer and transfers them to the
drivers of the servomotors, taking into account the reduction coefficient;</p>
      </sec>
      <sec id="sec-1-14">
        <title>Executes computer commands related to providing power to various system components; Carries out monitoring of all-important indicators of the system and displays the system in error when one of them is critically changed. Figure 4: Robot control system structure</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Experiments</title>
      <p>After the implementation of the algorithm, measurements were made of the accuracy of the positioning of the
working body. The test was a measurement of 343 points located in the form of a 7x7x7 grid, the dimensions of the
measured area were equal to the dimensions of the working area of the robot and amounted to 7000x3000x1200 mm.
Also, 3 tests were carried out with different weights of the working body: 5kg 17kg and 33kg. For measurement, a FARO
laser tracker was used (Figure 2) with a stated accuracy of 20 microns ± 5 microns / m. The test results are presented in
table 4 and in figures 5 and 6.</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>As we can see from the graphs, the values of the length of the error vector are not equal throughout the work area.
Its increase from the center to the edges is clearly pronounced for the Z value of less than 800 mm, which is presumably
caused by the fact that in the border regions the influence of the sagging of the robot cables is most pronounced and
contributes to a decrease in positioning accuracy. It is also possible to observe a sharp increase in the deviation in the
central region for a value of Z greater than 800 mm, which is presumably caused by the influence of tensile forces on the
cables in this region.</p>
      <p>Also, from the results presented in table 4 it can be seen that the length of the deviation vector from a given position
decreases with increasing mass of the working body, which is supposedly due to the fact that the effect of sagging cables
with a large mass of the working body decreases.</p>
      <p>From all of the above, we can conclude that when using a cable robot in the boundary zones and in the central zone
for large values on the Z axis, the error and positioning error increase sharply, which makes it inappropriate to use this
model to perform work in these areas. But areas that are not critical for this type of robot, the model shows indicators that
are acceptable for use in most cases.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Timmer Arends</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.H.J.</given-names>
            <surname>Voss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.B.J.</given-names>
            <surname>Hakvoort</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.G.K.M. Aarts</surname>
          </string-name>
          .
          <article-title>Calibration of a Six DOF Flexure-based Parallel Manipulator {</article-title>
          <source>Proceedings of the 8th ECCOMAS Thematic Conference on Multibody Dynamics</source>
          <year>2017</year>
          (Prague, June 19-22,
          <year>2017</year>
          ) Editors:
          <string-name>
            <given-names>M.</given-names>
            <surname>Valasek</surname>
          </string-name>
          [et al.]; Czech Technical University in Prague, Faculty of Mechanical Engineering [et al.]. - Prague,
          <year>2017</year>
          . - P.
          <fpage>199</fpage>
          -
          <lpage>211</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D. Q.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gouttefarde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Company</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pierrot</surname>
          </string-name>
          .
          <article-title>On the analysis of large-dimension reconfigurable suspended cable-driven parallel robots { Robotics and Automation (ICRA)</article-title>
          ,
          <source>IEEE International Conference on ‒IEEE</source>
          ,
          <year>2014</year>
          . ‒ P.
          <fpage>5728</fpage>
          -
          <lpage>5735</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gagliardini</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caro</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gouttefarde</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wenger</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Girin</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>A reconfigurable cable-driven parallel robot for sandblasting and painting of large structures { Cable-Driven Parallel Robots</article-title>
          : Springer,
          <year>2015</year>
          . ‒ P.
          <fpage>275</fpage>
          -
          <lpage>291</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>J.-B. Izard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Dubor</surname>
            ,
            <given-names>P.-E.</given-names>
          </string-name>
          <string-name>
            <surname>Hervé</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Cabay</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Culla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rodriguez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Barrado</surname>
          </string-name>
          .
          <article-title>On the Improvements of a CableDriven Parallel Robot for Achieving Additive Manufacturing for Construction { Cable-Driven Parallel Robots</article-title>
          : Springer,
          <year>2018</year>
          . ‒ P.
          <fpage>353</fpage>
          -
          <lpage>363</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Usher</surname>
          </string-name>
          , G. Winstanley,
          <string-name>
            <given-names>R.</given-names>
            <surname>Carnie</surname>
          </string-name>
          .
          <article-title>Air vehicle simulator: an application for a cable array robot { Robotics and Automation, ICRA</article-title>
          .
          <source>Proceedings of the IEEE International Conference on ‒IEEE</source>
          ,
          <year>2005</year>
          . ‒ P.
          <fpage>2241</fpage>
          -
          <lpage>2246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. М.Ю. Фадеев, А.В. Малолетов.
          <article-title>Управление параллельным четырехтросовым роботом с помощью обратной кинематической модели { В сборнике: XXX Международная инновационная конференция молодых ученых и студентов (МИКМУС - 2018) Сборник трудов конференции</article-title>
          .
          <source>‒ 2019</source>
          . ‒
          <fpage>С</fpage>
          .
          <fpage>696</fpage>
          -
          <lpage>699</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Maloletov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.Y.</given-names>
            <surname>Fadeev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.S.</given-names>
            <surname>Klimchik</surname>
          </string-name>
          .
          <article-title>Error Analysis in Solving the Inverse Problem of the Cable-driven Parallel Underactuated Robot Kinematics and Methods for their Elimination { 9th IFAC Conference on Manufacturing Modelling, Management and Control (Berlin</article-title>
          ,
          <year>August</year>
          28-
          <issue>30</issue>
          ,
          <year>2019</year>
          )
          <article-title>- in print.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          9. А.В.Малолетов, М.Ю.Фадеев, А.С.Климчик.
          <article-title>Анализ ошибок позиционирования неполноприводного тросового робота и методы их компенсации { XII Всероссийский съезд по фундаментальным проблемам теоретической и прикладной механики (Уфа</article-title>
          ,
          <fpage>19</fpage>
          -
          <lpage>24</lpage>
          августа
          <year>2019</year>
          г.)
          <article-title>- in print.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          10.
          <string-name>
            <surname>C. Gosselin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Cardou</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Bruckmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Pott</surname>
          </string-name>
          .
          <source>Cable-Driven Parallel Robots: Proceedings of the Third International Conference on Cable-Driven Parallel Robots (Mechanisms and Machine Science) { Volume 53 Via Di Biasio</source>
          <volume>43</volume>
          , 03043 Cassino (Fr),
          <source>Italy, Jan</source>
          <volume>1</volume>
          2018
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          11.
          <string-name>
            <surname>M. Ceccarelli</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Bruckmann</surname>
            ,
            <given-names>A. Pott</given-names>
          </string-name>
          <string-name>
            <surname>Mechanisms</surname>
          </string-name>
          and Machine Science { Volume
          <volume>12</volume>
          , New York Dordrecht London 2013
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Ceccarelli A. Pott T. Bruckmann</surname>
          </string-name>
          Cable-Driven
          <source>Parallel Robots { Proceedings of the Second International Conference on Cable-Driven Parallel Robots</source>
          , Cassino, Italy,
          <year>2015</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>