Design and Validation of a Self-Driven Joint Model for Articulated Arm Coordinate Measuring Machines

: Articulated arm coordinate measuring machines (AACMMs) have been developed and applied in industrial measurement ﬁelds for more than 30 years. Manual operation is typically required during measurement, which introduces uncertain inﬂuences, such as ﬂuctuation of measurement force, speed, and acceleration, and leads to poor reliability and reproducibility. In this paper, a novel self-driven joint model is proposed to realize automatic measurement for AACMMs. A self-driven joint is designed by combining the joint of an AACMM with a robotic arm to realize automatic rotation. A self-driven AACMM is designed using three rolling joints and three pitching joints with assigned parameters. A virtual prototype of the self-driven AACMM is established using the Adams software to simulate the driving moment of each joint. The simulation results demonstrate that the designed mechanical structure and selected devices can meet the preset requirements. Additionally, based on the proposed model, a single physical joint is developed and assembled for performance testing. Experimental results demonstrate that the model can achieve a repeatability of 1.39” (k = 2) when the rotational velocity is less than 1.53 rad / s. Therefore, the proposed design is suitable for use in AACMMs.


Introduction
Traditional articulated arm coordinate measuring machines (AACMMs) are widely used in industrial fields based on their portability, wide measuring space, and low cost. The key technologies of articulated coordinate measuring machines were instrument structure, error analysis, measurement model, eccentric error correction of circular grating installation, development of standard components for parameter calibration or performance evaluation of AACMM, optimization of parameter calibration algorithm, etc. [1]. Methods for improving the accuracy of AACMMs largely focus on kinematics modeling and the calibration of structural parameters [2][3][4][5][6][7]. AACMMs have complex error performance. The structural parameter error of AACMMs cannot be avoided in the manufacturing process. It is necessary to identify the structural parameters through parameter calibration to enhance AACMMs measurement accuracy. A kinematic calibration procedure normally consists of four steps: determination of the kinematic model, data acquisition for calibration, parameter identification using calibration data, and experimental validation [8]. The Denavit-Hartenberg (DH) approach or the modified Denavit-Hartenberg (MDH) approach is widely employed to establish a kinematic model [9][10][11][12]. The coupling relationship between kinematic parameters was considered and obtained via the singular value decomposition before the identification and compensation models measurement attitudes, in which grating sensor measurement error and machine deformation error are less.

Joint Configurations
The joint structures of typical AACMMs and robotic arms are compared below. (1) AACMMs utilize precision shaft and encoder systems that are small and lightweight. (2) Robotic arms, which are drive oriented to ensure smooth movement and a higher deceleration ratio, typically use a motor and harmonic reducer to drive joints. (3) The encoder installation in an AACMM is placed near the joint output with high accuracy based on its measurement purpose, whereas the encoder precision of a robotic arm is typically lower because the encoder is installed at the back of the motor for control purposes. (4) The output of a robotic arm is directly connected to the reducer, and the concentricity between the bearing and harmonic reducer is required to be high. (5) The joints in a robotic arm can be divided into two main types of configurations, namely rolling and pitching joints. Similarly, Joints 1, 3, and 5 in an AACMM are rolling joints, while Joints 2, 4, and 6 are pitching joints, as shown in Figure 1.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 3 of 12 measurements with optimal measurement attitudes, in which grating sensor measurement error and machine deformation error are less.

Joint Configurations
The joint structures of typical AACMMs and robotic arms are compared below. (1) AACMMs utilize precision shaft and encoder systems that are small and lightweight. (2) Robotic arms, which are drive oriented to ensure smooth movement and a higher deceleration ratio, typically use a motor and harmonic reducer to drive joints. (3) The encoder installation in an AACMM is placed near the joint output with high accuracy based on its measurement purpose, whereas the encoder precision of a robotic arm is typically lower because the encoder is installed at the back of the motor for control purposes. (4) The output of a robotic arm is directly connected to the reducer, and the concentricity between the bearing and harmonic reducer is required to be high. (5) The joints in a robotic arm can be divided into two main types of configurations, namely rolling and pitching joints. Similarly, Joints 1, 3, and 5 in an AACMM are rolling joints, while Joints 2, 4, and 6 are pitching joints, as shown in Figure 1. We designed joints model for a self-driven AACMM based on the advantages of existing AACMMs and robotic arms, as shown in Figure 2.

Joint Part Selection
The main parameters for the proposed self-driven AACMM are listed below. (1) The total length is no less than 1.2 m. (2) The angular accelerations of Joints 1 and 2 do not exceed 10°/s 2 . Those of Joints 3 and 4 do not exceed 20°/s 2 . Those of Joints 5 and 6 do not exceed 30°/s 2 . (3) The load on Joint 6 is the constant force trigger probe. The load on other joint modules comes from the weight attached to its output end to the probe part. Analysis of the driving force of the joint model for the self-driven We designed joints model for a self-driven AACMM based on the advantages of existing AACMMs and robotic arms, as shown in Figure 2.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 3 of 12 measurements with optimal measurement attitudes, in which grating sensor measurement error and machine deformation error are less.

Joint Configurations
The joint structures of typical AACMMs and robotic arms are compared below. (1) AACMMs utilize precision shaft and encoder systems that are small and lightweight. (2) Robotic arms, which are drive oriented to ensure smooth movement and a higher deceleration ratio, typically use a motor and harmonic reducer to drive joints. (3) The encoder installation in an AACMM is placed near the joint output with high accuracy based on its measurement purpose, whereas the encoder precision of a robotic arm is typically lower because the encoder is installed at the back of the motor for control purposes. (4) The output of a robotic arm is directly connected to the reducer, and the concentricity between the bearing and harmonic reducer is required to be high. (5) The joints in a robotic arm can be divided into two main types of configurations, namely rolling and pitching joints. Similarly, Joints 1, 3, and 5 in an AACMM are rolling joints, while Joints 2, 4, and 6 are pitching joints, as shown in Figure 1. We designed joints model for a self-driven AACMM based on the advantages of existing AACMMs and robotic arms, as shown in Figure 2.

Joint Part Selection
The main parameters for the proposed self-driven AACMM are listed below. (1) The total length is no less than 1.

Joint Part Selection
The main parameters for the proposed self-driven AACMM are listed below. (1) The total length is no less than 1. The load on Joint 6 is the constant force trigger probe. The load on other joint modules comes from the weight attached to its output end to the probe part. Analysis of the driving force of the joint model for the self-driven AACMM can be conducted by referring to the following dynamics equation from the field of robotics [32]: where, q is the position vector of the joint, . q is the joint velocity vector, ..
q is the joint acceleration vector, M(q) is the mass matrix, C(q, . q) is a matrix related to Coriolis acceleration and centripetal acceleration, F( . q) is a vector related to viscous friction and coulomb friction, G(q) is a moment vector by the presence of gravity, and Q is the generalized moment vector.
Based on the low movement speed of the arm, C(q, . q) in Equation (1) can be ignored. The influence of the friction term F( . q) can also be ignored. Therefore, Equation (1) can be simplified as follows: Equation (2) indicates that the driving moment required by the self-driven joint module is related to its own mass, rotational angular acceleration and load. The required joint's moment can be expressed by where, M M is the static moment on the joint introduced by its load and M J is the moment required to change the motion state of the joint itself and load. Based on Equation (3) and the AACMM structure, design, and component selection were carried out by calculating each step from the probe to the base in a preliminary study [31]. Table 1 lists the design parameters, and load moment for each joint, and minimum moment required for the motor and reducer. Table 2 lists the parameters of the brushless motor and reducer.

Virtual Prototype Construction and Moment Simulation
Virtual prototyping technology is a novel computer-aided engineering technology that enables design analysis through simulations of all or part of the physical prototype functions on the platform [33]. In this study, SolidWorks 2015 3D CAD software was used for modeling, and MSC Adams was used to establish a virtual prototype of the self-driven AACMM. The moment curves of the joints were obtained through computer simulations of machine motion, and the selections listed above were verified.
By combining the pitching and rolling joint configurations in Figure 2 with the primary parameters in Table 1, a 3D model was designed in SolidWorks. A distribution diagram of each part is presented in Figure 3. For the convenience of MSC Adams simulation, an effective merging of the parts to create a model of the self-driven AACMM was performed.
(1) The cylindrical radii of the rotating parts of the joints in the model were set to the ideal cylindrical radii. is presented in Figure 3. For the convenience of MSC Adams simulation, an effective merging of the parts to create a model of the self-driven AACMM was performed. (1) The cylindrical radii of the rotating parts of the joints in the model were set to the ideal cylindrical radii. The components of the 3D model following mass distribution are listed in Table 3. The angle ranges and hinge relationships of Joints 1 and 2, 3 and 4, and 5 and 6 are presented in Figure 4. The components of the 3D model following mass distribution are listed in Table 3. The angle ranges and hinge relationships of Joints 1 and 2, 3 and 4, and 5 and 6 are presented in Figure 4.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 5 of 12 is presented in Figure 3. For the convenience of MSC Adams simulation, an effective merging of the parts to create a model of the self-driven AACMM was performed. The components of the 3D model following mass distribution are listed in Table 3. The angle ranges and hinge relationships of Joints 1 and 2, 3 and 4, and 5 and 6 are presented in Figure 4. In SolidWorks, the shape of each part was designed, and the densities of the components in the material configuration were set to the entity densities calculated in Table 3. The final 3D model was fabricated as an assembly and saved as an x_t file. When creating a new model in MSC Adams and  In SolidWorks, the shape of each part was designed, and the densities of the components in the material configuration were set to the entity densities calculated in Table 3. The final 3D model was fabricated as an assembly and saved as an x_t file. When creating a new model in MSC Adams and choosing to import the generated x_t file, the 3D model is imported into the MSC Adams model as an entity. Figure 5 presents the 3D model of the self-driven AACMM.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 6 of 12 choosing to import the generated x_t file, the 3D model is imported into the MSC Adams model as an entity. Figure 5 presents the 3D model of the self-driven AACMM.  The 3D model imported into MSC Adams inherits the spatial location, entity volume, centroid coordinates, and custom density from the SolidWorks environment. The initial position of the model after it is imported into MSC Adams is the same as that in SolidWorks, but assembly relationships are no longer enforced, and the corresponding constraints between joints and the ground must be added according to the rotation relationships between joints.
First, the Joint 1 input was fixed to the ground. We then attached a fixed hinge to the ground and added a rotating hinge for Joint 2. The axis of rotation was set to the center axis of the motor, and the remaining joints were connected using another fixed hinge, as shown in Figure 6a. For Joint 2, regarding MSC Adams hinge motion (joint motion), a column shape was selected for rotational motion. The selected shape was then added to a rotating hinge, and the added drive property was edited to ensure constant angular acceleration. To accomplish this, the property type was set to The 3D model imported into MSC Adams inherits the spatial location, entity volume, centroid coordinates, and custom density from the SolidWorks environment. The initial position of the model after it is imported into MSC Adams is the same as that in SolidWorks, but assembly relationships are no longer enforced, and the corresponding constraints between joints and the ground must be added according to the rotation relationships between joints.
First, the Joint 1 input was fixed to the ground. We then attached a fixed hinge to the ground and added a rotating hinge for Joint 2. The axis of rotation was set to the center axis of the motor, and the remaining joints were connected using another fixed hinge, as shown in Figure 6a. For Joint 2, regarding MSC Adams hinge motion (joint motion), a column shape was selected for rotational motion.
The selected shape was then added to a rotating hinge, and the added drive property was edited to ensure constant angular acceleration. To accomplish this, the property type was set to acceleration, and the angular acceleration value was set as 10 • /s 2 (0.1745 rad/s 2 ). The rest joints were locked with fixed hinges, and the initial pose of the model simulation is shown in Figure 6b.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 7 of 12 acceleration, and the angular acceleration value was set as 10°/s 2 (0.1745 rad/s 2 ). The rest joints were locked with fixed hinges, and the initial pose of the model simulation is shown in Figure 6b.
(a) (b) We set the simulation time to 6.9 s, meaning Joint 2 will rotate from 0° to 240°, and set the compensation to 100 steps to complete the simulation. The simulated moment curve is presented in Figure 7, where the maximum moment is 118.11 N·m. The moment curves of the other joints were also obtained through MSC Adams simulation. The maximum values of the curves are listed in Table 4, and the maximum moment values that each joint can provide by Table 2 are listed in the last two columns of Table 4. Comparing and analyzing the data in Table 4, we conclude that the selected motor and reducer meet the system requirements. However, there are some discrepancies between design and simulation, and we believe there is still room for further structural optimizations and weight reduction. Using MSC Adams to perform virtual prototyping simulations can provide important references for such optimizations.  We set the simulation time to 6.9 s, meaning Joint 2 will rotate from 0 • to 240 • , and set the compensation to 100 steps to complete the simulation. The simulated moment curve is presented in Figure 7, where the maximum moment is 118.11 N·m.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 7 of 12 acceleration, and the angular acceleration value was set as 10°/s 2 (0.1745 rad/s 2 ). The rest joints were locked with fixed hinges, and the initial pose of the model simulation is shown in Figure 6b. We set the simulation time to 6.9 s, meaning Joint 2 will rotate from 0° to 240°, and set the compensation to 100 steps to complete the simulation. The simulated moment curve is presented in Figure 7, where the maximum moment is 118.11 N·m. The moment curves of the other joints were also obtained through MSC Adams simulation. The maximum values of the curves are listed in Table 4, and the maximum moment values that each joint can provide by Table 2 are listed in the last two columns of Table 4. Comparing and analyzing the data in Table 4, we conclude that the selected motor and reducer meet the system requirements. However, there are some discrepancies between design and simulation, and we believe there is still room for further structural optimizations and weight reduction. Using MSC Adams to perform virtual prototyping simulations can provide important references for such optimizations.  The moment curves of the other joints were also obtained through MSC Adams simulation. The maximum values of the curves are listed in Table 4, and the maximum moment values that each joint can provide by Table 2 are listed in the last two columns of Table 4. Comparing and analyzing the data in Table 4, we conclude that the selected motor and reducer meet the system requirements. However, there are some discrepancies between design and simulation, and we believe there is still room for further structural optimizations and weight reduction. Using MSC Adams to perform virtual prototyping simulations can provide important references for such optimizations.

Experimental Setup
Joints are the key components for machine movement control and measurement. Therefore, it was necessary to construct a single-joint experimental setup to verify the proposed design before constructing an entire machine. This single-joint experimental setup is presented in Figure 8. The interface circuit controls the motor and drives the rotation of the shafting, cantilever, and trigger probe. The probe can touch the upper and lower sides of a standard block fixed in an optical platform. Once the probe sends a trigger signal, counting data for the encoder will be sampled and uploaded to the computer for data storage and analysis.

Experimental Setup
Joints are the key components for machine movement control and measurement. Therefore, it was necessary to construct a single-joint experimental setup to verify the proposed design before constructing an entire machine. This single-joint experimental setup is presented in Figure 8. The interface circuit controls the motor and drives the rotation of the shafting, cantilever, and trigger probe. The probe can touch the upper and lower sides of a standard block fixed in an optical platform. Once the probe sends a trigger signal, counting data for the encoder will be sampled and uploaded to the computer for data storage and analysis.

Repeatability Testing
Repeatability tests with different rotational velocities were carried out using the single-joint device. Speed was controlled using pulse width modulation (PWM). After receiving the start signal, the measurement and control circuit of the joint sent the PWM signal to the motor and controlled the arm to rotate until the probe touched the surface of a measuring block and triggered angle measurement. The counter value was collected and uploaded to the computer at this time. Then, the arm was controlled to rotate reversely until the probe touched the other side of the measuring block, and the angle measurement was taken once again. The process was repeated 50 times without interruption at each duty ratio of PWM. As an example, Figure 9 presents the residual error in the count value when measuring both sides of the block with a speed of 0.67 rad/s (PWM = 6%). Table 5 lists the variance values from the repeatability experiments, where σU and σD represent the standard deviations when touching the top and bottom of the standard block, respectively.

Repeatability Testing
Repeatability tests with different rotational velocities were carried out using the single-joint device. Speed was controlled using pulse width modulation (PWM). After receiving the start signal, the measurement and control circuit of the joint sent the PWM signal to the motor and controlled the arm to rotate until the probe touched the surface of a measuring block and triggered angle measurement. The counter value was collected and uploaded to the computer at this time. Then, the arm was controlled to rotate reversely until the probe touched the other side of the measuring block, and the angle measurement was taken once again. The process was repeated 50 times without interruption at each duty ratio of PWM. As an example, Figure 9 presents the residual error in the count value when measuring both sides of the block with a speed of 0.67 rad/s (PWM = 6%). Table 5 lists the variance values from the repeatability experiments, where σ U and σ D represent the standard deviations when touching the top and bottom of the standard block, respectively. measurement. The counter value was collected and uploaded to the computer at this time. Then, the arm was controlled to rotate reversely until the probe touched the other side of the measuring block, and the angle measurement was taken once again. The process was repeated 50 times without interruption at each duty ratio of PWM. As an example, Figure 9 presents the residual error in the count value when measuring both sides of the block with a speed of 0.67 rad/s (PWM = 6%). Table 5 lists the variance values from the repeatability experiments, where σU and σD represent the standard deviations when touching the top and bottom of the standard block, respectively.  According to the experimental results, the repeatability of measurement is related to the speed of triggering. A higher triggering speed results in a poor measurement repeatability. Analysis of measurement data, it is noted that the larger the duty ratio of PWM is, the higher the probability of false trigger caused by vibration is. If the duty ratio is less than 10%, the probability of the false trigger will be greatly reduced, and the maximum standard deviation is 1.1. The pulse equivalent of incremental code signal output by the grating sensor installed on the single-joint module is 0.63", so that the self-driven joint can reach a repeatability of 1.39" (k = 2) when the rotational velocity is less than 1.53 rad/s.

Calibration and Measurement
To measure the length of a standard gauge block using the single joint setup, joint parameters must be calibrated. The calibration and measurement model are illustrated in Figure 10. In this figure, R is the radius of the cantilever, and r is the radius of the probe head. d 1 and d 2 represent the standard dimensions of two employed gauge blocks. θ 1 and θ 2 represent the angle values measured by the encoder when the probe touches each side of the gauge block, respectively. L 1 and L 2 are installation structural parameters for the device and α is the angle formed by L 1 and R. If only the heights of the two blocks are measured, these dimensions have the relationship shown in Equation (4). The parameters of this model can be calibrated by using standard gauge blocks of different heights.
The optimal parameters for the model can be identified through calibration. The device was used to measure a number of gauge blocks of known sizes (d 1 , . . . , d n ) to collect multiple angle data (θ 1 , . . . , θ n ). In this manner, the over-determined expressions in Equation (5) were obtained. The least-squares solution for this equation was solved to obtain L 1 , L 2 , and R.
1 − cos θ 1 sin θ 1 1 − cos θ 2 sin θ 2 · · · · · · 1 − cos θ n sin θ n Zero-level gauge blocks with heights of 7 mm, 7.5 mm, 8 mm, 8.5 mm, 9 mm, 9.5 mm, and 10 mm were installed. The motor rotated at a speed of 0.23 rad/s (PWM = 4%). When the probe touched the upper and lower surfaces of the gauge blocks, the encoder count values were collected, and θ i was used to denote their difference. The experimental data are listed in Table 6. The measurement data from the 7 mm, 8 mm, 8.5 mm, 9 mm, and 10 mm blocks were used to calibrate the model parameters. The least-squares solutions are calculated L 1 = 96.5933 mm, L 2 = 248.6310 mm, and R = 266.7351 mm. After determining the optimal model parameters, the size of a measured gauge block can be calculated using Equation (6) according to the measured values.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 10 of 12 Zero-level gauge blocks with heights of 7 mm, 7.5 mm, 8 mm, 8.5 mm, 9 mm, 9.5 mm, and 10 mm were installed. The motor rotated at a speed of 0.23 rad/s (PWM = 4%). When the probe touched the upper and lower surfaces of the gauge blocks, the encoder count values were collected, and θi was used to denote their difference. The experimental data are listed in Table 6. The measurement data from the 7 mm, 8 mm, 8.5 mm, 9 mm, and 10 mm blocks were used to calibrate the model parameters. The least-squares solutions are calculated L1 = 96.5933 mm, L2 = 248.6310 mm, and R = 266.7351 mm. After determining the optimal model parameters, the size of a measured gauge block can be calculated using Equation (6) according to the measured values. By taking the blocks with heights of 9.5 mm and 7.5 mm as components to be tested and substituting the measured values of θi into Equation (6), the results of 9.5148 mm and 7.4976 mm were obtained, representing measurement errors of −14.8 μm and 2.4 μm, respectively. The results of the two experiments show that the proposed design is suitable for the self-driven AACMM. The measurement errors mainly come from the identification of structural parameters. In addition, the angle measuring error, the deformation error of the probe bar, and the gross error in the measuring process are also primary error sources.

Conclusions
A novel type of self-driven joint model was proposed for the design of a self-driven AACMM. The following conclusions can be drawn: (1) The self-driven joint model was designed. Compared with joint of AACMM, it retained the precision shaft and encoder system, and added the driving parts. Measuring points and measuring trajectories are planned, on-line automatic measurement function can be realized by the self-driven AACMM. A constant force trigger probe was installed on the self-driven  By taking the blocks with heights of 9.5 mm and 7.5 mm as components to be tested and substituting the measured values of θ i into Equation (6), the results of 9.5148 mm and 7.4976 mm were obtained, representing measurement errors of −14.8 µm and 2.4 µm, respectively.
The results of the two experiments show that the proposed design is suitable for the self-driven AACMM. The measurement errors mainly come from the identification of structural parameters. In addition, the angle measuring error, the deformation error of the probe bar, and the gross error in the measuring process are also primary error sources.

Conclusions
A novel type of self-driven joint model was proposed for the design of a self-driven AACMM. The following conclusions can be drawn: (1) The self-driven joint model was designed. Compared with joint of AACMM, it retained the precision shaft and encoder system, and added the driving parts. Measuring points and measuring trajectories are planned, on-line automatic measurement function can be realized by the self-driven AACMM. A constant force trigger probe was installed on the self-driven AACMM to replace the hard probe and button on AACMM. Constant gaging pressure can assure uniformity of measurement results.
(2) A virtual prototype of the self-driven AACMM designed was established and the driving moments were simulated using the MSC Adams software. A self-driven joint experimental setup was also developed. Experiments were conducted. The simulation and experimental results demonstrate that the configuration design is feasible. However, it is necessary to optimize structure and reduce weight due to its large size, which is also possible according to the simulation results presented in Figure 4.
Based on this study, the entire machine structure is being designed and optimized, control algorithms for self-driven AACMM will be studied, and it is important for us to carry out kinematic analysis and modeling of self-driven AACMM.