Dynamic Modeling and Control of Antagonistic Variable Stiffness Joint Actuator

: This study aims to develop a novel decoupling method for the independent control of the position and stiffness of a variable stiffness joint actuator (VSJA), which has been proven to be able to vary its stiffness in a larger range than other variable stiffness actuators. Using static analysis and the Jacobian matrix, we obtained the model of the stiffness of the robot joint actuator and dynamics. Based on the hybrid dynamic model of position and stiffness, it is possible to compensate for the torque of the variable stiffness joint actuator (VSJA) to enhance position control. Finally, after de ‐ scribing the actuator prototype, the established compliance control method is verified using simu ‐ lation and experimental analysis.


Introduction
Variable stiffness robot joints (VSJs) are a class of joints that differ from traditional rigid robot joints in the sense that they are flexible and can adjust their flexibility. Owing to their adjustable stiffness, they can ensure stable contact and safe operation. Therefore, these joints have been integrated into the development of several robots [1][2][3][4][5][6]. Some VSJ [7][8][9][10] have an antagonistic structure that is resemblant to the system of skeletal muscles that regulates stiffness and position in humans. In these, it is possible to separate a drive unit, a variable stiffness mechanism, and an output link. Such separation can significantly reduce the mass and inertia of the output link. It is well-known from the literature [11,12] that the variable stiffness capability of antagonistic structures is directly related to the output torque of the drive units. Therefore, the range of variable stiffness can be small when the torque provided by the motor is limited. In this study, we use a novel permanent magnet mechanism, already presented in [8], which increases the variable stiffness range without increasing the driving torque requirements.
However, introducing compliance to robot joints poses control problems, which have been extensively investigated [13][14][15]. The main motor controls the position or velocity in the traditional series variable stiffness joint. Stiffness is regulated by another auxiliary motor with a variable stiffness mechanism. Stiffness control and position control are independent. Therefore, the challenges linked to the position control problem, associated with mechanical compliance, are mainly related to the control of the main actuator. Previous studies used feedback linearization to control joints with constant compliance or with variable stiffness [16][17][18][19][20]. However, the control problem associated with the compliance of the wire-driven antagonistic VSJs is related to both motors, where a coupling of the joint compliance and position is present [21][22][23][24][25][26]. If the coupling is not dealt with, the control system is often fragile and not anti-disturbance. When the load changes or is subjected to an unknown shock load, problems such as instability of the control system become more prominent [27][28][29][30][31].
In this study, the VSJA is introduced based on the parallel configuration and permanent magnetic mechanism. The actuator stiffness model is obtained using the Jacobian matrix and the static relationship. The nonlinear equations composed of the mechanical model and the stiffness model are solved using the optimization method, which can be used to realize a nonlinear decoupling of the stiffness and position of the actuator, thus independently achieving position and stiffness control and unity of the compliance. Based on the hybrid dynamic model of VSJA's position and stiffness, a torque observation method was proposed to realize the torque compensation, improving the position control ability under different joint stiffness. The above control method is simple, easy to implement, and practice.

Working Principle and Stiffness Model
The VSJA is a parallel wire-driven structure similar to the antagonistic muscle driveform, as shown in Figure 1A. The permanent magnetic mechanism consists of the permanent magnetic spring module and the wire-driven system [8], which can perform humanlike flexible motions. The permanent magnetic spring module comprises of two sameannular permanent magnets, whose similar magnetic poles face each other as shown in Figure 1B. The wire-driven system is used for the VSJA drive. One end of the wire is fixed on one side of the output link through two fixed pulleys and a movable pulley in the permanent magnetic mechanism, while the other end of the wire is fixed on the wire winch of the servomotor. Two groups of the above structures are symmetrically arranged on both sides of the output link. The wire tension τ is applied to the movable pulley through the wire, then the air gap of the magnetic spring module decreases as the movable pulley is pulled up. The magnetic force and stiffness increase nonlinearly when the air gap decreases. The magnetic force acts on the output link through the wire, thus the increase of the magnetic force will increase the stiffness of the joint. A permanent magnet spring was used instead of a linear spring, increasing the variable stiffness performance without increasing the wire tension, unlike the wire-pulley system with a linear spring [14]. Therefore, the joint quality, inertia, and motor power can be reduced. When the two motors rotate in the same direction at a certain speed, the joint position can be changed without changing the stiffness. When the two motors rotate in opposite directions with a certain speed, the joint stiffness can be changed, and the position remains unchanged. The output link is rotated along the output shaft synchronously pulled by the wire. The encoder and output shaft are coaxial. The encoder can be used to determine the real-time position of the output link, evaluating the output link stiffness.  The VSJA coordinate is defined as shown in Figure 2. The coordinate system O1{x1, y1} is fixed at one end of the output link, and the output link is coaxial with the y1 axis of the O1{x1, y1}. The z1 axis of the coordinate system O1{x1, y1} and the z0 axis of the base coordinate system O0{x0, y0} are coaxial. The coordinate system O2{x2, y2} is set on another end of the output link gained by moving coordinate system O1{x1, y1} a definite distance with the y1 axis. In this coordinate system, the transformation relationship from the output link coordinate system to the base coordinate system can be described through homogeneous transformation. The wire length equation can be obtained.
In the formula, Pai is the position vector of the ai point in coordinate system O2{x2, y2}, and Pbi is the position vector of the bi point in base coordinate system O0{x0, y0}. The gravitational force of the output link mg and all wire-tensions τj (j = 1~2), have the following static balanced relationship: where rj is the moment arm of the jth wire-tension and rg is the moment arm of the gravitational force.
Suppose that the joint actuator experiences an infinitesimal external torque ΔT, bringing a tiny variation in the joint actuator Δθ as follows: ΔT/Δθ represents the stiffness of actuator Kθ. Representing the length of the jth wire as lj, ∂τj/∂θ is expressed by the following equation: Kj = ∂τj/∂lj denotes the stiffness of the permanent magnetic mechanism, ∂lj/∂θ is expressed by zj, and ηj represents the vector direction of wire tension τj.
The relationship between wire velocity and output link velocity   can be rewritten as (4): J represents the Jacobian matrix from   to l  , which can be expressed by the following equation: The relationship between stiffness k1, k2 of the permanent magnetic mechanism, and output link stiffness Kθ can be obtained by simplifying Equations (3), (5), and (6) as follows: The best-fit mechanical model of wire tension τ(Δl) and wire stretch Δl of the permanent magnet variable stiffness mechanism in [8] was obtained as follows:

Joint Actuator Dynamic Model and Controller Design
The dynamic model of the flexible variable stiffness joint is mainly divided into three parts, including the output link, motor M1, and motor M2. The output link is non-linearly coupled, and the motor is linearly decoupled. The variable stiffness mechanism causes the elastic deformation of the joint, and the elastic deformation of the wire is ignored.
where IL is the moment of inertia of the output link, BL is the damping coefficient of the output link, G(θ) is the gravitational moment vector, IM is the moment of inertia of the drive unit (including the motor, reducer, winch, etc.) transferred to the motor shaft, rd is the radius of the winch, and θ1,2 is the position vector of the 2×1 motor rotation angle.
When the output link is at the initial position, θ1,2 is 0. ξ is the tension vector of the wire.
Tm is the motor output torque vector. Although there are six state variables ,   in the system, only two are independent, and the remaining state variables are determined by  ,   and stiffness Kθ of the output link.

Controller Design
The gravity moment G(θ) was considered during the solving of the nonlinear equations with the Newton method to realize the stiffness decoupling control. The total input torque is , the reference input stiffness is Kθ and the input position of the output link is θd. The VSJA can be reduced to a physical model consisting of the input torque, the output link, and the elastic part. The input position is θd, and the input torque acts on the elastic part first. Then, the torque transmitted to the output link, i.e., the actual output of the output link, is θ, as shown in Figure 3.
The input torque, gravity moment G(θ), and the elastic part have the following balance relationship: Then, the nonlinear dynamic equation of the VSJA can be simplified as follows: Following Laplace transformation of the above formula, the system transfer function is obtained as: All the poles of the characteristic root of the system have negative real parts, making the system stable.
In the trajectory planner, the wire length change value fi(θ) that is used to control output link position θ can be obtained.
Output link position θ and stiffness Kθ are given before calculating Equations (2), (7), and (8), and then the corresponding wire stretch values (Ls1 and Ls2) that realize the output link stiffness can be acquired (Figure 4). The gravitational force of the output link was considered while determining the values of wire length. This did not require adding the gravity compensation again when controlling the stiffness and position of the output link. The controller of motor M1 and M2 are the conventional PD controllers used to regulate the wire length.
The controllers are used to control the actual rotation of the motors. The input term is the sum of the angle required to control the position of the output link and the angle needed to control the stiffness of output link θ1d and θ2d. The output term is the actual rotation angle of the motors θ1 and θ2.
After Laplace transformation, the closed-loop transfer function of the motor is obtained as: To make the system stable, the value ranges of kd and kp can be obtained following the Routh-Hurwitz criterion.
The system adopts a position and stiffness hybrid control strategy. The structural block diagram is shown in Figure 5. Given the position of output link θd, the rigid parallel robot's position transformation relationship is used to obtain the wire-length changes f1(θd) and f2(θd) that are caused by changing the output link's position. Given the output link stiffness Kθ, using the Newton method to solve the nonlinear equations formed by Equations (2), (7), and (8), the corresponding Ls1 and Ls2 can be obtained. Then, the change in length of the two wires at this time is f1(θd)+Ls1 and f2(θd)+Ls2, realizing the decoupling control of position and stiffness. Two servo drive motors adopt PD position control. The above-mentioned decoupling controller entirely considers the difference in flexibility when the output link stiffness changes and realizes the position control accuracy and also realizes the stiffness control. This method is simple, easy to implement, and practical. Next, when the output link is subjected to external torque Text, the dynamic equation of the output link becomes: Then the final steady-state form of the system becomes: It can be seen from the final stable form of the system that as long as the stiffness of the joint is controlled accurately, compliance can be adjusted accurately.
When the output link is subjected to an external torque, the new balance relationship is formed as follows: From Equation (14), the external torque Text can be estimated. Solving the new nonlinear equations formed by Equations (7), (8), and (18), and obtaining new wire-length changes Ls1 and Ls2, the compensation of gravity and compensation of external torque can be realized, as shown in Figure 6. The advantage is that when an external force deforms the output link, it can be detected by the encoder in real-time, and then substituted into the decoupling calculation.

System Simulation Analysis
The structural parameters of the variable stiffness joint actuator are as shown in Table  1. Using the S-Function module in MATLAB/Simulink for simulation analysis, we substituted the corresponding parameters of the joint actuator into the simulation block diagram. The simulation result of the relationship between the joint position response and joint stiffness change is shown in Figure 7(A). The stiffness of the VSJA was changed to Ka = 30 N•m/rad and Kb = 60 N •m/rad. Then, a sine signal with an amplitude of 20 degrees and a period of 3.2 s was given to the VSJA. The position response of the VSJA is as shown in Figure 7A. The dotted-and-dashed red line was the trajectory following the VSJA, when joint stiffness Ka = 30 N•m/rad. The dashed blue line was the trajectory following the VSJA, when joint stiffness Kb = 60 N•m/rad. The law of the change between position response and joint stiffness can be obtained from the simulation results. When the joint stiffness was low, the position error of the VSJA caused by inertia was large, and the position error was bigger than high joint stiffness. Meanwhile, with the increase in joint stiffness, the position error caused by inertia was suppressed.
The simulation result of the VSJA's compliance is shown in Figure 7B. When the VSJA was in the initial position, the stiffness of the VSJA was changed to Ka, Kb and Kc (Ka = 30 N•m/rad, Kb = 60 N•m/rad and Kc = 90 N•m/rad). In the time period of 2 to 4 s, an external torque of 1.5 Nm was applied to the VSJA, the position change of the VSJA is shown in Figure 7B. When the joint stiffness is Ka, the joint position change is shown as a dotted-and-dashed red line. When the joint stiffness is Kb, the change in joint position is shown as a dashed blue line. When the joint stiffness is Kc, the change in joint position is shown as a solid black line. By analyzing the relationship between joint position and stiffness change, we found that the accurate control of VSJA compliance can be achieved through the change in joint stiffness.

Experimental Analysis
The experimental setup, using a wire-driven variable stiffness robot joint actuator, was constructed as shown in Figure 8. The controller unit of the variable stiffness robot joint actuator was a MicroLabBox (MicroLabBox, dsPACE, Paderborn, Germany), regulating the motions of DC servo motors (M1 and M2) with the harmonic reducer (the reduction ratio is 50:1) at 1 kHz. The joint actuator control code was written directly in the real-time control software MATLAB/Simulink (2012).

Analysis of Position Control
To investigate the performance of the position control, sine signals with an amplitude of 20 degrees and a period of 3.2 s were investigated for different joint stiffness values. The motion direction of the joint actuator was perpendicular to the gravity direction. The dotted-and-dashed red lines represent the measured joint position for joint stiffness Ka (Ka = 30 N•m/rad), and the dashed blue lines represent the joint position for joint stiffness Kb (Kb = 60 N•m/rad), as shown in Figure 9A. This experimental result demonstrated the behavior of a compliant joint. As the joint stiffness increased, the overshoot decreased, and the response speed increased. The deviations at the peak position and valley position were higher than those in the other position. The corresponding DC servo motor (M1 and M2) rotations are shown in Figure 9B

Analysis of Compliance Control
A weight of 0.25 kg, with a 200 mm vertical height, affected the output link end of the variable stiffness joint actuator whose length was 250 mm. Meanwhile, the deflection angle of the variable stiffness joint actuator was recorded. The initial condition was that the output link of the joint actuator remained horizontal, and no external torque was applied to it. When the stiffness of the variable stiffness joint was Ka = 30 N•m/rad, Kb = 60 N•m/rad, and Kc = 90 N•m/rad, we repeated the collision experiment and recorded the maximum deflection angle and vibration time. As shown in Figure 10, when the stiffness of the variable stiffness joint was Ka, the maximum deflection angle (−8.49°) of the output link was much bigger than joint stiffness Kb (−6.48°) and joint stiffness Kc (−5.4°). When stiffness was at a higher level, the vibration was slight, and the vibration time was about 0.23 s. However, when stiffness was at a lower level, vibration was significant, and the vibration time (0.35 s) was much longer. The experiments demonstrated that vibration and vibration time increased with the decrease in joint stiffness.
The safety of the variable stiffness joint actuator was verified using collision experiments. The collision force between the output link end and the weight can be calculated by the maximum deflection angle and corresponding joint stiffness, as shown in Figure  10. The maximum collision force at stiffness level Ka was 4.44 N at the time of 0.477 s. The maximum collision force at stiffness level Kb was 6.78 N at the time of 1.278 s. The maximum collision force at stiffness level Kc was 8.48 N at the time of 2.057 s. The collision condition of the experiment was the same, and the collision force can be regulated easily by changing the stiffness of the variable stiffness joint actuator. This means that the variable stiffness joint can effectively absorb the collision force by changing the joint's stiffness.

Analysis of Force Compensation
To investigate the control performance of the compensation of the external torque, a 0.5 kg weight was attached to the output link (length of 250 mm), to observe the deformation angle of the variable stiffness joint actuator using controllerⅠ(decoupling controller) and controllerⅡ(decoupling controller with compensation of external torque), respectively. The experiment was repeated at two joint stiffness levels, and the results are as listed in Table 2. When the joint stiffness was 30 N•m/rad, using controllerⅠ, the average deformation angle of the variable stiffness joint was 3.32°, while using controllerⅡ, the average deformation angle was 0.32°. When the joint stiffness was 60 N•m/rad, using con-trollerⅠ, the average deformation angle of the variable stiffness joint was 1.58°, while using controllerⅡ, the average deformation angle was 0.28°. These results showed that the decoupling controller with an external force compensation could significantly improve the position control accuracy for the variable stiffness joint. The stiffness control effect of the decoupling controller can meet the working requirements, and the external force compensation link can be selected according to the position control accuracy requirements.

Conclusions
Aiming at the stability and safety of the interaction between users and robots, this study proposed a decoupling control method for the position and stiffness for the wiredriven variable stiffness robot joint actuator, realizing compliance control and position control. The joint actuator stiffness model is obtained using the Jacobian matrix and the static relationship between the models. The nonlinear equations composed of the mechanical model of the variable stiffness mechanism and the joint stiffness model were solved using the optimization method to realize a nonlinear decoupling of stiffness and position.
Based on the decoupling control method, the variable stiffness joint actuator torque compensation was realized, and the joint position tracking ability was improved. The joint prototype and control system of the variable stiffness joint actuator was established. The feasibility and effectiveness of the above compliant control and external torque compensation methods were verified via simulation and experimental analysis. The current study lays the foundation for a real-time control system considering dynamic modeling and disturbance uncertainty in the future.