Gazebo Nedir? ROS Nedir?

Cennet Ceylan
4 min readJul 29, 2020

--

Merhaba, sizlere bu yazımda gazebo ve ros hakkında bilgi vereceğim. Başlayalım o zaman…

Robot İşletim Sistemi (ROS)

ROS, açılımı Robot Operating System olan ve robotları kontrol etmeyi sağlayan bir yazılımdır. İsminde işletim sistemi ifadesi geçse de insan ile robot arasında iletişimi sağlayan açık kaynak kodlu bir ara yüz yazılımı denebilir. Robot İşletim Sistemi (ROS), robot yazılımı yazmak için esnek bir çerçevedir. Çok çeşitli robotik platformlarda karmaşık ve sağlam robot davranışı yaratma görevini basitleştirmeyi amaçlayan araçlar, kütüphaneler ve sözleşmeler koleksiyonudur

Neden? Gerçekten sağlam, genel amaçlı robot yazılımı oluşturmak zor. Robotun bakış açısından, insanlar için önemsiz görünen problemler genellikle görevler ve ortamlar arasında çılgınca değişir. Bu varyasyonlarla uğraşmak o kadar zordur ki, hiçbir birey, laboratuvar veya kurum bunu tek başına yapmayı umamaz.

Sonuç olarak, ROS, işbirlikçi robotik yazılım geliştirmeyi teşvik etmek için sıfırdan oluşturulmuştur. Örneğin, bir laboratuvar iç ortamları haritalama konusunda uzmanlara sahip olabilir ve harita üretmek için birinci sınıf bir sisteme katkıda bulunabilir. Başka bir grup, gezinmek için haritaları kullanma konusunda uzmanlara sahip olabilir, ancak başka bir grup, dağınık da bulunan küçük nesneleri tanımak için iyi çalışan bir bilgisayar görme yaklaşımı keşfetmiş olabilir.

ROS robotlarda yaygın olarak kullanılan bir yazılımdır. Kod üzerinden çok az değişiklik yaparak diğer robotlar üzerinde de çalışabilecek bir yazılım parçası geliştirmeyi hedefler. ROS sayesinde standart bir robot için yazılan standart bir algoritma yükle-kullan hızında çalıştırılabilir konumda olacaktır. Robota takılan sensörlerden alınan veri ROS ile bilgisayara ulaşacaktır, bilgisayarda işlenen veri robota bir görev olarak geri dönebilecektir. Aradaki bu haberleşme sistemi ROS arayüzündeki topicler ve mesajlar yardımıyla yapılacaktır. ROS, Gazebo simülasyon ortamıyla tam uyumlu olarak çalışmaktadır. Bu sayede projenin prototip aşamasında ROS Package haline getirilen geliştirilen veri yapısını test etmek için Gazebo simülasyon ortamı hızlı bir geliştirme için kullanılabilir.

ROS ilk olarak 2007 yılında Stanford Yapay Zekâ Laboratuvarı’nda geliştirilmeye başlandı. Çalışmalar 2008 ve 2013 yılları arasında Willow Garage enstitüsünde devam etti. Bu süre içerisinden bu enstitüdeki mühendisler yirmiden fazla kurum ile görüşüp iş birliği yaptılar. Bu kurumlar, donanım ekleyerek ve kod örnekleri ile ROS’ ta proje geliştirmeye başlamışlardır. Daha sonrasında ise robot üreten şirketlerde ROS’da kullanılmak için ürünlerini ROS’a adapte etmeye başlamışlardır. 2013 yılının şubat ayında ROS yönetimi OSR Vakfı bünyesine geçiş yaptı. Yine aynı yıl ağustos ayında Willow Garage, Suitable Technologies adlı şirkete devredildi. Willow Garage Tarafından oluşturulan PR2’nin destek sorumlulukları da Clearpath Robotics tarafından alındı. Tüm bu değişim ve gelişmelerin ardından robotlarda kullanılan sensörler ve aktuatörler de ROS ile kullanılmak üzere tekrardan uyarlanmışlardır. Her geçen gün ROS destekli cihazların sayısı artmaktadır.

GAZEBO SİMULATÖR

Gazebo simülasyon programı 2002 yılının sonlarına doğru California’da öğretim görevlisi Dr. Andrew Howard ile öğrencisi Nate Koenig iş birliğiyle başlanmıştır. Açık kaynak kodlu olarak Linux ortamında geliştirilmiştir. 2009 yılında kıdemli araştırma mühendisi Jhon Hsu tarafından Gazeboya, ROS (Robot Operating System) ve PR2 entegre edilmiştir. Bu entegreden sonra Gazebo programı daha fazla tercih edilen bir simülatör programı olmuştur.

Apache 2.0 ile lisans alınmıştır. İlk başta dış ortama göre tasarlanması sebebiyle Gazebo ismi verilmiştir. Daha sonra kapalı ve açık mekânlar için geliştirilmiştir. Ücretsiz ve açık kaynak kodlu, robot simülasyon ortamıdır. Bir ve birden fazla robotun 3 boyutlu ortamda simüle edilebildiği bir programdır. V-REP gibi DART, Simbody, ODE, Bullet kütüphanelerinin kullanılması ile fiziksel ortamı işlemesi kolaylaştırılmıştır. Görüntüleme işlemi için ise yine açık kaynak kodlu olan OGRE kullanılmıştır. Sahneleme işleminde en iyi başarımı NVIDIA GPU’lar vermektedir. Gazebonun simülasyon programının yapısı ise diğer simülasyon programlarına göre daha işlevsel hale getirilmiştir. Farklı kütüphaneler kullanılarak her işlevin birbirinden bağımsız çalışması sağlanmıştır.

Gazebo genelinde server-client mantığıyla çalışmaktadır. Gzserver (sunucu) somut işlevleri yaparken (robot ortamda dolaşırken), Gzclient (istemci) kullanıcının isteklerinin yerine getirilmesi ve simülasyonun görsele aktarılmasını sağlar. V-REP simülasyon programına göre Gazebonun kullanıcı arayüzü daha vasat kalmıştır. Fakat ROS’un entegre edilmesi ile Gazebonun bu eksikliği kapatılmıştır. Gazebo, geliştiricilere C++ gibi nesneye yönelik diller ile geliştirme yapma olanağı sağlamıştır. Kodların Linux işletim sisteminde derlenmesi sebebiyle geliştirmenin daha verimli olması için program geliştiricilerinin bu dilleri iyi bir şekilde kullanabilmelerinin önemi büyüktür. Gazebo programının yüklenmesiyle birlikte, Gazebonun online veri tabanından birçok ortam (dünya), robot ve nesneye ulaşabiliriz. Veritabanındaki çokça bulunan bu robotlar ROS ile beraber çalışabilme özelliğine sahiptir. Bu online veritabanından Pioneer, iRobot gibi robotlara da erişim imkânımız vardır. Sadece veritabındaki robotlarla sınırlı kalmayıp, kendi robot ve dünyamızı yaratma imkânı bize tanınmıştır. Eğer istenilirse model.config ve model.sdf dosyalarının içindeki XML kodlarını değiştirerek fiziksel robotlara istenilen sensör ve kamera ekleyebilme şansımız vardır. Oluşturulan bu modeller için işletim sisteminin SDF ve URDF formatlarını desteklemesi gerekmektedir. Diğer simülasyon programlarına nazaran Gazebo, sensör ekleme ve gerçeklenmesi konusunda daha fazla verimlidir. Sersörlerden alınan verilere gürültülerin dâhil edilmesi gerekmektedir. Gerçek dünyada gürültüsüz veriye ulaşılması imkânsızdır. Bu sebepten dolayı simülasyon ortamının gerçek dünyadaki gibi gürültülü veri üretmesi sağlanarak ideal robot tasarımı gerçeklenmelidir. Gazebonun sensörleri sayesinde gürültülü veri oluşturmak mümkündür. Bütün bu özellikler sebebiyle ve ROS entegrasyonun olmasından dolayı Gazebo simülasyonu yazılım geliştiricileri tarafından daha çok tercih edilen bir simülasyon programı olmuştur.

Bu yazımda Gazebo ve ROS nedir? Neden tercih edilir? Sorularına cevap vermeye çalıştım. Nasıl kullanılacağına dair soru işaretlerinin cevabı bir sonraki yazımda… İyi okumalar…

--

--

Cennet Ceylan
Cennet Ceylan

Written by Cennet Ceylan

Somewhere, something incredible is waiting to be known.. EEE

No responses yet