# A System for Robotic Extraction of Fasteners
## 4 Results and Discussion  
Figure 10 shows a sample extraction run using method #2's extraction process, which correlates to a single execution of the state machine in Figure 8. This Figure gives time series data for the force sensor, current sensor, active state, and TCP z-coordinate tools. In Figure 10, the top subplot illustrates the current data in milliamps (mA) as recorded by the motor driver board during the fastener extraction process. Two distinct peaks are visible. The first peak represents the initial current detection state, where a low RPM spin is used as the tool lowers to the known position of the CRS to check for thread engagement. This peak, reaching nearly 500 mA, indicates the tool's recognition of engagement with the fastener profile, triggering the screwdriver to shut down promptly. The second peak illustrates the motor current fluctuations as the tool loosens and disengages the fastener during the extraction phase. The second subplot displays the Force-Sensitive Resistor (FSR) data, which measures force as the tool compresses and contacts the testing artifact. An initial high peak at the 25 s mark indicates the first contact, followed by a slight decrease in force and a plateau around the 27 s mark. This change occurs as the tool bit engages with the screw threads, and slightly jogs upwards to reduce the force on the fastener. The sharp decline and fluctuating readings between 30 and 40 s mark the extraction phase, where the pressure is relieved as the tool unthreads the fastener and gradually ascends in the \(z\)-axis. The third subplot shows the state index time series data, where individual integers represent discrete states, as detailed in Table 2. The final subplot displays the z-position of the active tool, as reported by the robot driver and the known TCP in the RoboDK software. Here, the \(z\)-axis is oriented relative to the robot base and decreases to the second imaging state z-coordinate, as defined in Table 3. The abrupt changes in the \(z\)-axis observed between the ten- and twenty-second marks correspond to the software switching the active tool between the laser, RGB camera, and electric screwdriver. Figure 10: Extraction run data executed under the logic outlined in Figure 8.  
The cycle time for the run shown in Figure 10 is 50.5 s, which is consistent for each run (almost all runs took less than 55 s for each target). Roughly 40% of the time in this method is used for re-imaging the desired target and traversing to and from the robot's staging position. This cycle time can be reduced in future iterations of this system by (a) using higher robot speed during the traverse back and forth and screw extraction phases, as the speed was conservatively kept low due to early-stage testing, (b) replacing the force-sensing resistor with a force/torque sensor which gives more reliable force detection and a faster response, and (c) deactivating the laser on the tool assembly which only provides a visual queue of the intended target and its accuracy but is not used in the logic for the extraction process. As previously defined, Table 2 represents the states on the \(y\)-axis of the State Sequence Run Data subplot in Figure 10. While the logic for the state program controlling the robots' actions is continuously re-executing, the time series data of which state the robot is currently in are continuously aggregated for status monitoring. Table 3 represents additional operational parameters collected on each CRS extraction attempt. These data include the relative current and conductance thresholds while the physical tooling executes, the initial and re-acquired target x, y, and z globalized coordinates, and the DCNN detection confidence threshold. Figure 11 shows the nine targets on the testing artifact used in this work. Experiments were conducted with one type of fastener material to minimize possible surface reflection effects on detection. Table 4 gives a sample single run for single-shot high-level imaging of all targets within the robot's workspace.