?

基于STM32 的柑橘采摘機器人

2024-01-12 00:06林厚健蔡子穎王小增黃凱升馬展鵬
嘉應學院學報 2023年6期
關鍵詞:舵機遙控器柑橘

林厚健,蔡子穎,王小增,黃凱升,馬展鵬

(嘉應學院 物理與電子工程學院,廣東 梅州 514015)

0 引言

一直以來,鄉村農業是國家重點扶持對象,這關系著中國人的糧食安全.隨著我國農業機械化水平的不斷提高,越來越多的農業機械設備應用到現代農業生產中,在一定程度上減輕了農民的工作強度,提升了農業生產效率[1],但在廣大的農村地區,許多農民仍然用著傳統人工采摘水果的方式,人工成本較高,采摘效率偏低.現如今,中國農業生產量高,農業自動化發展水平較低,使得中國農業的生產效率較低,且面臨農業勞動力需求大,農業勞動者數量減少,使得農業發展受限的問題.針對于此問題,設計了一款可自動采摘柑橘的機械臂.它能夠幫助農民進行全自動的柑橘采摘,且能全天不間斷地進行采摘,還可以通過無線圖傳觀察水果的狀況.本柑橘采摘機器人自帶顯示器,能實時顯示柑橘采摘數量.同時,柑橘采摘機器人配備了二維搖桿遙控器,結合顯示器進行模式的切換、對電機和機械臂進行控制.柑橘采摘機器人投入使用后可全程無人自動化工作,提高了采摘效率的同時也降低了采摘水果的人力物力成本.

1 系統的整體框架設計

隨著人工智能技術的蓬勃發展,傳統自動化技術結合人工智能技術后有了更大的施展空間,用于農、林業作業的耕作或采摘機器人如雨后春筍般崛起.柑橘采摘機器人的研發涉及農林科學、機器視覺、機械設計、軌跡規劃、控制理論等多方面技術,采摘機器人通過攝像頭識別并定位采摘目標所在位置,然后進行采摘軌跡規劃,再通過驅動機械臂關節電機進行目標摘取[2-3].由于柑橘樹生長的地區地形環境多樣,果樹上果實形狀和顏色各異,大小不一,自動采摘過程涉及諸多難題,機器視覺系統需具備高度復雜的圖像處理和分析能力,能夠準確地識別定位并抓取成熟的柑橘,并能夠在不同光照強度下正確識別區分果實和樹枝、葉子等其他干擾物;柑橘采摘過程中,要求機器人的機械臂需要具備足夠的靈活性和力量,以適應不同高度和位置的采摘任務,機械臂的設計需要兼顧抓取的準確性和穩定性,同時保證機器人的移動效率和能耗;柑橘自動采摘機器人需要能夠對傳感器數據進行實時處理和分析,對果實的成熟度、質量、位置等信息進行準確判斷和決策,這要求機器人主控系統具備強大的計算和學習能力,能夠根據不同的采摘情況做出相應的操作和決策.

基于以上需求分析,所設計的柑橘采摘機器人系統采用了性價比高、處理能力強的STM32F401CCU6單片機作為主控芯片,搭載圖像識別攝像頭模塊OpenMv plus 實現對柑橘的識別與定位,Open Mv4 結合WIFI 圖傳模組進行無線圖傳,采用JDY-40 無線串口通訊模塊建立無線通訊;采用串口舵機組成機械臂實現柑橘的采摘;采用MG540 編碼直流減速電機實現電機速度閉環控制來驅動履帶車的移動;機械臂末端夾爪配備了光照檢測電路和功率LED 實現對采摘環境光照強度的調節.基于以上方案設計的柑橘采摘機器人框架如圖1 所示,系統可實現自動調光、無線圖傳、采摘計數和全自動采摘的功能.

圖1 機械臂履帶車系統設計框圖

2 系統的硬件方案設計

2.1 機器人電源方案

機械臂履帶車系統供電電壓包括12 V、7.4 V、5 V 和3.3 V 4 種,采用30C 的3S 航模電池作為主供電電源.在機械臂、直流電機、LED 調光燈同時驅動的情況下,系統可輸出達10 A 的負載電流,可以滿足工作需要.設計XL4 015 可調穩壓電路提供7.4 V 電壓,其輸出高達5 A 的電流可為六軸機械臂供電;設計LM2596 穩壓電路提供5 V 電壓用于攝像頭和LED 供電;設計AMS1 117 穩壓電路提供3.3 V 電壓用于主控制器和外接檢測和邏輯電路供電.

2.2 電機驅動控制方案

履帶車底盤驅動電機采用L298N 芯片進行驅動,通過單片機I/O 口輸出PWM 信號來控制兩個H 電橋的關斷和導通,需對L298N 驅動芯片的電源輸入進行濾波,輸出電路接保護二極管后接入電機電源線接口,電機端接口配備了AB 相霍爾測速檢測端,可通過識別兩引腳的脈沖相序來識別正反轉.兩個AB相檢測引腳接入單片機含有定時器功能的I/O 口,實現正反轉測速[4].

系統機械臂采用了五自由度機械結構,為了提高抓取水果容錯率,機械爪選擇接觸面比較大的夾爪.為了簡化機械結構,采用串口舵機來帶動機械結構,設計中將所有舵機的串行通信接口并聯在一起,可充分節約主控芯片的I/O 資源.

2.3 光照檢測及LED 照明方案

為提高柑橘采摘機器人的作業效率,使其不受采摘環境的光照限制,設計了光照檢測及LED 驅動電路,該電路利用4.7 kΩ電阻和光敏電阻進行分壓,通過檢測光敏電阻電壓來判斷光照強度大小,當光線較強時,光敏電阻阻值較小,其分壓通過ADC 模塊轉換后的數值可以反應光線的強弱,當光照強度不夠時,LED 驅動電路便開始工作.由NPN 型晶體管組成的電平轉換電路把控制芯片的3.3 V 電平轉換成5 V電平,PWM 信號輸入接到MOS 管柵極,通過控制LED 導通電壓的大小,進而實現LED 亮度的控制[5].

2.4 攝像頭識別方案

考慮到主控制器與攝像頭的通訊方式,決定采用圖像識別高性價比芯片OpenMv plus 進行采摘目標識別與定位,通過串口與主控制器進行通訊,傳輸抓取目標的坐標數據[6-7].為了實現無線圖傳且不對主攝像頭的正常識別造成影響,系統采用OpenMv4 攝像頭結合WIFI 圖傳模組進行無線圖傳,自行設計印制電路將兩個攝像頭模塊集成到光照檢測及LED 驅動電路中,提高模塊集成度以減少機械結構的復雜程度.

2.5 遙控器方案

遙控器系統采用二維搖桿電位器,搭載OLED 顯示屏用于顯示工作模式等信息.遙控器上集成MPU6050 姿態傳感器,通過獲得遙控器姿態來控制機械臂夾爪的俯仰角和橫滾角,將傳感器獲得的三軸加速度和三軸角速度信息通過I2C 通訊傳到主控制器中[8].遙控器的按鍵電路包含4 個獨立按鍵和搖桿電位器模塊的3 個接口,其中兩個接口為二維電位器的接入端,接入單片機中具有ADC 轉換功能的I/O 口,連接按鍵的所有I/O 口設置為輸入模式.

2.6 通訊方案

機械臂履帶車系統通訊電路包括無線遙控通訊、舵機通訊和攝像頭通訊,三個模塊電路均基于串口原理進行通訊,分別接入STM32F401 主控芯片的串口1、串口2 和串口6.機械臂履帶車與遙控器之間進行無線通信的電路中將JDY-40 模塊的SET 引腳接入主控的I/O 口,當I/O 口輸出低電平時,進行AT 指令設置模式,輸出高電平時,進入數據透傳模式.舵機通訊為單總線通訊方式,采用74HC126D 三態輸出控制門來控制收發,當發送數據時,則打開發送門,關閉接收門,發送完數據后,則打開接收門,關閉發送門.OpenMv 攝像頭通過串口6 的DMA 通道與主控進行通訊.

3 系統工作原理及軟件流程設計

3.1 機械臂逆解原理分析

若機械臂為三連桿及三連桿以上的結構,則可實現末端平移和末端轉動,且平移點對應的舵機角度逆解有無數個[9-11].逆解采用幾何圖解法,如圖2 所示,以y-z平面為例,設x坐標為0,以底座舵機軸為坐標原點,本設計機械臂逆解主要控制三連桿末端執行器在三維空間的坐標位置,步驟包括輸入三維坐標、極坐標轉換、舵機角度轉換三個步驟,通過若干三角函數和余弦定理運算得出對應舵機角度,計算公式如式(1)所示,式中y、z分別是末端執行器在y-z平面的坐標數據,l1、l2、l3分別為三個連桿的長度,S1、S2、S3分別為舵機輸出角度,pitch 為給定機械臂末端俯仰角,α、β、θ和γ為計算過程中的輔助角,L 為三連桿合成矢量,l23為l2與l3的合成矢量模長.

圖2 機械臂三連桿結構幾何解析圖

3.2 機械臂自動追蹤原理分析

將機械臂模型初始化,末端俯仰角設定為0 °,方向朝正前方,通過串口6 采用DMA 接收的通訊方式,與攝像頭OpenMv plus 通訊,當攝像頭檢測到抓取目標時,實時反饋目標在攝像頭視野的三維坐標數據到STM32F401CCU6 控制器,進行PID 運算,得到兩軸調整輸出量,通過控制L1 連桿實現對末端執行器俯仰角和航向角的調整,使機械臂對目標進行跟蹤[12],PID 運算如式(2)所示.

式中,U(k)為k時刻的控制量,Kp、Ki和Kd分別為比例系數、積分系數和微分系數,err(k)和err(k-1)分別為k、k-1時刻的誤差.

基于機械臂的數學模型,應用PID 參數的工程經驗整定法,經過調試得到機械臂x軸PID 控制參數為Kp=20,Ki=2,Kd=20,y軸PID 控制參數為Kp=30,Ki=2.5,Kd=30.為提高攝像頭識別到目標距離后柑橘采摘機器人的執行速度,機械臂履帶車系統工作時,通過機械臂正前方的攝像頭采集到其與抓取目標之間的距離,根據目標距離的大小分兩步執行,程序設定當目標距離大于25 cm(此數據基于采摘機器人的尺寸規格)時,履帶車直流電機驅動前進,并自動調整車體朝向抓取目標,當目標距離小于25 cm 后,履帶車底盤停止移動,機械臂繼續追蹤,當抓取目標到達攝像頭視野中央后,系統開始進行姿態解算,其示意圖如圖3 所示,坐標求解如式(3)所示.運算得到抓取目標在三維空間的坐標數據后進行抓取,隨后將采摘下來的柑橘放至儲存箱.

其中(add_y,add_z)是待求解抓取目標在y-z平面的坐標,pitch 為末端執行器的俯仰角,Lc為攝像頭的長度,length 為攝像頭與抓取目標的距離,a、b和c是計算過程中的輔助線段.

3.3 視覺識別原理分析

視覺識別主要用于獲取抓取目標的實時空間位置同時進行數據發送,為了提高識別的實時性和識別成功率,采用顏色識別結合形狀特征來定位抓取目標.

因為抓取對象為成熟的柑橘,所以設置識別形狀特征應為橢圓形,同時需要采集成熟柑橘的顏色閾值.視覺模塊工作時系統先初始化攝像頭參數,設置傳回圖像的像素格式為RGB565,將圖像大小設置為QVGA(320x240),設置目標顏色閾值.由于顏色識別易受光線影響,需要關閉白平衡,然后讓攝像頭截取一張感光圖像,并將圖像轉換為Lab 顏色模型,為了優先抓取離攝像頭最近的成熟柑橘,過濾像素較小的色塊,找到圖像中符合閾值的最大色塊作為抓取目標,通過圖形繪制函數框出最大色塊輪廓,返回繪制框的中心坐標,最后通過串口通訊將識別到抓取目標的三維空間坐標傳給STM32 主控進行處理.

在攝像頭視野內的平面坐標可由識別定位函數直接得出,由于OpenMv 采用的是單目攝像頭,實現測距需要選取參照物,利用參照物的大小比例關系來計算距離.首先通過封裝函數得出最大色塊的像素半徑,再結合視野像素范圍和攝像頭中的幾何關系,得出攝像頭與抓取目標的實際距離,求解公式如式(4)所示.

其中,length 為單目測量距離,dmax為視野最大直徑像素,d為視野內的目標直徑像素,Rreal為識別目標的實際半徑,L為攝像頭的內部成像距離,μ為視野最大半徑與攝像頭內部成像距離的正切角,式中dmax、L和Rreal都為已知變量.

3.4 柑橘采摘機器人主程序流程

柑橘采摘機器人機械臂履帶車系統主程序流程圖如圖4 所示.系統上電初始化后,判斷串口是否接收到指令,主控對接收到的指令進行解析并執行對應操作.遙控器系統主程序流程圖如圖5 所示.系統上電后檢測是否有按鍵按下,通過解析按鍵鍵值,發送對應的指令到履帶車主控,同時遙控器界面實時顯示相關信息.

圖5 遙控器系統主程序流程圖

4 系統聯調及實驗測試

柑橘采摘機器人機械臂履帶車系統硬件電路采用立創EDA 軟件進行原理圖及PCB 圖進行設計,系統所有機械機構組裝和硬件電路焊接完畢后,對系統各硬件模塊進行了測試.基于在嵌入式常用開發軟件keil平臺上進行了控制代碼的編寫.基于機械臂逆解、自動追蹤原理及視覺識別原理編寫了相應控制程序后,進行了系統的軟硬件聯合調試.

由于柑橘采摘機器人整機系統高約40 cm,其尺寸不足以直接應用在實際柑橘的采摘中,故搭建柑橘果樹實驗模型用于測試,將4 個橙色和1 個青色的柑橘模型隨機掛在果樹的掛勾上,將機器人放置于果樹模型前一段距離,用遙控器啟動自動模式,讓機器人自動抓取橙色柑橘.如圖6 所示.經過測試,機器人成功抓取4 個橙色柑橘并放入儲存箱,通過多次測試,統計得到單個柑橘從追蹤、抓取到將其放入儲存箱的過程平均用時約12 s.在追蹤過程中,遙控器顯示屏可以實時顯示抓取目標在攝像頭視野里的位置,每成功抓取一個柑橘時,遙控器上都會顯示已抓取的柑橘數目,如圖7 所示,抓取完后,機器人會繼續旋轉車體對周圍進行360 °目標搜尋.

圖6 設置為自動抓取模式

圖7 屏幕顯示已摘取柑橘數量

進行夜間抓取測試,關閉室內光源,使柑橘采摘機器人采摘環境無任何光源,此時啟動機械臂履帶車系統,機器人檢測到環境光線偏暗,自動開啟照明燈進行補光,如圖8 所示,用遙控器控制機器人進入自動抓取模式.反復實驗證明,在黑暗環境下,機器人抓取所有成熟柑橘的成功率達100%.

圖8 夜間自動抓取柑橘影像

為了研究不同光線條件下柑橘采摘機器人的采摘穩定性及采摘完成率,選擇了白天(光照良好)、傍晚(光照一般)、黑夜(全黑環境)三種環境進行了多組實驗,隨機設置目標柑橘(成熟柑橘)采摘數量和干擾柑橘數量(青色柑橘),對每次實驗從采摘機器人系統啟動后到最后一只成熟柑橘采摘完畢后的過程進行計時,表1 給出了柑橘采摘機器人的9 組采摘實驗數據,其中穩定性所在列描述的是每組實驗中單個成熟柑橘的平均采摘用時相對于系統測試得到的單個柑橘采摘時間(13 s)的百分率.

表1 柑橘采摘機器人實驗數據

由表1 數據可知,不同光線條件下,相同采摘目標數量(如實驗組1,4,7)對應的總采摘用時相差很小,從9 組采摘實驗組數據來看,干擾柑橘的數量幾乎不影響總采摘用時,同時每組實驗中單個成熟柑橘的平均采摘用時相對于系統測試得到的單個柑橘采摘用時(13 s)的百分率均在±3%以內,表征系統對單個成熟柑橘的采摘時長穩定性高.9 組實驗數據表明采摘機器人均在可預見的時間內完成全部成熟柑橘的采摘,顯示屏可正確顯示已采摘柑橘數量.

5 結論與展望

本研究通過對柑橘采摘機器人的整體機械結構設計、硬件系統開發以及控制算法的研制,系統使用MPU6050 姿態傳感器模塊、電機驅動模塊及舵機執行結構等主要功能模塊,加上一套控制系統,機器人能夠實現對柑橘的感知、定位和采摘功能.本文詳細介紹了柑橘采摘機器人的硬件模塊的設計及機械臂自動抓取目標的工作原理,與傳統人工采摘柑橘的方式相比,該柑橘采摘機器人實現了全自動、全天候采摘,系統具有記錄采摘水果數量的功能,使得采摘工作成本降低、效率提高.為進一步推動農業機器人技術的發展做出了有益的探索與貢獻.

后續研究可在當前柑橘采摘機器人的功能的基礎上,進一步改進機器人的機械結構和抓取裝置,以提高采摘的穩定性和速率;引入更先進的機器學習算法和人工智能技術,實現更準確的柑橘識別和最優采摘路徑決策;加強與農業專家和農戶的合作,深入了解柑橘采摘的實際需求,在此研究基礎上優化機器人的設計和功能,并設計出可用于實際采摘工作的機器人.

猜你喜歡
舵機遙控器柑橘
我是“糊涂蟲”
吃柑橘何來黃疸——認識橘黃病
時間遙控器
爸媽有個“遙控器”
含齒隙彈載舵機的全局反步模糊自適應控制
行走的飛行遙控器
基于dsPIC單片機的飛艇舵機控制實現
基于高速同步485總線通信的多通道舵機控制器設計
柑橘大實蠅綜合治理
“五及時”柑橘凍害恢復技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合