• Sonuç bulunamadı

3. MATERYAL ve YÖNTEM

3.6. Simülasyon Programı

Robot geliştirmede simülasyon çok önemlidir. İyi tasarlanmış bir simulator ortamı ile hızlı test algoritmalarının geliştirilmesi, robot dizaynı, regresyon testi, realistik senaryolar içerisinde yapay zeka sistemlerinin test edilmesi gibi işlemler yapılabilir (Şekil 3.9) (Hsu ve Koenig 2012). Gelişkin fizik motoru, yüksek kaliteli grafikleri, programlamaya uygun grafik arayüzü, açık kaynak kodlu olması sebebiyle ücretsiz olması ve kullanılan robotik yazılım geliştirme çerçeve programıyla beraber çalışabilmesinden ötürü Gazebo 9.0.0 simülasyon programı kullanılmıştır.

29

Şekil 3.9. Gazebo simülasyon programı genel çalışma ekranı görüntüsü

3.6.1. Simülasyon ortamının ve otonom aracın oluşturulması

Tasarlanan otonom aracın engeller karşısındaki manevra kabiliyetini ölçmek amacıyla böyle bir çalışma ortamında karşılaşabileceği çeşitli engel varyasyonları Gazebo simülasyon ortamında hazırlanmıştır (Şekil 3.10).

30

Bu engeller birbirlerinden kavisli olarak ve sıra arası 1,5 m (±0,1 m) olacak şekilde ayarlanmış ağaç modelleri, sürüş sırasında dar bir kapıdan geçip daha geniş bir ağızdan çıkmayı temsil edecek koni modelleri ve büyük bir engellin etrafından dolaşmayı temsil edecek engel modeli kullanılmıştır. Ağaç modelleri özellikle kök taraflarında yaprak olmayan modeller olarak seçilmiş böylece sensörün algılayabileceği engel boyutu daraltılmış ve otonom sürüş ortamı daha zor hale getirilmiştir. Simülasyon ortamının etrafı engeller ile kapatılarak alan sınırlandırılmıştır. Tez çalışmasında tasarım kolaylığı ve dönüş yarıçapının daha kısa olabilmesi nedeniyle dört tekerlekli, sağ ve solunda iki elektrik motorundan tahrik alan bir otonom araç modeli kullanılmıştır.

Gazebo ortamında oluşturan otonom araç için devir ölçer sensör, UM6 atalet sensörü (devir ölçer ve atalet sensörü odometri verisini üretmektedir), LMS-111 LIDAR sensör kullanılmıştır. Bu ekipmanların seçilmesinin sebebi yaygın olarak kullanılmaları ve daha sonra geliştirilecek prototip üzerinde, geliştirilen bu yazılımın minimum değişiklikle uygulanmak istenmesidir.

Çizelge 3.1. Simülasyon ortamını tanımlayan world dosyası

<?xml version="1.0"?>

<sdf version="1.4">

<world name="default">

<!-- Taban -->

<include>

<uri>model://ground_plane</uri> </include>

<!-- Işık kaynağı -->

<include>

<uri>model://sun</uri> </include>

<include>

<uri>model://model_dosya_ismi</uri> </include>

</world>

31

Gazebo programında simülasyon ortamı world ve model dosyaları olmak üzere iki ana kısımdan oluşmaktadır. Bu her iki dosya da bir XML formatı olan Simülasyon Tanımlama Formatını (SDF) kullanmaktadır. Simülasyon içerisinde yer alan otonom araç, ışık kaynağı, sensör ve statik objeler oluşturulan world dosyasında bulunmaktadır. World dosyası içerisine eklenen modellerin konumları, boyutları, fiziksel özellikleri, hareket kabiliyetleri ayarlanmıştır. Gazebo sunucusu bu dosyayı okuyarak simülasyon ortamını oluşturmuştur. Çizelge 3.1' de taban, ışık kaynağı ve bir modelden oluşan örnek bir world dosya yapısı görülmektedir.

Çizelge 3.2. Simülasyona 3 boyutlu tasarımların eklenmesi

<visual name='visual'>

<geometry>

<mesh>

<uri>model://robot_model/meshes/örnek.dae</uri>

</mesh>

</geometry>

</visual>

Simülasyon ortamına eklenecek otonom araç ve aracı oluşturan parçalar Google Sketchup Make programında 3 boyutlu olarak çizilmiş ve .dae uzantılı olarak kaydedilmiştir. Bu parçalar aşağıdaki örnek XML kodu formatında simülasyon ortamına eklenmiştir (Çizelge 3.2).

Otonom aracın hareketli parçaları, izin verilen hareket yönü, kütle ve parçanın hacmine göre Gazebo tarafından hesaplanan atalet özellikleri aşağıdaki örnek xml dosyası gibi tanımlanmıştır (Çizelge 3.3).

Son olarak Gazebo kütüphanesinde bulunan ve otonom araca eklenecek olan sensörler simülasyon ortamına eklenmiştir. Çizelge 3.4' te eklenen LIDAR sensöre ait XML kod örneği verilmiştir.

32

Çizelge 3.3. Otonom araç modeline eklenen parçaların atalet özelliklerinin tanımlanması

<inertial> <mass>1.0</mass> <inertia> <ixx>0.083</ixx> <ixy>0.0</ixy> <ixz>0.0</ixz> <iyy>0.083</iyy> <iyz>0.0</iyz> <izz>0.083</izz> </inertia> </inertial>

<collision name="collision">

<geometry> <box> <size>1 1 1</size> </box> </geometry> </collision>

Çizelge 3.4. Simüle edilen otonom araca sensör eklenmesi

<include>

<uri>model://lms111</uri>

<pose>0.2 0 0.2 0 0 0</pose>

</include>

<joint name="lms_joint" type="fixed">

<child>lms111::link</child>

<parent>chassis</parent>

33

Çizelge 3.4' teki örnek kodda eklenecek sensörün otonom araç üzerindeki konumu <pose>...</pose> etiketi içerisinde belirlenmiştir. <joint> etiketi içerisinde bu eklemin hareketsiz olduğu ve hangi parçaya bağlı olduğu belirtilmiştir.

Şekil 3.11. Donanım diyagramı

Sistemin temelini, geliştirilen otonom navigasyon programını çalıştıran bilgisayar oluşturmaktadır (Şekil 3.11). Bu program sensörlerden gelen verileri işleyerek haritalama, lokalizasyon, rota planlama ve ilaçlama sisteminin açılıp kapatılması işlerini yapmıştır. LIDAR sensörü çevresinden aldığı mesafe ölçüm verilerini navigasyon programına iletmiştir. Devir ölçer sensör ve atalet sensöründen alınan veriler navigasyon programına gönderilerek otonom aracın hareket hızı, yönü ve gittiği mesafenin hesaplandığı odometri mesajı elde edilmiştir. Elektrik motoru rota planlama uygulaması tarafından hesaplanan rotayı takip edecek şekilde navigasyon programından gelen doğrusal hız ve dönüş komutlarını motor sürücü aracılığı icra etmiştir.

Benzer Belgeler