mühendislik Cilt:7, Sayı:5, 41-54 Ekim 2008
*Yazışmaların yapılacağı yazar: Sanem SARIEL. sariel@itu.edu.tr; Tel: (212) 285 38 52.
Bu makale, birinci yazar tarafından İTÜ Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Programında tamamlanmış olan "An integrated planning, scheduling and execution framework for multi-robot coordination and cooperation" adlı doktora tezinin bir bölümünden hazırlanmıştır. Makale metni 22.06.2007 tarihinde dergiye ulaşmış, 29.08.2007 tarihin-de basım kararı alınmıştır. Makale ile ilgili tartışmalar 31.03.2009 tarihine kadar tarihin-dergiye göntarihin-derilmelidir.
Özet
Bu çalışmada, Çoklu-Robot Çoklu-Hedef Ataması problemi için bir gerçek zamanlı görev seçme ve atama yöntemi önerilmektedir. Çoklu-Robot Çoklu-Hedef Ataması problemi, literatürde iyi bilinen ve tüm veri kümeleri için en iyi çözümlerin polinomsal algoritmalarla bulunamadığı MTSP (Multiple Traveling Salesman Problem) probleminin her bir hedefin en az bir robot tarafından zi-yaret edilmesini gerektiren değişik bir uyarlamasıdır. Bu problem için farklı eniyileme amaç fonksi-yonları tanımlanabilir (Örn. yürütme zamanını iyileme, robotların toplam yollarını iyileme, vb.). Bu makalede, bu problemin gerçek dünya versiyonu ele alınıp, yürütme zamanında ortaya çıkabilecek problemler irdelenmiştir. Çoklu-robot sistemlerinin ortaklaşa çalışmalarında karşılaşılan en büyük güçlükler, görevlerin yürütme zamanının önceden kesin olarak tahmin edilememesi, yürütme süre-since değişebilen maliyet değerleri ile belirsizlik ve tutarsızlıklardan kaynaklanır. Bu çalışmada, yürütme zamanı kısıtlamalarını da aşmak üzere etkin bir dinamik görev seçim ve atama yöntemi önerilmekte ve önerilen yöntemin, hem benzetim ortamlarında hem de gerçek robotlar üzerinde ya-pılan testlerle başarım analizi yapılmaktadır. Önerilen yöntem, yürütme zamanında oluşabilecek birçok hataya karşı dayanıklı olarak sistemin güncel durumuna göre artımlı ve dağıtılmış bir görev ataması gerçekler. Gerçek zamanlı yürütmeye uygun şekilde iletişim gereksinimleri minimumda tu-tulmaya çalışılmıştır. Gerçeklenen testler yöntemin bilgi-işlemsel açıdan etkin ve düşük maliyetli, sistemin hatalara karşı dayanıklı olmasını sağlayacak şekilde çalıştığını gösterir niteliktedir.
Anahtar Kelimeler: Çoklu-robot sistemleri, gerçek zamanlı çoklu-robot çoklu-hedef atama, artımlı
görev seçimi, dinamik görev atama, hataya dayanıklılık.
Gerçek zamanlı çoklu-robot çoklu-hedef problemi için
artımlı atama yöntemi
Sanem SARIEL1*, Nadia ERDOĞAN1, Tucker BALCH2
1İTÜ Fen Bilimleri Enstitüsü, BilgisayarMühendisliği Programı, 34469, Ayazağa, İstanbul 2Georgia Institute of Technology, College of Computing, Atlanta, GA, 30332
42
Incremental task selection and
allocation for the real-world multiple
travelling robot problem
Extended abstract
In this study, the real-world Multiple Travelling Ro-bot Problem (MTRP) is analyzed and an integrated approach is proposed to solve this problem in real time. MTRP is a generalization of the well-known Multiple Traveling Salesman Problems and is solved by a multi-robot team. In MTRP, a different version of the well known NP-hard MTSP (Multiple Travel-ing Salesman Problem), each target must be visited by at least one robot in its open tour. Depending on the selected application domain, various objectives may be defined for this problem (e.g. minimization of total path length, time, makespan etc.). Although this problem has emerged from Operations Re-search, it has become one of the main problems in multi-robot research for different missions (e.g., search and rescue, space, or surveillance opera-tions, etc.). In this article, besides the target alloca-tion issue, the real challenges of this problem are presented. Unpredictability of the exact processing times of tasks, unstable cost values during runtime and inconsistencies due to uncertain information form the main difficulties of the task allocation prob-lem for robot systems. Since the real world is beyond the control of robots, in most cases, the Operations Research solutions are not directly applicable due to either robot hardware/software limitations or envi-ronmental dynamics. These approaches may become impractical when the size of the mission is even moderate or the cost values change frequently be-cause of the uncertain knowledge, changes in the environment (including failures) or the changing structure of the mission (e.g. online tasks). Further-more, robots have continuous path planning burdens for target sets in dynamic environments. Expensive computational efforts for initial allocations may be-come redundant.
We propose a solution as a generalized framework – DEMiR-CF (Distributed and Efficient Multi-Robot Cooperation Framework) –which includes dynamic task selection, distributed task allocation and con-tingency handling mechanisms. These mechanisms and lower level robot controllers, the motor and sensory modules are integrated together to solve the real-world MTRP.
DEMiR-CF, while capable of handling diverse con-tingencies, performs an incremental task allocation
method based on the current information about the environment. Globally efficient solutions are ob-tained by the proposed mechanisms that form prior-ity based rough schedules and select the most suit-able tasks from these schedules. Rough schedules are formed by using information regarding the be-liefs about the other robots. Since DEMiR-CF is for real-world task execution, communication require-ments are kept at minimum as much as possible. The approach is distributed and computationally effi-cient. Target allocation and route construction is integrated into each other by an incremental as-signment approach. Real time conditions and con-tingencies that change the problem instance are handled at the same time by the designed contin-gency handling mechanisms. Robots keep system models to correct models of their own or warn other robots to maintain system consistency.
Empirical evaluations of the system performed on the Webots simulator and on Khepera II robots re-veal the efficiency of the integrated components of the approach. Experiments are designed in three sets. In the first set of the experiments, evaluations of the proposed cost functions to be used with DEMiR-CF are performed. Comparisons are made both with the optimal results taken from the IP solver CPLEX and that of the Prim Allocation approach, one of the efficient methods to solve this problem. As the re-sults illustrate, allocating all targets from scratch and generating routes of robots may result in subop-timal solutions. Therefore the target allocation and the route construction should be integrated for effi-cient heuristic approaches. This integration and in-cremental allocation is also useful for eliminating redundant calculations especially in highly dynamic or unknown environments. In the second set of ex-periments, scalability of the framework and the re-sponse efficiency of the contingency handling mechanism integrated into the framework are evalu-ated. The scalability of the approach is validated and the efficiency of using the contingency handling mechanisms is observed in the results. The third set of experiments is performed on real robots. As re-sults illustrate, both incremental task selection and allocation approaches produce efficient results and the contingency handling mechanisms make the sys-tem robust and allow the handling of real-time online situations.
Keywords: Multi-robot systems, robot multi-target assignment in real-time, incremental task se-lection, dynamic task allocation, robustness.
43
Giriş
İyi tasarlanmış ortaklaşa çalışan çoklu-robot sis-temleri, arama kurtarma çalışmaları, uzay araş-tırmaları ve korumaya yönelik askeri uygulama-larda etkin şekilde kullanılmak üzere geniş bir kullanım alanı sunar. Bu uygulama alanlarında, “çoklu-robot çoklu-görev atama problemi” en temel problemlerden biridir. Her ne kadar aynı temel problemi içerseler de, uygulamaların eni-yileme amaçları farklı olabilir. Örneğin, arama kurtarma çalışmaları için yürütme zamanını kı-saltmak önemli iken, uzay araştırmaları esna-sında sınırlı yakıt mevcudu nedeniyle robotların toplam yolu kısaltılmaya çalışılabilir.
Çoklu-hedef atama probleminin tek bir robot için tanımı, yöneylem araştırmalarında iyi bili-nen TSP (Traveling Salesman Problem) prob-leminin (Lawler vd., 1985) açık çevrim versiyo-nu olup, polinomsal karmaşıklıktaki yöntemlerle tüm veri kümeleri için en iyi sonucu oluşturabi-lecek şekilde çözülemez. Problemin çoklu-robot versiyonunda, robot yol planlamasının yanında, hangi hedefin hangi robota atanacağı problemi de göz önüne alınacağından problemin karma-şıklığı artar. En iyi sonuçlar IP (Integer Programming) formülasyonları ile bulunabilir. Ancak, bu yöntemler, hedef sayısının artması, hedef atamasında kullanılan maliyet değerleri-nin belirsizliklerden dolayı sıkça değişim gös-termesi, robot bozulmaları nedeniyle hatalar oluşması veya sisteme yeni görevler eklenmesi durumlarında yeniden atamaların yapılması söz konusu olduğundan, sıkça bilgi işlemsel açıdan yüklü hesaplamalar yapmayı gerektirebilir. Bun-ların ötesinde, robotBun-ların yürütme zamanında hedefleri ziyaret etmek üzere hem yol planlama-sı hem de ortam haritalamaplanlama-sı için hesaplamalar yapmaları gerekir. Bu ek hesaplamalar sistem yükünü daha da artıracaktır. Dolayısıyla, ilk atalamaların yapılması için yapılan maliyetli işlemsel hesaplamaların, yürütme zamanının sonraki aşamasında belirtilen nedenlerle tümüy-le gözardı edilip, yeniden yapılması gerekebilir. Özellikle gerçek dünya üzerinde çalışan robot sistemlerinde bu çok sık rastlanan bir durumdur. Bu çalışmada, tüm bu problemlerin çözümü ola-rak genel bir çoklu-robot sistem mimarisi olan
DEMiR-CF (Distributed and Efficient Multi-Robot-Cooperation Framework) önerilmekte (Sarıel vd., 2006, Sarıel ve Balch, 2006a) ve gerçek zamanlı çoklu atama problemine uygu-laması gerçeklenerek, başarım analizi verilmek-tedir. Genel olarak, DEMiR-CF mimarisi hete-rojen bir robot takımının farklı kaynak gereksi-nimleri içeren karmaşık görevleri, dağıtılmış bir yönetim anlayışı içinde başarıyla tamamlaması-nı sağlayacak şekilde tasarlanmıştır. Farklı iyileme amaç fonksiyonları ile tamamlanmak istenen görev, robotların ortaklaşa ve koordineli şekilde çalışması ile hataya dayanıklı şekilde yürütülür.
Çoklu-hedef atama problemi için maliyet fonksi-yonları tasarlanmış ve DEMiR-CF mimarisi ile birleştirilerek başarılı sonuçlara ulaşılmıştır. DEMiR-CF gereksiz hesaplama yükünü artımlı atama yaklaşımı ile indirger. Artımlı atamalar sistemin güncel durumu göz önüne alınarak yapı-lır. Artımlı ve dinamik bir yapının kurulmasının yanında, sistemin bütününün başarımı da göz önüne alınır. Robotlar kendi hedeflerini seçerken, ileride ziyaret etmeleri gereken hedefleri de göz önüne alarak planlama yaparlar fakat bu hedefleri belirlerken de etkin yöntemler kullanırlar. Bu hedefler daha sonra başka robotlar tarafından da ziyaret edilebilir. Önerilen yöntemde, robotlar, hedef ataması ve ziyareti esnasında oluşabilecek çeşitli hatalara karşı sistemi dayanıklı kılacak şekilde çalışmalarını sürdürürler, aynı zamanda hem ortaya çıkabilecek yeni fırsatları değerlendi-rir, hem de maliyet artımı durumunda daha iyi çözümler üretmeye çalışırlar.
Sonuç olarak bu çalışmada, robot çoklu-hedef atama konusunun gerçek ortam yürütme problemleri ele alınmış, etkin maliyet fonksi-yonları önerilmiş ve genel bir mimari ile bu problemin etkin ve polinomsal bir karmaşıklıkla çözülmesi sağlanmıştır. Deneysel sonuçlardan da görüleceği gibi, görev ataması ve robot yol planlamasının entegrasyonunu öneren yöntem oldukça iyi sonuçlar vermiştir.
Çoklu-robot çoklu-hedef problemi
Çoklu-robot çoklu-hedef atama problemi, çok sa-yıda hedefin en az bir robot tarafından etkin şe-kilde ziyaret edilmesi problemidir. Bu problem
44
eniyileme için farklı amaç fonksiyonları ile ifade edilebilir. Robotların göreve başlangıç noktaları hakkında bir kısıtlama yoktur. Eniyilemede robot-ların hedef ziyaretlerini tamamladıktan sonra baş-langıç noktasına geri dönüşleri göz önüne alın-maz. Problemin çözüm kalitesinde, hem hedefle-rin robotlara ne şekilde atandığı hem de robotların hangi yolla kendine atanan hedefleri ziyaret ettiği-nin yüksek ölçüde önemi vardır.
4 4 3 3 3 3 (a) (b) (c)
Şekil 1. Robot-hedef çiftleri uzaklıkları ile yapılan sınıflandırma
Sadece çiftler arası uzaklık değerlendirildiğinde, robot yolu oluşturulurken katedilmesi gereken yollar dikkate alınmaz (Şekil 1). Şekil 1’ de, ro-bot konumları nokta, hedefler çarpı işareti ile gösterilmiş ve uzaklıklar belirtilmiştir. Sadece uzaklıkları değerlendirerek yapılan atama sonu-cu oluşan çözüm, 18 birim maliyetli olup, en iyi çözüm 14 birim maliyetlidir. Demetleme yön-temleri kullanılarak da hedef atamaları yapılabi-lir. Fakat bu yöntemde de ek dolaşım maliyetleri gözardı edilmektedir (Şekil 2).
Lagoudakis ve diğerleri (2005) bu problemi hedef atama açısından hem ardışıl hedef atama ağaçlarının ve robot yollarının oluşturulması, hem de yolların doğrudan oluşturulması yö-nünde incelemiştir.
Problemin çözüm yöntemleri
Çözüm yöntemleri yöneylem araştırmalarındaki yöntemler ve robotlar üzerinde gerçeklenen yöntemler başlığı altında iki bölümde incelenecektir.
Yöneylem araştırmaları yöntemleri
En iyi çözümler, etkin bir Integer Programming (IP) formulasyonunun CPLEX gibi IP çözücü programlarla çözülmesi sonucu oluşturulabilir.
2 4 3 3
(a)
(b) Toplam Çözüm Maliyeti = 11
(c) En iyi Çözüm Maliyeti= 9
Şekil 2. Demetleme ile elde edilen çözüm
Bir başka çözüm yöntemi de problemi Branch-and-Bound (BB) algoritmaları ile çözmektir. Bu algoritmada çözümleri içeren bir arama ağacı daha küçük ağaçlara bölünerek arama sürdürü-lür. Anlık incelenen ağaçta en küçük ve en bü-yük çözümler değerlendirilerek arama yönlendi-rilir. Aramaya tüm düğümler silinip tek bir çö-züme ulaşılana dek devam edilir (Toth ve Vigo, 2001).
En iyi sonuçları üreten IP ve BB yöntemleri problemi çözmek için kullanılabilir fakat çok büyük olmayan veri kümeleri için bile çözüm süresi için bir garanti verilememektedir. Belir-sizliklerden dolayı, hedefler arasındaki tahmini uzaklıkların değişmesi durumuyla sıkça karşıla-şılabilir. Ortamda oluşabilecek ufak değişiklik-ler bile çözümü tümüyle değiştirebilir. Bu rumda problem yeniden çözülmelidir. Bu du-rumlara karşı hızlı çözümler üretmenin önemi özellikle gerçek zamanlı çalışan sistemler için artmaktadır.
Amaçlanan hızı sağlayabilmek üzere, çözüm kalitesinden belli bir oranda fedakarlık ederek yine de iyi sonuçların üretildiği sezgisel yön-temler uygulanabilir. Bu tür yönyön-temlerde, önce standart hedef ataması ve sonra atamalar üze-rinde iyileştirme çalışmaları yürütülebilir. Ara-ma, uzayın sadece belirli bir bölgesinde gerçek-lenmektedir. Bir başka sezgisel yöntem olan yaklaşımsal (Metaheuristic) yöntemde, arama uzayı daha da geniş tutulabilir. Bu yöntemlere örnek olarak Evrimsel Algoritmalar, Tabu Ara-ması (Tabu Search) ve Benzetimli Tavlama (Simulated Annealing) yöntemleri sayılabilir.
43
Yaklaşımsal yöntemlerde iyi sonuçlar
alınabile-ceği gibi zaman karmaşıklığı da bağıl olarak artmaktadır. Ayrıca uygulanan işlemler genel-likle bağlama dayalı olup, çoğunlukla iyi sonuç-lar, ancak iyi belirlenmiş parametrelerle alınabi-lir (Toth ve Vigo, 2001).
Robotlar için tasarlanan yöntemler
GRAMMPS (Brumitt ve Stentz, 1998) bu prob-lemi ele alan ve robotlar üzerinde gerçeklenen ilk çalışmalardan biridir. Bu çalışmada, atamalar merkezi olarak yapılır. İlk atamalar rastgele ola-rak yapılıp, zaman içinde bu atamalar Benzetim-li Tavlama algoritması ile iyileştiriBenzetim-lir.
Prim Allocation yöntemi (Lagoudakis vd., 2004), Prim Algoritması üzerine kurulmuş bir çoklu-robot çoklu-hedef atama yöntemidir. Ro-botlar için ayrı ayrı Minimum Kapsayan Ağaç (Minimum Spanning Tree) ve tümünde Mini-mum Kapsayan Orman (MiniMini-mum Spanning Forest) oluşturulur. Hedef ağaçları, algoritmanın adım adım yürütülmesi ve her bir adımda atan-mamış bir hedefin kendine en yakın yola sahip robota atanması ile gerçeklenir. İşlem, tüm he-defler atanana dek devam eder. Dolayısıyla, herbir yeni hedef ataması, ilgili hedefin robotla-rın o ana dek oluşturdukları hedef ağaçlarobotla-rındaki hedeflerine uzaklıkları dikkate alınarak yapılır. Robotun son konumu değerlendirilmez. Algo-ritmanın dağıtılmış versiyonunda, her bir robot kendisi için en uygun hedefle ilgili bir açık art-tırma yapar ve en düşük istekte bulunulan hedef ilgili robot ağacına eklenir. Hedef atamalarının tümü robotların görevi yürütmesinden önce ger-çeklenir. Ortam durumunun değişmesi halinde, kalan tüm hedeflerin ataması yeniden aynı yön-temle yapılır. Prim algoritması gibi Prim Allocation yöntemi çözümü de en iyi çözümün en fazla 2 katı ile sınırlıdır. Bu algoritmanın tüm gerçekleme ayrıntıları, ilgili makalede ve-rilmiş olduğundan, deneyler için bu çalışma kapsamında gerçeklenmiş çözüm ile karşılaş-tırmalar yapılmıştır. Prim Allocation algorit-masının yer aldığı makalede robot benzetim ortamı üzerinde elde edilen sonuçlar bulun-makta, ancak algoritmanın gerçek robotlar üze-rinde gerçeklenmiş bir versiyonu yer almamaktadır.
Literatürde bir anda çok-hedefli atamaların ya-pıldığı yöntemler de bulunmaktadır. Bu yöntem-ler belirli hedef kümeyöntem-lerinin robotlara atanması ile ilgilenir ve robotlar arasında kombinezonsal olarak bu hedef kümelerinin değişimini gerçek-lerler. Bu yöntemi uygulayan robot sistemleri-nin başında Dias ve Stentz (2002) ve Berhault ve diğerleri (2003) çalışmaları gelmektedir. Dias’ın çalışmasında ekonomi modeli ele alınıp robot grupları ve liderler ile kombinezonsal ola-rak hedef alış-verişi ile sonuca ulaşılır. Fakat bu yöntem, kombinezonsal olarak hedef kümeleri üzerinde çalıştığından büyük hedef kümeleri için veya dinamik ortamlarda sık değişen mali-yet değerlerine karşılık karmaşık bir sistem önermektedir ve bilgi işlemsel gereksinimleri oldukça büyük oranda artmaktadır.
Gerçek zamanlı yürütme sırasında oluşabilecek durumlar
Robot sistemleri için önceden tanımlanmış plan ve stratejiler bulunsa da, fiziksel ortamda görev yürütme önceden planlanmamış durumları da kotarmayı gerektirir. Gerçek dünya, robotların kontrolü dışında kalıp, sürekli değiştiğinden çoklu-robot görev yürütme problemi görev ata-ma probleminin de ötesine geçer. Özellikle sensör gürültüleri, beklenmeyen davranışlar ve etkileri, iletişimden kaynaklanan ortam kısıtla-maları ve donanım bozulkısıtla-maları çoklu-robot gö-rev yürütme problemini zorlaştırıcı unsurlardır. Tüm bu faktörler çözüm üzerinde etkilidir. Yü-rütme esnasında oluşabilecek durumlar aşağıda özetlenmiştir:
• Robotun bozulduğunu farketmesi
• Robotun bir diğer robotun bozulduğunu
farketmesi
• Görev yürütme zamanının tahmin edilenden
daha uzun/kısa sürmesi
• Görev tanımlarında olabilecek değişiklikler
• Yeni görevlerin eklenmesi
• Yeni robotların sisteme eklenmesi
• Operatörlerin görev dağılımında değişiklik
yapması
Bu durumlar robotun kendi belirlemeleri veya dış etkenler sonucunda oluşabilir. Bu plan dışı durumlara karşın, en iyi çözümün bile kalitesi
44
değişebilir. Çözüm kalitesini bu durumlara kar-şın ölçmek robot sistemleri için zor olmaktadır. Şimdiye dek yapılan çalışmalarda, çözüm kali-tesi ile ilgili sınırlar, gerçek zaman durumlar gözardı edilerek ve bilginin tümüyle erişilebilir olduğu kabul edilerek verilmiştir (Lagoudakis vd., 2004).
Önerilen yöntem
Yürütme sırasında oluşabilecek durumlar nede-niyle, en iyi çözümleri elde etmek her zaman gerekli olmayabilir (Reinelt, 1994). Problemin tam olarak doğru şekilde modellenmemesi veya en iyi çözümü bulmak için gereken sürenin ger-çeklemede sağlanamaması, bu durumları destek-ler ve çoğunlukla da robot sistemdestek-lerinde bu du-rumlar olasıdır. Bu çalışmada, tüm gerçek za-man kısıtlamalarına karşın iyi sonuçlar üretebi-len bir görev seçim ve atama yöntemi öneril-mektedir. Tasarlanan ve gerçeklenen altyapı, robotların bir görevi yerine getirmek üzere gö-revin alt parçalarını üstlenip, koordinasyon için-de çalışmalarına olanak sağlayan dinamik ve artımlı bir görev yürütme mekanizması içermek-tedir (Sarıel ve Balch, 2006b). Sistem, robotla-rın, merkezi bir otorite olmadan, dağıtılmış bir şekilde kendileri için uygun görevleri seçmele-rine izin vermektedir. Çalışmanın özgün katkıla-rından biri olan geçici görev listesi oluşturma ve artımlı görev ataması yaklaşımı, dinamik ortam-larda görev atama ve yol planlama adımlarının, yürütme anında ve işlemsel yükü az olacak şe-kilde, bir arada gerçeklenmesine olanak sağla-maktadır. Böylelikle, olağan dışı durumlara kar-şı sistemi dayanıklı kılan davranış biçimleri üre-tilerek, çözüm kalitesinin yürütme ile eşzamanlı olarak korunması amacına ulaşılır.
Dinamik görev seçimi yordamı (DGSY)
Her bir robot (rj), problemi bütün olarak ele
ala-bilmek için ileride yürütebileceği hedefleri içe-ren geçici bir görev listesi (TRj) oluşturur. Bir
sonraki adımda da, robotlar listelerinden kendi-leri için ilk olarak yürütülmesi en uygun olan görevi (tS) seçerler. Geçici görev listeleri,
Denk-lem 1’e göre ziyaret edilmemiş hedefler (TU)
arasından seçimle oluşturulur ve robota en yakın olan ziyaret edilmemiş hedefleri içerir. Bu
denk-lemdeki dist fonksiyonu iki nokta arasındaki
Euclidean uzaklığını hesaplar.
U i i j i Rj i k i j i j T t t r reldist t T j k t r dist t r dist t r reldist ∈ ∀ < ∪ = ≠ ∀ − = , 0 ) , ( , } { )), , ( min( ) , ( ) , ( (1)
Dolayısıyla, en uygun hedef seçilmeden önce her bir robot, geçici görev listesini oluşturur; ancak bu, listede yer alan görevlerin ilgili robot tara-fından mutlaka yürütüleceği anlamına gelmez. Aksine, geçici görev listeleri zaman içinde deği-şebilir. Bu listelerin oluşturulmasındaki amaç, görev ataması öncesinde probleme global olarak bakabilmek ve daha iyi atama planı oluştura-bilmektir. Geçici görev listesi Algoritma 1 uy-gulanarak oluşturulur. Robot, daha sonra kendi-ne ait görev listesi içinden en uygun görevi (tS)
yürütmek üzere seçer.
Algoritma-1. Geçici görev listesi oluşturma, rj
algoritma ismi: MTRP-FormRoughSchedule giriş parametreleri: TU
çıkış parametreleri: TRj ve tS
φ
=
Rj
T (maliyet fonksiyonuna göre oluşan heap) φ
=
S t
while (TU ≠φ)
if ti geçici görev listesi (Denklem (1) ) içindeyse ji
c maliyetini ti için hesapla
i
t ’yi TRj’ye yerleştir
if ||TRj||>0 ) ( Rj S topT
t =
Algoritma 2, artımlı görev seçimini gerçekleyen temel döngüyü gösterir. Bu algoritma, görev yürütme başında ve robotun ortam bilgisi her değiştiğinde çağrılır. Her bir robot, ana görevin ziyaret edilmemiş bütün hedefleri ziyaret edile-ne kadar dağıtılmış bir şekilde aynı algoritmayı gerçekler ve ilgili görevleri yürütür. Önerilen algoritma tüm hedefleri tümüyle yeniden ata-mak için de kullanılabilir fakat bu çalışma, di-namik ortamlar için hedeflerin tümüyle değil, artımlı olarak atanmasını öngörmektedir. Bu sayede, yinelenen gereksiz atamalar ve bu adım-ların neden olacağı fazladan işlem yükü
43
miş olur. Hedef seçimi için kullanılacak maliyet fonksiyonu karmaşıklığı, üzerinde gerçeklene-cek robotların kapasitelerine göre belirlenebilir.
Algoritma-2. Artımlı görev seçimi döngüsü, rj
algoritma ismi: MTRP-DPTSS giriş parametreleri: TU
çıkış parametreleri: Robot davranışı
[TRj, tS] = MTRP-FormRoughSchedule(TU) if tS ≠φ
if tS= yürütülmekte olan görev görevi yürütmeye devam et else
if tS yürütülmüyor ise yürütme isteği belirt else görev değişimi yap else boşta bekle
Maliyet fonksiyonu
TSP için önerilmiş olan maliyet fonksiyonları çoğunlukla üçgen eşitsizliği özelliğini kullanır. Bu çalışmada önerilen fonksiyonlar da aynı prensibe dayanır. En Yakın Hedef (EYH) sezgi-sel maliyet hesabı basit şekilde, robot ve hedef arasındaki uzaklığı değerlendirir (Denklem (2)).
Rj i i j ji dist r t t T c = ( , ), ∈
(
2)
Uzak Hedef Ekleme Maliyeti (UEM) bir başka maliyet hesap fonksiyonu olup (Denklem 3), sı-nırda olan hedeflerin seçilmemesi durumu için ceza uygulayarak geçici hedef listesi içinde uy-gun bir rota çizmeye yarar (Sarıel ve Balch, 2005). } )), , ( max( ) , ( { )) , ( ), , ( max( ) , ( * ) 1 ( ) , ( * , , 2 1 2 1 2 1 Rj l k i l k b b b i b i b b i j ji T t t t dist t t dist t t dist t t dist t t dist t r dist c ∈ = − − + = α α (3) 1 b
t ve tb2, TRj içinde birbirine en uzak olan iki
hedef çiftidir. Fonksiyon, robotları bir dereceye kadar bu hedefleri öncelikle ziyaret etmeye iter çünkü bu hedefler ziyaret edilmesi gereken bir-birlerine en uzak hedef çiftidir. Söz konusu olan en uzun mesafe, yoldaki diğer hedefler de
ziya-ret edilerek azaltılabilmektedir. Örnek bir robot yolu Şekil 3’de verilmektedir. Şekilde t2, r1’e
daha yakın olduğu halde, yapılan maliyet hesabı
ile, önce t1’i ziyaret etmenin maliyetinin daha
düşük olduğu belirlenmiştir; robot önce t1’e
gi-der, daha sonra da yol üzerindeki diğer hedefleri tek tek ziyaret eder. Yapılan deneysel ölçümler sonrasında α katsayısı için seçilen 0.6 değeri ile en iyi ölçümler elde edilmiştir.
Şekil 3. UEM ile örnek bir maliyet hesabı Algoritma-3. Temel adımlar (Asenkron), rj
if istek için son cevap yollama süresi doldu isteği sonlandır
en uygun robotu seç ve bildir ya da yürütmeye başla if tk için rl’den istek mesajı geldiyse
ilgili amaç fonksiyonuna göre MTRP-Response yürüt
if istek seçim mesajı geldiyse ve ||TRj ||=0 görevi yürütmeye başla
if ortam durumu T ’yi değiştirecek şekilde değişti ise Rj
yürütme veya istekleri iptal et
Algoritma-3’.Toplam yolu kısaltma amacıyla tk
için rl’den gelen isteğe yanıt, rj
algoritma ismi: MTRP-Response - Path
if yürütülmekte olan görev veya istek yayını varsa ve
lk ji c c >
yürütme veya istek yayınını iptal et
if cji<clk k
t için kendi maliyet bilgisini yolla
Algoritma-3”.Toplam zamanı kısaltma amacıyla
k
t için rl’den gelen isteğe yanıt, rj
algoritma ismi: MTRP-Response - Time
if yürütülmekte olan görev veya istek yayını varsa ve
lk ji jk
ji c c c
c > || > ve tk veya rl T ’ye yakın ise Rj
yürütme veya istek yayınını iptal et
if cji<clk k
t için kendi maliyet bilgisini yolla
44
Dağıtılmış hedef ataması
Çalışmada, robotlar arasında dağıtılmış görev ataması için en uygun yöntem olarak CNP (Contract Net Protocol) protokolü seçilmiştir. Protokolün önerilen sisteme uyarlanmış hali, robotların önce görev yürütme isteklerini ya-yınlaması, daha sonra da yayının hedefi olan görevin yürütülmesi için en uygun robotun se-çilmesi adımlarını içermektedir. Önerilen yön-temde, farklı görevler için eş anlı olarak görev yürütme istekleri yayınlama ve robot seçimi mümkün olmaktadır. Eğer eniyileme fonksiyo-nu, toplam yolun kısaltılması ise, bir anda tek bir isteği sonlandırmak daha iyi sonuç vermek-tedir. Robotlar istek mesajları aldıklarında gö-reve ilişkin kendi maliyet değerlerini diğer ro-botlara yollarlar. Sistem bütünlüğünü bozan durumlar için sonraki bölümde ayrıntıları veri-lecek olan bir uyarı mesajı da yollayabilirler. Farklı durumlara karşılık asenkron olarak uy-gulanan adımlar Algoritma-3 ve içinde kullan-dığı altyordamlar 3’ ve Algoritma-3” ’ te verilmiştir.
Dağıtılmış hata tanıma ve kotarma
Sistemde yer alan hata tanıma ve kotarma meka-nizması, yürütme zamanında oluşabilecek hatala-rın tanınması ve bu hatalara karşı sistem bütünlü-ğü ve etkinliğinin korunmasını sağlar. Hata ko-tarma mekanizması, sistemin daha önce tanıtılan görev atama bileşenlerine entegre şekilde tasar-lanmış olup, sistemin etkin ve dayanıklı çalışır halde tek bir bütün olmasını sağlar. Hataya daya-nıklılık iki bileşen ile sağlanır: Model Güncelleme
Modülü ve Sistem Bütünlüğü Kontrol Modülü. Model Güncelleme Modülü, robotun kendi
or-tam/dünya modelini, iletişim yoluyla veya sensörlerine gelen bilgilere dayanarak, kendi karar mekanizması ile güncellemesini sağlar. Sistem
Bütünlüğü Kontrol Modülü ise sistem tutarlılığını
sağlamak üzere, robotun modeline göre uyarı me-sajları yollamakla yükümlüdür. Olağandışı du-rumlara karşılık modelleri güncellemek veya hata kotarma için uygun tutarlılık kontrol ve güncelle-me adımları, dağıtılmış bir şekilde uygulanır. Her bir robot, sistemdeki tüm görevler ve diğer robot-lara ilişkin dünya modelini oluşturur ve gerektikçe günceller. Bazı durumlarda robotların modelleri
farklılaşabilir. Bunun nedeni iletişim problemle-rinden kaynaklanan belirsizlikler, tümüyle tanım-lanmamış bilgiler, varsayımlar, vb. olabilir. Dağı-tılmış sistemlerde veya gerçek dünya sistemlerin-de tüm bilginin her zaman tümüyle doğru bir şe-kilde tanımlı olması beklenemez.
Görev modelleri, her bir görev için farklı sonlu durumlu makineler (Şekil 4) halinde tutularak gerçeklenir. Görev durum geçişleri, Model
Gün-celleme Modülü tarafından etkinleştirilir.
Görev-ler, şu durumlarla temsil edilebilir: başlangıç
durumu, belirsiz, istekte bulunuldu, başka ro-botlar tarafından istekte bulunuldu, atanmış, yürütülüyor, başkaları tarafından yürütülüyor, tamamlandı ve yürütülemez. Robot modelleri de
sonlu durumlu makinelerde boşta, yürütme
aşamasında, bozuldu, istekte bulunuyor
durum-larından birinde olacak şekilde tutulur.
Hata kotarma işlemleri, robotun kendi modelini güncellemesi ya da diğer robotları uyarması şek-linde olur. Robotların tamamlanmış, yürütülmekte olan veya istekte bulunulan görevlerden haberdar olmamaları durumunda tutarsızlıklar oluşur. Ro-botlar, sistem tutarlılığını korumak üzere birbirleri ile haberleşirler ve şu bilgileri yollarlar:
• yeni keşfedilen hedefler
• belli aralıklarla güncellenmiş maliyet bilgisi
ile görev yürütme bilgisi
• görevi tamamladıklarında başarı bilgisi
• görev yürütme iptali bilgisi
• görev yürütülemez bilgisi
Sistemde bilginin mükemmel olmadığı göz önüne alınır ve robotlar görev atamasını ve hata kotarma mekanizmalarını dağıtılmış şekilde ger-çeklerler. Bazı durumlarda robotlar, doğru olma-yan yargılara ulaşabilirler. Örneğin, aslında bo-zulmamış olan bir robotun bozulmuş olarak mo-dellenmesi gibi. Bu durumlarda paralel yürütme durumları (aynı görevin birden fazla robota atanması) oluşabilir. Görevin hiç yürütülme-mesine karşı tercih edilebilecek bir durum ol-duğundan, buna izin verilmektedir. Fakat yine de bu tür durumlar, uygun hata kotarma me-kanizmaları ile düzeltilir.
42
Şekil 4. Görev modelleri sonlu durum makinesi
Deneysel sonuçlar
Deneyler, üç küme halinde gerçeklenmiştir. Birinci küme, önerilen yöntem için maliyet fonksiyonlarının sınanmasını hedefler. Elde edilen sonuçlar, Prim Allocation ve CPLEX ile gerçeklenen IP yaklaşımı ile karşılaştırıl-mıştır. Dinamik yürütme zamanı deneyleri Webots gerçekçi benzetim ortamı üzerinde yürütülmüştür. Üçüncü kümede yer alan de-neyler ise Khepera II robotları üzerinde gerçeklenmiştir.
Deney-1: DEMiR-CF ve maliyet fonksiyonlarının analizi
Bu deneylerde algoritmalar, rasgele üretilen farklı sayıda robot ve hedef kümeleri üzerinde çalıştırılarak başarım analizi yapılmıştır. Deney-ler 100x100 boyutlu ızgara yapısında bir ortam üzerinde, robotların sayısı 1-50 arasında, hedef-lerin sayısı da 10-50 arasında değiştirilerek ger-çeklenmiştir. 100 farklı çalıştırmanın her birinde robotlar rastgele belirlenmiş farklı konumlarda olacak şekilde yerleştirilmişlerdir.
UEM başarım analizi TSPLIB’den alınan, bilinen TSP veri kümeleri için gerçeklenmiştir. Sonuçlar
ve en iyi değerden sapmalar Tablo 1’de verilmiş-tir. Bu sonuçlara göre, en iyiden sapma 101 hedef içeren geniş ölçekli bir problem için en fazla %15.24 oranında olmuştur.
Tablo 1. TSP Veri setleri için UEM başarım analizi
TSP Veri Seti UEM En iyi Sonuç Sapma
ATT48 33537.83 31470.4 6.5
EIL51 444.01 413.51 7.37
BERLIN52 8104.99 7305.38 10.94
EIL101 725.31 629.38 15.24
Algoritmaların yürütme zamanlarına ilişkin kar-şılaştırmalar Şekil 5’ de görülebilir. Şekilde yer alan grafikte, tek bir robot için atama yapmak üzere seçilen yöntemlerin çözüm süreleri karşı-laştırılmaktadır. IP yönteminin yüksek orandaki standart sapması, bu yöntemin çözüm süresinin veri kümesinin yapısına bağımlılığını göster-mektedir. Hatta bazı veri kümeleri için çözüm süresi, tek bir makine üzerinde günleri aşmakta-dır. Bu sonuç, bu yöntemin pratik olarak
uygu-49 t
44
lanabilirliğini kısıtlamaktadır. Sezgisel yöntem-lerle yapılan atamalar, şekilde de görüldüğü gibi oldukça kısa sürede gerçeklenmektedir.
Şekil 5. Yürütme zamanı karşılaştırması
Tüm başarım analizi sonuçları Şekil 6’ da veril-mektedir. PRIM Allocation yöntemi ile karşılaş-tırmalar yapılırken, ilgili makalede değinilmeyen ama çözüm kalitesini artıcı etkisi olabileceği dü-şünülen bir iyileştirme aşağıdaki şekilde belir-lenmiş ve bu iyileştirme de eklenerek karşılaş-tırmalar yapılmıştır. Bu iyileştirme eklemeleri, problemin açık çevrim için tanımlı olmasından uygun görülmüştür. İyileştirme, ağaç taraması esnasında ilk olarak en kısa ağacın seçilmesi ile gerçeklenmiştir. Deneylerde PRIM-ORG sonuç-ları Prim Allocation algoritmasının iyileştirme olmadan orijinal versiyonun gerçeklenmesi ile oluşan sonuçlarını, PRIM-SD sonuçları ise bah-sedilen iyileştirmenin gerçeklenmesi ile oluşan sonuçları göstermektedir. Çalışmanın ürünü olan DEMiR-CF yöntemi UEM ve EYH maliyet he-sapları ile gerçeklenerek elde edilen sonuçlar ayrı grafiklerde sunulmuştur. Sonuçlar incelendiğin-de, artan robot sayısına karşılık çözüm kalitesinin de görev atamasına bağlı olarak değiştiği belir-lenmiştir. DEMiR-CF yönteminin, her iki mali-yet fonksiyonu ile, en iyi sonuçlara yakın sonuç-lar ürettiği gözlenmiştir. Hedef/robot yoğunlu-ğundaki azalma, yöntemlerin en iyi sonuca ya-kınlaşmasında etkili olmaktadır. Fakat, şekilden de görülebileceği gibi, Prim Allocation yöntemi sonuçları bu durumda bile en iyi sonuçtan sapma göstermektedir. Bu sonuca, hedef atamasının ro-botların son konumları göz önüne alınmadan
gerçeklenmesi yol açmaktadır. Önerilen
DEMiR-CF yönteminde görev listelerinin (TRj) dinamik
olarak oluşturulması ile bu durum engellenmektedir.
Deney-2: Gerçek zamanlı dinamik benzetim ortamı deneyleri
Benzetim ortamı (Webots) deneylerinde 25m2’lik
3B alan içinde robotların 70mm çapında ve nes-nelerin hedef olarak modellendiği ortamlar oluş-turulmuştur. Ortamlar, hedeflerin ve robot ko-numlarının rasgele belirlendiği VRML (Virtual Reality Modeling Language) dosyaları yaratıla-rak oluşturulmaktadır. Robot kinematik hesapları kodlayıcılardan gelen bilgilerle konum belirleme hesabı yapılarak gerçeklenmektedir. Robotlar, üst seviyede görev atamasının yanında, hem otonom olarak ortam haritasını oluşturmakta, hem de or-tamda kendi konumlarını belirlemektedirler. Benzetim ortamında kayma ve kodlayıcı hataları modellenmiştir. Beklendiği gibi, diferansiyel sü-rüşlü robotlarda kayma nedeniyle konum belir-leme hataları oluşmaktadır. Bu durum da gerçek dünya probleminin bir parçasıdır.
İlk deneylerde 10 hedef için farklı robot sayıla-rına karşılık ölçeklenebilirlik testi yapılmıştır. Şekil 7’ de görüldüğü gibi çoklu-robot siste-minden beklenen iyileştirme sağlanarak robotla-rın toplam yolları kısalmıştır.
İkinci deneyde, hata kotarma mekanizmasının başarımı analiz edilmiştir. Şekil 8’ de verilen grafiklerde “Hata kotarmasız” etiketli sonuçlar hata kotarma mekanizması etkin olmadığı du-rum için oluşturulmuştur. “Hata kotarmalı” eti-ketli sonuçlar hata kotarma mekanizması ek-lenmesi durumunda oluşan sonuçları gösterir. Hata kotarma mekanizmasının sisteme ek mesaj yükü getireceği düşünülebilirse de, deneysel so-nuçlarda sistemde toplam yollanan mesaj sayısı analiz edilecek olursa, bu yöntemin ek mesaj-laşma trafiğini azalttığı görülmektedir. Ayrıca, ikinci şekilde de görüldüğü gibi, hata kotarma mekanizması gereksiz ziyaret yollarının azalma-sında da etkili olmuştur. Sonuçlar, hata kotarma mekanizmasının sistemin hataya karşı dayanık-lılığını arttırmaya ek olarak, yolun kısaltılma-sında ve mesaj trafiğinin azaltılmasına da katkı-da bulunduğunu göstermektedir.
42
Şekil 6. Tüm Algoritmaların farklı sayıda hedef ve robot kümeleri için başarım analizi
Şekil 7. Farklı robot sayıları için ölçekleme başarım analizi
Ortam haritası bilgisine göre atamaların farklı-laşmasına ilişkin bir senaryo Şekil 9’ da görül-mektedir. Bu senaryoda bulunan 3 robot, yerleri bilinen dokuz hedefi ziyaret etmekle
görevlidir-ler. Şekil 9 (a)’ da ortam haritası bilinmediğinden robotların yürütülemez olan görevleri (kırmızı ok ile işaretlenmiştir) ancak ortam haritası oluştu-rulduktan sonra belirlemesi söz konusu olmuştur. Harita bilindiğinde, bu basit örnek için bile ata-malar çok farklı olmaktadır (Şekil 9 (b)).
Deney-3: Gerçek-zamanlı gerçek ortam robot deneyleri
Gerçek ortam deneylerinde kullanılan KheperaII robotları 25MHz MC68331 mikro-kontrolörü, 512K Flash, 512K RAM ve 8 kı-zıl ötesi sensör ile donatılmışlardır. Robotlar arası iletişim, radyo hatları üzerinden kablo-suz olarak gerçekleşmektedir. Robotlar, DEMiR-CF mimarisi ile donatılmışlardır. Gö-rev atama modülleri, deney için gerçeklenen Algı modülü, Motor Arayüzü, Hareket Modeli Modülü ve Haritalama modüllerine çok iplikli (thread) bir yapı ile entegre edilmiştir.
42
Şekil 8. Hata Kotarma mekanizmasının ek katkıları
(a) (b)
Şekil 9. Ortam haritasının bilinip bilinmemesine göre atamalar çok farklı şekilde yapılabilir
Şekil 10’da robotların gerçekledikleri bir senar-yoya ilişkin izledikleri yollar görülmektedir. Bu senaryoda ziyaret edilmesi gereken altı hedef bu-lunmaktadır. Yol gösterilimi farklı zaman nokta-larına ait video çerçevelerinin birbirinin üstüne bindirilmesi ile elde edilmiştir. Şekil 10a’ da bir robot tarafından hedeflerin ziyaret edilmesi ve robotun bu görevi yerine getirirken izlediği yol görülmektedir. Hedefler resim üzerinde mavi bayraklarla işaretlenmiştir. Aynı görev, bir üçlü robot takımı ile zamanı kısaltmak üzere yürütül-düğünde, robotlar farklı hedefleri ziyaret ederek görevi paylaşmaktadırlar (Şekil 10 (b)).
Diğer bir senaryoda, DEMiR-CF ile çoklu-robot sisteminin oluşabilecek hata durumlarına karşı dayanıklı bir sistem oluşturup görevi başarıyla sonlandırdığı görülmektedir (Şekil 10 (c)). zulma anındaki konumlar işaretlenmiştir. Bo-zulmadan sonra robotlar, tamamlanmamış gö-revleri de yürüterek tüm görevi tamamlarlar.
Sonuçlar
Bu çalışmada, gerçek zamanlı çoklu-robot çoklu hedef problemini çözmek üzere artımlı bir görev atama ve yürütme zamanlı hata kotarma
43
mi (DEMiR-CF) önerilmektedir. Önerilen yön-tem, robot alt katman modülleriyle tüm bir sis-tem oluşturmak üzere başarıyla kullanılabilir. Robotlar, görev atama ve yol belirleme kararla-rını dağıtılmış bir şekilde verirler. Artımlı olarak görev atama ve yol belirleme adımları birbiri ile iç içe geçmiş olarak problem çözülür. Problemin yapısını değiştiren yürütme zamanı durumları, görev atama ve yürütme aşamasında eş zamanlı olarak çözülür. Başarım ölçme deneyleri, üç küme halinde hem benzetim ortamlarında hem de gerçek robotlar üzerinde gerçeklenmiştir. El-de edilen El-deneysel sonuçlar, önerilen yöntemin ölçeklenebilir olduğunu göstermiş ve başarım değerlerinin literatürde yer alan diğer çalışmala-ra oçalışmala-ranla daha yüksek olduğunu kanıtlamıştır. Ayrıca, yöntemin oldukça kısıtlı işlemsel kapa-siteye sahip küçük robotlar üzerinde de gerçek-lenebilir olduğu gösterilmiştir.
(a)
(b)
(c)
Şekil 10. Khepera II deneyleri
Kaynaklar
Berhault, M., Huang, H., Keskinocak, P., Elmaghraby, W., Griffin, P., ve Kleywegt, A., (2003). Robot exploration with combinatorial auctions, Proceedings, IEEE/RSJ International
Conference on Intelligent Robots and Systems
(IROS), 1957-1962, Las Vegas, Nevada, USA.
Brumitt, B.L. ve Stentz, A., (1998). Grammps: A generalized mission planner for multiple robots in unstructured environments, Proceedings, IEEE
International Conference on Robotics and
Automation (ICRA), 1564-1571, Leuven,
Belgium.
Dias, M.B. ve Stentz, A., (2002). Opportunistic optimization for market-based multirobot control,
Proceedings, IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS),
2714-2720, Switzerland.
Lagoudakis, M. G., Keskinocak, P., Kleywegt, A., ve Koenig, S., (2004). Simple auctions with performance guarantees for multi-robot task allocation, Proceedings, IEEE/RSJ International
Conference on Intelligent Robots and Systems
(IROS), 698-705, Sendai, Japan.
Lagoudakis, M. G., Keskinocak, P., Kleywegt, A., ve Koenig, S., (2005). Auction-based multi-robot routing, Proceedings, Robotics: Science and
Systems (RSS), 343-350, Cambridge,
Massachusetts, USA.
Lawler, E. L., Lenstra, J. K., Kan, R., ve Shmoys, D. B., (1985). The Traveling Salesman Problem: A
Guided Tour of Combinatorial Optimization.
John Wiley & Sons, New York, NY, USA.
Michel, O., (1998). Webots: Symbiosis between virtual and real mobile robots. Proceedings of the
First International Conference on Virtual
Worlds, 254-263, Paris, France.
Reinelt, G., (1994). The Traveling Salesman:
Computational Solutions for TSP Applications.
Springer-Verlag, Heidelberg, Germany.
Sarıel S., ve Balch T., (2005). Real Time Auction Based Allocation of Tasks for Multi-Robot Exploration Problem in Dynamic Environments,
Proceedings, Integrating Planning into
Scheduling AAAI Workshop, 27-33, Pittsburgh,
Pennsylvania, USA.
Sarıel S., ve Balch T., (2006a). A Distributed
Multi-Robot Cooperation Framework for Real Time
Task Achievement. in Gini, M.; Voyles, R. eds,
Distributed Autonomous Robotic Systems 7
(DARS), Springer-Verlag, 187-196,. Heidelberg,
Germany.
44
Sarıel S., ve Balch T., (2006b). Efficient bids on task allocation for multi-robot exploration,
Proceedings, The 19th International Florida
Artificial Intelligence Society Conference,
116-121, Melbourne Beach, Florida, USA .
Sarıel S., Balch T., ve Erdoğan N., (2006). Robust multi-robot cooperation through dynamic task allocation and precaution routines, Proceedings,
The 3rd International Conference on Informatics in Control, Automation and Robotics (ICINCO),
196-201, Setubal, Portugal.
Toth, P., ve Vigo, D., (2001). The Vehicle Routing
Problem. Society for Industrial and Applied
Mathematics (SIAM), Philadelphia, PA.
CPLEX: CPLEX -10.0 (ILOG) User Manual. http://www.ilog.com/ (2007).
TSPLIB:http://elib.zib.de/pub/Packages/mp-testdata/ tsp/tsplib/tsp/index.html (2007).
Webots: Webots User Guide 5.1.11.
http://www.cyberbotics.com/cdrom/common/doc /webots/guide/guide.pdf (2006).