
Ros için workspace oluşturuldu.
Mobil robota ait XACRO dosyası incelenmiştir.
Gazebo kapalı ve açık ortamlarda robotların test edilebildiği açık kaynak kodlu bir benzetim programıdır. Robotun fiziksel özelliklerini, boyutunu ve görünüşünü gerçek dünyaya çok yakın benzerlikte simüle etme özelliğine sahiptir.
Temelde istemci(gzclient) sunucu(gzserver) modeli ile çalışmaktadır. Örneğin robotun hareket ederken fiziksel işlemlerin gerçekleşmesi gerekir. Bunu sunucu sağlarken istemci ise geliştiricinin müdahalesini ve benzetim ortamında bu hareketin görsel olarak sunulmasını sağlamaktadır.
Kendi robotumuzu tasarladığımızda bu robotu test etme fırsatı tanımaktadır. Robota dair CONFİG ve SDF formatındaki dosyaları oluşturarak fiziksel değişkenler belirlenir. Bu dosyalar XML dili ile yazılmıştır. Robotun fiziki görünüşü ile alakalı eklemeler, hareket kısıtları, sınırları ve boyutları ise SDF, URDF ve XACRO formatındaki dosyalar oluşturarak gerçekleştirilir. Solidworks gibi üç boyutlu çizim ortamlarında geliştirilen katı ve hareketli bileşenlere sahip modeller bu dosyalar vasıtasıyla benzetim ortamında çalıştırılabilir.
Bir Modelin Bileşenleri
Bir model aşağıdaki bileşenlerde oluşur.
Link : Gazebo’da oluşturulacak modelin fiziksel özelliklerini, sınırlarını ve konum bilgilerini içerisinde barındırır. Visual ve Collision ögelerini içermektedir.
Collision : Katı modelin çarpışma kontrolünün sağlanması için bir sınırlarını belirleyen yapıdır.
Visual : Link içerisinde kullanılır. Modelin fiziksel özelliklerini tanımlayarak görselleşmesini sağlar. Her link’in fiziksel bir yapıda olması yani bir visual içermesi olması gerekmez.
Inertial : Link modelinin ağırlık, atalet matrisi gibi özelliklerini içerir.
Sensor : Plugin ögesi için veri toplar.
Joint : Parent ve child modeli kullanılarak iki link’in birbirine bağlanması sağlanır.
Plugin : Gazebo’da robot modelini hareket ettirmek için üçüncü parti olarak geliştirilmiş kütüphaneler kullanılır. Eklentinin kurulmasını sağlar.
Mobil robota IMU sensörü eklenmiştir.
IMU algılayıcısı sabitlendiği yapının üç boyutlu yönelimini hesaplamaktadır. Bu yönelimin radyan cinsinden paylaşılması sağlanır. Havacılıkta kabul görerek üç boyutlu yönelimde kullanımına başlana “Yaw, Pitch, Roll” açıları bulunur.
IMU içerisinde temel olarak ivmeölçer ve gyro olmak üzere iki alt sistem kullanılır. Bu alt sistemler ile açı değerleri ve 3 eksendeki açısal hız tespit edilir. Yapının hareketi esnasında titreşim sebebiyle algılayıcı verilerinde gürültü oluşabilir. Yön belirlemede yaygın olarak kullanılan bir sistemdir.
Mobil robota GPS sensörü eklenmiştir.
GPS (Global Positioning System; Küresel Konumlama Sistemi), açık havada görüşün sağlandığı ortamlarda yer ve zaman bilgilerini hesaplayan uzay tabanlı navigasyon sistemidir. Uzay ortamında belirli bir haberleşme protokolü ile yeryüzüne bilgi yollayan uydular mevcuttur. Bu uyduların sayısının artması GPS kullanan sistemleri daha kullanışlı yapar. GPS sistemi kendisine bilgi yollayan uyduların arasındaki mesafeyi kullanarak yeryüzündeki konumu ve saati hesaplamaktadır
Mobil robota Laser/Lidar sensörü eklenmiştir.
Lidar mesafe algılamada yaygın olarak kullanılan bir sistemdir. 360 derecenin tamamı taranmak istendiğinde kullanılabilir. Bir baştan diğer başa doğru kızıl ötesi ışık ile tarama yaparak çalışır. Gönderdiği ışınların yansıması ile oluşan zaman farkını kullanmaktadır. Topografik ve batimetrik olmak üzere iki çeşidi vardır. Geniş alanlarda uygulama menzilinin uzun olması sebebiyle ön plana çıkmaktadır.
Bu derste .dae dosyasının nasıl kullanılacağı gösterilmiştir. Araç üzerine bir gövde eklenmiştir.
Akerman sürüş kabiliyetine sahip mobil robotun hareket etmesi için kurulması gerek paketler indirildi.
Akerman Prensibi’ne akerman direksiyon sistemi, akerman açısı ya da akerman ön düzen geometrisi de denilebilir. Akerman direksiyon sisteminde iç teker dış tekere göre daha fazla açıya sahiptir. Akerman sürüşe sahip robotlarda dönme eylemi bir merkez etrafında yapılmaktadır. Sağlıklı bir manevranın yapılması için dönme hareketini tekerlere ileten mil uzantılarının dönme merkezinden geçmelidir. Bu nedenle tekerlerin dönme eylemi gerçekleştirilirken farklı açı değerlerine sahip olması gerekir. İyi bir sürüş için tüm gereklilikleri akerman prensibi gerçekleştirmektedir.
2D lidar kullanarak 360 derece mesafede tarama yapılmaktadır. Lidar aracın tavanında dış yüzeyde konumlandırılmıştır.
7.5 derece aralıklarla 360 derecenin tamamı sürekli olarak taranır. Eğer bir aralıkta engel var ise engelin en yakın noktasının uzaklığı alınarak bir diziye eklenir. Bu dizi engellerin uzaklığını barındırmaktadır.
Uzaklığı bilinen engellerin konumlarının bulunması için hesapla() adında bir fonksiyon kullanılmıştır. Bu fonksiyon trigonometrik hesaplar yaparak engelin konumunu bulur ve “location” konusu ile paylaşır.
Engel konumu hesaplanırken aracın hareket etmesi, konumunu ve yönünü değiştirmesi dikkate alınmıştır. Engel konumu başta sürekli olarak alınır ancak RRT algoritması çalışmaya başladığında durdurulur. RRT ile ağaç oluşturma işlemi tamamlandığında paylaşılan boolean ifade ile tekrar algılama işlemi başlar. Engellerin konumları koordinat düzleminin dört bölgesinde de belirlenmektedir. Konumu belirlenen engellerin RRT algoritması ile paylaşılması sağlanmıştır.
Mobil robotun hedefe ulaşması için yol planına sahip olması gerekmektedir. RRT algoritması ile yol planı üretilerek ilgili konu ile paylaşılır. RRT ağaç oluştururken aracın konumunu referans almaktadır. Ardından rastgele noktalar ile ağaç oluşturulur. Düğümlerin engeller ile çakışmaması gerekmemektedir. Bu sebeple engel konumları dizisi kullanılarak bir düğümün engel ile çakışma durumu belirlenmektedir.
1. İlk olarak başlangıç konfigürasyonu olarak ağacın kökü belirlenir
2. Konfigürasyon uzayında rastgele bir alan seçilir.
3. Seçilen alana ağaçtaki en yakın düğüm bulunur
4. Mümkünse ağaç seçilen alana doğru genişletilir. Bu genişleme esnasında engeller dikkate alınır.
Mobil robotun global yol planınını kullanrarak hareket etmesi için kontrol algortiması geliştirildi.
NOT: İndirim linkleri için "salihspace" blog sayfamı ziyaret edebilir veya mesaj gönderebilirsiniz. İyi Çalışmalar!
Bu kursta akerman sürüşe sahip mobil robotun tasarımı ROS kullanılarak gerçekleştirilmiştir. Mobil robotun hareket kabiliyetlerinin test edilmesi için Gazebo ortamında benzetim yapılmıştır. Gazebo, robotik sistemler için geliştirilen algoritmaların test edilmesine olanak sağlamaktadır.
Otonom hareket kabiliyeti mobil robota çok yönlü hareket sağlamaktadır. Bu sayede planlama, haritalama, otonom sürüş, servis hizmetleri, ürün taşımacılığı vb. alanlarda kullanılabilmektedir.
Mobil robotlarda bir konumdan diğerine gitmek için yapılacak hareket planlama görevi beraberinde birçok sorunu getirir. Mobil robotun çevresini algılaması, algıladığı ortamı keşfetmesi, başka bir konuma gitmek için hareket yörüngesini oluşturması ve oluşan yol planını emniyetli bir şekilde takip etmesi bu sorunlara örnek sayılabilir. Hareket planlama, robotun başlangıç konumu ile hedef konumunu birbirine geometrik olarak bağlayan, kabul edilebilir bir güvenlik düzeyinde planlanmış yörüngelerin hesaplanmasıdır. Kinematik ve dinamik kısıtlara bağlı olan hareket planlama teknikleri zengin bir literatüre sahiptir.
Verilerin elde edilmesi için algılayıcı alternatifleri bulunmaktadır. Ayrıca özgün robotik platformların kullanıldığı projelerde hareket planının yapılması için özel navigasyon metotlarının geliştirilmesi gerekir. 2D Lidar, IMU ve GPS sensörleri bu kursta mobil robot üzerine eklenerek verileri kullanılmıştır. Python ile geliştirme yapılmıştır.
Harita bilgisinin kullanılmadığı ortamda, fiziksel engellerin yer değiştirmesi ve yol planının engellerin yakınından geçmesi muhtemeldir. Burada mobil robotun bir engele sürtme veya çarpma durumunun oluşmaması için gerçek zamanlı olarak plan yapması tasarlanmıştır.
Kursun son kısmında hazır pakerler ve ros navigasyon yığınına değinilerek kısaca NAV2 anlatılmıştır.