• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ROS的大棚除草機器人設計

      2022-12-01 01:06:32彭雪斌周聯(lián)浩陳得日
      計算機測量與控制 2022年11期
      關鍵詞:里程計除草處理器

      彭雪斌,易 藝,周聯(lián)浩,陳得日,梁 軍

      (桂林信息科技學院 電子工程學院,廣西 桂林 541004)

      0 引言

      目前,在我國主要的除草方式是人工除草和化學除草,人工除草主要是通過人力或簡單的農(nóng)具進行人工除草,其效率極為低下,且工作量巨大,大大消耗了農(nóng)業(yè)生產(chǎn)中的勞動力。而化學除草主要是通過化學除草劑進行除草,農(nóng)民在除草過程中往往采用大面積噴灑的方式進行除草,該方法的缺點是對地面雜草目標沒有識別能力,大面積的施藥導致農(nóng)藥污染[1]。此外,沒有針對性的大面積除草,除草效率不高。近幾年,我國第一產(chǎn)業(yè)勞動力大大下降,雖然我國人口基數(shù)很大,但勞動力大多分布在其它產(chǎn)業(yè),而且由于我國人口老齡化問題的產(chǎn)生,農(nóng)業(yè)生產(chǎn)成本也不斷提高,所以研究農(nóng)業(yè)機器人具有重要的意義[2]。

      農(nóng)業(yè)機械化,智能化是國家農(nóng)業(yè)發(fā)展的必然趨勢。近年來,中央下發(fā)文件中明確指出,現(xiàn)代化農(nóng)業(yè)的發(fā)展對于我國的新農(nóng)村建設是必不可少的重要環(huán)節(jié),更是提出了精準農(nóng)業(yè)的新概念,而精準農(nóng)業(yè)中重要之一就是利用現(xiàn)代先進的技術條件減少對自然環(huán)境的污染和破環(huán),智能除草機器人的研究可以大大降低勞動成本,同時避免了大面積使用化學藥劑對環(huán)境造成的污染和對人類健康的危害。將精準農(nóng)業(yè)應用在了農(nóng)業(yè)生產(chǎn)中,可以提高農(nóng)產(chǎn)品的質量和產(chǎn)量,成為近年來科研人員研究的熱點課題[3-12]。

      為了精準地噴灑農(nóng)藥進行除草,減少農(nóng)藥對環(huán)境的污染和農(nóng)藥在農(nóng)作物的殘留,提高除草效率,設計了一種基于ROS的大棚除草機器人。除草機器人采用Jetson Xavier NX[13]和STM32F103作為控制器,輔以激光雷達、深度相機和三軸陀螺儀/加速度傳感器進行路徑規(guī)劃和導航,通過相機采集大棚中的雜草和農(nóng)作物圖像,經(jīng)過分析、算法處理后獲取雜草的位置信息,然后控制機械臂上攜帶的噴頭噴灑農(nóng)藥,進行除草,從而達到除草的目的。

      1 系統(tǒng)組成和原理

      除草機器人系統(tǒng)由頂層控制模塊和底層控制模塊組成,其系統(tǒng)組成框圖如圖1所示。

      圖1 系統(tǒng)組成框圖

      頂層控制模塊是除草機器人系統(tǒng)的主控制中心,主要負責除草機器人系統(tǒng)的功能控制、信息采集和處理等工作,Jetson Xavier NX處理器A主要控制激光雷達模塊和深度相機模塊進行工作,分別獲取機器人行進路線上的二維平面掃描數(shù)據(jù)和三維深度圖像數(shù)據(jù)。

      底層模塊中的STM32微控制器A通過電機驅動模塊A和電機驅動模塊B控制機器人上的4個電機進行工作。霍爾編碼器分別用來檢測4個電機的轉速,獲取機器人運行的速度,經(jīng)過處理后得到除草機器人的里程計定位坐標。MPU6050三軸陀螺儀/加速度傳感器用來獲取除草機器人的姿態(tài)信息,然后通過STM32微控制器A的串口將除草機器人的姿態(tài)信息和里程計信息發(fā)送給Jetson Xavier NX處理器A。

      Jetson Xavier NX處理器A將除草機器人的姿態(tài)信息、里程計信息、二維平面掃描數(shù)據(jù)和三維深度圖像數(shù)據(jù)進行處理,從而完成除草機器人對大棚的建圖和導航功能,可以進行巡壟行駛。

      在巡壟的過程中,通過Jetson Xavier NX處理器B控制高清相機工作,不斷獲取大棚內壟間的圖像信息,然后進行圖像處理得到雜草的位置信息。Jetson Xavier NX處理器B通過串口發(fā)送指令給STM32微控制器B,STM32微控制器B收到指令后控制機械臂工作,使機械臂上攜帶的噴頭到達雜草位置上方,然后控制水泵工作,進行噴藥除草。

      2 系統(tǒng)硬件電路設計

      系統(tǒng)的硬件電路設計主要包括頂層控制模塊,底層控制模塊的電機驅動電路、MPU6050傳感器電路、編碼器電路和系統(tǒng)電源電路設計。

      2.1 頂層控制模塊的硬件設計

      頂層控制模塊由Jetson Xavier NX處理器、激光雷達、深度相機、高清相機、觸摸屏、STM32微控制器、高清相機、水泵及其驅動模塊和機械臂組成。其部分硬件設計框圖如圖2所示。

      圖2 頂層控制模塊部分電路設計框圖

      主處理器采用的是英偉達Jetson Xavier NX處理器,它采用Volta架構的384核GPU,且加入48個Tensor Core,擁有21TOPS的INT8運算能力,它還擁有Carmel架構的6核CPU,帶有10MB的緩存,64位運算能力,最高可以達到1 900 MHz主頻,可以同時處理來自多個傳感器的高分辨率數(shù)據(jù)[14]。因此,選用Jetson Xavier NX處理器,可以滿足整個除草機器人系統(tǒng)的需求。

      深度相機采用奧比中光Astra Pro實感深度相機,深度范圍能達到0.6 m至8 m,延遲在45 ms以內,采用USB2.0進行數(shù)據(jù)傳輸,主要用于獲取壟間的深度圖像信息。深度相機能夠將具有一定結構特征的光線投射到被拍攝物體上,再由專門的紅外攝像頭進行采集。它具備一定結構的光線,會因被攝物體的不同深度區(qū)域反射,而采集不同的圖像相位信息,并能夠通過運算單元將這種結構的變化換算成深度信息,以此來獲得三維環(huán)境信息,深度相機的深度視覺利用RGB圖像和深度圖像來感知機器人周圍空間的三維信息,獲得的環(huán)境信息豐富。但是深度相機是通過深度圖像來感知周圍環(huán)境的信息,由于圖像會受環(huán)境光照變化的影響,當環(huán)境光照不理想時,深度相機難以獲得足夠的圖像特征匹配點數(shù)目,從而導致獲取環(huán)境圖像信息不夠準確[15]。

      激光雷達采用思嵐RPLIDAR A1型激光雷達,主要用于獲取機器人行進路線上的二維平面數(shù)據(jù)。激光雷達通過旋轉的反射鏡將激光發(fā)射出去,利用接收反射光和發(fā)射光的時間比較從而完成距離的測量任務,因此激光雷達是通過激光感知機器人周圍的環(huán)境信息,其單次測量準確,受外界的環(huán)境變化影響小,但是數(shù)據(jù)稀疏,并且只能獲得與激光雷達同一高度的二維信息,而對于不在同一高度的障礙物束手無策[15],因此,除草機器人系統(tǒng)采用激光雷達和深度相機來獲取除草機器人行進路線的環(huán)境信息,將激光雷達和深度相機結合,可以彌補各自的不足,取長補短,解決了在除草機器人行進過程中壟間環(huán)境信息的感知問題,提高了除草機器人對壟間環(huán)境信息的感知能力,以及同步定位和建圖的準確度[15]。

      在人機交互方面,除草機器采用了一塊IPS電容觸摸高清屏。電容高清觸摸屏通過HDMI接口和Micro USB接口與英偉達Jetson Xavier NX處理器連接,完成畫面的顯示和觸摸功能。

      2.2 電機驅動模塊的硬件設計

      電機驅動模塊采用東芝半導體公司生產(chǎn)的直流電機驅動芯片TB6612FNG來實現(xiàn)。該芯片采用大電流MOSFET-H橋結構,具有雙通道電路輸出功能,可同時驅動2個電機,TB6612FNG每通道輸出最高連續(xù)驅動電流為1.2 A[16]。該芯片可以驅動12 V直流減速電機,滿足除草機器人的需要。底層微控制器采用的是意法半導體公司32位增強型的STM32F103微控制器作為核心控制器,STM32具有片上資源豐富、功耗低和性能高等優(yōu)點,最高工作頻率能夠達到72 MHz,擁有64 k的SRAM,可以滿足除草機器人底層控制的功能需求,電機驅動模塊直接與STM32控制器連接,STM32控制器通過PID算法調節(jié)PWM的占空比,通過TB6612FNG電機驅動模塊,達到精確控制各個電機轉速的目的,其電路原理如圖3所示。

      圖3 TB6612FNG電機驅動模塊電路原理圖

      2.3 IMU加速度/陀螺儀模塊的硬件設計

      IMU加速度/陀螺儀模塊采用的Invensense公司的MPU6050芯片來實現(xiàn)[17]。該模塊用來獲取除草機器人的姿態(tài)信息。在實驗過程中得知:如果僅使用一種里程計信息,其存在累計誤差,隨時間的推移和輪子打滑等問題,會導致除草機器人在位姿的估算定位中,存在較大的誤差。通過將IMU加速度/陀螺儀模塊的數(shù)字運動處理器實時輸出機器人的角速度,經(jīng)過積分得到姿態(tài)信息,然后結合輪式里程計、視覺里程計[18]等多種里程計信息,可以更準確地得到機器人位置和姿態(tài)[19]。IMU加速度/陀螺儀模塊的電路原理圖如圖4所示。

      圖4 IMU加速度/陀螺儀傳感器電路原理圖

      在除草機器人上安裝霍爾編碼器,用來實現(xiàn)電機轉速的測量。設電機測速編碼數(shù)為M,在一個時間周期t(單位為s)內,測量得到的脈沖數(shù)為N,則由公式(1)可以計算得到除草機器人上每個電機的轉速[20]。

      (1)

      將除草機器人的輪子半徑r和電機的減速比(1∶50)代入公式(2)進行計算,得到除草機器人每個輪子的速度。

      vr(vl)=100*n*(2*π*r)/50

      (2)

      式(2)中左車輪速度為vl,右車輪速度為vr。

      除草機器人采用4個車輪差速運動的模型,左側前后兩個車輪的速度相同,右側前后兩個車輪的速度相同,因此將除草機器人左側車輪速度為vl,右側車輪速度為vr,左右車輪間距為L,代入公式(3)、公式(4)和公式(5)可以分別求得除草機器人的線速度v、角速度ω和旋轉半徑r。

      (3)

      (4)

      (5)

      將除草機器人的角速度ω、線速度v對時間進行積分,求得機器人的移動距離,進而得到機器人的位置信息。

      3 系統(tǒng)軟件設計

      系統(tǒng)的軟件設計主要由頂層控制模塊的處理器程序設計和底層控制模塊程序設計組成。

      3.1 頂層控制模塊的處理器程序設計

      在Jetson Xavier NX處理器中安裝了ROS機器人操作系統(tǒng),即 Robot Operating System它是一種適用于移動機器人、無人駕駛等領域的開源操作系統(tǒng)。它是銜接在真正操作系統(tǒng)和諸多實體傳感器之間的一個特殊的中間平臺。ROS有一套標準信息定義格式,包括集合概念信息定義(如:位姿、變換、矢量等)和傳感器信息定義(如:激光雷達、深度相機等)。

      ROS 操作系統(tǒng)包含進程消息傳遞、底層控制和包的管理等基本服務。在除草機器人研發(fā)中,可以利用ROS 包含的開源功能包,像搭建積木一樣搭建功能模塊[19]。ROS 包含了服務、話題和參數(shù)服務器等通信方式[21]。

      ROS操作系統(tǒng)主要處理來自激光雷達、深度相機、底層控制模塊反饋的輪式里程計信息、高清相機等數(shù)據(jù)信息,從而進行位置的測算、建圖和導航,以及雜草圖像的處理和識別,進而控制機械臂噴灑農(nóng)藥。其軟件系統(tǒng)架構圖如圖5所示。

      圖5 上層軟件系統(tǒng)架構圖

      激光節(jié)點在建圖、定位和導航過程中負責提供和發(fā)布雷達數(shù)據(jù),相機節(jié)點主要負責在定位和建圖過程中讀取和發(fā)布圖像數(shù)據(jù),為機器人提供豐富的周圍環(huán)境觀測數(shù)據(jù)。USB通信節(jié)點通過與STM32底層控制器進行里程計等數(shù)據(jù)的交換,建圖節(jié)點通過訂閱里程計、圖像、深度相機等數(shù)據(jù)完成二維柵格-三維點云地圖的構建,同時輸出機器人的位置狀態(tài),主節(jié)點主要負責管理其他各個節(jié)點的運行,為方便軟件調試,采用了Rviz(三維可視化工具)[22]作為可視化界面進行軟件的調試。

      除草機器人系統(tǒng)在進行建圖時,激光節(jié)點和相機節(jié)點分別發(fā)布激光點云數(shù)據(jù)話題和圖像的數(shù)據(jù)話題,建圖節(jié)點會訂閱激光點云數(shù)據(jù)話題和圖像的數(shù)據(jù)話題并在節(jié)點內部進行處理,主要為了激光點云的特征提取和匹配以及根據(jù)標定的信息將激光點云映射到相機坐標系下,同時會在節(jié)點內部進行圖像深度信息的提取和匹配特征點獲得其位置和映射的關系,并同時訂閱USB通信節(jié)點發(fā)布的里程計數(shù)據(jù)話題,利用匹配好的激光視覺數(shù)據(jù)進行位置姿態(tài)的測算,隨后進行大范圍的點云建圖以及回環(huán)檢測。啟動ROS系統(tǒng)中的Rviz(三維可視化工具)節(jié)點,Rviz節(jié)點通過訂閱機器人位姿數(shù)據(jù)和地圖數(shù)據(jù),為軟件的調試提供效果展示[23]。

      除草機器人通過高清相機采集作物壟間雜草的圖像數(shù)據(jù),隨后將圖像數(shù)據(jù)傳送給Jetson Xavier NX處理器B進行圖像處理,在圖像處理過程中,首先是將圖像數(shù)據(jù)進行歸一化處理,隨后將圖像數(shù)據(jù)的顏色空間轉化為HSV顏色空間,利用閥值分割與濾波處理提取出綠色的像素數(shù)據(jù),然后繪制出綠色像素數(shù)據(jù)矩形邊框并計算其面積大小,濾除不符合面積閥值的矩形,計算出符合面積閥值的矩形空間中心坐標,即為雜草的像素坐標,接著再轉化為世界坐標下的三維坐標點,并利用三維立體空間中的兩點間距離公式計算出除草機器人與雜草間距離,然后控制機械臂定點噴灑農(nóng)藥。圖像處理程序流程圖如圖6所示。

      圖6 圖像處理流程圖

      3.2 底層控制模塊程序設計

      底層控制主要由STM32F103微控制器作為核心控制器來完成控制工作。在底層控制模塊中,STM32采用片內定時器產(chǎn)生不同占空比的PWM信號送給電機驅動模塊驅動除草機器人電機進行工作,然后使用片內的定時器來獲取霍爾編碼器輸出的脈沖信號,經(jīng)過處理得到除草機器人電機的轉速。同時控制IMU加速度/陀螺儀模塊工作,獲取IMU加速度/陀螺儀模塊的數(shù)據(jù),然后通過串口發(fā)送給Jetson Xavier NX處理器A。STM32微控制器通過串口接收來自Jetson Xavier NX處理器A的命令。底層控制軟件實現(xiàn)流程圖如圖7所示。

      圖7 底層控制軟件流程圖

      在底層控制模塊程序中,程序首先進行系統(tǒng)的初始化,比如定時器、串口中斷、編碼器和MPU6050模塊的初始化等,然后程序在定時器的定時下以100 Hz的頻率執(zhí)行,讀取出MPU6050模塊中的數(shù)字運動處理器DMP(digital motion processor)解算的俯仰角、橫滾角和航向角等數(shù)據(jù),然后再以50 Hz的頻率將編碼器采集到的數(shù)據(jù)結合機器人的運動學模型,經(jīng)正向運動學解析,計算出機器人的運動線速度和角速度,并對其在時間上進行積分,計算出機器人里程計坐標系下的坐標位置,接著通過串口向Jetson Xavier NX處理器A發(fā)送陀螺儀角速度、加速度、姿態(tài)角度、里程計坐標、里程計坐標變化量和編碼器的當前值和目標值等數(shù)據(jù),當Jetson Xavier NX處理器A通過串口向底層控制模塊中的STM32微控制器A發(fā)送數(shù)據(jù)時,底層控制程序會先判斷串口接收的數(shù)據(jù)是否符合命令格式,如果符合,就將接收到的數(shù)據(jù)進行存儲,然后結合除草機器人的運動模型,經(jīng)逆向運動學結算,計算出每個電機的速度,接著在通過PID算法調節(jié)控制4個電機的PWM信號的占空比從而實現(xiàn)控制除草機器人達到預期的速度。其PID算法的框圖如圖8所示。

      圖8 PID算法框圖

      圖8中,r(t)為設定狀態(tài)量,y(t)為實際狀態(tài)量,e(t)為當前誤差,u(t)為控制器輸出。PID是一個作用于閉環(huán)系統(tǒng)的控制算法,由比例環(huán)節(jié)(Р)、積分環(huán)節(jié)(Ⅰ)、微分環(huán)節(jié)(D)共3個部分組成[24]。

      up(t)=Kp*e(t)=Kp*[r(t)-y(t)]

      (6)

      (7)

      (8)

      (9)

      式(6)為比例環(huán)節(jié)公式(Р),比例環(huán)節(jié)有誤差存在時才會產(chǎn)生輸出up(t)。比例調節(jié)的過程是成比例地反應控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,通過Kp*e(t)產(chǎn)生控制作用以減小偏差。

      式(7)為積分環(huán)節(jié)(I)公式,積分環(huán)節(jié)的輸出ui(t)與系統(tǒng)的誤差累加和有關。當系統(tǒng)存在誤差時,積分環(huán)節(jié)將誤差累加后起調節(jié)作用,直到誤差為0后控制器穩(wěn)定輸出。積分環(huán)節(jié)可以消除系統(tǒng)比例環(huán)節(jié)穩(wěn)態(tài)誤差,一般常用PI調節(jié),即up(t)+ui(t) ,使得實際狀態(tài)量等于設定狀態(tài)量。

      式(8)為微分環(huán)節(jié)(D)公式,微分環(huán)節(jié)的輸出ud(t)與系統(tǒng)的誤差變化率有關。根據(jù)現(xiàn)在的趨勢去判斷未來,可以阻礙未來可能出現(xiàn)過度的調節(jié),微分環(huán)節(jié)可以反應偏差信號的變化規(guī)律。

      式(9)是整個PID控制器的輸出,即3個環(huán)節(jié)的輸出求和[25]。

      4 系統(tǒng)功能實驗測試

      為了驗證除草機器人系統(tǒng)的除草效果以及其工作的穩(wěn)定性,在現(xiàn)有的實驗室條件下,在實驗室構建模擬測試環(huán)境,選用白菜作為壟間作物植株,白菜的總數(shù)量為30顆,排列成3列即兩壟的形式,白菜排列的行間距為60 cm,株距為60 cm,壟長為5.4 m,適合機器人在行間行走,雜草的株高在2~10 cm不等。為驗證除草機器人噴藥作業(yè)的實際噴藥效果,采用水分檢測試紙進行測試觀察。在測試過程中,除草機器人系統(tǒng)調用事先建好的離線地圖,在除草機器人的操作界面規(guī)劃好路徑,除草機器人沿著壟間行走。在正常光照條件下,除草機器人進行噴藥作業(yè),隨后通過統(tǒng)計與分析水分檢測試紙的顏色變化情況,計算出除草機器人的噴藥成功率,實驗結果如表1所示。

      表1 除草機器人的噴藥作業(yè)實驗結果

      5 結束語

      本文基于Jetson Xavier NX處理器搭載ROS系統(tǒng),結合激光雷達、深度相機和高清相機等外部設備,采用圖像識別處理技術、建圖和導航技術、多傳感器融合技術,設計了一種大棚除草機器人。本文介紹了除草機器人的系統(tǒng)組成原理,軟硬件實現(xiàn)方法,并對除草機器人進行功能測試,實驗結果表明,在正常的光線條件下,該除草機器人噴藥除草效果良好。

      猜你喜歡
      里程計除草處理器
      室內退化場景下UWB雙基站輔助LiDAR里程計的定位方法
      玉米除草、追肥 記住這些“黃金時段”
      除草記
      小麥播種后 除草最佳時間別錯過
      一種單目相機/三軸陀螺儀/里程計緊組合導航算法
      基于模板特征點提取的立體視覺里程計實現(xiàn)方法
      大角度斜置激光慣組與里程計組合導航方法
      Imagination的ClearCallTM VoIP應用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      呼嚕處理器
      小青蛙報(2014年1期)2014-03-21 21:29:39
      安西县| 全南县| 苏尼特左旗| 临洮县| 潼南县| 蓝田县| 全椒县| 咸丰县| 陆丰市| 阜康市| 新民市| 鄂尔多斯市| 青州市| 武安市| 左云县| 界首市| 靖江市| 南靖县| 仙居县| 通辽市| 五寨县| 白沙| 桃江县| 宁津县| 临泉县| 商洛市| 蒙自县| 彭州市| 吉安市| 碌曲县| 雷州市| 福建省| 阿拉善左旗| 水城县| 应城市| 梅河口市| 怀来县| 会同县| 桦甸市| 溆浦县| 万盛区|