楊 川,牟琪琦,陳柯蓉,余樹林,鄭皓文
(重慶機電職業技術大學,重慶 402760)
近年來,我國航天、航空事業迎來了迅猛發展的新時期。為培養航天和計算機智能控制領域的高端人才,推動相關技術的發展,多旋翼多功能飛行機器人的研發成為研究熱點。同時,飛行機器人的工作環境已經從固定的工作環境發展為自主和非結構化的工作環境,但目前涉及航空航天領域的多功能飛行器僅有飛行、定位、拍攝等功能。此外,多數以單槳和四旋翼飛行器為主,此類飛行器往往無法勝任復雜嚴峻的環境要求。本文設計的六旋翼飛行機器人可以克服此類困難,并應用到各類復雜多變的環境中。
系統采用HT32F52352單片機作為主控制器,能實現飛行、翻轉、自動避障前行、三維抓取、勘測等運動。工作流程是六旋翼機器人接通電源后,程序自動初始化進入自動模式,不需要做任何操作,處于自動飛行和避障模式,當操作人員用上位機軟件或無線遙控器控制時,切換到受控模式。普通環境和簡單動作依靠自動模式即可完成,但各種復雜環境、動作組的實現需要在受控模式下進行。六旋翼機器人系統結構包括小型涵道推進器、傳感器部分、控制器部分、執行機構部分和電源模塊等部分(見圖1)。

圖1 六旋翼機器人系統方案設計
1)小型涵道推進器:通過高速轉動對機身上下方氣流產生壓強差,使六旋翼機器人的身體在壓強差的推動下緩緩升起,從而實現飛行的功能。
2)傳感器部分:負責感知外部的環境信息和實現勘測功能,為六旋翼飛行機器人運動的實現及相關任務實施提供所需要的信息。包括陀螺儀、壓力傳感器、超聲波傳感器、攝像頭等子模塊。
3)控制器部分:包含上位機控制和機器人機身的主控制器,主控制器選擇HT32F52352單片機作為控制核心,接收到命令和傳感器采集數據后,在單片機中進行數據的分析處理,提取有關信息,通過軌跡的規劃算法得到執行動作組信息,再傳遞給相應的執行結構,控制六旋翼機器人完成各種指定任務。
4)執行機構:負責執行動作組的信號,實現六旋翼機器人各種形態的運動變化。執行機構主要是機身的3個關節處的8個舵機。
5)電源部分:包括電池和穩壓模塊,向各個模塊提供電源。由于6個小型涵道推進器是整個飛行器飛行的動力來源,功率較大,每個小型涵道推進器各使用1個電源穩壓模塊;機身3個關節處的8個舵機共用1個電源穩壓模塊;為了減少干擾,傳感器部分和控制部分單獨用1個電源穩壓模塊。
關節設計可分為二維結構和三維結構。本文采用的是三維結構的關節設計,雖然會導致六旋翼機器人的靈活性大大降低,但卻可以適應不斷變化的風速,同時保證增加飛行高度后能夠保持更強的穩定性,使六旋翼機器人的運動特點得到充分體現。為了實現三維結構,每一節關節處安裝2個涵道和2個舵機,相鄰的關節結點再用1個舵機連接,3個關節總共需要6個小型涵道推進器(含各自的電調模塊)、8個舵機。
六旋翼機器人的頭部安裝一個可360°旋轉的小功率舵機,以增加頭部的自由度,頭部在勘探過程可實現多角度的數據采集。
六旋翼機身主體部分的動作動力源為舵機,由于整個機身較重,在飛行過程中轉動時需要的力矩較大,故舵機選取SH10-F型舵機。此舵機長40.8 cm、寬38 cm、高19.8 cm;堵轉力矩為15.25 kg/cm,起動轉矩為10.51 kg/cm,工作電壓DC 5~9 V。主要由金屬外殼、板、發動機、錐齒輪、PSD(位置敏感器件)構成?;緷M足本設計要求。
該舵機極限角度為15°~-215°,即為200°,能夠實現六旋翼的整體翻轉功能。舵機的控制通過輸入特定PPM脈沖信號來控制所轉角度。
為了使六旋翼機器人可以在空中飛行,采用小型涵道推進器作為飛行動力來源,小型涵道推進器具有直接起降、可懸停、低噪音、升力大等特點。由于六旋翼整體重量不能過高,小型涵道推進器只能按照1.5倍功率余量選擇,一旦出現飛行不穩、不平衡現象,很容易出現小型涵道推進器燒毀現象。為了方便維修,將小型涵道推進器的連接裝置與六旋翼的軀體部分分開設計,即在軀體下加裝可拆卸的小直徑從動輪與小型涵道推進器。
通過研究,各個模塊的運動自由度對六旋翼機器人的動作執行效果具有重要意義。故本項目最終采取的是模塊化設計方案。每個模塊的單獨組成可以大大降低維修難度,可隨時進行模塊替換。若測試時發現動力不足可立即更換高功率涵道推進器,發現飛行失衡可立即更換稍小功率涵道推進器(選擇功率越大的涵道推進器,重量也越大)。多個模塊具備拆裝靈活性,可以通過不斷更換參數和位置找尋最合適的啟動力矩與質量的比例,通過3個關節選擇不同的連接點和左右配重,可以克服運動不協調的問題。
上位機控制主要利用LabVIE實現,采用圖形化編程,此方案具有明顯的優點。①LabVIE可實現數據的實時采集和傳輸,保證六旋翼機器人的飛行狀態和采集數據在上位機上實時呈現,提高控制效率和安全性。②通過LabVIE軟件將上位機程序變成簡單的圖形,使程序簡單化、易上手、擴展空間大。③利用LabVIE軟件中的函數庫,將六旋翼機器人各個小型涵道推進器(含各自的電調模塊)和舵機的使能、啟動、模式切換等復雜控制程序簡化為調用函數庫的方法,從而降低程序指令在運行過程中的跑偏與卡死,增加程序的流暢性、快速性。
主控制器的程序主要對六旋翼機器人具體的運動方向、軌跡和執行動作等進行控制。
3.2.1 六路PWM程序設計
6路PWM主要用于控制6個小型涵道推進器的功率大小,從而保證六旋翼機器的起飛、降落、懸停,通過PID算法改變6路PWM的占空比可實現姿態的平衡。6路PWM的輸出使用軟件模擬法完成,可大大降低程序復雜程度,同時確保6路PWM頻率的一致性。選用單片機定時器模塊中定時器0作為時間產生模塊,通過中斷系統改變脈沖的周期與占空比,實現矩形波的占空比可調。經過測試,小型涵道推進器的有效控制占空比為5.5%~17%,超過17%小型涵道推進器將直接失控,低于5.5%小型涵道推進器將無法轉動,出現堵轉現象。
3.2.2 軌跡規劃設計
軌跡的規劃是主控制系統核心設計內容之一。最佳的軌跡規劃可以提高六旋翼機器人的穩定性和工作效率,降低六旋翼機器人的耗電。通過對實際測試得到的六旋翼機器人上升姿態與速度的分析,若將六旋翼機器人分為日常軌跡模式與復雜軌跡測算分析模式,難以區分特異性和異常位置。通過查閱國內外相關文獻,本文采用在時間上優化作業的空間軌跡規劃方案(即DELTA軌跡方案),并在實際測試中不斷改良,最大限度地加快作業時間。六旋翼機器人的空間軌跡規劃數學理論公式為:
根據以上公式,通過換算變成程序,實現軌跡的設計,并通過不斷實際測試優化參數。主要方法是實際運行過程中改變垂直區域和平面區域的最大的速度與質量之比,將路線中的第一個點位置和端點的位置記錄下來,并將信息保存在單片機的ARM中,實現不斷的算法優化。
根據六旋翼機器人運動指令與上述軌跡規劃算法結合得到的數據,將它轉換成PWM控制信號,發送給相應的執行單元,實現六旋翼機器人的前進、后退、避障等。即無論何種環境和條件下、無論受控或者自動控制模式下,均可自動規劃出最佳的飛行軌跡。
自動模式下僅需要通過上位機發送命令后,自主規劃路徑、自主運行。無線遙控系統主要在受控模式下使用。
無線遙控系統的整個控制過程就是一個編碼和解碼的過程,能夠實現遠程無線控制的方案很多,若采用傳統控制方案(改變載波信號占空比大小,編碼后通過無線傳輸接收,再解碼),傳輸有一定延遲,容易丟幀,且不適用于大量控制信號的高速傳輸。本文設計的六旋翼機器人使用的是日本生產的NP02LM無線遙控傳輸方案,此方案采用的是連續的32位代碼,最初的24位是地址代碼(相當于各遠程控制器的唯一ID)。保證遙控器的控制唯一性,防止被“串臺”或者被其他人解碼控制,最后的8位數字是數據代碼,最大可實現20個按鍵的獨立控制,20個按鍵的控制組合遠遠能夠保證本項目所需的所有操作需求。
六旋翼機器人的測試方法不僅僅局限于一種模式的測試,既要測試受控模式,也要測試自動模式。在測試的具體參數中,主要測試不同模式的飛行高度、飛行偏置角度、抓取靈敏度、轉動角度等。通過在不同環境、不同模式下飛行穩定性的數據記錄、檢測,將最終數據進行對比,對不足之處進行修改、改進,不斷優化軌跡規劃算法和6路PWM輸出精度等。
1)安全性好。由于六旋翼機器人能夠實現任意翻轉、機身彎曲和折疊等動作,所以比起其他飛行機器人優秀,并且它可以飛進陰暗狹窄的環境,在危險環境中工作,完成指定的任務。在六旋翼機器人上安裝報警裝置后,可以讓六旋翼機器人完成高空檢測、報警任務。
2)可作為遠程操作機械手臂。通過在六旋翼機器人的身上安裝所需裝備后,它將變成一個具有自由組裝彎曲的機械手臂,完成各種復雜的高空捕捉。例如在陰暗狹窄的空間里進行捕捉,崎嶇蜿蜒的空間里檢測識別、抓取等。
3)具有監控、跟蹤等功能。由于該六旋翼機器人設計之初便加裝各種傳感器(熱釋電紅外傳感器、超聲波傳感器、壓力傳感器、攝像頭等)和預留了許多傳感接口,通過現有功能和傳感器加裝即可實現各種環境下的定位、人員檢測、拍攝、錄像、跟蹤等功能。