Control of the four-cable-driven parallel robot with the help of the inverse kinematic model* Fadeev Mikhail Maloletov Alexander Innopolis University Innopolis University Innopolis, Russia Innopolis, Russia m.fadeew@gmail.com a.maloletov@innopolis.ru Abstract 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. 1 Introduction Cable robots are one of the types parallel structure manipulators and have several advantages compared to other types of robots, such as: • low energy consumption; • low material consumption; • the ability to widely expand the working space of the robot; • high speeds of movement. Today, thanks to its merits, cable robots are gaining popularity around the world. They find application for: • television and film [1]; • assembly [2]; • coloring of large-sized products [3]; • 3D printing of large objects [4]; • motion simulators [5] • and in other tasks. For complete control of the position and orientation of the end effector in space, 6 or more cables are needed. Cable robots with fewer flexible connections can only control the position, but not the orientation of the working body, which in some tasks is sufficient. At the same time, controlling a robot with an insufficient number of control actions is a more difficult task. In the previous works of the team, problems related to calculating the control action for positioning the working body of a parallel four-cable robot were considered taking into account the design features of this model, namely, guide rollers and winding mechanisms [6, 7], the analysis of the results and errors of the control system was performed a mobile platform *Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). of a cable robot and methods for their compensation have been developed [8, 9]. The current work presents the results of experimental studies of the control algorithm, its capabilities and features. Figure 1: A prototype of cable robot 2 Robot 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 Table 1: Electronic components of a cable robot NJ501-1300 NJ-Series Universal Machine Controller CPU module, 20MB of program memory, 4MB of non- stored data memory, 2MB of stored data memory, up to 40 CJ I/O modules, up to 16 axes, 1 x USB2.0, 1 x 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 R88D-KN15F-ECT G5 Series Servo Drive, 1.5kW, 3x400V, EtherCAT Control 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 NJ-PD3001 Power Supply Module for NJ Series Universal Machine Controller, 24VDC, 30W, 5VDC / 6A, 24VDC / 1A 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). 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. Table 2: Design characteristics of electromechanical winches Reduction ratio 30:1 Servo rated speed 3000 rpm Maximum drum rotation speed 100 rpm Drum diameter 100 mm Maximum linear cable speed 523 mm/sec Cable effort at rated torque 194 kg Table 3: Cable exit points in the adopted coordinate system taking into account rotating blocks Coordinate \ cable 0 1 2 3 X, mm 4366,35 -4435,848 -4433,995 4368,262 Y, mm -1943,798 -1950,001 1948,413 1942,21 Z, mm 2893,303 2894,382 2896,691 2896,331 Figure 2: The end effector is a tank with a feed mechanism and laser tracker FARO, (left); winding mechanism (center); scheme of winding mechanism (right) 2.1 Kinematic model 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: 𝐿 = 𝑟(𝜋 − 𝛾) + √(ξ𝐴 − ξ𝐵 )2 + (η𝐴 − η𝐵 )2 + (ζ𝐴 − ζ𝐵 )2 Figure 3: Diagram of a swivel guide roller (left), diagram for determining the direction of the cable in the horizontal plane (right) Figure 3 shows the design diagrams of the upper guide roller and the winding mechanism, according to which the cable length L is determined from the point Ci to the point Ai which indicates the point of attachment of the cable to the working body: ξ𝐴 − ξ𝐶 cos(𝛽) = √(ξ𝐴 − ξ𝐶 )2 + (η𝐴 + η𝐶 )2 η𝐴 − η𝐶 sin(𝛽) = √(ξ𝐴 − ξ𝐶 )2 + (η𝐴 + η𝐶 )2 r cos(𝜀) = √(ξ𝐴 − ξ∗𝐶 )2 + (η𝐴 − η∗𝐶 )2 + (ζ𝐴 − ζ∗𝐶 )2 √(ξ𝐴 − ξ∗𝐶 )2 + (η𝐴 + η∗𝐶 )2 sin(𝛿) = √(ξ𝐴 − ξ∗𝐶 )2 + (η𝐴 − η∗𝐶 )2 + (ζ𝐴 − ζ∗𝐶 )2 𝛾 =𝜀−𝛿 ξ𝐵 ξ∗𝐶 𝑟 cos(𝛾) cos(𝛽) [η𝐵 ] = [η∗𝐶 ] + [ 𝑟 cos(𝛾) sin(𝛽) ] ζ𝐵 ζ∗𝐶 𝑟 sin (𝛾) The expression for the rotation angle of each of the drums, taking into account the design of the winding mechanism: 𝐿 − 𝐻 − 𝐿0 𝜗= 𝑅 𝐿 − 𝐿0 𝜗′ = ; 𝑅 𝜗′ ℎ(𝐿 − 𝐿0 ) 𝐻=ℎ = 2𝜋 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 Motion control 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: (𝑝𝑛,𝑖 − 𝑝𝑛,0 ) ki = √(𝑝𝑛,𝑥 − 𝑝0,𝑥 )2 + (𝑝𝑛,𝑦 − 𝑝0,𝑦 )2 + (𝑝𝑛,𝑧 − 𝑝0,𝑧 )2 𝑎𝑎𝑐𝑐,𝑖 = 𝑘𝑖 𝑎𝑎𝑐𝑐 𝑣𝑚𝑎𝑥,𝑖 = 𝑘𝑖 𝑣𝑚𝑎𝑥 𝑎𝑑𝑒𝑐,𝑖 = 𝑘𝑖 𝑎𝑑𝑒𝑐 𝑖 ∈ {𝑥, 𝑦, 𝑧} pn – endpoint of the robot; p0 – point where the robot moves; aacc – acceleration of speed gain; vmax – maximum linear speed; adec – deceleration during braking. After that, the sequence of coordinates of points on the trajectory is calculated with a step of 4 ms in time: Si,j = √(𝑝𝑛,𝑥 − 𝑝𝑗,𝑥 )2 + (𝑝𝑛,𝑦 − 𝑝𝑗,𝑦 )2 + (𝑝𝑛,𝑧 − 𝑝𝑗,𝑧 )2 𝑣𝑖,𝑗 = 𝑣𝑖,𝑖−1 + 𝑎𝑎𝑐𝑐,𝑖 𝜏 |𝑣𝑗 |2 {𝑝 = 𝑝 ; 𝑣𝑖,𝑗 < 𝑣𝑚𝑎𝑥,𝑖 , 𝑆𝑖,𝑗 > 𝑖,𝑗 𝑖,𝑗−1 + 𝑣𝑖,𝑗 𝜏 2𝑎𝑑𝑒𝑐 𝑣𝑖,𝑗 = 𝑣𝑚𝑎𝑥,𝑖 |𝑣𝑗 |2 {𝑝 = 𝑝 ; 𝑣𝑖,𝑗 = 𝑣𝑚𝑎𝑥,𝑖 , 𝑆𝑖,𝑗 > 𝑖,𝑗 𝑖,𝑗−1 + 𝑣𝑚𝑎𝑥,𝑖 𝜏 2𝑎𝑑𝑒𝑐 𝑣𝑖,𝑗 = 𝑣𝑖,𝑖−1 − 𝑎𝑑𝑒𝑐,𝑖 𝜏 |𝑣𝑗 |2 {𝑝 = 𝑝 + 𝑣 𝜏; 𝑆𝑖,𝑗 ≤ { 𝑖,𝑗 𝑖,𝑗−1 𝑖,𝑗 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. 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 Robot control system structure The robot control system consists of three main modules: an operator panel, computer, and controller. The interaction between them is via the EtherNet/IP bus (Figure 4). 2.3.1 Operator panel 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. 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 Computer 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 Controller 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 Signal processing from the operator panel To process signals from the operator panel, two subprograms are implemented in the controller: • 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. • 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 Processing signals from a computer When controlling the robot from a computer, the calculations made on the controller are minimized. It performs the following three functions: • 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; • 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 3 Experiments 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. Figure 5: Graphs of the length of the deviation vector for the value of the Z axis 0 (first row), 400 (second row) and 800 (third row), for the mass of the end effector 5 kg (left column), 17 kg (center column) and 33 kg (right column) Figure 6: Graphs of the length of the deviation vector for the value of the Z axis 1000 (first row) and 1200 (second row), for the mass of the end effector 5 kg (left column), 17 kg (center column) and 33 kg (right column) Table 4: Experimental results The length of the maximum deviation The average length of the deviation The weight of the working body, kg vector from the given position, mm vector from the given position, mm 5 178.043685 81.170893 17 148.114591 67.009629 33 125.400091 63.558832 4 Conclusion 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. 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. 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. References 1. J.H. Timmer Arends, K.H.J. Voss, W.B.J. Hakvoort, R.G.K.M. Aarts. Calibration of a Six DOF Flexure-based Parallel Manipulator { Proceedings of the 8th ECCOMAS Thematic Conference on Multibody Dynamics 2017 (Prague, June 19-22, 2017) Editors: M. Valasek [et al.]; Czech Technical University in Prague, Faculty of Mechanical Engineering [et al.]. – Prague, 2017. – P. 199-211. 2. D. Q. Nguyen, M. Gouttefarde, O. Company, F. Pierrot. On the analysis of large-dimension reconfigurable suspended cable-driven parallel robots { Robotics and Automation (ICRA), IEEE International Conference on ‒IEEE, 2014. ‒ P. 5728-5735. 3. Gagliardini L., Caro S., Gouttefarde M., Wenger P., Girin A. A reconfigurable cable-driven parallel robot for sandblasting and painting of large structures { Cable-Driven Parallel Robots: Springer, 2015. ‒ P. 275-291. 4. J.-B. Izard, A. Dubor, P.-E. Hervé, E. Cabay, D. Culla, M. Rodriguez, M. Barrado. On the Improvements of a Cable- Driven Parallel Robot for Achieving Additive Manufacturing for Construction { Cable-Driven Parallel Robots: Springer, 2018. ‒ P. 353-363. 5. K. Usher, G. Winstanley, R. Carnie. Air vehicle simulator: an application for a cable array robot { Robotics and Automation, ICRA. Proceedings of the IEEE International Conference on ‒IEEE, 2005. ‒ P. 2241-2246. 6. М.Ю. Фадеев, А.В. Малолетов. Управление параллельным четырехтросовым роботом с помощью обратной кинематической модели { В сборнике: XXX Международная инновационная конференция молодых ученых и студентов (МИКМУС - 2018) Сборник трудов конференции. ‒ 2019. ‒ С. 696-699. 7. А.В. Малолетов, А.С. Климчик, К.В. Костенко. Учет конструкций направляющих роликов и механизмов намотки при управлении движением тросового робота { Известия Волгоградского государственного технического университета. - 2018. - № 13 (223). - С. 113-119. 8. A.V.Maloletov, M.Y. Fadeev, A.S. Klimchik. 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, August 28-30, 2019) – in print. 9. А.В.Малолетов, М.Ю.Фадеев, А.С.Климчик. Анализ ошибок позиционирования неполноприводного тросового робота и методы их компенсации { XII Всероссийский съезд по фундаментальным проблемам теоретической и прикладной механики (Уфа, 19 - 24 августа 2019 г.) – in print. 10. C. Gosselin, P. Cardou, T. Bruckmann, A. Pott. Cable-Driven Parallel Robots: Proceedings of the Third International Conference on Cable-Driven Parallel Robots (Mechanisms and Machine Science) { Volume 53 Via Di Biasio 43, 03043 Cassino (Fr), Italy, Jan 1 2018 11. M. Ceccarelli, T. Bruckmann, A. Pott Mechanisms and Machine Science { Volume 12, New York Dordrecht London 2013 12. M. Ceccarelli A. Pott T. Bruckmann Cable-Driven Parallel Robots { Proceedings of the Second International Conference on Cable-Driven Parallel Robots, Cassino, Italy, 2015