A Convolutional Dynamic-Jerk-Planning Algorithm for Impedance Control of Variable-Stiffness Cable-Driven Manipulators

Cable-driven manipulators, characterized by slender arms, dexterous motion, and controllable stiffness, have great prospects for application to capture on-orbit satellites. However, it is difficult to achieve effective motion planning and stiffness control of cable-driven manipulators because of the coupled relationships between cable lengths, joint angles, and reaction forces. Therefore, a convolutional dynamic-jerk-planning algorithm is devised for impedance control of variable-stiffness cable-driven manipulators. First, a variable-stiffness cable-driven manipulator with universal modules and rotary quick-change modules is designed to overcome difficulties related to disassembly, installation, and maintenance. Second, a convolutional dynamic-jerk-planning algorithm is devised to overcome the discontinuity and shock problems of the manipulator’s velocity during intermittent control processes. The algorithm can also make acceleration smooth by setting jerk dynamically, reducing acceleration shock and ensuring the stable movement of the cable-driven manipulator. Third, the stiffness of the cable-driven manipulator is further optimized by compensating for the position and velocity of drive cables by employing position-based impedance control. Finally, the prototype of the variable-stiffness cable-driven manipulator is developed and tested. The convolutional dynamic-jerk-planning algorithm is used to plan the desired velocity curves for velocity control experiments of the cable-driven manipulator. The results verify that the algorithm can improve the acceleration smoothness, thereby making movement smooth and reducing vibrations. Furthermore, stiffness control experiments verify that the cable-driven manipulator has ideal variable stiffness capabilities.


Introduction
With the rapid development of space technology, various satellites have played important roles in the navigation, meteorology, and other fields. However, the failure of highvalue satellites will bring huge losses. Since the above satellites are often non-cooperative, the corresponding on-orbit capture technology has attracted great attention [1][2][3][4][5]. Among them, the capturing of on-orbit satellites without pre-designed docking mechanisms is still an urgent difficulty to be solved [6,7]. Due to the rigid impact caused by the capture collision, traditional 6-7 degrees of freedom (DOF) manipulators composed of rigid joints can only perform capture tasks of cooperative targets in structured environments [8]. Fortunately, cable-driven manipulators [9][10][11] with characteristics of dexterous motion and controllable stiffness have demonstrated great potential for compliant capture of noncooperative satellites [12,13]. Therefore, according to requirements of compliant capture of satellites, the dexterous motion control [14] and variable stiffness control [15] of cabledriven manipulators have become the focus of current research. In terms of motion control, the iterative Jacobian method [16,17] is usually used to control the motion of the driving cable. This method can only control the velocity by the error between the desired length and the actual length, so it will cause the velocity to become discontinuous. In order to solve the discontinuity problem of velocity, Tang [18] proposed a two-level motion planning method. The method plans a continuous velocity curve to improve the motion smoothness and stability of the cable-driven manipulator. However, this method is tedious and computationally inefficient through the process of polynomial planning of time, velocity, and acceleration. The setting of acceleration and jerk are inflexible and non-universal. Therefore, this paper proposes a convolutional dynamic-jerk-planning algorithm. The algorithm cannot only optimize the velocity curve and improve the position accuracy of the cable-driven manipulator, but also simplify the calculation efficiency and improve the operation flexibility. In terms of stiffness control, Nan Ma et al. [19] analyzed the advantages and disadvantages of various 2-DOF rotating mechanisms. A 2-DOF cable-driven parallel mechanism with simple processing and adjustable stiffness was designed. Then, a stiffness model of the mechanism was established. Compared with experiments, the total deviation of the model was very small, which could be used as a reference for the study of joint stiffness models. In order to solve the problem of low stiffness, Liu [20] designed a new mechanism to improve the stiffness performance and load capacity of the cable-driven manipulator. This mechanism also improved the position accuracy of the cable-driven manipulator. By redundantly arranging elastic joints and constraining the bending curvature with curvature restraining rods, Zhao et al. [21] improved the stiffness of the continuum manipulator and derived its stiffness formula. Zhang et al. [22] analyzed the influencing factors of stiffness by modeling the end of the continuum manipulator. A control method using flexible struts and segmented driving manipulators was proposed to control the deformation of the continuum manipulators. According to the influence of the length distribution of the connecting rod on the workspace, Wu [23] established a stiffness optimization model to provide the research basis for the design and variable stiffness control of the cable-driven manipulator. On the basis of studying the stiffness model, many scholars have adopted the method of changing the material and designing a new mechanism to improve the stiffness of cable-driven manipulators. However, there are few studies on the motion control algorithm and stiffness control algorithm of the cable-driven manipulator [24].
In order to study the motion planning and stiffness control of the cable-driven manipulator, a variable-stiffness cable-driven manipulator with rotary quick-change module is designed and experimented on in this paper. The rest of the paper is organized as follows. Section 2 briefly introduces the structure design and the analysis of variable-stiffness cable-driven manipulators. Then, the kinematics model is detailed. In order to overcome the discontinuity and shock problem of velocity, the convolutional dynamic-jerk-planning algorithm is proposed in Section 3. The position-based impedance control algorithm of the variable-stiffness cable-driven manipulator is detailed in Section 4. In Section 5, the prototype of the variable-stiffness cable-driven manipulator is introduced and is subjected to experiments. Section 6 presents the conclusion of this paper.

Structure of Variable-Stiffness Cable-Driven Manipulators
Variable-stiffness cable-driven manipulators have great promise for use in capturing non-cooperative satellites, as depicted in Figure 1. These manipulators have three defining characteristics:

1.
Separate Layout of Mechanical and Electrical Components. The motors, controllers, and other electrical components of a manipulator are uniformly installed on a highly protected satellite platform, which enhances their reliability in harsh environments. This design also means that a manipulator is light weight and has low inertia, such that its motion has little effect on its satellite platform.

2.
Organic Integration of Rigid and Flexible Components. A manipulator achieves a rigid and flexible variable-stiffness working effect by controlling its configuration and cable tension. Thus, a manipulator is suited for use in the low-impact capture and high-stiffness manipulation of non-cooperative satellites.  The variable-stiffness cable-driven manipulator studied herein has a modular design, with a universal module consisting of a universal joint and a fixed linkage, as shown in Figure 2a. Each universal module is controlled by three drive cables evenly distributed along the linkage. The motion of each drive cable is controlled by a motor-driven screw. The manipulator consists of four universal modules connected in series in a "yaw-pitchpitch-yaw-yaw-pitch-pitch-yaw" configuration, as shown in Figure 2a. Overall, the manipulator has eight DOFs and 12 drive cables, with each universal module having two DOFs controlled by three drive cables.  The variable-stiffness cable-driven manipulator studied herein has a modular design, with a universal module consisting of a universal joint and a fixed linkage, as shown in Figure 2a. Each universal module is controlled by three drive cables evenly distributed along the linkage. The motion of each drive cable is controlled by a motor-driven screw. The manipulator consists of four universal modules connected in series in a "yaw-pitchpitch-yaw-yaw-pitch-pitch-yaw" configuration, as shown in Figure 2a. Overall, the manipulator has eight DOFs and 12 drive cables, with each universal module having two DOFs controlled by three drive cables.  The variable-stiffness cable-driven manipulator studied herein has a modular design, with a universal module consisting of a universal joint and a fixed linkage, as shown in Figure 2a. Each universal module is controlled by three drive cables evenly distributed along the linkage. The motion of each drive cable is controlled by a motor-driven screw. The manipulator consists of four universal modules connected in series in a "yaw-pitchpitch-yaw-yaw-pitch-pitch-yaw" configuration, as shown in Figure 2a. Overall, the manipulator has eight DOFs and 12 drive cables, with each universal module having two DOFs controlled by three drive cables.

Structure Design
To achieve rapid disassembly, installation, and maintenance with a stable and simple mechanical structure, this paper designs an innovative variable-stiffness cable-driven manipulator with a drive system based on a rotary quick-change module. This drive system comprises six rotary quick-change modules and one central shaft. The central shaft constrains the six rotary quick-change modules between the two fixed plates, as shown in Figure 2b. After the two ends of the fixed shaft are released, the rotary quick-change module can freely rotate around the central shaft of the drive system to achieve rapid disassembly, installation, and maintenance. The rotary quick-change module comprises screws, junction plates, T-nuts, fixed plates, drive cables, sliders, limiters, couplings, and motors (i.e., RM2006), as shown in Figure 2c. Two sets of motors and screws are locked onto the central shaft by two fixed shafts. Each motor controls one corresponding drive cable. The motor is connected to the screw by the coupling. The rotary motion of the lead screw leads to the translational motion of the T-nut. The T-nut thus moves the slider along the central shaft to change the length of the drive cable. One end of the drive cable is fixed to the universal module, while the other end is fixed to the tension sensor through the limiter. The maximum radial load produced by the motor is 495 N. Therefore, the cable-driven manipulator designed in this paper demonstrates the potential characteristics of variable stiffness.

Kinematic Model
In order to achieve dexterous movement in narrow environments with many obstacles, the kinematic models of the variable-stiffness cable-driven manipulator among joint space, actuator space, and task space are derived in this section.
The kinematic model is established to describe the relative kinematic relationship between joint space and task space. First, according to the structure of the variable-stiffness cable-driven manipulator, the Denavit-Hartenberg (D-H) coordinate system is established in Table 1 and Figure 3. Table 1. D-H Parameters.
To achieve rapid disassembly, installation, and maintenance with a stable and simpl mechanical structure, this paper designs an innovative variable-stiffness cable-driven ma nipulator with a drive system based on a rotary quick-change module. This drive system comprises six rotary quick-change modules and one central shaft. The central shaft con strains the six rotary quick-change modules between the two fixed plates, as shown in Figure 2b. After the two ends of the fixed shaft are released, the rotary quick-change mod ule can freely rotate around the central shaft of the drive system to achieve rapid disas sembly, installation, and maintenance. The rotary quick-change module comprise screws, junction plates, T-nuts, fixed plates, drive cables, sliders, limiters, couplings, and motors (i.e., RM2006), as shown in Figure 2c. Two sets of motors and screws are locked onto the central shaft by two fixed shafts. Each motor controls one corresponding driv cable. The motor is connected to the screw by the coupling. The rotary motion of the lead screw leads to the translational motion of the T-nut. The T-nut thus moves the slider along the central shaft to change the length of the drive cable. One end of the drive cable is fixed to the universal module, while the other end is fixed to the tension sensor through th limiter. The maximum radial load produced by the motor is 495 N. Therefore, the cable driven manipulator designed in this paper demonstrates the potential characteristics o variable stiffness.

2.2.Kinematic Model
In order to achieve dexterous movement in narrow environments with many obsta cles, the kinematic models of the variable-stiffness cable-driven manipulator among join space, actuator space, and task space are derived in this section.
The kinematic model is established to describe the relative kinematic relationship be tween joint space and task space. First, according to the structure of the variable-stiffnes cable-driven manipulator, the Denavit-Hartenberg (D-H) coordinate system is estab lished in Table 1 and Figure 3. It can be known that the homogeneous transformation matrix between two adjacen coordinate system is as (1). It can be known that the homogeneous transformation matrix between two adjacent coordinate system is as (1).
Then, the forward kinematics between joint space and task space of the variablestiffness cable-driven manipulator can be written as (2).

Principle of Convolutional Dynamic-Jerk-Planning Algorithm
The principle of the convolutional dynamic-jerk-planning algorithm used to control the cable-driven manipulators studied herein is detailed in Figure 4. This algorithm is based on the characteristic of digital convolution, where the total area of the input and output function curves of a convolution operation remains unchanged. The function settings of this convolution process are described as follows. The convolution operator h a (t) of the first convolutional dynamic-jerk-planning algorithm is expressed in Equation (3), as follows: where h a (t) has the domain (0, t a ), and t a is the first convolution acceleration time. The input function of the first convolution is set by Equation (4), as follows: where y 0 (t) and v 0 are rectangular velocity input functions that determine the desired displacement and velocity of the drive cable. The domain of y 0 (t) is (0, t 0 ), where t 0 is the time when uniform motion reaches the desired displacement, D. The first convolution of h a (t) and y 0 (t) forms the output function (Equation (5)): where t a is defined by Equation (6): Then, the forward kinematics between joint space and task space of the variable-stiffness cable-driven manipulator can be written as (2).

Principle of Convolutional Dynamic-Jerk-Planning Algorithm
The principle of the convolutional dynamic-jerk-planning algorithm used to control the cable-driven manipulators studied herein is detailed in Figure 4. This algorithm is based on the characteristic of digital convolution, where the total area of the input and output function curves of a convolution operation remains unchanged. The function settings of this convolution process are described as follows. The convolution operator ( ) a h t of the first convolutional dynamic-jerk-planning algorithm is expressed in Equation (3), as follows: and a t is the first convolution acceleration time. In Equations (1)-(4), h a (t) performs the first convolution operation, which yields a trapezoidal velocity curve y 1 (t). However, the acceleration and deceleration states of this trapezoidal velocity curve would cause excessive velocity shock during manipulation. Therefore, y 1 (t) is used as the new input function and h j (t) as the convolution operator to perform a second convolution operation, which produces the velocity curve y 2 (t), as follows: where t j is the second convolution acceleration time in Equation (9): where a max is the maximum acceleration of the uniform acceleration stage, and j max is the maximum jerk of the variable acceleration stage. This curve now smoothly connects the stationary, acceleration, constant velocity, and deceleration states by controlling the acceleration and jerk. The acceleration and deceleration states both contain variable and uniform acceleration stages, while the acceleration and jerk in this convolution process can both be set freely. As a demonstration, the above convolution method and an iterative Jacobian method are each used to plan the velocity curve for the movement of the manipulator, with the results shown in Figure 5. The results for the Jacobian method ( Figure 5a) show that the acceleration suddenly increases and decreases at the initial and end motion phases, respectively. These rapid movements would shock and vibrate the manipulator, while also degrading its tracking performance and shortening its service life. By contrast, by using our algorithm, the acceleration and jerk in Figure 5b rise and fall steadily at the initial and end motion phases, respectively. This smoother motion would produce smaller system vibrations and impulses, illustrating how the convolutional dynamic-jerk-planning algorithm could reduce acceleration shock and stabilize the manipulator's motion. It can be seen from Equation (10) that the recursive calculation of the convolution is only composed of addition, subtraction, and division operations. It greatly simplifies the calculation process.
The convolutional dynamic-jerk-planning algorithm is simpler to compute than the polynomial-based velocity planning method [19]. The movement of the cable-driven ma- According to the actual operation of the variable−stiffness cable−driven manipulator and the above convolution operation process, the recursive expression of the convolution is determined by Equation (10), as follows: where k is the number of current samples and m n is the number of samples corresponding to the nth convolution. It can be seen from Equation (10) that the recursive calculation of the convolution is only composed of addition, subtraction, and division operations. It greatly simplifies the calculation process.
The convolutional dynamic-jerk-planning algorithm is simpler to compute than the polynomial-based velocity planning method [19]. The movement of the cable-driven manipulator process has multiple stages, such as variable acceleration, uniform acceleration, uniform speed, and uniform deceleration stages. When in processes with long run times and complex stages, the polynomial-based method requires a large number of equations and parameters to be set. However, the convolution method requires fewer parameters and is simpler to calculate.

Applications of the Convolutional Dynamic-Jerk-Planning Algorithm
According to the principle described in Section 3.1, the convolutional dynamic-jerkplanning algorithm can be modified for different desired displacements. Thus, the midpoint between the planned y I (t) and y II (t) is calculated to produce a new asymmetric velocity curve, as shown in Figure 6. This new curve is characterized by the following set of time points.  With this asymmetric velocity curve, the acceleration and jerk of the acceleration and deceleration stages can be set separately, allowing the velocity curve to adapt more flexibly to different displacements. Four displacement situations are defined: ultra-long displacement, long displacement, medium displacement, and short displacement. These different situations are described below.  t aII in y II (t), which is the first convolution acceleration time and is given by: (13) t jII in y II (t), which is the second convolution acceleration time and is given by: where v max is the maximum velocity during acceleration, and K a and K j are coefficients. With this asymmetric velocity curve, the acceleration and jerk of the acceleration and deceleration stages can be set separately, allowing the velocity curve to adapt more flexibly to different displacements. Four displacement situations are defined: ultra-long displacement, long displacement, medium displacement, and short displacement. These different situations are described below.

1.
Ultra-long displacement: When the desired displacement D > 2max(D I , D II ), then y I (t) and y II (t) have uniform motion phases, as shown in Figure 6a. y I (t) and y II (t) are each divided into two equal parts, with their midpoint times expressed by t I and t II : According to the values calculated in Equations (15) and (16), the interval time t T can be obtained from Equation (17), as follows: By superimposing y I (t) and y II (t) at the midpoint, the desired asymmetric velocity curve can be obtained, as shown in Figure 6a. The superimposed function is expressed by Equation (18), as follows: To simplify the calculation process and facilitate practical applications, the recursive expression of y d (t) can be rewritten, as follows (Equation (19)): where n is the number of calculations, k is the number of current samples, m nI = t jI /t s ,m nII = t jII /t s , k T = t T /t s , and t s is the sampling period.

Long displacement:
When D I + D II < D ≤ 2max(D I , D II ), there is only one uniform motion phase in either y I (t) or y II (t), as shown in Figure 6b. t I1 and t II2 are thus defined by Equation (20), as follows: Therefore, the recursive expression for the long displacement can be derived using Equations (17)- (19). Medium displacement: When D a < D ≤ D I + D II , then y I (t) and y II (t) have no uniform motion phase, as shown in Figure 6c,d. However, y I (t) and y II (t) do have uniform acceleration phases, and thus the maximum velocity a max can be reached at this time. The expressions for D a and v a are as follows (Equations (21) and (22)): Thus, t I and t II can be calculated using Equations (23): Then, using Equations (17)- (19), the recursive expression for the medium displacement can be derived.

4.
Short displacement: When 0 < D ≤ D a , then y I (t) and y II (t) have no uniform acceleration phase, as shown in Figure 6d. The current desired displacement D is thus described by the following equations (Equations (24)-(26)): Therefore, t I and t II are given by Equation (25), as follows: t I = t aI + t jI = v/a + a/j max t II = t aII + t jII = K a v/a + K j a/(K a j max ) The recursive expression for the short displacement can then be derived from Equations (17)- (19).
These examples demonstrate how the convolutional dynamic-jerk-planning algorithm can adapt to the cases of ultra-long, long, medium, and short displacements, and also adapt to cases with asymmetric acceleration and deceleration stages. It achieves this adaptability by freely adjusting the magnitude of the acceleration and jerk to suit different displacements of motion.

Position-Based Impedance Control of Variable-Stiffness Cable-Driven Manipulators
The position-based impedance control is based on the second order spring-massdamper system and adjusts the tension of the drive cables to control their stiffness. The contact force between the variable-stiffness cable-driven manipulator and the environment can be controlled by adjusting the position, velocity, acceleration, and tension of these drive cables. The impedance relationship model expression is established in Equation (28), as follows: where X d , .
X d , and .. X d are the desired position, velocity, and acceleration of the drive cable, respectively. X, . X, and .. X are the actual position, velocity, and acceleration of the drive cable, respectively. F e and F d are the actual and desired tension vectors of the drive cables. Additionally, inertia coefficient matrix M d , damping coefficient matrix B d , and stiffness coefficient matrix K d are impedance control parameters of the variable-stiffness cable-driven manipulator.
The position-based impedance control system is composed of an inner position loop and an outer tension loop. This system controls the position and velocity of the drive cables by adjusting their tension. This system is combined with the actual cases and established in Figure 7.
contact force between the variable-stiffness cable-driven manipulator and the environment can be controlled by adjusting the position, velocity, acceleration, and tension of these drive cables. The impedance relationship model expression is established in Equation (28), as follows: The position-based impedance control system is composed of an inner position loop and an outer tension loop. This system controls the position and velocity of the drive cables by adjusting their tension. This system is combined with the actual cases and established in Figure 7. In the outer tension loop, the relationship between the position compensation of the drive cable and the tension of the drive cable can be expressed as H(s): where H(s) is the admittance characteristic in the frequency domain and E(s) is the difference between the desired and actual position vectors in the frequency domain. By using the bilinear variation H(z) = H(s) s= 2 , the discrete expression of the impedance model can be obtained from Equation (31), as follows: Equation (31) indicates that the differential equation of the position-based impedance control is defined by Equation (33), as follows: where e is the compensation value and X c is the compensated position vector, which can be obtained from Equation (34), as follows: The actual and compensated angles of the motor are θ M and θ c , respectively; the actual and compensated angular velocities of the motor are θ Mv and θ vc , respectively; and the lead of the screw is l s = 1 mm. According to the transmission relationship, the changes between the position of the drive cable and the angle of the motor can be calculated using Equation (35): The mapping relationship between . θ Mv (r/m) and v(mm/s), the actual velocity of the drive cable, is described by Equation (36), as follows: If the error between the desired and actual tension of the drive cable is zero, then the control system can be simplified to the position control of the drive cable. If the error between the desired tension and the actual tension of the drive cable is not zero, then the control system can generate compensation based on the error between the desired tension and the actual tension of the drive cable to correct the desired position.
In this paper, the inner velocity loop is added, as expressed in Equation (37), to provide position-based impedance control. Here, v e is the derivative of e, v d is the desired velocity calculated by convolutional dynamic-jerk-planning algorithm, and v c is the updated desired velocity of the drive cable after compensation.

Prototypes and Experiments
The prototype of the variable-stiffness cable-driven manipulator consists of hardware control and software monitoring components, which were integrated into the design of the manipulator system shown in Figure 8. This prototype consists of four universal modules with eight DOFs. The experimental system comprises the prototype, a power supply, a controller, a transducer, a global camera, and a personal computer.
Micromachines 2022, 13, x FOR PEER REVIEW 12 of 16 of the manipulator system shown in Figure 8. This prototype consists of four universal modules with eight DOFs. The experimental system comprises the prototype, a power supply, a controller, a transducer, a global camera, and a personal computer.

Experiment Setup
Variable stiffness control is particularly important for the flexible capture of satellites. The stiffness of the cable-driven manipulator depends on the configuration of the moving manipulator and the tension in the drive cables. To assess these functionalities of the prototype, a series of velocity control and stiffness control experiments were performed. The entire experiment process was recorded by the global camera, which was fixed to the end of the prototype.

Velocity Control Experiments
The actual velocities of the 12 drive cables should be based on the velocity planned by the convolutional dynamic-jerk-planning algorithm. The velocity mapping between the motor and the drive cable is defined by Equation (35). The actual velocity and acceler-

Experiment Setup
Variable stiffness control is particularly important for the flexible capture of satellites. The stiffness of the cable-driven manipulator depends on the configuration of the moving manipulator and the tension in the drive cables. To assess these functionalities of the prototype, a series of velocity control and stiffness control experiments were performed. The entire experiment process was recorded by the global camera, which was fixed to the end of the prototype.

Velocity Control Experiments
The actual velocities of the 12 drive cables should be based on the velocity planned by the convolutional dynamic-jerk-planning algorithm. The velocity mapping between the motor and the drive cable is defined by Equation (35). The actual velocity and acceleration of the 12 drive cables are shown in Figure 9a,b.

Experiment Setup
Variable stiffness control is particularly important for the flexible capture of satellites. The stiffness of the cable-driven manipulator depends on the configuration of the moving manipulator and the tension in the drive cables. To assess these functionalities of the prototype, a series of velocity control and stiffness control experiments were performed. The entire experiment process was recorded by the global camera, which was fixed to the end of the prototype.

Velocity Control Experiments
The actual velocities of the 12 drive cables should be based on the velocity planned by the convolutional dynamic-jerk-planning algorithm. The velocity mapping between the motor and the drive cable is defined by Equation (35). The actual velocity and acceleration of the 12 drive cables are shown in Figure 9a,b.  The velocity errors of the 12 drive cables were calculated according to the desired velocity in Figure 5b and the actual velocity in Figure 9a. As shown in Figure 9c-f, the velocity error during acceleration and deceleration was ±0.03 mm/s, whereas the velocity error at constant velocity was ±0.01 mm/s. During acceleration and deceleration, the acceleration increases or decreases gradually instead of changing abruptly. These experimental data demonstrate that the convolutional dynamic-jerk-planning algorithm reduces the system vibration caused by excessive acceleration at the beginning and end of the motion. Therefore, applying the algorithm would reduce the acceleration shock and make the manipulator's movements more stable.

Stiffness Control Experiments
The stiffness of the cable-driven manipulator refers to the ability of the end of the manipulator to resist deformation when it is affected by external forces. Generally, the greater the stiffness of the manipulator, the higher the positioning accuracy of its end. To verify the stiffness control ability of the manipulator, dynamic stiffness experiments were performed. The position-based impedance control system was applied in the dynamic stiffness experiments to control cable tension. The experiments also applied the convolutional dynamic-jerk-planning algorithm to control the displacement and velocity of the cable.
Before the stiffness control experiment, the load experiment of the cable-driven manipulator was conducted in this paper. The cable-driven manipulator was placed on a fixed plane. A weight of 100 g, 200 g, 300 g, and 500 g is applied to the end of the cable-driven manipulator to test its loading capacity. The experimental results are shown in Figure 10. The limit load of the cable-driven manipulator is 500 g. tional dynamic-jerk-planning algorithm to control the displacement and velocity of the cable.
Before the stiffness control experiment, the load experiment of the cable-driven manipulator was conducted in this paper. The cable-driven manipulator was placed on a fixed plane. A weight of 100 g, 200 g, 300 g, and 500 g is applied to the end of the cabledriven manipulator to test its loading capacity. The experimental results are shown in Figure 10. The limit load of the cable-driven manipulator is 500 g. First, the dynamic stiffness control of the manipulator was established by determining the required displacement and velocity of the drive cables. The manipulator was directed to bend upward, with its motion recorded by the global camera. Then, the manipulator was moved back to its original horizontal state. Next, the end of the manipulator was loaded with a 100 g weight, and the actions of bending upward and returning to the horizontal state were repeated. Finally, the previous actions with the loaded weight were repeated with position-based impedance control applied. The end points of the manipulator's different trajectories are plotted in Figure 11a, with the full trajectories shown in Figure 11b. Trajectory 1 is the normal motion of the manipulator, trajectory 2 is the manipulator's motion when loaded with a 100 g weight, and trajectory 3 is the manipulator's First, the dynamic stiffness control of the manipulator was established by determining the required displacement and velocity of the drive cables. The manipulator was directed to bend upward, with its motion recorded by the global camera. Then, the manipulator was moved back to its original horizontal state. Next, the end of the manipulator was loaded with a 100 g weight, and the actions of bending upward and returning to the horizontal state were repeated. Finally, the previous actions with the loaded weight were repeated with position-based impedance control applied. The end points of the manipulator's different trajectories are plotted in Figure 11a, with the full trajectories shown in Figure 11b. Trajectory 1 is the normal motion of the manipulator, trajectory 2 is the manipulator's motion when loaded with a 100 g weight, and trajectory 3 is the manipulator's positionbased impedance-controlled motion when loaded with a 100 g weight. Trajectory 1 is the standard for movement. Error 1 is the position error between trajectory 1 and trajectory 2, while error 2 is the position error between trajectory 1 and trajectory 3; the corresponding position error curves are shown in Figure 11c. Stiffness 1 is the stiffness of the end of the cable-driven manipulator as it moves along trajectory 2. Stiffness 2 is the stiffness of the end of the cable-driven manipulator as it moves along trajectory 3. The stiffness can be calculated by (38): where F is the external force on the end of the cable-driven manipulator in the vertical direction, and ∆D is the change in displacement of the end of the cable-driven manipulator in the vertical direction. The results showed that the cable-driven manipulator moved smoothly with high precision when not under load in trajectory 1. The manipulator also moved normally when loaded with a 100 g weight but exhibited a large position error compared with trajectory 1. When the final stationary state is reached, the end position error is 16.81 mm and the stiffness value is 59.49 N/m. However, this poor dynamic stiffness performance was significantly improved by applying the position-based impedance control. The position error between trajectory 1 and trajectory 3 is 1.96 mm. The stiffness value is 510.20 N/m. The stiffness of the cable-driven manipulator has been significantly improved. Therefore, the position-based impedance control improved the load capacity and control accuracy of the manipulator. jectory 1. When the final stationary state is reached, the end position error is 16.81 mm and the stiffness value is 59.49 N/m. However, this poor dynamic stiffness performance was significantly improved by applying the position-based impedance control. The position error between trajectory 1 and trajectory 3 is 1.96 mm. The stiffness value is 510.20 N/m. The stiffness of the cable-driven manipulator has been significantly improved. Therefore, the position-based impedance control improved the load capacity and control accuracy of the manipulator.

Conclusions
A convolutional dynamic-jerk-planning algorithm was devised for impedance control of a variable-stiffness cable-driven manipulator. The manipulator was designed with six rotary quick-change modules and four universal modules to overcome the difficulties of disassembly, installation, and maintenance. The convolutional dynamic-jerk-planning algorithm solved the discontinuity and shock problems of the manipulator's velocity during the intermittent control process. The algorithm also reduced acceleration shock and made movement more stable by setting jerk dynamically.
Velocity control experiments revealed that this algorithm limited the velocity error during acceleration and deceleration to ±0.03 mm/s and the velocity error at constant velocity to ± 0.01 mm/s. By applying position-based impedance control to compensate for the displacement and velocity of the drive cables, the stiffness of the cable-driven manipulator was further optimized. Stiffness control experiments indicated that applying this control reduced the position error of a loaded manipulator from 16.81 mm to 1.96 mm.

Conclusions
A convolutional dynamic-jerk-planning algorithm was devised for impedance control of a variable-stiffness cable-driven manipulator. The manipulator was designed with six rotary quick-change modules and four universal modules to overcome the difficulties of disassembly, installation, and maintenance. The convolutional dynamic-jerk-planning algorithm solved the discontinuity and shock problems of the manipulator's velocity during the intermittent control process. The algorithm also reduced acceleration shock and made movement more stable by setting jerk dynamically.
Velocity control experiments revealed that this algorithm limited the velocity error during acceleration and deceleration to ±0.03 mm/s and the velocity error at constant velocity to ± 0.01 mm/s. By applying position-based impedance control to compensate for the displacement and velocity of the drive cables, the stiffness of the cable-driven manipulator was further optimized. Stiffness control experiments indicated that applying this control reduced the position error of a loaded manipulator from 16.81 mm to 1.96 mm.
Future studies should investigate the payload capability, stiffness modeling, and force-compliant control of variable-stiffness cable-driven manipulators.