茄子采摘機器人顏色識別系統的研究.pdf
www ele169 com 21 實驗研究 0 引言 在日常生活中 茄子是我們餐桌上經常食用的蔬菜 茄 子營養(yǎng)極其豐富 而且還含有多種礦物質和維生素 對于身 體健康有極高的功效和作用 長期食用茄子對胃癌的治療 抗衰老 降低膽固醇和保護心血管等具有很好的效果 茄子 在全世界都有廣泛的種植 亞洲 非洲 地中海沿岸 歐洲 中南部 中美洲等地均種植 但是就目前為止我國茄子的栽 種面積不僅占據世界第一 產量也是遙遙領先 是很重要的 茄子出口大國 但我國人口的老齡化越來越嚴重 農業(yè)勞動 力不斷減少 而目前如此大量的茄子采摘還是手工采摘 耗 時又耗力 為了降低成本 減輕勞動量 提高效率 我們有 必要提高農業(yè)機械自動化 研究茄子采摘機器人代替人工采 摘 近年來很多人在研究果蔬采摘機器人細節(jié)和整體方面提 出了很多有參考價值的方案 推動我國農業(yè)自動化有了很大 的突破 哈爾濱商業(yè)大學的王維強研究了自然環(huán)境下茄子采 摘機器人目標識別方法 與傳統的識別方法相比 準確率有 了很大的提高 1 山東農業(yè)大學王思玉等人對于典型果蔬采 摘機器人研究現狀和趨勢做出分析 2 南京農業(yè)大學李國利 對多末端蘋果采摘機器人進行設計與研究 設計了杯狀和筒 狀結構末端執(zhí)行器 能夠存儲少量果實 滿足連續(xù)采摘作業(yè) 要求 3 華南理工大學張勤等人提出了基于 RGB D 信息融 合和目標檢測的番茄串采摘點識別定位的方法 該方法可在 復雜近色背景下 實現番茄串采摘點識別定位 4 趙文峰等 人提出了集成多執(zhí)行器采收機器人的設想 認為集成多執(zhí)行 器采收機器人適合我國溫室番茄單果采收 5 馮碩 李旗結 合計算機視覺 嵌入式控制系統和卷積神經網絡算法 設計 了一套奇異果采摘機器人機械臂控制系統 能夠實現目標果 實的立體定位和精準采摘 6 龍潔花等人研究了改進 Mask R CNN的溫室環(huán)境下不同成熟度番茄果實分割的方法 7 王雯等人研究了XELA3D觸覺傳感器感知獼猴桃成熟度的 方法 8 為此本文也嘗試設計了茄子采摘機器人的識別系統 該系統嘗試采用顏色傳感器識別紫色的茄子 1 設計原理 本設計采用的是TCS34725顏色傳感器 其是一款成 本偏低 性價比偏高的RGB全彩顏色識別傳感器 帶有4 個高亮LED進行補光 保證了傳感器在弱光的環(huán)境下仍然 可以使用 TCS34725光數字轉換器包含一個3 4的光電 二極管陣列 光感應器件可以更高效地接觸環(huán)境光 內部 含有 AD 轉換器 顏色傳感器以白光照射物體 物體反射的 光被光電二極管吸收 產生光電效應 產生光電電流 4 個 積分 AD 轉換器可以將放大的光電流同時轉換成 16 位數字 值 轉換周期完成后 得到原始結果并傳送到數據寄存器 再根據此傳感器的RGBC寄存器地址將數據讀取出來 并 且此傳感器具有雙緩沖的功能 從而提高了得到數據的完整 程度 若獲取的顏色值與實際的有差別 可以通過對積分時 間和增益倍數兩個參數的調節(jié) 得到相對準確的值 據此 我們可以得到茄子成熟時紫色的值的范圍為 13 12 13 16 15 15 茄子未成熟時青色的值的為 48 50 30 62 62 40 記下兩個顏色的值RGB值 通過當前數值 比對來判斷是否為紫色 選出成熟度達標的果實 2 硬件控制電路設計 硬件控制系統的電路主要有以下幾部分組成 主控模塊 STM32 顏色采集模塊 按鍵模塊 液晶顯示模塊 電源 模塊組成 系統總體結構如圖 1 所示 圖 1 系統總體結構圖 茄子采摘機器人顏色識別系統的研究 侯義鋒 1 2 高文秀 2 1 廣西機器視覺與智能控制重點實驗室 廣西梧州 543002 2 梧州學院 廣西梧州 543002 基金項目 國家級創(chuàng)新創(chuàng)業(yè)項目 202111354125 廣西高校中青年教師基礎能力提升項目 KY2015YB292 摘要 本文介紹了一種茄子采摘機器的顏色識別系統 茄子能否準確快速的識別是茄子采摘機器人的關鍵 本文嘗試通過顏色傳感器在茄 子種植大棚中通過顏色的對比搜尋識別茄子 經過反復實驗 驗證該系統具有一定的識別能力 為茄子采摘機器人的研究做了嘗試 有一 定價值和研究意義 關鍵詞 茄子 顏色采集 電機驅動 DOI 10 16589 11 3571 tn 2022 20 005 22 電子制作 2022 年 10 月 實驗研究 2 1 顏色采集模塊 本模塊采用的是以TCS34725 彩色光數字轉換器為核心 的顏色傳感器 該傳感不僅靈敏度高 而且動態(tài)范圍也寬 此芯片工作電壓 邏輯電壓都為 3 3 5V I 2 C 快速模式兼容 接口 與單片機進行I 2 C通信 不需要占用太多的引腳資源 如下原理圖中的右側圖是雙電平轉換電路 保證了通信的 正常進行 SCL 是 I 2 C 的時鐘輸入和單片機的 PB10 連接 SDA是I 2 C 數據輸入和單片機的 PB11 連接 2 2 單片機 從難度和成本上考慮 此系統采用STM32F103單片機 該單片機的片內外設非常豐富 此芯片有32K 128K字節(jié) 的 FLASH 存儲器 6K 20K 字節(jié)的 SRAM 且存儲器具有 多重自舉功能 內嵌 4 16MHz 高速晶體振蕩器 使用外部 32kHz 晶體的 RTC 振蕩器 2 個 12 位 A D 轉換器具有雙采樣和保 持的功能 有 SWD 串行線調試 JIAG口 串行外設接口SPI 有 靈活的 7 通道 DMA 控制器可以管 理存儲器 設備到存儲器和存儲 器到設備的數據傳輸 無須CPU 任何干預 多達 80 個快速 I O 端 口 7 個定時器 3 個同步 16 位 定時器 每個定時器有4個用于 輸入 輸出比較PWM或脈沖計數的通道 1個16位6通 道方便于電機控制的 PWM 高級定時器 具有死區(qū)控制和快 速剎車的功能 1 個獨立看門狗 1 個窗口性看門狗 并且 內含9個豐富的通信接口 綜上所述該單片機的性價比相 對比較高 該單片機完全可以滿足該系統的核心控制 2 3 液晶顯示模塊 本模塊我們選擇的是 OLED128 64 白色液晶屏 該屏 幕相比于一些其他的屏幕不僅具有的分辨率比較高 而且在 單位面積擁有較多的像素點 超廣可視角度大于160度 在顯示屏中可視角度屬于最大的一種屏幕 并且功耗也極 低 一般情況只有0 06W 最重要的是具有寬供電范圍 直接兼容常用的3 3V和5V的供電系統 所以無需接其他 的電壓轉換電路 直接與單片機進行連接就可以 STM32F103C8T6 U1 nullnull null nullnullnullnullnullnullnullnull null nullnullnullnullnullnullnull null nullnullnullnullnullnullnull null nullnullnullnullnull null nullnullnullnullnullnull null nullnull null nullnull null null null null nullnullnullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnullnull null null null null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnullnull null null null null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnull null nullnullnull null nullnull null nullnull null nullnullnull null null null null 0 1u C2 0 1u C3 8M U4GND PD0 PD1 NRST PA0 PA1 PA2 PA4 PA5 PA6 PA7 PA3 PB0 PB1 BOOT1 PA13 PA8 PA9 PA10 PA11 PA12 PB3 PB4 PB5 PB6 PB7 PB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15 PA15 PA14 1k R1 0 1u C4 KEY1 null null 3V3 NRST GND VDDA GND 3V3 0 1u C5 GND GND 0 1u C6 3V3 GND P1 null null null null null null 3v3 5V 10k R2 10k R3 GND GND PC13 PC14 PC15 BOOT0 B OO T1 OLED H1 null null null null null null G ND 3 v3 P B5 P B4 P B3 P A 1 5 H2 null null null null null null null null null null null null null null null H3 null null null null null null null null null null null null null null null 5V GND PB6 PB7 PB8 PB9 PC13 PC14 PC15 PA0 PA1 PA3 PA2 GND 3V3 3V3 GND PA12 PA11 PA8 PA7 PA6 PB0 PB1 PB10 PB11 PB12 PB13 PB14 PB15 晶振電路 復位電路 電源電路 圖 3 最小系統電路圖 TCS34725FNU3 null null nullnull null nullnull null null null nullnull null null null 0 1u C1 R1 10k R2 10k R3 10k R4 VCC GND 3 3v 5v Q1 nullnull null Q2 nullnull null SDA 3V SCL 3V SCL 5V SCL 3V PB10 SDA 3V PB11 GND INT 5V SDA 5V 圖 2 TCS34725 顏色傳感器電路圖 www ele169 com 23 實驗研究 3 軟件設計 顏色識別部分采用的是 TCS34725 顏色傳感器 使用 C 語言編程 通過顏色傳感器對茄子的顏色進行采集 將采集 到的數據發(fā)送給單片機進行識別 顏色識別的程序首先是初 始化 對復位和時鐘控制器 寄存器進行配置 開啟外部高 速時鐘 半周期訪問使能 預取值緩存使能 外部高速時鐘 為 PLL 時鐘輸入源 為 9 倍頻 使能 PLL 時鐘 PLL 時鐘 作為系統時鐘 對 HCLK 時鐘配置為一分頻 使 AHB 時鐘 等于系統時鐘 對PLCK1時鐘配置為二分頻 使APB1時 鐘等于 HCLK AHB 時鐘的一半 對 PCLK2 時鐘配置為一 分頻 使 APB2 時鐘等于 HCLK AHB 時鐘 然后對 GPIO 口進行初始化配置 對 GPIOA GPIOB GPIOC 和復位端 口進行使能 選用與 LED 燈連接的 PA3 端口 模式配置為 推挽輸出 頻率設置為10MHz LED燈上電的初始模式為 點亮 對TCS34725進行初始化配置 在其初始化函數中 首先對I 2 C進行初始化 對I 2 C 與 TCS34725 連接的 GPIO 口進行配置 PB10 外接 I 2 C 的時鐘 SCL 總線 PB11 外接 I 2 C的數據傳輸 SDA 總線 IO口模式設置為通用推挽輸出 頻率設置為50MHz 引腳初始狀態(tài)為高電平有效 通過 TCS34725的ID來判斷TCS34725與單片機是否連接成功 連接成功將顯示 Initial OK 的字樣 連接失敗后將進行 再次連接 若連接成功之后將會對TCS35725顏色傳感器 的時間積分和增益進行設置 時間積分和增益數值的設置將 會影響獲取數值的真實性 對TCS34725顏色傳感器進行 使能 對白平衡進行調整 有利于減小顏色的偏差 設置之 前測得的紫色和青色茄子的閾值范圍 對串口進行初始化配 置 波特率設置為 115200Bd 字長為 8 位數據格式 一個 停止位 無奇偶校驗位 無硬件數據流控制 具有收發(fā)模式 初始化串口 開啟串口中斷 使能串口 對定時器進行初始 化配置 配置定時器的自動重裝載值為 999 時鐘預分頻數 為 71 設置定時器的計數模式為向上計數 允許定時器進 行更新中斷 對定時器進行使能 開啟中斷定時 若定時時 間 1 達到 10msLED 指示燈亮 定時時間 1 進行清零 若定 時時間2達到50ms時 進行R G B顏色值的讀取和時 間的清零 在讀取過程中 為了防止讀取的數據由于某些因 素的影響而出現錯誤 所以 R G B 顏色值必須要連續(xù)進 行兩次的讀取 然后將兩次讀取的數值進行比對 如果兩次 讀取的數據不一致 則證明讀取的數據受到干擾 數據不準 確 不能作為有效數據處理 之后在重新進行讀取數據 直 到相鄰2次讀取的數據一致的時候 則說明數據具有準確性 將讀取的 R G B 值輸出并進行顏色判斷 通過對讀取的 顏色的值和設置的閾值進行比對 如果讀取的值滿足紫色條 件則判斷為紫色 如果在青色范圍則判斷為青色 流程圖如 圖 4 所示 否 是 否 是 開 始 調 白 平 衡 調 白 平 衡 設 置 顏 色 閾 值 調 白 平 衡 設 置 定 時 器 nullnullnullnull初 始 化 和 串 行 傳 輸 初 始 化 開 中 斷 開 始 定 時 判 斷 兩 次 讀 數 是 否 一 致 輸 出 null null null 的 值 判 斷 是 否 是 紫 色 結 束 青 色 nullnullnullnullnullnullnullnull 初 始 化 連 續(xù) 讀 取 兩 次 顏 色 null null null 值 圖 4 系統軟件總體流程圖 4 結論 通過該系統對茄子的顏色進行測試 測試時要保證測試 環(huán)境的明亮 表1為測試結果 其中數據是經過100次測 試求平均值 表1 茄子檢測顏色誤差表 實際顏色 測試次數 正確次數 淺紫色 100 96 深紫色 100 98 深青色 100 94 淺青色 100 90 24 電子制作 2022 年 10 月 實驗研究 從表 1 的結果分析 可以得到以下的結論 識別出紫色整體的結果比識別出青色的效果要好 識別 出紫色的誤差相比青色要小一些 因此可以證實在此背景下 識別出紫色的茄子要比識別出青色的茄子更精準 誤差分析 1 在光照強度 和光照時間不同的程度下 茄皮表 面含有的花青素不同 所以導致了識別錯誤 2 背景顏色帶來的誤差 因為茄子的藤蔓是綠色的 所以和青色的茄子沒有形成強烈而有鮮明的顏色對比 整體 來說再識別青色的茄子的時候出錯率較高 不太適合識別青 色的茄子 3 TCS34725顏色傳感器的精確度存在一定的誤差 因為獲取的顏色的準確值是可以通過調節(jié)積分時間和增益 倍數兩個參數進行改變的 但是實際在采摘識別的時候目標 物的顏色有的和我們之前設定的閾值略微存在點誤差 導致 誤差的存在 總之通過的數據分析表格 會發(fā)現雖然在識別的準確程 度上存在略微的誤差 但是整體來說效果還是比較理想的 所以此茄子采摘機適合對紫色茄子的識別 為紫色茄子的采 摘機器人提供了能識別茄子的簡單方法 參考文獻 1 王維強 付斌 自然環(huán)境下茄子采摘機器人目標識別方法 J 安徽農業(yè)科學 2019 47 18 224 227 2 王思玉 牛成強 李釗 史文杰 樊桂菊 典型果蔬采摘機器 人 J 新疆農機化 2021 6 14 21 3 李國利 多末端蘋果采摘機器人的設計與研究 D 江蘇 南 京農業(yè)大學 2017 4 張勤 陳建敏 李彬 徐燦 基于RGB D信息融合和 目標檢測的番茄串采摘點識別定位方法 J 農業(yè)工程學 報 2021 37 18 143 152 5 趙文峰 高飛 魏???吳乃剛 劉燕敏 胡修慧 溫室番茄 單果采收機器人探討 J 河北農機 2021 11 12 18 19 6 馮碩 李旗 奇異果采摘機器人機械臂控制系統研究 J 農機 化研究 2022 10 02 25 29 7 龍潔花 趙春江 林森 郭文忠 文朝武 張宇 改進Mask R CNN 的溫室環(huán)境下不同成熟度番茄果實分割方法 J 農業(yè)工 程學報 2021 37 18 100 108 8 王雯 張葉青 張靜 歐月 李夢茹 基于采摘機器人觸覺的 獼猴桃成熟度感知方法 J 科技與創(chuàng)新 2019 18 59 65 上接第 56 頁 2 秦曉鳳 淺談Android應用軟件的發(fā)展思路 J 通訊世 界 2016 15 3 張利國 代聞 龔海平 Android 移動開放案例詳解 M 北京 人民郵電出版社 2010 4 陳立偉 張克非 黎秀紅 精通 JAVA 手機游戲與應用程序設 計 M 北京 中國青年出版社 2005 5 E2Ecloud 工作室 深入淺出 Google Android M 北京 人民 郵電出版社 2009 6 熊剛 基于 Android 的智能手機的設計與實現 D 武漢 計 算機應用技術系 2010 7 余成鋒 李代平 毛永華 Android3 0 內存管理機制分析 M 計算機應用與軟件 2013 8 楊云君 Android 的設計與實現 M 北京 機械工業(yè)出版社 2013 9 明日科技 Android從入門到精通 M 清華大學出版社 2012 9 10 孫宏明 Android 手機程序設計入門 運用到精通 M 中國 水利水電出版社 2012 3 11 郭志宏 Android 應用開發(fā)詳解 M 電子工業(yè)出版社 2010 12 楊豐盛 Android 應用開發(fā)揭秘 M 機械工業(yè)出版社 2010 13 姚昱旻 劉衛(wèi)國 Android 的架構與應用開發(fā)研究 J 計算 機系統應用 2008 24 11 3 7 14 張孝祥 JAVA郵件開發(fā)詳解 M 北京 電子工業(yè)出版 社 2007 10 300 15 楊文志 Google Android 程序設計指南 M 北京 電子工 業(yè)出版社 2009 10 100 16 韓超 梁泉著 Android系統原理及開發(fā)要點詳解 M 北京 電子工業(yè)出版社 2010 50 150 17 周元興 Google入門與實例教程 M 北京 電子工業(yè)出版社 2007 30 80 18 苗忠良 Android 多媒體編程從初學到精通 M 北京 電子 工業(yè)出版社 2011 19 林城 Google Android 2 x 應用開發(fā)實踐 M 北京 清華大 學出版社 2011 20 王向輝 張國印 Android 應用程序開發(fā) M 北京 清華大 學出版社 2010