Bu sayfada, Google Dokümanlar Sezonu için kabul edilen bir teknik yazım projesinin ayrıntıları yer almaktadır.
Proje özeti
- Açık kaynak kuruluşu:
- Webotlar
- Teknik yazar:
- Soft illusion Kanalı
- Projenin adı:
- Webots için video eğiticileri serisi (ROS2 ile entegrasyon)
- Proje süresi:
- Standart uzunluk (3 ay)
Proje açıklaması
Öğrendiklerimiz:
Bu eğitim videosu serisi, yeni kullanıcıların Webots'u kullanmaya en iyi şekilde başlamasını sağlar ve izleyicilere belirli simülasyonları gerçekleştirmek için adım adım açık çözümler sunar.
Hedef:
Bu serinin sonunda izleyiciler temel ROS2 düğümleri oluşturabilecek, Webots ile etkileşim kurabilecek ve mobil robotlarda ileri düzey projeler üzerinde çalışma konusunda güven kazanabilecek. Bu video serisinde, robotik alanındaki çeşitli önemli kavramlar için iyi teorik açıklamalar da yer alıyor.
Video dizisi ayrıntıları:
ROS 2'yi yükleme ve Visual Studio Code'ta depo oluşturma. Buna ROS2'nin komuta dayalı kurulumu ve çalışma şekliyle ilgili temel bilgiler dahildir. İkinci olarak, VS Code'ta ROS çalışma alanının ayarlanması ve VS Code'taki temel sekmelerin işlevselliği de bu eğitime dahildir.
Temel ROS2 ve Webots örneği. İzleyicileri, simülasyon için Webots ile ROS2'yi kullanırsak neler yapılabileceğini anlamaya teşvik etmek amacıyla Webots ROS2'ye ait bazı örnekler kullanılacaktır. Bu, ROS2 ile Webots arasındaki temel iletişim teorilerini de kapsar.
Webots ile etkileşim kurmak için ROS2 hizmetlerini kullanma. ROS ve ROS2'deki hizmetler arasındaki farkı açıklayarak ROS hizmetinin temellerini öğretme. İkinci olarak, hizmetleri çağırma ve okumalar için sensör konusunu, hareket için de aktüatörleri etkinleştirmeyle ilgili adım adım eğitici içerikler gösterilir.
Özel robotu ROS2 Yayıncısı ile kontrol edin. ROS2 yayıncılarını kullanarak Webots'a nasıl mesaj yayınlayacağınızı öğrenin. Klavye çıkışını bir konuya yayınlayarak robot hareketini kontrol etme örneğini uygulayabiliriz. Bu konu daha sonra Webots'ta hareket için ROS hizmetleri tarafından kullanılabilir.
ROS2 Abone ile robottan geri bildirim alın. Bu videoda, mesafe sensörlerinin sensör okumalarına abone olacak ve çarpışmak üzereyse robotu durduracağız. Temelde bu, yayınlanan etkileşimli mesajların olduğu bir engelden kaçınma düğümü olacaktır.
ROS2 ile ana(yayıncı) ve köle(abone) robotlar. Bu videoda, bir robotu klavyeyle kontrol edip başka bir robotu manuel robottan kaçmasını sağlayacağız. Hırsız ve Polisler senaryosuna benzer :) [Bu, 3,4,5 videoların devamı olacak]. Bu sayede izleyiciler iletişimi test edebilir ve ROS'ta bir sorun varsa simülasyonda kusurları görebilir.
Rviz ayarlanıyor (Farklı sensör çıkışı gösteriliyor. Bu videoda birkaç sensör daha ekleyip bunların verilerini Rviz'de yayınlayacağız. Bu videonun sonunda izleyici, Rviz'i kurabilir (ör.görselleştirme için Lidar, kamera gibi sensörler ekleyerek), yapılandırmayı kaydedebilir ve daha sonra kaydedilen yapılandırmayı oluşturabilir.
Hata ayıklama videosu (Rostopic echo, Rostopic bilgisi, RQT_graph). Bu videoda, hata ayıklama tekniğini anlamanıza yardımcı olmak için birkaç konuda kasıtlı olarak yanlış işlevler gösterilmektedir. RQT grafiğini görüntüleyerek sorundan hangi konuların sorumlu olduğunu öğreneceğiz. Konunun yayınlanıp yayınlanmadığını kontrol etmek için rostopic echo'yu kullanın ve sonunda sorunumuzu öğrenmek için rostopic info'yu kontrol edin. Sorunu çözün ve normal bir şekilde çalışmaya başlayın.
Hata ayıklama videosu(rqt_console, rqt_gui) Bu videoda, düğümde Ros mesajları(bilgi, hata ayıklama, hata vb.) kullanılacak ve rqt_console'un kullanımı incelenecektir. Bu video, gerekli işlevi elde etmek için rqt_gui'yi kullanarak sahte mesajlar yayınlayacak şekilde de genişletilecektir. Bu, bazı hataları düzeltmek için alternatif bir yaklaşım olabilir.
İleri seviye konu videoları: SLAM kitaplığının bilinmeyen bir ortama entegrasyonu (SLAM araç kutusu veya LaMa) [1. Bölüm] Bu video, SLAM sorunlarının temel teorisiyle başlayacak. Ardından, projenin temelini anlamak için yukarıda öğretilen kavram altyapısını kullanırız. Son olarak, terminal üzerinden gerekli düğümleri oluşturup eşleme çıkışını Rviz'de göreceğiz.
İleri seviye konu videoları: SLAM kitaplığının bilinmeyen bir ortama entegrasyonu (SLAM araç kutusu veya LaMa) [2. Bölüm] 10. videonun devamı olarak bu videoda, tüm düğümleri birlikte başlatmak için bir başlatma dosyası oluşturmayı ve ROS çerçevesindeki kavramları doğru bir şekilde anlamak için rqt_graph'i incelemeyi öğreteceğim. Son olarak, paket tarafından oluşturulan haritayı bir harita sunucusu kullanarak kaydedeceğiz.
İleri seviye konu videoları: OpenCV entegrasyonu (AR etiketi algılama, Ar_track_alvar paketi) [1. Bölüm] Video, AR etiketlerinin ne olduğuna ve bilgisayar görüşü kullanılarak yerelleştirmedeki önemine değinerek başlar. Ardından, AR parça Alvar paketinin işleyiş şeklini inceleyeceğiz. Bu sayede projeye genel bir bakış sunabilirsiniz. Son olarak, Webots'tan bir TSH konusuna video karelerinin akışını sağlamak için hizmet sağlanacaktır.
İleri seviye konu videoları: OpenCV'nin entegrasyonu (AR etiketi algılama, Ar_track_alvar paketi) [2. Bölüm] Bu video, paket tarafından yukarıdaki resim akışının kullanılacağı ve robot ile AR etiketi arasında dönüşüm konulu bir konunun Rviz'de görüntülenebileceği 12. videonun devamı olacaktır. Son olarak, robotu hareket ettirirken Rviz'de ve rostopic mesajlarında farklı etiketlerin bulunduğunu ve konumlarının değiştiğini göreceğiz.
Sonuç:
Bu GSOD projesi, ROS2'nin Webots ile entegrasyonu hakkında temel bir bilgi edinmenizi sağlayan kendi kendine yeten bir pakettir. Bu paket; konular, hizmetler, düğümler, başlatma dosyaları, yayıncı, abone, farklı hata ayıklama araçları ve VS kodunun kullanımı gibi ROS2'deki kavramların pratik uygulamasını da içerir. SLAM ve OpenCV gibi ileri seviye konu projeleri de bu kapsamda yer alır. Bu, izleyicilere ROS2 ve Webots'u kullanarak uçtan uca çalışma paradigması sunar.