ROS tabanlı mobil robotun yapımı ve yönetimi
Construction and management of ROS based mobile robot
Yazar: MELİH KORKMAZ
Danışman: DOÇ. DR. İZZET FATİH ŞENTÜRK
Bursa Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Akıllı Sistemler Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
ROS (Robot Operating System, Robot İşletim Sistemi) oluşturduğu standartta
robotları kontrol etmeyi sağlayan, robotu çevresel bileşenlerle haberleştiren yayıncıdinleyici
mesajlaşma modeline sahip açık kaynak kodlu bir yazılım geliştirme kitidir.
Gün geçtikçe desteklediği ürün, paket ve proje sayısı artan ROS, simülasyon araçları
ile dilden bağımsız ve modüler bir yapıya sahip olduğundan robot dünyasında standart
konumunu almaktadır.
Bu çalışmada ROS tabanlı AMR (Autonomous Mobile Robot, Otonom Mobil Robot)
tüm mekanik, elektronik ve yazılım kısımları ile beraber yapılmıştır. Simülasyon ve
gerçek ortamda robot çalıştırılmış ve geliştirilen sistemler ile robot yönetilmiştir.
Simülasyon araçları olarak ROS'un sağlamış olduğu Gazebo, RViz ve RQt
kullanılmıştır. Tasarımı 3 boyutlu tasarım programında yapılan robot, simülasyon
ortamına aktarılarak Gazebo'da oluşturulan gerçekçi bir dünya ile simüle edilmiş,
RViz üstünden robotun ve fonksiyonların çıktıları gözlemlenmiş ve RQt üzerindeki
birçok araç kullanılarak robotun hassas ayarları yapılmış ve sistemdeki veriler
gözlemlenmiştir.
SLAM (Simultaneous Localization and Mapping, Eşzamanlı Konumlama ve
Haritalama) fonksiyonu sayesinde LIDAR (Laser Imaging Detection and Ranging,
Lazerli Görüntüleme, Algılama ve Aralık Ölçümü) verisi ile birlikte robotun hiç
bilmediği bir alanı haritalaması sağlanır. Sanal kumanda ile manuel sürülerek
çıkartılan harita ile birlikte ROS'un sağlamış olduğu paketler kullanılarak robot doğal
navigasyon sayesinde ortamda hiçbir belirteç olmadan robot konumlama işlemini
yapabilmektedir. Sabit ve hareketli engelleri de dikkate alarak dinamik, güvenli ve
maliyeti en düşük yol planlamasını çıkartıp hedefe ulaşması AMR'leri ön plana
çıkarmaktadır. SLAM ve navigasyon fonksiyonunun parametreleri optimize edilerek
robot üzerinde çalışmaya hazır hale getirilmiştir.
Robotun içerisinde geliştirilen web-socket haberleşme protokolü tabanlı arkayüz
yazılımı ile robotun dış kaynaklardan yönetilmesi ve izlenmesine olanak sağlanmıştır.
Bu imkan ile robot merkezi/akıllı sistemler ile haberleşip süreçlere entegre olabilir.
Geliştirilen görev yönetim sistemi ile birlikte robotun otonomi kabiliyeti arttırılmış ve
çevre birimler ile birlikte çalışmasına olanak sağlanmıştır. Geliştirilen dinamik
konum/hedef sistemi ile birlikte robotun alacağı görevler hızlıca revize edilebilir.
İnsan robot etkileşimi hedeflenerek geliştirilen kullanıcı dostu ön arayüz, robot ile
web-socket üzerinden haberleşmektedir. Harita fonksiyonunu çalıştırma ve harita
kaydetme, daha önceden çıkartılmış haritalar ile navigasyon fonksiyonunu çalıştırma,konum/hedef kaydetme ve robota görev atama ve yönetme işlemleri arayüz üzerinden
yapılabilmektedir. Robotun anlık olarak birçok verisi de arayüz üzerinden takip
edilebilmektedir. Ek olarak geliştirilen web tabanlı sanal kumanda ile robot manuel
olarak sürülebilmektedir.
Geliştirilebilecek merkezi/akıllı yönetim sistemleri ile birlikte robotlar birbirleri ile ve
binalardaki kapı, asansör sistemleri ile haberleşebilir. Endüstri 4.0 altında makineler
ile haberleşip üretim süreçlerine dahil olabilir. Birden çok robot olduğunda ise filo
kontrol sistemleri geliştirilerek robotların trafik kontrolü yapılabilir. Veri izleme ve
raporlama sistemleri ile takip, bakım, arıza ve verimlilik analizleri yapılabilir.

Abstract:
ROS (Robot Operating System) is an open source software development kit with a
publish- subscribe messaging model that enables to control robots and communicates
the robot with environmental components in its created standard. ROS, which
increases the number of products, packages and projects it supports day by day, takes
its standard position in the robot world as it has a language-independent and modular
structure with simulation tools.
In this study, ROS-based AMR (Autonomous Mobile Robot) has been performed
together with all its mechanical, electronic, and software parts. The robot has been
operated in the simulation and real environment, and the robot has been managed by
the developed systems.
Gazebo, Rviz and rqt provided by ROS have been utilized as simulation tools. The
robot, the design of which was made in the 3D design program, has been transferred
to the simulation environment and simulated with a realistic world created in the
Gazebo, the outputs of the robot and its functions have been observed through Rviz,
the precise settings of the robot have been implemented using many tools at rqt, and
the data in the system have been observed.
With the help of the SLAM (Simultaneous Localization and Mapping) function, the
robot is enabled to map an area, it has never known, together with the lidar (Laser
Imaging Detection and Ranging) data. By using the packages provided by ROS
together with the prepared map by manual driving with a virtual joystick, the robot is
able to perform robot positioning without any markers in the environment thanks to
natural navigation. Dynamic, safe, and cost-effective road planning and reaching the
target by taking into account fixed and moving obstacles bring AMRs to the forefront.
The parameters of the SLAM and navigation function have been optimized and made
ready to work on the robot.
With the backend based on the web-socket communication protocol developed inside
the robot, it is possible to manage and monitor the robot from external sources. With
this possibility, the robot can communicate with the central/intelligent systems and
integrate them into the processes. With the developed task management system, the
robot's autonomy capability has been increased and it has been enabled to work
together with peripheral units. The tasks to be taken by the robot can be revised quickly
with the developed dynamic position/target system. In addition, the robot can be driven
manually with the web-based virtual joystick developed.
With the help of central/intelligent management systems that can be developed, robots
can communicate with each other and with the doors and elevator systems in the buildings. It can communicate with machines and participate in production processes
under Industry 4.0. When there are multiple robots, traffic control of robots can be
performed by developing fleet control systems. With data monitoring and reporting
systems, follow-up, maintenance, fault, and efficiency analyzes can be performed.