Abstract
Introduction
A parallel manipulator is a closed-loop mechanism that consists of a base and an end effector connected through several identical limbs [1]. Generally, the number of actuated joints is equal to the number of degrees of freedom for the full parallel manipulator. It has been acknowledged that parallel manipulators possess advantages in terms of accuracy, rigidity, large load-to-weight ratio and high acceleration, compared to traditional serial manipulators [2, 3]. This statement can be verified by their wide application as machine tools [4, 5], positioning devices [6, 7], motion simulators [8, 9] and high-speed pick-and-place robots [10, 11]. An accurate dynamic model and parameters function as a closely related whole and are important for the parallel manipulator in several aspects, including dynamic control, optimization analysis and driver selection, since parallel manipulators are generally preferred in applications where high load and good dynamics are required.
Extensive work has been carried out on the dynamic modelling of parallel manipulators. Based on different mechanical principles, several methods can be adopted, namely, the Newton-Euler method [12, 13], the Lagrangian formulation [14, 15] and the virtual work principle [16, 17], among others [18]. However, the bulk of research in this context applies numerical simulations. Few provide physical dynamics verification experiments, which is a direct and convincing approach for proving the correctness of both the dynamic model and parameters. Thus, in this paper, a dynamics verification experiment is carried out using the Stewart platform, which includes dynamic modelling, parameter identification and data analysis. Firstly, the complete inverse dynamics of the Stewart manipulator is deduced using the Newton-Euler method, which possesses the most clear physical meanings and renders the definitions of dynamic parameters easy to understand. Then, a practical parameter identification method is proposed, focusing on dynamic parameters such as inertia and centroid of moving parts. Finally, a dynamics verification algorithm is established and the experiment is carried out.
As mentioned above, the study of this paper concerns the Stewart platform, a 6-DOF (6-degree-of-freedom) parallel mechanism [19] with a base and end effector connected via six identical extensible limbs. Each limb is driven by a set of servo motors and a lead screw, which is connected to the base by a universal joint at one end and to the end effector by a spherical joint at the other. The structure of the Stewart manipulator is obtained from the flight simulator proposed originally by Mr D. Stewart in 1965 [20].
The remainder of this paper is organized as follows. In the following section, coordinate systems and kinematics of the Stewart platform are introduced. Then, the dynamic model is derived with the Newton-Euler method in Section 3. The dynamics verification experiment is developed and carried out in Section 4. Experiment results are given and analysed in Section 5. Finally, conclusions to this paper are given.
System Description and Kinematics
The kinematic model of the Stewart platform is shown in Fig. 1. Rotation centres of spherical joints are marked by points
where

Kinematic model of the Stewart parallel manipulator

Kinematic model of the
Limb local frames denoted as {
Next, the required kinematic parameters for the inverse dynamics are deduced. Position vector
Then, the limb vector B
The velocity mapping function can be found in the base frame by taking the derivative of Eq. (3) with respect to time and can be expressed as
Additionally,
where B
Similarly, taking the derivative of Eqs. (6) and (7) with respect to time and the angular and sliding accelerations of the limb can be deduced as
Linear accelerations of mass centres of upper and lower parts in the
where
The linear acceleration of the mass centre of the end effector can be deduced in {
where
The moment of inertia
Similarly,
The moment of inertia
In the base frame, relative to the base point B
where
The above equation can be simplified as
where
Taking cross products of both sides of Eq. (17) with unit vector B
where
The Newton's equation for the end effector can be written as (
Substituting
Relative to the geometric centre
Substituting
Considering Eqs. (21) and (22) together, we can obtain the inverse dynamic model of the Stewart platform. In this experiment, the pull pressure sensor is installed in the lower part of each limb, as shown in Fig. 3(b). We need to deduce the algebraic expression of the sensor force. The Newton's equation of the force sensor and components below can be given as
where
Since the pull pressure sensor can only record contribution along the limb, taking the dot product with the unit limb vector B
where
The dynamics verification experiment is carried out as follows: firstly, the force sensor (pull pressure sensor) is equipped in each limb of the object Stewart platform. Next, control the end effector of the Stewart platform moving along the given trajectory and simultaneously record data from the force sensors and limb lengths. Finally, theoretical values of the limb force are calculated based on the inverse dynamics and recorded limb lengths, while practical values of the limb force are measured with force sensors using an ADC (analogue-to-digital converter). Dynamic parameters of the Stewart manipulator, such as mass, inertia matrix and centroid coordinates are obtained using the CAD identification method, and adjusted using a disassembly measure. The coincidence between theoretical and practical forces indicates the correctness of the dynamic model and parameters. Although the theory trajectory of the end effector is easier to achieve, recorded practical limb lengths are instead adopted in the experiment, which reflect the actual impacts of the interpolation algorithm, as well as the dynamic performance of the drive module. In other words, the recorded limb lengths comply with the real situation and should be used to calculate the limb forces.
The experimental platform is a typical Stewart platform, as shown in Fig. 3(a). Each limb is driven by an AC servo motor and the force sensor is equipped in each limb close to the spherical joint to measure the actual limb force, as shown in Fig. 3(b). The open CNC system is adopted to control the Stewart platform, which is mainly composed of hardware in the form of an industrial computer and a motion control card. In this experiment, the Turbo PMAC card is used, a powerful programmable multi-axis controller produced by the Delta Tau Company. The hardware structure of the control system is illustrated in Fig. 4. The closed-loop position control of the Stewart platform is carried out in the joint space. The servo motor is controlled directly by the servo driver at the velocity control mode. The servo driver is connected to the PMAC card through the JMACH1 and JMACH2, which communicates signals and instructions. The position loop of each limb is closed in the PMAC card. The PMAC card is plugged into the PCI slot of the industrial computer, which facilitates the data exchange and interrupts requests. The ACC-36P accessory is added to transfer the analogue voltage output of the force sensor to the digital signal.

Physical experimental platform
The adopted CNC software of the parallel manipulator is developed based on the RTLinux (Real-Time Linux) [21] and Linux systems. The interactive interface is implemented using the MniGUI software [22]. The CNC software realizes inverse kinematics in addition to trajectory planning and coarse interpolation. The fine interpolation is carried out in the joint space by the PMAC card.
The data acquisition and delivery process is the key to the dynamics verification experiment. Length and force data of limbs should be synchronously recorded. As shown in Fig. 5, cooperation of interruption and dual-port RAM (random access memory) realizes the real-time transmission of large data. Dual-port RAM can be accessed by the CNC software and PMAC program at the same time. Data regarding limb length and force is collected automatically by the PMAC card and saved in special registers. The PLC program, which works with the PMAC card, is used to deliver the data to the dual-port ram, while the real-time thread of the RTLinux reads the data in each interruption at the period of 0.22ms. In the CNC software, circular queues are created to bridge the real-time and non-real-time sections, delivering the data to the non-real-time thread of the Linux system. Finally, data are saved by calling up the file manipulation functions of the Linux system.

Hardware structure of the control system

Diagram of data acquisition and delivery
In order to receive the required dynamic parameters, a practical identification method is used in this paper, which takes full advantage of the CAD model and disassembly measurements. Specifically, firstly, a detailed CAD model needs to be built; this was already completed in the design stage using UG software, as shown in Fig. 6. Then, the Stewart manipulator is disassembled, the mass of each component is weighed and the mass property of the corresponding component in the CAD model accordingly. Since limbs are identical, it is only necessary to disassemble one limb. Finally, parameters for the inertia matrix and centroid coordinate relative to the given frames can be conveniently obtained by the body measurement function of the UG software. Some parameters (e.g., friction), which change over time and due to a variety of other factors are omitted here. This is because such parameters are minor and have little impact on the dynamic calculation, which is usually compensated for in dynamic control with the adaptive algorithm [23].
In order to discuss the singularity of the Stewart manipulator, the Jacobian matrix is deduced. Considering Eqs. (4) and (5) together, we can deduce the following equation
Take the dot product of Eq. (25) with the unit limb vector
The above equation can be organized in the matrix form as
where

Detailed CAD model of the Stewart manipulator
As shown in Eq. (27), for the Stewart platform, there is only the second type kinematic singularity, when det(
The architecture singularity can be avoided by the rational definition of the base and end-effector frames. As shown in Fig. 1(b), the base and end-effector frames are established with a difference angle of π / 3 relative to the joint distribution. Additionally, only when α = β = π / 3 can the architecture singularity appear. At the same time, the rotation angle of ±π / 2 is too large to be available for the Stewart manipulator. Thus, only the configuration singularity, where the base and the end effector coincide, must be avoided.
The workspace of our object Stewart platform is a sphere with a radius of 0.1m and the coordinates of the workspace centre is (0, 0, −0.967) m in the base frame. Thus, the kinematic singularity of the object's Stewart platform is totally avoided in the defined workspace. The experiment trajectories are within the maximum horizontal cross-section of the workspace, where the

Flow chart of experimental data processing
The experimental data processing includes two aspects, as shown in Fig. 7. On the one hand, theoretical forces are calculated using the recorded limb lengths. In order to get the practical pose of the end effector, the forward kinematics [26] of the Stewart manipulator is carried out. Computing the end-effector pose is equivalent to solving equations deduced from Eq. (3), which can be written as the function of
and the equation can be rewritten as
Since the above equations present difficulties for achieving the algebra root, the Newton-Raphson method [27] is adopted for receiving numerical solutions. The above equation can be expressed in matrix form as
In order to facilitate calculation, let us define a matrix
The solution to matrix K is trivial and is in fact realized automatically using the diff function in the Matlab software.
Following on, the iterative process can be summarized as shown in Fig. 8. In order to speed up convergence, the final pose of the end effect is adopted as the initial value of the iterative routine in order to deduce the current pose.

Flowchart of the iterative routine
Then, the velocity and acceleration of the end effector can be obtained by difference calculations of the pose. Finally, adopting the deduced dynamic model, theoretical values of the limb force can be realized.
On the other hand, force sensor data are refined to receive the measured value. The input range of the pull pressure sensor is 0∼±500N and its output is the bipolar analogue voltage signal of 0∼±5V. An ADC with a resolution of 12 bits is used in conjunction with each force sensor. Thus, the force resolution of the experiment system is 0.244N (500/2047 N). In order to eliminate the effects of the preload on each force sensor, the initial static bias of each sensor is subtracted in the adjusted static bias step. Finally, the experiment data are down-sampled by a factor of 5 and smoothed by the five-point moving average method to suppress noise introduced by both the high-frequency signal acquisition and difference calculations [28].
In order to facilitate a comparison, the measured (or practical) and calculated (or theoretical) values of each limb force are illustrated in Figs. 9 and 10. Corresponding trajectories of the end effector are shown along the
The end-effector trajectory of Fig. 9 can be subdivided into three segments. In the first segment, the end effector moves along the negative direction of the
The end-effector trajectory corresponding to Fig. 10 can also be subdivided into three segments. The first and third segments are the same, and exhibit the trajectory explained above. In the second segment, the end effector moves from the workspace centre along the Y-axis, back and forth twice between points (0, 50, −967) mm and (0, −50, −967) mm, and finally stops at the workspace centre. The second segment starts from 4.3s and continues to 17.6s. As shown in Fig. 1, the limbs of the Stewart manipulator distribute symmetrically, relative to the
As shown in Figs. 9 and 10, both calculated and measured force curves contain ripples when the end effector completes uniform linear motion, and this phenomenon is more obvious in the measured force curves. However, if limb forces are calculated according to the inputted theory trajectory, the force curves must be smooth. This phenomenon is mainly due to the adopted control method and dynamics of the drive system.
On the one hand, the coarse interpolation of the Stewart manipulator is carried out in the operating space. Then, following the inverse kinematics, fine interpolation is implemented in the joint space. Error-based tracking control and nonlinear kinematics causes the limb velocity to change even when the end effector follows the uniform linear motion. The limb velocity is adjusted minutely and frequently to meet the required terminal trajectory accuracy. Thus, the limb force changes accordingly.

Experiment results when the end effector moves along the

Experiment results when the end effector moves along the
On the other hand, the classic closed-loop position control system is adopted, which consists of a position loop, speed loop and current loop (or force loop). The current loop is closed internally and possesses the fastest response frequency. In other words, the force of each limb changes
Differences between the calculated force and measured force of each limb
more intensively and rapidly than the length does. Thus, compared with the calculated force curve that is deduced from the limb length, the measured force curve fluctuates more significantly, with more saw teeth and spikes. In other words, it is quite natural for there to be small transient differences between the calculated force curve and the measured force curve.
Differences between calculated forces and measured forces are summarized in Table 1, and are quite small. The maximum RMS (root mean square) difference between measured and calculated forces is 1.516N, which appears in the force curve of the fourth limb when the end effector moves along the
In this paper, a dynamics verification experiment is carried out on the Stewart platform. Firstly, the complete dynamic model of the Stewart manipulator is established using the classic Newton-Euler method and considering the force sensors. Then, inertia and centroid properties of the Stewart platform are obtained using the practical identification approach, without depending on expensive instruments or complex calculations. Finally, with the developed physical experiment platform, dynamic model and obtained parameters are verified by comparing theoretically calculated limb forces with actual measured limb forces.
Experiment results are analysed and reveal that due to the position interpolation algorithm and dynamics of the drive system, the actual trajectory of the Stewart platform is different from the theory trajectory inputted into the CNC system, and the limb force curve naturally contain ripples. Since each limb of the Stewart platform is controlled by the traditional closed-loop position system and the force loop is the inner of these, it is reasonable to conclude that the measured force curves fluctuate more significantly than the force curves calculated from the practical limb length. In the follow-up study, the torque control mode of servo motors will be applied to the Stewart platform in order to build up the adaptive controller for researching the dynamic control of the Stewart platform.
The dynamics verification algorithm proposed and illustrated in this paper, which involves dynamic modelling, a data analysis method and parameter identification approach is generic and practical, and can be flexibly applied to the dynamic analysis of other parallel manipulators.
