ROS Üzernden Androd Chaz Duyargaları Yardımıyla Mobl Robot Kontrolü Abdullah Erkam KIRLI Mustafa Burak DİLAVER Furkan ÇAKMAK Blgsayar Mühendslğ Bölümü Elektrk-Elektronk Fakültes Yıldız Teknk Ünverstes, Esenler, İSTANBUL Emal: erkamkrl@gmal.com mbdlaver@gmal.com furkan@ce.yldz.edu.tr Özet Bu çalışmada, üzernde Androd şletm sstem yüklü br mobl chaz yardımıyla 6 tekerlekl dferansyel sürüşlü br mobl robotun kontrolü ele alınmıştır. Lteratürde, bu konuda tam manasıyla açık kaynaklı ve kapsamlı br çalışma yapılmadığı görüldüğünden, örnek br çalışma ortaya konmak stenmştr. Mobl robot üzernde ROS (The Robot Operatng System) çatısı kurulmuş ve şlemlern ROS üzernden gerçekleştrlmes sağlanmışken, Androd chaz üzernde se ROS kütüphanelernden yararlanılarak gelştrmeler yapılmıştır. Mobl robot üzernden alınan kamera görüntüsü ve hesaplanan harta blgs ROS üzernden Androd chaza aktarılırken, tam ters yönde robotun sürüşünü kontrol eden verler aktarılmaktadır. Mobl robot üzernde kullanılan Raspberry P 2 mkrodenetleycs üzernde Ubuntu şletm sstem, ROS un Indgo sürümüyle brlkte kullanılmıştır. Ayrıca Androd chaz üzernde vmeölçer ve dokunmatk duyargaları kullanılarak robotun kontrolü kullanıcı seçmne bırakılarak 2 farklı şeklde gerçekleştrlmştr. Böylece mobl robot kontrolünün teleop modda efektf br şeklde gerçekleştrlmes amaçlanmıştır. Anahtar Kelmeler: Mobl robot kontrolü, ROS, Androd 1. Grş Gerçekleştrlen çalışmada, Androd şletm sstemne sahp mobl br chaz üzernde bulunan vmeölçer ve dokunmatk duyargaları kullanılarak üzernde ROS [1] çatısı kurulu br robotun kontrolünün sağlanması amaçlanmıştır. Açık kaynak olarak her geçen gün sürekl gelşmekte olan ROS le Androd ortamının kablosuz bağlantı (W-F) üzernden brbrleryle letşm halnde kullanılableceğn göstermenn yanı sıra, deneysel sürümü pyasaya sürülen ROS un kütüphanelernn test edlmes gerçekleştrlmştr. Robot üzernde bulunan br web kamerası le alınan görüntüler Androd chaza ROS düğümler üzernden aktarılmış ve chazdak kullanıcı ara yüzüne bu şeklde yansıtılmıştır. Ayrıca robot üzernde Hokuyo URG-04LX model lazer kullanılarak, 180 lk 4 metreye kadar taramalar yapılmış ve bu tarama sonuçları da Androd chaz üzernden kullanıcıya sunulmuştur. Alınan taramalar yardımıyla Laser Scan Matcher (LSM) [2] yöntem kullanılarak robotun pozsyonu anlık olarak kullanıcıya bldrlmekte ve pozsyon blgs de dâhl edlerek eş zamanlı konum belrleme ve hartalama algortmalarından olan gmappng [3] çalıştırılmış ve üretlen sonuçlar yne Androd chaza aynı ara yüz üzernden aktarılmıştır. ROS un wk sayfalarında, mobl robotun kumanda kolu veya klavyeden kontrol edlmes çn çeştl kütüphaneler mevcuttur [4]. Bu çalışmanın yapılmasındak temel motvasyon, Androd veya mobl chazlar üzernde çalışan başka şletm sstemler (Wndows, OS, vb.) le çalışablecek örneklern mevcut olmamasıdır. İknc bölümde robot platformunun kullanılan donanımlarıyla brlkte detaylı br şeklde ncelenmesne ve Androd chazın özellklerne, üçüncü bölümde kullanılan yöntemlere, dördüncü bölümde uygulama ve deneysel sonuçlara ve son olarak beşnc bölümde değerlendrme ve sonuçlara yer verlmştr.
2. Robot Platformu ve Androd Chaz İncelemes Çalışmada kullanılan robot platformu ve platformla letşmn kurulduğu Androd şletm sstemne sahp chazın özellkler alt başlıklar halnde ncelenmştr. 2.1. Robot Platformu Br görselne Şekl 1 de yer verlen robot platformunun bleşenlerne bu bölümde kullanım amaçlarıyla brlkte yer verlmştr. 2.1.5. Hokuyo Lazer Robot platformu üzernde Hokuyo URG-04LX lazer duyargası kullanılmıştır. Bu lazer duyargası 180 lk tarama açısına sahptr ve 4 metreye kadar sağlıklı ölçümler yapablmektedr. 3. bölümde detaylı br şeklde açıklanan lazer tarama eşleme ve hartalama yöntem Hokuyo lazerden alınan verler üzernden gerçekleştrlmştr. Terch edlmesnn en öneml sebeplernden br de ROS le uyumlu olmasıdır. 2.1.6. Web Kamera Kullanılan web kameranın terch edlmes çn öne çıkan herhang br spesfk özellğ bulunmamaktadır. Herhang br web kamera le ağ trafğ el verdğ oranda (4. bölümde ncelenmştr) aynı şlemler yapılablmektedr. Özel olarak belrtmek gerekrse çalışmada kullanılan web kamerasının model Everest ATW-M10 dur ve 30 fps le 1280x960 çözünürlükte görüntü vereblmektedr. 2.1.7. Batarya Şekl 1. Yapılan çalışmada kullanılan robot platformu 2.1.1. Raspberry P 2 4 çekrdekl şlemcs ve 1 GB RAM kapastes le kred kartı boyutlarında br blgsayar olan Raspberry P 2, lazer duyargasından gelen verlern hartaya dönüştürülmes başta olmak üzere; robotun yönlendrlmes, kamera ve lazer verlernn alınması, Androd chaz le letşm kurulması gb şlemler çn üzerne, Ubuntu 14.04 LTS şletm sstem yüklenerek kullanılmıştır. Robot platformu üzernde bulunan tüm donanımları beslemek üzere 1 adet Plazma 14.8V 5100mAh 4S ltyum polmer (LPo) batarya kullanılmıştır. 2.1.8. Devre Şeması Robot platformu üzernde bulunan donanım elemanlarının brbrleryle olan bağlantısı Şekl 2 de verlmştr. 2.1.2. Arduno Uno Bu çalışmada Arduno Uno, Raspberry P le motorlar arası letşmn sağlanması ve robot platformu üzernde bulunan br adet sonar duyarganın okunması çn kullanılmıştır. 2.1.4. Robot İskelet Üzerne kart ve batarya koyulablecek alanlara sahp olduğu ve dferansyel sürüşlü br robot gelştrlmek stenldğ çn Dagu Wld Thumper 6WD [5] robot skelet terch edlmştr. Şekl 2. Robot platformuna at devre şeması LPo bataryadan gelen gerlm br adet regülatör yardımıyla 5V a düşürülerek Raspberry P 2 beslemes sağlanmaktadır. Arduno Uno, Raspberry P 2 üzernde bulunan USB grşne ve üzerndek pnler le Pololu motor sürücüsüne bağlıdır. Robot
platformunun motorları, sağda bulunan üç tekerleğne aynı ve solda bulunan üç tekerleğne aynı gerlm verlecek şeklde h-brdge a bağlanmıştır. Aynı şeklde, Hokuyo lazer duyargasının çalışması çn gereken 12V gerlm br regülatörden geçrlerek verldkten sonra Raspberry P 2 ye USB le bağlanmıştır. 2.2. Androd Chaz Çalışmanın gerçekleştrlmes sırasında Şekl 3 de görsel verlen Andord 5.0 şletm sstemne sahp Asus Memopad 7 adlı tablet kullanılmıştır. üretlen br görsel odometr çeşddr. LSM le üretlen odometr sonuçlarının, hartalama algortmasına verlerek yakınsamanın arttırılması ve hesaplama zamanından kazanılması amaçlanmıştır. Çalışma kapsamında kullanılan ve ROS depolarında (repostory) açık kaynak olarak kodları paylaşılan LSM, teratf en yakın nokta (Iteratve Closest Pont ICP) bulma yöntemnn yleştrlmş br versyonu olan nokta-çzg ICP (Pont-to-Lne metrc Iteratve Closest Pont (PLICP) yöntem üzerne nşa edlmştr [2]. ICP algortması, S ref referans yüzeyne kayıtlanmış {p } noktasındak trans-rotaton (rotasyon R(θ), translasyon t) değşmlern hesaplamak çn kullanılan teratf br yöntemdr. Verlen {p } nokta kümesnden, kayıtlanmış q trans-rotaton değer (1) le verldğ gbdr. p q = p (t, θ) R(θ)p + t (1) ICP, dönüştürülmüş p noktası ve bu noktanın S ref yüzeyne Ökld zdüşümü arasındak mesafey mnmum yapacak q değern bulmaya çalışmaktadır. ICP mnmzasyon fonksyonu (2) le verldğ gbdr. Buradak {S ref, p}, S ref yüzeyne Ökld zdüşümünü temsl etmektedr. Şekl 3. Asus Memopad 7. Kullanılan Androd chazın, temel özellklerne Tablo 1 de yer verlmştr. Tablo 1. Androd chaz özellkler İşlemc Quad-core 1.2 GHz Cortex-A7 Bellek 1 GB Grafk İşlemc PowerVR SGX544 Kapaste 8 GB Ekran Boyutu 7.0" Çözünürlük 800 x 1280 pxels 3. Kullanılan Yöntemler Androd br chaz üzernden teleop olarak kontrol edlecek mobl robot çn tamamlayıcı yöntemler alt başlıklar halnde verlmştr. 3.1. Laser Scan Matcher (LSM) LSM, ardışık zaman dlmlernde alınan lazer taramalarının brbrleryle eşleştrlmes sonucu mn q p q {S ref 2, p q} (2) çn kapalı formda br çözüm yoktur. Bu yüzden, başlangıç q 0 trans-rotaton değerne dayalı olarak teratf kısıt fonksyonu (3) le verldğ gb oluşturulablr. mn p q k+1 {S ref 2, p q k } (3) q k+1 Farklı {S ref, } tanımları çn farklı ICP yaklaşımları verleblr. PLICP algortması, verlen br noktaya çzgsel mesafey en yakın verecek şeklde kapalı formda çözüm üretmektedr. Nokta-nokta kayıtlama yaklaşımı lneer yakınsarken, PLICP karesel olarak yakınsamaktadır ve kısıt fonksyonu (4) le verldğ gbdr. n T, verlen br noktaya, referans çzgsnn en yakın normal çzgsnn transpozu olarak kullanılmıştır. mn (n T [p q k+1 {S ref, p q k }]) 2 q k+1 (4) y t 1 referans lazer taramasını, y t knc lazer taramasını, q 0 başlangıç trans-rotaton değern, knc lazer taramasının ndeksn, j referans lazer (2)
taramasının ndeksn ve k terasyon sayınını göstermek üzere PLICP algortması aşağıda verldğ gb tanımlanablr. Algortma PLICP Grş: y t 1, y t, q 0 S ref y t 1 den oluşan parçalı çzg segment k 0 repeat p w p q k j 1, j 2 p w (j 1, j 2 y t 1 ) e en yakın k nokta C k tüm, j 1, j 2 C k dak outler ları temzle J(q k+1, C k ) (n T [R(θ k+1 )p + t k+1 p j1 ]) 2 J y mnmum yapan q k+1 değern bul k k + 1 untl(maks_teraston_sayısı) veya (kapsama) Çıkış: q 3.1. gmappng gmappng [3] eş zamanlı konum belrleme ve hartalama (Smultaneous Localzaton and Mappng SLAM) algortmalarından brsdr. gmappng sadece lazer mesafe ölçüm duyargasını kullanarak, LSM nn yardımıyla optmum başlangıç noktasını seçtkten sonra hartalama adımlarına geçen br yöntemdr. gmappng, çok parçacıklı grd tabanlı br yöntem olan Rao-Blackwellzed Parçacık Fltres n (RBPF) [6] temel almaktadır. Her br parçacık robotun br öncek konumuna dar kend nancını tutmakta ve kend hartasını nşa etmektedr. Gelen her br lazer taraması se parçacıkların nancını güncellemektedr. Parçacıkların nançları tahmn ettkler robot pozsyonundan ve oryantasyonundan oluşmaktadır. Ayrıca gmappng optmzasyon adımında kend lazer tarama eşleme yöntemn de kullanmaktadır. ROS üzernde gerçeklenmş ve çalışma kapsamında kütüphanesnn kullanıldığı gmappng algortması aşağıda verldğ gb 6 adımdan oluşmaktadır. 5. Yenden Örnekleme: Ağırlığı belrl br eşk değern altında olan parçacıklar, ağırlığı yüksek parçacıklardan yenden türetlrler. 6. Hartalama: Her br pozsyon örneğ x t () ve tüm gözlemler p(m t () x 1:t (), z 1:t ) temel alınarak m t () hartası hesaplanır. gmappng yöntem occupancy grd tpnde harta üretmektedr. Bu tp farklı duyarga kaynaklarından gelen verler füzyon ederek yüksek çözünürlüklü br grd hartada tutablmektedr. Yne de grd lern sayısının arttığı genş alanlarda gmappng çalıştırmak hatırı sayılır oranda ek malyet getrmektedr. Br grd n p(x, y) doluluk oranı, o grd n duyargalar tarafından toplamda kaç gere görüldüğünün oranıyla (6) le verldğ gb bulunablr. p(x, y) = #dolu #dolu + #boş 3. Uygulama ve Deneysel Sonuçlar (6) Bu bölümde yapılan çalışma çn yazılan Androd uygulaması ve deneysel sonuçlar ele alınmıştır. 3.1. Androd Uygulama Gelştrlen Androd uygulaması ara yüzünde ekranın üst yarısında robot üzerndek kameradan gelen görüntüler, alt yarısında lazer duyargası kullanılarak oluşturulan harta verler gösterlmektedr. Robotun sürüşü dokunmatk duyargası üzernden çalışan joystck ara yüzüyle veya vme duyargası le yapılablmektedr. Robotun maksmum hızı ekranın alt tarafında bulunan dört adet butonla kademel olarak değştrleblecek şeklde ayarlanmıştır. Ara yüzün br görüntüsüne Şekl 4 te yer verlmştr. 1. Ölçüm alma: Yen lazer taraması alınır. 2. Tarama Eşleme: Br öncek ve şmdk lazer taramalarının eşleştrlmes le gerçekleştrlr. 3. Örnekleme: Br önce alınmış {x () t 1 } parçacıklarının yardımı ve önerlen dağılım π(x t z 1:t, u 0:t ) le en y temsl gerçekleştrecek {x () t } parçacıkları hesaplanır. 4. Ağırlıklandırma: Her br parçacığı (5) te verldğ şeklde br w () ağırlığı hesaplanır. w () = p(x t () z 1:t, u 0:t ) π(x () t z 1:t, u 0:t ) (5) Şekl 4. Androd uygulaması ara yüzü
4.2. Uygulama Kullanılan robot platformu aşağıda kroks verlen dolambaçta sürülmüş ve robotun başarılı br şeklde hartalama yapabldğ görülmüştür. Yapılan deneyler sonucunda mobl robotun ROS üzernden Androd chaza ver aktarabldğ ve aktardığı vernn boyutuna bağlı olarak mkro denetleycnn kapastesnn ne oranda kullanıldığı gözlemlenmş ve optmum yük dağılımı çn verlern hang çözünürlükte ve sevyede gönderlmes gerektğne karar verlmştr. Henüz gelştrcler tarafından da test sürecnde olan ROS Androd platformunun br uygulamasının gerçekleştrlmes ve çıkan problemlern gderlerek başarılı br netce elde edlmes bu alanda çalışmak steyenler çn ön br değerlendrme ntelğ taşıyacak ve gelştrme sürecn oldukça kolaylaştıracaktır. Şekl 5. Robotun test edldğ dolambacın kroks Bu geznme at vdeo lnkte 1 verlmştr. Vdeodan da görülebleceğ gb, robotu görmeden (teleop) süren operatör, sadece ara yüzden gelen verlerle dokunmatk duyargaları kullanarak başarılı br şeklde robotun sürüşünü gerçekleştreblmştr. 4.3. Deneysel Sonuçlar Robot üzernde bulunan kameradan alınan görüntünün çözünürlüğü ve FPS (Frame Per Second) değerler değştrldğnde şlem gücünde ve ağ trafğnde oluşan yükler Tablo ll de verldğ gb gözlemlenmştr. Harta vers de görüntü olarak aktarıldığı çn, ssteme yükü, web kamerası görüntüsünün aktarımıyla benzer br oranda olmuştur. Tablo 11. Web kamera deney tablosu Çözünürlük FPS İşlemc Ağ Trafğ Yükü (%) (Kbps) 240 x 320 30 8.75 110 240 x 320 15 3.5 45 480 x 640 30 15 180 480 x 640 15 12.5 150 960 x 1280 30 27.5 330 5. Değerlendrme ve Sonuçlar Gerçekleştrlen çalışmada, üzernde ROS şletm sstem çalışan mobl br robot ve üzernde Androd şletm sstem çalışan mobl br chaz arasında letşmn çft yönlü olarak sağlanması amaçlanmıştır. 1 Robot vdeo lnk:https://youtu.be/rxavsb0b5ke Ayrıca mobl robot kontrolünün neredeyse artık her evde bulunablecek br Androd chaz üzernden bu kadar kolay gerçekleştrleblmes, robotların sürüşü çn ek olarak kontrol koluna htyacı ortadan kaldıracak ve bu şeklde çalışma yapmak steyen araştırmacıların tasarruf etmesn sağlayacaktır. 6.Teşekkür Çalışmamız çn bze her türlü madd ve manev desteğ veren, malzeme ve laboratuvar mkânı sağlayan Yıldız Teknk Ünverstes Blgsayar Mühendslğ Bölümü Olasılıksal Robotk Grubu na teşekkürü br borç blrz. 7. Kaynaklar [1] M. Qugley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Lebs, R. Wheeler, and A. Y. Ng, Ros: an open-source robot operatng system, n ICRA workshop on open source software, vol. 3, no. 3.2, 2009, s. 5. [2] A. Cens, "An ICP varant usng a pont-to-lne metrc," Robotcs and Automaton, 2008. ICRA 2008. IEEE Int. Conf. on., 19-23 Mayıs 2008, s.19-25 [3] G. Grsett; C. Stachnss.; W. Burgard, "Improved Technques for Grd Mappng Wth Rao- Blackwellzed Partcle Flters," Robotcs, IEEE Transactons on, 2007, 23(1): s. 34-46. [4] turtlebot_teleop - ROS Wk http://wk.ros.org/turtlebot_teleop. [5] Dagu Wld Thumper 6WD All-Terran Chasss, Slver, 75:1 https://www.pololu.com/product/1561. [6]A. Doucet, J. de Fretas, K. Murphy, and S. Russel, Rao-Blackwellzed partcle flterng for dynamc Bayesan networks, n Proc. Conf. Uncertanty Artf. Intell., Stanford, CA, 2000, s. 176 183.