Webots projesi

Bu sayfa, Google Dokümanlar Sezonu için kabul edilen teknik yazı projesinin ayrıntılarını içerir.

Proje özeti

Açık kaynak kuruluşu:
Webot'lar
Teknik yazar:
Soft illüzyon Kanalı
Proje adı:
Webots için Eğitim Videosu serisi (ROS2 ile entegrasyon)
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

Çıkarılan dersler:

Bu eğitim videosu serisi, yeni kullanıcıların Webots kullanmaya mümkün olan en iyi şekilde başlamalarını sağlar ve izleyicilere belirli simülasyonları gerçekleştirmeleri için net adım adım çözümler sunar.

Hedef:

Bu serinin sonunda izleyiciler temel ROS2 düğümlerini yapabilecek, Webot'larla etkileşime girebilecek ve mobil robotlarda gelişmiş projelerde çalışma konusunda güven kazanabilecekler. Bu video serisi, robot bilimi alanındaki bazı hayati kavramlara dair iyi teorik açıklamalar da sunacak.

Video Serisi Ayrıntıları:

  1. ROS 2 için kurulum ve Visual Studio Code'da depo kurulumu. Bu, ROS2'nin komutla yüklenmesini ve çalışmasıyla ilgili temel bilgileri içerir. İkinci olarak, VS kodunda TSH çalışma alanının ayarlanması ve VS kodundaki temel sekmelerin işlevleri bu kapsamda yer alır.

  2. Temel ROS2 ve Webot örneği. Bazı Webots ROS2 örnekleri, izleyicileri simülasyon için Webots ile ROS2 kullanırsak neler yapılabileceğini anlamalarını sağlamak amacıyla kullanılır. ROS2 ile Webot'lar arasındaki iletişimle ilgili temel teorileri de içerir.

  3. Webot'larla etkileşimde bulunmak için ROS2 hizmetlerini kullanma. ROS ve ROS2'deki hizmetler arasındaki farkı açıklayan, ROS hizmetiyle ilgili temel bilgilerin öğretilmesi. İkinci olarak, hizmetleri çağırmak için adım adım eğiticiler gösterilerek okumalar ve hareket aktüatörleri için sensör konusu etkinleştiriliyor.

  4. ROS2 Yayıncısı ile özel robotu kontrol et. ROS2 yayıncılarını kullanarak Webots'a nasıl mesaj yayınlayacağınızı öğrenme. Klavye çıkışını bir konuya yayınlayarak robot hareketini kontrol etmeyle ilgili bir örnek uygulayabiliriz. Daha sonra bu konu, TSH hizmetleri tarafından Webots'ta hareket için kullanılabilir.

  5. ROS2 abonesi olan robottan geri bildirim alın. Bu videoda mesafe sensörlerinin sensör okumalarına abone olacak ve robot çarpışmak üzereyse robotu durduracağız. Temel olarak bu, etkileşimli mesajların yayınlandığı bir engelden kaçınma düğümü olacaktır.

  6. ROS2 ile Ana(Publisher) Slave(Abone) robotları. Bu videoda, klavyeli bir robotu kontrol edip başka bir robotu manuel robottan uzaklaştıracağız. Hırsız ve Polisiye'nin senaryosuna benzer :) [Bu 3,4,5 videodan oluşan bir devamı olacaktır]. Bu sayede izleyiciler, iletişimi test edebilir ve TSH'de bir sorun olduğunda simülasyonda kusurlar görebilir.

  7. Rviz'i kurma (Farklı sensör çıkışı gösteriliyor). Bu videoda birkaç sensör daha ekleyip verilerini Rviz'de yayınlayacağız. Bu videonun sonunda izleyici, Rviz'i ayarlayabilecek (ör.görselleştirme için Lidar, kamera gibi sensörler ekleyerek), yapılandırmayı kaydedip bir sonraki sefere kaydedilmiş yapılandırma oluşturabilecek.

  8. Hata ayıklama videosu (Rostopic echo, Rostopic bilgisi, RQT_graph). Bu video, hata ayıklama tekniğinin anlaşılmasına yardımcı olmak için birkaç konudaki kasıtlı olarak yanlış işlevi içerecektir. RQT grafiğini inceleyerek soruna neden olan konuların hangileri olduğunu belirleme sürecini izleyeceğiz. Konunun yayınlanıp yayınlanmadığını kontrol etmek için rostopic echo'yu kullanma, son olarak da sorunu anlamak için rostopic bilgilerini kontrol etme Sorunu çözün ve normal şekilde çalışmaya devam edin.

  9. Hata ayıklama videosu(rqt_console, rqt_gui) Bu videoda Ros mesajları(bilgi, hata ayıklama, hata vb.) düğümde kullanılacak ve rqt_console kullanımı incelenecektir. Bu video ayrıca, gerekli işlevi elde etmek için sahte mesajlar yayınlamak üzere rqt_gui kullanılarak genişletilecek. Bu, bazı hataları düzeltmek için alternatif bir yaklaşım olabilir.

  10. İleri düzey konu videoları: SLAM kitaplığının bilinmeyen bir ortamda (SLAM araç kutusu veya LaMa) entegrasyonu hakkında [1. Bölüm] Bu video, SLAM problemlerinin temel teorisiyle başlayacak. Ardından, projenin önemli noktasını anlamak için yukarıda öğretilen kavram altyapısını kullanacağız. Son olarak, gerekli düğümleri terminalden oluşturacağız ve Rviz'de harita çıkarma çıktısını göreceğiz.

  11. İleri konu videoları: SLAM kitaplığının bilinmeyen bir ortamda (SLAM araç kutusu veya LaMa) entegrasyonu hakkında [2. Bölüm] 10. videonun devamı olarak bu videoda, tüm düğümleri birlikte başlatmak için bir başlatma dosyasının nasıl hazırlanacağını ve ROS çerçevesindeki kavramları doğru bir şekilde anlamak için rqt_graph'ı nasıl inceleyeceğinizi göstereceğim. Son olarak, bir harita sunucusu kullanarak paket tarafından oluşturulan haritayı kaydedeceğiz.

  12. İleri düzey konu videoları: OpenCV (AR etiketi algılama, Ar_track_alvar paketi) entegrasyonu hakkında [1. Bölüm] Video, AR etiketlerinin ne olduğu ve bilgisayar görüşü kullanılarak yerelleştirmedeki önemiyle başlayacak. Sonra AR takibi Alvar paketinin işleyişini geliştireceğiz. Bu sayede projeye ilişkin genel bir bakış açısı sunabiliriz. Son olarak, Webot'lardan bir TSH konusuna video karelerinin akışının sağlanması için hizmet sağlanacaktır.

  13. İleri düzey konu videoları: OpenCV (AR etiketi algılama, Ar_track_alvar paketi) entegrasyonu hakkında [2. Bölüm] Bu video, yukarıdaki resim akışının paket tarafından kullanılacağı 12. videonun devamı olacak ve robot ile AR etiketi arasındaki dönüştürme konusunun Rviz'te izlenebilmesini sağlayacak. Son olarak, robotu hareket ettirdikçe Rviz'de ve rostopic mesajlarında farklı etiketlerin bulunduğunu ve konumlarının değiştiğini görürüz.

Sonuç:

Bu GSOD projesi, ROS2'nin Webots ile entegrasyonunun temel anlaşılmasını sağlamaya yönelik bağımsız bir pakettir. Bu paket, ROS2'deki konular, hizmetler, düğümler, başlatma dosyaları, yayıncı, abone, farklı hata ayıklama araçları ve VS kodunun kullanımı gibi kavramların pratik uygulamasını da içerir. Buna SLAM ve OpenCV gibi ileri düzey konu projeleri de dahildir. Bu, görüntüleyenlere ROS2 ve Webot'ların kullanıldığı bir uçtan uca çalışma paradigması kazandıracak.