沈陽理工大學自動化與電氣工程學院 曹 帥 董慧穎
?
一款便攜式AUV的遙控裝置設計
沈陽理工大學自動化與電氣工程學院曹帥董慧穎
該文提出了一種基于MOOS-IvP結構體系的便攜式AUV遙控裝置設計方案。該遙控裝置以樹莓派微型計算機為主控制器,游戲手柄為按鍵模塊,通過無線網橋實現與AUV的通信,并由鋰電池經過分壓模塊集中供電。軟件方面基于MOOS-IvP結構體系,采用ubuntu操作系統,并在code::block編譯環境下通過C語言編寫程序,完成遙控手柄按鍵數字信號的解析和控制指令的發送等功能。該遙控裝置實現了便攜式AUV的前進、后退、轉彎、調速等遙控功能。實驗表明該遙控裝置實現了設計目標,且性能良好。
MOOS-IVP;遙控裝置;AUV;樹莓派控制器
便攜式AUV代表了未來水下機器人技術的發展方向,是當前世界各國研究工作的熱點[1]。傳統的AUV作業通過計算機與AUV航行控制計算機建立通信實現對AUV進行控制。一方面,由于岸上計算機與AUV距離較遠,在AUV完成使命回收過程中,不能有效的確定水面航行環境的安全性,可能發生安全事故。另一方面,考慮到AUV能源的有限,要求AUV盡可能高效的返回以節省能源。針對以上情況,該文提出了一種基于樹莓派微型計算機的AUV遙控裝置設計方案,通過手持式遙控手柄實現對AUV的控制。該裝置可穩定運行于工作環境中,減少安全事故的發生,全面提升AUV的工作效率。
AUV遙控裝置的總體結構如圖1所示,主要由手持式游戲手柄,樹莓派微型計算機,無線網橋收發器等組成。遙控裝置的設計目標為:遙控裝置根據按鍵決定AUV的運行模式,通過無線發射接收裝置發射指令,并由AUV本體接收指令后實現相應的啟動/停止、轉向和調速等操作。針對以上設計目標遙控裝置分為按鍵模塊、控制器模塊、無線發射模塊及電源模塊等幾個模塊[2]。
2.1遙控手柄模塊
按鍵模塊由一個北通游戲手柄組成。主要包括四個方向鍵和六個按鈕鍵,通過usb接口與樹莓派控制器模塊進行連接。四個方向鍵用來實現對AUV方向的控制,六個按鈕鍵所實現的功能分別包括啟動/停止按鍵、100轉/秒、200轉/秒、300轉/秒、400轉/秒四個速度檔位按鍵。
2.2控制器模塊
樹莓派是一款基于ARM的微型電腦主板,以SD卡為內存硬盤,卡片主板周圍有40個GPIO引腳,四個USB接口和一個網口,可連接鍵盤、鼠標和網線,同時擁有視頻模擬信號的電視輸出接口和HDMI高清視頻輸出接口[3],以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能。將裝有ubuntu操作系統的SD卡插入樹莓派的SD卡槽上,HDMI視頻輸出接口連接到顯示器,供電后即可自動啟動樹莓派圖形界面,并可在codeblocks編譯環境下進行軟件程序編譯。
2.3通信模塊
由于一般遙控裝置的使用需要操作人員在橡皮艇上手動操作遙控裝置對AUV進行控制,遙控的有效距離為300米-400米,故采用無線網橋進行通信即可以滿足要求。無線網橋采用點對多點的通訊模式,實現AUV主控制倉與上位機和遙控裝置的通信。在這種模式下工作的所有AP設備都一樣,都選擇點對多點橋接模式,所有AP使用相同的SSID。各AP的IP地址位于同IP段,在信道設置上,點對多點橋接模式下的所有AP必須使用相同的信道[4]。
2.4電源模塊
遙控裝置采用12V、6A的鋰電池進行供電。由于12V的供電電壓滿足無線網橋的工作電壓,可以通過鋰電池直接對其供電。而樹莓派的工作電壓為5V,可通過一個電壓轉換模塊將12V電壓轉換一路5V的電壓來對樹莓派進行供電。
在整個AUV遙控裝置中,控制任務的最終實現是靠軟件程序完成的,程序設計的好壞,將直接決定整個遙控裝置的質量和效率。程序設計的基本要求和原則主要是實時性、可靠性、簡潔性和易修改性。基于以上原則,設計了遙控裝置軟件部分。
3.1MOOS結構體系
MOOS是一種分布式控制體系結構。其核心思想是將水下機器人的不同子系統抽象為功能相對獨立的軟件模塊,為運行在水下機器人上的各個軟件模塊提供一個統一、高效、穩定的信息交互環境[5]。所有的信息交互以MOOSDB為中心,呈現星型通信結構,MOOSDB在整個體系結構中處于核心地位,負責協調各種信息在不同模塊之間的交換。MOOSDB負責信息的統一分發,從而保證了信息的一致性。每個基本功能抽象為一個獨立的模塊,功能模塊之間沒有直接的聯系,只能通過MOOSDB獲得運算所必須的其他模塊的信息。IvP實質上是一個MOOS進程,它的主要功能是使用多目標值最優化的方式來實現行為的自主控制[6][7]。
3.2遙控裝置主程序
軟件程序設計在ubuntu操作系統的code::blocks開發環境下,采用C語言編程實現。遙控裝置的軟件程序主要完成遙控手柄的初始化和循環檢測按鍵是否按下[8],當有按鍵按下時,打開節點并判斷是何種類型按鍵,若為坐標按鍵類型,將其設定為控制AUV方向的按鍵,再根據不同按鍵的不同數字信號值決定分別為上、下、左、右四個方向鍵;若為按鈕按鍵類型,則將其設定為啟動鍵、停止鍵和速度鍵。將各按鍵解析出來的數字信號映射成命令語句發射到主控制器的MOOSDB中。
3.3客戶端程序
為了實現用遙控裝置對AUV進行控制,需要在主控制器中添加一個客戶端程序,用來訂閱打包發送到主控制器MOOSDB中的數據,并解析成相應的控制指令,最后發送給電機實現對AUV的控制。為了避免誤操作,只有先接收到啟動鍵指令其他按鍵指令才會對AUV起到控制作用。在控制AUV過程中,首先需要接收到方向鍵信息指令,再根據接收到的不同檔位速度信息指令控制AUV航行,若未接收到方向鍵指令則無論接收到何種速度指令均不執行,很好的避免誤操的問題。
通過調試與試驗,由樹莓派、無線網橋、遙控手柄等硬件設備,ubuntu操作系統,code::blocks編譯環境等軟件配置組成的便攜式AUV遙控裝置具有成本低,體積小,功耗低及性能穩定等特點。該裝置可以實現對便攜式AUV的啟動、停止、前進、后退、轉彎、調速等功能,在一定程度上提升了AUV的工作效率。
[1]蔣新松,封錫盛,王棣棠.水下機器人[M].沈陽:遼寧科學技術出版社,2000:304-311.
[2]吳立成,李霞麗,楊國勝等.一種水上行走機器人紅外遙控器的設計與實現[J].東南大學學報2013,43(z1).
[3]汪鑫,彭雨薇.基于樹莓派的網絡監控系統的研究與實現[J].高科技產品研發,2014,(14).
[4]范海英.無線網橋的應用和安全[J].科技信息2010,(9).
[5]Paul M. Newman,“MOOS- A Mission Oriented Operating Suite,”MIT Department of Ocean Engineering, Tech. Rep. OE-2003-07,2003.
[6]M.R.Benjamin,“Interval Programming:A Multi-Objective Optimization Model for Autonomous Vehicle Control,” Ph.D. dissertation,Brown University, Providence, RI, May 2002.
[7]M.R.Benjamin, M. Ground, P.Newman,“Multi-objective Optimization of Sensor Quality with Efficient Marine Vehicle Task Execution,”in International Conference on Robotics and Automation(ICRA), Orlando,pp.3226-3232,2006.
[8]曹恒林.用JoyStick游戲手柄控制LED顯示屏視頻處理器及專用播放軟件[J].現代顯示2010,(11).