Gezgin robot seyruseferi için nokta bulutu kullanılarak engelden kaçınma
Obstacle avoidance using point cloud data for mobile robot navigation
Yazar: FETHİ AKEL
Danışman: DR. ÖĞR. ÜYESİ BURAK KALECİ
Eskişehir Osmangazi Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Bu tez çalışmasında bir yer robotunun üzerine yerleştirilen RGB-D kameradan elde
edilen nokta bulutu verisi kullanılarak robotun otonom seyrüseferi için engelden sakınma
yaklaşımı önerilmiştir. Her ne kadar engelden sakınma yaklaşımı üzerine odaklanılsa da
otonom seyrüsefer için gerekli olan küresel planlayıcı ve kontrolör kısımlarını da içeren bir
sistem geliştirilerek sunulmuştur. Bu sistemin engelden sakınma modülünde nokta bulutu
verisi kullanılmasına karar verilmiştir. Nokta bulutu verisinin en önemli dezantajı düzensiz
bir yapıda olması ve çok sayıda veri içermesidir. Bu durum, engellerin algılama süresini
önemli ölçüde arttırmaktadır.
Bu tez çalışmasında, nokta bulutunun bu olumsuz yönlerinin giderilmesi üzerine
odaklanılmıştır. Önerilen yöntem ön işleme, algılama ve planlama adımlarından
oluşmaktadır. Ön işleme adımında, nokta bulutu 8-li ağaç yapısı ile düzenli hale getirilmiş
ve aynı zamanda veri azaltımı yapılmıştır. Ayrıca, sadece dolu voksel merkezleri
kullanılarak ikinci bir veri azaltımı daha gerçekleştirilmiştir. Algılama adımında kural
tabanlı bir yaklaşım geliştirilmiştir. Bu yaklaşım dolu voksel merkezlerini göz önüne alarak
olası bütün durumları ve bu durumlarda robotun nasıl hareket etmesi gerektiğini
belirlemektedir. Planlama adımı engelden sakınma planını Bezier eğrisi ya da ara nokta
kullanarak üretmektedir. Önerilen yöntem iteratif bir yapıda oluşturulduğu için konkav ve
konveks gibi karmaşık engellerden de sakınabilmektedir.
Önerilen yöntem, C++ programlama dilinde gerçeklenmiş ve Robot Operating
System (ROS) kullanılarak Gazebo benzetim ortamında Pioneer3 - AT yer robotu ile test
edilmiştir. Algılama adımında tasarlanan durumların test edildiği senaryoların yanı sıra
konkav ve konveks engellerin olduğu senaryolarda da robot başarılı bir şekilde engelden
sakınabilmiştir. Bu durumlarda robotun engelden sakınması için gereken süreler ve
OctoMap ile karşılaştırmalarda yapılarak sonuçları paylaşılmıştır.

Abstract:
In this thesis, an obstacle avoidance approach has been proposed for autonomous
navigation of the robot using point cloud data obtained from the RGB-D camera placed on a
ground robot. While focusing on the obstacle avoidance approach, the system has been
developed, including the global planner and controller parts required for autonomous
navigation. It was decided to use point cloud data in the collision avoidance module of the
system. The major disadvantage of point cloud data is that it is unorganized and contains
numerous points. This increases the detection time of obstacles significantly.
This thesis focuses on eliminating these negative aspects of the point cloud. The
proposed method consists of preprocessing, detection, and planning steps. In the
preprocessing step, the point cloud is arranged in an octree structure while data reduction is
performed. Also, a second data reduction was achieved using only occupied voxel centers.
In the perception step, the rule-based approach has been developed. This approach
determines all possible situations and how the robot should act in these situations
considering the occupied voxel centers. The planning step generates an obstacle avoidance
plan using the Bezier curve or intermediate point. Since the proposed method is created in
an iterative structure, it can avoid complex obstacles such as convex and concave.
The proposed method is implemented in C++ programming language and tested
with Pioneer3 - AT ground robot in Gazebo simulation environment using Robot Operating
System (ROS). The robot can successfully avoid obstacles in concave and convex scenarios
in addition to scenarios where the designed situations are tested in the perception step. In
these cases, the time required for the robot to avoid obstacles and comparisons with
OctoMap were shared.