Kilobots模拟器Kilombo
為什么要設(shè)計模擬器
Kilobot是研究群體機(jī)器人的廣泛使用的平臺,物理Kilobot運(yùn)行緩慢且需要頻繁進(jìn)行重新校準(zhǔn)和充電,這極大地減慢了開發(fā)周期。模擬器可以加快測試,探索和假設(shè)生成的過程,但通常需要在模擬器和機(jī)器人之間進(jìn)行耗時且容易出錯的代碼轉(zhuǎn)換。此外,性質(zhì)不同的代碼通常會混淆模擬器與實(shí)際機(jī)器人群行為之間的直接比較以及確定偏差原因。
為了解決這些問題,所以開發(fā)了基于C的模擬器,模擬器允許那些與Kilobots一起工作的人在模擬器和物理機(jī)器人中使用相同的程序代碼。可以在臺式計算機(jī)上以比實(shí)時實(shí)時快100倍的速度運(yùn)行1000個機(jī)器人,使用我們的模擬器,即Kilombo,大大簡化并加快了開發(fā)速度,從而使?jié)撛谒惴ǖ母咄款A(yù)篩選成為可能可能導(dǎo)致期望的緊急行為。這種為Kilobots專門開發(fā)的策略對于有效的機(jī)器人群研究具有普遍意義。
介紹
近年來,使用機(jī)器人群體的研究變得越來越重要,因?yàn)樗试S人們研究以非分層和分布式方式自組織的許多交互代理如何生成復(fù)雜的緊急行為。 例如,大量的物理機(jī)器人能夠挑戰(zhàn)當(dāng)前的認(rèn)識,即由于局部交互作用,解決問題的魯棒性如何出現(xiàn)(Valentini等人2015b; Ferrante等人2015)。 這些算法所基于的深思熟慮的概念,機(jī)制和假設(shè)的最終原理證明。 但是,要以高效且高通量的方式進(jìn)行操作,在繪圖板和物理機(jī)器人之間必須具有可用的工具至關(guān)重要。
在這里,我們介紹一種我們所產(chǎn)生的工具,一種叫做Kilombo的新型模擬器,它可以將概念思想與物理機(jī)器人群聯(lián)系起來.Kilobot(Rubenstein et al 2011,2012,2014)是由由K-team制造的哈佛大學(xué)自組織系統(tǒng)研究小組已經(jīng)成為解決大型機(jī)器人自組織的當(dāng)前范式系統(tǒng)。如圖1所示,該機(jī)器人被設(shè)計用于大型機(jī)器人群:所有常規(guī)操作(例如編程,打開或關(guān)閉機(jī)器人,為電池充電)都可以大規(guī)模執(zhí)行,而無需操作單個機(jī)器人。每個Kilobot的功能都是有限的,但足以實(shí)現(xiàn)集體行為算法,例如用于形狀形成的S-DASH算法(Rubenstein和Shen 2010,2009)。自發(fā)布硬件規(guī)格以來,Kilobots已用于各種研究項(xiàng)目,例如關(guān)于集體運(yùn)輸(Rubenstein等,2013),控制理論(Lopes等,2014),教育(Hui等,2014)和有效決策制作(Valentini et al 2015a)。在實(shí)際的物理機(jī)器人上進(jìn)行自組織測試的算法構(gòu)成了這些算法所基于的思想概念,機(jī)制和假設(shè)的最終原理證明。 但是,要以高效且高通量的方式進(jìn)行操作,最重要的是在繪圖板和物理機(jī)器人之間使用可用的工具。
模擬器需要滿足的三個關(guān)鍵要求
–仿真必須以足夠的精度捕獲真實(shí)Kilobot的基本特征(尤其是在具有許多交互機(jī)器人的場景中)。理想情況下,應(yīng)該有可能僅使用模擬器使用開發(fā)的機(jī)器人代碼來充分探索可能的行為。但是請注意,很難直接預(yù)測,并且高度依賴算法,因?yàn)樵趯?shí)際范圍內(nèi),實(shí)際Kilobot嵌入所帶來的小錯誤和變化在多大程度上可以通過多組件交互傳播,因此很難預(yù)測。從數(shù)量和質(zhì)量上影響整體動態(tài)。因此,我們?nèi)詫⒄鎸?shí)機(jī)器人群的性能視為研究的基本步驟,與在模擬器中觀察到的情況進(jìn)行對比,較大的差異指向了對復(fù)雜度和多模態(tài)噪聲的魯棒性較弱的算法。 “現(xiàn)實(shí)生活” (Jakobi 1997)。
–有用的仿真應(yīng)該比實(shí)際系統(tǒng)快得多。更快的仿真可以縮短開發(fā)和調(diào)試的迭代周期,從而提高開發(fā)速度。 此外,快速模擬還提出了可以應(yīng)用于Kilobot系統(tǒng)的新型問題。
–將用戶代碼從模擬器移植到機(jī)器人(或相反)時,應(yīng)要求更改盡可能少。 這有兩個有益的結(jié)果。 首先,減少了在模擬器和真實(shí)機(jī)器人之間切換所需的工作量,其次,將在移植過程中引入新錯誤的可能性降到了最低。 兩者一起提高了為Kilobots開發(fā)用戶代碼的速度和便利性。
綜述
開發(fā)的基于C的模擬器Kilombo,它使那些與Kilobots一起工作的人能夠大大加快測試和調(diào)試Kilobot代碼的速度。 該模擬器編譯在物理Kilobot上運(yùn)行的相同代碼,從而消除了將代碼轉(zhuǎn)換到不同平臺的緩慢且容易出錯的步驟。 考慮到運(yùn)動模式的某些限制,模擬的Kilobot與運(yùn)行相同程序的Kilobot具有良好的一致性。 該模擬器使高通量的潛在算法的預(yù)篩選成為可能,這些算法可能導(dǎo)致所需的緊急行為。 我們認(rèn)為,這種為Kilobots專門開發(fā)的策略對于有效的機(jī)器人群研究具有普遍意義。
總結(jié)
以上是生活随笔為你收集整理的Kilobots模拟器Kilombo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显示省份简称,如内蒙古自治区:内蒙古
- 下一篇: SNV(standard Normal