張惠瑩 , 楊秀芳 , 吳忠林 , 王 偉 , 許小龍 , 劉 冰 , 侯文斌 , 閆 鑫
(揚州工業職業技術學院,江蘇 揚州 225127)
2020 年全國兩會上,習近平總書記用“金扁擔”來比喻農業現代化。隨著農業現代化進程的推進,設施農業的育苗環節也迎來了新的發展契機,出現了通信、電子、機械等領域的新技術[1]。在農業發達國家,大型移栽設備得到了廣泛應用[2-3],我國在移苗移栽設備方面也進行了大量研究,涵蓋了自主移動溫室機器人[4],導軌移動的串聯、并聯和混聯構型的移栽機械臂等[5-7]。
課題組研發了一款用于科研及高附加值經濟作物育苗的小型溫室智能移苗移栽機器人,如圖1 所示。機器人可根據需要移動至作業位置,末端預留安裝工具的接口,除移苗移栽外,還可完成噴藥、灌溉等任務,具有靈活的適應性。

圖1 智能移苗移栽機器人
小車底盤由麥克納姆輪、編碼器電機、霍爾編碼器及五路紅外循跡模塊組成。沿著預定軌跡,實現自主行走功能。
麥克納姆輪結構緊湊,運動靈活,是一種很成功的全方位輪。在中心輪圓周方向又布置了一圈獨立的、傾斜角度(45°)的行星輪,這些成角度的行星輪把中心輪的前進速度分解成X 和Y 兩個方向,實現前進及橫行。將四個這種新型輪子進行組合,可以更靈活方便地實現全方位移動功能。如圖2 所示,四個麥克納姆輪分別連接到電機上,進行獨立控制。機器人可以像四個普通車輪一樣前進、后退和旋轉。

圖2 麥克納姆輪
電機參數如表1 所示。

表1 電機參數
開環控制由于電機差異及環境影響,只能實現粗略的運動模型控制。閉環控制與開環控制相比,更精確。將解算的電機驅動賦值為電機的目標速度,電機通過PID 控制實現目標速度跟隨控制。圖3 為四個編碼器電機的控制策略。

圖3 編碼器電機的控制策略
小車采用增量式輸出的霍爾編碼器。編碼器有AB 相輸出,所以不僅可以測速,還可以辨別轉向[8]。根據圖4 可知,只需給編碼器電源5 V 供電,在電機轉動的時候即可通過AB 相輸出方波信號。編碼器自帶了上拉電阻,所以無需外部上拉,就可以直接連接到單片機I/O 口讀取。

圖4 霍爾編碼器
循跡模塊可以實現機器人在白色的地板上根據黑色的線路行駛,采用的方法為紅外線探測法。紅外線探測法,就是利用紅外線在不同顏色的物體上具有不同的反射強度的特點[9]。因為白色反射所有光,黑色吸收所有光。所以機器人在行駛的過程中向地面發射紅外線時,紅外線光遇到白色物體時便會被反射,反射出來的光會被裝在機器人上的傳感器所接收;遇到黑色的物體時,紅外線光便會被吸收。單片機接收以是否收到反射光來判斷和確定機器人的位置和行駛路線。五路紅外循跡模塊如圖5 所示。

圖5 五路紅外循跡模塊
機器人的執行機構由云臺、機械爪、舵機、導軌滑臺模組、噴霧器、視覺識別系統等組成。
如圖6 所示,課題組選用旋轉云臺與總線舵機配合,完成機械臂圓周范圍的運動。

圖6 云臺和機械爪
舵機是一種帶有輸出軸的小型伺服電機。當控制信號發送至伺服器時,輸出軸可相應地轉至指定位置,軸的角度位置隨著控制信號的改變而改變。舵機廣泛應用于日常生活中的遙控飛機、遙控汽車、機器人等領域。
總線舵機是舵機派生出來的一種特殊舵機。單總線回讀數字舵機采用單總線通信方式,內部裝有主控芯片,完成了對 PWM 的內部控制,具有角度回讀、多角度工作模式切換功能。并采用了簡單的控制方式,僅用一條指令,用戶就能實現對舵機的控制。與傳統舵機相比,其內部的組成結構和工作原理基本相同,主要區別在于總線舵機之間可以串聯,最多可使255 個舵機級聯。
結合本課題設計的具有視覺識別功能的機械臂的結構特點、工作環境、目標物的尺寸重量等多方面因素,本課題選取ZX20S 智能串行總線舵機作為驅動模塊,尺寸如圖7 所示。其中,一個總線舵機安裝在云臺處,用于負責機械臂整體圓周運動;一個總線舵機安裝在機械臂Y 軸末端,用于負責末端執行器腕關節處轉動;另一個總線舵機安裝在末端執行器上,通過齒輪嚙合控制末端執行器的開合以實現抓取。

圖7 ZX20S 智能串行總線舵機
導軌滑臺模組由兩個導軌滑臺組成,實現機械爪的上下和左右移動。圖8 為其中一個導軌滑臺三維模型,可以實現左右移動。

圖8 導軌滑臺
OpenMV 是一個機器視覺開發組件,使用Python編程,具有易使用、低成本的特點,可以幫助用戶完成機器視覺應用,如測距、掃碼識別等[10]。
具有視覺識別功能的機械臂視覺識別系統選用星瞳科技提供的OpenMV 機器視覺模塊,如圖9 所示。該機器視覺模塊具有輕便小巧、功耗低、成本低等特點,以STM32H743II ARM Cortex M7 為處理器,具有480 MHz主頻、1MB RAM、2 MB flash。所有的 I/O 引腳輸出3.3 V,并且5 V 耐受。OpenMV4 H7 Plus 默認配置的OV5640 感光元件處理2 592×1 944(5MP)圖像。在QVGA (320×240)及以下的分辨率時,大多數簡單的算法可以運行(25~50)FPS。

圖9 OpenMV 機器視覺模塊
OpenMV 搭載了MicroPython 解釋器,允許用戶使用Python 對嵌入式系統進行編程。Python 簡化了機器視覺算法的編程過程。OpenMV 能夠實時顯示圖像,實時查看顏色直方圖,通過代碼可以使試驗中識別數據的方面更加簡潔與直觀。
用戶可以使用OpenMV 專用的IDE 進行編程,該軟件配置了圖像窗口,可以直接看到攝像頭拍攝到的圖像,圖像窗口下的直方圖包含了該圖像的詳細信息。使用OpenMV-IDE,實現了對圖像的采集及失真校正和圖像的處理及分析,完成了機械臂的視覺識別。
采用Python 編程調用圖像處理的算法進行開發。OpenMV 機器視覺模塊的程序設計前,預先將各幼苗種植時間進行分類記錄,并利用相應軟件生成對應QR 碼。視覺模塊工作時,采用視覺識別算法,獲取QR 碼對應幼苗的信息,通過模塊內置系統的時間,與幼苗種植時間進行對比,判斷該幼苗需進行移苗操作或是澆灌操作。圖10 為智能機器人試驗過程,按照黑色標記線進行循跡,通過執行機構完成了精準的移苗作業。

圖10 智能機器人移苗作業
課題組設計了一款智能移苗移栽機器人,底盤主要實現循跡功能,由麥克納姆輪、編碼器電機、霍爾編碼器及五路紅外循跡模塊組成。執行機構由云臺、機械爪、舵機、導軌滑臺模組、噴霧器與OpenMV視覺模塊組成。機器人可根據需要移動至作業位置,末端預留安裝工具的接口,除移苗移栽外,還可完成噴藥、灌溉等任務,具有靈活的適應性。