ROS (Robot Operating System); isminde "işletim sistemi" geçmesine rağmen aslında geleneksel bir işletim sistemi (Windows veya Linux gibi) değil, mevcut bir işletim sisteminin (genellikle Ubuntu Linux) üzerinde çalışan gelişmiş bir robotik yazılım çerçevesi (framework) ve ara katman yazılımıdır (middleware). Robotik sistemler; sensör verilerini toplama, motorları kontrol etme, haritalama yapma ve kendi kendine karar verme gibi son derece karmaşık süreçleri içerir. ROS, bu süreçleri yönetmek için dünya çapında standart kabul edilmiş açık kaynaklı bir ekosistem sunar.
Gömülü sistemler ve mikrodenetleyiciler robotun kaslarını ve motor sürücülerini yönetirken; ROS, robotun beynini oluşturur. Otonom depoları yöneten AMR araçlarından otonom arabalara, insansız hava araçlarından (İHA) insansı robotlara kadar modern robotik teknolojilerinin arkasındaki yazılımsal güç ROS mimarisidir.
ROS, bir robotu oluşturan farklı yazılım bileşenlerinin birbiriyle ağ (network) üzerinden konuşabilmesini sağlayan Dağıtık Düğüm (Distributed Nodes) mimarisine sahiptir:
/camera_image isimli konuya yayınlar; yapay zeka düğümü ise bu konuya abone olarak görüntüyü canlı işler.geometry_msgs/Twist, sensör verileri için sensor_msgs/LaserScan).Gelişmiş bir otonom robot projesinde ROS, şu ana başlıkları paketler (kütüphaneler) halinde hazır sunarak mühendislerin sıfırdan kod yazma yükünü ortadan kaldırır:
LIDAR, derinlik kamerası, IMU (ivmeölçer/jiroskop), motor enkoderleri gibi robotik donanımların sürücüleri ROS içinde hazır bulunur. ROS, alt seviye gömülü kartlarla (STM32, Arduino) rosserial veya micro-ROS protokolleri üzerinden haberleşerek donanım verilerini üst katmana taşır.
Robotun bilmediği bir ortama bırakıldığında, sensörlerini (LIDAR/Kamera) kullanarak aynı anda hem ortamın haritasını çıkarmasını hem de bu harita üzerinde kendi konumunu belirlemesini sağlayan algoritmalardır. ROS içinde Gmapping, Cartographer, RTAB-Map gibi popüler SLAM paketleri hazır olarak entegre edilebilir.
Haritası çıkarılmış bir alanda robotun engellere çarpmadan güvenli bir şekilde hedefe gitmesini sağlayan katmandır. Robotun çevresindeki dinamik engelleri (yürüyen insanlar, sonradan konulan eşyalar) algılayarak anlık olarak rotasını yeniden çizer (A* veya Dijkstra algoritmaları kullanılır).
Fiziksel robot donanımı pahalı ve hata yapıldığında kırılgan olduğu için robotik kodları önce gelişmiş simülasyon ortamlarında test edilir:
İlk nesil ROS (ROS 1), akademik araştırmalar için harika olsa da endüstriyel ürünlerde kararlılık, siber güvenlik ve gerçek zamanlılık (RTOS entegrasyonu) konularında yetersiz kalıyordu. Bu eksiklikleri gidermek amacıyla endüstri standardı olarak ROS 2 geliştirilmiştir.
ROS 2, haberleşme altyapısında askeri ve havacılık standartlarında kullanılan DDS (Data Distribution Service) protokolünü kullanır. Bu sayede kablosuz ağlarda veri paketlerinin kaybolmasını engeller, siber güvenliği (şifreli veri iletimi) çip seviyesine indirir ve birden fazla robotun (robot sürülerinin) birbiriyle kusursuz ağ kurmasını sağlar.
ROS ve robotik sistem uzmanlığı; C++ ve Python programlama dillerine, Linux mimarisine, matris/vektör matematiğine ve gömülü sistem donanımlarına hakim olmayı gerektiren; günümüzün otonom endüstrisinde, yapay zeka tabanlı üretim tesislerinde ve savunma sanayisinde önü en açık mühendislik dallarından biridir.
Henüz yorum yapılmamış. İlk yorumu siz yapın!