?

基于OpenMV的特征辨識跟隨機器人控制系統設計

2023-04-14 21:18肖嘯天孫明曉王博欒添添
電腦知識與技術 2023年6期
關鍵詞:控制系統

肖嘯天 孫明曉 王博 欒添添

摘要:為了讓人在超市等公共場合解放雙手,減輕負重,設計一種基于OpenMV視覺攝像頭模塊的具有特征辨識功能的智能跟隨機器人。在自主跟隨模式下,系統通過識別AprilTag來確定被跟隨目標與跟隨機器人的相對位置坐標,運用PID算法來規劃系統的跟隨路徑,通過調用PWM脈寬調制控制左右電機的轉速,達到跟隨的效果。在遙控模式下,跟隨機器人可以被上位機遙控,借助應用程序向系統發送特定的字符串,遙控跟隨機器人系統進退、轉動等。該設計的實現能夠有效減輕人的負重,提高運載效率。

關鍵詞:OpenMV視覺傳感器;控制系統;AprilTag識別;跟隨機器人

中圖分類號:TP273 ? ?文獻標識碼:A

文章編號:1009-3044(2023)06-0015-03

開放科學(資源服務)標識碼(OSID)

0 引言

互聯網和人工智能的飛速發展推動了機器人技術的高速發展。機器人視覺跟隨技術作為應用非常廣泛且實用的關鍵技術越來越受到重視。視覺跟蹤機器人[1]模仿了生物行為,使機器人可以通過傳感器獲取外界信息通過計算做出相應的判斷使得機器人更加智能化,雙??刂芠2]可以更好地面對復雜環境,使機器人可以處理更加復雜的問題[3]。

國外的跟隨機器人發展較早,已有相對成熟的應用,現如今私人貨物運輸機器人Gita和沃爾瑪購物車Budgee的應用,都為勞累的人們提供了便捷的服務。本質上,它們都是具有識別定位和跟隨功能的移動機器人。在國內上海交通大學設計的具有高性能和低功耗的優點移動跟隨機器人代表著國內的領先水平。黃夢雨的零轉徑跟隨機器人控制系統設計,實現了用超寬帶定位技術實現機器人的跟隨服務功能,面對復雜環境的能力還有待增強。徐軍設計的雙??刂聘S機器人,可以較好地實現跟隨行走和雙??刂?。本文相對于上述的機器人而言,在雙??刂频幕A上,采用PWM控制進行位置跟隨,電機調速通過PWM控制,占空比不同,輸出模擬電壓的平均值不同,由此來控制電機實現調速[4]??梢愿玫貞獙碗s環境,識別精度也可有一定程度的提高。主要從以下四方面展開:

(1)使用搭載OV7725攝像頭的OpenMV視覺傳感器模塊來采集圖像信息,同時將圖像信息上傳給主控芯片;(2)系統的微控制器是STM32F765,為了提高識別目標人物的速率,確保系統的實時性,CPU在獲取到圖像信息后,調用PID算法[5],設計跟隨路徑,運動平臺在獲取到跟隨路徑后穩定跟隨目標人物;(3)使用Wi-Fi模塊的AT指令作為連接PC機與跟隨機器人系統的橋梁,實現數據高速、穩定地傳輸;(4)自主跟隨模式與遙控模式之間可以自由切換,確保整個系統的高效性、穩定性、安全性。

1 硬件總體設計

本方案主要設計思路是目標跟隨機器人系統結構模塊化設計,包括視覺感知模塊[6]、機器人行走模塊、動態路徑規劃部分、Wi-Fi模塊部分、電源部分、報警部分。系統的總體框圖如圖1所示。

系統采用雙??刂?,系統的核心部分是視覺感知部分和運動平臺部分,通過OV7725攝像頭找到跟隨目標,OpenMV將相對的位置信息整合,并將此信息傳輸給STM32F,MCU[7]通過對相對位置信息的計算,得到準確的跟隨路徑。同時,也可使用Wi-Fi模塊實現聯網的效果,通過PC機應用程序控制機器人的運動。

2 軟件總體設計

2.1 系統的軟件總體框圖

對于整個跟隨機器人的控制系統來說,整個系統的軟件設計包括視覺傳感器,Wi-Fi模塊,電機驅動模塊以及PC的應用程序的設計和編寫。系統總體軟件設計流程圖如圖2所示。

2.2 視覺傳感器

OpenMV視覺傳感器模塊[8]對于整個跟隨機器人控制系統來說是最為主要的模塊之一,它為整個系統提供了識別與跟隨的功能。當視野內出現AprilTag時,程序會將AprilTag的四周使用紅色的線框起來,并在AprilTag的中心畫一個綠色的十字。同時,在OpenMV IDE的調試輸出集成串行端口會輸出AprilTag對應的ID和空間位置(六個自由度,三個位置,三個角度)。之后可以通過相對位置的輸出,來計算AprilTag和系統之間的實際距離。輸出3D坐標信息的程序與運行結果如圖3所示。

2.3 電機驅動

跟隨功能作為系統的基本功能之一,也是跟隨機器人設計的核心部分。

電機驅動模塊上電之后,主要是受到來自OpenMV3的四個GPIO引腳的控制。與此同時,電機驅動模塊的四個引腳驅動兩個電機的轉動速度。先在電機驅動模塊中配置好兩個驅動的正反轉,當速度大于零時,電機正轉,速度小于零時,電機反轉。對于系統來說,左右輪胎的距離PID應該是一樣的,方向PID是相反的。左輪的速度是距離PID減方向PID,右輪的速度是距離PID加方向PID。

2.4 Wi-Fi 模塊

ESP8266-01在上電后初始化Wi-Fi模塊,應用程序(PC機)連接AP熱點后,可以通過串口通信發送指定的字符串,控制跟隨機器人前后左右地移動。

在OpenMV IDE上使用Python語言配置模塊。通過AT+RST指令重啟模塊。AT+CWMODE=2指令設置Wi-Fi模塊為AP熱點模式,也就是把ESP-01看作是TCP服務器,等待TCP客戶端的接入ESP-01的服務器。AT+CWSAP="OPEN","123456789",6,4指令將熱點名稱設置為OPEN,密碼設置為123456789。再使用AT+CIPMUX=1指令啟動多連接模式,允許多個客戶端連接這個AP熱點。AT+CIPSERVER=1,8080指令建立TCP服務器,端口為8080端口。最后使用AT+CIFSR指令查詢一下服務器的IP地址和端口號。各個AT指令寫入后,接收到OK,則表示模塊配置成功。

2.5 PC的應用程序編寫與設計

應用程序的設計在Visual Studio 2019上創建一個MFC項目[9],可使用該應用程序實現與OpenMV3數據和字符串的傳輸。

MFC提供兩類支持編寫Web的應用程序。類CAsyncSocket封裝一個的Windows套接字API,提供高級的網絡程序員這種大多數功能和靈活性。為了實現系統的遙控功能,要先對PC機的應用程序的功能進行調試。

3 調試過程與測試結果

3.1 識別與跟隨調試

跟隨機器人的設計采用雙??刂?,在自主跟隨模式下,系統可以實現準確的識別和穩定的跟隨,在遙控模式下,可通過PC機(應用程序)實現靈活的遙控移動。具體實物圖如圖4所示。

對于對目標的識別,用2D條形碼AprilTag。主控制器根據獲取到的目標三維坐標信息,調用差速算法,驅動電機運動,使機器人跟隨目標行走。機器人速度由目標的X軸坐標和Z軸坐標確定。

[VL=KcZ-Z0-X-X0]? ? ? ? ? ?(1)

[VR=KcZ-Z0+X-X0]? ? ? ? ? ?(2)

式中:[VL]左輪速度標量,[VR]右輪速度標量,[Kc]為速度系數[Z0]為[Z]軸跟隨閾值,[X0]為[X]軸偏移量。

具體的使用過程如下,首先在OpenMV IDE中編寫好對應程序的代碼。然后將打開的腳本保存到OpenMV Cam(作為main.py),執行此操作便于以后跟隨機器人的脫機運行,保存成功后,可以在F盤里重命名保存的腳本文件。然后將OpenMV3 Cam M7連接上,如果此時OpenMV3 Cam無響應,則可能是Windows上的串口驅動程序崩潰。最后運行OpenMV IDE里的腳本程序。在脫機運行時,OpenMV3可以自動運行RAM或SD卡里的main.py程序。

對于系統來說,左右輪胎的距離PID是一樣的,方向PID是相反的。

在確保各模塊已接好的前提下,把鋰電池接入系統,為系統的所有模塊供電。跟隨機器人系統可以完成跟隨和遙控功能,說明整個系統調試成功。

3.2 遙控功能的調試

遙控功能涉及了串口通信,以及Wi-Fi轉串口的問題,通過由MFC項目創建的應用程序,可以接受或發送字符串。通過OpenMV IDE上傳到OpenMV3,PC機連接Wi-Fi模塊產生的熱點。打開應用程序,接入對應的IP地址的端口號,連接成功后,將遙控程序上傳到OpenMV3。通過點擊應用程序頁面的前進、后退、左轉、右轉和停止按鍵控制系統的運動,也可以使用電腦上的上下左右鍵來控制。遙控功能的調試程序與測試圖如圖5所示。

4 結語

本文設計一種基于OpenMV機器視覺攝像頭模塊的具有人物特征辨識功能的智能可跟隨人物的機器人,且機器人具有辨識度高、成本低、操作便捷、安全性高等優點。實現了以下功能:

(1)可以識別并跟隨目標。

(2)運動平臺獲取目標位置信息,設計跟隨算法,使用PID調節,使系統穩定跟隨。

(3)存儲空間與系統空間結構設計互不干擾,保證系統的魯棒性。

(4)手機端App與系統無線連接,在Wi-Fi模塊的SDK基礎上二次開發,具有高效透傳性能。

參考文獻:

[1] 黃夢雨,秦建軍,高磊,等.基于UWB的零轉徑跟隨機器人控制系統設計[J].重慶理工大學學報(自然科學),2019,33(9):142-150.

[2] 徐軍,楊雄,陳怡佳,等.一種雙??刂频淖灾鞲S機器人系統設計[J].自動化儀表,2018,39(3):48-51.

[3] Roy A,Noel M M.Design of a high-speed line following robot that smoothly follows tight curves[J].Computers & Electrical Engineering,2016,56:732-747.

[4] 羅琴.基于Arduino的避障小車設計與實現[J].黑龍江科學,2017,8(20):24-25.

[5] 徐敏.基于ARM的移動機器人控制系統設計[J].電腦知識與技術,2008,4(35):2356-2358.

[6] 劉暢.基于Android的無線遙控移動機器人[J].電腦知識與技術,2018,14(30):35-36.

[7] 王典洪,孫蒙,黃小輝,等.基于單片機及傳感器的機器人設計與實現[J].微計算機信息,2007,23(8):246-247,275.

[8] 張亞斌.基于ROS的輪式移動機器人行人目標視覺感知與跟隨系統研究[D].徐州:中國礦業大學,2019.

[9] 王彬.基于改進核相關濾波算法的跟隨機器人設計與實現[D].杭州:浙江大學,2018.

【通聯編輯:梁書】

猜你喜歡
控制系統
石油化工企業儀表自動化控制系統應用研究
對電氣自動化控制系統的設計要點分析
基于PLC的自動切蛋糕機的控制方案
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合