ROBOT MODELLEME İÇİN ROS PAKETLERİ
Bu yazımda en sık kullanılan ros paketleri ve gazebo ortamına(temel olarak mimarisine) değineceğim.
ROS, üç boyutlu robot modelleri oluşturmak için kullanılabilecek bazı paketler sunar. Bunlardan robot modelleri oluşturmak için yaygın olarak kullanılan bazı önemli ROS paketleri şunlardır:
Robot_model: ROS, üç boyutlu robot modellerinin oluşturulmasına yardımcı olan önemli paketler içeren robot model adında bir meta pakete sahiptir. Bu meta paketin içinde ki tüm önemli paketleri görebiliriz. Bunlar:
Urdf: Robot model meta paketi içindeki önemli paketlerden birisidir. Birleşik robot tanımlama biçimi (URDF) paketi, bir robot modelini temsil eden bir xml dosyasıdır. Urdf c++ yazılım dilini kullanır. Urdf kullanarak bir robot modelinde sensörler, çalışma ortamı tanımlanabilir ve bunları ayrıştırabiliriz. Urdf’ de yalnızca bir ağaç yapısı şeklinde katı uzuvlar tanımlanır. Robotta katı uzuvlar birbirleriyle eklemeler kullanılarak bağlanırlar.
Join state publisher: Bu paket, robot modeli tanımlamasını okuyan, tüm eklemleri bulan ve gui kaydırıcılarını kullanarak sabitlenmemiş tüm eklemlere ortak değerleri yayınlayan joint_state_publisher adlı bir düğüm içerir. Kullanıcı bu aracı kullanarak her bir robot eklemiyle etkileşime girebilir ve RViz kullanarak görselleştirebilir.
Kdl parser: Kinematik ve dinamatik kütüphanesi (KDL), Urdf kapsamında çözümleyici araçları içeren bir ROS paketidir.
Robot state publisher: Bu paket, mevcut robot eklem durumlarını okur. okur. URDF’ den kinematik ağacı yapısını kullanarak her bir robot uzvunun üç boyutlu pozlarını yayınlar.
Xacro: Xml makroları anlamına gelir. Xacro URDF’i daha kısa, okunabilir hale getirmek için bazı eklentiler içerir ve karmaşık robot tanımlamaları oluşturmak için kullanılabilir. Xacro her zaman urdf formatına dönüştürülebilir.
GAZEBO SİMÜLASYON PROGRAMI
Gazebo temelde, robot gelişimi için gerekli olan üç boyutlu simülasyon için robotlar, sensörler, çevre modelleri sağlayan ve fizik motoru ile gerçekçi simülasyonlar sunan bir simülatördür. Gazebo son yıllarda en popüler simülatörlerden biridir. Gazebo, ROS ve topluluğundan sorumlu Open Robotik tarafından geliştirilip dağıtılmaktadır, bu nedenle ROS ile uyumludur.
ROS, Gazebo’ ya bağlanmak için kullanılabilen ve robotik alanda güçlü bir araç oluşturan en popüler uygulamalardan biri olarak kabul edilir. Bunu yapmak için ROS, bağımsız Gazebo ortamında bağıntılar sağlayan ve farklı ROS bileşenleriyle entegrasyon sağlayabilen gazebo_ros_pkgs adlı bir paket kullanır. Bu paketler, ROS mesajları, konuları ve hizmetleri kullanarak Gazebo da bir robotu simüle etmek için gerekli arayüzleri sağlar. Ayrıca Gazebo’ da bulunan sonar, tarama lazer mesafe bulucuları ve GPS gibi sensör modelleri ile iletişim kurma yeteneği sağlar ve tasarlanan robot için gerekli sensörleri bu şekilde kullanabilmemize olanak sağlar.
Gazebo uygulamasının temel çalışma prensibi.
GAZEBO’NUN MİMARİSİ
Gazebo çeşitli kütüphanelere ayrılmıştır.
· FİZİK: Simülasyonun fiziksel durumunu günceller.
· Sahneleme: Simülasyon durumunu görselleştirir.
· Sensör: Sensör verilerini oluşturur.
· Taşıma: İşlemler arası iletişimi yönetir.
· Grafik kullanıcı arayüzü(GUI): Simülasyon görselleştirilmesi ve manipülasyonunu sağlar.
Bu kütüphaneler iki ana işlem tarafından kullanılmaktadır.
· SUNUCU(gzserver): Fizik döngülerini çalıştırır ve sensör verilerini üretir.
· İSTEMCİ(gzclient): Kullanıcı etkileşimi ve simülasyonun görselleştirilmesini sağlar.
Bir sonraki yazımda linux ortamında ros kurulumu gerçekleştirme ve ros için çalışma alanı oluşturmanın nasıl olacağına değineceğim. İyi çalışmalar.
KAYNAKLAR