 Original Article
 Open Access
 Published:
Kinematic Calibration of a SixLegged Walking Machine Tool
Chinese Journal of Mechanical Engineering volume 35, Article number: 34 (2022)
Abstract
This paper presents the kinematic calibration of a novel sixlegged walking machine tool comprising a sixlegged mobile robot integrated with a parallel manipulator on the body. Each leg of the robot is a 2universalprismaticspherical (UPS) and UP parallel mechanism, and the manipulator is a 6PSU parallel mechanism. The error models of both subsystems are derived according to their inverse kinematics. The objective function for each kinematic limb is formulated as the inverse kinematic residual, i.e., the deviation between the actual and computed joint coordinates. The hip center of each leg is first identified via sphere fitting, and the other kinematic parameters are identified by solving the objective function for each limb individually using the leastsquares method. Thus, the kinematic parameters are partially decoupled, and the complexities of the error models are reduced. A calibration method is proposed for the legged robot to overcome the lack of a fixed base on the ground. A calibration experiment is conducted to validate the proposed method, where a laser tracker is used as the measurement equipment. The kinematic parameters of the entire robot are identified, and the motion accuracy of each leg and that of the manipulator are significantly improved after calibration. Validation experiments are performed to evaluate the positioning and trajectory errors of the sixlegged walking machine tool. The results indicate that the kinematic calibration of the legs and manipulator improves not only the motion accuracy of each individual subsystem but also the cooperative motion accuracy among the subsystems.
1 Introduction
There is a growing demand for large and accurate parts in several sectors, e.g., railroads, aeronautics, shipping, and power plants [1]. Maintenance and repair of these parts are generally performed in situ and cannot be achieved using conventional machine tools. Thus, various mobile robotic machine tools have been developed for manufacturing and postproduction processes for large parts. A mobile parallel robot called the intersector welding robot (IWR) was developed to conduct welding and machining processes inside the International Thermonuclear Experimental Reactor vacuum vessel (VV) [2]. The IWR consists of a Stewart platformbased parallel mechanism and a carriage for moving along rails mounted on the inner surface of the VV sector. In another study, a small sixaxis, trackbased, portable robot was developed and implemented to perform in situ interventions, such as gouging, welding, grinding, and postweld heat treatments in hydroelectric turbines [3]. Barnfather investigated the positional capability of a Fanuc F200iB hexapodformat robotic machine [4] and conducted machining trials to evaluate its achievable tolerances [5]. Parallel mechanisms have been widely applied in the development of mobile machine tools, owing to their high stiffness/weight ratios relative to those of serial robots [6].
Although legged robots are mainly designed for tasks in outdoor environments [7], several studies have focused on the use of legged robots in manufacturing applications, owing to their high mobility [8, 9]. In our laboratory, a novel sixlegged walking machine tool comprising a sixdegreeoffreedom (6DOF) portable parallel kinematic machine tool and a sixparallellegged robot was developed for mobile machining tasks [10]. In contrast to conventional articulated legs, a 3DOF parallel mechanism was used for the leg design [11], providing the robot with a high stiffness and large payload. As mentioned in Ref. [12], motion accuracy is one of the primary issues for mobile robots performing machining tasks. Owing to the manufacturing and assembling errors of the mechanical components, the actual kinematic parameters of the robot can deviate from the nominal values, leading to pose errors in the end effector. Therefore, a calibration process that can identify the actual kinematic parameters is needed to improve the motion accuracy of the robot.
Robot calibration has been studied for several decades. Various methods for robot calibration have been proposed, and they can be classified into three categories: openloop, closedloop, and screw axis measurement methods. Hollerbach unified these categories by considering an endpoint measurement system for forming a joint and closing the kinematic loop and introduced the concept of a calibration index [13]. Many measurement devices, such as laser trackers [14], portable photogrammetry systems [15], telescoping ballbars [16], and touch probes [17], have been used for the kinematic calibration of robots. Among these, laser trackers are the most commonly used.
The Stewart–Gough platform and 6PUS manipulator are most widely used 6DOF parallel mechanisms. In addition, kinematic calibration of these mechanisms has been widely studied. Wang and Masory developed an accurate kinematic model for a Stewart platform using the Denavit–Hartenberg method to model each kinematic limb, and they presented an effective algorithm for parameter identification [18, 19]. Zhuang proposed a calibration method for Stewart platforms and other parallel manipulators that minimizes the residuals of the inverse kinematics [20]. This method avoided the need to solve the forward kinematic problem; thus, the efficiency of the identification algorithm was improved. Ota proposed a calibration method based on forward kinematics using a double ball bar (DDB) system as the measurement device, and the method was validated using a 6PUS parallel kinematic milling machine called “HexaM” through simulations and experiments [21]. Besnard and Khalil proposed a numerical method for determining the identifiable parameters of a Stewart–Gough parallel robot via QR decomposition of the observation matrix [22]. Guo selected calibration configurations for a 6PUS parallel manipulator based on an orthogonal design [23]. Hu proposed an identifiable parameter separation (IPS) method for dividing the kinematic parameters of a 6PUS parallel kinematic manipulator into two groups [24]. The unit direction vectors of the prismatic joints were first identified independently. Then, the remaining 42 kinematic parameters were identified using a kinematic error model. Thus, the error model was simplified.
The error modeling for lowermobility parallel mechanisms is more complex than that for 6DOF parallel mechanisms. Liu proposed a general approach for the geometric error modeling of lowermobility parallel manipulators [25], using the Sprint Z3 [6], Tricept [26], and Delta [27] robots as examples. Huang presented a DDBbased method for the kinematic calibration of the 3DOF parallel mechanism of the TriVariant robot [28]. An error model with 14 independent geometric errors was proposed for the 2UPS & UP parallel mechanism. Chen proposed a twostep parameter identification method for the kinematic calibration of a 3prismaticrevolutespherical (PRS) parallel manipulator [29]. First, the planes where the PRS limbs are located are identified, and then the remaining kinematic parameters of each limb are identified using a gradientbased searching algorithm.
However, to the best of the authors’ knowledge, there is a paucity of research on the kinematic calibration of legged robots. In contrast to most calibration objects, legged robots have no fixed bases on the ground. The body of a legged robot is supported by the legs to maintain stability; however, the legs must move during the calibration process. This problem has not been considered in previous calibration solutions for traditional robots. To solve the problem, a calibration method for the novel sixlegged walking machine tool is proposed herein, in which a laser tracker is used as the measurement device. The sixlegged walking machine tool consists of two parallel mechanisms. A general method based on minimizing the inverse kinematic residual of each limb is applied for the error modeling of both the 3DOF parallel leg and the 6DOF parallel manipulator. The kinematic errors are grouped by limbs and are identified separately, reducing the complexity of the error models. The effectiveness of the proposed method was verified through a calibration experiment using a Leica AT960 laser tracker to measure the foottip positions of each leg and the endeffector poses of the parallel manipulator. The remainder of this paper is organized as follows. In Section 2, the architecture of the system is presented, and the inverse kinematic solutions of the parallel leg and the parallel manipulator are derived. The error models of both subsystems are described in Section 3. The procedure and results of the calibration experiment are presented in Section 4. The validation of the calibration results through additional experiments is presented in Section 5. Finally, the conclusions are presented in Section 6.
2 Architectural Description and Inverse Kinematics
The mobile robotic machining system to be calibrated is a sixlegged mobile robot with a 6DOF parallel manipulator on its body, as shown in Figure 1. Each leg of the robot is a 3DOF parallel mechanism comprising a UP limb and two UPS limbs, where the letters U, P, and S represent the universal, prismatic, and spherical joints, respectively. The leg base plate is fixed to the robot body. Three electric cylinders—working as active prismatic joints—are connected to the leg base plate by universal joints. An ankle connector is rigidly connected to the pistonrod end of one electric cylinder. The piston rods of the other electric cylinders are connected to the ankle connector by spherical joints. Hence, the leg architecture is a 2UPS & UP parallel mechanism. A sixdimensional force/torque (F/T) sensor is mounted at the bottom of the ankle connector, and a passive ball joint connecting the foot plate is mounted on the other side of the sensor.
The parallel manipulator mounted on the robot body is a 6PSU mechanism. The robot body contains a hexagonal frame functioning as the fixed base of the parallel manipulator. The moving platform is connected to the hexagonal frame by six PSU limbs. Each limb consists of a linear actuator, spherical joint, fixedlength linkage, and universal joint. The linear actuators are placed parallel to each other inside the hexagonal frame. Each linkage is connected to the slider of a linear actuator with a spherical joint on one end and connected to the moving platform with a universal joint on the other end. The moving platform has six DOFs and provides a mechanical interface for mounting a motor spindle or other end effectors.
2.1 Inverse Kinematics of Parallel Leg Mechanism
The leg mechanism is illustrated in Figure 2(a). The legs numbered from 1 to 6 are symmetrically arranged around the body in the shape of a hexagon. All the legs have the same kinematic architecture; thus, in the figure, the legs are simplified as dashed lines, except for leg 5, whose complete mechanism is presented as an example. The centers of the universal and spherical joints are denoted as \(U_{ij}\) and \(S_{ij}\), respectively, where the first subscript i is the limb index (\(i = 1\) for the UP limb and \(i = 2,3\) for the UPS limbs), and the second subscript j is the leg index (\(j = 1,2,...,6\)). \(U_{1j}\) is referred to as the hip center of leg \(j\). The center of the passive ball joint on the foot is denoted as \(S_{fj}\) and is taken as the reference point of the end effector for each leg. It is referred to as the foottip in this study and is used for foot trajectory planning.
The body frame \(\{ B\}\) is assigned at the midpoint of \(U_{12}\) and \(U_{15}\), with its xaxis pointing from \(U_{12}\) to \(U_{15}\) and its yaxis perpendicular to the hexagon \(U_{11} U_{12} U_{13} U_{16} U_{15} U_{14}\). In the jth leg, the hip frame \(\{ H_{j} \}\) is fixed to the leg base plate, whereas its origin \(O_{Hj}\) is coincident with \(U_{1j}\). Its xaxis is perpendicular to the plane \(U_{1j} U_{3j} U_{2j}\), whereas its zaxis is parallel to the line \(U_{3j} U_{2j}\). A moving frame \(\{ A_{j} \}\), i.e., the ankle frame, is attached to the piston rod of the UP limb. Its xaxis is coincident with the prismatic joint axis of the UP limb, which passes through \(U_{1j}\), and its yzplane passes through the point \(S_{2j}\). Thus, the origin \(O_{Aj}\) can be derived. Its zaxis is parallel to the line \(S_{3j} S_{2j}\).
The motion planning of the sixlegged robot determines the foottip trajectories of each leg with respect to the body frame. The position of \(S_{fj}\) with respect to the body frame \(\{ B\}\) is denoted as \(^{B}{\varvec{p}}_{fj}\), and the same position with respect to the hip frame \(\{ H_{j} \}\) is denoted as \(^{H}{\varvec{p}}_{fj}\). The orientation of \(\{ H_{j} \}\) with respect to \(\{ B\}\) can be described in the form of a rotation matrix \(_{Hj}^{B} {\varvec{R}}\) or the Euler angles \({{\varvec{\Theta}}}_{j} = \left[ {\begin{array}{*{20}c} {\varphi_{i} } & {\theta_{i} } & {\psi_{i} } \\ \end{array} } \right]^{{\text{T}}}\), as follows:
where \({\varvec{R}}_{X} (\theta )\), \({\varvec{R}}_{Y} (\theta_{i} )\), and \({\varvec{R}}_{Z} (\theta_{i} )\) represent the rotation matrix about the x, y, and zaxes, respectively. They can be expressed as follows:
According to the principle of coordinate transformation, \({}^{B}{\varvec{p}}_{fj}\) may be written as:
where \({\varvec{u}}_{1j}\) represents the coordinates of \(U_{1j}\) with respect to the body frame \(\{ B\}\), \({}^{B}{\varvec{p}}_{fj}\) is given by motion planning, and \({\varvec{u}}_{1j}\) and \({}_{Hj}^{B} {\varvec{R}}\) are constants determined by the mounting pose of the leg base plate. As \({}_{Hj}^{B} {\varvec{R}}^{  1} = {}_{Hj}^{B} {\varvec{R}}^{{\text{T}}}\), we have the following:
The vector loops of the 2UPS & UP parallel leg mechanism are presented in Figure 2(b). Because both UPS limbs have the same kinematic structure, only one of them is shown. In the UP limb, the direction vector of the prismatic joint with respect to the ankle frame \(\{ A_{j} \}\) is denoted as \({\varvec{e}}_{1}\). According to the definition of frame \(\{ A_{j} \}\), we have
Considering the vector loop \(U_{1j} O_{Aj} S_{fj}\) yields
where \({\varvec{s}}_{fj}\) represents the foottip position with respect to the ankle frame \(\{ A_{j} \}\), which is determined by the mechanical structure of the leg. \({\varvec{R}}_{1j}\) is a rotation matrix representing the orientation of the ankle frame \(\{ A_{j} \}\) with respect to the hip frame \(\{ H_{j} \}\). \({\varvec{R}}_{1j}\) is determined by two rotation angles of the universal joint, i.e., the \(\alpha_{1j}\) rotation about the global yaxis and the \(\beta_{1j}\) rotation about the rotated local zaxis, as follows:
\({}^{H}{\varvec{p}}_{fj}\) can be expressed as follows:
By substituting Eq. (6) into Eq. (5) and solving the vector function, the generalized coordinates of the UP limb are calculated as follows:
where \(s\beta_{1j}\) is short for \(\sin \beta_{1j}\), and \(c\beta_{1j}\) is short for \(\cos \beta_{1j}\).
Considering the vector loop \(U_{1j} O_{Aj} S_{2j} U_{2j}\), the length of the UPS limb can be calculated as follows:
where \({\varvec{u}}_{2j}\) represents the coordinates of \(U_{2j}\) with respect to the hip frame \(\{ H_{j} \}\), and \({\varvec{s}}_{2j}\) represents the coordinates of \(S_{2j}\) with respect to the ankle frame \(\{ A_{j} \}\). Similarly, considering the vector loop \(U_{1j} O_{Aj} S_{3j} U_{3j}\), we have the following:
By substituting Eqs. (8–10) into Eqs. (11) and (12), \(l_{2j}\) and \(l_{3j}\) can be calculated.
The joint coordinates of the parallel leg mechanism are the lengths of three limbs, as follows:
2.2 Inverse Kinematics of Parallel Manipulator
A schematic of the parallel manipulator is shown in Figure 3(a). Here, \(A_{i}\) and \(B_{i}\) represent the rotation centers of the universal joint and spherical joint in the ith kinematic limb, respectively; \(C_{i}\) represents the initial position of \(B_{i}\) when the actuators are in their home positions; and \({\varvec{e}}_{i}\) represents the unit direction vector of the ith prismatic joint. Therefore, the input variables are the distances between \(B_{i}\) and \(C_{i}\). A moving frame \(\{ P\}\) is attached to the moving platform. The origin of \(\{ P\}\) is located at the center of the hexagon \(A_{1} A_{2} A_{3} A_{4} A_{5} A_{6} A_{1}\). Its zaxis is perpendicular to the hexagonal plane, whereas its xaxis is parallel to \(A_{2} A_{1}\). Its yaxis is derived using the righthand rule. The reference frame \(\{ M\}\) is fixed to the hexagonal base frame of the parallel manipulator and is also fixed to the robot body. Its zaxis is the center axis of the hexagonal prism, and its xyplane is coincident with the front face of the base frame.
For the ith kinematic limb, as shown in Figure 3(b), according to the vector loop method, the following equation can be derived:
where \({\varvec{p}}\) represents the origin position of frame \(\{ P\}\) with respect to frame \(\{ M\}\), \({\varvec{R}}\) is a rotation matrix describing the orientation of frame \(\{ P\}\) with respect to frame \(\{ M\}\), \({\varvec{a}}_{i}\) represents the location of the ith universal joint center with respect to frame \(\{ P\}\), \({\varvec{c}}_{i}\) represents the initial location of the spherical joint with respect to the machine frame \(\{ M\}\), \({\varvec{l}}_{i} = \overrightarrow {{B_{i} A_{i} }}\), and \(q_{i}\) represents the displacement of the slider from its initial position.
For brevity, we define
Substituting Eq. (15) into Eq. (14) yields
By defining \(L_{i} = \left\ {{\varvec{l}}_{i} } \right\\) and squaring both sides of Eq. (16), we obtain
There are two solutions for a quadratic equation, but only one satisfies the continuity condition considering the initial position of the slider. The final solution is
By applying Eq. (18) to all six PSU limbs, the joint coordinates of the parallel manipulator are calculated as follows:
3 Error Modeling
Generally, a robot calibration process consists of four steps: error modeling, data acquisition (DAQ), parameter identification, and validation. Error modeling is a key step in calibration. An error model is established to describe the relationship between the kinematicparameter errors and the joint coordinate errors or endeffector pose errors. In this study, only geometric errors are considered in the error modeling. Thus, the nongeometric errors arising from backlash, gear transmission, thermal distortion, and compliance are ignored. We assume that all the universal joints and spherical joints in the mechanism are perfect joints; i.e., the rotation axes of a composite joint intersect at one point. Therefore, the kinematic errors comprise the positional deviations of the passive joints and the length errors of the linkages.
3.1 General Error Modeling Method Based on Inverse Kinematics
An objective function for the error model can be derived according to either inverse kinematics or forward kinematics. The closedform forward kinematic solution of a parallel mechanism is difficult to derive. Hence, we formulate the objective function by comparing the actual joint coordinates with the values computed by the inverse kinematic model.
For brevity, we assume that the inverse kinematic solution of a parallel mechanism is represented as follows:
where \({{\varvec{\uprho}}}\) is a vector including all the geometric parameters related to the kinematic model, \({{\varvec{\upchi}}}\) is a vector representing the pose of the end effector, and \({\varvec{q}}\) is a vector representing the joint coordinates.
For the kth calibration pose, the joint coordinate residuals of a parallel mechanism are formulated as follows:
where \({{\varvec{\uprho}}}\) represents the nominal kinematic parameters of the parallel mechanism, and \(\Delta {{\varvec{\uprho}}}\) represents the kinematicparameter errors to be identified. \({{\varvec{\upchi}}}_{mk}\) represents the actual pose of the end effector, which can be determined using an external measurement device. \({\varvec{q}}_{k}\) represents the command joint coordinates, which are calculated by substituting the nominal kinematic parameters \({{\varvec{\uprho}}}\) and target calibration poses \({{\varvec{\upchi}}}_{tk}\) into the inverse kinematic solution. The subscript k denotes the calibration configuration number.
Ignoring the servo error of each actuator, \({\varvec{q}}_{k}\) is used as the actual joint coordinates. The mapping between the kinematic errors and the joint coordinate residuals is performed for each calibration configuration.
Typically, the dimension of \(\Delta {{\varvec{\uprho}}}\) is larger than the dimension of the endeffector pose. Thus, additional configurations are needed to construct sufficient equations for parameter identification. Considering all the calibration configurations, the overall joint coordinate residuals are expressed as a system of nonlinear equations for the kinematic errors \(\Delta {{\varvec{\uprho}}}\) as follows:
where n represents the number of calibration configurations.
The kinematicparameter identification process involves finding a set of geometric parameters that minimizes the inverse kinematic residuals given the actual endeffector poses. This is a nonlinear leastsquares problem, which is expressed as follows:
Eq. (20) is linearized as
where \({\varvec{J}}_{e,k}\) is referred to as the error Jacobian mapping of the kinematic errors to the joint coordinate errors.
Applying Eq. (25) to all the calibration configurations yields
Here, \({\varvec{J}}_{e}\) is referred to as the identification Jacobian matrix. Eq. (24) can be solved using the Levenberg–Marquardt algorithm, in which the identification Jacobian matrix is used to perform iterative calculations [30, 31].
3.2 Error Model of Parallel Leg Mechanism
The inverse kinematic solution of the parallel leg mechanism is determined using Eqs. (3, 5, 11 and 12). The kinematic parameters involved in these equations are \({\varvec{u}}_{1j}\), \({{\varvec{\Theta}}}_{j}\), \({\varvec{u}}_{2j}\), \({\varvec{u}}_{3j}\), \({\varvec{s}}_{fj}\), \({\varvec{s}}_{2j}\), and \({\varvec{s}}_{3j}\).
Inspired by the IPS method proposed by Hu [24] and the twostep calibration method proposed by Chen [29], we divide these kinematic errors into three groups that can be identified sequentially.
3.2.1 Group 1: Pose Errors of the Hip Frame with Respect to the Body Frame
The kinematic parameters in Eq. (3) correspond to the position and orientation of the hip frame \(\{ H_{j} \}\) with respect to the body frame \(\{ B\}\), i.e., \({\varvec{u}}_{1j}\) and \({{\varvec{\Theta}}}_{j}\). The foottip is confined to a spherical surface, with its center coincident with \(U_{1j}\) when the actuator in the UP limb is locked. Hence, the actual value of \({\varvec{u}}_{1j}\), which is denoted as \({\tilde{\varvec{u}}}_{1j}\), can be directly identified via spherical fitting. A symbol with a tilde on top denotes the actual or identified value of this variable. This notation is used hereinafter. Thus, the position errors of the hip frame can be easily acquired as follows:
There are two methods for modeling the orientation error \(\Delta {{\varvec{\Theta}}}_{j}\) according to different definitions of the actual hip frame \(\{ \tilde{H}_{j} \}\), as shown in Figure 4. In the figure, the symbol with a tilde represents the actual value, whereas the symbol without a tilde represents the nominal value.
Method 1: The orientation error \(\Delta {{\varvec{\Theta}}}_{j}\) is considered, implying that the orientation of \(\{ \tilde{H}_{j} \}\) is determined by the actual positions of \(U_{2j}\) and \(U_{3j}\), according to the definition of \(\{ H_{j} \}\) in Section 2.1. Thus, the position errors of \(\tilde{U}_{2j}\) and \(\tilde{U}_{3j}\) with respect to the \(\{ \tilde{H}_{j} \}\) frame must satisfy the following constraints:
Accordingly, \(\Delta {\varvec{u}}_{2j}\) and \(\Delta {\varvec{u}}_{3j}\) have three total independent variables in the error model.
Method 2: The orientation error \(\Delta {{\varvec{\Theta}}}_{j}\) is ignored, implying that the orientation of \(\{ \tilde{H}_{j} \}\) is identical to the nominal value:
Thus, frame \(\{ \tilde{H}_{j} \}\) is acquired by translating \(\{ H_{j} \}\) from \(U_{1j}\) to \(\tilde{U}_{1j}\) without rotation. As such, \(\tilde{U}_{2j}\) and \(\tilde{U}_{3j}\) may not be located in the yzplane of the frame \(\{ \tilde{H}_{j} \}\), and the constraints in Eq. (28) are invalid. Hence, there are six independent variables among \({\varvec{u}}_{2j}\) and \({\varvec{u}}_{3j}\).
In both methods, there are a total of nine independent variables among \(\Delta {\varvec{u}}_{1j}\), \(\Delta {{\varvec{\Theta}}}_{j}\), \(\Delta {\varvec{u}}_{2j}\), and \(\Delta {\varvec{u}}_{3j}\). The definition of frame \(\{ \tilde{H}_{j} \}\) affects the values of \(\alpha_{1j}\) and \(\beta_{1j}\) in Eqs. (9) and (10) but does not affect the final solution of the joint coordinates. Method 2 is used to define the actual hip frame \(\{ \tilde{H}_{j} \}\), because it is easier to solve a leastsquares problem without constraint equations. Thus, three independent variables, i.e., the actual coordinates of the hip center \({\tilde{\varvec{u}}}_{1j}\), are identified in this step.
3.2.2 Group 2: Remaining Kinematic Errors of the UP Limb
After \({\tilde{\varvec{u}}}_{1j}\) is identified in the last step, \({\tilde{\varvec{u}}}_{1j}\) and the measured foottip position \({}^{B}{\tilde{\varvec{p}}}_{fj}\) are substituted into Eq. (3) to update \({}^{H}{\tilde{\varvec{p}}}_{fj}\). Then, \({}^{H}{\tilde{\varvec{p}}}_{fj} (\tilde{x}_{j} ,\tilde{y}_{j} ,\tilde{z}_{j} )\) is substituted into Eq. (8), and the objective function of the UP limb is established by comparing the actual limb length \(l_{1j}\) and computed limb length, as follows:
Thus, there are three kinematic errors to be identified in Group 2: \(\Delta s_{fjx}\), \(\Delta s_{fjy}\), and \(\Delta s_{fjz}\).
Squaring both sides of Eq. (5) yields
Differentiating both sides of Eq. (31) and ignoring the measurement error of \({}^{H}{\varvec{p}}_{fj}\) yields
where \(\Delta {\varvec{s}}_{fj} = \left[ {\begin{array}{*{20}c} {\Delta s_{fjx} } & {\Delta s_{fjy} } & {\Delta s_{fjz} } \\ \end{array} } \right]^{{\text{T}}}\).
By expanding Eq. (32), the relationship between \(\Delta l_{1j}\) and \(\Delta {\varvec{s}}_{fj}\) is derived as follows:
The coefficient matrix in Eq. (33) is referred to as the error Jacobian of the UP limb.
3.2.3 Group 3: Kinematic Errors of the UPS Limbs
In the last step, the actual coordinates of \({\varvec{s}}_{fj}\) are identified. By substituting \({\tilde{\varvec{s}}}_{fj}\) into Eqs. (9) and (10), the actual value of \({\varvec{R}}_{1j}\) is calculated. The calibration index of the UPS limb is defined as the joint coordinate error, as follows:
Hence, there are six kinematic errors to be identified in Group 3, i.e., the coordinates of \(\Delta {\varvec{s}}_{2j}\) and \(\Delta {\varvec{u}}_{2j}\). Squaring both sides of Eq. (11) yields
Because the actual values of \(l_{1j}\) and \({\varvec{R}}_{1j}\) have been identified, their errors are ignored. Differentiating both sides of Eq. (35) and substituting \(\tilde{l}_{1j}\) and \({\tilde{\varvec{R}}}_{1j}\) into the equation yields
We define \({\tilde{\varvec{e}}}_{2j}\) as follows:
Substituting Eq. (37) into Eq. (36), \(\Delta l_{2j}\) is derived as
The coefficient matrix in Eq. (38) is the error Jacobian of the UPS limb.
Finally, \(\Delta {\varvec{s}}_{2j}\) and \(\Delta {\varvec{u}}_{2j}\) can be identified using the leastsquares method to minimize \(\Delta l_{2j}\). \(\Delta {\varvec{s}}_{3j}\) and \(\Delta {\varvec{u}}_{3j}\) can also be identified using the same procedure in this step, because both UPS limbs have the same kinematic architecture.
Therefore, there are a total of 18 independent kinematic errors for the 2UPS & UP parallel leg mechanism.
3.3 Error Model of Parallel Manipulator
By combining Eqs. (15) and (18), a simplified representation of the inverse kinematic solution for the ith kinematic limb in the 6PSU parallel manipulator is obtained:
Thus, the error model of each PSU limb is expressed as follows:
where \({\tilde{\varvec{p}}}\) and \({\tilde{\varvec{R}}}\) represent the position and orientation, respectively, of the frame \(\{ P\}\) with respect to the frame \(\{ M\}\).
The inverse kinematic residual of each limb is unrelated to the kinematic parameters of the other limbs; therefore, the error parameters of each limb can be identified independently.
Differentiating both sides of Eq. (17) and ignoring the measurement error of the pose yields
We define \({\varvec{k}}_{i}\) as follows:
Substituting Eq. (42) into (41) yields
As \({\varvec{e}}_{i}\) is a unit vector, the following constraint must be satisfied:
Hence there are only two independent variables in \(\Delta {\varvec{e}}_{i}\). We define \(\Delta {\varvec{e}}_{i}\) as follows:
The nominal value of \({\varvec{e}}_{i}\) is \(\left[ {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} } \right]^{{\text{T}}}\); accordingly, we have
By combining Eqs. (45) and (46), we have
As \(\Delta e_{ix}\) and \(\Delta e_{iy}\) are small, \(\Delta e_{iz} \approx 0\). Therefore, \(\Delta {\varvec{e}}_{i}\) can be expressed as follows:
Thus, the number of kinematicerror parameters is reduced, and the nonlinear constraint in Eq. (44) can be eliminated.
The parameters can be defined as follows:
Substituting Eq. (48) into Eq. (43) yields
Thus, each PSU limb has nine independent kinematic errors, and the error model of the parallel manipulator has 54 parameters to be identified.
4 Calibration Experiment
4.1 Measurement System
The experimental setup for calibration is shown in Figure 5. A Leica AT960 laser tracker was used as the measurement equipment, and SpatialAnalyzer^{@} was used as the DAQ software.
From the perspective of typology, the proposed sixlegged walking machine tool consists of seven parallel mechanisms whose bases are mounted on the robot body. In contrast to industrial robots and conventional machine tools, a legged robot is not fixed to the ground. Hence, before measuring the end effectors of each leg and the manipulator, the robot body must first be located by the laser tracker. Accordingly, an artifact with four magnetic nests is mounted on top of the robot body, as shown in Figure 5(b). The magnetic nests are used to hold a spherically mounted retroreflector (SMR) for the laser tracker and thus provide four reference points fixed on the robot body. This allows the laser tracker to locate the robot body from different azimuths. In general, every time the robot changes its position on the ground, the reference points must be measured again. By aligning the reference points, the measured data points of the different legs and the manipulator can be unified into a single coordinate frame fixed on the robot body. In this way, the robot can turn around on the ground, allowing the end effectors of all the legs and the manipulator to be measured.
To measure the foottip position of each leg, the passive ball joint structure under the F/T sensor is replaced with an SMR holder, as shown in Figure 5(c). The location of the SMR center \(S^{\prime}_{fj}\) with respect to the ankle frame \(\{ A_{j} \}\) was designed to be identical to that of the original passive ball joint center \(S_{fj}\); i.e., \(L^{\prime}_{f} = L_{f}\). Thus, the SMR coordinates represent the foottip position.
The endeffector pose of the parallel manipulator is determined by three reference points fixed on the moving platform, as shown in Figure 5(d). Three magnetic nests are fixed on the moving platform to maintain the SMR. The reference points \(R_{1}\), \(R_{2}\), and \(R_{3}\) are the center locations of the SMR when it is placed on the magnetic nests. A measurement coordinate frame \(\{ P^{\prime}\}\) based on these reference points is established. The origin of \(\{ P^{\prime}\}\) is coincident with \(R_{1}\). The xaxis of \(\{ P^{\prime}\}\) points from \(R_{2}\) to \(R_{1}\), while the yaxis points from \(R_{3}\) to \(R_{1}\). Assuming that the positions of \(R_{1}\), \(R_{2}\), and \(R_{3}\) are denoted as \({\varvec{r}}_{1}\), \({\varvec{r}}_{2}\), and \({\varvec{r}}_{3}\), respectively, the orientation of \(\{ P^{\prime}\}\) is derived as follows:
Hence, the pose of \(\{ P^{\prime}\}\) can be represented as \(({\varvec{r}}_{1} ,{\varvec{R}}_{P} )\). Considering the distance between the universal joint centers and the mounting flange of the moving platform and the distance between the SMR centers and the mounting flange, the movingplatform frame \(\{ P\}\) is acquired by translating \(\{ P^{\prime}\}\) along the negative direction of its zaxis by a fixed distance dz. Thus, the orientation of \(\{ P^{\prime}\}\) is identical to that of \(\{ P\}\), and the origin coordinates of \(\{ P\}\) are as follows:
Thus, the pose of the moving platform can be represented by \(({\varvec{p}}_{P} ,{\varvec{R}}_{P} )\).
Furthermore, in the practical application of the robot, the calibration artifact is replaced with a spindle or other end effectors. The relative poses of the measurement frame \(\{ P^{\prime}\}\) and tool frame \(\{ T\}\) with respect to the movingplatform frame \(\{ P\}\) are shown in Figure 6. In the moving platform, the front face is precisionmachined and used as the tool flange for mounting the end effectors. A coordinate frame \(\{ F_{1} \}\) is fixed on the moving platform, with its xyplane coincident with the tool flange and its origin located at the center of the tool flange. The movingplatform frame \(\{ P\}\) is determined by translating \(\{ F_{1} \}\) along its zaxis with a constant distance \(d_{z1}\). \(d_{z1}\) can be acquired from the assembly drawing and represents the distance between one of the ideal universal joint centers and the tool flange. The actual universal joint centers may not be located in the xyplane of \(\{ P\}\). Nevertheless, the position errors of the universal joint centers are considered in the error model, as indicated by Eq. (40).
The calibration artifact is precisionmachined as well; thus, the distance between the SMR center and the mounting face \(d_{z2}\) is known. One of the magnetic nests is precisely attached to the center of the calibration artifact. A coordinate frame \(\{ F_{2} \}\) is defined by translating the measurement frame \(\{ P^{\prime}\}\) along its −z axis with the distance \(d_{z2}\). When the calibration artifact is mounted on the tool flange, \(\{ F_{2} \}\) is coincident with \(\{ F_{1} \}\); thus, the following calculation can be performed:
Moreover, the relative pose between \(\{ P^{\prime}\}\) and \(\{ P\}\) is known.
Similarly, in the spindle module, a reference frame \(\{ F_{3} \}\) is attached to the mounting face. The position of the tool center point (TCP) with respect to \(\{ F_{3} \}\) is determined by the tool setting. The origin of the tool frame \(\{ T\}\) coincides with the TCP. The orientation of \(\{ T\}\) is identical to that of \(\{ F_{3} \}\). When the spindle is mounted on the tool flange, \(\{ F_{3} \}\) is coincident with \(\{ F_{1} \}\). Hence, the pose of \(\{ T\}\) with respect to \(\{ P\}\) can be derived. Although the actual TCP position was not measured in the experiment, the positional accuracy of the TCP can be determined using the pose accuracy of the moving platform. To achieve a high machining accuracy, the TCP position with respect to the tool flange should be measured using other equipment, such as a tool setting gauge, or should be identified by a trial cut, which requires further research.
4.2 Calibration Configurations
The configuration of each leg is represented by the foottip position. For each configuration, there are three unknowns in Eq. (30) and six unknowns in Eq. (34). These equations use the common foottip position. The number of constraint equations must be greater than or equal to the number of unknowns. Hence, at least six configurations are required for the calibration of the leg. Considering the workspace limit of the leg, three equidistant values within the range of each generalized coordinate of the UP limb are selected: \(\alpha_{1j} = {{ \uppi } \mathord{\left/ {\vphantom {{ \uppi } {18}}} \right. \kern\nulldelimiterspace} {18}},\;0,\;{\uppi \mathord{\left/ {\vphantom {\uppi {18}}} \right. \kern\nulldelimiterspace} {18}},\) \(\beta_{1j} = {{ \uppi } \mathord{\left/ {\vphantom {{ \uppi } {18}}} \right. \kern\nulldelimiterspace} {18}},\;0,\;{\uppi \mathord{\left/ {\vphantom {\uppi {18}}} \right. \kern\nulldelimiterspace} {18}},\) and \(l_{1j} = 900,\;950,\;1000\). Then, all the combinations of these three coordinates are traversed to generate 27 (3^{3}) foottip positions. All the selected configurations are within the leg workspace, as shown in Figure 7(a).
The configuration of the parallel manipulator is represented by the position of the moving platform. For each configuration, nine unknowns exist in Eq. (40). Hence, at least nine configurations are required for the calibration of the manipulator. If the configuration generation method of the leg is applied to the parallel manipulator, there will be 729 (3^{6}) configurations, as each pose has six independent coordinates. A calibration experiment with such a large number of configurations is redundant and timeconsuming. Therefore, a randomgeneration method was used instead, which included the following steps.

Step 1) Randomly generate six coordinates within certain ranges, e.g., \(x \in [  100,100]\), \(y \in [  100,100]\), \(z \in [  40,160]\), \(\alpha \in [  0.3,0.3]\), \(\beta \in [  0.3,0.3]\), and \(\gamma \in [  0.3,0.3]\), and create a pose \({{\varvec{\upchi}}} = (x,y,z,\alpha ,\beta ,\gamma )\).

Step 2) Substitute the pose into the inverse kinematic solution of the parallel manipulator, and check whether all the joint coordinates are within their travel ranges. If so, the pose is selected as one of the calibration configurations; otherwise, return to step 1) to generate another pose.

Step 3) Repeat steps 1) and 2) until the number of configurations is adequate.
Ultimately, 50 configurations were generated for the calibration of the manipulator, as shown in Figure 7(b).
4.3 Calibration Procedures
Because there was no proper fixture to fix the robot body on the ground, we used the robot legs to support the robot. A sixlegged robot needs at least three legs standing on the ground to keep the body stable. Hence, the six legs were divided into two groups. Legs 1, 3, and 5 were included in the first group, and the remaining legs constituted the second group. The leg numbering is shown in Figure 2(a). During the calibration of a leg in one group, the legs of the other group were used to elevate and support the robot body as a stable tripod. After the hanging legs were calibrated, they were commanded to support the body in place of the previous supporting legs. Then, the previous supporting legs would hang in the air for calibration, as shown in Figure 8. In this way, all the legs were calibrated.
Before the leg calibration, several preparations were required. The first preparation was the standingposture adjustment of the robot, as mentioned previously. Subsequently, the motors except those in the calibrating leg were disabled to weaken the disturbance signal. A prismatic joint could be locked by disabling the corresponding motor, as each motor integrated a clutch. The next step was to replace the passive balljoint component at the bottom of the calibrating leg with the SMR holder, to allow the foottip to be measured by the laser tracker. Finally, the reference points on the top of the body had to be measured before the calibration of each leg. The laser tracker had to be relocated in the DAQ software by aligning these reference points with the previous setup to ensure that the measured foottip positions of the different legs were unified to a common coordinate frame fixed with the robot body.
After performing the abovementioned preparations, we placed the SMR on the SMR holder of the calibrating leg and executed the calibration program. Two groups of data were measured for the leg calibration. The first group of data contained the foottip trajectory when the motor of the UP limb was disabled and the motors of the UPS limbs were actuated. Because the prismatic joint of the UP limb was locked, the distance between the foottip and the universal joint center remained the same. When the UPS limbs were actuated in the same direction, the UP limb swung around an axis passing through the hip center \(U_{1j}\). When the UPS limbs were actuated in different directions, the UP limb swung around another axis through \(U_{1j}\). Hence, the foottip trajectory was a cross attached to a spherical surface. Subsequently, the UP limb was enabled, the leg was actuated to 27 calibration configurations in sequence, and the corresponding foottip positions were logged as the second group of data. After calibration of each leg, the SMR holder was removed, and the original passive ball joint structure was mounted on the leg again. The calibration procedures were repeated for all six legs.
The DAQ and preprocessing procedures of the sixlegged robot in the DAQ software are shown in Figure 9. The measured foottip positions of each leg and the reference points are shown in Figure 9(a). The measured data of the six legs were unified to a single coordinate frame by aligning the reference points, as shown in Figure 9(b). The hip center of each leg was identified via sphere fitting of the cross trajectory, as shown in Figure 9(c). Then, the body frame \(\{ B\}\) was created according to the sphere centers of the six legs, as shown in Figure 9(d). Finally, the sphere center positions and the foottip positions corresponding to the calibration configurations were exported for further processing using \(\{ B\}\) as the reference frame, as shown in Figure 9(e).
The calibration procedures of the parallel manipulator were simpler than those of the legged robot. First, all the legs were commanded to recover to their initial configurations, with all six feet standing on the ground; thus, the robot body was kept still. The reference points on the body were measured again to relocate the laser tracker. We then used a handheld probe called the TProbe together with the laser tracker to scan the geometric feature of the hexagonal frame of the parallel manipulator and create the machine frame \(\{ M\}\), i.e., the reference coordinate frame for the parallel manipulator subsystem. Additionally, the relative pose between the machine frame \(\{ M\}\) and the body frame \(\{ B\}\) was acquired. Subsequently, the parallel manipulator was actuated to 25 calibration configurations three times, with the SMR placed on the magnetic nests \(R_{1}\), \(R_{2}\), and \(R_{3}\). Thus, the corresponding SMR positions were measured using the laser tracker, as shown in Figure 10.
4.4 Data Processing and Parameter Identification
The data processing and parameter identification procedures for the robot are shown in Figure 11. The spherefitting process and creation of several reference coordinate frames were conducted in the DAQ software, whereas the objective functions for all the kinematic limbs were solved in MATLAB using the lsqnonlin optimization toolbox function.
Several identified parameters of the leg deviated significantly from their nominal values, which indicated that some of the kinematic parameters in the error model of the leg were nonidentifiable. Hence, we used QR decomposition of the identification Jacobian of each kinematic limb to distinguish identifiable parameters from nonidentifiable parameters [22].
Considering the UP limb of the leg as an example, by applying Eq. (33) for all calibration configurations, the identification Jacobian \({\varvec{J}}_{e}\) of the UP limb was obtained as follows:
where \(\Delta {\varvec{q}}_{1}\) represents the joint coordinate errors of the UP limb for all configurations. Then, \({\varvec{J}}_{e}\) was decomposed into an orthogonal matrix \({\varvec{Q}}\) and an upper triangular matrix \({\varvec{R}}\) through QR decomposition. Thus, Eq. (57) can be rewritten as
The third diagonal element of \({\varvec{R}}\) was equal to zero, indicating that the corresponding kinematic parameter \(s_{fjz}\) was nonidentifiable. The norm of the second diagonal element of \({\varvec{R}}\) was close to zero and much smaller than the first diagonal element; hence, the corresponding parameter \(s_{fjy}\) had low identifiability. Therefore, in the final identification process, \(\Delta s_{fjy}\) and \(\Delta s_{fjz}\) were set as zero, and only \(s_{fjx}\) was identified.
Similarly, through QR decomposition of the identification Jacobian of the UPS limb, \(s_{2jy}\), \(s_{2jz}\), \(s_{3jy}\), and \(s_{3jz}\) were found to have low identifiability. Hence, their errors were ignored. Thus, nine kinematic parameters of a leg were identified using the error model, with three kinematic parameters identified via sphere fitting. The kinematic parameters of the different legs were identified using the same method. The nominal and identified values of the kinematic parameters of Leg 1 are presented in Table 1.
The parameter identification for the parallel manipulator did not have the same problem as that for the leg. All the kinematic parameters of each PSU limb were identified separately by the error model. The nominal and identified kinematic parameters of the parallel manipulator are compared in Table 2.
The maximum joint coordinate errors before and after calibration are compared for Leg 1, as shown in Figure 12. The vertical axis in each figure represents the maximum absolute value of the three joint coordinate errors for each calibration configuration, i.e., \(\left\ {\Delta {\varvec{q}}_{k} } \right\_{\infty }\), where \(\Delta {\varvec{q}}_{k}\) is defined in Eq. (21). The maximum value of the curve before calibration was 5.48 mm in the 27th configuration. The maximum error was reduced to 0.12 mm after calibration. The results indicate the effectiveness of the calibration method.
Similarly, the maximum joint coordinate errors before and after calibration for the parallel manipulator are compared in Figure 13. The maximum joint coordinate error of all the active joints and all the configurations was reduced from 0.7 to 0.04 mm. Because the initial error of the parallel manipulator was much smaller than that of Leg 1, the reduction in the joint coordinate error of the parallel manipulator was not as significant as that of Leg 1.
5 Validation
After calibration, the kinematic errors of the entire robot were compensated in the control software. The positioning and trajectory errors of the sixlegged walking machine tool were evaluated through a series of experiments.
5.1 Positioningerror Evaluation
In the first experiment, the positioning error of each leg and that of the manipulator were evaluated. Each subsystem was moved to a set of validation configurations different from the calibration configurations. The actual positions of each foottip and actual poses of the moving platform were measured using the laser tracker.
In particular, 26 foothold locations frequently used for walking planning of the sixlegged robot were selected as the validation configurations for each leg. As shown in Figure 14, the footholds started at the initial position of the foottip and then moved along the x, −x, y, and −y directions, and three equidistant points were selected in each direction. Hence, 13 footholds in a horizontal plane were generated as validation configurations. The other 13 validation configurations were generated by transferring these points along the zaxis at a certain distance. Each leg was programmed to move to the validation configurations in sequence, and the corresponding foottip positions were measured. The experiment was performed twice using the nominal kinematic parameters and identified kinematic parameters in the control system. The positionerror distributions of the legs are shown in Figure 15. The position error is defined as the Euclidean distance between the command position and the measured position of the foottip. In the figure, the bars represent the error margins. The highest point of each bar indicates the maximum Euclidean error of each leg, and the dot in the bar indicates the mean error. The blue and orange bars indicate the positionerror distributions before and after calibration, respectively. As shown in Figure 15, the position errors of all the legs were significantly reduced after calibration. The maximum position error for all the legs before calibration was 14.83 mm, and this value was reduced to 1.13 mm after calibration. The average position error for the legs was < 0.50 mm after calibration.
For the parallel manipulator, 25 randomly generated configurations different from the calibration configurations were used for the validation experiment. The manipulator was moved to the validation configurations, and the corresponding poses of the moving platform were measured via the threepoint method using the same DAQ and processing steps that were employed in the calibration experiment. The pose errors of the parallel manipulator with the kinematic parameters before and after calibration are compared in Figure 16. The position errors are defined as the Euclidean distances between the command positions and the corresponding measured positions. The orientation errors are defined as the rotation angles from the command poses and the corresponding measured poses based on the axis–angle representation of rotation [32]. As shown in Figure 16(a), the position accuracy of the parallel manipulator was significantly improved after calibration. The maximum position error of the moving platform was reduced from 0.53 to 0.07 mm after calibration. Moreover, the maximum orientation error was reduced from 2.5 × 10^{−3} to 2.1 × 10^{−3} rad, as shown in Figure 16(b). The improvement in the orientation accuracy was not significant and may have been caused by the indirect measurement of the orientation. We checked the primary data and determined that the difference between the maximum and minimum values of \(\angle R_{2} R_{1} R_{3}\) was 1.4 × 10^{−3} rad, indicating that the orientation measurement error was no smaller than this value. Because the maximum orientation error before calibration was less than twice the measurement error, the insignificant improvement in the orientation accuracy is reasonable.
5.2 Trajectoryerror Evaluation
To further investigate the trajectory accuracy of both subsystems, the sixlegged robot and parallel manipulator were programmed to move along a circular path, and the actual trajectories of the moving platform were captured by the laser tracker. While testing the sixlegged robot, the manipulator was commanded to remain still. The 18 actuators of the legged robot were programmed to move synchronously, translating the robot body along a circular path with a radius of 100 mm and keeping all the feet still on the ground. Similarly, while testing the parallel manipulator, the legged robot stood still, and the moving platform was programmed to move along a circular path of 50 mm. The smaller circle radius was limited by the manipulator workspace. Each subsystem was tested twice using the nominal and identified kinematic parameters. The trajectory deviations were acquired by calculating the shortest distance between the captured points and the ideal circular paths, and the results were plotted in a polar diagram, as shown in Figure 17. Here, the radial coordinate indicates the central angle of each captured point on the circular path, and the angular coordinate indicates the trajectory deviation. The trajectory deviations of the robot body and parallel manipulator were both significantly reduced after the kinematic calibration. The trajectory error is defined as the maximum value of the trajectory deviation. The trajectory error of the body motion of the sixlegged robot was reduced from 2.1 to 1.3 mm after calibration. The results indicate that the kinematic calibration of the legs improves not only the motion accuracy of each individual leg but also the cooperative motion accuracy among the different legs. The trajectory error of the parallel manipulator was reduced from 0.54 to 0.048 mm after calibration.
To evaluate the overall trajectory error when the sixlegged mobile robot and manipulator move together, the robot body and manipulator were programmed to move along a straight line in opposite directions at the same speed, with all the feet standing on the ground. The endeffector position was captured by a laser tracker at a frequency of 100 Hz. The experiment was performed in both the lateral and vertical directions, separately. The robot body trajectory of lateral movement included four steps: (1) moving 50 mm to the left, (2) moving 50 mm to the right, (3) moving 50 mm to the right, and (4) moving 50 mm to the left. In the verticalmovement test, the robot body moved up and down with the same sequence and distance. Ideally, the endeffector position should have remained constant during the comotion of the robot body and manipulator. However, owing to the trajectory errors of the two subsystems and the communication delay between their control systems, the endeffector position deviated from the initial position. The deviation in the endeffector position indicated the comotion trajectory error. The results are shown in Figure 18, where \(T_{{i{\text{s}}}}\) and \(T_{{i{\text{e}}}}\) represent the starting and ending times of the ith \((i = 1,2,3,4)\) motion step. The maximum deviations on the x, y, and zaxes during the lateral movement were 0.701, 0.013, and 0.060 mm, respectively. The maximum Euclidean error was 0.702 mm. The maximum deviations on the x, y, and zaxes during the vertical movement were 0.181, 0.065, and 0.213 mm, respectively, and the maximum Euclidean error was 0.332 mm. Hence, the sixlegged walking machine tool has a higher comotion trajectory accuracy in the vertical direction than in the lateral direction.
6 Conclusions
This paper presents the kinematic calibration of a sixlegged walking machine tool. The error models of the 3DOF parallel leg and the 6DOF parallel manipulator were derived by minimizing the inverse kinematic residual of each limb, where the inverse kinematic residual is defined as the difference between the actual and computed joint coordinates. The kinematic parameters of the 2UPS & UP parallel leg mechanism are divided into three groups, i.e., the hip center position with respect to the robot body, the remaining parameters in the UP limb, and the parameters in the UPS limbs. The kinematic parameters of the 6PSU parallel manipulator are grouped by limbs as well. The hip center of each leg is first identified via sphere fitting, and the other kinematic parameters are identified by solving the objective function of each limb individually using the leastsquares method. Thus, the kinematic parameters are partially decoupled, the complexities of the error models are reduced, and the numerical efficiency of the identification algorithm is improved.
A lasertrackerbased kinematic calibration method is proposed for the sixlegged walking machine tool. Several artifacts were designed to assist in the measurement of multiple foottips. By aligning the reference points on the body, the measured data of the different legs and manipulator were unified to a common coordinate frame. Thus, the lack of a fixed base for the legged robot was addressed. A calibration experiment was performed, and the results indicated that the calibration method significantly improved the motion accuracy of each leg and manipulator.
After calibration, the positioning accuracy and trajectory accuracy of the robot were significantly improved. The maximum position error of the foottips was reduced from 14.83 to 1.13 mm, and the maximum position error of the manipulator was reduced from 0.53 to 0.07 mm. The trajectory error of the body motion with all the feet on the ground was reduced from 2.1 to 1.3 mm. In addition, the trajectory error of the parallel manipulator was reduced from 0.54 to 0.048 mm. The comotion trajectory error when the legged robot and the manipulator moved together was also evaluated after calibration. The result was 0.702 mm, with a range of motion equal to 50 mm. The proposed kinematic calibration method can be extended to other parallel mechanisms, as well as other legged robots.
References
L Uriarte, M Zatarain, D Axinte, et al. Machine tools for large parts. CIRP Annals, 2013, 62(2): 731–750.
P Pessi, H Wu, H Handroos, et al. A mobile robot with parallel kinematics to meet the requirements for assembling and machining the ITER vacuum vessel. Fusion Engineering and Design, 2007, 82: 2047–2054.
B Hazel, J Côté, Y Laroche, et al. Insitu robotic interventions in hydraulic turbines. 1st International Conference on Applied Robotics for the Power Industry, Montréal, Canada, October 5–7, 2010: 1–6.
J D Barnfather, M J Goodfellow, T Abram. Positional capability of a hexapod robot for machining applications. The International Journal of Advanced Manufacturing Technology, 2017, 89: 1103–1111.
J D Barnfather, M J Goodfellow, T Abram. Achievable tolerances in robotic feature machining operations using a lowcost hexapod. The International Journal of Advanced Manufacturing Technology, 2018, 95: 1421–1436.
M Weck, D Staimer. Parallel kinematic machine tools – current state and future potentials. CIRP Annals, 2002, 51(2): 671–683.
H Zhuang, H Gao, Z Deng, et al. A review of heavyduty legged robots. Science China Technological Sciences, 2014, 57: 298–314.
H Yang, S Krut, C Baradat, et al. Locomotion approach of REMORA: A reconfigurable mobile robot for manufacturing Applications. IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, USA, September 2530, 2011: 5067–5072.
A Olarra, D Axinte, L Uriarte, et al. Machining with the WalkingHex: A walking parallel kinematic machine tool for in situ operations. CIRP Annals, 2017, 66(1): 361–364.
J Liu, Y Tian, F Gao. A novel sixlegged walking machine tool for insitu operations. Frontiers of Mechanical Engineering, 2020, 15(3): 351–364.
Y Pan, F Gao. A new sixparallellegged walking robot for drilling holes on the fuselage. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 2014, 228(4): 753–764.
B Tao, X Zhao, H Ding. Mobilerobotic machining for large complex components: A review study. Science China Technological Sciences, 2019, 62(8): 1388–1400.
J M Hollerbach, C W Wampler. The calibration index and taxonomy for robot kinematic calibration methods. The International Journal of Robotics Research, 1996, 15(6): 573–591.
A Nubiola, I A Bonev. Absolute calibration of an ABB IRB 1600 robot using a laser tracker. Robotics and ComputerIntegrated Manufacturing, 2013, 29(1): 236–245.
A Filion, A Joubair, A S Tahan, et al. Robot calibration using a portable photogrammetry system. Robotics and ComputerIntegrated Manufacturing, 2018, 49: 77–87.
A Nubiola, I A Bonev. Absolute robot calibration with a single telescoping ballbar. Precision Engineering, 2014, 38(3): 472–480.
T MessayKebede, G Sutton, O DjaneyeBoundjou. Geometry based self kinematic calibration method for industrial robots. Proceedings of IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, May 21–25, 2018: 4921–4926.
J Wang, O Masory. On the accuracy of a Stewart platform. I. The effect of manufacturing tolerances. Proceedings of IEEE International Conference on Robotics and Automation, Atlanta, USA, May 2–6, 1993: 114–120.
O Masory, J Wang, H Zhuang. On the accuracy of a Stewart platform. II. Kinematic calibration and compensation. Proceedings of IEEE International Conference on Robotics and Automation, Atlanta, USA, May 2–6, 1993: 725–731.
H Zhuang, J Yan, O Masory. Calibration of Stewart platforms and other parallel manipulators by minimizing inverse kinematic residuals. Journal of Field Robotics, 1998, 15: 395–405.
H Ota, T Shibukawa, T Tooyama, et al. Forward kinematic calibration and gravity compensation for parallelmechanismbased machine tools. Proceedings of the Institution of Mechanical Engineers, Part K: Journal of Multibody Dynamics, 2002, 216(1): 39–49.
S Besnard, W Khalil. Identifiable parameters for parallel robots kinematic calibration. Proceedings of IEEE International Conference on Robotics and Automation (ICRA), Seoul, Korea, May 21–26, 2001, 3: 2859–2866.
J Guo, D Wang, R Fan, et al. Kinematic calibration and error compensation of a hexaglide parallel manipulator. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 2017, 233(1): 215–225.
Y Hu, F Gao, X Zhao, et al. Kinematic calibration of a 6DOF parallel manipulator based on identifiable parameters separation (IPS). Mechanism and Machine Theory, 2018. 126: 61–78.
H Liu, T Huang, D G Chetwynd. A general approach for geometric error modeling of lower mobility parallel manipulators. Journal of Mechanisms and Robotics, 2011, 3(2): 021013.
J L Olazagoitia, S Wyatt. New PKM Tricept T9000 and its application to flexible manufacturing at aerospace industry. Aerospace Technology Conference and Exposition, SAE International, 2007.
P Maurine, E Dombre. A calibration procedure for the parallel robot Delta 4. Proceedings of IEEE International Conference on Robotics and Automation, Minneapolis, USA, April 2228, 1996, 2: 975–980.
T Huang, Z Y Hong, J P Mei, et al. Kinematic Calibration of the 3DOF Module of a 5DOF Reconfigurable Hybrid Robot using a DoubleBallBar System. Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, October 9–15, 2006: 508–512.
G Chen, L Kong, Q Li, et al. A simple twostep geometric approach for the kinematic calibration of the 3PRS parallel manipulator. Robotica, 2019, 37(5): 837–850.
K Levenberg. A method for the solution of certain nonlinear problems in least squares. Quarterly of Applied Mathematics, 1944, 2(2): 164–168.
D W Marquardt. An algorithm for leastsquares estimation of nonlinear parameters. Journal of the Society for Industrial and Applied Mathematics, 1963, 11(2): 431–441.
K M Lynch, F C Park. Modern robotics: Mechanics, planning, and control. Cambridge University Press, 2017.
Acknowledgements
The authors sincerely thank Dr. Yang Pan, Dr. Xianbao Chen and Dr. Jing Sun for their contributions to the development of the prototype referred in this paper.
Funding
Supported by National Natural Science Foundation of China (Grant No. U1613208), National Key Research and Development Plan of China (Grant No. 2017YFE0112200), European Union’s Horizon 2020 Research and Innovation Programme under the Marie SkodowskaCurie Grant Agreement (Grant No. 734575).
Author information
Authors and Affiliations
Contributions
FG was in charge of the whole trial; JL wrote the manuscript; ZC assisted with sampling and laboratory analyses. All authors read and approved the final manuscript.
Authors’ Information
Jimu Liu, born in 1991, is currently a PhD candidate at State Key Laboratory of Mechanical System and Vibration, Shanghai Jiao Tong University, China. He received his bachelor degree from Huazhong University of Science and Technology, China, in 2014. His research interests include kinematic analysis and calibration of parallel robots, motion planning of legged robots.
Zhijun Chen, born in 1991, is currently a postdoctor at State Key Laboratory of Mechanical System and Vibration, Shanghai Jiao Tong University, China. He received his PhD degree from Shanghai Jiao Tong University, China, in 2019. His research interests include control and trajectory planning of legged robots.
Feng Gao, born in 1956, is currently a professor at State Key Laboratory of Mechanical System and Vibration, Shanghai Jiao Tong University. China. He received his PhD degree from Beihang University, China, in 1991. His main research interests include design theory and applications of parallel robots and legged robots.
Corresponding author
Ethics declarations
Competing interests
The authors declare no competing financial interests.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, 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 changes were made. 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/4.0/.
About this article
Cite this article
Liu, J., Chen, Z. & Gao, F. Kinematic Calibration of a SixLegged Walking Machine Tool. Chin. J. Mech. Eng. 35, 34 (2022). https://doi.org/10.1186/s10033022006882
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1186/s10033022006882
Keywords
 Parallel mechanism
 Legged robot
 Kinematic calibration