摘 要: 介紹了一種新型的可重構模塊化機器人(多變魔方機器人),它同時擁有自重構、自組裝和群體機器人的特點。多變魔方機器人的每個模塊都可以自主移動并與其他模塊自組裝成魔方結構,還可以被配置成各種不同形態(tài),實現變形。多變魔方機器人選用控制功能強大的ARM芯片和高可靠的ATmega8單片機,應用Zigbee無線網絡通信構建了模塊化分布式控制系統(tǒng),有效地實現了機器人的運動控制。本文詳細描述了多變魔方機器人模塊的硬件結構,軟件體系以及系統(tǒng)的工作原理。
關鍵詞: 可重構;模塊化機器人;自組裝;分布式控制系統(tǒng);ZigBee
在航天航空、星際探索、地質勘查、地質災害預報、軍事偵察、救災搶險等領域,因為不能預先確知非結構化的環(huán)境,需要執(zhí)行的任務往往也是變化莫測[1]。因此傳統(tǒng)的機器人設計和控制方法已經難以滿足機器人在非結構的、未知的環(huán)境下自主工作的要求[2]。模塊化可重構機器人的拓撲形態(tài)是自主可變的,系統(tǒng)可以根據所處的環(huán)境通過組成模塊之間的自主對接和分離實現整體或局部形態(tài)的改變,來調整其構形和功能,從而完成既定的任務,故能廣泛應用于非結構化的環(huán)境。這樣就對其控制系統(tǒng)提出了人工智能的更高要求,這也是當今機器人研究界最熱門和尖端的研究方向之一。
本文提出一種可重構模塊化機器人——多變魔方機器人,并完成其控制系統(tǒng)的設計,實現感知、通信、驅動、傳動和信息處理的融合,根據多智能體機器人系統(tǒng)的相應協(xié)調控制策略完成多種形態(tài)的變化和自組裝。
1 多變魔方機器人的控制系統(tǒng)
多變魔方機器人由n×n×n個相同的小模塊機器人組成,如圖1(a)所示為多變魔方機器人的最小組合,其中每個小方塊代表一個具有完全相同結構的模塊機器人。機器人控制系統(tǒng)能夠根據指令以及傳感器信息控制機器人完成一定的動作或作業(yè)任務,它是機器人的心臟,決定了機器人性能的優(yōu)劣。傳統(tǒng)機器人控制系統(tǒng)有集中式、主從式、分散式三類控制方式,但它們都不太適合作為多變魔方機器人的控制系統(tǒng),因為多變魔方機器人有著模塊化、可重組的鮮明特點。為了能夠充分發(fā)揮多變魔方機器人的特點,有必要為它設計適合其特點的控制系統(tǒng)。
組成多變魔方機器人的模塊數量較多,而且每個模塊都有數據采集、運動規(guī)劃、運動控制以及通信等功能,為了能夠充分發(fā)揮多變魔方機器人的特點,故采用模塊化分布式控制系統(tǒng)(MDCS)。模塊化分布式控制系統(tǒng)由若干個子系統(tǒng)構成,子系統(tǒng)的個數與多變魔方機器人中模塊的個數相同,子系統(tǒng)與模塊一一對應。每個子系統(tǒng)的結構功能都相同,它是一個獨立的單元,擁有電源、微處理器、移動結構、連接結構、自由度結構、傳感器單元和通信接口等,如圖1(b)所示。子系統(tǒng)除了控制與它對應的模塊之外,還要負責整個系統(tǒng)的協(xié)調以及計算和規(guī)劃等工作。模塊化分布式控制系統(tǒng)是一個基于分布式網絡的分布式系統(tǒng),每個子系統(tǒng)都是網絡中的一個節(jié)點。
2 系統(tǒng)硬件設計
模塊化分布式控制系統(tǒng)的各個子系統(tǒng)的結構功能完全相同,因此在進行系統(tǒng)硬件設計時只需要設計出一個子系統(tǒng),即只需要為一個模塊設計出硬件電路即可,多個相同的子系統(tǒng)通過網絡總線連接起來就構成了完整的控制系統(tǒng)。
2.1 機械結構設計
本項目設計的多變魔方機器人的模塊為一個可以自由移動的10 cm×10 cm×10 cm的小立方體,每個模塊上嵌入有自由度結構、移動機構、連接機構、傳感器單元、通信接口、電源和控制系統(tǒng)電路板。為了減輕模塊重量,模塊盡可能采用小型化設計,這樣勢必要求控制系統(tǒng)硬件設計也要小型化,因此選擇器件時要本著小型化的原則。
考慮到模塊的供電和小直流電機的最大輸出力矩等因素,故只設計了一個自由度如圖2(a)所示,由一個經過6條棱的中點的平面切割得到,這大大減小了模塊的功耗和結構復雜程度。這個自由度由360°無限位舵機來實現,其中舵機的旋轉軸在小立方體的中心,并在小立方體的下半部分安裝一個霍爾元件,在上半部分安裝三個磁鋼,根據霍爾元件測得的電磁信號來確定轉動位置。
根據小立方體剖面圖圖2(b),求得這個自由度的大小范圍為0~240°。模塊可以通過這個自由度,在近似不破壞任何一個面的情況下完成三個面的位置變化,如圖3所示。
模塊的自主移動方案有很多種,如足式、輪子和蠕動[3]等。本項目暫采用比較簡單的三輪結構,通過控制兩個小伺服電機的轉動配合一個萬向輪來調節(jié)分立模塊在平面上的移動。
為了實現多變魔方機器人的形態(tài)變化和自組裝,每個模塊必須要有連接機構。常見的連接方案有機械結構和電磁結構兩種,其中參考文獻[4]提出一種能提供足夠的吸引力或排斥力的E型電磁鐵,通過適當的設計就可以利用它改變可重構機器人的形狀。本項目采用定制的類似電磁鐵來實現模塊之間的連接與分離,并在模塊的六個面上分別裝上這種電磁鐵。
2.2 電氣設計
多變魔方機器人模塊的電氣系統(tǒng)框架如圖4所示,它分為3個單元:控制中心、傳感器與執(zhí)行機構和通信系統(tǒng)。
(1)控制中心:本單元使用ARM系列的STM32微處理器作為主控制芯片,它完成機器人的定位導航及其他決策任務。控制中心通過I2C接口接收編碼器的信息并計算處理,其結果可以用來作為定位導航的基礎。同時,它收集每個傳感器的信息以及其他機器人的信息,并通過適當的控制算法決策后經I2C接口傳給執(zhí)行機構執(zhí)行。
(2)傳感器與執(zhí)行機構:本單元由控制器、傳感器及執(zhí)行部件組成。在模塊的內部有四個單獨的ATmega8微控制器,分別控制著模塊底部用于移動的兩個伺服電機、模塊中心用于實現一個自由度的360°無限位舵機、分布模塊六個面的電磁鐵以及相應位置的紅外線傳感器和微動開關等傳感器。這些ATmega8微控制器通過I2C接口以“一主四從”的模式與控制核心通信,將傳感器采集到的信息傳給控制中心處理,并接受控制中心的命令控制執(zhí)行機構。
(3)通信系統(tǒng):多變魔方機器人模塊間的通信采用ZigBee無線通信。ZigBee無線通信選用TI的內置ZigBee協(xié)議棧擁有片內無線定位引擎并包含一個增強型8051MCU的CC2431芯片,通過串口與控制核心相連。通過通信系統(tǒng),多變魔方機器人的模塊就可以獲取來自其他模塊的信息并作出響應。
3 軟件設計
模塊化分布式控制系統(tǒng)的各個子系統(tǒng)的功能是相同的,因此在進行軟件設計時只要設計出一個子系統(tǒng)的軟件即可,子系統(tǒng)的軟件也是多變魔方機器人的模塊的軟件。它的模塊的軟件應該具有以下功能:
(1)系統(tǒng)協(xié)調功能。多變魔方機器人是由眾多的模塊組成的一個整體,各個模塊之間要相互協(xié)調才能保證機器人按要求完成某項任務。
(2)計算和規(guī)劃功能。多變魔方機器人在運動過程中以及自重組過程中,需要進行運動規(guī)劃、路徑規(guī)劃以及傳感器算法計算等工作。
(3)通信功能。作為機器人整體的組成部分,各個模塊之間必須能夠進行通信。
(4)感知功能。各模塊必須要能感知當前的狀態(tài),利用傳感器采集數據。
(5)連接功能。多變魔方機器人在形態(tài)變化和自組裝時,需要進行模塊間的連接與分離。
(6)運動功能。模塊能在平面上自主移動并且還有一個轉動自由度,多變魔方機器人的運動是通過組成它的模塊的運動實現的。
軟件設計就是為了使多變魔方機器人的模塊具有以上功能,如果以后模塊需要更多的功能,只要在此軟件的基礎上進行擴展即可。模塊的軟件功能結構圖如圖5所示。
模塊的軟件控制流程采用中斷驅動方式,主程序除了完成系統(tǒng)協(xié)調、計算和規(guī)劃等工作之外,主要是處于循環(huán)等待狀態(tài)來等待中斷的發(fā)生。
3.1 系統(tǒng)協(xié)調
多變魔方機器人是由眾多的模塊組成的一個整體,它的任何一項工作的完成都離不開模塊之間的相互協(xié)調。雖然每個模塊都有能力進行系統(tǒng)的協(xié)調,但在機器人具體執(zhí)行某項任務時只需要一個或幾個模塊來處理這項工作,這種模塊暫且稱其為主模塊。主模塊的存在與模塊化分布式控制系統(tǒng)并不矛盾,因為每個模塊的結構功能都相同,都可以成為主模塊。具體讓哪個或哪些模塊成為主模塊,則根據任務的需要動態(tài)地確定。
在多變魔方機器人的變形之處,系統(tǒng)選擇處于分散模塊中心位置的模塊作為首次確立的主模塊。CC2431定位引擎基于RSSI技術,能根據接收信號強度與已知參考節(jié)點位置準確計算出目標裝置位置。由此可以得到所有模塊之間的間距,顯然當其中一個模塊與所有模塊的間距之和是最小的,則該模塊處于中心位置,即被確立為主模塊。之后,每次完成模塊的自組裝后,則選擇最利于對接的模塊作為主模塊。
確定主模塊后,這就需要選擇與其合作的模塊,為保障合作的高效性需要建立合作效果的評價機制。本文選取當前要完成的變形形態(tài)、模塊與主模塊的間距和對接面與主模塊對接面的角度等作為評價參數。
主模塊對系統(tǒng)中各個模塊的協(xié)調合作是通過與各個模塊進行通信而實現的,主模塊可以給與其合作的模塊發(fā)送控制命令,與其合作的模塊有時也需要給主模塊發(fā)送回應的命令。經過這樣一次次的合作,就能完成多變魔方機器人的自組裝和形態(tài)變化。
3.2 計算與規(guī)劃
多變魔方機器人的每個模塊都有計算和規(guī)劃的功能,但在具體執(zhí)行某項任務時,只讓主模塊來執(zhí)行這項功能。機器人在執(zhí)行不同的任務時主模塊需要進行不同的計算和規(guī)劃工作,當機器人實現某種變形時需要進行運動規(guī)劃,主模塊根據多變魔方機器人根據機器人的初始形態(tài)和目標形態(tài),運用特定的對接路徑規(guī)劃算法得到各個模塊的分開、組合序列[5],這樣得到機器人的對接路徑后進行運動規(guī)劃,以決定機器人的各個模塊的中軸自由度轉動狀態(tài),采用逐步填充式變形算法[6]完成機器人設定的形態(tài)變化。
在機器人的變形過程中,主模塊除了要進行運動規(guī)劃之外,還要進行傳感器計算。多變魔方機器人在變形過程中需要由紅外傳感器、微動開關等來對模塊的接近和對接運動進行導航,因此主模塊還要有傳感器算法的計算。
4 實驗與總結
經過一系列安裝、調試,完成了多變魔方機器人的原理樣機。多次試驗后,順利完成了自組裝和幾種形態(tài)的變化。各個電機運行平穩(wěn),機器人各模塊運動穩(wěn)定,尤其是在硬質平面上運動更為明顯。ZigBee無線網絡工作正常,CC2431定位效果良好,順利完成了系統(tǒng)的控制,完全達到現階段的要求。作為原理性的工作樣機,該控制系統(tǒng)是合適的。
多變魔方機器人在現實應用中具有重要的價值,下一步將對原理樣機進行改進。后期的研究中將考慮增加陀螺儀、加速度傳感器、攝像頭等,并改良模塊的自主移動機構,以期多變魔方機器人能在更惡劣的環(huán)境中實現自組裝和形態(tài)變化,在實際應用中發(fā)揮更大的作用。
參考文獻
[1] 徐威,王高中,王石剛.模塊化自重構機器人變形算法的仿真研究[J].系統(tǒng)仿真學報,2004,16(5):883-886.
[2] 張建廣,饒建華.模塊化可重構機器人分布式控制系統(tǒng)的設計與實現[J].機械設計與制造,2007(5):95-97.
[3] SRIRAMAN K R, RAMAN S G S, SESHADRIS K.Hardness and sliding wear resistance of electrodeposited nanocrystalline Ni-W alloys[J]. Materials Science and Engineering, 2006(418):303-311.
[4] Ming Chiuan Shiu, Li Chen Fu, Hou Tsan Lee. Design of Reconfigurable Robot Based on Electromagnets. Proceedings of the 7th Asian Control Conference, Hong Kong, China,2009:925-930.
[5] ZYKOV V, MYTILINAIOS E, DESNOYER M, et al. Evolved and designed modular robotics systems capable of self-reproduction. IEEE Trans. Robotics, 2007:308-319.
[6] 費燕瓊,張鑫,夏振興.自重構模塊化機器人的運動空間及自變形算法[J].機械工程學報,2009,45(3):197-202.