3. Test Method and Sensor Description
The Identification and Isolation of Robot Workcell Accuracy Degradation test method was developed in concert with a multirobot testbed at NIST. Figure 1 presents the NIST's PHM for Robot Systems testbed with many representative features of a manufacturing robot workcell including robots, controllers, and end-of-arm tools. The testbed features two six degrees-of-freedom (6DOF) Universal Robots, each with industrial controllers. The smaller robot, a UR3 (shown on the left in Fig. 1), is configured to perform path-planning operations including drawing several unique patterns while the larger robot, a UR5 (shown on the right in Fig. 1), is configured to perform a material handling operation. The UR3 is configured with a pen at its tool-center-position using a specially designed mount. The UR5 is configured with an RG2 gripper that is controlled through the UR5's controller. Supervisory commands are issued to both the UR3 and the UR5 by a single Beckhoff PLC.
The testbed's primary manufacturing-relevant use case is for the larger robot to physically place test parts on fixtures within the reach of the path-planning robot for this smaller robot to draw on the test part. This drawing activity is analogous to welding, adhesive application, and additive manufacturing processes performed by six-degree-of-freedom robot systems. Additional information on the testbed and use case is shown in Refs..
The Identification and Isolation of Robot Workcell Accuracy Degradation test method involves testing the positioning repeatability, and therefore the health, of different components along the robot workcell's kinematic chain. The test method uses the NIST-developed Position Verification Sensor with Discrete Output (PVS) sensor (depicted in Fig. 2) to measure the positioning of the components in question. The test method is robot agnostic; it can be integrated and executed with any 6DOF robot workcell. When different measurement points along the kinematic chain are tested, the test method's results aim to isolate any source(s) of the error, so the responsible component can be appropriately addressed. Implementing the test method first involves affixing mechanical keys at strategic locations along the workcell's kinematic chain that can present positional degradation. The PVS is physically installed within the workcell's work volume. The keys are commercial-off-the-shelf (COTS) items with precise geometries. The dimensions of the keys are in English units so the sensor's clearance dimension is manufactured in English units.
In the case of the NIST testbed, keys have been attached to multiple elements including the robot's tool flange, physical mount of the gripper jaws, and the movable gripper jaws, themselves (shown in Fig. 3). Once the keys are installed, the robot, along with the other movable elements in the kinematic chain (e.g., gripper), is systematically programmed to "insert" their keys into the PVS. The PVS is designed such that the key can be successfully inserted within a specific tolerance as determined by the dimensions of the key and the opening of the PVS. If the key's position is inaccurate beyond the tolerance of the PVS' opening, then the test of that specific point will fail. Otherwise, if the movement of the key is within the tolerance of the PVS' opening, then the key will be successfully inserted into the PVS and this specific point will pass. The element to which the key is attached when a failure is observed highlights the approximate location of the degradation within the kinematic chain. More details are available in Refs..
The insertion of the key into the PVS is being verified to determine what uncertainty, if any, exists regarding the known tolerances of the fit. For example, if the clearance between the key and the PVS is designed to 25 μm, then the ideal scenario is that the key has a range of motion of 25 μm regarding its insertion into the PVS. Realistically speaking, uncertainties exist including manufacturing tolerances of the key and the PVS, the setup error of the key with respect to the PVS, etc.
As noted earlier, the PVS provides binary output, meaning that the element being tested either passes or fails its specific positioning test. If all elements can insert the key into the PVS, then the workcell is considered healthy to the designed tolerance between the key and the PVS. If an element fails, then that data can be used to determine specifically where within the workcell a change or degradation has occurred. By itself, or coupled with other data from the workcell's operations, these data can be used to then efficiently respond to that change. The declaration that the workcell is healthy to the designed tolerance is only true if all uncertainties are known and quantified. If not, for example, a kinematic chain that successfully passes all tests with a tolerance of 25 μm may only be healthy to 50 μm or larger. Whatever it may be, it is critical for the manufacturer to know exactly what they are testing. The verification testing of the PVS is a core step in ultimately determining the uncertainty of the overall test method.
4. Experimental Design
The PVS' performance needs to be verified to understand its capability and measurement uncertainties as it is used within the test method. The PVS is actively being tested to gather this information. A verification test process has been developed using an automated, linear, three-axis stage. The test stand is set up such that a standard key is mounted to the three-axis stage and a PVS is mounted directly below (as shown in Fig. 4). The stage can then be commanded to move and insert the key into the PVS at different locations in an attempt to achieve a positive response from the PVS (i.e., the key is successfully inserted into the sensor). This test stand simulates robot movement with an attempt to insert the key into the PVS and the repeatability uncertainties that exist within them.
This test process was previously performed manually where there was a desire to automate the process because of the manual process being tedious, cumbersome, and susceptible to human error. Stage movement had previously been controlled using manual micrometers, for the X- and Y-axis, and a lever for the Z-axis (shown in Fig. 5). The X and Y movements test different locations or points of the sensor while the Z-axis movement is used to engage or disengage the key from the PVS. The chosen devices enabled the user to move the stage in increments of 1 μm at a time providing very granular control of the stage's movements. To automate the movement of the stage, the micrometers and lever have been replaced with three motor controllers that are connected to three actuators (shown in Fig. 4). This new hardware has the same range of motion and resolution as the manually driven stage.
A matlab program (running off a laptop personal computer (PC) that is connected via a universal serial bus (USB) to the motor controllers of the linear stage) provides a test grid encompassing the top hole of the PVS. This grid consists of points to be tested, with the size and resolution of the grids (i.e., the number of points to be tested and spacing between points) determined by user input. The program then selects the order for which the test points are evaluated by using one of three user-selected methods (i.e., random pattern, vertical movement testing each Y-column before moving onto the next, or horizontal movement testing each X-row before moving onto the next) and commands the stage to move the key to those points. At each point, the stage will attempt to insert the key into the PVS. The PVS' digital output is connected to an oscilloscope, which is used to determine the success of each attempted insertion. The oscilloscope measures the output voltage of the sensor at each test point, which is then input into the matlab program. The oscilloscope is connected to the same PC laptop via USB connection. Upon receiving the signal input from the oscilloscope, the program can determine if the insertion was successful or not based on the captured voltage value (high voltage indicates success). Each test result is recorded within the program. Sample output from the matlab is shown in Fig. 6. Movements of the stage are programmed via matlab in English Units given the English dimensions of the COTS key.
The results of the insertion at each point are stored, formatted into grids, and exported into MS Excel ®. Each point in the grid contains either a green "1" (indicating a successful test point) or a red "0" (indicated as a failed test point). These grids advance the understanding of how the sensor performs. Due to the circular shape of the mating hole on the sensor, it is expected that the results from each test will be a grid with a tight center circle of successful test points surrounded by unsuccessful test points. Figure 7 present results of random, horizontal, and vertical ordered tests with a 12 × 12 grid (for 144 total test points) and a stated key and sensor clearance of 25 μm.
5. Testing and Results
Preliminary sensor testing has been performed using this new automated test method. Testing was performed on two unique PVS's that differed in the material of a single internal component; one sensor's component is made from 3D-printed plastic, and the other sensor's component is made from machined stainless steel (SS). The PVS with the SS component was found to be of much higher precision than the PVS with the 3D-printed plastic component.
Testing of the measurement test stand, along with capturing preliminary verification results of the PVS, began by conducting 55 total tests on a single PVS. These tests consisted of grid size XX and resolution YY, where XX and YY are test-specified variables for grid size and resolution, respectively. The order that the individual observations were collected varied across the 55 tests such that 19 tests were collected in random order, 18 tests in vertical order, and 18 tests in horizontal order. Ideally, it is expected that the successful sensor results would create a precise circular pattern, within the resolution of the test grid, with a diameter equal to the diameter of the key. All other areas of the test grid should result in unsuccessful sensor results. The results of the testing done with this PVS deviated from the expected results. The circle of successful test observations encompassed most of the grid as opposed to the tight, expected center region. This led to the dissection of the first PVS revealing the internal 3D-printed component. Given that the parts from this material type are less precise than the parts machined in SS, the SS PVS was then integrated into the measurement test stand. Fifteen total tests were run with the SS PVS: five random order, six vertical order, and four horizontal order; each with grid size XX = 12 and resolution YY = 20.8 μm. The grids created using this sensor were more closely aligned with what was originally anticipated; the grid was comprised of unsuccessful insertion tests, while the center of the grid was comprised of a tight, circular shape of successful tests. In total, 71 tests have been completed as of the preliminary development of this publication; 25 random order, 24 vertical order, and 22 horizontal order. These tests ranged in size from 12 observations (a very preliminary 3 × 4 grid to confirm the matlab code) to 2500 observations. Test times ranged in duration from about five minutes to about 13 h.
Some tests had unexpected anomalies; there were unsuccessful insertions in the middle of the grid where successful insertions were expected or successful insertions on the outside of the grid where failed insertions were expected. This was a very common problem that was faced throughout the entire testing process. Figure 7 presents three, 12 × 12 grid test results from random, horizontal, and vertical tests using the SS PVS that had a designed key/sensor tolerance of 25 μm. This means that the PVS opening is nominally 25 μm larger than the diameter of the key. For the specific tests that have been run and are discussed below, the PVS circular opening has a machined tolerance of 6.375 mm–0.0 to +12 μm while the tolerance of the cylinder key is 6.350 mm –0 to +5 μm.