Abstract
As the main driving mechanism of a hybrid robot, the parallel mechanism is a nonlinear time-varying system. The load inertia of its actuated joints changes with the configuration of the robot. Analyzing and fitting the inertia variation is of great significance to the design and control of hybrid robots. By taking a hybrid robot named TriMule as an example, the variation of load inertia of each actuated joint in the whole workspace is first revealed based on the dynamic analyses of the robot. Then two methods based on the circular and elliptical membership are proposed to calculate fitted inertia over the whole workspace using inertia information at a few configurations. Finally, the fitting methods of the two membership functions are compared and discussed. The results show that the maximum value and global mean value of the fitting error of the elliptical membership method are 39.18% (51.23%) and 65.79% (81.25%) for actuated joint-1 (joint-2 and joint-3) lower than those of circular membership method, which promise a better global fitting accuracy. The proposed method can be used to estimate the joint load inertia or other control variables affected by inertia in a quick manner, allowing the algorithm to be easily integrated into the robot control system.
Similar content being viewed by others
Introduction
Hybrid robots composed of a 3-DOF parallel mechanism and a 2-DOF A/C wrist (a wrist with A-axis and C-axis) show desirable performance in workspace, modularity, stiffness, accuracy and dynamic characteristics, which is especially suitable for machining large and complex parts1. Tricept2 and Exechon3 robots are typical successful application cases of this kind of robot, which have been widely used in aircraft floor beam milling, skin machining, wing drilling and riveting. The two robots have become important technical solutions for Boeing, Airbus and other large aircraft manufacturers.
As the main driving mechanism of hybrid robots, the parallel mechanism is a nonlinear time-varying system, because the load inertia of actuated joints changes with the robot configuration. In view of the impact of this variation on the robot design and control performance, lots of researches have been carried out on dynamic performance analysis4, motor selection5, control strategy6, and controller parameter tuning7. In terms of dynamic performance analysis, the local and global inertia indices were proposed to evaluate the dynamic performance and analyse the coupling characteristics between joints for guiding the optimal design8,9,10,11. The inertia matrix was established for the decoupling control12 and servo motor selection5,13. It can be seen that the accurate knowledge of the variation of the load inertia is of great significance in analyzing the design performance and control of the robot. Inertia identification divides roughly into two categories: model-based methods and data-driven methods. In model-based methods, the dynamics model is established first to calculate the joint driving torque14, and then the least square method15, the Kalman filtering method16 or particle filtering method17 is employed to identify parameters. The effectiveness of inertia in design or control is highly dependent upon the degree of dynamic complexity and practical accuracy of the parameter identification18. In data-driven methods, neural networks19, genetic algorithm20, or extended Kalman filter21 can be used to replace the dynamic model in constructing input–output relationships for parameter identification. A large amount of data support and complex fitting algorithms are required to ensure the identification accuracy though the heavy workload of math modeling is avoided. Unlike the offline identification methods mentioned above, the online identification methods calculate inertia parameters by using the input and output data of the system in real-time, and update the control model by using these calculation results to improve control quality22,23. This idea is suitable for robots with dynamic characteristics, but it requires minimizing the complexity of the algorithm to meet the computational capacity limitations of motion controllers in limited memory space24.
Currently, the commonly used on-line process for inertia estimation is implemented in three steps: (1) Establish the rigid body dynamic model. (2) Measure the dynamic parameters of the virtual prototype or identify those by the physical prototype experiments. (3) Calculate each element of the inertia matrix based on the dynamic model. However, this method needs to establish a complex dynamic model and identify many dynamic parameters by experiments to improve the calculation accuracy. The inertia matrix is obtained through the calculation of the Jacobian matrix and the inertia parameters of the components. This process involves a large number of complex matrix and vector operations. The algorithm complexity increases the real-time computational burden of the motion controller, leading to difficulties and costs in the application of the robot control system. Therefore, it is a valuable attempt to construct a simple algorithm that can calculate the inertia value in the whole workspace by only using the inertia information at a limited number of configurations, which can quickly estimate the load inertia of each actuated joint of the robot at any configuration, or other control variables affected by the inertia (PID controller parameters, acceleration feedforward parameters, friction compensation amplitude, etc.).
Motivated by the practical needs arising from the above-mentioned issues, this paper investigates the dynamic formulation and fast inertia estimation of a hybrid robot. The remainder of the paper is organized as follow: Having reviewed the methods for inertia identification methods in Section “Introduction”, kinematics and inverse dynamics analysis of the robot is carried out in Section “Kinematics and inverse dynamics analysis”, which is used for the inertia variation analysis and evaluation requires. In Section “Inertia fast estimation”, two inertia estimation algorithms are proposed based on circular and elliptical membership functions, respectively. In Section “Verification”, both simulations and experiments are carried out to verify the effectiveness of the proposed method on the accuracy of inertia calculation before conclusions are drawn in Section “Conclusions”.
Kinematics and inverse dynamics analysis
System description
Figure 1 shows the CAD model of the hybrid robot named TriMule, which is composed of a 3-DOF parallel mechanism and a 2-DOF wrist. The parallel mechanism comprises an actuated UPS limb plus a 1T1R planar linkage containing two actuated RPS limbs and a passive RP limb. The base link of the planar parallel mechanism is connected by a pair of R joints with the machine frame. Here, R, P, U, and S denote revolute, prismatic, universal, and spherical joints, and the underlined P denotes an actuated prismatic joint.
Figure 2 shows a schematic diagram of the TriMule robot. For the convenience of description, the UPS limb and two RPS limbs are numbered as limb 1, 2 and 3 respectively. The RP limb plus the A/C wrist is numbered as limb 4, which is composed of five joints and six components numbered 0–5. The five joints include the R joint of the base link, the two joints of the RP limb and the two joints of the A/C wrist, which do not include the spindle. Joint \(j\left( {j = 1 \ldots 5} \right)\) connects the component \(j - 1\) and \(j\). \(P\) represents the intersection of the two rotating axes of the A/C wrist, and \(C\) represents the tool tip point.
In order to effectively describe the position and attitude of each component, the reference coordinate system \(\left\{ {R_{0} } \right\}\) is established at the point \(B_{4}\). The \(x_{0}\) axis coincides with the axis of the base link. The \(z_{0}\) axis is perpendicular to the plane determined by \(B_{i} \left( {i = 1,2,3} \right)\). Figures 3 and 4 show the body-fixed frame \(\left\{ {R_{j,i} } \right\}\) of the j-th component in the i-th limb and the tool frame \(\left\{ {R_{5,4} } \right\}\) established by the D-H method.
Then the orientation matrix of \(\left\{ {R_{5,4} } \right\}\) with respect to \(\left\{ {R_{0} } \right\}\) can be expressed by
where \({}^{0}{\mathbf{R}}_{3,4} = \left[ {\begin{array}{*{20}c} {{\mathbf{s}}_{2,4} \times {\mathbf{s}}_{3,4} } & {{\mathbf{s}}_{2,4} } & {{\mathbf{s}}_{3,4} } \\ \end{array} } \right]\) is the orientation matrix of \(\left\{ {R_{3,4} } \right\}\) with respect to \(\left\{ {R_{0} } \right\}\), \({}^{3,4}{\mathbf{R}}_{5,4}\) is the orientation matrix of \(\left\{ {R_{5,4} } \right\}\) with respect to \(\left\{ {R_{3,4} } \right\}\) respectively. Here, \({\mathbf{s}}_{2,4} \times {\mathbf{s}}_{3,4}\), \({\mathbf{s}}_{2,4}\) and \({\mathbf{s}}_{3,4}\) represent the unit vectors of three coordinate axes of \(\left\{ {R_{3,4} } \right\}\). \({\mathbf{u}}\), \({\mathbf{v}}\) and \({\mathbf{w}}\) represent that of three coordinate axes of \(\left\{ {R_{5,4} } \right\}\). \(\theta_{j,4} (j = 1,2,4,5)\) is the angle of rotation about the \(z_{j - 1,4}\) axis.
Kinematic analysis
Inverse displacement analysis
The inverse displacement analysis is to solve the two rotation angles of the A/C wrist and the length of three actuated limbs of the parallel mechanism by the known dimensional parameters, tool tip position vector and tool axis vector.
The position vector of P fixed on the platform can be expressed as
where
Here \({\mathbf{r}}_{C}\) and \({\mathbf{w}}\) represent the tool tip vector and the tool orientation vector, \(q_{3,4}\) is the length of the RP limb, \(d_{w} = \left\| {\mathop{QC}\limits^{\rightharpoonup} } \right\|\), \(d_{v} = \left\| {\mathop{PQ}\limits^{\rightharpoonup} } \right\|\).
Taking norm on both sides of Eq. (3), leads to
According to Eqs. (2) and (4), the rotation angles \(\theta_{1,4}\) and \(\theta_{2,4}\) of R(RP) limb can be obtained
Then \({}^{0}{\mathbf{R}}_{3,4}\) can be determined. Rewrite Eq. (1) as
Then, the rotation angles \(\theta_{4,4}\) and \(\theta_{5,4}\) of the A/C wrist can be obtained by
The closed-loop equation formed by \(B_{4} - B_{i} - A_{i} - A_{4} - P - B_{4}\) limb can be expressed as
where \(q_{3,i}\) and \({\mathbf{s}}_{3,i}\) are the length and unit vector of the \(i - {\text{th}}\) actuated limb respectively, \({\mathbf{a}}_{i} = {}^{0}{\mathbf{R}}_{3,4} {\mathbf{a}}_{i0}\).
\(\begin{gathered} {\mathbf{a}}_{20} = a_{x} {\hat{\mathbf{x}}}, \, {\mathbf{a}}_{30} = - a_{x} {\hat{\mathbf{x}}}, \, {\mathbf{a}}_{10} = - a_{y} {\hat{\mathbf{y}}}{ ,} \hfill \\ {\mathbf{b}}_{2} = b_{x} {\hat{\mathbf{x}}}, \, {\mathbf{b}}_{3} = - b_{x} {\hat{\mathbf{x}}}, \, {\mathbf{b}}_{1} = - b_{y} {\hat{\mathbf{y}}} \hfill \\ \end{gathered}\), \(\begin{gathered} a_{x} = \left\| {\overrightarrow {{A_{4} A_{2} }} } \right\| = \left\| {\overrightarrow {{A_{4} A_{3} }} } \right\| \hfill \\ a_{y} = \left\| {\overrightarrow {{A_{4} A_{1} }} } \right\| \hfill \\ \end{gathered}\), \(\begin{gathered} b_{x} = \left\| {\overrightarrow {{B_{4} B_{2} }} } \right\| = \left\| {\overrightarrow {{B_{4} B_{3} }} } \right\| \hfill \\ b_{y} = \left\| {\overrightarrow {{B_{4} B_{1} }} } \right\| \hfill \\ \end{gathered}\), \({\hat{\mathbf{x}}} = \left( {\begin{array}{*{20}c} 1 & 0 & 0 \\ \end{array} } \right)^{{\text{T}}} \, \), \({\hat{\mathbf{y}}} = \left( {\begin{array}{*{20}c} 0 & 1 & 0 \\ \end{array} } \right)^{{\text{T}}} \, \).
Taking norm on both sides of Eq. (8), leads to
So far, the inverse displacement solution of the TriMule robot has been solved.
Velocity and acceleration analysis
The velocity analysis is concerned with the determination of axial telescopic velocity \(\dot{q}_{3,i}\)(\(i = {1,2,3}\)) of three actuated limbs of parallel mechanism and angular velocity \(\dot{\theta }_{j,4}\)(\(j = {4,5}\)) of the A/C wrist according to linear velocity vector \({\mathbf{v}}_{C}\) of tool tip C and tool angular velocity vector \({{\varvec{\upomega}}}_{C}\).
The velocity vector \({\mathbf{v}}_{C}\) and \({{\varvec{\upomega}}}_{C}\) can be expressed as
where \({\mathbf{v}}_{P}\) represents linear velocity vector of point \(P\), \({\mathbf{r}}_{PC}\) represents the position vector from point P to point C, \({\mathbf{J}}_{w} = [\begin{array}{*{20}c} {{\mathbf{s}}_{4,4} } & {{\mathbf{s}}_{5,4} } \\ \end{array} ]\), \({\dot{\mathbf{\theta }}} = \left( {\begin{array}{*{20}c} {\dot{\theta }_{4,4} } & {\dot{\theta }_{5,4} } \\ \end{array} } \right)^{{\text{T}}}\), \({\mathbf{s}}_{4,4}\) and \({\mathbf{s}}_{5,4}\) represent the C-axis vector and A-axis vector of the wrist, \({{\varvec{\upomega}}}_{3,4}\) represents the angular velocity vector of the 3-th component in limb 4. Here, the relationship between \(\dot{q}_{3,i}\), \({{\varvec{\upomega}}}_{3,i}\)(\(i = {1,2,3,4}\)) and \({\mathbf{v}}_{P}\) can be expressed as
where \({\dot{\mathbf{q}}} = \left( {\begin{array}{*{20}c} {\dot{q}_{3,1} } & {\dot{q}_{3,2} } & {\dot{q}_{3,3} } \\ \end{array} } \right)^{{\text{T}}}\) and \(\dot{q}_{3,4}\) represent the velocity vector of the actuated joints and the passive joint. \({\mathbf{J}}\), \({\mathbf{J}}_{3,4}\) and \({\mathbf{J}}_{{\omega_{3,i} }}\) represent the Jacobian matrices.
Substitute Eq. (11) into Eq. (10), the mapping relationship between joint velocity and operation velocity can be constructed by
where \({\mathbf{J}}_{v}^{ + } = \left( {{\mathbf{J}}_{v}^{{\text{T}}} {\mathbf{J}}_{v}^{{}} } \right)^{ - 1} {\mathbf{J}}_{v}^{{\text{T}}}\), \({\mathbf{J}}_{v} = \left[ {\begin{array}{*{20}c} {{\mathbf{J}}^{ - 1} - \left[ {{\mathbf{r}}_{PC} \times } \right]{\mathbf{J}}_{{\omega_{3,4} }} {\mathbf{J}}^{ - 1} } & { - \left[ {{\mathbf{r}}_{PC} \times } \right]{\mathbf{J}}_{w} } \\ {{\mathbf{J}}_{{\omega_{3,4} }} {\mathbf{J}}^{ - 1} } & {{\mathbf{J}}_{w} } \\ \end{array} } \right]\), \(\left[ {{\mathbf{r}}_{PC} \times } \right]\) is the skew-symmetric matrix of \({\mathbf{r}}_{PC}\).
The acceleration analysis is concerned with the determination of axial telescopic acceleration \(\ddot{q}_{3,i}\)(\(i = {1,2,3}\)) of three actuated limbs of parallel mechanism and angular acceleration \(\ddot{\theta }_{j,4}\)(\(j = {4,5}\)) of the A/C wrist according to the acceleration vector \({\mathbf{a}}_{C}\) of point \(C\) and tool angular acceleration vector \({{\varvec{\upvarepsilon}}}_{C}\).
Taking the derivatives of Eq. (10) with respect to time yields
where \({\dot{\mathbf{J}}}_{w} = [\begin{array}{*{20}c} {{{\varvec{\upomega}}}_{4,4} \times {\mathbf{s}}_{4,4} } & {{{\varvec{\upomega}}}_{C} \times {\mathbf{s}}_{5,4} } \\ \end{array} ]\), \({\mathbf{\ddot{\theta }}} = \left( {\begin{array}{*{20}c} {\ddot{\theta }_{4,4} } & {\ddot{\theta }_{5,4} } \\ \end{array} } \right)^{{\text{T}}}\), \({\mathbf{a}}_{P}\) is the acceleration vector of point \(P\). Here, the relationship between \(\ddot{q}_{3,i}\), \({\dot{\mathbf{\omega }}}_{3,i}\)(\(i = {1,2,3,4}\)) and \({\mathbf{a}}_{P}\) can be expressed as
where \({\mathbf{\ddot{q}}} = \left( {\begin{array}{*{20}c} {\ddot{q}_{3,1} } & {\ddot{q}_{3,2} } & {\ddot{q}_{3,3} } \\ \end{array} } \right)^{{\text{T}}}\).
Substitute Eq. (14) into Eq. (13), we have the acceleration mapping function
where \({\mathbf{J}}_{a}^{ + } = \left( {{\mathbf{J}}_{a}^{{\text{T}}} {\mathbf{J}}_{a}^{{}} } \right)^{ - 1} {\mathbf{J}}_{a}^{{\text{T}}}\), \({\mathbf{J}}_{a} = \left[ {\begin{array}{*{20}c} {{\mathbf{J}}^{ - 1} - \left[ {{\mathbf{r}}_{PC} \times } \right]{\mathbf{J}}_{{\omega_{3,4} }} {\mathbf{J}}^{ - 1} } & { - \left[ {{\mathbf{r}}_{PC} \times } \right]{\mathbf{J}}_{w} } \\ {{\mathbf{J}}_{{\omega_{3,4} }} {\mathbf{J}}^{ - 1} } & {{\mathbf{J}}_{w} } \\ \end{array} } \right]\), \({\mathbf{K}}_{1} = - {\mathbf{J}}^{ - 1} {\dot{\mathbf{J}}\mathbf{v}}_{P} + {\mathbf{K}}_{{\mathbf{2}}} \times {\mathbf{r}}_{PC} + {{\varvec{\upomega}}}_{C} \times \left( {{{\varvec{\upomega}}}_{C} \times {\mathbf{r}}_{PC} } \right)\), \({\mathbf{K}}_{2} = {\dot{\mathbf{J}}}_{{\omega_{3,4} }} {\mathbf{v}}_{P} - {\mathbf{J}}_{{\omega_{3,4} }} {\mathbf{J}}^{ - 1} {\dot{\mathbf{J}}\mathbf{v}}_{P} + {\dot{\mathbf{J}}}_{w} {\dot{\mathbf{\theta }}}\).
Inverse dynamic formulation
The inverse dynamic analysis is concerned with the determination of the driving torque required for achieving a given motion according to the inertia parameters of the moving components, which provides a theoretical basis for analyzing the variation of load inertia of the actuated joints in the whole workspace25,26.
Motion analysis of component centroid
Considering that the mass and inertia of spherical joints, Hooke joints and the connecting frame rotating pair are small, these components are ignored. Therefore, the inertia force and torque in the TriMule robot system are generated by the following components: component 2 (limb outer tube) and component 3 (push rod) in limb \(i\)(\(i = {1,2,3}\)); component 1 (base link), component 2 (outer ring), component 3 (platform assembly), component 4 (C-axis assembly) and component 5 (A-axis assembly and Spindle) in limb 4; the driven assembly of actuated joints (lead screw assembly, A/C wrist driven assembly).
The position vector of the centroid of component \(j\) in limb \(i\) can be expressed as
where \({}^{{j{,}i}}{\mathbf{r}}_{{C_{{j{,}i}} }}\) represents the position vector of centroid \(C_{j,i}\) measured in \(\left\{ {R_{{j{,}i}} } \right\}\), \({\mathbf{r}}_{{j{,}i}}\) represents the position vector of coordinate origin of \(\left\{ {R_{{j{,}i}} } \right\}\) measured in \(\left\{ {R_{0} } \right\}\).
Taking the first and second derivatives of Eq. (16) with respect to time yields, we can get
where \({\mathbf{J}}_{{v_{3,i} }}^{{}}\) is the Jacobian matrix of component centroid velocity with respect to moving platform velocity.
Inverse dynamic analysis
The virtual work principle can be used to obtain
where \({\mathbf{F}}_{{C_{{j{,}i}} }}\) and \({\mathbf{T}}_{{C_{{j{,}i}} }}\) represent the inertia force and torque of each component \(j\) in limb \(i\)(\(i = {1,2,3,4}\)), \({\mathbf{F}}_{{G_{{j{,}i}} }}\) and \({\mathbf{T}}_{{G_{{j{,}i}} }}\) represent the gravity and gravity torque of each component \(j\) in limb \(i\), \(T_{{3{,}i}}\)(\(i = 1,2,3\)) and \(T_{j,4}\)(\(j = {4,5}\)) represent the inertia torque generated by the actuated joint assembly rotating around its own axis. \({\mathbf{F}}_{e}\) and \({\mathbf{T}}_{e}\) represent the external force and torque on the spindle, \({{\varvec{\uptau}}}_{p}^{{}} = \left( {\begin{array}{*{20}c} {\tau_{1} } & {\tau_{2} } & {\tau_{3} } \\ \end{array} } \right)^{{\text{T}}}\), \(\tau_{i}\)(\(i = {1,2,3}\)) represents the driving torque of the actuated joint in the i-th limb of the parallel mechanism, \({{\varvec{\uptau}}}_{s}^{{}} = \left( {\begin{array}{*{20}c} {\tau_{4} } & {\tau_{5} } \\ \end{array} } \right)^{{\text{T}}}\), \(\tau_{i}\)(\(i = {4,5}\)) represents the driving torque of the actuated joint in the A/C wrist, \(i_{{w{,}j}}\) is the gear ratio. \(n_{{sk{,}i}}\) and \(n_{{ek{,}i}}\)(\(k = {1,2,3,4}\)) refer to the number of components considering inertia force (torque) or gravity, as shown in Table 1.
By rewriting Eq. (18) into matrix form, the dynamic equation of the hybrid robot can be obtained
where \(p\) represents lead screw pitch, \(I_{s}\) and \(I_{w,j}\) represent the inertia about their respective axes, respectively, \(i_{w,j}\) represents the transmission ratio, \({\mathbf{I}}_{3}\) is \(3 \times 3\) identity matrix, and
It can be seen from Eq. (19) that the driving torque \({{\varvec{\uptau}}}_{p}\) of the parallel mechanism consists of two parts: (1) All external force or torque of each component of the whole system; (2) Inertia torque generated by the rotation of the lead screw around its own axis. The driving torque \({{\varvec{\uptau}}}_{s}\) of the A/C wrist consists of two parts: (1) Gravity, inertia torque and external load term of each component; (2) Inertia torque generated by the transmission mechanism of the A/C wrist. It can be seen that \({{\varvec{\uptau}}}_{s}\) has nothing to do with the gravity and inertia force of each component in the parallel mechanism.
Considering that the pose of the wrist and the load inertia around the A/C axis change little in practice7, the variation of the load inertia of each actuated joint of the parallel mechanism is the key issue that needs attention and research. The A/C wrist and the moving platform are regarded as a component, and then the rigid body dynamic equation of the parallel mechanism can be constructed according to Eqs. (16), (17) and Eq. (19) as
where \(\user2{\mathcal{M}}\) is the inertia matrix of the parallel mechanism in the operating space; \(\user2{\mathcal{H}}\) is the Coriolis force and centrifugal force acting on the system, which is a function of the position, attitude and velocity of the moving platform; \(\user2{\mathcal{G}}\) reflects the influence of gravity; \(\user2{\mathcal{E}}\) refers to the term related to external load. For more information about the mathematical expressions of these components, please refer to26.
The above formula can also be rewritten into the general form of rigid body dynamics equation by considering friction27
where
The inertia matrix of the parallel mechanism in the joint space is only related to the joint position. Let \(M_{i}\) represents the main diagonal element of \({\mathbf{M}}\left( {\mathbf{q}} \right)\), then the load inertia can be calculated by \(I_{i} = \frac{{p^{2} }}{{4{\uppi }^{2} }}M_{i}\). Here, \(F_{3,i}\) represents the friction force of the i-th actuated joint, \(f_{s}\), \(f_{c}\) and \(f_{v}\) denote the static, Coulomb, and viscous friction parameters, respectively. It is worth noting that the static and Coulomb friction forces vary with the normal forces, leading to \(f_{s}\) and \(f_{c}\) should be identified accordingly28.
Inertia fast estimation
Analysis of inertia variation and grid estimation method
Due to the load inertia of the actuated joint changes with the configuration of the robot, the calculation of that is significant for motor selection, controller parameter tuning, model-based control method, etc. In this section, a fast estimation method is proposed to quickly and easily calculate the joint inertia of the robot at any configuration in the workspace.
Given the dimensional parameters in29 and the inertial parameters of the main components measured in the body-fixed frames extracted from the CAD model in Table 2, the variation of the joint load inertia in the whole circular workspace is calculated and shown in Fig. 5. Here, 600 × 600 uniformly distributed sample points in the circular workspace are selected, and then the load inertia of each actuated joint at these sample points is calculated by using the dynamic model. Equipped with the inertia information at hand, the contour map can be drawn as shown in Fig. 5. It can be seen from the figure that \(I_{i}\) is distributed in an approximate concentric ellipse from the center to the boundary. The gradient closer to the boundary in the direction of the minor axis of the ellipse is larger, and the fluctuation amount can reach 37%. Here, the circular workspace refers to the 2D workspace of the parallel mechanism, and the 3D workspace of that can be found in reference30. Generally, to solve this kind of fitting problem, firstly divide the workspace into grids as shown in Fig. 6, then determine the sample inertia at the grid nodes through the dynamic model and the corresponding position coordinates, and finally use the inverse distance weighting method to fit the inertia at any configuration:
where \(\hat{I}_{i} \left( {{\mathbf{r}}_{P} } \right)\) represents the estimated value of the load inertia of the i-th actuated joint at the current position \({\mathbf{r}}_{P}\), \(I_{k,i}\) represents the load inertia of the i-th actuated joint at the \(k{\text{ - th}}\)(\(k = 1,2, \ldots ,N\)) sample configuration \({\mathbf{r}}_{Pk}\), \(d_{k}^{{}} = \left\| {{\mathbf{r}}_{Pk} - {\mathbf{r}}_{P} } \right\|\). It can be seen from Eq. (22) that this method belongs to a fuzzy algorithm, which estimates inertia by the membership degree \(\mu_{k}\) of the fuzzy center \(I_{k,i}\). However, this method needs to determine the sample inertia at each grid node first, which increases a lot of workload and the burden of calculation and storage.
Therefore, it is expected that the global inertia variation can be fitted using only a few sample data. Figure 7a shows the method of using 5 sample points as fuzzy centers to fit the inertia. Then, the inertia at any configuration can be estimated by using the triangle-shape grade of the membership function:
where \(R\) represents the radius of the workspace, \(\mu_{k}\) represents the membership degree of the inertia at the current configuration \({\mathbf{r}}_{P}\) with respect to the inertia at the fuzzy central configuration \({\mathbf{r}}_{Pk}\). Figure 7b shows three general cases of the fuzzy estimation by taking the \(P_{1} - P_{4} - P_{5}\) region as an example. Case 1: the calculation of inertia is only affected by \(P_{1}\) and \(P_{4}\); Case 2: the calculation of inertia is affected by \(P_{1}\), \(P_{4}\) and \(P_{5}\); Case 3: the calculation of inertia is only affected by \(P_{1}\) and \(P_{5}\). It can be seen that this method makes the inertia calculation only depend on the inertia information of the surrounding 2–3 points. In order to verify the effectiveness of this method, the fitting of the inertia of \(P_{6}\) and \(P_{7}\) is analyzed as shown in Fig. 8. In the figure, \(P_{6}\) and \(P_{4}\) are on the same inertia isoline. The calculation of the inertia at \(P_{6}\) is not only affected by the inertia at \(P_{4}\), but also affected by that at \(P_{1}\). Obviously, Data at \(P_{1}\) is an interference factor. \(P_{7}\) and \(P_{5}\) are on the same inertia isoline. The calculation of the inertia at \(P_{7}\) is affected by the inertia at \(P_{5}\), \(P_{1}\) and \(P_{3}\). Here, data at \(P_{1}\) and \(P_{3}\) are the interference factors. It can be seen that when the number of points as fuzzy centers is small, the estimation of inertia is not accurate if the uniformly distributed fuzzy centers are simply selected. Therefore, the variation of inertia should be further considered when determining the fuzzy center point and constructing the membership function.
Circle membership function fitting
By observing the inertia distribution shown in Fig. 5, it can be seen that the inertia isoline is distributed in the shape of an approximate concentric ellipse, so it is advisable to select the fuzzy center in the direction of the minor axis of the ellipse, and then choose the triangular membership function for fitting, as shown in Fig. 9. In the figure, \(P_{1}\), \(P_{2}\), \(P_{3}\) represent the points on the isoline corresponding to the minimum value, global mean value and maximum value of inertia, respectively. Let \(P_{1}\) be fixed, \(P_{2}\) moves on the circle with \(P_{1}\) as the center and \(\left| {P_{1} P_{2} } \right|\) as the radius, and \(P_{3}\) moves on the circle with \(P_{1}\) as the center and \(\left| {P_{1} P_{3} } \right|\) as the radius, then the influence range of these points can cover the whole circular workspace. Accordingly, the algorithm of Eq. (23) is improved as follows:
where
Here \({\mathbf{r}}_{P1}\), \({\mathbf{r}}_{P2}\), \({\mathbf{r}}_{P3}\) represent the position vectors of \(P_{1}\), \(P_{2}\), \(P_{3}\) in frame \(\left\{ {R_{0} } \right\}\).
According to Eq. (24), the circle membership function (CMF) covering the whole workspace can be drawn, as shown in Fig. 10. Employed by the membership function and the inertia information shown in Table 3, the variation of the load inertia of each actuated joint in the whole workspace is fitted, as shown in Fig. 11. It can be seen from the figure that the fitting results are similar to the theoretical results shown in Fig. 5. However, since the membership function is constructed by scanning the entire workspace along the circular track using the triangular membership function, the fitted isoline is still quite different from the approximate elliptical isoline in Fig. 5.
Ellipse membership function fitting
The membership function is constructed by scanning the entire workspace along the elliptical track instead of the circular track, as shown in Fig. 12. In the figure, \(a_{k}\) and \(b_{k}\) represent the length of the long semi axis and the short semi axis of the ellipse, respectively. Then the ellipse membership function (EMF) can be constructed by
where
Here \(\theta_{k}\) represents the parameter angle of the elliptic parametric equation, \({\mathbf{r}}_{P1}\) and \({\mathbf{r}}_{Pak}\) represent the position vectors of the ellipse center point \(P_{1}\) and the major axis vertex \(P_{ak}\), respectively. Accordingly, given the parameters shown in Table 4, the membership function covering the whole workspace is drawn, as shown in Fig. 13. The variation of the load inertia of each actuated joint in the whole workspace is fitted as shown in Fig. 14. It can be seen from the figure that the fitting results are very close to the theoretical results shown in Fig. 5.
Verification
Simulations
In this section, simulations will be carried out to verify the effectiveness of the proposed methods. The simulations are designed to examine two important issues: (1) the accuracy of calculating inertia; (2) the simplicity and fastness of the algorithms.
Figures 15 and 16 show the errors of the fitting results of Figs. 11 and 14 relative to the theoretical results of Fig. 5 respectively. The maximum values and global mean values of the errors are shown in Table 5. It can be seen that the maximum values and the global mean values of the fitting errors of the elliptic membership function are within \(0.22 \times 10^{ - 3} \,{\text{kg}}\,{\text{m}}^{2}\) and \(0.26 \times 10^{ - 4} \,{\text{kg}}\,{\text{m}}^{2}\) respectively. Compared with the fitting errors of the circle membership function, the maximum value and the global mean value of the fitting errors of joint 1 are reduced by 39.18% and 65.79%, and those of joint 2 and 3 are reduced by 51.23% and 81.25%, which proves that the ellipse membership function has better global fitting accuracy.
Table 6 shows the memory space occupied and computation time of the three algorithms: the dynamic model-based estimating algorithm, the grid estimating algorithm, and the fuzzy estimating algorithm with the ellipse membership function. It can be seen from the table that the memory space of the grid estimating algorithm is much larger than that of other algorithms. Here, the inertia values of 900 × 900 grid nodes occupy 10,421.06 kb and the inverse distance weighting calculation occupies only 1.41 kb, leading to a large amount of offline identification work and fewer online computing burden. The fuzzy estimating algorithm with the ellipse membership function occupies the minimum memory space, which can perform one operation within 4 ms less than the trajectory interpolation period of 10 ms.
Experiments
In this section, the proposed method for inertia fast estimation will be verified by experiments. Figure 17 shows the realized prototype of the TriMule robot and the verifying path. Equipped with an IPC + Turbo PMAC-PCI CNC system, the robot can move the platform reference point P at a maximum speed and acceleration of 60 m/min and 10 m/s2, respectively.
To verify the effectiveness of the new estimation algorithm, the circular path was planned with R = 0.3 m, H = 1.2 m, h = 0.19 m by taking the values of 30 m/min and 5 m/s2 for the maximum velocity and acceleration of P along the path. The driving torque of each actuated joint is measured from the servo driver by employing the data acquisition card and Labview program. Figure 18 shows the driving torque of each actuated joint with time obtained by measurement experiments (ME), calculation using the dynamics model (CDM) and estimation using the proposed method (EPM). Here, the inertial torques are computed by CDM or EPM and the other torque components are computed by using the same dynamic model. It can be seen that three torque curves are similar and the root mean squares (RMS) of errors with CDM or EPM relative to ME listed in Table 7 are within \(0.7\,{\text{N}}\,{\text{m}}\). These deviations are caused by the fitting errors of the elliptical membership function as shown in Fig. 16, which is within an acceptable range. As compensation, the proposed method has a lower computational complexity compared to using the dynamic model, leading to the reduction of the computational memory burden.
Conclusions
This paper presents the dynamic formulation and a method for inertia fast estimation of a hybrid robot. The conclusions are drawn as follows.
-
(1)
Based on the analysis of kinematics and rigid body dynamics, the distribution of the load inertia of each actuated joint of the parallel mechanism in the whole workspace is revealed, and the isolines of that are approximately concentric ellipses.
-
(2)
The method for fitting the inertia distribution, which only uses the inertia information of a few configurations, is proposed using the circle or elliptical membership function. The results show that the elliptical membership function has better global fitting accuracy in comparison with the circle membership function and the torque estimation accuracy is within an acceptable range.
-
(3)
The proposed method is also applicable to the off-diagonal elements of the inertia matrix (joint couplings) and the joint load inertia of other parallel mechanisms. It can be used to quickly predict other control variables (PID parameters and acceleration feedforward parameters) affected by the inertia, allowing the algorithm to be easily integrated into the robot control system.
Data availability
Due to [reasons for data non disclosure], the datasets generated and/or analyzed during the current research period are not publicly available, but can be obtained from the corresponding author.
References
Bi, Z. & Jin, Y. Kinematic modeling of parallel kinematic machine exechon. Robot. Comput.-Integr. Manuf. 27(1), 186–193 (2011).
Neumann, K. E., Tricept application. In Proceedings of the 3rd Chemnitz Parallel Kinematics Seminar (2002).
Neumann, K. E., The key to aerospace automation. In Proceedings of the SAE Aerospace Manufacturing and Automated Fastening Conference and Exhibition (2006).
Yao, J. et al. Dynamic analysis and driving force optimization of a 5-DOF parallel manipulator with redundant actuation. Robot. Comput.-Integr. Manuf. 48, 51–58 (2017).
Huang, T. et al. A method for estimating servomotor parameters of a parallel robot for rapid pick-and-place operations. ASME J. Mech. Des. 127(4), 596–601 (2005).
Choi, H., Company, O. & Pierrot, F, et al. Design and control of a novel 4-DOFs parallel robot H4. In Proceedings of IEEE International Conference on Robotics and Automation, Taipei, Taiwan pp. 1185–1191 (2003).
Liu, Q. et al. An iterative tuning approach for feedforward control of parallel manipulators by considering joint couplings. Mech. Mach. Theory 140, 159–169 (2019).
Ogbobe, P., Jang, H. & He, J., et al. Analysis of coupling effects on hydraulic controlled 6 degrees of freedom parallel manipulato rusing joint space inverse mass matrix. In The Second International Conferences on Intelligent Computation Technology and Automation, Changsha, China, pp. 845–858 (2009).
Li, M. et al. Dynamic formulation and performance comparison of the 3-DOF modules of two reconfigurable PKM—the Tricept and the TriVariant. J. Mech. Des. 127(6), 1129–1136 (2005).
Shao, Z., Tang, X., Chen, X. & Wang, L. Research on the inertia matching of the Stewart parallel manipulator. Robot. Comput.-Integr. Manuf. 28, 649–659 (2012).
Mo, J. et al. Dynamic performance analysis of the X4 high-speed pick-and-place parallel robot. Robot. Comput.-Integr. Manuf. 46, 48–57 (2017).
Codourey, A. Dynamic modeling and mass matrix evaluation of the Delta parallel robot for axes decoupling control. In Proceedings of the 1996 IEEE/RSJ International Conference on Intelligent Robots and Systems, Osaka, Japan, pp. 1211–1218 (1996).
Shao, Z. et al. Inertia match of a 3-RRR reconfigurable planar parallel manipulator. Chin. J. Mech. Eng. 22(6), 791–799 (2009).
Luo, Z. et al. A dynamic parameter identification method for the 5-DOF hybrid robot based on sensitivity analysis. Ind. Robot- Int. J. Robot. Res. Appl. 51(2), 340–357 (2024).
Briot, S. & Gautier, M. Global identification of joint drive gains and dynamic parameters of robots. J. Dyn. Syst. Meas. Control-Trans. ASME 33, 3–26 (2015).
Corigliano, A. & Mariani, S. Parameter identification in explicit structural dynamics: Performance of the extended Kalman filter. Comput. Methods Appl. Mech. Eng. 193(36–38), 3807–3835 (2004).
Ding, J. et al. Particle filtering based parameter estimation for systems with output-error type model structures. J. Frankl. Inst.-Eng. Appl. Math. 356(10), 5521–5540 (2019).
Urrea, C. & Pascal, J. Design and validation of a dynamic parameter identification model for industrial manipulator robots. Arch. Appl. Mech. 91(5), 1981–2007 (2021).
Taie, W., ElGeneidy, K. & AL-Yacoub, A. Online identification of payload inertial parameters using ensemble learning for collaborative robots. IEEE Robot. Autom. Lett. 9(2), 1350–1356 (2024).
Wang, X., Liu, B. & Mei, X. Genetic algorithm for dynamic parameters estimation of the machine tool worktable using the residual vibration signal. J. Vib. Control 28(11–12), 1433–1440 (2022).
Li, H., Jiang, J. & Mohamed, M. Online dynamic load identification based on extended kalman filter for structures with varying parameters. Symmetry-Basel 13(8), 1372 (2021).
Tang, J. et al. Parameter identification of inverter-fed induction motors: A review. Energies 11(9), 2194 (2018).
Chen, C., Zhang, W. & Liu, T. Online identification of inertial parameters of a robot with partially combined links using IMU sensing. Mechatronics 94, 103023 (2023).
Hametner, C. & Jakubek, S. Local model network identification for online engine modelling. Inf. Sci. 220, 210–225 (2013).
Zhao, Y., Mei, J., Niu, W., Wu, M. & Zhang, F. Coupling analysis of a 5-degree-of-freedom hybrid manipulator based on a global index. Sci. Prog. 103(1), 1–21 (2020).
Dong, C., Liu, H., Xiao, J. & Huang, T. Dynamic modeling and design of a 5-DOF hybrid robot for machining. Mech. Mach. Theory 165, 104438 (2021).
Yang, X. et al. Continuous friction feedforward sliding mode controller for a Trimule hybrid robot. IEEE/ASME Trans. Mechatron. 23(4), 1673–1683 (2018).
Rosyid, A. & El-Khasawneh, B. Identification of the dynamic parameters of a parallel kinematics mechanism with prismatic joints by considering varying friction. Appl. Sci. 10(14), 4820 (2020).
Liu, Q. & Huang, T. Inverse kinematics of a 5-axis hybrid robot with non-singular tool path generation. Robot. Comput.-Integr. Manuf. 56, 140–148 (2019).
Dong, C., Liu, H., Yue, W. & Huang, T. Stiffness modeling and analysis of a novel 5-DOF hybrid robot. Mech. Mach. Theory 125, 80–93 (2018).
Acknowledgements
This work was supported by the Natural Science Foundation of Tianjin (23JCQNJC00430), the National Natural Science Foundation of China (NSFC) (Grant 52205029, 52205030, 52375026), State Key Laboratory of Robotics and Systems (HIT) (SKLRS-2023-KF-07). The authors sincerely thank Professor Huang at Tianjin University for the help in dynamic modeling. The authors also thank the editors and reviewers for their patient work and constructive suggestions.
Author information
Authors and Affiliations
Contributions
Q.L.: Conceptualization, Methodology, Software, Writing- original draft. T.Y.: Validation, Writing- review & editing. B.L.:Validation, Writing -review & editing. Y.M.: Supervision, Writing-
Corresponding author
Ethics declarations
Competing interests
The authors declare no competing interests.
Additional information
Publisher's note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License, which permits any non-commercial use, sharing, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if you modified the licensed material. You do not have permission under this licence to share adapted material derived from this article or parts of it. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
About this article
Cite this article
Liu, Q., Yan, T., Li, B. et al. Dynamic formulation and inertia fast estimation of a 5-DOF hybrid robot. Sci Rep 14, 17252 (2024). https://doi.org/10.1038/s41598-024-68408-5
Received:
Accepted:
Published:
DOI: https://doi.org/10.1038/s41598-024-68408-5