1. Introduction
Cable-driven parallel robot (CDPR) is a parallel robot in which rigid links are substituted by cables in order to control the end-effector (EE) position and orientation, called pose. This substitution leads to advantages such as reconfigurability [Reference Gagliardini, Caro, Gouttefarde and Girin1], high payload to weight ratio, and large workspace besides ease of assembly, which are very useful for capturing videos or images in large zones with high precision [Reference Zare, Ghanatian, Yazdi and Masouleh2]. A CDPR is completely constrained when the pose of its EE can be entirely determined if actuators are locked, and thus, all cable lengths are known. On the contrary, a CDPR is under-constrained when the number of actuators is less than the degrees of freedom. In an under-constrained CDPR, EE’s pose is usually determined in the state in which the gravitational potential energy of the EE is minimized [Reference Carricato and Merlet3]; however, other solutions are possible. The inverse kinematic problem (IKP) consists of determining a vector of a joint variable for a prescribed pose of the EE. Determining the pose of EE from cable lengths is carried out by using the forward kinematics problem (FKP), in which its computation can be regarded as a troublesome drawback of under-constrained CDPRs. Several methods for calculating the FKP of parallel robots have been suggested, including numerical and analytical approaches. The problem can be simplified in several cases by identifying a set of algebraic equations which can be solved symbolically [Reference Carricato and Merlet4, Reference Bosscher, Williams, Bryson and Castro-Lacouture5]. Some algebraic formulations are obtained in some specific cases, resulting in polynomials of high degree which are extremely difficult to solve while also raising the computational cost. The direct geometric-static problem (DGP) is solved numerically for any kind of under-constrained CDPR, yielding all EE equilibrium configurations with a given geometry [Reference Abbasnejad and Carricato6].
Solving the latter problem is a time-consuming process and needs a high-performance computer for such a specific configuration of CDPRs. In ref. [Reference Zare, Haghighi, Yazdi, Kalhor and Masouleh7], a specific method for under-constrained CDPRs based on combining neural networks (NNs) with the DGP is introduced which facilitates the real-time control of the robot. There are several different categories of NNs, each with its own set of use cases and degrees of complexity. The feed-forward structure is the simplest kind of NN, in which data flow from input to output along one unique direction. The back propagation NN, which is trained with supervision and uses the gradient-descent approach to minimize the squared error between the network output and the target one, is the most significant NN used in the literature [Reference Medsker8]. Multilayer perceptron (MLP), the most popular network architecture, can be trained using specific input and output data, but even those which have not been trained can respond appropriately to a wide range of outputs. The first step in training a backpropagation MLP NN consists in choosing an appropriate NN architecture, which includes the hidden layers and the number of nodes for each layer. Cross-validation methods focused on the evaluation of error indices on various validation sets are used in particular to optimize the number of neurons while still preventing overfitting [Reference Gholipour, Araabi and Lucas9].
PD controllers usually are implemented to control CDPR [Reference Kawamura, Kino and Won10]. In order to improve the performance of these types of controllers, feed-forward terms are used to predict the dynamic behavior of EE [Reference Lamaury and Gouttefarde11, Reference Santos, Chemori and Gouttefarde12]. Recently, sliding mode control (SMC) has been considered for control of CDPR for different purposes [Reference Zeinali and Khajepour13, Reference El-Ghazaly, Gouttefarde and Creuze14]. This type of controller has a good performance against perturbations, but due to the use of the sign function, there are some discontinuities in the control input which cause the chattering phenomenon [Reference Utkin15]. To reduce chattering, higher-order and gain adaptive SMC methods have been developed and implemented on a CDPR [Reference Schenk, Masone, Pott and Bülthoff16]. Finally, a sliding mode/linear (SML) controller is developed that not only reduces chattering but also compensates energy [Reference Tahoumi, Plestan, Ghanes and Barbot17]. In ref. [Reference Picard, Tahoumi, Plestan, Caro and Claveau18], the SML, a simple PD controller, and PD controller with a feed-forward term compensating the EE mass were experimentally compared. In ref. [Reference Bayani, Masouleh and Kalhor19], a vision-based position control of planar CDPRs was experimentally implemented, and an online image processing procedure is developed for tracking the EE position. In ref. [Reference Bahrami, Kalhor and Masouleh20], an adaptive NN-based controller for a passive planar robot was investigated to drive serial robot links to track the desired reference model by the EE. In recent years, CDPRs have been used for rehabilitation purposes [Reference Khomami and Najafi21, Reference Youssef, Soliman, Saleh, Mousa, Elsamanty and Radwan22]. In ref. [Reference Bahrami, Kalhor and Masouleh23], for rehabilitation purposes, especially arm disability, a feedback linearization approach is developed for maintaining tension in all the cables of the understudy CDPR. In ref. [Reference Hwang, Thananjeyan, Paradis, Seita, Ichnowski, Fer, Low and Goldberg24], a CDPR is used for surgical applications where recurrent NNs are used to increase the precision of tracking the path.
The main contribution of this paper consists in simulating the under-constrained CDPR in MATLAB® simulation environment [25], called Simscape. The Simscape model has been verified with the constructed robot for control purposes. Thereafter, the controllers consisting of kinematic PID, dynamic PID, and a kinematic SMC have been implemented, both on the Simscape and on the robot constructed at the Human and Robot Interaction Laboratory for object tracking purpose. Also, the NN controller and dynamic SMC have been implemented on the Simscape model.
The rest of the paper is organized as follows. In the next section, the configuration of the CDPR and formulation of each controller are summarized. Afterward, two models with two different versions were used for object tracking purpose. The mentioned controllers are implemented and compared through simulations and experiments. Finally, in the last section, the paper concludes with some hints and remarks as ongoing works.
2. The suspended CDPR
This section deals with the configuration of the 4-cable under-constrained CDPR and the relation to solve the IKP. Afterward, the dynamic model and control system of the robot are addressed.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig1.png?pub-status=live)
Figure 1. The schematic of a cable-driven parallel robot with
$i$
cables.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig2.png?pub-status=live)
Figure 2. The schematic of the experimental setup.
2.1. Configuration of the 4-cable CDPR
Figure 1 illustrates the schematic of the CDPR constructed at the Human and Robot Interaction Laboratory, University of Tehran. Figure 2 depicts the schematic of the experimental setup. The functional workspace of the robot is a rectangular cube with dimensions of
$405\, \mathrm{cm} \times 285\, \mathrm{cm} \times 300\, \mathrm{cm} $
[Reference Mersi, Vali, Abbasnejad, Tale and Masouleh26]. It should be mentioned that the understudy robot is an improved and extended version of the robot presented in ref. [Reference Zarei, Aflakian, Kalhor and Masouleh27]. The EE structure is built with 3D-printed legs and a special mechanism that not only keeps the stabilizer and camera in place but also protects them from unexpected jeopardy. Each actuator is coupled to a rolling mechanism and a
$7.578 \,\mathrm{cm}$
diameter winch, which is used to wind up and wind out each of the four cables. The initial length of each cable is 350 cm when it is placed in its home position. The kinematics equation of the robot can be written by the sum of the vectors as below [Reference Aflakian, Safaryazdi, Masouleh and Kalhor28]:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn1.png?pub-status=live)
where R is the rotation matrix of the EE:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn2.png?pub-status=live)
where
$c$
and
$s$
stand for the cosine and sine of the indexed argument, respectively. Furthermore,
$\theta$
,
$\phi$
, and
$\psi$
signify as angles of rotation about x, y, and z-axis, respectively. In this case,
$\|\mathbf{{b}}\|$
is
$5 \,\mathrm{cm} $
. Since
$\|\mathbf{{b}}\| \ll \left \|\mathbf{{l}_{i}}\right \|$
, it was assumed that the cables were connected to the middle of the plate of the EE. Therefore, Eq. (1) would be simplified as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn3.png?pub-status=live)
whereby calculating
$\mathbf{l_{i}}$
from the rotation of motors, the position of the EE can be determined:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn4.png?pub-status=live)
where
$l_{0. i}$
is the initial length of the
$i^{\text{th }}$
cable,
$r$
is the radius of the winch, and
$\theta _{i}$
is the rotation of the
$i^{\text{th}}$
motor, read from the encoder of each AC servo motor. The AC servo motor model is Kinco SME80S-0075. From ref. [Reference Shang, Xie, Zhang, Cong and Li29], the dynamic equation of mobile platform can be expressed as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn5.png?pub-status=live)
where
${\textbf{x}}$
is the vector of the pose of EE, and
$\mathbf{J}$
,
$\mathbf{M}$
,
$\mathbf{C}$
, and
$\mathbf{g}$
are the Jacobian matrix, inertia matrix, Coriolis matrix, and gravity vector, respectively. Also,
$\mathbf{t}$
denotes cable tension. The dynamic equation of winches can be written as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn6.png?pub-status=live)
where
$\mathbf{I_{mt}}$
,
${\textbf{F}}_{\!\!\textbf{vt}}$
, and
${\textbf{F}}_{\!\!\textbf{ct}}$
denote inertia matrix, viscous-friction coefficient, Coulomb friction, respectively.
$\mathbf{u}$
represents the actuator torque.
$\mathbf{N}$
denotes transmission ratio and can be defined as the relationship between cable length velocity
${\dot{{\textbf{q}}}}$
and actuator angle velocity
${\dot{\boldsymbol{\theta}}}$
as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn7.png?pub-status=live)
where the relation between the initial length,
${\textbf{q}}^{\textbf{0}}=\left[{q_1}^0 \ \ {q_2}^0 \ \ {q_3}^0 \ \ {q_4}^0\right]^T$
, and the actuator angle,
$\boldsymbol{\theta }=[\theta _1 \ \theta _2 \ \theta _3 \ \theta _4]^T$
, can be expressed as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn8.png?pub-status=live)
The goal of controller consists in minimizing the error between the actuator angle
$\boldsymbol{\theta }$
and the desired one, which is calculated from the IKP.
2.2. Control of the understudy CDPR
In this paper, three controllers, namely PID, sliding mode, and NNs controllers, are proposed which are applied to both kinematics and dynamics of the robot. In the kinematic control, the desired position of the EE is applied as the reference trajectory and the desired angles of rotation of the motors are calculated by the IKP. The velocity applied to the motor is the control signal, in which this type of controller is referred to as a kinematic-based controller [Reference Qian, Zi, Shang and Xu30]. In turn, when the torque applied to the motor is the control signal, a dynamic-based controller should be applied. Both types of controllers are implemented to minimize the error between the desired path and the actual path of the EE for a precise path tracking purpose.
2.2.1. PID controller
The PID controller can be formulated as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn9.png?pub-status=live)
where
$m$
denotes the actuator’s number, and
$e_m$
is defined as the difference between the desired and the actual position of actuator
$m$
.
$K_{p}$
,
$K_{d}$
, and
$K_{i}$
are the proportional, derivative, and integral gains, respectively. The goal of this controller consists in minimizing the tracking error,
$e$
, which is the difference between the actual and the desired path. These parameters have been tuned in the simulation environment using the standard method proposed in ref. [Reference Ziegler and Nichols31], and due to the precision of the simulation, the same values have been used in the experiment. The obtained gains are given in Table I.
Table I. Kinematic PID controller gains.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab1.png?pub-status=live)
Table II. Dynamic PD controller gains.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab2.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig3.png?pub-status=live)
Figure 3. The controller loop of dynamic PD.
The dynamic PD controller is defined as in ref. [Reference Picard, Tahoumi, Plestan, Caro and Claveau18], and the controller loop is shown in Fig. 3. The output signal of the controller is defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn10.png?pub-status=live)
The
${\textbf{e}_{\boldsymbol{\theta}}}$
,
${\textbf{e}_{\dot{\boldsymbol{\theta}}}}$
are the difference between the desired and actual actuator positions and velocities, respectively. Since each actuator is independently controlled, and the matrices
${\textbf{K}}_{{\textbf{p}}}$
and
${\textbf{K}}_{{\textbf{d}}}$
are diagonal, thus for ease of tuning, they have been tuned similarly for all actuators, which they can be written as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn11.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn12.png?pub-status=live)
The
$\boldsymbol{\tau}_{\textbf{d}}$
is the feed-forward torque, and the
$\boldsymbol{\tau}_{\textbf{fc}}$
, the friction compensation, is considered to compensate the friction and defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn13.png?pub-status=live)
The
${\textbf{F}}_{{\textbf{c}}}$
and
${\textbf{F}}_{{\textbf{v}}}$
are considered static and viscous coefficients of each motor, respectively. As each motor is independently controlled, these two matrices are diagonal and are evaluated particularly for the designed EE. These parameters are determined for each motor to compensate static friction at the beginning of the motion, which leads to a smooth motion in tracking the path. As there was no significant difference between the two parameters for four motors, these two parameters are chosen the same for all motors as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn14.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn15.png?pub-status=live)
The controller gains have been tuned to achieve accuracy and stability with the mentioned method in tuning the previous kinematic PID controller, and the gains are given in Table II.
2.2.2. SMC
For the kinematics approach, the error and sliding surface and the controller are expressed as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn16.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn17.png?pub-status=live)
where
$\theta$
,
$\theta ^{*}$
are the desired position and velocity of the actuators, respectively. According to the sliding surface, if the condition
$k_{1} k_{2}\gt 0$
is satisfied, the system would be exponentially stable. The following is the state space of the system, which includes modeling uncertainties:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn18.png?pub-status=live)
The above model takes into account model uncertainties and noises in
$\alpha _{1}$
and
$\alpha _{2}$
. Furthermore, the desired time derivative of the sliding surface has been chosen as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn19.png?pub-status=live)
which by some substitution and simplification, the control effort signal is derived as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn20.png?pub-status=live)
where the following inequality has been obtained using
$\alpha _{1}$
and
$\alpha _{2}$
as the bounds for
$\tilde{\alpha }_{1}$
and
$\tilde{a}_{2}$
, respectively;
$\eta$
is a positive scalar:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn21.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn22.png?pub-status=live)
The Lyapunov candidate function is chosen as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn23.png?pub-status=live)
The following results were obtained by differentiating the proposed Lyapunov function with respect to time:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn24.png?pub-status=live)
As a result, the SMC’s ability to asymptotically stabilize the system has been proven. To prevent chattering, the implemented control signal is as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn25.png?pub-status=live)
The gains have been tuned with the same method of the PID controllers, and the obtained gains are given in Table III.
Table III. Kinematic SMC controller gains.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab3.png?pub-status=live)
In the dynamic control, the desired position of the EE is applied as the reference trajectory and the desired angles of rotation of the motors are calculated by the IKP. For the dynamics approach, the sliding surface and the controller can be expressed as [Reference Picard, Tahoumi, Plestan, Caro and Claveau18]:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn26.png?pub-status=live)
where
$K_{1}$
,
$K_{2}$
are the controller gains and
$\dot{\tau }_{m.i}$
is
$\dot{\tau }_{m}$
for the
$i^{t h}$
motor and
$\left [\sigma _{i}\right ]^{\alpha }$
can be derived as:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn27.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn28.png?pub-status=live)
where
$\sigma$
,
$\beta$
,
$\varepsilon _{\sigma }$
, and
$\dot{\varepsilon }_{\sigma }$
are constant parameters presented in ref. [Reference Picard, Tahoumi, Plestan, Caro and Claveau18]. The torque applied to the motor was the control signal which was the time integral of Eq. (26). The gains have been tuned with the same method of the previous controllers, and the obtained gains are given in Table IV.
Table IV. Dynamic SMC controller gains.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab4.png?pub-status=live)
2.2.3. NN controller
For the MLP NN, the optimal design with the minimal local root mean square error (RMSE) is discovered by grid search. The MLP NNs in which the architecture with hidden layers is
$64 \times 32 \times 16 \times 8 \times 4$
have been chosen and trained by the collected data. The schematic of the NN controller is shown in Fig. 4. The error between the desired location and the actual one and its derivative are chosen as the input of the NN, and the torque which has to be exerted to each motor is the output. These data have been obtained by different trajectories, including helix, snail, circle, straight line, with the different equations, and also different points. SGD, Adam, Momentum, L-BFGS, and Levenberg–Marquardt are among the well-known optimization approaches and have been chosen. Levenberg–Marquardt, a second-order optimization which correctly considers the nonlinearity of equations, leads to the least RMSE. Also, the hyperbolic tangent activation function produced the least RMSE in comparison with the linear and the sigmoid activation functions.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig4.png?pub-status=live)
Figure 4. The schematic of the neural network controller.
3. Object tracking
For finding object coordinates in soccer pitch, a four-point homography parameterization which maps the four corners from one image into the second image was used. After detecting four corners of the pitch, a homography matrix was computed, and then, the pitch image was transformed by the foregoing matrix in order to display the image in the form of the birds-eye view. This transformation makes distortion in the image and also makes some difficulties for detecting objects in the image with traditional methods. Moreover, using color for object detection was not as precise as it should be, and also, the EE of the robot could be confused in the case of observing two objects with the same color. Another challenging issue is that the ball can move fast and cause motion blur or even partially occluded by players [Reference Pobar and Ivašić-Kos32]. For these reasons, the YOLO algorithm was used for object detection in the transformed image. After the region-based convolutional neural network [Reference Girshick, Donahue, Darrell and Malik33], the YOLO [Reference Redmon, Divvala, Girshick and Farhadi34] algorithm was developed to speed up the object detection process. YOLO algorithm, which has improved in many aspects such as accuracy and speed, is an extremely fast, one-stage, and end-to-end algorithm for object detection. Two models with two different versions were used for detecting the object, which EE had to follow. The YOLOv5-s model was run in PyTorch and YOLOv4-tiny [Reference Jiang, Zhao, Li and Jia35], which was compiled on Darknet. Both models are fast and do not use much amount of memory which makes them suitable for real-time object detection tasks which need pace in detection. Since only one object was desired to be tracked, two light models were utilized for object detection on the provided dataset, in which a comparison is performed in terms of speed and accuracy between the two models. The dataset used for training models has contained 823 training images and 175 testing images in which all the images were transformed to birds-eye view with a resolution of
$486 \times 342$
. This dataset was collected with different variations containing different balls concerning sizes, colors, static, and blurred due to a motion. All of the images were manually annotated with bounding boxes for YOLO for only detecting one specific object (static and blurred due to a motion). In order to avoid training the model from scratch, transfer learning [Reference Lin, Dollár, Girshick, He, Hariharan and Belongie36] was applied for training both models, and they were fine-tuned using pre-trained checkpoints on the COCO dataset [Reference Lin, Maire, Belongie, Hays, Perona, Ramanan, Dollár and Zitnick37]. The hyperparameters of the models are as follows: For training the YOLOv4-tiny model, the batch size, momentum, and weight decay were set to 16, 0.9, and 0.0005, respectively. Training of YOLOv4-tiny was performed in 2000 iterations from which the one with the smallest loss was selected, and the initial learning rate was set equal to 0.002. Also, the YOLOv5-s model was trained in 50 epochs with batch size 64, momentum 0.937, weight decay 0.0005, and an initial learning rate 0.01. Precision, recall, mean average precision, F1 score, and inference time were selected as indicators. The processing speed should exceed 30 frames per second for real-time object detection purposes.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig5.png?pub-status=live)
Figure 5. The constructed and Simscape model of the CDPR.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig6.png?pub-status=live)
Figure 6. The three-dimensional presentation of the path under study.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig7.png?pub-status=live)
Figure 7. The performance of the trained neural network.
4. Results
4.1. Simulation
Figure 5 depicts the 4-cable CDPR constructed at Human and Robot Interaction Laboratory, University of Tehran and Simscape model, which is built in MATLAB® Simulink to enforce and validate the derived analytical formulas and designed controllers in this section. This section investigates the robot’s ability to track a nonlinear path using the suggested controllers’ effort signal. For proper monitoring, the suggested trajectory is a three-dimensional direction that necessitates different torque values from each actuator. The path’s parametric formulation, which was used both in simulation and in practice, is shown in Fig. 6 and is as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_eqn29.png?pub-status=live)
In order to examine the ability of the controller and make the simulation more realistic to the built CDPR, stiffness, friction of the winch, and the friction of the pulley have been determined and modeled. The Simscape model also determined the angle of the cable with respect to the winch for each motor. Furthermore, angles of rotation of EE about the x, y, and z-axis also have been simulated and can be monitored during the simulation. Figure 7 demonstrates the performance of the trained NN for the NN controller. If the model receives insufficient training, it will underfit the train and test sets. If the model receives too much training, it will overfit the training dataset and perform poorly on the test set. A reasonable compromise is to train on the training dataset but stop when performance on the validation dataset begins to deteriorate. In order to prevent overfitting and improve NN ability to predict on non-training data, validation stopping is implemented, and the training stops after four consecutive increases in validation error, and the best performance is taken from the epoch with the lowest validation error [Reference Ying38]. The results of the simulation and the RMSE index for each controller are shown in Fig. 8 and Table V, respectively. According to the results provided from the RMSE index, all of the controllers track the path properly with a maximum RMSE of 0.072, which occurred in kinematics SMC. Due to the inherent robustness of the SMC algorithm, it tracked the path more smoothly but less precisely. Also, the RMSE index demonstrates that all dynamic controllers similarly tracked the path and had a better performance than the kinematic controllers.
Table V. The RMSE index for controlling method in simulation.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab5.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig8.png?pub-status=live)
Figure 8. Simulation results of the five controllers for tracking the path along the
$x$
,
$y$
, and
$z$
axes.
4.2. Experimental
Figure 9 depicts the results of each controller implemented on the built CDPR. From the result provided by the RMSE index in Table VI, it can be concluded that all of the controllers tracked the path properly with the maximum RMSE of 0.029, which occurred in dynamic PID. The kinematic PID, which was selected for object tracking, had a better performance than other controllers. It should be mentioned that in the Simscape model, a revolute joint was used for simulating the angle of cable with respect to the winch, which decreases the accuracy of the controller. Due to mentioned reason, the accuracy of the simulation is slightly less than practical.
Table VI. The RMSE index for controlling method in practical.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab6.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig9.png?pub-status=live)
Figure 9. Practical results of the three controllers for tracking the path along the
$x$
,
$y$
, and
$z$
axes.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig10.png?pub-status=live)
Figure 10. The training results of the YOLO models.
Figure 10 represents the training results for both YOLO models for detecting the big red ball. According to the obtained results, both models detected the defined object precisely. The small value of loss shows that the model is well trained. On the other hand, the high mAP value indicates that the model has a good performance. However, YOLOv4-tiny has a higher confidence in detecting the object and is more robust. On the other hand, YOLOv5-s has higher FPS on CPU, but not on GPU; therefore, for running on CPU, YOLOv5-s is a better choice according to its detection speed, but for running on a GPU, YOLOv4-tiny overtakes YOLOv5-s. From the mAP and F1 score, it can be inferred that YOLOv5-s has slightly better performance than YOLOv4-tiny. The best mAP values of YOLOv5-s and YOLOv4-tiny are
$99.5\%$
and
$98.5\%$
, respectively.
From this result, it can be concluded that both models approximately have the same training capability on the provided small dataset for detecting one object. The sample of detection results of both YOLO models is shown in Fig. 11. As aforementioned, the kinematic PID has been chosen as the controller for object tracking. The rotation angle of the four motors, taken from the encoders, is shown in Fig. 12. The RMSE index errors are given in Table VII for the motors of one to four, respectively, which confirm the ability of the controller for tracking the path precisely. It should be mentioned that during the object tracking, while the camera has been covered, the location of EE is the last location for determining object location. Once the camera determines the object’s new location, the EE tries to track it as fast as it can. Some jumps in Fig. 12 are occurred due to the latter reason.
Table VII. The RMSE index of each encoders for object tracking.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_tab7.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig11.png?pub-status=live)
Figure 11. YOLO detection results.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20221005170106702-0424:S0263574722000649:S0263574722000649_fig12.png?pub-status=live)
Figure 12. The output of each encoder for object tracking.
5. Conclusion
This paper investigated the evaluation of different controllers in both simulation and practice in which two methods for tracking objects were proposed. In the simulation, the model of the robot was verified, which made possible the validation of the proposed controllers or other studies in simulation. Moreover, a novel NN controller based on the dynamic model of an under-constrained CDPR was proposed. The results showed that the proposed controllers exhibited satisfactory performance on the predefined trajectory in simulation and experiment. Furthermore, for tracking purpose we resorted to the so-called YOLOv5-s as it was faster than YOLOv4-tiny in object detection on CPU. Future works aim at using deep reinforcement learning strategies for controlling an under-constrained CDPR.
Acknowledgement
None.
Conflicts of interest
None.
Financial support
None.
Ethical considerations
None.
Authors’ contributions
Soroush Zare conceived and designed the study under co-supervision of Mohammad Reza Hairi Yazdi and Mehdi Tale Masouleh. All others are coauthors.