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