# Stationary 3D Scanning System for IoT Applications
## 6 Scheme of Operation of the System
This allows for full control of the scanning system and guarantees expansion with further functions without interfering or changing other sequences. The colored strings in blue indicate the event under the influence of which the next operation will be performed, while the ellipses indicate individual states of the algorithm. The described measurement system also has a varied means of two-way communication, which is a window application, which consists of a main part, responsible for manipulating and controlling the entire process of scanning the object, and a \"service control\" part, which allows one to view the individual parameters of the system during operation, e.g., the duration of the current scanning process, the volume of the point cloud at the currently collected coordinates, the temperature of the components, cooling, and the position of the motors. The appearance of the application in the form of two windows is shown in Figure 8. With the help of the application, all collected data are saved in a specific place, on an external device, in the form of a text file. This file is ready to be used as a full point cloud to be converted to the corresponding 3D model in another processing program. Figure 8: The view of the main screen of the 3D scanning system control (1—section for recordingand reading data and connection to an external device, 2—console monitoring the performed activities, 3—area for entering the height of the object, 4—section for system restart and service control, 5—place of connection to the new serial port, 6—preview of individual system parameters). Figure 7: Algorithm for the operation of the state machine. Referring to the object shown in Figure 9, the scanning process duration was 8 min for a grid containing approx. 900,000 points and the height dimension of the object was equal to approx. 8 cm. On the basis of the above, it should be concluded that the system performs 11,250 measurements per full rotation of the platform with the optimized kinematic parameters. The object that was scanned was actually measured as shown in Figure 9. The actual total value of the given dimension was about 60 mm. Using a tool dedicated to measuring the distance between two determined points of the point cloud, a dimension of about 60.28 mm was obtained. When comparing the results obtained, the correctness of the three-dimensional scan was found, the measurement uncertainty of which is definitely within the examined measurement range. Other sample scanning results of specific objects that meet the conditions of the 3D scanning system are also shown below. In the figures shown, the actual dimensions and those obtained by scanning are indicated, which were read directly from the point cloud software. Taking into account the results of scanning the given objects, it should be noted that the surface profile has been properly reproduced, maintaining the shapes, but single points are visible around the clear outline of the object. These are the result of the sensor's inaccuracy, the impact of interference, which is intensified by the analog technology of the rangefinder. However, any errors that occur can be easily rectified with mesh processing programs and 3D models. In the next step of the investigation, an analysis of the scan of the reflective object was carried out. The results are shown in Figure 12. The analog nature of the measuring sensor made it impossible to properly obtain coordinates consistent with the actual dimensions of the object, which indicates a certain limitation of the measurement system. In order to eliminate this defect, the object to be examined should be matted beforehand, so that scanning is possible and correct. Figure 13 shows a graph showing the measurement uncertainty of a 3D scanning system based on the scan of a surface point located at a constant distance from the head, the dimensions of which were converted to the value given from the transducer during the measurement of the output voltage.