吳凱,周悅,郭威,李廣偉,孫洪鳴
(1.上海海洋大學工程學院,上海 201306;2.中國科學院深??茖W與工程研究所,三亞 572000;3.中國科學院大學,北京 100049)
我國海岸帶領域面積寬廣、資源豐富,是經(jīng)濟發(fā)展的“黃金地帶”[1]。近年來,各國對海岸帶開發(fā)力度逐漸加大,但由于海岸帶環(huán)境復雜,人工勘測難度大,作業(yè)成本高等問題。因此,作為重要載體和技術手段的海岸帶勘測裝備的研發(fā)尤為重要。
為滿足海岸帶大范圍、無人化移動考察作業(yè)需求,在海岸帶履帶機器人載體平臺基礎上,基于LabVIEW開發(fā)上位機人機交互終端,使用ARMCortex-M4內(nèi)核的STM32F407芯片作為控制核心,軟件上基于FreeRTOS實時操作系統(tǒng)開發(fā),設計了一套結構簡單、通信可靠、實時性強的履帶機器人控制系統(tǒng),從而實現(xiàn)其近程端、遠程端的有效運動控制、數(shù)據(jù)獲取、存儲、顯示等功能。
海岸帶履帶機器人載體平臺采用克里斯蒂全獨立懸掛設計,車體兩側(cè)使用內(nèi)嵌凱夫拉纖維橡膠一體成型履帶韌性強、耐磨性好。承重輪主要用于載體支撐及履帶規(guī)正,以保證其運動的平穩(wěn)性。誘導輪通過調(diào)節(jié)履帶的張緊度以適應不同路況的越障需求。托鏈輪用于托起履帶上部部分重力,避免履帶下垂。載體平臺的驅(qū)動力是由兩臺直流無刷電機經(jīng)減速器將動力傳遞給驅(qū)動輪。同時,合理的底盤大小保證了運動控制系統(tǒng)執(zhí)行器和搭載的各類傳感器有充裕的空間[2-3]。海岸帶履帶機器人載體平臺及主要參數(shù)如圖1、表1所示。
圖1 海岸帶履帶機器人載體平臺
表1 載體平臺主要參數(shù)
海岸帶履帶機器人作為一種新型的海岸帶探測裝備,其控制系統(tǒng)設計主要為實現(xiàn)遠程模式下履帶機器人的運動控制、定點精細化勘測以及應對突發(fā)狀況下履帶機器人的回收控制。這要求控制系統(tǒng)及設備對采集的數(shù)據(jù)進行快速處理并上報至上位機終端;要求上位機有效的對下位機進行控制以及對下位機上傳的各種數(shù)據(jù)進行記錄、存儲和顯示;要求各個傳感器依據(jù)某一標準協(xié)議及接口與主控制器進行通信。
依據(jù)控制功能及要求,最終將控制系統(tǒng)劃分為五大單元:
1)控制單元:用于近程遙控端、上位機遠程端對履帶機器人實時監(jiān)視與運動控制;
2)通信單元:用于主控制器與上位機終端之間的4G網(wǎng)絡通信,以及主控制器與GPS、位姿傳感器、電機控制器的串行通信;
3)數(shù)據(jù)采集單元:包括用于采集作業(yè)環(huán)境的圖像信息以及自身的位置和姿態(tài)信息;
4)電源單元:為各類傳感器、控制器、電機等用電模塊供電;
5)電機控制單元:用于控制兩臺直流無刷電機運動。
海岸帶履帶機器人控制系統(tǒng)硬件設計采用模塊化設計思想[4,5],依據(jù)控制系統(tǒng)5大功能,設計控制單元、數(shù)據(jù)采集單元、通信單元、電機控制單元、電源單元的硬件電路,這樣既便于硬件安裝、調(diào)試及維護,又可為后續(xù)海岸帶履帶機器人系統(tǒng)功能的升級優(yōu)化奠定基礎??刂葡到y(tǒng)硬件架構如圖2所示。
圖2 控制系統(tǒng)硬件架構圖
為了滿足以上控制應用需求,主控制器選用高性能、低功耗、實時響應ARMCortex內(nèi)核的STM32F407ZGT6作為控制核心[6,7],該芯片擁有高速數(shù)據(jù)緩存、168MHz高速運行頻率、自帶FPU與DSP指令集、豐富的外設接口等特點。各項參數(shù)指標與實踐表明,STM32F407ZGT6芯片是一款功能強大且適用于海岸帶履帶機器人主控制器的芯片。
采集電路主要包括采集位置、位姿、圖像等數(shù)據(jù)信息電路。由于控制系統(tǒng)對位置、位姿數(shù)據(jù)采集精度要求較高,而GPS信號經(jīng)過對流層時受到水汽分布不均的影響,在短距離設置基站時可以通過使用差分方法消除這一誤差,但中長距離、單點定位時我國設置參考基站并不能滿足有要求精度的模型。經(jīng)過試驗,本文選用體積小、性能優(yōu)異的ATK-S1216F8-BD GPS/北斗雙模定位芯片。位姿數(shù)據(jù)采集選用Bosch公司BMX055自帶數(shù)字運動處理器及硬件加速引擎的MPU6050芯片,該芯片內(nèi)部具有3軸陀螺儀和3軸加速度計。通過試驗,該芯片能夠滿足采集的速度與精度要求,適用于該控制系統(tǒng)。由于海岸帶履帶機器人需要在夜間作業(yè),環(huán)境信息的圖像采集也存在數(shù)據(jù)信息量較大、MCU處理資源不足問題,為減輕MCU負擔提高其實時處理的能力,本文選用HIKVISION 1920*1080px分辨率、內(nèi)置鋰電池、微光全彩夜視、超長待機的4G高清攝像頭。通過驗證,該4G高清攝像頭是對海岸帶履帶機器人無線圖像采集的一種有效解決方案。
通信電路設計包括4G無線通信、RS232通信、IIC總線通信電路[8]。其中,4G無線通信電路負責將圖像信息上傳至上位機以及主控制器與上位機終端的數(shù)據(jù)交互;IIC和RS232通信電路分別負責將采集的位姿數(shù)據(jù)和GPS數(shù)據(jù)經(jīng)主控制器打包上傳至上位機。使用3種通信協(xié)同合作使得該控制系統(tǒng)信號傳輸速率快、通信穩(wěn)定可靠。
履帶機器人運動依靠兩臺直流無刷電機差速旋轉(zhuǎn)實現(xiàn),因此電機控制器需要同時滿足控制兩臺直流無刷電機運動,同時采集轉(zhuǎn)子位置反饋的霍爾信號及增量式編碼器信號以實現(xiàn)電機速度閉環(huán)控制。本文選用了DC48DPW50BL-PC2智能型雙直流無刷電機控制器,該控制器可以同時控制兩臺直流無刷電機,支持模擬量、脈沖量以及數(shù)字量輸入。
考慮到海岸帶履帶機器人需要執(zhí)行遠程情況下的運動控制、定點精細化勘測,以及應對突發(fā)狀況下近程端履帶機器人的回收,將系統(tǒng)控制模式設計為遠程端控制和近程端控制兩種方式。如圖2所示,遠程端控制模式采用數(shù)字量輸入控制方式,當主控制器接收到上位機終端指令時,經(jīng)過SP3232(TTL電平轉(zhuǎn)RS232電平模塊)將解析的數(shù)據(jù)下達至電機控制器。而近程端遙控模式采用RC航模遙控控制方式即航模發(fā)射器發(fā)出脈寬信號,RC航模Radio接收機將接收的脈寬信號傳至電機控制器模擬量輸入端,設定接收1.0ms脈寬信號時對應于操縱桿的最小速度,2.0ms脈寬時對應于操縱桿的最大速度,通過調(diào)節(jié)1.0ms~2.0ms脈寬實現(xiàn)電機的速度控制[9,10]。
根據(jù)硬件電路連接需求,將主控制器I/O引腳進行分配,引腳分配如表2所示。
表2 主控制器I/O引腳分配表
下位機基于FreeRTOS嵌入式實時操作系統(tǒng)進行設計。FreeRTOS是一個可裁剪、輕量級、調(diào)度策略靈活的實時嵌入式操作系統(tǒng)內(nèi)核,具有任務通知、消息隊列、信號量、時間片調(diào)度等功能[11]。依據(jù)控制需求設計4個應用任務:初始化任務、數(shù)據(jù)采集任務、電機控制任務和通信任務,利用其多任務(scheduler)管理機制協(xié)調(diào)各個工作任務,可以提高系統(tǒng)的實時性。基于FreeRTOS操作系統(tǒng)的軟件結構如圖3所示。
圖3 履帶機器人控制器軟件結構圖
1)系統(tǒng)初始化
初始化任務主要完成系統(tǒng)的初始化工作。初始化主要包括系統(tǒng)時鐘、串口、IIC總線、GPIO引腳、定時器、創(chuàng)建應用任務后掛起自身任務等。
2)數(shù)據(jù)采集任
數(shù)據(jù)采集任務主要包括對GPS數(shù)據(jù)、MPU6050位姿數(shù)據(jù)以及電機控制器數(shù)據(jù)的采集。其中,GPS數(shù)據(jù)通過ATKS1216F8-BD模塊進行采集,采集的數(shù)據(jù)包括北京時間、經(jīng)度、緯度、海拔高度以及運動速度。位姿數(shù)據(jù)通過MPU6050芯片采集,采集的數(shù)據(jù)包括俯仰角、橫滾角、航向角。而電機控制器數(shù)據(jù)采集包括左右電機速度,電壓和電流等。采集任務流程如圖4所示。
圖4 采集任務流程圖
3)電機控制任務
電機控制任務通過上位機下達控制指令實現(xiàn)。上位機訪問電機控制器時,雙方采用應答機制進行交互,對于有要求應答的查詢,例如讀取速度、電流等,回復查詢被認為是命令的響應。對于不需要回復的命令,例如速度設置,控制器應答數(shù)據(jù)幀將在每個回車符之后以“+”作為命令響應結束。當命令或查詢已被接收,但不能被識別或因為某種原因不能被接收時,控制器應答數(shù)據(jù)幀將在回車符后以“-”提示錯誤。電機控制任務流程如圖5所示。
圖5 電機控制任務流程圖
4)通信任務
通信任務包括RS232通信,4G通信和IIC通信3種方式。其中,4G DTU模塊使用RS232轉(zhuǎn)4G雙向透傳,實現(xiàn)上位機終端與下位機4G收發(fā)模塊之間的遠程通信。RS232通信任務運行時,將等待USART中斷回調(diào)函數(shù)通知,當上位機終端下達控制指令時,會觸發(fā)USART接收中斷,在中斷回調(diào)函數(shù)中通知RS232通信任務。如果RS232通信任務未就緒或未運行則立即退出中斷,進行任務調(diào)度使RS232通信任務就緒獲得主控制器控制權,然后主控制器根據(jù)通信協(xié)議解析收到的指令幀從而控制各個設備。IIC通信任務負責將位姿信息傳至主控制器,根據(jù)任務要求,設置1s定時采集一次位姿數(shù)據(jù),然后主控制器打包數(shù)據(jù)將其放入發(fā)送隊列中,等待USART發(fā)送函數(shù)將隊列中的數(shù)據(jù)依次發(fā)送至上位機終端。
軟件控制協(xié)議幀采用ASCII編碼格式,幀長度規(guī)定為變長,以/r/n為結束符,通信協(xié)議編碼如表3所示。
表3 通信協(xié)議編碼表
其中,數(shù)據(jù)幀的nn 和mm 分別表示通道1 和通道2從-1000r/min到1000r/min的轉(zhuǎn)速給定值,cc表示電機通道值,aa表示設備的on/off。
上位機選用NI公司LabVIEW集成開發(fā)環(huán)境開發(fā),能顯著降低控制系統(tǒng)開發(fā)周期及維護成本[12]。為了調(diào)試時方便讀取通信的數(shù)據(jù)幀以及運動控制時提高操作的便捷性,上位機設計了程序調(diào)試和運動控制兩個窗口。
在程序調(diào)試窗口中,為了方便串口配置及通信,使用VISA函數(shù)設計了支持自動識別串口,可以設置常用9600、115200以及自定義波特率、校驗位、數(shù)據(jù)位和停止位,并且數(shù)據(jù)幀發(fā)送形式設計了可以支持ASCII碼或十六進制的可選按鈕。調(diào)試時通過串口將指令幀從數(shù)據(jù)發(fā)送區(qū)下達至海岸帶履帶機器人主控制器,同時機器人的運動狀態(tài)、各個傳感器數(shù)據(jù)、電機的運行狀態(tài)也將以數(shù)據(jù)幀形式響應在程序調(diào)試窗口數(shù)據(jù)顯示區(qū)。程序調(diào)試窗口設計主要包括:串口設置區(qū)、數(shù)據(jù)顯示區(qū)、數(shù)據(jù)發(fā)送區(qū)等。
而運動控制窗口為了易于實現(xiàn)海岸帶履帶機器人基本運動控制,行駛控制區(qū)設計了4個代表履帶機器人前進、后退、左轉(zhuǎn)、右轉(zhuǎn)的運動控制按鈕,操作員通過4個控制按鈕可以實時調(diào)整履帶機器人的運行方向及姿態(tài)??紤]實驗后方便對履帶機器人控制系統(tǒng)性能進行分析,設計傳感器數(shù)據(jù)區(qū)用于記錄履帶機器人每個時刻的狀態(tài)及各個傳感器數(shù)據(jù),同時GPS、位姿傳感器采集的數(shù)據(jù)信息將在軌跡顯示區(qū)、位姿顯示區(qū)中動態(tài)顯示。運動控制窗口的設計包括:串口設置區(qū)、行駛控制區(qū)、傳感器數(shù)據(jù)區(qū)、軌跡顯示區(qū)、位姿顯示區(qū)等。上位機監(jiān)控終端架構如圖6所示。
圖6 上位機監(jiān)控終端架構
為驗證控制系統(tǒng)有效性,本文首先對控制系統(tǒng)的各個功能模塊進行調(diào)試,其次正確連接控制器、各類傳感器以及上位機硬件電路進行整體測試,然后對上位機和下位機進行系統(tǒng)聯(lián)調(diào),最后將海岸帶履帶機器人置于海岸灘涂進行實驗測試,實驗如圖7所示。
圖7 海岸帶機器人實驗
實驗時首先對GPS、位姿傳感器進行調(diào)試,通過將GPS和位姿任務程序下載至主控制器,正確連接硬件電路、設置通信參數(shù),用開發(fā)的上位機程序調(diào)試窗口進行數(shù)據(jù)讀取,讀取結果如圖8所示。由程序調(diào)試窗口數(shù)據(jù)接收區(qū)可以看到GPS和位姿傳感器數(shù)據(jù)每間隔1s上發(fā)一次。GPS數(shù)據(jù)的授時時間、經(jīng)度、緯度、海拔高度與GPS校準儀測量的數(shù)據(jù)基本一致。位姿傳感器的航向角、俯仰角、橫滾角數(shù)據(jù)也與位姿標定傳感器測量的數(shù)據(jù)相同。
圖8 程序調(diào)試界面
最后,將海岸帶履帶機器人置于灘涂進行實驗,通過上位機終端的運動控制窗口下達前進運動指令,履帶機器人在實驗灘涂從起始點以0.5m/s速度平穩(wěn)出發(fā),實驗員通過視頻圖像及上位機終端界面操作4個運動控制按鈕,使履帶機器人按照作業(yè)路徑安全平穩(wěn)行駛,此間控制系統(tǒng)通信穩(wěn)定,各個傳感器數(shù)據(jù)采集及上位機顯示正常,履帶機器人實驗運動軌跡曲線實時顯示于上位機運動控制窗口地圖中,如圖9所示。傳感器數(shù)據(jù)區(qū)記錄其運動軌跡經(jīng)緯度坐標點,使用Matlab繪制坐標曲線與上位機地圖軌跡相同,如圖10所示。
圖9 運動控制界面
圖10 經(jīng)、緯度坐標曲線圖。
本文針對海岸帶大范圍、無人化勘測作業(yè)需求,對海岸帶履帶機器人控制系統(tǒng)進行設計、實現(xiàn)與實驗。下位機基于ARM Cortex-M4內(nèi)核STM32F407芯片,圍繞功能需求進行了系統(tǒng)的硬件與軟件設計。其中,軟件部分采用FreeRTOS嵌入式實時操作系統(tǒng)進行模塊化編程,提高了MCU資源的利用率及事件的實時響應速度。同時采用模塊化設計思想,根據(jù)不同勘測需求搭載不同傳感器,克服了單一固定數(shù)據(jù)采集的難題,也便于后期系統(tǒng)的維護以及功能的升級。上位機采用LabVIEW集成開發(fā)環(huán)境進行監(jiān)控終端的設計,縮短了控制系統(tǒng)程序調(diào)試周期,提高了開發(fā)效率。實驗測試結果表明,設計的控制系統(tǒng)通信可靠、實時性強、工作性能穩(wěn)定、上位機終端控制效果理想。