挑戰:為了和具有不同編程技能水平的團隊成員一起快速開發自治機器人系統,以便迅速、準確執行《2010年田地機器人競賽》的復雜任務。 方案:借助National Instruments的LabVIEW和嵌入式視覺系統,使用多核并行循環程序設計,制造必將獲得比賽勝利的機器人。 方提斯應用科技大學“谷神星”正通過一片玉米地 方提斯應用科學大學致力于將學生變成一個全面發展的機電和機器人技術工程師。對這種教育的一個關鍵因素是讓工程原則面對現實問題的實習機會。 來自方提斯應用科技大學工程系的大三學生接受了在四個月時間內從頭開始開發機器人的挑戰,以便參加在德國不倫瑞克市舉辦的《2010年田地機器人競賽》。《田地機器人競賽》是一個泛歐洲的比賽,由來自歐洲主要大學的20個團隊參加。每個團隊將建造一臺機器人,以執行以下三項關鍵任務: 1. 在三分鐘時間內盡可能遠距離獨立行駛通過長線型、道路彎曲的玉米地行。 2. 在寬達1米間隙的兩行直線型玉米地行之間導航,于三分鐘時間內盡可能遠地行駛。 3. 探測玉米稈之間的種子、灑水或者對種子進行有效處理。 機器人開發 我們把機器人命名為“谷神星(Ceres)”(以羅馬農業女神命名)。谷神星包括兩個用于為四個車輪提供動力的馬達以及兩個用于方向控制的馬達。因為機器人的倒車與向前驅動完全一樣,從而簡化了軟件開發。 我們選擇LabVIEW實時模塊和National Instruments的嵌入式視覺系統,從頭開始制造谷神星。視覺系統是一個運行實時OS的嵌入式強固型計算機。我們在嵌入式系統上安裝了一個IEEE 1394彩色攝像機,它朝向一個安裝好的拋物面鏡并且提供機器人周圍區域360度景象。通過這種方法,我們用一臺攝像機就可以探測機器人周圍的物體,極大簡化了信號監控和處理。嵌入式計算機使用串行端口與自行開發的馬達控制器通信。 可以進行并行處理障礙探測和路徑規劃的LabVIEW 在2009年的競賽中,我們的機器人基于安裝有Linux系統的計算機并且使用ANSI C算法。但是今年我們想要在較短的時間內開發出具有更復雜的功能(與ANSI C算法相比較)的代碼。 對于2010年的競賽,我們選擇LabVIEW圖形化系統設計軟件進行更快、更容易地開發。沒有程序設計經驗的團隊成員同樣可以借助LabVIEW GUI毫不費力地對項目做出貢獻。我們還使用LabVIEW 在代碼中實施并行處理,無需并行程序設計方面的大量經驗。 LabVIEW中的實時處理和視覺整合還能夠確保比以往更加無縫的程序設計,節省了短期開發窗口的珍貴時間。我們還在原型開發期間使用網絡攝像機,因此我們可以在獲得機器人硬件之前開發代碼。 攝像機可以獲得30每秒幀數的圖像, LabVIEW視覺開發模塊可以覆蓋彎曲的感興趣區域(ROI)并且采用過度綠色濾波器。這是一種計算密集型的濾波器并且軟件根據RGB值重新計算了每個像素值。為了提高計算速度,我們采用LabVIEW 2009中的新增特性 —— 并行For循環,在不同處理器核上自動劃分For循環迭代,從而通過多線程處理器可以同時處理For循環的單個迭代。程序以感興趣區域(ROI)為閾值并且計算x軸上的累積直方圖。通過累積直方圖,軟件程序可以搜索玉米植株的邊緣并且相應控制機器人的行駛方向。 結果 借助LabVIEW,我們制造了一個可以比其他軟件更快、更好執行競賽任務并且更加容易操作的機器人。在《田地機器人競賽》中,谷神星在三項比賽中和16個團隊的機器人展開競爭并且贏得了其中兩項比賽的第一名,從而獲得了整體最高獎項。機器人在第一項比賽中表現得特別好,其行使速度比第二名快了三倍。 明年,一組新的學生將進一步改進谷神星。擬定的增強措施包括更好地探測種子,改良車輪和和轉彎半徑以及進一步優化視覺代碼。 |