Dataset for anomalies detection in 3D printing
Joanna Sendorek, Tomasz Szydlo, Mateusz Windak, Robert Brzoza-Woch
DDataset for anomalies detection in 3D printing
Joanna Sendorek, Tomasz Szydlo, Mateusz Windak, Robert Brzoza-Woch
AGH University of Science and Technology,Department of Computer Science, Krakow, PolandEmail: [email protected], [email protected]
Abstract —Nowadays, Internet of Things plays a significant rolein many domains. Especially, Industry 4.0 is making a great usageof concepts like smart sensors and big data analysis. IoT devicesare commonly used to monitor industry machines and detectanomalies in their work. In this paper we present and describea set of data streams coming from working 3D printer. Amongothers, it contains accelerometer data of printer head, intrusionpower and temperatures of the printer elements. In order togain data we lead to several printing malfunctions applied to the3D model. Resulting dataset can therefore be used for anomaliesdetection research.
I. I
NTRODUCTION
This paper presents the data that we have gathered from the3D printer during the printing process. Among all, data sam-ples include temperature of working elements of the printer,intrusion force and the acceleration of printing head. The datahas been gathered using two types of sources - custom-mademeasurement devices and the internal software of the printer.In order to enable for the dataset to serve as an exampleof anomalies detection for intelligent Industry 4.0 systems,we provoked several types of failures during printing pro-cess. All of the files are placed in the repository and canbe used under the Creative Commons Attribution4.0 International license.The rest of the paper is organised as follows. Section IIpresents related work. In section III we describe the charac-teristics of printer machine used for gathering data samples.In IV we characterize each type of data source while printingfailures that we created are presented in V. Section VI containspecification of data organisation while section VII containsexemplary data analysis. The last section sums up the paper.II. R
ELATED W ORK
As an interest in 3D printing increases in various applica-tions, anomaly detection systems are gaining in importance.We can basically distinguish two types of systems used tomonitor the work of 3D printers and received printouts. Thesesystems are based on image analysis (e.g. [1], [2]) and basedon the analysis of data from inertial sensors (e.g. [3], [4]).Proper preparation of the 3D printer and retrofitting it withsensors requires some time and equipment expenditure. In thearticle we present a set of test data that were obtained usingdevices built using the FogDevices platform. The presentedset of test data can be used to develop new algorithms fordetecting anomalies in the work of 3D printers and, what isimportant, to compare them. https://github.com/joanna-/3D-Printing-Data III. 3D P
RINTER CHARACTERISTICS
The 3D printer utilized for collecting its operation data wasMonkeyfab Spire manufactured by Monkeyfab - its basicproperties are listed in Table I. It is a delta printer in whichthe printing head is mounted on magnetic ball joints. TheMonkeyfab Spire uses the RepRapFirmware and is controlledover the network via
Duet Web Control interface.TABLE I: Basic parameters of the utilized 3D printeraccording to manufacturer’s specifications. Maximum printed object dimensions
150 mm diameter
165 mm heightDefault nozzle diameter . Minimum layer height .
05 mm
Filament diameter .
75 mm
Maximum hotend temperature ◦ C Maximum platform temperature ◦ C IV. D
ATA SOURCES CHARACTERISTICS
The sensor data comes from two sources - (i) internalelectronics that control the operation of the printer and from(ii) additionally mounted sensors. They are described in moredetails in the next subsections.
A. Duet Web Control
Duet Web Control Interface is the user interface(UI), accessible via web browser, that allows to monitor andchange printer state. Among others, it includes such fea-tures as: emergency stop, monitoring temperatures of printerparts, changing filament and selecting 3D models to print.The aforementioned informations are also exposed via APIin json format which can be accessed at [printer serveraddress]/rr status?type=X , where X is the category of dataformat. In the created datasets, we have used two categories- and alternatively. The core data provided by the APIis the same for these categories, but they differ in someextra information. For example, aforementioned third versionincludes currently printed layer of the 3D model. B. Data acquisition hardware
The printer has been equipped with additional customsensors developed as part of the FogDevices research project. https://duet3d.dozuki.com/Wiki/Duet Web Control Manual (access for20.11.2019) http://fogdevices.agh.edu.pl a r X i v : . [ c s . OH ] A p r ata from them was collected using a device assembled usingmodular hardware components. Sensor interfacePower SupplyProcessingModuleNetwork interface3D PrinterPlatformFilamentspool SGaccel1accel0Head EthernetMQTTAnalogI CI C FogDeviceshardware-software platform
Fig. 1: The utilized data acquisition system.The printer has been equipped with two inertial mea-surement unit (IMU) sensors LSM9DS1 that can measureacceleration, angular rate and magnetic field in 3 axis butonly linear acceleration was used in this case. First of thesensors, called accel0 is attached to the printing platform and accel1 is on the print head. Both of the sensors use the I Cdigital interface and are connected to the FogDevices hardwareplatform.The method of measuring the filament feeding force is basedon indirect measurement of the force acting on the Bowdentube during printer operation. This was possible due to the factthat the extruder is located on the body of the printer, not atthe print head. Therefore, a force sensor SG based on a straingauge was developed. Its operation is based on Wheatstonebridge and it produces small voltage output. The voltage isamplified in FogDevices sensor interface module with INA128instrumentation amplifiers and then measured using an analog-to-digital converter (ADC) with 12-bit resolution.Block diagram of the hardware is presented in figure 1. TheFogDevices hardware platform has been utilized to collect datafrom three sensors: SG , accel0 , and accel1 .Data collected by the device was being sent through theMQTT protocol over the Ethernet interface. The data werethen saved by a data logger running on a PC computer. Theacquisition system collects and processes 200 samples persecond.Additional sensors and devices are provided by the FogDe-vices platform. The video showing printing process is availableonline . V. T YPE OF PRINTS
We have used two variants of the same five towers print inorder to collect data. In the variant (a), presented in figures2a and 2c, towers have printed base that is integral part of theprint and in variant (b) presented in figures 2b and 2d, towersdo not have a base - they are placed only on the raft.For both variants, we have collected data from the undis-turbed, properly made print. Apart from that, we provoked sixprinting anomalies presented in figure 3: https://youtu.be/SFBInVsVDgk variant (a) : •
3b - printer ran out of plastic before the print wasfinished; •
3c - part of the print unstuck from the printing base,but the rest of print remained undisturbed; •
3d - speed of the retraction has been set too low (to0.5); •
3e - during the printing, the Bowden tube fell outfrom its place; •
3f - during the printing, the arm of printer head hasbeen detached from magnets holding it in the place;2) variant (b) : •
3a - during the printing, part of the print has beenremoved.VI. D
ATA ORGANIZATION
All of the data is uploaded to the repository on GitHub .Structure of the directories is as follows: Each subdirectory contains zipped directory of the twofiles: csv data and json data. Apart from that, four towers and four towers no base contain ˙stl files with the printingschemas.
A. Custom measurements
Custom measurements are stored in files with csv formatwithout header line and with a standard comma separator. Eachfile contains the following columns: • - data id assigned as the relative time set up on thedevice; • - 3-dimensional data from the printing base (X, Y, Zaxis respectively); • - 3-dimensional data from the head accelerometer (X,Y, Z axis respectively); • - tension measurements; • - time stamps (in milliseconds). https://github.com/joanna-/3D-Printing-Data a) towers with the base - schema (b) towers without base - schema(c) towers with the base - photo (d) towers without base - photo Fig. 2: Printing schemas (a) removal of the part of the print (b) plastic finish (c) print unsticking(d) 0.5 retraction (e) Bowden tube fallout (f) arm failure
Fig. 3: Various malfunctions of the printisting 1: Csv data reading import p a n d a s a s pdd f = pd . r e a d c s v ( ’ a c c e l . t x t ’ , names =[ ’ d a t a i d ’, ’ a c c e l 0 X ’ , ’ a c c e l 0 Y ’ , ’ a c c e l 0 Z ’ , ’a c c e l 1 X ’ , ’ a c c e l 1 Y ’ , ’ a c c e l 1 Z ’ , ’ t e n s i o n ’ ,’ t i m e s t a m p ’ ] )d f [ ’ t i m e ’ ] = pd . t o d a t e t i m e ( d f [ ’ t i m e s t a m p ’ ] ,u n i t = ’ms ’ )d f [ ’ t e n s i o n ’ ] = 0 . 6 5 0 ∗ ( d f [ ’ t e n s i o n ’ ] − In Listing 1 , we present suggested way of reading the datausing pandas library. The last line is needed as the effectof measurement device calibration - applying given formulascales the filament force data to start from 0.
B. Measurements from Duet Web Control
Data that is provided by the web interface is in json file,in which each line contain different data sample object. Theobject includes many different key-values pairs and we willnot discuss all of them in this paper as it is described in thedevice documentation. Below, we present several ones, thatwere useful during our analysis: • coords.xyz - array of length three with current (x, y,z) position of printing head; • status - can be one of the following values:1) I - for idle state;2) P - for printing phase;3) T - for temporary when printer is getting ready toprinting phase; • temps.bed.current - current temperature of the bed; • temps.extra - among all contain MCU temperature; • currentLayer * - current printed layer - available only insome datasets.In Listing 2 , we present suggested way of reading the jsondata using pandas library. Normalization of json data resultsin the flat (not nested) table structure for the obtained data.Listing 2: Json data reading import p a n d a s a s pd from p a n d a s . i o . j s o n import j s o n n o r m a l i z ed f = pd . r e a d j s o n ( ’ i n t e r f a c e . j s o n ’ , l i n e s = True)d f = j s o n n o r m a l i z e ( d f . t o d i c t ( ’ r e c o r d s ’ ) )
VII. E
XEMPLARY D ATA ANALYSIS
Provoked failures cause different symptoms that can bedetected with the data analysis. Different failures may havesimilar symptoms depending on their type and therefore in-ferring the initial cause can require more complex analysis.In this section we present very basics of analysis and showthree types of symptoms related to five types of failures. Thesummary of failure-symptom correlation is presented in thetable II.Figure 4 presents two different plots that show some ofthe aforementioned symptoms. Figure 4a shows the situationwhere the filament feeding force dropped rapidly at time11:40. That symptom may suggest that the filament is over or there was severe mechanical problem - in this case the Bowdentube fallout. Figure 4b shows the tilt angle of the print headduring printing. Values different from 180 degrees are causedby the fact that the angle is calculated on the basis of theaccelerometer placed on the head, which is affected by theforce of gravity and acceleration resulting from the movementof the head during printing. At 11:00 a significant change inthe value of the graph can be observed on the chart indicatingmechanical damage to the printer. In this case, the arm fixingthe printing head in the delta system is damaged.The presented analysis is only an example of using data toanalyze the work of a 3D printer.S
UMMARY
The article presents the possibilities offered by the useof IoT devices in industry 4.0. Retrofitting machines withadditional sensors and devices analyzing their work in real-time can provide valuable information about their work.IoT devices such as those offered by
FogDevices Platform allow to simplify the process of adding sensors and analyzingdata on the edge, near the sensors without sending them to thecomputational clouds.The article presents data collected during the operation ofthe 3D printer, including typical errors. The collected datacan be used to develop advanced algorithms for detection andprediction of failures. D
ATA USAGE
The dataset is under Creative Commons Attribution 4.0International license. Please cite this paper if you use it.A
CKNOWLEDGMENT
The research presented in this paper was supported bythe National Centre for Research and Development (NCBiR)under Grant No. LIDER/15/0144/L-7/15/NCBR/2016.R
EFERENCES[1] G. Wu, Z. Shen, X. Shang, H. Wu, G. Xiong, and J. Yang, “3d printeroptical detection system based on dlp projection technology,” in , 2019, pp. 1040–1045.[2] Baumann, Felix and Roller, Dieter, “Vision based error detection for 3dprinting processes,”
MATEC Web of Conferences , vol. 59, p. 06003, 2016.[Online]. Available: https://doi.org/10.1051/matecconf/20165906003[3] C. Kim, D. Espalin, A. Cuaron, M. A. Perez, E. MacDonald, andR. B. Wicker, “A study to detect a material deposition status in fuseddeposition modeling technology,” in , 2015, pp. 779–783.[4] J. Windau and L. Itti, “Inertial machine monitoring system for automatedfailure detection,” in , 2018, pp. 93–98. ailure type symptoms brief explanation finish of plastic decrease of intrusionpower there is no more plastic to intrude
Bowden tube fallout there is no friction with the print - plasticdoesn’t reach printed model wrong retraction (0.5) printing base jolting too much plastic hooks on the next layers unsticking of the model printing head hooks on the rolled print arm failure printing head angle change detachment of arm causes head to tilt
TABLE II: Symptoms characteristic of the printing failures. (a) Tension values for the print with Bowden tube fallout.(b) Tilt angle values for the print with head arm detachment.(a) Tension values for the print with Bowden tube fallout.(b) Tilt angle values for the print with head arm detachment.