UR5 işbirlikçi robotla farklı geometrik şekillere sahip nesnelerin sınıflandırılması
Classifying components with different geometric shapes by UR5 cobot
Yazar: AHMET ARAS AL
Danışman: DR. ÖĞR. ÜYESİ ŞÖLEN KUMBAY YILDIZ
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı / Elektrik Elektronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Günümüzde makine öğrenmesi, literatürdeki yapay zekâyla ilgili çalışmaların büyük bir alt kümesini oluşturmaktadır. Derin öğrenme teknikleri ise, evrişimli sinir ağlarının kullanıldığı, özelleştirilmiş bir makine öğrenmesi tekniğidir. Derin öğrenme tekniklerinde, nesne tanıma ve sınıflandırma problemlerinde, eğitim için kullanılan veri setinden istenilen özelliklerin kullanıcı tarafından elle çıkartılmasına gerek kalmamaktadır. Derin öğrenme ile görüntü işleme tekniklerinde, sinir ağları üzerinden, eğitim verisi işlenerek, sınıflandırma için gerekli özelliklerin otomatik olarak çıkarılması avantajına sahiptir. 

Bu tez kapsamında, bir üretim bandından teker teker ve rastgele bir düzenle gelmekte olan vida, pul ve somun gibi farklı geometrik özelliklerdeki malzemelerin sınıflandırılması için, derin öğrenme tekniklerini kullanarak malzemenin ne olduğunu tespit eden MATLAB tabanlı bir nesne tanıma yazılımı hazırlanmıştır. Hazırlanan yazılımda kullanılacak nesne tanıma algoritmasına karar vermek için, literatürde derin öğrenmeyle nesne tanıma problemlerinde yaygın olarak kullanılan, Alexnet, Googlenet ve Squeezenet algoritmalarının, tez çalışmasında kullanılacak vida, pul ve somunları tanıma ve sınıflandırma başarımları incelenmiştir. Her bir algoritmanın, kendi kütüphanesinde bulunan nesneler yerine, tez çalışmasının konusu olan vida, pul ve somunları tanıyıp sınıflandırabilmesi için, bu nesnelerin fotoğraflarından oluşan ortak bir veri seti hazırlanmıştır ve her bir algoritma, bu veri seti kullanılarak aktarım öğrenme yöntemiyle eğitilmiştir. Eğitilen algoritmaların başarımları; öncelikle veri setinin test için ayrılan fotoğraflarıyla yazılım ortamında test edilmiş, devamında USB tabanlı bir web kamerası kullanılarak, donanım ortamında kıyaslama testi yapılmıştır.  Yazılım ve donanım ortamında gerçekleştirilen testler sonrasında, tezin konusu olan nesne sınıflandırma problemi için en uygun algoritmanın Squeezenet algoritması olduğu görülmüştür. 

Squeezenet algoritması kullanılarak hazırlanan nesne tanıma yazılımı, her bir tahmin durumu için, UR5 işbirlikçi robota TCP/IP üzerinden farklı bir mesaj göndererek haberleşmektedir. Robotun yapacağı hareketleri kontrol etmek amacıyla, UR5 robotun kendi multimedya arayüzü üzerinden, Polyscope programlama arabirimiyle robot kontrol yazılımı hazırlanmıştır. Robot kontrol yazılımı, TCP/IP üzerinden belirli bir portu sürekli olarak dinleyerek, MATLAB tabanlı nesne tanıma yazılımının çıktısı olan tahmine göre iletilen mesajları almakta ve gelen mesaja göre robot kol harekete geçerek malzemeyi alıp her malzemeyi ait olduğu kutulara atarak sınıflandırma işlemini gerçekleştirmektedir. Tezin çalışma konusu olan vida, pul ve somunların mıknatıslanma özelliği bulunduğu için robot kolun uç işlevcisi olarak gerilim kontrollü bir elektromıknatıs kullanılmıştır. Polyscope tabanlı robot kontrol yazılımında her bir malzeme için robot kolun yapması gereken işlemlere dair farklı senaryolar oluşturulmuştur. Son olarak oluşturulan sistemin başarımı test edilmiş ve sistemin tüm yazılım ve donanımlarıyla birlikte yüksek başarımla çalıştığı görülmüştür.

Abstract:
Machine learning is a major subset of artificial intelligence studies in the literature. Deep learning is also a specialized machine learning technique which includes convolutional neural networks. In deep learning techniques, it is not necessary to manually extract features from the training dataset for object recognition and classification problems. Image processing with deep learning techniques has a significant advantage of extracting the necessary features automatically for classification, by processing the training dataset through neural networks.

 In this thesis,  a MATLAB based object recognition program is created using deep learning techniques to recognise and classify components with different geometric shapes, more specifically screws, washers and nuts, which are fed to the experiment setup randomly and one by one from an assembly line. The performances of Alexnet, Googlenet and Squeezenet algorithms, which have been widely used in the literature for image recognition problems, are investigated, in order to decide which object recognition algorithm can be used in the software part of the thesis. A common data set, which consists of the photos of the objects, is prepared for recognising and classifying screws, washers and nuts. Instead of the objects that already present in the library of each algorithm, each algorithm is trained by this data set with the transfer learning method. The performance of trained algorithms are initially tested on a software medium with the photos of data set reserved as test data. Afterwards a benchmark test is carried out on the actual hardware with an USB webcam for those algorithms. The tests performed on both software and hardware revealed that the Squeezenet algorithm achieved the highest performance.
 
The object recognition program with the Squeezenet algorithm performs communication with UR5 collaborative robot (cobot) through TCP/IP by sending a unique message for each prediction case. A robot control program is designed with Polyscope programming language which exists on robot's teach pendant to control the robot's movements. The robot control program receives the prediction output of a MATLAB based object recognition program by continuously listening to a specific port over TCP/IP and completes the classification process by moving the robot arm according to received message to pick up the component and put it into the relevant box. A voltage controlled electromagnet is used as an end effector for the robot arm since the screws, washers and nuts used in this thesis study have ferromagnetic characteristics. Different scenarios are prepared on the Polyscope based robot control program to perform the necessary tasks of the robot arm for each component. Finally, the performance of the overall system is put to test and both the hardware and the software parts are observed to be operating successfully.