• Sonuç bulunamadı

1.2. Literatür Taraması

1.2.4. Mobil robot benzetim arayüzleri

Mobil robot yazılımlarının fiziksel uygulamasına geçmeden önce çeşitli benzetim arayüzlerinde testler yapılması kendi içinde bir çalışma alanı olarak değerlendirilebilir. Bu alanda yapılan çalışmalar ve uygulamada kullanılan çeşitli kapsamdaki yazılımlar literatürde yer almaktadır. Marilou isimli yazılım 2010 yılında ticari amaçla sunulmuştur ve fiziksel ortam geliştirme, yerçekimi, moment gibi faktörleri değerlendirebilme gibi özellikler taşımaktadır. Omni-drive tipi robot analizleri, dağıtık fonksiyon analizleri, çoklu sistemlerin tasarımı ve haritalama gibi gelişmiş özellikleri barındıran bir yazılım olarak ortaya çıkmıştır [110]. 2005 yılından bu güne faaliyet gösteren LEGO firmasını geliştirdiği roboSim yazılımı LabView kütüphanelerine verdiği destek ile yaygın bir kullanım bulmuştur. Çok yüksek mekanik bilgiye ihtiyaç duymaksızın projeler geliştirilmesine imkân veren bir arayüzü bulunmaktadır. Üç boyutlu bir ortam geliştirme imkânı da bulunan yazılım fizik kurallarına uygun ortamlar geliştirilmesine izin vermektedir. Microsoft tarafından 2006 yılında geliştirilmeye başlanan Windows tabanlı bir mobil robot benzetim programı olan Robotics Developer Studio 4, önceden tanımlanmış blokların bir araya getirilmesi prensibi ile çalışan bir arayüzdür. Sensör kütüphanesinde mesafe sensörü ve kamera gibi temel elemanlar mevcuttur. Önceden tanımlanmış nesneler kullanılarak üç boyutlu çevre modellemesi yapılabilmektedir. Pons ve ekibi çalışmalarında Robotics Developer Studio 4 benzetim ortamını kullanarak model tabanlı mobil robot sistem tasarımı üzerine çalışma yapmıştır [22]. 2010 yılında ilk versiyonu geliştirilen çıkan V-REP, basit üç boyutlu tasarım yapma imkânı sağlayan geniş yelpazeli bir çevresel araç kütüphanesi barındıran bir arayüzdür. Üç boyutlu ortam geliştirme seçeneği da sunan V-REP içerisinde fiziksel robot modelleri de vardır. Hexapod, Nao ve E-Puck tipi robotlar kullanıcıya hazır olarak sunulmaktadır. Mobil robot benzetiminin yanı sıra endüstriyel seri robot kolu tasarımı da yapılabilmektedir. Kuka ve ABB robot kinematik çözümleri hazır olarak yazılım içinde sunulmuştur. V-REP ortamını kullanan Anh ve ekibi çalışmalarında sinirsel PID kontrol tabanlı özgün bir robot yürüme kontrolü gerçekleştirmişlerdir

[111]. Cyberbotics firması tarafından geliştirilen Webots üç boyutlu tasarım arayüzü ve zengin fiziksel araç kütüphanesi sunmaktadır. Nao ve Khepera gibi robotları kullanıcıya hazır olarak sunan yazılım, C/C++, Java, Phyton ve MATLAB gibi yaygın dilleri destekleyen bir kod editörü sağlamaktadır. Araştırmacılar bu dillerden biri ile kendi programlarını geliştirebilmektedirler. Grafik dosyası olarak çıktı vermesi, çeşitli fiziksel çevre elemanlarının hazır sunulması, dâhili olarak tanımlı gerçek robotlara program yükleyebilme arabirimi gibi özelliklerinin bulunması sayesinde yaygın kullanım bulmuştur. Sick LIDAR sensör modelini de içeren kütüphanesi otonom mobil robot benzetimlerinde kullanım kolaylığı sağlamaktadır. MATLAB arayüzü ile desteklenen program geliştirilen algoritmaların bu ortamda çalışmasını sağlamaktadır. Mohammad ve ekibi Webots arayüzü kullanarak mobil robotlar için bulanık mantık tabanlı engelden sakınma konulu bir çalışma yapmışlardır [112]. 2018 yılında versiyon 2.0 olarak güncellenen MATLAB Robotics Toolbox, Peter Corke tarafından geliştirilmiş ve bug, D* gibi algoritmalar içerisinde hazır olarak sunulmuştur. Gelişmiş bir üç boyutlu tasarım seçeneği sunmayan yazılım üzerinde seri robot çalışmaları da yapılabilmektedir. Farklı kontrolör ve kinematik formların eklenebilmesiyle, robot yazılımlarının test edilmesi için rahat bir uygulama alanı olarak değerlendirilebilir. Bu ortamın kullanılması için MATLAB programının yüklü olması gerekir. Xu ve ekibi MATLAB Robotics Toolbox kullanarak mobil robotlar için bir fizibilite çalışması gerçekleştirmişlerdir [113]. Linux tabanlı iki boyutlu bir benzetim ortamı olan STDR, çoklu robot sistemlerine uyumlu bir araçtır. Fiziksel çevre tasarımı seçeneği olamayan yazılımda duvar takibi ve labirent problemlerinin çözümlerine dönük uygulamalar yapılabilmektedir. ROS ortamında tanımlı bir paketi bulunan yazılım, kullanıcılar için başlangıç seviyesinin üzerinde bir programlama bilgisi gerektirmektedir. Çoklu robot haberleşmesi ve senkron çalışma gibi işlemlere dönük bir yazılımdır [114]. Java tabanlı bir mobil robot benzetimi olan Simbad, üç boyutlu bir arayüze sahip olmasına karşın gerçek objeler sağlamamaktadır. Otonom mobil robot programlama amacı ile geliştirilen Simbad, kütüphanesinde örnek kodlar ve sensör modelleri bulundurarak kullanım kolaylığı sağlamaktadır, buna karşın özgün bir yazılım geliştirmek için ileri seviyede bir programlama bilgisi gerektirmektedir [115]. Arduino platformunun grafik arayüzü olarak geliştirilen miniBloq tam anlamıyla bir benzetim ortamı olamamakla birlikte Pi-bot, Red-bot gibi mobil robotların kontrol

uygulamalarının geliştirme ortamı olarak değerlendirilebilir. Yeni başlayanlar için eğitici bir ortam sunmaktadır [116]. Gazebo 2002 yılında geliştirilmeye başlanmıştır. Yalnızca Linux ortamında çalışan yazılım C++ dili üzerine inşa edilmiştir. Linux tabanlıdır ve ROS işletim sistemi üzerine kurulur. Düşük seviyeli bir tasarım dili vardır. XML formatında tanımlanan robot kinematiği ve çeşitli katmanlardan oluşan düğüm ve haberleşme yapısı ile belli bir seviyede yazılım bilgisi gerektirmektedir. Üç boyutlu gerçekçi ortamlar oluşturulabilen bir ortam olan Gazebo, içerisinde bulunan iRobot, Kinect, Pioneer gibi hazır donanımlar ve zengin fiziksel araç kütüphanesi sayesinde karmaşık mobil robot benzetimlerinin geliştirilmesine olanak tanımaktadır. Bu yazılımların dışında Yoshida, yaptığı çalışmalarda MATLAB yazılımını kullanarak mobil robotlar için benzetim arayüzleri geliştirmiştir [18]. Bu yazılımlar görsel öğeler ile destekli bir arayüze sahip olmalarına karşın kullanıcı tanımlı kontroller ekleme noktalarında eksiklikler taşımaktadır [19]. Dean ve ekibi bir kod üretici arayüz geliştirerek tasarlanan robot konfigürasyonunu kodlara dönüştürmeyi hedeflemiştir [20].