裴雙成,鐘 波
(1.湖南農(nóng)業(yè)大學(xué)機電工程學(xué)院,湖南 長沙 410128;2.長沙市開福區(qū)福安水利管理所,湖南 長沙 410003)
中國草莓的種植面積與總產(chǎn)量一直位居世界前列[1]。草莓作為一種高營養(yǎng)的水果,深受消費者喜愛。然而,草莓的生產(chǎn)成本非常高昂,主要是因為人工采摘的勞動力成本大,這也給草莓產(chǎn)業(yè)帶來了巨大的經(jīng)營不確定性[2]。因此,迫切需要提高草莓采摘的自動化水平,以解放勞動力并降低采摘成本。與蘋果、柑橘等其他水果相比,草莓的果實更為嬌嫩,傳統(tǒng)的機械采摘裝置很容易造成草莓破損,因此目前基本上只能依靠人工采摘。通過采摘機器人模仿人工的操作,利用機器視覺系統(tǒng)在果園的自然環(huán)境中準(zhǔn)確識別和定位草莓,并模擬人手的采摘動作完成采摘作業(yè),是提高草莓機械化收獲水平的有效途徑[3-6]。
草莓采摘機器人的開發(fā)研究涉及機械、電控、機器視覺、人工智能等一系列相關(guān)系統(tǒng),具有很大的開發(fā)難度和研發(fā)周期。為了解決這個問題,應(yīng)用計算機仿真技術(shù)可以在虛擬環(huán)境中集成模擬草莓采摘機器人所需的系統(tǒng)和功能,通過進行前期開發(fā)試驗和算法驗證,可以在較短的時間內(nèi)完成開發(fā)工作,從而大大縮短開發(fā)周期并降低開發(fā)成本。因此,草莓采摘機器人的仿真研究具有重要的意義[6-9]。
通過計算機仿真技術(shù),可以建立一個虛擬的果園環(huán)境,在其中模擬草莓植株的生長狀態(tài)、果實的成熟度和分布情況等。同時,可以集成機器視覺系統(tǒng),使機器能夠準(zhǔn)確地識別和定位草莓果實。此外,還可以模擬機器手的動作和力度,以完成草莓的采摘作業(yè)。通過對這些系統(tǒng)和功能進行仿真研究,可以評估機器的性能和穩(wěn)定性,并優(yōu)化算法和控制策略,以提高草莓采摘機器人的效率和準(zhǔn)確性。寧玥利用3Ds MAX軟件繪制農(nóng)機的三維模型,通過Unity3D 軟件解析運動及作業(yè)流程,并進行了網(wǎng)絡(luò)化在線展示,對實現(xiàn)設(shè)計者和需求者之間的交流交互具有重要的作用[10]。李林峻等采用網(wǎng)絡(luò)化協(xié)同設(shè)計的方式對農(nóng)機發(fā)動機進行設(shè)計與優(yōu)化,提高了農(nóng)機零部件的設(shè)計水平,縮短了設(shè)計周期,提升了生產(chǎn)效率[11]。馬斌強等采用ADAMS 軟件對平行四桿機構(gòu)的液壓舉升機構(gòu)進行仿真設(shè)計,并驗證其性能參數(shù),為實際設(shè)計機構(gòu)提供了依據(jù)[12]。于圣潔等利用SolidWorks 建立就地翻土犁數(shù)學(xué)模型,并通過EDEM 軟件構(gòu)建土壤顆粒離散元模型,模擬土壤耕作試驗[13]。
在草莓采摘機器人的仿真研究中,還可以模擬不同的環(huán)境條件和任務(wù)場景,例如不同的果園布局、不同的草莓品種和果實形狀等。通過對這些場景的仿真研究,可以為機器人的實際應(yīng)用提供指導(dǎo),并提前解決可能出現(xiàn)的問題。
草莓果實在生長時因重力影響易下垂,較易被周圍枝葉遮擋,傳統(tǒng)的機器視覺系統(tǒng)在果園環(huán)境下難以準(zhǔn)確識別成熟的草莓果實。為了解決該問題,本文采用Kinect 相機采集自然環(huán)境下的草莓圖像,使用YOLOv8 卷積神經(jīng)網(wǎng)絡(luò)模型對草莓檢測模型進行迭代訓(xùn)練,將最優(yōu)權(quán)重模型作為草莓的實時檢測模型用于識別草莓果實與枝葉,同時通過Kinect 相機三維點云數(shù)據(jù)獲得草莓與障礙物的準(zhǔn)確空間坐標(biāo)[14]。針對果園環(huán)境下光照度差異對草莓識別影響較大的問題,本文通過增加不同光照度以及順光和逆光條件下的草莓?dāng)?shù)據(jù)集來優(yōu)化草莓檢測模型。考慮到草莓成熟時間不一致,采摘時拍攝的圖像中包含成熟與未成熟的草莓,本文在進行草莓?dāng)?shù)據(jù)集標(biāo)注時,將成熟草莓與未成熟草莓分別進行標(biāo)注,并將標(biāo)簽設(shè)置為“ripe”與“unripe”。標(biāo)注完成后隨機抽取100 張草莓圖像交由果農(nóng)確定標(biāo)注的成熟草莓與未成熟草莓是否準(zhǔn)確,以增大數(shù)據(jù)集的可靠性。
草莓的表皮相對較為脆弱,一旦損壞,草莓的保鮮期將大大縮短,對于銷售也不利。因此,在采摘草莓的過程中,需要非常精準(zhǔn)地進行操作,以避免對草莓表皮造成損傷。為了滿足這一要求,本文設(shè)計了一種草莓采摘機器人,主要由Kinect 深度相機、六軸機械臂以及三爪夾持式采摘機械手組成,如圖1所示。
圖1 草莓采摘機器人
本文的六軸機械臂通體由3D 打印部件組成,如圖2 所示,軸間驅(qū)動采用了伺服電機,配備諧波減速器,可以在充分保證運動精度的同時盡可能降低制作成本[6]。六軸聯(lián)動下,機械臂末端運動半徑最大可達770 mm,完全滿足小型輔助采摘設(shè)備的基本需求[5]。
圖2 六軸機械臂
基于曲柄連桿機構(gòu),并仿照人手三指捏合的動作原理,設(shè)計了三爪夾持式采摘機械手,并通過42 步進電機驅(qū)動底板前后移動,使三指連接的曲柄同時閉合,以牢固夾持草莓,三爪夾持式采摘機械手如圖3所示[15]。同時,三指末端采用柔軟的橡膠材料,夾持草莓時可按照草莓外表皮進行形變,減小了采摘過程中對草莓表皮的損傷[16]。
圖3 三爪夾持式采摘機械手
將六軸機械臂及三爪夾持式采摘機械手的SolidWorks 模型轉(zhuǎn)換為URDF 模型文件,便于導(dǎo)入Gazebo 環(huán)境中。使用Ubuntu 下ROS 的Moveit 插件,導(dǎo)入URDF 文件,構(gòu)建六軸機械臂在Rviz 三維可視化平臺插件中正、逆解的運動規(guī)劃文件,同時在文件包中配置Gazebo 仿真環(huán)境的執(zhí)行命令。配置完成后,執(zhí)行roslaunch 文件,打開Rviz 三維可視化平臺及Gazebo 仿真環(huán)境,草莓采摘機器人的模型同時在Rivz 和Gazebo 中顯示,通過Rviz 發(fā)送控制信息后,Gazebo 仿真世界中草莓采摘機器人將執(zhí)行同樣的動作,并有實時的三維點云數(shù)據(jù)與相機畫面在Rviz 中顯示,如圖4所示。
圖4 Gazebo世界中的草莓采摘機器人
為真實地還原草莓采摘的自然環(huán)境,在Gazebo環(huán)境中添加草莓壟和草莓作物,以及作為障礙物的圍欄[17]。移動草莓采摘機器人至草莓壟前,Kinect 相機掃描的三維點云數(shù)據(jù)實時顯示在Rviz 中,并獲得草莓和障礙物的精確三維空間坐標(biāo)[18],如圖5所示。
圖5 Kinect相機三維點云數(shù)據(jù)
其中,以六軸機械臂底盤最低面的中心為原點,建立世界坐標(biāo)系,而草莓果實的三維空間坐標(biāo)所在坐標(biāo)系是在Kinect 相機物理坐標(biāo)系和像素坐標(biāo)系下構(gòu)建的,為得到在世界坐標(biāo)系下正確的草莓果實坐標(biāo),需要將三個坐標(biāo)系進行轉(zhuǎn)換。為便于機械臂接收運動坐標(biāo),選擇將像素坐標(biāo)系通過旋轉(zhuǎn)變換及平移變換同步至世界坐標(biāo)系下。
首先,將像素坐標(biāo)系轉(zhuǎn)換至相機物理坐標(biāo)系下,轉(zhuǎn)換公式如式(1)所示:
圖像的單個像素在相機物理坐標(biāo)系的X軸方向和Y軸方向上的大小分別為dx、dy,草莓果實在像素坐標(biāo)系上的坐標(biāo)為(u,v)。
變換的公式如式(2)所示:
其中,XW、YW、ZW為草莓果實在機械臂的世界坐標(biāo)系中的三維坐標(biāo),XC、YC、ZC為草莓果實在相機坐標(biāo)系中的三維坐標(biāo),R為旋轉(zhuǎn)矩陣,t為平移矩陣。
轉(zhuǎn)換坐標(biāo)系后,在Rviz 中輸入草莓的空間坐標(biāo),六軸機械臂通過Moveit 插件中的運動學(xué)求解器IKFAST 進行運動規(guī)劃。IKFAST 是一種基于解析算法的運動學(xué)插件,可以保證每次求解的一致性,并且可以求解任意復(fù)雜運動鏈的運動學(xué)方程(解析解),產(chǎn)生特定語言的文件后供使用[19-20];其運動規(guī)劃比較穩(wěn)定且速度快,在最新的處理器上能在5 μs內(nèi)完成單次運動規(guī)劃的運算。使用該插件的運動規(guī)劃可以驗證機械臂運動到該坐標(biāo)的可行性,如運動過程中存在障礙,運動規(guī)劃將中止,并重新規(guī)劃,如圖6所示[21]。
圖6 機械臂運動規(guī)劃
運動規(guī)劃完成后,通過Rviz 將六軸的控制信息發(fā)送至Gazebo,Gazebo 中的草莓采摘機器人模型按照Rviz 中的運動規(guī)劃軌跡進行,三爪夾持式采摘機械手移動至草莓果實處,三指閉合,機械手夾持住草莓后,機械臂返回原點,并將草莓根部扯斷,完成采摘。
在Rviz 中將生成草莓采摘機器人的末端運動軌跡,可用于分析機械臂運動規(guī)劃的合理性及軌跡算法的研究,為運動避障提供準(zhǔn)確的運動數(shù)據(jù),如圖7 所示。同時,Kinect 相機的三維點云數(shù)據(jù)也將記錄運動過程的位姿變化,便于草莓采摘機器人的調(diào)整[22]。
圖7 Rviz可視化末端機械手運動軌跡
首先,本文使用了G a z e b o 仿真環(huán)境,較SolidWorks 等軟件,能更真實地還原草莓采摘的自然環(huán)境,包括壟道、作物、柵欄、枝葉等,對驗證草莓采摘機器人的方案可行性具有直觀的效果。
其次,在Rviz 中可生成可視化的末端運動軌跡,可為六軸機械臂或其他多軸運動機械的運行軌跡設(shè)計提供準(zhǔn)確的實驗數(shù)據(jù),并且可與修改后的機械運動軌跡進行對比,更好地確定機械運動的關(guān)鍵參數(shù)。
再次,本文結(jié)合了Kinect 相機進行仿真,可實時獲取周圍的環(huán)境信息,三維點云數(shù)據(jù)的應(yīng)用可將環(huán)境感知融入到仿真研究中[23-24]。
最后,本文設(shè)計了一種基于曲柄連桿機構(gòu)的三爪同步夾持式采摘機器人,仿照人手三指捏合的動作,采摘草莓時更加自然,末端的橡膠材料則能保證盡可能無損采摘草莓,并結(jié)合六軸機械臂進行了仿真采摘研究。
本文基于Gazebo 虛擬世界對自制的草莓采摘機器人進行了仿真研究。為了更貼近現(xiàn)實的仿真效果,本文充分模擬了草莓采摘的自然環(huán)境。在Gazebo 虛擬世界中,創(chuàng)建了一個果園場景,包括草莓植株的生長狀態(tài)、果實的成熟度和分布情況等。通過這樣的模擬,可以更加真實地評估草莓采摘機器人的性能和穩(wěn)定性。
在仿真過程中,融合了Kinect 相機,用于感知外界環(huán)境。Kinect 相機可以生成三維點云數(shù)據(jù),能夠準(zhǔn)確地感知Gazebo 虛擬世界中的物體。通過對這些點云數(shù)據(jù)進行處理,可以為草莓采摘機器人提供準(zhǔn)確的坐標(biāo)信息,幫助機器人精確地定位和采摘草莓。同時,在仿真過程中記錄了草莓采摘機器人的可視化末端運動軌跡。這些數(shù)據(jù)對于后續(xù)的避障算法和路徑規(guī)劃非常有幫助。通過分析這些運動軌跡,可以了解機器人在采摘過程中可能遇到的障礙物和困難,從而優(yōu)化機器人的動作和控制策略,提高采摘的效率和準(zhǔn)確性。
通過基于Gazebo虛擬世界的仿真研究,可以在較短的時間內(nèi)完成草莓采摘機器人的開發(fā)工作,并降低開發(fā)成本。同時,還可以在虛擬環(huán)境中模擬不同的任務(wù)場景,例如不同的果園布局和果實形狀,以提前解決可能出現(xiàn)的問題,并為機器人的實際應(yīng)用提供指導(dǎo)。