Haberler Teknoloji

NVIDIA Isaac ve ROS2 ile Bağlantılı Robotlar Oluşturun

ROS, robot uygulamaları oluşturmanıza yardımcı olan açık kaynak yazılım kütüphaneleri ve araçlarının bir setidir. Burada, profesyoneller ve hobi sahipleri yazılım geliştirme için kodlarını paylaşabilir ve işbirliği yapabilir. Mühendisler, blokları hızlı bir şekilde yeniden kullanabilir ve tam işlevsel bir robotik cihaz inşa etmek için gerekli tüm araçları kolayca bulabilir. Dışarıda ROS1 ve ROS2 olduğunu fark etmiş olmalısınız ve hangisini başlangıçta seçmem gerektiği veya ne zaman başka birine geçmem gerektiği konusunda karar vermek oldukça zor. Şimdi, ROS2’nin ne olduğunu ve önceki sürümle karşılaştırıldığında neden heyecanlanmamız gerektiğini öğrenmek için makaleye dalalım.

ROS2 Nedir?

ROS2, ticari kullanım için hazır hale getirilmek üzere sıfırdan inşa edilmiş, robot işletim sisteminin mevcut çerçevesinden yenilenmiş ve endüstriyel kullanım için optimize edilmiştir. Mobil robotlar, drone sürüleri ve otonom araçlar gibi yeni uygulamalarda ölçeklenebilir olacak şekilde geliştirilmiştir.

Öncelikle, ROS2’nin bazı temel özelliklerini öğrenmemiz gerekiyor:

DDS: veri dağıtım servisi, tüm kodla arayüz oluşturabilen bir iletişim hattıdır.

Düğümler: ROS2 işlevselliğini kullanan yürütülen kod dosyalarıdır. Düğümler arasındaki bireysel iletişim hattına Konu denir.

Düğümler, birbirleriyle iletişim kurmanın üç ana yoluna sahiptir.

  • Yayıncı/Abone yöntemiyle: bir düğüm, mesaj olarak adlandırılan bilgiyi yayınlar. Bu mimari, bir yayıncının birden fazla aboneye mesaj göndermesine olanak tanıyarak ölçeklenebilir.
  • Hizmetler yöntemiyle: bir hizmet istemci düğümü, isteği tamamlamaktan sorumlu olan başka bir düğüme bir istek gönderir, bu düğüme hizmet sunucusu denir. İsteği tamamladıktan sonra, hizmet sunucusu bir yanıt gönderir.
  • Hareketler yöntemiyle: bir düğüm, başka bir düğüm için bir hedef belirler ve bu düğüm hareket sunucusu olur. Ardından hareket sunucusu, hedefi işler ve istemciye ilerleme güncellemeleri gönderir. İlerleme güncellemelerine Geri Bildirim denir. Hareket sunucusu, hedefe ulaşılana kadar istemciye geri bildirim göndermeye devam eder. Son olarak, hareket sunucusu, hedefin ulaşıldığını kanıtlamak için hareketin Sonuçlarını geri gönderir.

Düğüm Parametresi: belirli değişken değerleri için düğüm yapılandırmalarına olanak tanır, böylece kodu düzenleyip projeyi tekrar tekrar derlemek zorunda kalmazsınız.

ROS2’nin Gelmesinin Önemi

ROS1, robotik araştırmaları hızlandırmak için 2007 yılında Willow Garage tarafından başlangıçta inşa edilip piyasaya sürüldü. Ancak, ticari kullanım için değil, bir araştırma aracı oluşturmak amacıyla yapıldığı için güvenlik, ağ topolojisi ve sistem çalışma süresi gibi sorunlar öncelik değildi. ROS artık ticari dünyada benimsenmişken, birçok büyük dezavantajı belirgin hale gelmektedir. Bu nedenle, ROS’u ticari kullanım için sıfırdan yeniden inşa etmek giderek daha gerekli hale gelmektedir; bu da ROS2’ye dönüşmektedir. Ticari kullanım gereksinimlerine yanıt olarak, aşağıdaki düzenlemeler eklenmiştir:

  • Güvenlik — Gerekli yerlerde uygun şifreleme ile güvenli olmalıdır.
  • Gömülü Sistemler — ROS2, gömülü sistemlerde çalışabilmelidir.
  • Çeşitli ağlar — Robotların çalışabileceği ve iletişim kurması gereken çeşitli ortamları karşılamak için LAN’dan çoklu uydu geçişlerine kadar geniş ağlarda çalışabilmeli ve iletişim kurabilmelidir.
  • Gerçek zamanlı hesaplama — Robotikte çalışma süresi verimliliği kritik olduğundan, güvenilir bir şekilde gerçek zamanlı hesaplama yapabilmelidir.
  • Ürün Hazırlığı — Pazar için hazır olacak şekilde ilgili güvenlik/endüstriyel standartlara uymalıdır.

ROS1 ve ROS2 Arasındaki Değişiklikler

  1. ROS2’deki tüm iletişim için ağ protokolü olarak DDS kullanılması, ROS1’e kıyasla güvenlik ve güvenilirlik garantisini artırır.
  2. ROS2, ROS1’in tek bir arıza noktası (ROS ana bilgisayarı) ortadan kaldırır ve sistemin hata toleransını artırır.
    • ROS1’de, ROS ana bilgisayarı, bağlanması gereken iki düğümü tanımlamak için bir aracı olarak işlev görür ve ardından onlara doğrudan bir bağlantı oluşturur. Ancak, ROS ana bilgisayarı arızalandığında, bu iki düğüm yalnızca birbirleriyle izole düğümler olarak iletişim kurmaya devam edebilir ve yeni düğümlerle iletişim kuramazlar.
  3. ROS2, zayıf veya kayıplı ağlarda, örneğin Wifi veya uydu bağlantılarında, ROS1’den daha iyi performans gösterir.
    • ROS1, yeterli TCP protokolleri ile inşa edildiği için güvenilir ağlarda iyi performans gösterir, ancak TCP/IP, veri yeniden iletimi nedeniyle güvenilir olmayan ağlarda güvenilir performans sağlamaz. Ancak, ROS2, ağ koşulunu dikkate almadan DDS iletişimini kullanır.
  4. ROS2 istemci kütüphanesi, tipik bir temel uygulamayı paylaşır – bu da rcl’dir.
    • ROS1’e kıyasla her istemci kütüphanesi (örneğin roscpp veya rospy) tamamen kendi dilinde yazılmışken, ROS2 ortak rcl uygulamasını sarar ve bu genellikle diller arasında daha tutarlı bir performans sağlar. Bu ayrıca geliştiricilerin yeni diller için yeni istemci kütüphaneleri oluşturma yeteneğini de basitleştirir.

ROS2 Hakkında Heyecanlanmamız Gereken Nedenleri Öğrenin

  • Modern API, minimal bağımlılıklar ve daha iyi taşınabilirlik.
  • DDS RMW (ROS ara yazılım) avantajları:
    • güvenilirlik QoS ayarları.
    • UDP çoklu yayını, paylaşılan bellek, TCP/IP üzerinden TLS.
    • gerçek zamanlı yetenek.
    • ana bilgisayarsız keşif.
  • Tek bir süreçte birden fazla düğümle çalışmak daha kolay.
  • Konu yeniden eşleme ve takma adlandırma gibi daha dinamik çalışma zamanı özellikleri.
  • Dinamik parametreler.
  • Düğümlerin senkronize, planlı yürütülmesi.
  • Paket kaynak yönetiminde daha verimli.

Nasıl Dağıtılır ve Nereden Başlanır

NVIDIA Jetson, DeepStream SDK ve ROS’u Entegre Ediyor

NVIDIA, derin öğrenme modeli dağıtımı için mevcut çerçeveyi kullanır, model akıl yürütme performansını artırmak için TensorRT’yi birleştirir ve ResNet18, MobileNetV1 / V2, SSD, YOLO, FasterRCNN dahil olmak üzere sınıflandırma ve nesne tespiti için çeşitli AI modellerini dağıtır.

ISAAC ROS kodlayıcıları ve çözümleyici düğümleri için, çıkarım çıktısını isaac_ros_tensor_list_interfaces/TensorList türünde tensörler olarak yayınlamak için model_file_path veya engine_file_path gibi YOLOv5 modelini kullanabilirsiniz. Ardından, TensorRT/Triton düğümünden tensörlere abone olur, tensörleri belirli parametrelere ayrıştırır ve nihayetinde her görüntü için bir Detection2DArray mesajı olarak sonuçları yayınlarsınız.

Nvidia Webinar: NVIDIA Isaac ROS DNN Çıkarım hattı hakkında bilgi edinin ve modellerinizi bir YOLOv5 örneği ile nasıl kullanacağınızı öğrenin.

Engellere mesafe tahmini için, verimli yarı denetimli (ESS) adlı harika bir model bulunmaktadır; bu, bir stereo görüntü çifti için farklılık tahmini yapar ve verilen görüntü için sürekli bir farklılık haritası döndürür. Bunu ROS2 ile birleştirerek, paketleri isaac_ros_stereo_image_proc, isaac_ros_ess ve isaac_ros_bi3d olarak referans alabilirsiniz.

Nvidia Webinar: Özel, önceden eğitilmiş DNN modelleri ESS ve Bi3D kullanarak stereo kameralarla engel mesafelerini nasıl sağlam bir şekilde tahmin edeceğinizi öğrenin.

İnsan duruşu tahmini için, önceden eğitilmiş model, COCO veri setindeki kategorilere dayanarak 17 vücut parçasını çıkarır. Burada, görüntülerinizi etiketlemek ve görselleştirmek için ros2_trt_pose paketini kullanabilirsiniz. Ardından, vücut eklemleri ve kemikleri ile gerçek zamanlı bir görüntü çıktısı alırsınız.

Çoklu sensör işleme, video ve görüntü anlama kullanarak uçtan uca AI tabanlı çözümler oluşturmak için, NVIDIA, DeepStream Python Apps projesine göre iki çıkarım görevi gerçekleştiren ros2_deepstream düğümlerini sağlar: Nesne tespiti ve özellik sınıflandırması. Her çıkarım görevi ayrıca tespit edilen nesnenin etrafında bir sınırlayıcı kutu ve etiket ile görsel bir pencere oluşturur.

Ayrıca, NV’nin yaklaşan Isaac ROS webinarından özel, önceden eğitilmiş DNN modelleri kullanarak stereo kameralarla engel mesafelerini nasıl tahmin edeceğinizi öğrenebilirsiniz. Buradan kaydolun ve 17 Ocak 2023’te kontrol edin.

NVIDIA Webinar: Bulut üzerinden heterojen bir robot filosunu yönetmek için Isaac Mission Dispatch’i nasıl kullanacağınızı öğrenin.

ROS ile başlayın

HUMBLE HAWKSBILL ile başlayabilirsiniz; bu, kavramları, öğreticileri, kurulum adımlarını ve birçok heyecan verici projeyi gösteren önerilen bir rehberdir. ROS2 için, bir dizi kutudan çıkmış segmentasyon kameraları, GPS gibi sensörler, 3D görünüm grafik arayüzü ve daha fazlasını içeren ROS tabanlı robot simülatörü Gazebo Fortress’ı destekler. Ayrıca, Movelt HUMBLE, özellikle Hibrit programlama işlevi için robot kolları manipülasyon sisteminin geliştirilmesine enerji katmaktadır: (daha yavaş) bir küresel hareket planlayıcısı ve (daha hızlı) bir yerel hareket planlayıcısının kullanımı, robotun çevrimiçi ve dinamik ortamlarda farklı görevleri çözmesini sağlar.

Nimbus ile ROS2 Geliştirme Döngüsünü Yönetin

ROS2 geliştirme döngünüzü daha iyi yönetmek ve robot entegrasyon sürecinde kolay adımlar almak için Cogniteam Nimbus‘u kullanarak yazılım geliştirmeye daha fazla dikkat edebilirsiniz. Nimbus, yazılım bileşenleri olarak konteynerleştirilmiş uygulamalar kullanır; bu uygulamalar, kod, bir konsol arayüzü veya bir GUI kullanarak Web üzerinden organize edilir, bağlanır ve yeniden bir araya getirilir, böylece ROS’a özgü bilgiye sahip olmayan herkes bile bu bileşenleri oluşturan robotik yürütme yapı taşlarını anlayabilir ve görüntüleyebilir. Ayrıca, aynı robot üzerinde OS ve ROS sürümleri arasındaki sorunlu bağlantı sorunlarını çözmek için çeşitli ROS dağıtımlarının (ROS1 ve ROS2 bileşenleri dahil) kullanılmasına olanak tanır.

Seeed Jetson Ürünleri ile ROS Geliştirmeye Başlayın

reComputer J2021: Kenarda gerçek dünya AI
Built with Jetson Xavier NX 8GB

J2021, Jetson Xavier NX 8GB modülü ile inşa edilmiş, el boyutunda bir kenar AI kutusudur ve 21 TOPs AI performansı sunar. USB 3.1 portları (4x), WIFI için M.2 anahtar E, SSD için M.2 Anahtar M, RTC, CAN, Raspberry Pi GPIO 40-pin gibi zengin bir IO setine sahiptir. Ayrıca, alüminyum kasa, soğutma fanı ve önceden yüklenmiş JetPack Sistemi ile NVIDIA Jetson Xavier NX Geliştirici Kiti alternatifidir; bir sonraki AI uygulama geliştirme ve dağıtımınız için hazırdır. Otonom uygulamalar ve görüntü tanıma, nesne tespiti, poz tahmini, anlamsal segmentasyon, video işleme gibi karmaşık AI görevleri oluşturmak için idealdir.

Jetson Nano/Xavier NX/TX2 NX için Taşıyıcı Kart

reComputer J202 taşıyıcı kartı, NVIDIA® Jetson Xavier NX™ taşıyıcı kartı ile neredeyse aynı tasarım ve işlevselliğe sahiptir, Jetson Nano/Xavier NX/TX2 NX modülü ile mükemmel bir şekilde çalışır ve USB 3.1 portları (4x), WIFI için M.2 anahtar E, SSD için M.2 Anahtar M, RTC, CAN, Raspberry Pi GPIO 40-pin gibi bileşenleri içerir; bu da bir sonraki AI uygulama geliştirme ve dağıtımınızı hızlandırır. Birden fazla kamera konektörleri ile, görüntü sınıflandırma, nesne tespiti, segmentasyon ve ses işleme gibi uygulamalar için birden fazla sinir ağını paralel olarak çalıştırmak için uygundur.


Seeed NVIDIA Jetson Ekosistemi

Seeed, NVIDIA Partner Network‘de kenar AI için bir Elite ortaktır. Daha fazla taşıyıcı kart, tam sistem cihazları, özelleştirme hizmetleri, kullanım durumları ve geliştirici araçları keşfetmek için Seeed’in NVIDIA Jetson ekosistemi sayfasını ziyaret edin.

AI yeniliğinin ön saflarında bizimle birlikte yer alın! Keskin donanım ve teknolojinin gücünü kullanarak makine öğreniminin gerçek dünyada endüstriler arasında devrim yaratmasını sağlayın. Geliştiricilere ve işletmelere en iyi ML çözümlerini sunma misyonumuzun bir parçası olun. Daha fazla kenar AI olasılıklarını keşfetmek için başarılı vakalar kataloğumuzu inceleyin!

İlk adımı atın ve bu heyecan verici yolculuğun bir parçası olmak için bize bir e-posta gönderin: edgeai@seeed.cc!

Size uygun bir seçenek bulmak için en son Jetson Kataloğumuzu indirin. İhtiyaçlarınıza uygun hazır Jetson donanım çözümünü bulamazsanız, lütfen özelleştirme hizmetlerimizi kontrol edin ve değerlendirme için yeni bir ürün talebi gönderin: odm@seeed.cc.

Leave a Reply

Your email address will not be published. Required fields are marked *