Abstract

Parallel kinematic machines (PKMs) are commonly used for tasks that require high precision and stiffness. In this sense, the rigidity of the drive system of the robot, which is composed of actuators and transmissions, plays a fundamental role. In this paper, ball-screw drive actuators are considered and a 6-degree of freedom (DoF) parallel robot with prismatic actuated joints is used as application case. A mathematical model of the ball-screw drive is proposed considering the most influencing sources of nonlinearity: sliding-dependent flexibility, backlash, and friction. Using this model, the most critical poses of the robot with respect to the kinematic mapping of the error from the joint- to the task-space are systematically investigated to obtain the workspace positional and rotational resolution, apart from control issues. Finally, a nonlinear adaptive-robust control algorithm for trajectory tracking, based on the minimization of the tracking error, is described and simulated.

1. Introduction

Different drive systems are used for moving PKMs. Electrical linear motors, ball-screw-driven units, and belt-driven units are the three most commonly used solutions to actuate prismatic joints. Linear motors directly provide the thrust force, while ball-screw- and belt-driven units convert a rotational motion into a linear one. Ball-screw-driven units have good stiffness and good precision for short and medium travel [1]. Belt-driven units can be used for high speed and long travel strokes [2, 3], but with a low accuracy because of the flexibility of the belt. Linear motors put together the advantageous features of ball-screw and belt: zero backlash, high stiffness, high velocities, and acceleration. Nevertheless, this is paid for in terms of higher costs, lower energy efficiency, smaller force-to-size ratio, and higher constructive complexity [4]. Moreover, linear motors are not available as ready-to-use units, especially when a large actuation force is required. In this case, custom-made solutions are necessary including an adequate liquid cooling system. Accordingly a ball-screw drive actuator often represents the best compromise solution.

Many researchers have modeled ball-screw-driven transmission by considering its structural flexibility. Flexible ball-screw models range from fairly simple ones consisting of lumped masses connected by springs, such as those in [5, 6], to more complicated ones with distributed parameter employing FEM, such as those in [7, 8]. Hybrid methods are also proposed, taking into account distributed stiffness and inertia of the screw while modeling other components as lumped masses connected by springs, as set out in [9, 10]. However, only lumped-masses equivalent models are used for control purposes, and, frequently, 2 DoFs are considered enough: a rotational DoF and a translational one [1113]. In support of this approach, Frey et al. in [14] show that an accurate representation of the screw elastic behaviour can be obtained through a simplified lumped model. Complementary, other researchers such as Han and Lee in [15] model a rigid ball-screw-driven system by considering backlash and friction. In this work, flexibility, backlash, and friction are taken into account at the same time.

The control strategies for a PKM can be largely divided into two schemes: joint-space control and task-space control. The joint-space control scheme can be readily implemented as a collection of multiple, independent, single-input single-output (SISO) control systems using only information on each actuator displacement [16]. On the other hand, the task-space control implements direct control of the 6 DoFs by measuring or estimating them solving the forward kinematics. In addition, robot manipulator control strategies can be classified into model-based control and performance-based control [17]. Model-based control requires an accurate dynamic model of the robot while performance-based control adjusts the control parameters according to the tracking error, as has been done in this work with an estimated model.

Due to the closed-loop kinematic chains of PKMs, strong interactions between different actuators appear. This, combined with high speed motion, makes the dynamics of parallel manipulators highly nonlinear. In order to perform suitable compensation for these sources of nonlinearity, the parameters of the motion equations should be known exactly [17]. Since PKMs require generally a relatively small workspace compared to their overall size, even if this characteristic represents a drawback compared to serial manipulators, the configuration-dependent coefficient matrices of the dynamic equations may be approximated as constant ones without introducing large modeling errors. Based on these constant matrices, calculation of the approximated inverse dynamics becomes much simpler than solving the full inverse dynamics. However, to prevent deterioration of tracking performance that may cause this approximation with a controller based on the inverse dynamics [18], performance-based control methods can be used. The most important of these methods are sliding mode control, robust control, adaptive control, and adaptive-robust control.

In spite of the properties of robustness claimed, the real implementation of sliding mode control techniques presents a major drawback that is the so-called chattering effect with dangerous high-frequency vibrations of the controlled system. This phenomenon is due to the fact that, in real applications, it is not reasonable to assume that the control signal can switch at infinite frequency. Robust control means to design a controller such that some level of performance of the controlled system is guaranteed independently from changes in the plant dynamics. In the robust approach, the controller has a fixed structure that yields acceptable performance for a class of plants which include the one in question. Robust control is widely used for 6-DoF parallel robot, especially for Gough-Stewart platform [16, 18, 19]. A disadvantage of commonly used robust controllers is that they do not have the ability to learn. This inability implicates conservative design and the stability of the system is achieved at the cost of performance. Adaptive control measures performance indexes of the controlled system using the input, the state, the output, and the known disturbances [20]. From the comparison between the measured performance indexes and the required ones, the adaptation mechanism modifies the parameters of the adjustable controller and/or generates an auxiliary control input. According to [21], we can classify adaptive controllers in three schemes: adaptive control by a computed-torque approach, adaptive control by an inertia-related approach, and adaptive control based on passivity. Honegger et al. use adaptive feed-forward control method in [22, 23] because it is simpler to implement than other algorithms and it is robust to noise and leads to similar or better results [22]. Disadvantages of adaptive control are limited to nonlinear systems in which the uncertain parameters appear linearly, and adaptive controls often exhibit poor transients [24]. To simultaneously achieve the advantages of both adaptive and robust control, these methods can be used together, such as in [25].

In this paper, a systematic methodology to find the error of a 6-DoF robotic device with parallel kinematic and Hexaglide architecture [22] is presented. This robot was designed to equip the Politecnico di Milano wind tunnel with a motion simulator for Hardware-in-the-Loop (HIL) large-amplitude dynamic test. In particular, this works as an emulator to reproduce the hydrodynamic interaction between floating bodies and sea water, in the case of floating offshore wind turbines [26] and sailing boat scale models. In previous works [27], the drive system is mechanically sized without considering flexibility, backlash, and friction.

The experiments that will be conducted in the civil environmental chamber of the wind tunnel require turbine and boats scale models to be aeroelastic. In order to obtain consistent results, these models are designed to have specific modal shapes, by the way the coupling with the robot and the transmission units might affect the desired behaviour. For these reasons, the manipulator has to be as rigid as possible and in addition all the worsening effects coming from the transmission units (backlashes, flexibility, and friction) should be properly modeled and compensated by means of a suitable control algorithm; otherwise the experimental results would be invalidated.

A mathematical model of the ball-screw drive is proposed considering the most influential sources of nonlinearity: sliding-dependent flexibility, backlash, and friction. Using this model, the most critical poses of the robot with respect to the kinematic mapping of the error from the joint to the task-space are systematically investigated to obtain the workspace positional and rotational resolution, apart from control issues. Finally, a nonlinear adaptive-robust control algorithm for trajectory tracking, based on the minimization of the tracking error, is described and simulated. This device is developed for the experimental simulation of the dynamic working conditions of the above-mentioned hydroaeroelastic structures in our wind tunnel (specially for wind turbines).

This paper is organized as follows. Section 2 introduces the inverse kinematics and dynamics of the Hexaglide. Section 3 sets out the equations of motion of a ball-screw drive actuator. Section 4 describes a systematic error evaluation methodology. Section 5 presents adaptive-robust control method for trajectory tracking, whose performances are simulated and compared with other methods.

2. Hexaglide Robot

Among the PKMs that can provide 6 DoFs, attention has been focused on Hexaglide, which is also reported in the literature as 6-US kinematic architecture with parallel linear guideways. Its linkage consists of six closed-loop kinematic chains which connect the fixed base to the mobile platform with the same sequence of joints: actuated prism (), universal (U), and spherical (S). The links have a fixed length, while the actuation takes place through linear guideways, which are not necessarily on the same plane but lie on parallel planes.

2.1. Inverse Kinematics

To perform the inverse kinematics analysis of the Hexaglide means to find each slider position from TCP position and mobile platform orientation; [28], where is the rotation around -axis, is the rotation around -axis, and is the rotation around -axis. With reference to the quantities shown in Figure 1, the inverse kinematics of the Hexaglide is solved as described in [26]. In particular, it is possible to write where is a unitary vector aligned with the th guide axis, is the position of the same guide with respect to the fixed frame, is the vector aligned with the th link, is the vector containing the position and orientation of the mobile platform, is the rotation matrix, and expresses the position of the th platform joint with respect to the TCP in the relative frame, while represents the position of the th slider along the corresponding guide axis. After some simple mathematical passages, the following expression is found:

The velocity and acceleration of the each slider can be derived from (2) as where , and , whereas and are TCP velocity and acceleration, while and are absolute angular velocity and acceleration of the platform. It must be noted that the components of the angular velocity and acceleration of the platform do not coincide with the time derivative of the angular coordinates: and are defined as skew-symmetric matrices:

2.2. Inverse Dynamics

Inverse dynamics is the calculation of forces and torques on the robot actuated joints in order to produce the required motion of the mobile platform. A multibody model is implemented in Simulink using the SimMechanics library. Inverse dynamics is solved taking into consideration two payloads: a scale model of a sailing boat and a scale model of an offshore wind turbine. In order to perform the simulation, the required slider motions are calculated using (2) with first required platform motions as input parameters. Subsequently, required slider motions are applied to the SimMechanics robot model and the forces at the robot joints are computed. Figure 2 shows the block scheme of the inverse dynamics model in SimMechanics.

3. Dynamic Model of Ball-Screw Drive

Typical ball-screw drive consists of a motor and reducer, coupling, ball-screw, table, and end bearings. In this section, the dynamic model of ball-screw drive is studied taking into account flexibility (in gearbox, coupling, screw-ball, and bearing), backlash (in gearbox and between screw and nut), and friction. Figure 3 illustrates the lumped-mass-spring model of ball-screw drive.

The translational movement of the nut was modeled by taking into account two elements: the ball-screw transmission ratio and the axial elastic deformation of the screw. In particular, the first contribution is easily described by the relation where is the ball-screw transmission ratio and is the rotational movement of the screw while the second one is represented by that is the translation movement due to axial elastic deformation of screw.

In addition, ball-screw has torsional flexibility ( is ball-screw torsional stiffness) and axial flexibility ( is ball-screw axial stiffness).

According to Figure 3, the kinetic energy (), potential energy (), dissipative function (), and virtual work of the external forces () can be, respectively, expressed as where , , , and are the motor torque, motor inertia, gearbox inertia, and slider mass, respectively. Also and are the slider friction force and reaction force between the th slider and the th robot link, respectively. The terms and are the angular position of driver motor and the gearbox angle, whereas and are the mass and moment of inertia of screw (, where is the diameter of screw shaft). The backlash torque is calculated by means of (10), whereas is gearbox mechanical efficiency and is the gearbox ratio . The angular position of coupling and the moment of inertial of coupling are and , respectively. Finally is the backlash force in nut and , , and are coupling stiffness, screw axial equivalent damping, and nut damping, respectively.

The following systems of equations allow evaluating and : where is the stiffness between nut and screw, is the backlash in the gearbox, and is the backlash between nut and screw.

Torsional stiffness of the screw, , is calculated as explained in [29] and shown below: where is the shear module of the screw, is the distance between the home position and the bearing near to the motor, and is the polar moment of the screw. Axial stiffness of the screw depends on type of bearing which is used in the ball-screw drive. As a result, axial stiffness of the screw and are found in the two conditions set out as follows.

Ball-Screw Shaft Fixed at One End. Figure 4 shows this case, where the screw shaft has axial force only between the axial-fixed bearing and the nut. Therefore, only this part of the screw shaft has axial deformation and can be modeled with a spring. Also the axial-fixed bearing can be modeled by a spring that is series with an equivalent spring model of the shaft screw. Equivalent stiffness is calculated by the following equation: According to [9, 12], stiffness of the screw in this condition is function of the table position.

Ball-Screw Shaft Fixed at Both Ends. In this case there are two springs connected in series on each side of the shaft, as shown in Figure 5. Therefore, equivalent stiffness is calculated by using the formula of a parallel spring as shown in the following equation:

The friction force is estimated using this exponential form: where is the static coefficient of friction, is the kinetic coefficient of friction, is the normal reaction force between th slider and th robot link, is the viscous friction parameter, and is the characteristic velocity of the Stribeck friction. Ball-screw drive equations of motion are resolved via Simulink and the results are used in Hexaglide model.

Considering (6), (7), (8), and (9) and applying Lagrange method, the following equations are obtained:

4. Error Evaluation

To evaluate the positioning error of the TCP in the task-space, a method based on a kinematics analysis has been performed. First of all, the critical poses of the Hexaglide workspace are found via kinematic mapping of the error taking into account as a source of error only the slider position. Subsequently the critical poses found are used as the initial positions and orientations of the TCP from which to begin the dynamic simulation of the behaviour of the robot. The aim of these steps is to detect the point which has the worst condition in terms of the maximum error. This method is explained in more depth hereafter.

From kinematic analysis of the Hexaglide, we know that , where is a Jacobian matrix, is the sliders velocity vector, and is the velocity vector of the platform. For small variations, it is correct to write where is the robot pose. If all the actuators and transmissions are equal and the robot is considered rigid with ideal joints, the drive systems are the only source of errors. It is reasonable to assume that the errors in the sliders positions are limited by a maximum value (infinity norm is the best suited norm when it comes to representing this situation: ). Considering that all the sliders have the same errors , the maximum errors of TCP position and platform orientations are defined by

Figure 6 shows an example of the density distribution of error contours in the workspace of the Hexaglide in direction. Critical TCP positions are summarised in Table 1; furthermore critical orientations are for sailboats and are for wind turbines.

Error of TCP position and platform orientation is calculated by means of where and are the required pose of the robot and the pose error, respectively. Then, the slider position setpoints are calculated from the required TCP position using the inverse kinematic equation (2). This analysis has been performed taking into consideration each degree of freedom of the TCP (, , , (rotation around -axis), (rotation around -axis), and (rotation around -axis)) separately and the motion law used for each DoF is sinusoidal. In order to set the correct initial conditions of the simulation and to prevent impulse forces in the robot joints, a five-order polynomial function has been used to fade in the sinusoidal function. In this way, the simulation begins with zero velocity and acceleration.

Thus, the required platform motions are defined by the following equation: where is the initial platform pose (Table 1) whereas and are amplitude and frequency of movement, respectively (Table 2).

For the ideal situation (linear transmission rigid and gearbox without backlash), the angular motor positions are calculated from the slider positions by and the dynamic behaviour of the sliders is evaluated by the equations shown in (16). Figure 7 summarises the main steps necessary to obtain the TCP position and the platform orientation for the nonideal system using the SimMechanics model, earlier described. As can be see, the error between ideal system and the system which includes backlash, flexibility, and friction is calculated. The worst operating condition, in other words the maximum error, is found by comparing the results achieved by each DoF under different motion laws.

The previous analysis has been performed using data of a Rexroth Bosch CKK 25-200 ball-screw drive. A ball-screw drive with shaft free at one end has been investigated. In fact this condition has a lower stiffness with respect to the situation in which the shaft is fixed at both ends, so it represents the worst situation. On the other hand, the ball-screw configuration with both ends fixed in general is not used because any gradient of temperature on the screw can generate high stress, reducing the screw and bearings life. Instead, backlash is a real problem in precise control; therefore, screw with preload must be chosen to reduce it. Below parameters are used in the simulations:

Note that the ball-screw damping ( and ) has to be identified by means of experimental tests on the real machine, but it does not have too much significance in predicting the elastic deformation [12]. Consequently, values of and are chosen from the literature [12, 30]. The same approach is used to choose the values of the friction parameters in (15) in particular by the cited reference Okwudire [31].

Figure 8 shows maximum and RMS error for TCP position and platform orientation in each movement when the requirements are defined for sailboats simulations. Table 3 summarises maximum value of TCP positioning and orientation errors while Table 4 shows in which poses these maximum error conditions have been achieved.

According to Tables 3 and 4 and Figure 8, the critical condition is found when is moving and and are the initial platform orientation for the sailboat simulations. When is moving and and are the initial platform orientation, we have the maximum error in the case of wind turbine simulation.

5. Control of the Hexaglide

The design of a control system of a six-degree of freedom parallel kinematic machine is a very difficult task. Usually it is very expensive to measure the end effector position of a 6-DoF robot. Instead of the pose of the robot platform, the position of each slider or angular position of each motor is measured and the pose of the end effector is estimated using the direct kinematics. By the way this method can only be applied if the machine is properly calibrated and if all the machine components are realized respecting very strict tolerances; otherwise the estimation of the pose of the mobile platform would be erroneous. If these requirements cannot be met, it is necessary to use specific measurements devices like CMM or 3D positioning systems as the ones described in [32, 33]. Furthermore 6-DoF PKM robot has complex dynamics without an analytical solution made more complex by the nonlinearity of the actuation systems. Therefore, to setup a control strategy it is necessary to pass through a linear form of dynamic equations as described in [22, 23].

A promising approach for developing a control algorithm in these conditions is the adaptive and robust nonlinear control as presented in [34, 35]. In this paper, starting from a literature review, a PID adaptive-robust control for the Hexaglide is developed. Figure 9 shows the block diagram of the control proposed.

We can write the dynamic equation of the robot, including the actuator dynamics, as follows: where is the vector of motor torques and is the vector of the joint position. The manipulator mass matrix, , is symmetric and positive definite. The vector represents torque or force arising from centrifugal, Coriolis, gravity, and friction forces.

The control action can be obtained by means of a suitable input motor torque, defined in this way:

In this expression, is a matrix containing nonlinear equation and is a vector containing dynamical parameters, whereas , , , and are positive diagonal matrices. Position error vector of the sliders is defined as where is the desired position of slider found from the desired platform pose via the inverse kinematics. The vector represents the combined error and it is defined in a similar way to the sliding control approach: where is a positive and diagonal matrix. The vector can be also defined as where is called reference value of and it is obtained by modifying according to the tracking error. is defined as

In order to simplify the computational aspects of this control structure, it is possible to omit the dynamic behaviour of the six links. In this way, the model of the robot is made up of only seven bodies: six linear transmission drive servomechanisms and one mobile platform. The function can be modified in the following way: where and describe the dynamics of the six linear transmission drive servomechanisms, and describe Coulomb friction within the linear transmissions, and and describe the dynamics of the platform. The terms and are defined by where are estimated mass, damper, and spring coefficient, respectively, for each linear transmission, whereas and are defined by where are Coulomb friction coefficients in each linear transmission. The definition of and is more complicated. The vector of dynamical parameters is set out by

It is made up of the mass of the platform, the payload, and the inertia moments , , and . The frame connected to the TCP is supposed to be oriented in order not to consider the inertia moments , , and . The matrix is given by where is the Jacobian matrix and is the rotation matrix. The acceleration and the skew-symmetric matrix corresponding to the cross product are defined as follows:

The matrices and are defined as where is the absolute angular velocity of the platform.

Given the desired trajectory (we shall assume that the desired position, velocity, and acceleration are all bounded), and with some or all manipulator parameters unknown, the adaptive controller design problem is to obtain a control law for the actuator torques and an estimation of the unknown parameters, in such a way that the manipulator follows the required trajectory in the best way possible.

To do that we define a function to estimate the parameter error as a difference between a vector of unknown parameters describing the manipulator’s mass properties and its estimate. By considering as a candidate the Lyapunov function, where is a symmetric positive definite matrix. Differentiating and using (22), (23), and (26) yield Updating the parameter estimates according to the correlation integrals [35], and (23) changes to

By choosing , , and , robot is controlled for tracking six-degree of freedom sinusoidal movements ((20) and Table 2) in its task-space, simultaneously. The position error of each slider is shown in Figure 10 whereas Table 5 presents the maximum and RMS of the position error of sliders.

Figure 11 shows the tracking errors of the platform. Table 6 presents the maximum tracking error and the RMS tracking error. According to this table, maximum percentage of the tracking error occurs in orientation with 1.29% of the movement amplitude. According to these results, adaptive-robust control has shown a good performance.

To highlight the efficiency of the controller designed, two different control methods are analysed: dual PID control presented in [36] and PD adaptive control shown in [23]. Figure 12 shows the comparison of the results achieved with these two control strategies with the one described in this paper: PID adaptive-robust control method has minor error.

6. Conclusions

In this paper, a systematic methodology to find the error of a 6-DoF robotic device with parallel kinematic and Hexaglide architecture is presented. This robot works as an emulator to reproduce the hydrodynamic interaction between floating bodies and sea water, for aerodynamic tests in wind tunnel.

A systematic error evaluation methodology is based on accurate modeling of the behaviour of the linear transmission actuators that move the robot and by means of a mapping of the robot working volume in order to identify the worst work conditions. The critical poses of the end effector in the workspace for each desired movement have been found through a kinematic analysis whereas the dynamic analysis of Hexaglide actuated by ball-screw linear transmissions has been performed, in these critical poses, for obtaining the worst cases. The robot has been simulated into Simulink-SimMechanics environment and an adaptive-robust control strategy has been designed to control the end effector position in order to track spatial complex trajectory. Finally the control strategy performances have been compared with other control methods.

The results of the work demonstrate that the ball-screw linear actuator used to move the Hexaglide architecture developed and the PID adaptive-robust control allows one to achieve accuracy of approximately 0.7 mm in TCP position and of 0.17 degrees in platform orientation. These results are in line with our required performance and consolidate the design choices with respect to the actuation system and the algorithm control strategy.

Competing Interests

The authors declare that they have no competing interests.