Webots projesi

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

Proje özeti

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

Proje açıklaması

Öğrenilenler:

Bu video eğitim serisi, yeni kullanıcıların Webots'u en iyi şekilde kullanmaya 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üğümleri yapıp Webot'larla etkileşime girebilecek ve mobil robotlarla ilgili gelişmiş projeler üzerinde çalışma konusunda güven kazanabilecekler. Bu video serisi, robotik alanındaki hayati kavramların iyi teorik açıklamalarını da sağlayacak.

Video Serisi Ayrıntıları:

  1. ROS 2 yükleme ve Visual Studio Code'da depo oluşturma. Bu, ROS2'nin komuta dayalı yüklemesini ve çalışmasıyla ilgili temel bilgileri içerir. İkinci olarak, VS kodunda ROS çalışma alanının kurulumunu ve VS kodundaki temel sekmelerin işlevlerini de içerecektir.

  2. Temel ROS2 ve Webots örneği. Bazı Webot ROS2 örnekleri, izleyicileri simülasyon amacıyla Webots ile ROS2 kullandığımızda ne gibi harikalar olabileceklerini anlamalarını sağlamak amacıyla kullanılır. ROS2 ile Webot'lar arasındaki iletişimle ilgili temel teorileri de burada bulabilirsiniz.

  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 bilgiler. İkinci olarak, hizmetleri çağırmak ve hareket için ölçümler ve aktüatörler için sensör konusunu etkinleştirmek için adım adım eğiticiler gösteriliyor.

  4. ROS2 Yayıncısı ile özel robotu kontrol edin. ROS2 yayıncılarını kullanarak Webot'lara nasıl mesaj yayınlayacağınızı öğrenme. Klavye çıktısını bir konuya yayınlayarak robot hareketini kontrol etmeyle ilgili bir örneği uygulayabiliriz. Daha sonra bu konu, TSH hizmetleri tarafından Webots'taki hareketlerde kullanılabilir.

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

  6. ROS2 ile Master(Publisher) Slave(Abone) robotları. Bu videoda, klavyeli bir robotu kontrol edecek ve başka bir robotu manuel robottan uzaklaştıracağız. Hırsız ve Polisiye'nin senaryosuna benzer :) [Bu 3,4,5 videonun devamı olacaktır]. Bu, izleyicilerin iletişimi test etmesine olanak tanır ve TSH'de bir sorun olduğunda simülasyonda kusurlar olur.

  7. Rviz'i kurma (Farklı sensör çıkışı gösteriliyor). Bu videoda birkaç sensör daha ekleyip verilerini Rviz'te yayınlayacağız. Bu videonun sonunda izleyici, Rviz'i ayarlayıp (görselleştirme için Lidar ve Kamera gibi sensörler ekleyerek) yapılandırmayı kaydedip bir dahaki sefere kayıtlı yapılandırmayı oluşturabilir.

  8. Hata ayıklama videosu (Rostopic echo, Rostopic bilgisi, RQT_graph). Bu videoda, hata ayıklama tekniğinin anlaşılmasına yardımcı olmak için birkaç konuda kasıtlı olarak verilen yanlış işlevler gösterilecektir. RQT grafiğini inceleyip hangi konuların soruna yol açtığını öğrenme sürecini izleyeceğiz. Konunun yayınlanıp yayınlanmadığını kontrol etmek için rostopic echo'yu kullanma, son olarak da sorunumuzla ilgili bilgi edinmek için rostopic bilgilerini kontrol etme Sorunu çözün ve normal işlevlerini kullanın.

  9. 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 kullanımı incelenecektir. Bu videonun kapsamı, gerekli işlevlere sahip olmak amacıyla sahte mesajlar yayınlamak için 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 temel noktasını anlamak için yukarıda öğretilen kavramları kullanacağız. Son olarak, gerekli düğümleri terminal boyunca oluşturur ve Rviz'te harita çıkışını görürüz.

  11. İleri düzey konu videoları: SLAM kitaplığının bilinmeyen bir ortama entegrasyonu (SLAM araç kutusu veya LaMa) 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'ın nasıl inceleneceğini öğreteceğim. Son olarak, paket tarafından oluşturulan haritayı bir harita sunucusu kullanarak 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 önemi ile başlayacak. Sonra AR takibi Alvar paketinin işleyişini geliştireceğiz. Bu, projeye dair genel bir bakış açısı sağlamaya yardımcı olacaktır. Son olarak, webots'tan TSH konusuna video karelerinin akışının etkinleştirilmesi 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 görüntü akışının paket tarafından kullanılacağı 12. videonun devamı olacak ve Rviz'te izlenebilecek robot ile AR etiketi arasındaki dönüştürme konusu yayınlanacak. Son olarak, robotu hareket ettirdikçe farklı etiketlerin bulunduğunu ve Rviz ile rostopic mesajlarında konumlarının değiştiğini görürüz.

Sonuç:

Bu GSOD projesi, ROS2'nin Webots ile entegrasyonunun temel bir şekilde anlaşılmasını sağlayan bağımsız bir pakettir. Bu pakette konular, hizmetler, düğümler, başlatma dosyaları, yayıncı, abone, farklı hata ayıklama araçları ve VS kodunun kullanımı gibi ROS2 kavramlarının pratik uygulaması da yer alır. SLAM ve OpenCV gibi ileri düzey konu projelerini de kapsayabilir. Bu, izleyicilere ROS2 ve Webots kullanılarak uçtan uca çalışmaya dair bir paradigma kazandıracak.