Orthogonality Measurement of Three-Axis Motion Trajectories for Micromanipulation Robot Systems

In robotic micromanipulation systems, the orthogonality of the three-axis motion trajectories of the motion control systems influences the accuracy of micromanipulation. A method of measuring and evaluating the orthogonality of three-axis motion trajectories is proposed in this paper. Firstly, a system for three-axis motion trajectory measurement is developed and an orthogonal reference coordinate system is designed. The influence of the assembly error of laser displacement sensors on the reference coordinate system is analyzed using simulation. An approach to estimating the orthogonality of three-axis motion trajectories and to compensating for its error is presented using spatial line fitting and vector operation. The simulation results show that when the assembly angle of the laser displacement sensors is limited within a range of 10°, the relative angle deviation of the coordinate axes of the reference coordinate frame is approximately 0.09%. The experiment results show that precision of spatial line fitting is approximately 0.02 mm and relative error of the orthogonality measurement is approximately 0.3%.


Introduction
Stereo light microscopes (SLMs) consist of two independent optical paths that form a binocular microscopic stereovision system. This kind of stereovision system not only possesses a long working distance, but can also capture dynamic-scene images in real time. Therefore, it is suitable for microscopic fields, and it can be combined with motion control systems and micromanipulators to form automatic micromanipulation robot systems, which are employed to capture, transfer, or assemble some microscale objects (such as biological tissues, cells, microstructures, etc.). Their sizes range from microns to submillimeter, and the positioning precision of the system can reach micron or even submicron or nanometer levels. This kind of system has been applied in microassembly [1][2][3], microinjection [4,5], bioengineering [6][7][8][9][10][11], minimally invasive surgery [12][13][14][15], and other microscopic fields. The motion control system with three translational degrees of freedom and driven by ball screw, guide rail, slider, and motor, is one of the various motion control systems. It has a simple structure, can provide small displacement in three orthogonal directions, and can drive the micromanipulator to move in a small length range. Its control program design is flexible, and the displacement can be adjusted under various resolutions. This kind of motion control system is convenient to use in micromanipulation robot systems [16,17]. It contains three motion axes, which are equivalent to the three axes in the Cartesian coordinate system. Theoretically, when moving along these three axes or in the same direction, their trajectories should be straight lines and orthogonal to each other. The better the linearity and orthogonality of the motion trajectory lines on the motion axes, the higher the positioning precision. However, due to the machining accuracy of the ball screw and other transmission errors, the real motion control system axis is required to have a small and compact structure, so laser displacement sensors are suitable for this demand.
Focusing on the three-axis motion control system used in micromanipulation robot systems, the purpose of this study was to construct a method to measure and analyze the orthogonality and linearity of the trajectories of the motion axes. Based on a laser displacement sensor with a small spot, a spatial position tracking system was designed to measure the trajectories of the motion axes. On this basis, an evaluation method of the orthogonality and linearity of the trajectory of the motion axis was established. The method is low-cost, easy to use, and suitable for micromanipulation. In addition, it can be used as an on-site measurement system without too much calibration. Because laser displacement sensors are general module that have a variety of ranges and precision, the method can also meet different range and precision requirements (such as submicron, micron, tens of microns, etc.), which is very flexible.
The remainder of this article is organized as follows: In Section 2, the micromanipulation robot system is introduced; in Section 3, the method for three-axis orthogonality measurement is developed. In Section 4, the orthogonal reference coordinate system is analyzed. This method is discussed in Section 5, and the conclusions are described in Section 6. Figure 1a shows a special robotic micromanipulation system [16,17,26] that uses a stereo light microscope and binocular cameras to form a microscopic binocular stereovision system, which captures stereo image pairs of space scene in real time, and realizes threedimensional positioning, navigation, position feedback, etc. In this system, the three-axis motion control system is used as the positioning driver, which receives the position coordinates reconstructed by the binocular stereovision system to achieve accurate positioning. Various types of micromanipulators can be carried on its mechanical arm to perform tasks such as microgripping, microassembly, microinjection, etc. The three-axis motion control system is used not only as the coordinate acquisition device of control points for system calibration, but also as the driving device of position adjustment.

Motion Trajectory Coordinate Frame
Micromachines 2021, 12, x FOR PEER REVIEW 3 of 20 urement system is easy to build. The working space of the micromanipulation robot system is narrow and small, and the system for measuring the trajectory of the motion axis is required to have a small and compact structure, so laser displacement sensors are suitable for this demand. Focusing on the three-axis motion control system used in micromanipulation robot systems, the purpose of this study was to construct a method to measure and analyze the orthogonality and linearity of the trajectories of the motion axes. Based on a laser displacement sensor with a small spot, a spatial position tracking system was designed to measure the trajectories of the motion axes. On this basis, an evaluation method of the orthogonality and linearity of the trajectory of the motion axis was established. The method is lowcost, easy to use, and suitable for micromanipulation. In addition, it can be used as an onsite measurement system without too much calibration. Because laser displacement sensors are general module that have a variety of ranges and precision, the method can also meet different range and precision requirements (such as submicron, micron, tens of microns, etc.), which is very flexible.
The remainder of this article is organized as follows: In Section 2, the micromanipulation robot system is introduced; in Section 3, the method for three-axis orthogonality measurement is developed. In Section 4, the orthogonal reference coordinate system is analyzed. This method is discussed in Section 5, and the conclusions are described in Section 6. Figure 1a shows a special robotic micromanipulation system [16,17,26] that uses a stereo light microscope and binocular cameras to form a microscopic binocular stereovision system, which captures stereo image pairs of space scene in real time, and realizes three-dimensional positioning, navigation, position feedback, etc. In this system, the three-axis motion control system is used as the positioning driver, which receives the position coordinates reconstructed by the binocular stereovision system to achieve accurate positioning. Various types of micromanipulators can be carried on its mechanical arm to perform tasks such as microgripping, microassembly, microinjection, etc. The three-axis motion control system is used not only as the coordinate acquisition device of control points for system calibration, but also as the driving device of position adjustment. Figure 1. The setup of one kind of micro-manipulation system using a 3-axis motion control system. (a) General composition of the system, A1: X-axis linear motion module, A2: Y-axis linear motion module, A3: Z-axis linear motion module. (b) Definition of the motion trajectory coordinate frame. (c) For an ideal motion trajectory coordinate frame, when moving along its three motion axes (X-axis, Y-axis and Z-axis), the trajectories should be straight and orthogonal. (d) For a real motion trajectory coordinate frame, when moving along its three motion axes, the trajectories may be curves with slight deformation, and the perpendicularity of the fitting trajectory lines may deviate by 90 degrees. The setup of one kind of micro-manipulation system using a 3-axis motion control system. (a) General composition of the system, A1: X-axis linear motion module, A2: Y-axis linear motion module, A3: Z-axis linear motion module. (b) Definition of the motion trajectory coordinate frame. (c) For an ideal motion trajectory coordinate frame, when moving along its three motion axes (X-axis, Y-axis and Z-axis), the trajectories should be straight and orthogonal. (d) For a real motion trajectory coordinate frame, when moving along its three motion axes, the trajectories may be curves with slight deformation, and the perpendicularity of the fitting trajectory lines may deviate by 90 degrees. The three-axis motion control system in Figure 1a is composed of three linear motion modules, which are assembled according to the orthogonal relationship. Each linear motion module is mainly composed of a ball screw, double linear guide, coupling, and a motor. To describe the position coordinates of the three-axis motion control system in the motion process, the motion trajectory coordinate frame is defined as shown in Figure 1b. The motion trajectory coordinate frame is represented by O-XYZ, where O is the origin, and X, Y, and Z represent the three motion coordinate axes. At the starting position of each linear motion module, a triggered switch sensor is installed to generate an absolute zero point (or the zero point of grating ruler installed on linear motion module is used as the zero point of the module), and the position of the absolute zero points of the three motion modules is used as the origin of the coordinate frame, i.e., point O. The trajectories of the three motion axes are generated as follows: At one time, only one linear motion module is allowed to move in a line, and the other two linear motion modules remain stationary. The trajectory of the moving module forms a motion coordinate axis. According to this rule, modules A1, A2, and A3 move in a line separately, and their trajectories form the three motion coordinate axes: X-, Y-, and Z-axes. If none of the error factors interfere with the motion, the trajectory lines of the X-, Y-, and Z-axes should be lines; after the three linear motion modules are assembled according to the orthogonal relationship, the trajectory lines of the three motion axes are orthogonal, so the motion coordinate frame at this time is a typical Cartesian coordinate frame, as shown in Figure 1c. However, the motion control system is actually affected by a variety of error factors in the motion process such as: (1) when the vertical installation angles between the three linear motion modules deviate 90 • , the motion trajectory lines on the X-, Y-, and Z-axes cannot guarantee perpendicularity. In the assembly process, this error factor will only be reduced as much as possible, but will not disappear. (2) The machining precision of the ball screw and guide rail affects the straightness of the motion trajectory on the X-axis, the Y-axis and the Z-axis, which may cause small deformation of the motion trajectory line. This error source also affects the orthogonality of the motion trajectory line. (3) The assembly error among the ball screw, guide rail, and slider also affects the linearity and orthogonality of motion trajectory line on the motion coordinate axis. Only a few error sources are introduced above, but their effects do exist. Due to the influence of error factors, the motion trajectory coordinate frame is no longer a Cartesian coordinate frame in terms of orthogonality and coordinate axis linearity, as shown in Figure 1d. The posture of deviation from orthogonality and line is relatively small. It is not necessary to analyze and correct the orthogonality and coordinate axis linearity for all three-axis motion control systems, only when there is a need for high-precision positioning is this analysis is more necessary, such as the system in Figure 1a.

Motion Trajectory Coordinate Frame
The motion of the three-axis motion control system is realized by a control algorithm, which is designed based on the Cartesian coordinate frame in Figure 1c. It can be imagined that when the three-axis motion control system moves in the coordinate frame in Figure 1d, it cannot accurately reach the preset position by the control algorithm, so for the system in Figure 1a, it is necessary to analyze the orthogonality and linearity of the motion trajectory coordinates. Therefore, we developed an orthogonality and linearity evaluation method.

Methods
A schematic diagram of three-axis motion trajectory measurement is shown in Figure 2. Three grating-ruler sensors with a resolution of 0.1 µm were precisely installed on the X, Y, and Z linear motion modules of the motion control system to measure small displacement in each motion axis. The origin of the motion trajectory coordinate frame O-XYZ was set on the motion control system, and the X-, Y-, and Z-axes coincided with the motion trajectories of the three linear motion modules. The motion trajectories can be regarded as a series of spatial discrete points, whose spatial coordinates are obtained by the measurement system, as shown in Figure 2. A cuboid gauge block composed of stainless steel was installed on the motion control system, and its three adjacent surfaces, A, B, and C, were used as the test trajectories were obtained by the spatial linear fitting method, and the vector parameters of the spatial lines were derived from spatial line equations. Then, the angles between these spatial trajectory lines were calculated by vector calculation and the orthogonality of the three coordinate axes of O-XYZ were estimated. If the coordinate axes of O-XYZ do not satisfy the orthogonal conditions, it becomes a non-orthogonal coordinate frame and its coordinates should be corrected based on the orthogonality measurement. These coordinates in the real non-orthogonal O-XYZ are transformed into a virtual orthogonal coordinate system; then, accurate positioning control is achieved. The valid detection ranges of the three laser displacement sensors are depicted by dotted lines in Figure 2. The gauge block only moves in the valid space.  When assembling the gauge block, the normal direction of its three test surfaces should be parallel to the X-, Y-, and Z-axes as much as possible. That is, the normal directions of the three test surfaces A, B, and C should be parallel to the trajectory lines of the three motion axes of the motion control system as much as possible. The gauge block followed the motion control system; moved along the X-, Y-, and Z-axes at intervals; and stayed at the preset location for a certain time. Then, three laser displacement sensors (HG-C1050, Panasonic, Tokyo, Japan) were used to measure the displacement of the three test surfaces simultaneously. Three laser displacement sensors (A, B, and C) were used to construct the motion trajectory measurement system to measure the displacement of the three test surfaces (A, B, and C). During assembly of the three laser displacement sensors, the centralaxis lines of the sensors should satisfy the orthogonal condition as much as possible. The non-orthogonality of laser sensor assembly influences the displacement measurement and is discussed in Section 4. The three laser displacement sensors constitute an approximate orthogonal world coordinate frame denoted by Q-UVW, where Q is the origin; U, V, and W represent the three axes; and the measured motion trajectories of the gauge block are described in Q-UVW. The spatial trajectory lines corresponding to the motion trajectories were obtained by the spatial linear fitting method, and the vector parameters of the spatial lines were derived from spatial line equations. Then, the angles between these spatial trajectory lines were calculated by vector calculation and the orthogonality of the three coordinate axes of O-XYZ were estimated. If the coordinate axes of O-XYZ do not satisfy the orthogonal conditions, it becomes a non-orthogonal coordinate frame and its coordinates should be corrected based on the orthogonality measurement. These coordinates in the real non-orthogonal O-XYZ are transformed into a virtual orthogonal coordinate system; then, accurate positioning control is achieved. The valid detection ranges of the three laser displacement sensors are depicted by dotted lines in Figure 2. The gauge block only moves in the valid space.

Data Acquisition
The three laser displacement sensors were used to construct the approximate orthogonal world coordinate frame Q-UVW, as shown in Figure 2. To measure the trajectories on the motion axes, the gauge block moved along the preset trajectories in the valid cuboid space, and the displacement of the test surface was measured. In Figure 2, S represents the vector of a point on the test surface in Q-UVW, and is generated by the laser displacement sensors; R represents its vector in O-XYZ, and is generated by the three grating-ruler sensors. The motion trajectory is composed of a series of separate points, and the coordinate vectors of all the separate points constitute a data sample, which is the basic data of the orthogonality estimation of the three-axis motion trajectories of O-XYZ. Figure 3 shows the acquisition of data samples.
onal world coordinate frame Q-UVW, as shown in Figure 2. To measure the trajectories on the motion axes, the gauge block moved along the preset trajectories in the valid cuboid space, and the displacement of the test surface was measured. In Figure 2, S represents the vector of a point on the test surface in Q-UVW, and is generated by the laser displacement sensors; R represents its vector in O-XYZ, and is generated by the three grating-ruler sensors. The motion trajectory is composed of a series of separate points, and the coordinate vectors of all the separate points constitute a data sample, which is the basic data of the orthogonality estimation of the three-axis motion trajectories of O-XYZ. Figure 3 shows the acquisition of data samples.
The gauge block moved at preset distance intervals on the X-, Y-, and Z-axes, or in directions parallel to them. In Figure 2, {An|1 ≤ n ≤ N} represents the set consisting of N points on the X-axis trajectory and An is an element. Point An corresponds to two vectors: one is defined in O-XYZ, and the other is defined in Q-UVW. So, the set {An|1 ≤ n ≤ N} corresponds to two coordinate vector samples: {Ran = (xan, yan, zan) T |1 ≤ n ≤ N} and {San = (uan, van, wan) T |1 ≤ n ≤ N}. The vector San consists of three elements, uan, van, and wan, whose values are the three displacement components of the gauge block at point An

Three-Axis Orthogonality Evaluation
In this section, a spatial linear fitting approach is applied to the vector sets {San|1 ≤ n≤ N}, {Sbm|1 ≤ m≤ M}, and {Sck|1 ≤ k≤ K}, which outputs the line equations and their parameters. The intersection angles between the fitted lines are calculated based on vector operation, and the orthogonality of the fitted lines in O-XYZ is analyzed based on these angles. The intersection angles between the X-and Y-axis, between the X-and Z-axis, and between the Y-and Z-axis are denoted by α, β, and γ, respectively, as shown in Figure 3, the values of which indicate the orthogonal levels between the coordinate axes. The classification criteria related to the orthogonality are proposed and listed in Table 1. The gauge block moved at preset distance intervals on the X-, Y-, and Z-axes, or in directions parallel to them. In Figure 2, {A n |1 ≤ n ≤ N} represents the set consisting of N points on the X-axis trajectory and A n is an element. Point A n corresponds to two vectors: one is defined in O-XYZ, and the other is defined in Q-UVW. So, the set {A n |1 ≤ n ≤ N} corresponds to two coordinate vector samples: {R an = (x an , y an , z an ) T |1 ≤ n ≤ N} and {S an = (u an , v an , w an ) T |1 ≤ n ≤ N}. The vector S an consists of three elements, u an , v an , and w an , whose values are the three displacement components of the gauge block at point A n . S an is measured by the three laser displacement sensors. Similarly, {B m |1 ≤ m ≤ M} and {C k |1 ≤ k ≤ K} are the point sets corresponding to the Y-and Z-axis trajectories, respectively, and their vector sets

Three-Axis Orthogonality Evaluation
In this section, a spatial linear fitting approach is applied to the vector sets {S an |1 ≤ n ≤ N}, {S bm |1 ≤ m ≤ M}, and {S ck |1 ≤ k ≤ K}, which outputs the line equations and their parameters. The intersection angles between the fitted lines are calculated based on vector operation, and the orthogonality of the fitted lines in O-XYZ is analyzed based on these angles. The intersection angles between the X-and Y-axis, between the X-and Z-axis, and between the Y-and Z-axis are denoted by α, β, and γ, respectively, as shown in Figure 3, the values of which indicate the orthogonal levels between the coordinate axes. The classification criteria related to the orthogonality are proposed and listed in Table 1.
where T abc is a preset threshold for the angles α, β and γ.
The angles α, β, and γ are compared with 90 • . The orthogonality condition is satisfied if the differences between these angles are less than the threshold T abc ; instead, the condition cannot be satisfied. Figure 4 shows the process of the orthogonality estimation, which includes the following steps: where Tabc is a preset threshold for the angles α, β and γ.
The angles α, β, and γ are compared with 90°. The orthogonality condition is satisfied if the differences between these angles are less than the threshold Tabc; instead, the condition cannot be satisfied. Figure 4 shows the process of the orthogonality estimation, which includes the following steps: Step 1: The data acquisition process is conducted; the three sets are generated, {An|1 ≤ n ≤ N}, {Bm|1 ≤ m ≤ M}, and {Ck|1 ≤ k ≤ K}; and their vector sets are measured, as shown in Figure 4a,b.
Step 2: A spatial linear fitting approach is applied to the six vector samples in Figure  3. The linear equations and their parameters are obtained, and the error of spatial line fitting is calculated, as shown in Figure 4c.  Step 1: The data acquisition process is conducted; the three sets are generated, {A n |1 ≤ n ≤ N}, {B m |1 ≤ m ≤ M}, and {C k |1 ≤ k ≤ K}; and their vector sets are measured, as shown in Figure 4a,b.
Step 2: A spatial linear fitting approach is applied to the six vector samples in Figure 3. The linear equations and their parameters are obtained, and the error of spatial line fitting is calculated, as shown in Figure 4c.
Step 3: The angles α, β, and γ are calculated based on the parameters, and the orthogonality between the coordinate axes is analyzed on the basis of the principles defined in Table 1.
A general expression of spatial line equation is defined as follows: where (u, v, w) T is the coordinate vector of a point located in Q-UVW, (u 0 , v 0 , w 0 ) T is the coordinate vector of a known reference point, and (ρ u , ρ v , ρ w ) T is the unit vector of the spatial line. The above six parameters describe a spatial line and constitute a parameter vector P, where F represents spatial line fitting method; P a , P b , and P c are the three parameter vectors of P, Deng et al. [32] proposed a mixed leastsquare algorithm to fit a spatial line, which was used to fit the sets {S an |1 ≤ n ≤ N}, {S bm |1 ≤ m ≤ M}, and {S ck |1 ≤ k ≤ K} in this study. If the three unit vectors of the fitted lines are represented by n a , n b , and n c , where

Compensation for Three-Axis Nonorthogonality
If the coordinate axes of O-XYZ cannot maintain the approximate orthogonal relationship, a virtual orthogonal coordinate system O-XGH is created, which uses the same X-axis as O-XYZ, as shown in Figure 4d. O-XGH is used to compensate for the orthogonal error. Here, plane XOY in O-XYZ and plane XOG in O-XGH overlap. It is assumed that the vectors of a point P in O-XGH and O-XYZ are r p,gh = (x p,gh , y p,gh , z p,gh ) T and r p,yz = (x p,yz , y p,xyz , z p,yz ) T , where the subscripts gh and yz represent O-XGH and O-XYZ, respectively. The vector r p,gh is obtained by vision calculation. The vector r p,yz represents the real displacement of the motion control system and is given by grating-ruler sensors. The purpose of compensation for the non-orthogonal coordinate frame O-XYZ is to transform r p,gh to r p,yz , and a general expression between them is defined as: where Method() represents the transformation method between r p,gh and r p,yz . To deduce Method(), a rotational transformation is applied to the coordinates in O-XYZ and O-XGH. Equation (4) indicates that more reasonable motion trajectories can be obtained through Method(). The motion control system with a nonorthogonal motion coordinate frame will be able to realize precise positioning.
The projection transformation method is applied to deduce Method(), as shown in Figure 4d. A line that is parallel to the H-axis and passes point P is drawn, which intersects with plane XOG at point P 1 . Point P 1 is the perpendicular projection of point P. Similarly, another line that is parallel to the Z-axis and passes point P is drawn, which intersects with plane XOY at point P 11 . Point P 11 is the projection of point P. A line passing point P 11 and perpendicular to the G-axis is set and intersects with the G-axis at point P 13 . Line segment P 11 P 13 intersects with the Y-axis at point P 12 , and points P 13 and P 12 are the two projections of point P 11 . Similarly, line segments that all pass point P 11 are set: one of them is perpendicular to the X-axis and intersects with the X-axis at point P 2 and the other is parallel to the Y-axis and intersects with the X-axis at point P 4 . Then points P 4 and P 2 , corresponding to O-XGH and O-XYZ, respectively, are the two projections of point P, all of which are located on the X-axis. A line segment that passes point P and is parallel to line segment OP 11 is set and intersects with the Z-axis at point P 7 . Point P 7 is the projection of point P. A line that passes point P 7 and is perpendicular to plane XOG is drawn, and intersects with plane XOG at point P 8 . The two points P 10 and P 9 , which are located on the G-axis and the Z-axis, respectively, are the projections of point P 8 . The two projection points P 3 and P 14 of point P 8 corresponding to O-XGH and O-XYZ, respectively, are all located on the X-axis. The coordinate vectors of point P 7 corresponding to O-XGH and O-XYZ are represented by r p7,gh = (x p7,gh , y p7,gh , z p7,gh ) T and r p7,yz = (0, 0, z p7,yz ) T , respectively. Because the vertical coordinates of points P 7 and P are equal to each other (i.e., z p7,gh = z p,gh ) and point P 7 is the projection of point P on the Z-axis, an equal relationship between z p7,yz and z p,yz is satisfied, i.e., z p7,yz = z p,yz . The unit vector of the Z-axis via O-XGH, n z,gh , is a known vector, then the vector r p7,gh is determined by the following equation: r p7,gh = z p7,yz ·n z,gh = z p,yz ·n z,gh The following condition applied to the vector operation is satisfied: Due to the geometric relationship, as shown in Figure 4d, line segment P 11 P is parallel to line segment OP 7 and the conditions, |P 11 P| = |OP 7 |, P 11 P = r p7,gh , and OP 11 = r p11,gh , are satisfied in O-XGH. If the vector of r p11,gh is r p12,gh = (x p12,gh , y p12,gh , 0) T , Equation (7) can be rewritten as: It is assumed that the vector of point P 11 in O-XYZ is denoted as r p11,yz = (x p11,yz , y p11,yz , 0) T and the mapping relationship between r p11,gh and r p11,yz can be derived. Point P 13 , which is located on the G-axis, is the projection of point P 11; the vector of point P 13 in O-XGH is denoted as r p13,gh = (0, y p11,gh , 0) T . Point P 12 , which is located on the Y-axis, is the projection of point P 11 ; the two vectors of point P 12 corresponding to O-XYZ and O-XGH are denoted as r p12,yz = (0, y p11,yz , 0) T and r p12,gh = (x p12,gh , y p12,gh , 0) T , respectively. Due to the shape of the triangle OP 13 P 12 being a right-angled triangle, the following relationship is satisfied: |P 11 P 12 |=|P 11 P 13 |−|P 12 P 13 |=|P 11 P 13 |−|OP 13 |/tg∠P 13 OP 12 OP 12 = OP 13 / cos ∠P 13 OP 12 (9) In Figure 4d, the conditions, |P 11 P 12 | = x p11,yz , |P 11 P 13 | = x p11,gh , |OP 12 | = y p11,yz , |OP 13 | = y p11,gh , and ∠P 13 O P 12 = 90 − ∠XOY = 90 − α are satisfied and taken into Equation (9). The following relationship can be derived: where Ω α is a 3 × 3 matrix. The two coordinates of point P, z p,yz and z p,gh , corresponding to O-XYZ and O-XGH, respectively, can be derived from the side-angle relationship of the right triangle P 1 PP 11 . The conditions |PP 1 | = z p,gh and |PP 11 | = z p,yz are satisfied and the angle ∠P 11 P P 1 equals the angle γ z,gh which is the intersection angle between the Z-and the H-axis. The following relationship can be derived: Finally, Method() is derived based on Equations (6), (8), (10) and (11) as follows: where r 0,gh = (0,0,z p,gh /cosγ z,gh ) T . Based on Equation (12), the vector r p,yz in O-XYZ is derived from the vector r p,gh in O-XGH. The motion control system can accurately generate the displacement via the vector r p,yz and drives the micromanipulator to move from point O to point P; finally, its precision positioning under orthogonal conditions is achieved.

Analysis of the Orthogonal Coordinate Frame
In this section, the influence of the rotation angles of the laser displacement sensor and gauge block on three-axis orthogonality estimation is analyzed.

Description of Position and Posture
It is assumed that the laser displacement sensors and the gauge block are placed in Q-UVW as shown in Figure 5. In an ideal status, the central-axis lines of the gauge block and the laser displacement sensors and the motion trajectories of the gauge block satisfy the following two constraint rules: Constraint rule I: PART I ( Figure 5) shows that the central-axis line of each laser displacement sensor should be perpendicular to the corresponding test surface of the gauge block. For example, the central-axis line l A of the laser displacement sensor A should be perpendicular to test plane Plane 3487 , which is determined by points P 3 , P 4 , P 8, and P 7 , where the subscript numbers 3, 4, 8, and 7 of Plane 3487 represent points P 3 , P 4 , P 8, and P 7 , respectively. Similarly, the central-axis lines l B and l C of the laser displacement sensors B and C, respectively, should also be perpendicular to the corresponding test planes Plane 1584 and Plane 1234 , where plane Plane 1584 is determined by points P 1 , P 5, P 8, and P 3 , and plane Plane 1234 is determined by points P 1, P 2, P , and P 4 .
Constraint rule II: In Q-UVW, the gauge block and its motion trajectories on the coordinate axes should maintain a certain relationship in position and posture. As shown in Part III in Figure 5, the vectors QU 1 , QV 1 , and QW 1 represent the three-axis motion trajectories of the gauge block; and l u1 , l v1 , and l w1 are their trajectory lines, respectively. During the gauge block moving along line l u1 , the vectors of sample points on line l u1 are measured. In this process, test plane Plane 1234 is parallel to plane U 1 QV 1 , and line P 1 P 4 or P 2 P 3 is also parallel to line l u1 . During the gauge block moving along line l v1 (or l w1 ), the coordinates of sample points on line l v1 (or l w1 ) are measured, and test plane Plane 1234 (or Plane 1584 ) must be parallel to plane U 1 QV 1 (or U 1 QW 1 ), and line P 1 P 2 or P 3 P 4 (or P 1 P 5 or P 7 P 8 ) must be parallel to line l v1 (or l w1 ).
reference and its coordinate vector in Q-UVW is represented by sp6 = (up6, vp6, wp6) T . Based on point P6, the rotation angle vector of the gauge block around the U-, V-, and W-axis is denoted as Θ = (θu, θv,θw) T . The central-axis lines lA, lB, and lC are rotated by small angles based on different reference points MA, MB, and MC, respectively. The unit vectors of lines lA, lB, and lC are denoted as na = (cosαa, cosβa,cosγa) T , nb = (cosαb, cosβb,cosγb) T, and nc = (cosαc, cosβc,cosγc) T , respectively. Lines lA, lB, and lC, respectively, intersect with the corresponding test planes Plane3487, Plane1584, and Plane1234 at points NA, NB, and NC. The vectors of points MA, MB, MC, NA, NB, and NC are denoted as sma = (uma, vma, wma) T , smb = (umb, vmb, wmb) T , smc = (umc, vmc, wmc) T , sna = (una, vna, wna) T , snb = (unb, vnb, wnb) T, and snc = (unc, vnc, wnc) T . Based on the above definitions, five vectors, sp6, Θ, na, nb, and nc, are used to describe the position and posture of the gauge block and laser displacement sensors. The unit vectors of lines lu1, lv1, and lw1 are denoted as nu1 = (cosαu1, cosβu1,cosγu1) T , nv1 = (cosαv1, cosβv1,cosγv1) T , and nw1 = (cosαw1, cosβw1,cosγw1) T , respectively. The intersection angles of lines lu1, lv1, and lw1 are denoted as αt, βt, and γt, respectively, where αt = lu1∨lv1, βt = lu1∨lw1, and γt = lw1∨lv1. An angle vector Λt =(αt, βt, γt) T is defined and can be derived by the dot product operation, i.e., αt = arcos(nu1·nv1), βt = arcos(nu1·nw1), and γt = arcos(nw1·nv1).  If constraint rules I and II are satisfied simultaneously, the influence of the rotation angles of the laser displacement sensor and gauge block on Q-UVW will decrease. However, it is impossible for the real measurement system to satisfy constraint rules I and II. In other words, it is impossible for lines l A , l B , and l C to absolutely be parallel to the corresponding test planes. Moreover, it is impossible for the central-axis lines of the gauge block to be absolutely parallel to the corresponding trajectory lines. However, the influence of the above error factors on Q-UVW can be minimized as much as possible and limited to a certain range. So, it is necessary to analyze the effects of the position and posture of the gauge block and laser displacement sensors on the measurement.
We define the following parameters for the position and posture of the gauge block and laser displacement sensors. For the gauge block, point P 6 is set as a point as a basis reference and its coordinate vector in Q-UVW is represented by s p6 = (u p6 , v p6 , w p6 ) T . Based on point P 6 , the rotation angle vector of the gauge block around the U-, V-, and W-axis is denoted as Θ = (θ u , θ v ,θ w ) T . The central-axis lines l A , l B , and l C are rotated by small angles based on different reference points M A , M B , and M C , respectively. The unit vectors of lines l A , l B , and l C are denoted as n a = (cosα a , cosβ a , cosγ a ) T , n b = (cosα b , cosβ b , cosγ b ) T, and n c = (cosα c , cosβ c , cosγ c ) T , respectively. Lines l A , l B , and l C , respectively, intersect with the corresponding test planes Plane 3487 , Plane 1584 , and Plane 1234 at points N A , N B, and N C . The vectors of points M A , M B , M C , N A , N B , and N C are denoted as s ma = (u ma , v ma , w ma ) T , s mb = (u mb , v mb , w mb ) T , s mc = (u mc , v mc , w mc ) T , s na = (u na , v na , w na ) T , s nb = (u nb , v nb , w nb ) T, and s nc = (u nc , v nc , w nc ) T . Based on the above definitions, five vectors, s p6 , Θ, n a , n b and n c , are used to describe the position and posture of the gauge block and laser displacement sensors.

Simulation Method
In this section, a simulation method for three-axis motion trajectory estimation is designed based on the MATLAB software. The simulation process consisted of the following steps: Step 1: In Figure 5, the coordinates of points P 1 -P 8 were calculated by presetting the values of Θ and s p6,0 . The length, width, and height of the gauge block were used as known parameters and denoted as L S , W S , and H S , respectively. The values of θ u , θ v, and θ w were initialized to zero. Then, the initial values of s p1,0 -s p8,0 were calculated by the following equation: After the gauge block was rotated by Θ, the new coordinates of s pi were obtained through the following rotation transformation: where i is the number of the vertex and i ∈ [1,8]; Rot u (θ u ), Rot v (θ v ), and Rot w (θ w ) are rotation matrices corresponding to the U-, V-, and W-axis, respectively.
Step 2: n a , n b , and n c were initialized by presetting the values of α a , β a , γ a , α b , β b ,γ b , α c , β c , and γ c ; s ma , s mb , and s mc were calculated by s ma = (L s + L 0 , W s /2, H s /2) T , s mb = (L s /2, W s + L 0 , H s /2) T , and s mc = (L s /2, W s /2, H s +L 0 ) T , where L 0 is a length adjustment parameter.
Step 4: The coordinates of the intersection points between the test planes and their corresponding central-axis lines of the laser displacement sensors were calculated. When the gauge block moved along lines l u1 , l v1, and l w1 , point P 6 passed all of sample points in the sets {a n |1 ≤ n ≤ N}, {b m |1 ≤ m ≤ M}, and {b k |1 ≤ k ≤ K}. Other vertices made similar movements with point P 6 . Test planes Plane 3487 , Plane 1584, and Plane 1234 intersected with lines l A , l B , and l C at points N A , N B, and N C , respectively. The laser displacement sensors A, B, and C monitored the coordinate variation in points N A , N B, and N C , primarily involving the coordinates u a (the U-axis coordinate of point N A ), v b (the V-axis coordinate of point N B ), and w c (the W-axis coordinate of point N C ). Then, the position vector of the gauge block, s s , was given by u a , v b , and w c , where s s = (u a , v b , w a ) T .
Part IV in Figure 5 shows that three types of point sets, {A n |1 ≤ n ≤ N}, {B m |1 ≤ m ≤ M}, and {C k |1 ≤ k ≤ K}, were measured. Their coordinate vectors are denoted as {s A,n = (u A,n , v A,n , w A,n ) T |1 ≤ n ≤ N}, {s B,m = (u B,m , v B,m , w B,m ) T |1 ≤ m ≤ M}, and {s C,k = (u C,k , v C,k , w C,k ) T |1 ≤ k ≤ K}, respectively. When the gauge block reaches the posi-tion of a sample point, the normal vectors of planes Plane 3487 , Plane 1584 , and Plane 1234 can be obtained by the following equation: The vector s s of the gauge block at points N A , N B , and N C can be calculated by the following equation: Based on above steps 1 to 4, the vectors of points located on the calculated motion trajectory lines were obtained. An angle vector Λ t = (α t , β t , γ t ) T was defined that describes the intersection angles between the motion trajectory lines defined in Section 4.1. A spatial line fitting process was performed on the measured vector sets of {s A,n = (u A,n , v A,n , w A,n ) T |1 ≤ n ≤ N}, {s B,m = (u B,m , v B,m , w B,m ) T |1 ≤ m ≤ M}, and {s C,k = (u C,k , v C,k , w C,k ) T |1 ≤ k ≤ K } and the unit vectors of fitted lines l u2 , l v2, and l w2 , n u2 , n v2 , and n w2 , were obtained, where n u2 = (cosα u2 , cosβ u2 ,cosγ u2 ) T , n v2 = (cosα v2 , cosβ v2 ,cosγ v2 ) T , and n w1 = (cosα w2 , cosβ w2 ,cosγ w2 ) T . The intersection angles, α (l u2 ∨ l v2 ), β (l u2 ∨ l w2 ), and γ (l w2 ∨ l v2 ) constitute an angle vector Λ = (α, β, γ) T , which were calculated by the dot product operation, i.e., α = arcos(n u2 ·n v2 ), β = arcos(n u2 ·n w2 ), and γ = arcos(n w2 ·n v2 ). The angle vector Λ represents the measured data of the motion trajectory lines and the angle vector Λ t represents its true value. The error vector between Λ and Λ t was calculated by the following equation: where ∆ is the error vector. When a set of error indexes consisting of s p6 , Θ, n a , n b , n c , n u1 , n v1 , and n w1 was given, ∆ was calculated by Equation (17) based on the above steps 1 to 4. ∆ was used to analyze the influence of rotation angles of laser displacement sensor and gauge block on the orthogonality estimation of three-axis motion trajectories.

Simulation Results
The influence of the rotation angles on the accuracy of orthogonality estimation was simulated based on the following conditions: L S = 12 mm, W S = 12 mm, H S = 12 mm, s p6 = (0,0,0) T , and L 0 = 50. The simulation method limits the rotation angles, θ u , θ v , and θ w , within a small range and was set to be less than 10 • . For the laser displacement sensor, A, the error was primarily from the variation of α a . Similarly, for sensors B and C, the error was primarily from the variation in β b and γ c , respectively. In the simulation, l u1 , l v1 , and l w1 were set to be closer to the U-, V-, and W-axis, respectively. α u1 , β v1 , and γ w1 were primarily considered in the simulation; their maximum values were set to be less than or equal to 10 • . Based on the above analysis, the simulation was run under 10 categories of rotation angles.
The results obtained under the angles 1 • -5 • are listed in Table 2, which shows that when the rotation angle was less than 4 • , the maximum absolute value of δ α , δ β , andδ γ was 0.0043 • , and the relative error compared with 90 • was 0.005%. The results indicated that the effect of the rotation angles of the gauge block and the laser displacement sensors on the measurement results is completely negligible.   The results obtained under the angles 6 • -10 • are listed in Table 3. Tables 2 and 3 shows that the minimum and maximum of absolute values of δ α , δ β , δ γ were 0.0103 • and 0.0967 • , respectively, and the relative error compared with 90 • varied from 0.01% to0.09% when the rotation angles varied from 5 • to 9 • . When the rotation angles approached 10 • the error was 0.1427 • and the relative error compared with 90 • was 0.16%.
We classified the error into three levels: low, middle, and large. Any rotation angle error less than 4 • was considered small, the error under the rotation angles from 5 • to 9 • were classified as middle, and the error of rotation angles larger than 9 • were considered large. Tables 2 and 3 show that when the rotation angles of the laser displacement sensors and gauge block were less than 10 • , the maximum error of motion trajectory orthogonality measurement was close to 0.09% which has little effect on the measurement.

Results and Discussion
The setup of the experimental system is shown in Figure 6. The system was placed on an optical platform, which consisted of a stereo light microscope, a three-axis motorized translation stage, a rectangular gauge block and three laser displacement sensors. The motion of the three-axis motorized translation stage was controlled in closed-loop mode. The measurement range of the laser displacement sensor was ±5 mm and its positioning precision was 0.01 mm. The gauge block was machined by precision machining and possessed a surface roughness of less than 0.0008 mm. The stage was rigorously assembled by the manufacturer. Virtual motion trajectories were designed for the experiments. The approach to generating the virtual motion trajectories is shown in Figure 7a. We assumed that the coordinate axes of O-XYZ were orthogonal, and three virtual motion trajectory lines that intersect with the X-, Y-, and Z-axes at small angles were created (generally less than 10 • ), separately. A series of sample points on the virtual motion trajectory lines was obtained and their vectors were regarded as true values. The gauge block moved along the virtual motion trajectory lines and passed sample points in order. When the gauge block reached a sample point, its position was measured by the laser displacement sensors. The measured positions of the sample points constituted the motion trajectories, and their spatial fitted lines were obtained, as shown in Figure 7b Table 4.
gauge block moved along the virtual motion trajectory lines and passed sample points in order. When the gauge block reached a sample point, its position was measured by the laser displacement sensors. The measured positions of the sample points constituted the motion trajectories, and their spatial fitted lines were obtained, as shown in Figure 7b-d. The intersection angles of the three virtual motion trajectory lines were used as true values and the intersection angles of the three fitted lines were used as measured values. The error between the measured and true values was obtained. Six groups of experiments were performed to test the orthogonality of the motion trajectory lines. The range of the intersection angles as input parameters was set to [82.728°, 90°]. The results are listed in Table 4.     For the selection of the sample points on the motion trajectory line, we attempted to make the density of the sample points as large as possible. Here, we set 25 points for observation. For the spatial line fitting process, a gross error filter for gross error detection was used to obtain high-precision fitted lines, which needed several repeated fitting processes. If the vertical distance between the sample points and fitted line was larger than a given threshold (here, 0.02 mm was used), the sample points that exceeded the threshold were removed from the sample point sets. Then, the spatial line fitting was repeatedly performed on the remaining sample points until the satisfactory fitting precision was reached. In Table 4, θ is the intersection angle and includes three components, θ XY , θ XZ , and θ YZ , where θ XY is the angle between the X and Y-axis, θ XZ is the angle between the X-and Z-axis, and θ YZ is the angle between the Y-and Z-axis. In Table 4, the value of θ decreases gradually. When θ was 90 • , 88.578 • , 87.137 • , 85.682 • , 84.213 • and 82.728 • , the maximum absolute error was 0.125 • , 0.161 • , 0.206 • , 0.245 • , 0.146 • and 0.160 • , respectively, and the fluctuation range was 0.12 • . The maximum relative errors of the six cases were 0.138%, 0.182%, 0.237%, 0.286%, 0.173% and 0.193%, respectively, and the fluctuation range was 0.148%. The results showed that the maximum absolute error of the measured value of θ was 0.245 • and the maximum relative error was 0.286% when the value of θ changed from 90 • to 82.728 • .
The accuracy of spatial line fitting affected the precision of three-axis motion trajectory orthogonality measurement. Fitting errors in the six groups of experiments were counted and compared. The statistical rule of fitting error used in this paper is shown in Figure 8. Two types of parameters, σ and η, were defined to describe fitting error, where σ represents the vertical distance between the sample point and the fitted line, and η represents the azimuth of the sample point. The distribution of fitting error in polar coordinates is shown in Figure 9, where σ is the polar radius and η is the polar angle. The fitting error in Figure 9a-f was obtained under conditions 1-6 listed in Table 4. Figure 9a-f show that the distribution of sample points and their fitting error were random, and that the measured values of the sample points fluctuated. In Figure 9a- Figure 9a-f, the number of sample points with fitting error more than 0.015 mm is 4, 1, 10, 1, 8 and 5 respectively, but the fitting error of all sample points is less than 0.02 mm. When the value of 90-θ was less than or equal to 7.272 • , the maximum fitting error was 0.02 mm.
9a-f show that the distribution of sample points and their fitting error were random, and that the measured values of the sample points fluctuated. In Figures 9a-f, the values of θ are approximately 90°, 88.578°, 87.137°, 85.682°, 84.213°, and 82.728°. Compared with the 90° motion trajectory lines, the motion trajectory lines generated under these six angles deviated by 0°, 1.422°, 2.863°, 4.318°, 5.787°, and 7.272° respectively. From the results, the value of θ decreased gradually, and the degree of its corresponding motion trajectory lines deviating from the 90° motion trajectory line increased gradually. In Figures 9a-f, the number of sample points with fitting error more than 0.015 mm is 4, 1, 10, 1, 8, and 5 respectively, but the fitting error of all sample points is less than 0.02 mm. When the value of 90-θ was less than or equal to 7.272°, the maximum fitting error was 0.0 2 mm. Figure 8. The definition of the error parameters of the fitted spatial line, where XDT = X-direction motion trajectory, YDT = Y-direction motion trajectory, ZDT = Z-direction motion trajectory. Two parameters, σ and η, are used. The parameter σ represents the distance between a point P and a fitted line, and point P1 is one of the fitted points corresponding to point P. The parameter η is used to describe the azimuth of a sample point, which is the intersection angle between the lines PP1 and l. The line l is located in the plane passing the points P1 and P, and perpendicular to the fitted line OP1. Figure 8. The definition of the error parameters of the fitted spatial line, where XDT = X-direction motion trajectory, YDT = Y-direction motion trajectory, ZDT = Z-direction motion trajectory. Two parameters, σ and η, are used. The parameter σ represents the distance between a point P and a fitted line, and point P 1 is one of the fitted points corresponding to point P. The parameter η is used to describe the azimuth of a sample point, which is the intersection angle between the lines PP 1 and l. The line l is located in the plane passing the points P 1 and P, and perpendicular to the fitted line OP 1 .
In Section 4.3, the influence of the rotation angles generated by the laser displacement sensor assembly on the orthogonality of the reference coordinate system was analyzed through simulation. If the influence is large, the accuracy of motion trajectory measurement is affected, and the angle deviation between the measured motion trajectory and the real motion trajectory is large. Figure 9a,b shows that the position offset between the sample points can be controlled within 0.02 mm, which indicated that the output data of the laser displacement sensor have good stability. In the experiment, the range of the deviation angles of the motion trajectory lines was 0 • -7.272 • . Table 4 shows that the absolute error of the deviation angles of the motion trajectory lines experienced small fluctuation: the maximum fluctuation was 0.245 • and the corresponding relative error was 0.286%, which indicated that the measurement error of the motion trajectory lines was small. This experiment also showed that within this deviation angle range, the orthogonality of the reference coordinate system formed by laser displacement sensors has a weak influence on the angle measurement. This is consistent with the simulation results in Section 4.3. In Section 4.3, the influence of the rotation angles generated by the laser displacement sensor assembly on the orthogonality of the reference coordinate system was analyzed through simulation. If the influence is large, the accuracy of motion trajectory measurement is affected, and the angle deviation between the measured motion trajectory and the real motion trajectory is large. Figure 9a,b shows that the position offset between the sample points can be controlled within 0.02 mm, which indicated that the output data of the laser displacement sensor have good stability. In the experiment, the range of the deviation angles of the motion trajectory lines was 0°-7.272°. Table 4 shows that the absolute error of the deviation angles of the motion trajectory lines experienced small fluctuation: the maximum fluctuation was 0.245° and the corresponding relative error was 0.286%, which indicated that the measurement error of the motion trajectory lines was small. This experiment also showed that within this deviation angle range, the orthogonality of the reference coordinate system formed by laser displacement sensors

Conclusions
Stereo light microscopes are designed based on a binocular stereo structure, which requires a large workspace and can be applied to develop microscopic stereovision systems and in the micromanipulation fields to provide micromanipulation robot systems with a stereovision function. The motion control system is an important part of micromanipulation robot systems. For a three-axis motion control system, the orthogonality and linearity of the three-axis motion trajectories have the accuracy of micromanipulation. So, the study of the mechanisms of the linearity and orthogonality of three-axis motion trajectories is important. Aiming at this problem, we constructed a novel approach to measure three-axis motion trajectories, designed the approximate orthogonal reference frame, and analyzed the influence of laser displacement sensor assembly error on the orthogonality of the reference frame via simulation. An approach to evaluate the linearity and orthogonality of three-axis motion trajectories was proposed, and then the rules to correct the non-orthogonal motion trajectories were developed. The results showed that when the assembly angles of the central-axis lines of the laser displacement sensors are limited within a range of 10 • , the relative angle deviations of the axes of the reference frame compared with 90 • are approximate to 0.09%, the accuracy of the axial motion trajectory fitting is approximately 0.02 mm, and the relative error of the intersection angles of the three-axis motion trajectories is approximately 0.3%. Thus, the results showed that when the assembly angle is limited within a reasonable range, the three-axis orthogonality of the orthogonal reference frame can be guaranteed, and the method proposed in this paper can be used to effective evaluate the orthogonality of three-axis motion trajectories for micromanipulation robot systems.