本文介紹的草莓采摘機器人控制系統是由江西理工大學機械工程專業的程鵬勝設計開發完成。針對某草莓種植基地模塊化種植的高架草莓人工采摘耗時長成本大的問題,提出了一種全向移動的草莓采摘機器人系統方案。系統的硬件電路主要包括以STM32F407ZGT6為核心的主控制器、電源電路、WIFI模塊、激光測距單元、電機驅動模塊。系統的軟件設計主要包括RT-thread實時操作系統在單片機上的移植調試、樹莓派3B+視覺識別、樹莓派與單片機數據傳輸的通訊調試、機智云物聯網和WIFI模塊在單片機上的接入以及樹莓派上位機控制軟件的實現。通過利用深度學習算法實現草莓的識別與定位,將采摘信息以及采摘機器人的狀態使用物聯網技術傳輸到云端,實現草莓采摘機器人的自主采摘和云端監測,最終完成一整套穩定控制的草莓采摘系統。
01
系統整體方案設計
本系統設計對于高架草莓的采摘搭建了移動式草莓采摘機器人樣機,整個系統由全向移動底盤、機械臂、視覺系統、運動控制器組成。系統設計圖如圖1.1所示。
圖1.1系統設計圖系統框架如圖1.2所示,采摘機器人結構簡圖如圖1.3所示。主要研究了采摘機器人的全向移動底盤、機械手及其控制、視覺識別系統和整機的控制系統。
圖1.2 草莓采摘機器人系統框圖
圖1.3 整機采摘機器人結構圖
根據某草莓種植基地采用一行式的種植方式,模擬搭建草莓架如圖1.4所示。前期調試采用仿真草莓,后期整機調試采用真實的草莓果實采摘作業中僅對獨立生長的草莓進行采摘 并未對相互接觸的草莓進行分離采摘。整機采摘機器人的動作流程如圖1.4所示。根據種植基地的種植特點草莓種植行列規范,實驗樣機僅對單列種植進行實驗,對于多行的采摘在后續的工業樣機中根據導航方式實現。
圖1.4 草莓架與采摘機器人
圖1.5 整機采摘機器人的動作流程
02
控制系統設計
(一)硬件部分介紹草莓采摘機器人設計的硬件控制系統框圖如圖2.1所示,包括核心控制單元、傳感器、驅動器等。核心控制單元包括單片機和樹莓派,樹莓派負責視覺數據的處理和指令下發,單片機接收并執行指令,此外,還處理一些簡單的傳感器數據。傳感器包括激光測距、陀螺儀、編碼器、薄膜壓力傳感器。驅動器包括電機驅動和機械手的舵機驅動,物聯網單元中的WIFI模塊負責將采摘數據以及機器人的狀態上傳到云端。
圖2.1 硬件平臺系統框圖
◆ 主控芯片
根據移動機器人的硬件要求選擇控制器的主控芯片。鑒于實驗平臺能耗以及控制器的數據處理能力等問題,選用STM32F407ZGT6芯片作為控制器芯片。并且采用樹莓派3B+,用來運行圖像處理程序,以及將計算結果進行機械臂的逆解計算后發送給單片機。樹莓派3B+實物圖如圖2.2所示。
圖2.2 樹莓派3B+實物圖
◆無線模塊
為方便查看采摘機器人的工作狀態以及采摘數量,本文采用無線網連接的方式進行實現,選用ATK-ESP8266模塊作為機器人數據收發的節點。ATK-ESP8266模塊支持TTL串口通信,同時兼容3.3V和5V的電壓,對于不同電壓要求的單片機連接方便。模塊實物如圖2.3所示,各引腳的功能如表1所示。使用該模塊首先將IO_0拉低進入固件燒寫模式,燒錄完成后能通過手機或電腦搜索到該模塊的信號,最后把模塊的發送引腳和接收引腳與單片機的發送和接收交叉連接即可通訊。
圖2.3 ATK-ESP8266模塊實物圖
表1 ATK-ESP8266模塊引腳功能
◆硬件模塊設計
使用STM32F407ZGT6芯片作為控制器的核心芯片,設計了一個完全匹配本文實驗平臺的PCB底板,PCB底板和核心板的連接引腳圖以及底板三維圖如圖2.4所示。底板上設置了多個傳感器的接口如編碼器、串口、陀螺儀和舵機控制板的I2C總線接口,以及用來外接引腳的排針排母。編碼器接口使用了XH2.54的標準接口使實驗平臺的整體布局更加美觀。
圖2.4 主控制器
(二)軟件部分介紹
本控制系統軟件設計部分由硬件控制和數據處理兩部分組成,其中硬件部分采用了實時操作系統,該系統能夠在數據或命令產生時對數據快速的處理。當有多個任務同時出現,會按照任務的優先級控制實時任務的運行,具有及時響應和高可靠性的特點。對于采摘機器人系統來說,不僅需要對機器人本體控制還要具有上傳機器人信息以及作業情況的功能,物聯網平臺就成了一個重要的工具,實現物聯網一般需要數據云,上傳數據的終端設備,以及獲取數據的設備三個基本元素組成。本文利用智能硬件常用的機智云物聯網平臺進行配置,并采用WIFI無線連接的形式接入機智云,上云的數據包括了機器人本體的信息以及采摘數量。
◆物聯網平臺實現
機智云物聯網平臺是一款應用于智能硬件開發與云計算應用的平臺。它為開發人員提供了一個智能的硬件開發工具以及一個開放的云計算平臺。該系統具有完整的SDK和API的服務功能,大大減少了硬件的開發難度和費用。本文設計的草莓采摘機器人,利用ESP-8266無線網絡模塊實現連接機智云服務器,實現采摘機器人本機信息以及采摘數量上報到手機或電腦客戶端,另外上報信息的種類可以根據需要進行擴展。
開發機智云平臺的物聯網功能首先在機智云網站新建產品,接著新增數據點,數據點就是在移動端能看到的信息,本文共設置了五個數據點分別為:采摘數量、相機狀態,機器人電量、機械手狀態,機器人姿態。創建數據點的信息如圖2.5所示。其中設置采摘最大統計數量為65536,并且為可寫模式,也即在收獲一定數量后可以手動清零數量。電量的數據類型為報警模式當電壓低于11.7v時進入報警狀態,機器人姿態的角度范圍為0度到360度,相機狀態和機械手狀態均用布爾值來表示。
圖2.5 數據點的信息
完成數據點的設置后在網頁進行在線調試,模擬設備上報在移動端查看數據,在模擬設備端調整數據后移動端端數據就會有相應改變,模擬設備端數據上報為{變量名:變量值}的形式。例如在模擬設備端設置電池狀態為1,相機狀態為1,機械手狀態為1, 機器人姿態為0,采摘數量為20得到的效果如圖2.6所示,由可知移動端更新正常,數據點可以正常使用。
圖2.6 數據上報
完成調試后利用機智云的MCU開發工具生成STM32的硬件代碼,由于生成的代碼 是hal庫的代碼,機器人底層控制代碼利用標準庫編寫,因此需要進行移植。根據機智云網絡協議,首先建立1毫秒的時間基準,然后將智能云數據接收功能添加到串口接收中斷處理功能中,并將其修改成真正的傳輸接口功能。最后在新建一個線程定時上報數據,至此機智云移植完成。除此之外,啟動機智云的傳輸需要在系統初始化中設置ESP-8266為Soft-AP模式,機智云APP中才能搜索到設備進行連接。
03
草莓采摘機器人實驗與分析
通過對五次的采摘過程進行記錄統計每個過程的耗時如表2所示,圖像識別的過程的平均時長為0.23s,機械臂移動到目標點并采摘放置的平均時間為6.8s,總時長在7s左右。將采摘后的草莓放置到果籃的過程耗時較長,原因是果籃在機械手的正后方,放置草莓需要將機械手回轉180°。
表2 采摘耗時分段表
采用mm2020mm的型材搭建了草莓架,草莓架長度方向為3000mm,高度方向為 500mm。本實驗只考慮室內采摘的情況。采摘過程如圖3所示,a表示了采摘機器 人移動到草莓的正前方;b中機械手移動到果實的正上方;c中末端執行器夾爪 閉合;d果莖被剪斷;e機械手放低姿態;f和g機械手旋轉至果籃上方;h機械手末端執行器打開草莓落入果籃中,至此一個草莓采摘周期完成。
圖3 采摘過程圖
04
總結
本設計完成了采用麥克納姆全向移動底盤的四自由度機械手并包含視覺識別的草莓采摘機器人樣機,實現了移動平臺的自由行走,綜合閾值法和卷積神經網絡的優點以及機械手對草莓的收獲。在草莓采摘機器人軟硬件的設計,對草莓采摘機器人的硬件模塊以及主控芯片進行選型,同時對電源電路、驅動電路、編碼器的連接電路等進行PCB設計和打樣。底層硬件程序框架采用了RT-Thread實時操作系統,視覺識別程序運行在樹莓派中并使用無線模塊將采摘信息和機器人狀態上傳至機智云物聯網,可在電腦端和手機端同時查看。
-
控制系統
+關注
關注
41文章
6548瀏覽量
110494 -
機器人
+關注
關注
210文章
28219瀏覽量
206583 -
物聯網
+關注
關注
2903文章
44295瀏覽量
371375 -
STM32
+關注
關注
2266文章
10873瀏覽量
354872
發布評論請先 登錄
相關推薦
評論