Date of Graduation


Document Type


Degree Name

Bachelor of Science in Mechanical Engineering

Degree Level



Mechanical Engineering


Jensen, David

Committee Member/Reader

Sha, Zhenghui

Committee Member/Second Reader

Roe, Larry


Fault diagnosis can prolong the life of machines if potential sources of failure are discovered and corrected before they occur. Supervised machine learning, or the use of training data to enable machines to discover these faults on their own, makes failure prevention much easier. The focus of this thesis is to investigate the feasibility of creating datasets of various faults at both the component and system level for a servomotor and a compatible robotic arm, such that this data can be used in machine learning algorithms for fault diagnosis. The faults induced at the component level in different servomotors include: low lubrication, no lubrication, two gears chipped, and four gears chipped. Each fault was also examined at 180, 135, 90, and 45-degree swings of the servo arm. Component level data was obtained using an Arduino microcontroller and a feedback wire in each servomotor to obtain the actual position of the servo arm, which allowed for the calculation of the difference in actual and theoretical position and the speed of the servo arm at the various faults. System level data was obtained using OptiTrack’s motion tracking software, Motive, to track the position of two reflective markers on the hand of the robotic arm. At the component level, the low lubrication and no lubrication faults did not exhibit a large difference from the normal servomotor, whereas the servomotors with the gears chipped exhibited significant differences when compared to the normal servomotor. When evaluating the difference in position and speed of the servo arm at larger degree sweeps it was more evident that failure occurred, as opposed to the data at smaller degree sweeps. At the system level, the error was not as visible in the data as there wasn’t much distinction between the speeds of the robotic arm’s hand when the servomotors with faults were placed in it. The results of this work indicate that servomotors can be used to create fault behavior datasets at the component and system level that are usable for machine learning.


Servomotor, Baseline Data, Machine Learning, Fault Diagnosis, Failure, Robotic Arm (15211 kB)