Measurement of Industrial Robot Trajectories With Reorientations

The increasing use of industrial robots in different applications raises the demand of the robots performance. This yields to the request for reliable data for the performance characteristics of industrial robots. In this paper a measurement solution for dynamic industrial robot motion measurement with a significant amount of reorientations is presented. The proposed method uses an optical coordinate measurement system with light emitting diodes (LEDs) as active markers. The reorientations of the robots tool increases the difficulty of temporary occlusion of markers, disappearance of markers and reappearance of previously hidden markers. An automated marker registration system based on quality evaluation for single LED measurements has been developed to allow flexible maker setups and decrease the possibility of measurement errors. To interpret the measurement data, an additional error metric for the according ISO standard for measuring robot motion is proposed.


Introduction
Industrial robots are used for very different applications with a lot of different requirements for the way the robot performs its task. The most common description of the properties of a robot is its accuracy and precision (cf. International Organization for Standardization [ISO], 1998). The absolute accuracy describes the error offset in relation to a reference frame (most typically the robot base); the precision expresses the performance for the repetition of movements. For some applications, these kinds of definition can be sufficient. For a pick and place application on the one hand, the precision is a main influence factor for the reliability of the process. On the other hand, the accuracy can be interpreted as the gap between offline generated programs (using a suitable simulation environment) and their application on the real world robot. For other applications, additional requirements are to be considered. For example, constancy of velocity is very important for laser welding as speed changes can lead to holes or insufficient bonding. With increasing complexity of the process, the performance requirements of the robot are also increasing. Therefore, it is important to have reliable data for the performance characteristics of industrial robots. The data sheet from the robot manufacturer usually only includes a single value for position and path repeatability referred to as "according to ISO 9283". In section two of this paper, we point out that the performance characteristics of industrial robots consist of a multitude of different parameters to illustrate the complexity and necessity of the measurement of these characteristics.
Additionally, measured data of a robots performance can be used for robot calibration or even compensation of undesired effects. A high percentage of the error sources for robot inaccuracy are geometrical errors which result from differences between the nominal and actual values of the kinematic link and joint parameters of the kinematic model. Robot calibration is used for the correction of these deviations and additional parameters like joint friction and static compliance. Robot calibration is a well-studied topic. While research is ongoing, the main calibration principle remains the same as in the 1980s (Roth, Mooring, & Ravani, 1987). The robots position is measured in different configurations, i.e. positions and orientations of the robots end effector, within the workspace to calculate the parameters of the kinematic model of the robot. Recent developments are focusing on different aspects of the calibration as adaptation of the mathematic modeling (Nubiola & Bonev, 2013) or optimization of the measurement configurations (Klimchik, Pashkevich, Wu, Furet, & Caro, 2012). These calibration techniques are based on static measurement of robot positions. In matters of measurements of robot motion paths, research is more concentrated on development of tools, sensors and measurement principles e.g. use of a Doppler motion detector (G. Smith & R. Smith, 2006) or linear inertial sensors (Favre-Bulle, 2005). One considerable reason is the high costs of well-established measurement systems that are capable of measuring robot motion with both sufficient measurement frequency and accuracy. Available measurement systems could be categorized in tactile and optical systems, whereupon optical systems again could be divided in active and passive marker based systems. Tactile measurement arms have adequate measurement accuracy but typically are restrained to a small workspace and are not intended for continuous automated motion measurements. Camera systems with passive markers (e.g. GOM Pontos (GOM Optical Measuring Techniques, 2013)) can cover a complete robot workspace if video camera and robot configuration are suitable. The main challenge utilizing such systems emerge from the correlation of the passive markers to the robots 6-DOF tool center point (TCP) even during reorientations of the robot including temporarily occlusion of markers, disappearance of markers and reappearance of previously hidden markers. As an application example, Figure 1 shows a section of a thermal coating path and the simulation of the robots position at two different path positions with different orientations. It is obvious that markers have to be placed with care to be visible from a single camera position. This applies in particular considering a complete motion path and the undisplayed cable and hose packages. Another measuring alternative is the usage of laser tracking systems which can also handle 6-DOF measurements (cf. Spiess, Vincze, & Ayromlou, 1997). But most commercially available laser trackers are only measuring three degrees of freedom. All laser tracking systems have to handle the challenges of marker placement and visibility just like the video based systems. This applies also for camera based systems with active markers, e.g. the K-Series Systems from Nikon Metrology (cf. Johnen, Scheele, & Kuhlenkötter, 2011), whereupon the unambiguous mapping of the active markers is an advantage. In section three, we introduce an approach to enable and increase the accuracy of the measurement of robot trajectories with a considerable amount of reorientations of the robot using such an active marker based system. After the general examination of performance characteristics in section two and the introduction of motion measurement with reorientations in section three, section four of this article addresses the analysis of motion data. The computation and interpretation of the deviation of a measured motion trajectory to a reference path is discussed.

Measurement of Robot Performance Characteristics
The international standard ISO 9283 (ISO, 1998) thoroughly specifies performance criteria and their related test methods for industrial robots. It specifically covers the description of some performance criteria, as well as the requirements and general conditions for measuring them/these. But considering the descriptions of the various measurement parameters and the different feasible measurement systems, there are also many arbitrary choices which are left to the user. Especially no suggestion is made with regard to the measurement principle, the measurement frequency or a suitable spatial resolution. It is merely stated that the total uncertainty must not exceed 25 percent of the measured characteristic. On the one hand, this approach is feasible as no mandatory robot movement(s) (neither in regard to geometrical shape or spatial dimensions) is/are specified in this standard. Of course this is due to the fact that industrial robots can be very different with regard to the size and shape of their workspace. But on the other hand, the fact that the temporal and spatial resolution of the measurement equipment obviously has a significant impact on the measured characteristics has to be handled by the user. So it is generally advisable to perform the measurement with the highest resolution available. The problem of dealing with the fairly high amount of data is exemplary dealt with within section four. Another related topic is the discretization of the measurement data. Any time-discrete recording of the robot movement finally ends up in a dataset with time-stamp, position etc. The interpolation which has to take place to handle time discrete data also falls under the 25 percent rule and also has to be handled at the discretion of the user. One way of handling measurement data as a point cloud will be also presented in section four.
The standard differentiates between static and dynamic movement tasks for which it addresses the topics of accuracy, repeatability, position stabilization time and position overshoot. Special topics involve the drift of static position over time, the exchangeability (which concerns the deviations in series production of industrial robots) and velocity deviations in motion tasks. For the placement of measured positions and paths, a cube inside the robots working space is defined. This cube has to be placed in an area of the working space where most of the tasks are expected to be executed. And the volume has to be the highest possible with the axis aligned parallel to the base coordinate system. So for all information regarding the ISO standard the possibility of distinct discrepancies to real applications have to be considered. For instance, overhead movement of straight serial kinematic chains or ceiling mounted robots can have differing motion characteristics. While the spatial characteristics are intuitively calculated via the (minimal) Euclidean distance, the proposed description for the orientation difference is less well defined and intuitive. It bases on the representation of the orientation as a vector of three orientation angles. The choice of the representation as either Euler angle or a navigational notation is left again to the user. The orientation difference is then defined as the vector of the coordinate-wise difference of the orientation representation of the target pose and the actually reached pose. This description cannot be unambiguously interpreted as no actual metric for this description is defined: When are two differences to be considered equal? Which of two differences is smaller than the other?
We therefore propose a different, more intuitive approach for the definition of orientation difference, which has several advantages over the originally proposed one. Foremost it is not depending on the underlying orientation description. Thus orientations can be described in any desired way (e. g. Euler angles, rotation matrix, quaternion etc.) without changing the result of the orientation difference calculation. To determine the orientation difference between two frames, the orientation matrix of the transformation between these frames has to be calculated. Each proper orthogonal matrix represents a rotation about a fixed axis (cf. Fillmore, 1984).
When A is the rotation matrix with elements a ij , the angle φ of rotation about this axis can be calculated by the use of the trace of the matrix: We propose to use this single value to describe orientation differences. Compared to three different angles where a particular rotation convention has to be considered this single value makes it easy to be interpreted and compared.

Measuring Robot Motion With Reorientations
The practical evaluation in this section refers to the optical measurement system Nikon Metrology K610. However, the overall principle also applies to other active marker based measurement systems (e.g. NDI Opto-TRAK Series (NDI Industrial, 2013)). The coordinate measurement system Nikon Metrology K610 uses three or more infrared light emitting diodes (LEDs) as markers to measure the position and orientation of objects. Dynamic position measurements can be performed with an accuracy of 60 µm and a measurement frequency of up to 1000 Hz. With a handheld measurement probe, basic geometric elements like planes, cylinders or spheres could be measured. These geometric elements can be used to build object coordinate systems which could be linked to a group of LEDs in a singular setup process. Therefore all LEDs of the corresponding group must be visible to the camera simultaneously. Additionally, each LED could only be used for a single object frame. If the tool of a robot should be tracked while the path includes significant orientation changes (cf. Figure 1), multiple LED groups must be attached to the tool, according geometric elements have to be measured and object www.ccsenet.org/mer Mechanical Engineering Research Vol. 4, No. 1;2014 coordinate systems must be defined. The repeated measurement of the geometric elements increases the amount of work and because the robot has to be moved between measurements of different frames, it implicates inaccuracies. To simplify the probing of geometries, reference markers could be used. These reference markers are small metal cylinders with a relief for measurement with the handheld probe. The reference markers have to be measured at each robot position. By calculating the transformation between the reference poses, it is possible to correlate the corresponding LEDs to the geometric object and tool coordinate system respectively. Because of the measurement uncertainty of the probe, there will still be a reference error. The following method, which differs from the supported standard measurement process of the system, reduces setup effort and concurrently increases measuring accuracy.
Assuming that one reference frame with three associated LEDs is defined and that all other markers are evenly distributed over the measurement object with sufficient density, it is possible to reference each LED to the three reference LEDs or other three LEDs that had been referenced before. This has to be done once for each LED. If afterwards a measurement with an arbitrary selection of at least three LEDs is done, the position and orientation can be calculated via the transformation between the actual measured positions of the LEDs and their reference positions. For the calculation of the transformation between two point clouds with minimal residual error, i.e. the minimal Euclidian distance between corresponding point pairs, their exist different well-established algorithms. Besides optimization algorithms like the Levenberg-Marquardt algorithm (Moré, 1978), there exists a closed-form solution using the singular value decomposition of a covariance matrix of the data (Umeyama, 1991). The quality of the calculation is subject to two main quality criteria of the LED markers. One is the data noise and the other is the angle of the emitted light to the camera plane. With only the position data available it is not possible to calculate this angle. The only reliable information for the quality of a LED is its relative position to adjacent LEDs. For measuring rigid bodies, the distances to other LEDs are constant. Therefore we propose to use the noise of the variance of the distances to other visible LEDs within a constant time window. Thus the LED-variance v s of one LED a at a specific time s in the selected window of size n with m other visible LEDs b i is defined as:   Vol. 4, No. 1;2014 The tool was mounted to an ABB IRB2400-16 and was measured along several test paths with different movement patterns and reorientations of the robots wrist. Figure 3 illustrates the proposed LED-variances of the distances to the other currently visible LEDs during one motion path. The measurement has been started while the robot was not moving. As one can see, in the first 1.3 seconds, the variances have the lowest values. After the start of the movement on a linear path, the variance values increase and fluctuate in a certain range. After approximately 12 seconds of the linear movement, the robot reorients at a stationary position and afterwards continues on a linear path perpendicular to the first linear segment. The ending and beginning curves in the diagram correspond to the LEDs which are leaving the field of view of the camera because their angle to the camera was too high (LED 3 at 14 seconds) or entering the field of view respectively (LED 1 at 22 seconds). The diagram shows that at the boundary of the area of visibility when the LEDs emitting angle to the camera is relatively high, the LED-variance is increased. Similar results were observed with different motion paths and considered LEDs. Therefor the proposed LED-variance could be a measure for a favorable LED angle. Figure 3. LED-variances for three different LEDs of a motion path with static reorientation between two linear motion segments (The complete measurement included 11 LEDs, but for better visibility only three are displayed here. For this reason the variance for LED 1 and LED 2 is not identical for the first 14 seconds.) For the measurement of arbitrary trajectories, a setup process is needed. In a fixed pose of the robot, the tools TCP is calculated by measuring geometric elements with the handheld measuring probe. Then a group of at least three simultaneously visible reference LEDs is associated to this TCP frame. To reduce measurement inaccuracy in this process and to define a common reference coordinate system for the measurement system and the robot controller, a calibration procedure is used. In this process, the robot is moved to different positions in its workspace and the coordinates for each position are measured. Afterwards a transformation to adapt the reference coordinate system of the measurement system to the robots reference coordinate system is calculated by minimizing the deviations between the measured positions (cf. Johnen et al., 2011). As described above, the positions of all other LEDs are then stored relative to the reference LEDs. Even though this could be an online process, the accuracy improves with a separated setup procedure with no movement during referencing. The lower LED-variance in this case improves the determination of the relative position (cf. Figure 3). A comparison of this approach in contrast to the process which is supported by the software of the measurement system manufacturer is illustrated in Figure 4. The supported procedure by the software uses the previously described setup with reference markers which are measured with the handheld probe for each LED group in different orientations. Figure 4 displays the measured coordinates of a movement section from two linear path segments with a reorientation at a stationary position in between. Reference frame 1 and Reference frame 2 are measured with the standard technique of the measurement software and the third curve is measured with the proposed method. Reference frame 1 is equivalent to the reference LED group of the proposed technique. The deviation www.ccsenet.org/mer Mechanical Engineering Research Vol. 4, No. 1;2014 between frame 1 and 2 is a result of the mentioned measurement uncertainty of the handheld measurement probe. The difference could be reduced by a separated calibration of reference frame two. One can also see that the software does not take into account the angle of the LEDs to the camera which can result in a false position measurement. This can be seen by the drift of the y-and z-position values of reference frame 1 just before the frame becomes invisible. The calculated frame from varying LEDs successfully compensates these deviations. Figure 4. Comparison of a motion trajectory measured by the proposed approach in contrast to the principle which is supported by the software of the measurement system

Analysis of Path Trajectory Deviations
The calculation of the actual difference between a measured path and the originally desired path is a necessary step to determine the different performance characteristics. As mentioned earlier, the necessary high sample rates (up to several hundred samples per second) can lead to a significant amount of data. For complex paths, the straightforward identification of the minimal distance between the measurement data and the reference trajectory might even lead to ambiguous results. This is especially the case for trajectories that comprehend parallel segments of motion or where the desired path crosses itself during execution. The approach for minimizing the residual error of the distance calculation should also take the ratio of measurement sampling and robot velocity into consideration (sampling theorem). For efficiently calculating the distances, we suggested the use of suitable data structures to support the overall algorithm. We propose considering both the measurement data, as well as the reference path definition to be interpreted as point sets. The interpretation of the reference path requires the www.ccsenet.org/mer Mechanical Engineering Research Vol. 4, No. 1;2014 discretization with a reasonable high sampling rate. It should at least have twice the cardinality of the set of measurement data. As an adequate data structure, to support the calculation, we suggest the use of a k-d tree (Müller-Hannemann & Schirra, 2010). Given a measured position in Cartesian Space, it can calculate the nearest neighbor in the sampled reference path in O(log n) and can be extended for efficiently finding the m-nearest-neighbors as well. Both data sets can be considered as a discrete approximation of a continuous movement in Cartesian space. Figure 5 shows the approximation of the robot movement and a belonging measurement with a linear interpolation between the sampling points. To calculate the distance between the two paths, the linear interpolation is used to calculate the local distance for each of the sampling points of the upper path. For each point r i , the closest point on the connection between the points k j and k j+1 can be determined as follows: Let n be the vector from k j to k j+1 . Then s is the intersection of the plane, which is spanned by the normal vector n and the point r i and the line from k j to k j+1 and represents the minimal distance to the sampling point r i . The following equation holds for the minimal distance |s-r i | and the intersection point S(·,·): Figure 5. Two-dimensional visualization of the minimal distance calculation between robot and measurement path After finding the belonging interpolation points on the measurement and reference path, it is then possible to calculate the orientation error. It is therefore necessary to calculate the interpolated orientation for the intersection points. There are several approaches for interpolating the orientation, but we suggest the use of spherical linear interpolation (Slerp) (Barrera, Hast, & Bengtsson, 2004) which delivers a continuous rotation around a fixed rotation axis with uniform angular velocity. After that the orientation calculation presented in section two can be applied.

Conclusion
The trend of the diversification of the application spectrum of industrial robots is continuing. With any new process which is adapted as a robotic appliance, a standard question arises: How well does the technology transfer onto the industrial robot really work? To answer this question, the user must be able to quantify the crucial variables and boundaries of the process. After that, the measurement of the robotic behavior under process conditions can help to check for the adherence of the necessary conditions. Although dynamic measurements systems are constantly improving in measurement technique and accuracy, the overall measurement method of optical systems based on markers implicates a challenge for the measurement of complex robot motions. When high accuracy measurement (< 0.1 mm) and high time resolution (> 500 Hz) are required, the options are limited. For the additional requirement of capturing robot trajectories with significant amounts of reorientation, we could not identify a suitable commercially available solution. The presented approach measures single LEDs within a self-designed setup and uses self-developed software for evaluating and transforming single measurements into full 6-DOF measurement with quality control. This leads to a major enhancement to the field of application for the measurement system: it allows robot motions with complex reorientations to be measured with both high spatial and temporal resolution. The presented approach is easily transferable to other LED setups as long as three or more LEDs of the setup are visible at each point of time. To www.ccsenet.org/mer Vol. 4, No. 1;2014 support our line of argument, a general overview over the applicable ISO standard was given. For the necessary calculation of the relevant characteristics some detail solutions were presented. Furthermore, we suggested an additional error metric for orientation errors, which is readily interpretable and independent of the underlying orientation representation.