It's been a while since I posted my last project, so I decided to share a new job in a nutshell. If anyone is interested, I can add more details.
I do not know if this project can be considered a robot because it does not move alone currently but when I started working on it it certainly was and in the future I hope to re-develop it.
Well, going straight to the point, the idea was to create a standalone vehicle capable of navigating the tracks of a railroad collecting measurements of the wear of these rails. Rail wear is one of the main factors causing railway accidents and it is imperative that the road undergoes predictive maintenance to avoid major problems.
I designed and built a structure using PVC pipes, this structure is prepared to receive engines in the future, but due to financial problems I could not make the vehicle standalone. The operator of the equipment can push the vehicle through the rails, however, while it performs the analysis.
An Arduino Nano-controlled circuit was designed where the operator programmed, via an Android application that I developed, a distance to be inspected on the railroad. A rotary encoder informs the circuit the distance traveled by the operator, while the operator performs the analysis of the section programmed via bluetooth.
To evaluate the wear, I opted for the method of digital image processing. A laser beam highlights the rail profile, and the equipment photographs this profile marked in the course of the section programmed by the operator, using an Adafruit camera module, generating an image bank.
I have developed an algorithm in MatLab to segment this demarcated profile by isolating the coordinates of the contour pixels and interpolating them by a polynomial function of degree 8. Comparing the profile obtained in each image of the rail with a profile of a rail without wear, it is possible to know how much linear loss the rail has suffered. After the analysis of the section is completed, the operator then download the images and performs the post-processing of the bank, generating a curve of the wear of the traversed section.
The idea now is to continue working on the vehicle. I intend to add engines so that it can travel the track alone when programmed by the operator and also automate the processing of the bank so that, at the end of the capture of the image bank, the vehicle itself performs the processing and manages an inspection report. In addition, I intend to add GPS information to georeference the acquired data and guide the maintenance of the route in the best possible way.
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/rwst-rail-wear-surveillance-trolley