Günümüzde, otonom robot sayısı çarpıcı bir şekilde artmakta, bu robotların uygulama alanları ise, insan yaşamının büyük bir bölümüne hakim olmaktadır. Eskiden, daha çok üretim tesisleri, tarım tesisleri gibi endüstriyel alanlarda faaliyet gösteren robotlar, teknolojilerinin daha ucuz ve erişilebilir hale gelmesi ile faaliyet alanını genişleterek servis sektöründe de yer edinmeye başlamıştır. Ticari şirketler ve akademik araştırmacılar buna seyirci kalmayıp, dikkatlerini bu konuya yönlendirmişlerdir. Bu konudaki gelişmeler şu an için en hızlı şekilde ilermemesine rağmen, önümüzdeki süreçte otonom robotlar geleceğimizin önemli parçasını oluşturacaktır.
Servis robotları otonom robotların bir çeşidi olarak ön plana çıkar. Genellikle, zorlu şartlarda çalışarak veya sürekli tekrarlanabilir işleri gerçekleştirerek, insanlara yardımcı olan otonom robot çeşididir. Kütüphane görevleri, tekrarlanabilir görevlere oldukça uyan bir örnektir. Her gün İTÜ Gümüşsuyu Kütüphanesi'nde yüzlerce öğrenci ve onlarca öğretmen kitap alış-verişinde bulunmaktadır. Bu bağlamda her kullanıcı, kitabın kütüphanedeki kodunu öğrenmek için kütüphanenin sitesine girmesi, buradan kodu öğrendikten sonra, o kodu kapsayan rafı bulup, kitabını raf üzerinde araması gerekmektedir. Tasarlanan robot ile bu süreç, otonom hale getirilerek, hem kullanıcının konforlu bir şekilde kitap alımını gerçekleştirmesi, hem de zamandan tassarruf etmesi amaçlanmıştır. Buna ek olarak, insan faktörü ortadan kaldırılarak, kitapların yanlış rafa konulması önlenecektir.
Tasarlanan robot iki ana bölümde incelenmiştir. Bunlar, sistemin farklı pozisyonlara hareketini sağlayacak olan mobil platform ve kitap saptaması ve alımını gerçekleştirecek olan robot kol bölümleridir. Tezde ana bölümler hakkında detaylı şekilde litaratür araştırması yapılmış ve ikinci bölümde araştırma sonuçları açıklanmıştır. Bu şekilde, robotun yapım aşamasındaki yaklaşımlarının izahı amaçlanmıştır. Sonraki bölümlerde yapılan seçimlerin temelini oluşturan bu bölümde, çeşitli mobil platform örnekleri ve çeşitli robot kol örnekleri incelenmiştir.
Mekatronik sistemin tasarımı öncesinde problemin tanımı ve süreçlerinin belirlenmesi gerekmektedir. Problem tanımlandıktan sonra, istekler listesi oluşturularak, robotun hangi çerçevede çalışması gerektiği saptanmıştır. İstekler listesinde projede kesin olması gereken özelliklerin yanında, ilerideki hedeflere yönelik isteklere de yer verilmiştir. Tasarıma yönelik bütün kararlara ışık tutan istekler listesinin belirlenmesi sonrası, projenin ilerleyişine yol gösterecek olan, proje planlaması yapılmıştır. Verimliliği konusunda şüphe duyulmayan ve piyasada oldukça kullanılan Gantt Tablosu bu işlem için belirlenmiş ve projeye uyarlanmıştır. Bu tabloda, yatay barlar yardımı ile proje içindeki görevlerin ne kadar ilerlediği görselleştirilmiştir. Böylelikle projede yaşanan veya yaşanacak herhangi bir gecikme durumunda, ivedilikle müdahale edilebilecektir.
Robot kol tasarımı, taşınacak maksimum yükün yani kütüphanede bulunan en ağır kitabın ağırlığı hesaplanarak başlandı. Ardından, sırasıyla hassasiyet, kol menzili, kol kiriş uzunlukları ve kol hızı değerleri hesaplanarak tasarımdaki önemli değerler kesinleştirildi. Kol çeşidi olarak kartezyen kol tipi seçildi ve ihtiyaç fazlası olduğu düşünülerek, bu tip robottan bir eklem çıkarıldı. Böylelikle, 2 serbestlik dereceli ve prizmatik eklemlerden oluşan bir robotik manipülatör tasarlandı. Bahsi geçen seçimler sayesinde, robot kolun mekanik sağlamlığı, pozisyon hassasiyeti ve kolay kontrol edilebilmesi sağlandı. Tutucu kısmı için ise, 4 farklı mekaniğe sahip tutucu içerisinden, daha avantajlı görünen ve aynı zamanda geleneksel bir seçim olan iki parmaklı vida mekanizmalı tutucu tercih edildi.
Robotun diğer ana bölümü olan mobil platform, ikisi tahrikli, biri serbest (sarhoş), toplamda üç tekerlekten oluşan diferansiyel sürüş tekniğiyle tasarlanmıştır. Tekerlek yüzeyi için plastik tercih edilmiş, kütüphane zemini ile tekerlek arasında istenilen sürtünme kuvveti bu şekilde belirlenmiştir. Robotun çeşitli devrilme senaryoları ışığında minimum mobil platform ağırlığı bulunmuş ve malzeme tercihleri yapılmıştır. Son olarak sonlu elemanlar analizi uygulanarak, robotun dışardan gelen yüklere ve kendi kütlesinin oluşturduğu yüklere dayanıp dayanamayacağı araştırılmıştır.
Robotun elektronik donanımı dizüstü bilgisayar, Arduino Uno ve Arduino Mega'ya bağlanacaktır. Bilgisayar, robotun ana beyni olurken, Arduino Mega ile mobil platform motorları, Arduino Uno ile robot kol motorları sürülecektir. Sırasıyla motor, motor sürücüler, enkoderler, lazer sensörü ve güç kaynakları seçilmiştir.
Mekanik ve elektronik tasarımın ardından robotun modellemesine geçilmiştir. Tasarımda olduğu gibi robot iki partide incelenmiş, robot kolun ve mobil platformun modelleme ve kontrol algoritmaları ayrı olarak ele alınmıştır. Motor lineer ve açısal hız değerleri belirlendikten sonra, kinematik hesaplamalara geçilmiş, en son olarak motor kontrolü hesapları gerçekleştirilmiştir. Sağ ve sol motor kontrolünü gerçekleştirebilmesi için PD kontrolcü tasarlanmıştır. Robot kol modellemesi için Denavit Hartenberg tablosu kullanılmış ve buna bağlı olarak kinematik model çıkarılmıştır. Kolun kartezyen olması sebebiyle kontrolü kolaylıkla gerçekleştirilmiştir.
Robotun yazılım kısmında büyük ölçüde Linux tabanlı, açık kaynak kodlu, ROS paketlerinden yararlanılmıştır. Bu algoritmalardan "Hector SLAM" yardımı ile robotun çalıştırılacağı ortamın haritası çıkarılmış, "AMCL" ile robotun lazer tarayıcısından elde edilen bilgiler, enkoderlerden edilen bilgiler ile birleştirilerek robotun konumlandırması gerçekleştirilmiştir. "Move Base" paketi yardımıyla da robotun hedef pozisyona ulaşması ve bunu başarırken dinamik engellerden kaçabilmesi hedeflenmiştir. Bu pakette rota planması global ve lokal olmak üzere iki dalda incelenir. Global planlayıcı ana harita üzerinden hedefe olan rotayı çıkarmakla görevliyken, lokal planlayıcı merkezi robot olan küçük bir alan içerisinde rota hesaplaması yaparak engellerden kaçışı ve hız komutlarını döndürür. Bu paketlerin robota entegrasyonu ve birbiri içerisindeki haberleşmenin sağlanması ile robot otonom sürüşünü gerçekleştirmiştir.
Robotun başarması gereken diğer önemli görev ise doğru kitap tespitini yaparak, kitabı kullanıcıya teslim etmesidir. Bunun için OpenCV algoritmaları yardımıyla Python kodu oluşturulmuş ve kitap tespiti gerçekleştirilmiştir. Kütüphandeki bütün kitaplarda bulunan, LoC sınıflandırma sistemine ait etiketleri kamera yardımıyla kayıt eden bu kod, daha sonra görüntünün renklerini indirgeme, bulandırarak filtreleme, çizgi çekme gibi OpenCV algoritmalarıyla, kitap etiketlerini ayrı görüntü olarak kaydeder. Son olarak bu görüntüler Tesseract algoritmasıyla, sembollere çevrilir ve bu şekilde robotun doğru kitaba ulaşıp ulaşmadığı tespit edilir.
Tezin son bölümlerinde, robotun istenilen görevleri başarıyla gerçekleştirdiği deneysel sonuçlar yardımı ile ispatlanmış ve ileri aşamalarda robota eklenebilecek iyileştirmelerden bahsedilmiştir.
|
Nowadays, the number of autonomous robots are dramatically increasing whereas its application areas spread a diverse range in human life. At first, these robots started to assist people in industrial applications, such as production plants and agricultural fields. Since the technology behind autonomous robots become far more reachable, both expenses and information, commercial companies and academic researchers started to give some of their attention to service robots. These robots help humankind, by accomplishing a repetitive job, which in this case, book finding and returning.
In this thesis, a mobile autonomous library robot is presented for helping both library staff and students in the ITU Gümüşsuyu Library. Design of the library robot divided into two main parts. These are a mobile platform that performs the autonomous drive actions, including avoiding objects and a robotic arm that detects the correct book to be picked and bring it to the end-user. Both systems are designed according to requisition lists obtained at the very beginning of the thesis. Design, production and experiment processes are prosecuted, depending on project management decisions. The mobile platform is based on the differential drive system, thus two wheels are actuated, while the 3rd wheel is a ball caster. Actuated wheel rotations are measured via optical rotary encoders for calculating odometry. Calculations are acquired, with respect to manufactured robot dimensions, for instance, wheel diameter, the distance between wheel axes. This odometry information is assisted by data coming from sensor, which in our case is a 2D laser scanner with 5 meter 〖240〗^0 supported vision. Robotic manipulator has 2DOF cartesian design to provide mechanical stiffness, ease in controllability and location accuracy. Additionally, electronic hardware selection will be examined in terms of controllers, motors, motor drivers and power supplies.
Other sections of the thesis will explain, how the assembled robot will succeed the tasks, regarding control methods, software algorithms for the autonomous drive and Python code for book detecting. Control calculations are obtained, concerning kinematics and dynamics of both robotic arm and mobile platform. Most of the software algorithms used for the system are ROS packages. ROS offers various open-source material some of which are "AMCL", "Hector SLAM", "Move Base". After implementing software to the real robot, experiments are applied to the compact system. Results satisfied the requirements, obtained before the thesis. |