?

大田播種機器人控制系統設計

2024-01-10 10:08譚福生栗連政孫龍龍袁國慶馬耀名王雨萌陳嘉和
機器人技術與應用 2023年6期
關鍵詞:鴨嘴大田柵格

譚福生 栗連政 孫龍龍 袁國慶* 馬耀名 王雨萌 陳嘉和

(1 遼寧工程技術大學電氣與控制工程學院,遼寧葫蘆島,125105;2 機器視覺檢測安徽省重點實驗室,安徽蕪湖,241005)

0 引言

正所謂,民以食為天,農業的重要性不言而喻。但是要想提高農業生產力還是要靠工業和自動化的力量。本文中的大田播種是指最近農業部“小田變大田”大背景下,在農田中進行較大面積的農作物種植。大田播種通常涉及將種子或幼苗按照一定間距和深度排列在農田的地表或土壤中。這個過程可以手工完成,也可以借助機器人進行自動化操作。我國農業機械化率最近幾年非常高,田間地頭隨處可見各種機械,耕田用拖拉機或微耕機,噴灑農藥有的已經用上無人機,大棚里已有檢測機器人。但是,目前農機的發展還不夠,市面上大多數的農機都難以完成高精度的任務,自動化的程度也算不上高。那么或許就需要一種體積更小、精度更高的播種機器人[1]來完成大型播種機完成不了的工作。本文針對東北地區的集中性大田播種作業機器人(簡稱“大田播種機器人”)進行了開發,為了更高效地開發播種機器人,擬采用基于ROS 分布式通信框架和模塊化的設計方案。

歐美、日本等國家和地區在農業機器人領域的研發和應用要比我國早。在美國,一名農場主往往擁有大量的農田,農場采用大規模運作方式,因此開發傾向偏向于農場環境下應用的大型輪式農業機器人,包括種植機器人、除草機器人、收獲機器人、巡檢機器人等等?;谀壳拔覈r業自動化、機械化發展的不足,以及我國對農業方面能實現自動化生產要求的背景,筆者提出了一種基于ROS 的大田播種機器人,目標是設計一款可以在北方田地中進行播種作業的機器人,播種對象主要是花生、大豆、玉米等北方常見作物。該機器人理論上能適應田地惡劣的環境,配置多塊電池,從而保證長時間工作。最后,筆者通過仿真確定了所設計的大田播種機器人的可行性和有效性。

大田播種機器人的設計旨在提高農業生產效率和質量,減輕農民的勞動負擔。此外,該機器人還可以通過精確的種植操作,減少種子的浪費和農藥的使用量,對環境友好。因此,大田播種機器人控制系統的研究和設計對于推動農業現代化和可持續發展具有重要意義。

1 大田播種機器人控制系統的硬件設計

機器人整體外觀如圖1 所示,整個機器人大體分為兩部分,分別是前部的自動播種合土結構與后部的兩輪機械移動平臺結構[2]。

圖1 播種機器人的外形

1.1 自動播種合土結構

1.1.1 結構設計

圖2 所示為播種機器人的自動播種結構。從整體來看,自動播種結構是由外殼、內膽、鴨嘴下種夾、旋轉軸、種子箱和用于與播種機器人連接的支架組成。

圖2 播種結構外視圖

外殼,即滾筒的外面,等距開有孔,用于出種。開孔的地方采用鴨嘴形的下種夾結構,其形狀類似中國傳統的鎬。該結構實際上是利用了仿生科學的原理,由鋁合金制成,輕便且堅固。扁圓而薄的結構既能更好地保證合上時的封閉性,又能更好地使夾子插入土中下種。

鴨嘴下種夾的功能為破土和下種,與其相連的J 形桿上裝有彈簧,用于使鴨嘴下種夾在打開后能自動合上。外殼連接著旋轉軸,旋轉軸裝在連接支架上,而連接支架的另一端與播種機器人的移動平臺連接。旋轉軸上還連接著一塊連接片,上面裝有用于撥動J 形桿使鴨嘴下種夾自動打開的立柱。

內膽結構更為復雜,在旋轉軸的一側安裝了鏈輪;鏈輪斜下方安裝了毛刷和排種輪,鏈輪與毛刷輪之間由鏈條連接;排種輪與排種盤相連,排種輪上設有排種槽,排種輪斜下方安裝了接種漏斗,排種輪、毛刷輪和種箱都安置在固定結構中。

1.1.2 工作過程

播種前,先將種子裝入種箱;啟動機器人后,機器人開始移動;在機器人前進的過程中,滾筒向前滾動,種子經通道落入排種槽,排種盤在與滾筒擋塊接觸的時候,也會旋轉一定的角度,從而使排種輪旋轉起來;與此同時,鏈輪會帶動毛刷輪旋轉,將多余的種子清理出去,最后只留下一顆種子在排種槽中。此外,排種輪與毛刷輪旋轉方向一致,可以防止因為擠夾而造成種子被壓扁,以及多顆種子擠在一個排種槽中等問題的發生。當接種漏斗底部的出口與排種口對齊時,種子會掉進鴨嘴中,與此同時,與鴨嘴相連的J 形桿會與固定支架連接片上的立柱接觸并被撥動,從而讓鴨嘴下種器張開,將種子吐入土中。當第二個鴨嘴排種器鉆入泥土中進行播種的時候,第一個鴨嘴排種器從巢窩中離開,鴨嘴J 形桿脫離立柱,并受鴨嘴排種器彈簧施加的拉力,將鴨舌封閉起來,這樣就可以達到精量播種的目的。

1.2 決策單元

1.2.1 主機

由于設計的播種機器人基于ROS 框架展開[3],ROS并非是一種操作系統,它只是一種通信框架,一種基于消息傳遞通信的分布式多進程框架。不同模塊可以被單獨設計,同時單片機又無法完成想要實現的任務,那么就需要一個能搭載ROS 系統的計算機。而將筆記本電腦塞進一個整日工作于戶外田地的機器人中,很明顯既不能確保電腦能適應惡劣工作環境,又不能降低成本。ARM 嵌入式主機是目前普遍在用的解決方案,因其在功耗和體積等方面的優勢,本設計選用ARM 嵌入式主機。

1.2.2 整體架構

傳感器主要利用的是一臺呈現兩幅圖像(一幅是普通的RGB 三通道彩色圖像,另一幅是深度圖像)的RGB-D 相機,慣性測量單元(Inertial Measurement Unit,IMU ),以及激光雷達。

其中,電機控制板主要是單片機電路??刂七^程是:單片機stm32f103c8t6 向電機驅動電路發出脈沖寬度調制(PWM)控制信號,電機驅動電路輸出電流給電機,電機開始轉動,安裝的編碼器將速度信息反饋給單片機,從而實現一個閉環控制。

1.3 傳感器模塊

1.3.1 RGB-D 相機

作為機器人眼睛的傳感器,一般情況下是以攝像機為主,有的設計用的是單目相機,有的用的是雙目相機,還有的用RGB-D 相機。筆者選擇了RGB-D 相機。RGB指的是紅、綠、藍三原色,由這種相機上的普通鏡頭可以生成三通道彩色圖像,而D 指的是Depth,也就是深度圖像,由一個鏡頭為紅外投影儀發射紅光,又有另一個鏡頭接受紅光,分析紅外光譜,再通過三角測距來確定每個點的深度。

1.3.2 激光雷達

激光雷達使用由輪趣科技有限公司與鐳神智能系統有限公司聯合推出的N10 激光雷達,這款雷達采用飛行時間(TOF)測距原理。一般情況下,使用TOF 測距原理的激光雷達測量精度、測量距離等性能要比使用激光三角測距原理的雷達更優,同時成本更高。N10 激光雷達有效降低了成本,使其擁有可觀的性價比,且性能較市面上同級別的雷達性能更優,同時支持ROS 機器人操作系統[4],是一款不錯的單線激光雷達。

1.4 機械移動平臺結構

1.4.1 整體結構方案和運動學模型

機械移動平臺是播種機器人的“腳”。該播種機器人采用經典的兩輪模型,由兩個電機分別驅動的后輪作為動力輪來提供動力,借由電機差速來實現雙輪差速轉彎。為了確保機器人在大田作業的穩定性,本文設計使用了既作覆土輪,又充當支撐輪的前輪。

1.4.2 電機驅動

電機選用額定電壓為48V 的直流有刷電機。該電機額定功率為1000W,輸出功率大,輸出轉速為3500 轉/分鐘;電機自帶減速箱,減速箱采用承載能力大、體積相對更小的行星齒輪減速箱[5],減速比為1:100。

1.4.3 霍爾編碼器

編碼器是為了測算電機的轉速,從而建立運動學反饋。編碼器包括磁性編碼盤和兩個霍爾傳感器,霍爾編碼器為增量正交編碼器,編碼線數為兩個,相位差為90°。設計利用單片機的I/O 口來接收編碼器A 相和B相輸出的信號,從而得出電機的轉向和轉速。

1.4.4 整體供電系統

為了給大田播種機器人提供工作所用的電力,本文選用駱駝蓄電池6-QWLZ-60。該電池為免維護鉛蓄電池,額定電壓12V,額定電流60A,雖然體積較大、重量較重(約16 公斤),但動力強。

2 大田播種機器人控制系統的軟件設計

本文播種機器人的開發是基于ROS 機器人操作系統。所謂ROS,就是一種分布式的通信框架,同時也是目前流行的通用開發框架之一。單片機的編程環境選用Keil5。

2.1 機器人操作系統ROS

本文設計的機器人控制系統基于ROS,ROS 容易部署的特點使得后續的開發更為簡單高效。ROS 屬于松耦合軟件框架,可以利用分布式通信機制來實現節點之間的進程通信,同時ROS 開放的開源庫,使得后期的部署和維護更為方便。

具體的部署為,首先在Windows 系統安裝VMware虛擬機軟件,并在虛擬機上安裝Ubuntu Linux18.04 操作系統,之后在Ubuntu 上安裝ROS Melodic,ROS 支持分布式通信,樹莓派3B+可以作為主節點部署到ROS 網絡中。

2.2 主機程序

2.2.1 圖像處理

圖像處理是利用計算機對圖像進行計算分析的技術,包括數字圖像處理和計算機視覺兩大技術領域。數字圖像處理是通過濾波、壓縮、變換等算法對圖像進行預處理[6];而計算機視覺的目標是利用人工智能算法從圖像中獲取信息,比如圖像識別、圖像跟蹤、圖像測量等。OpenCV 是一個實現數字圖像處理和計算機視覺通用算法的開源跨平臺庫,其采用C/C++語言編寫,同時支持Python、MATLAB 等接口調用。

2.2.2 OpenCV 圖像處理

由于播種機器人沒有安裝激光雷達而選擇使用RGB-D 相機kinect2.0 的深度圖像,并將其轉換成激光雷達掃描圖來進行地圖構建和導航,所以還需要進行一些準備。先是創建一個ROS 節點;再調用“depthimage_to_laserscan”功能包;接著,訂閱深度圖像和發布激光圖像;當接收到深度圖像消息時,就會創建一個“depthimage_to_laserscan”服務請求,將深度圖像轉換為激光雷達數據,并將激光雷達數據發布出去。

2.3 單片機程序

2.3.1 PID 控制

通過PWM 控制電機轉動速度,電機速度定為V,但是實際上播種機器人會受到各種干擾,所以使用PID 控制來進行反饋控制[7]。PID 有位置型和增量型兩種控制算法,由于電機控制屬于速度環控制,通過編碼器進行速度反饋,所以應該選用增量型PID 控制算法。

2.3.2 STM32 電機控制程序

電機驅動芯片MC-FBLD-6630 里面已經集成了電機轉向控制和電機轉速控制這兩個在電機控制程序中最重要的程序,用單片機的I/O 口產生控制轉向的高低電平和控制轉速的PWM 波來進行電機的控制[8]。

3 導航方案

農業機器人采用的導航方法主要有三種:GPS 導航、視覺導航和激光導航。

3.1 激光雷達和IMU 定位

本文設計使用的定位方法是先獲得全局地圖,再獲得激光雷達和慣性測量單元數據,將傳感器數據通過ROS 傳送到建立的機器人定位(robot_localization)節點,再通過ROS 機器人系統的“robot_localization”功能包,實現多傳感器數據融合,使用C++語言編寫ROS 機器人使用IMU 和激光雷達的定位程序。

其后調用自適應蒙特卡洛定位(Adaptive Monte Carlo Localization,AMCL)模塊,實現機器人的定位和導航功能[9]。該功能包可使用激光雷達和慣性測量元件獲取周圍環境信息,通過蒙特卡洛定位算法對機器人的位置進行估計,并提供導航和路徑規劃所需的定位信息[10]。AMCL功能包可以在ROS 的導航堆棧中使用,是ROS 中常用的機器人定位和導航方案之一。

3.2 激光雷達和深度相機構建地圖

播種機器人通過Kinect2.0 深度相機和激光雷達采集外部環境,以此來完成機器人的定位與建圖。之所以選擇這種方法主要是因其穩定性高且能適應復雜的農田環境。柵格地圖分為二維柵格地圖和三維柵格地圖,機器人主要通過激光雷達圖得出的二維柵格地圖進行導航,借助kinect2.0 得出的三維柵格地圖進行避障。

將深度相機得到的深度圖轉成激光圖之后,還需要構建環境地圖,以對環境狀態進行描述,為機器人定位做好準備。環境地圖有多種,比如特征地圖、點云地圖、幾何地圖、柵格地圖、拓撲地圖[11]等。

3.2.1 二維激光圖建立二維柵格地圖

使用單線激光雷達掃描得到的二維激光圖建立二維柵格地圖,將二維連續空間用柵格進行離散劃分。機器人采用二維占據柵格地圖,對劃分出來的每個柵格就用一個占據概率值進行量化。使得概率為1 的柵格被標記為占據狀態,概率為0 的柵格被標記為非占據狀態,概率在0 到1 之間的柵格被標記為未知狀態。在導航過程中,要避開占據狀態的柵格,在非占據狀態的柵格中通行[12]。它通過傳感器來探明未知狀態的柵格的狀態。

3.2.2 景深圖建立三維柵格地圖

Kinect2.0 得出的景深圖在轉成了激光圖之后,用于建立三維柵格地圖。之所以不直接用激光雷達避障是由于二維柵格地圖無法描述立體障礙物的詳細狀態,因此其對環境的描述并不完備。按照二維柵格地圖同樣的思路,將三維空間用立體柵格進行離散劃分,以此得到三維柵格地圖。對劃分出來的每個立體柵格用一個占據概率值進行量化,相比于二維柵格,三維柵格的數量更大。為了提高三維柵格地圖數據處理效率,播種機器人的算法采用八叉樹對三維柵格數據進行編碼存儲,這樣就得到了八叉樹地圖。實際上,將一個立體空間劃分成8 個大的立體柵格,然后對每個柵格繼續進行同樣的劃分,這樣就形成了一個八叉樹結構。利用八叉樹,更易于得到不同分辨率的地圖表示。

3.3 全覆蓋作業規劃

在柵格地圖中,全覆蓋作業路徑規劃問題即演變為機器人從初始位置到最后的目標位置,自主規劃出一條切實可行的無碰撞且效率較高的路徑[12]。

本研究擬采用農業播種機器人的全覆蓋作業[13]方法,該方法在減少路徑重復率、提高覆蓋率方面具有優勢。

4 機器人的仿真分析

4.1 基于MATLAB 的PID 仿真和控制參數整定

增量型PID 整定順序如下:

6)根據需要進行微調,調整PID 參數以滿足控制系統的要求。

4.2 基于MATLAB 的機器人運動姿態仿真

根據農田中農作物的生長特性,農作物都是按照固定的行距和株距進行種植的,根據這一特性,對農業輪式移動機器人在農作物的行間進行直線行走或換行時進行曲線路徑仿真。

圖3 是通過MATLAB 軟件的Simulink 仿真工具搭建的基于ROS 的雙輪差速控制系統機器人的簡易模型,旨在對機器人以任意姿態到達目標點進行仿真。該模型由多個子系統組成,每個子系統又由各種信號和函數組成。圖3 中X、Y 分別是是機器人X、Y 軸坐標。

圖3 大田播種機器人運動控制系統

圖4 是PID 控制子系統,內有兩個PID 控制器,分別通過機器人到目標距離來計算線速度,通過機器人姿態與目標的偏角差來計算角速度。對應ROS 中涉及運動的各種應用。圖4 中lin_vel 是機器人線速度,ang_vel 是機器人角速度。

圖4 PID 控制子系統

運動控制系統是用于模擬控制雙輪差速機器人的過程,控制量是左、右輪的轉速。圖5 是基礎控制器子系統,將機器人線速度V和角速度解算為機器人左、右輪速度,解算依據約束方程進行。該子系統對應ROS 中的基礎控制器。

圖5 基礎控制器子系統

最后通過運動學模型子系統得出機器人的位姿。該子系統模擬機器人下位機即單片機控制機器人底盤移動的過程。

5 結束語

本設計基于目前我國農業自動化、機械化的不斷推行,以及我國農業生產對自動化需求的不斷提升,開發一款可以用于田地播種的自動播種機器人,以此來代替人工。該機器人理論上能適應田地惡劣的環境,最后又通過仿真確定了其可行性和有效性。

猜你喜歡
鴨嘴大田柵格
鴨嘴花的化學成分與藥理作用研究進展
甜葉菊鴨嘴式移栽裝置的研發與設計
基于鄰域柵格篩選的點云邊緣點提取方法*
“大田后生仔”歌唱家鄉
帶鴨嘴的湯盆
雙鴨嘴式大蒜正頭裝置調頭機理分析與試驗
小田變大田破解農地零碎化
“小田并大田”要有序推進
不同剖面形狀的柵格壁對柵格翼氣動特性的影響
基于CVT排布的非周期柵格密度加權陣設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合