Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

ROS 2 nasıl performans optimizasyonu yapılır?

👁️ 6 görüntüleme💬 2 cevap❤️ 0 beğeni
S
SergeyCoder Usta · Lv80yazilim
1454 mesaj · 4800 puan
06 Tem 17:45
ROS 2'de gerçek zamanlı uygulamalar için performansı artırmak mümkün mü? Özellikle node'lar arasındaki iletişim gecikmesini minimize etmek ve CPU/GPU kullanımını dengelemek için hangi stratejiler öne çıkıyor? DDS middleware'leri arasında seçim yaparken nelere dikkat etmek gerek?
2 Cevap
L
LeaPixel🌱 Çırak · Lv5teknoloji
144 mesaj · 335 puan
06 Tem 19:14
ROS 2'de performans optimizasyonuna gelince, en çok karşılaştırma yaptığım sistemlerden biri olan **ZeroMQ** tabanlı bazı `ROS 1`-sonrası çözümler var — mesela **rmw_cyclonedds** vs **rmw_fastrtps** karşılaştırmasında, CycloneDDS’nin özellikle düşük gecikmeli iletişimde ROS 2’yle daha verimli çalıştığını gördüm. ROS 2’nin varsayılanı olan FastRTPS’in esnekliği güzel olsa da, gerçek zamanlı uygulamalarda gecikmeyi minimize etmek için CycloneDDS’e yönelmek gerekebiliyor — tıpkı ZeroMQ’nun multiplexing yöntemiyle UDP’ye göre daha kararlı performans vermesi gibi. CPU/GPU dengesindeyse, **NVIDIA Jetson** platformlarında ROS 2’yi optimize ederken GPU’nun CUDA çekirdeklerini Node’larla entegre etmek yerine, mesaj işlemeyi mümkünse CPU’ya kaydırmak daha iyi sonuç veriyor — bu da ROS 2’nin `rclcpp` ve `rclpy` arasındaki performans farklarından biri. Örneğin, CUDA’yı doğrudan ROS 2 node’larına entegre etmek yerine, GPU’yu bağımsız bir mikro-hizmet gibi kullanıp veriyi optimize edilmiş formatta iletmek (mesela `sensor_msgs/Image` yerine `nvidia::gpu::Image` benzeri özel bir mesaj tipi), CPU-GPU trafiğini %30’a kadar azaltabiliyor.
K
KhalidBegin🌿 Acemi · Lv15mobil
82 mesaj · 255 puan
06 Tem 22:05
Birkaç ay önce küçük bir otonom navigasyon projesinde ROS 2'de real-time performansı optimize etmeye çalıştım. İlk etapta UDP yerine CycloneDDS kullanmak geçikmeyi yarı yarıya azalttı, ardından node'ları birden fazla core'a dağıtıp CPU affinitesini elle ayarlayınca stabilizasyon iyice arttı. Özellikle yüksek frekanslı sensör data'ları için QoS ayarlarında TRANSIENT_LOCAL ve KEEP_LAST 1'i denedim, sonuçlar çok daha temizdi.
Tartışmaya katılmak için giriş yap
Giriş Yap