王新彥,張凱,盛冠杰,易政洋
(江蘇科技大學(xué)機(jī)械工程學(xué)院,江蘇鎮(zhèn)江,212100)
在校園草坪及別墅區(qū)草坪的日常維護(hù)中,割草機(jī)器人在花叢與樹(shù)木較多環(huán)境下作業(yè)時(shí),由于傳感器的不穩(wěn)定性易發(fā)生漏檢及避障失效[1-2]。為了降低割草機(jī)器人的漏檢率及提高其避障能力,本文對(duì)割草機(jī)器人的穩(wěn)定性展開(kāi)了研究。
近年來(lái)國(guó)內(nèi)外研究機(jī)構(gòu)和學(xué)者已經(jīng)研究出各類(lèi)割草機(jī)器人[3-5],如:Friendly Machines公司設(shè)計(jì)的Friendly Robomow割草機(jī)器人、南京理工大學(xué)機(jī)械學(xué)院研究的MORO割草機(jī)器人[6]等,這些割草機(jī)器人普遍成本較高,并不適合推向市場(chǎng)。目前已經(jīng)推向市場(chǎng)的割草機(jī)器人以圍線割草機(jī)器人為主,通過(guò)GPS技術(shù)實(shí)現(xiàn)定位,但是這些方法在障礙物較多場(chǎng)景下定位效果較差,并且鋪設(shè)電纜成本較高,效率較低,所以本文使用SLAM技術(shù)實(shí)現(xiàn)割草機(jī)器人定位。
相關(guān)2D激光SLAM技術(shù)方面[7-10],尹政等[11]針對(duì)變電站等復(fù)雜環(huán)境地圖構(gòu)建問(wèn)題,分析對(duì)比了目前幾種主流激光SLAM算法[12-13],以Cartographer SLAM作為研究基礎(chǔ),該方法基于雙單線激光雷達(dá)互相垂直的方法實(shí)現(xiàn)三維建圖的新系統(tǒng)。該方法通過(guò)增加傳感器方式實(shí)現(xiàn)多維感知,需要一定經(jīng)濟(jì)成本且在導(dǎo)航時(shí)有一定困難,沒(méi)有有效解決單線激光雷達(dá)室外多維感知問(wèn)題。
針對(duì)上述問(wèn)題,本文提出了一種自動(dòng)調(diào)節(jié)激光雷達(dá)與SLAM融合的方法,通過(guò)Gazebo模擬器[14]與ROS[15]對(duì)割草機(jī)器人進(jìn)行三維建模與仿真平臺(tái)搭建來(lái)綜合探究割草機(jī)器人感知形狀不規(guī)則花叢的有效性。
割草機(jī)器人總體結(jié)構(gòu)設(shè)計(jì)示意圖如圖1所示,設(shè)計(jì)一種基于單線激光雷達(dá)自動(dòng)升降裝置的割草機(jī)器人,實(shí)現(xiàn)單線激光雷達(dá)高度的無(wú)級(jí)調(diào)節(jié)。以Jetson Nano作為硬件開(kāi)發(fā)平臺(tái),以STM32對(duì)步進(jìn)電機(jī)進(jìn)行控制實(shí)現(xiàn)電機(jī)正反轉(zhuǎn),從而驅(qū)動(dòng)絲桿滑臺(tái)水平往復(fù)運(yùn)動(dòng)。以步進(jìn)電機(jī)作為激光雷達(dá)升降裝置的動(dòng)力,以激光雷達(dá)為主結(jié)合絲桿滑臺(tái)、刀盤(pán)等完成整個(gè)割草機(jī)器人平臺(tái)的搭建。
圖1 總體示意圖
圖2為嵌入式割草機(jī)器人平臺(tái)實(shí)物圖,主要由單線激光雷達(dá)、Jetson Nano、絲桿滑臺(tái)、STM32、鋰電池、滑輪、激光雷達(dá)架等組成。
激光雷達(dá)升降裝置主要技術(shù)參數(shù),如表1所示。
圖2 嵌入式割草機(jī)器人平臺(tái)實(shí)物圖
表1 激光雷達(dá)升降裝置主要技術(shù)參數(shù)Tab. 1 Main technical parameters of the LiDAR lifting device
本文主要是用TOF的單線激光雷達(dá),可以抗室外強(qiáng)光的照射,激光雷達(dá)固定在激光雷達(dá)架中。單線激光雷達(dá)的結(jié)構(gòu)設(shè)計(jì)最主要目的是如何實(shí)現(xiàn)其自動(dòng)升降,具體結(jié)構(gòu)如圖3所示。
圖3 割草機(jī)器人剖視圖
該結(jié)構(gòu)的工作原理是:鋰電池為Jetson Nano開(kāi)發(fā)板提供電量,Jetson Nano為STM32單片機(jī)提供程序指令,STM32為電機(jī)驅(qū)動(dòng)器提供控制指令,電機(jī)驅(qū)動(dòng)器為電機(jī)提供正反轉(zhuǎn)控制指令,電機(jī)提供動(dòng)力給絲桿滑臺(tái),絲桿滑臺(tái)將旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)化為直線運(yùn)動(dòng),滑塊中使用繩索與其他固定環(huán)相連,激光雷達(dá)固定在雷達(dá)架上,雷達(dá)架在導(dǎo)軌中做往復(fù)直線運(yùn)動(dòng),且滑塊在絲桿滑臺(tái)運(yùn)動(dòng)的長(zhǎng)度等于激光雷達(dá)在導(dǎo)軌運(yùn)動(dòng)的長(zhǎng)度,當(dāng)滑塊運(yùn)動(dòng)到兩個(gè)極限位置時(shí)則是激光雷達(dá)在導(dǎo)軌中運(yùn)動(dòng)的最低點(diǎn)與最高點(diǎn)。
實(shí)現(xiàn)單線激光雷達(dá)豎直運(yùn)動(dòng),主要結(jié)構(gòu)部分是由滑軌和雷達(dá)架組成,繩索給雷達(dá)架提供動(dòng)力,并在雷達(dá)架上安裝了滾輪,有利于減少與滑軌的摩擦阻力,如圖4和圖5所示。
圖4 滑軌內(nèi)部結(jié)構(gòu)圖
圖5 滑軌局部裝配視圖
本文選用的滑軌材料為鋁合金,通過(guò)屈服強(qiáng)度計(jì)算公式
Re=Fe/So
(1)
其中屈服時(shí)恒定力Fe為3 N,面積So為1.63×10-2m2,得出最大屈服強(qiáng)度Re為1.838×102N/m2,從圖6中Solidworks有限元分析可知屈服極限為3.7×108N/m2,因此該結(jié)構(gòu)設(shè)計(jì)滿(mǎn)足設(shè)計(jì)要求。
圖6 滑軌應(yīng)力分析圖
單線激光雷達(dá)的運(yùn)動(dòng)是由絲桿滑臺(tái)中滑塊的水平位移控制,單線激光雷達(dá)上下調(diào)節(jié)示意圖如圖7所示。其中,O3、O4位置分別為單線激光雷達(dá)的兩個(gè)極限位置,在O3處是單線激光雷達(dá)的位置為350 mm,在O4位置為50 mm。單線激光雷達(dá)在該范圍內(nèi)可以實(shí)現(xiàn)無(wú)級(jí)調(diào)節(jié),可以有效地避免漏檢現(xiàn)象。絲桿滑臺(tái)中滑塊移動(dòng)速度v為56 mm/s,從O3位置到O4位置長(zhǎng)度變化ΔL為300 mm,可求得所需移動(dòng)時(shí)間,計(jì)算公式如式(2)所示。
(2)
可知所需的加速度,計(jì)算公式如式(3)所示。
(3)
圖7 升降裝置調(diào)節(jié)示意圖
Gazebo可以通過(guò)統(tǒng)一的機(jī)器人描述格式(URDF)文件模擬世界環(huán)境、物理模型、傳感器和控制系統(tǒng)。本次使用Gazebo模擬器創(chuàng)建教學(xué)樓草坪的環(huán)境。
圖8所示為Gazebo創(chuàng)建的仿真環(huán)境,設(shè)置物理參數(shù),如重力。模擬的世界環(huán)境包括花、樹(shù)木和假山,它們高度不同,其中圖8中1表示白玫瑰花叢,它的高度低于單線激光雷達(dá)安裝高度,而圖8中7表示花叢和樹(shù)木(在樹(shù)的周?chē)N植花),圖8中7藍(lán)色部分為花叢,紅色與黃色表示為樹(shù)木,樹(shù)木的高度高于單線激光雷達(dá)設(shè)定高度,但是花叢低于單線激光雷達(dá)設(shè)定高度。圖8中6表示自動(dòng)升降單線激光雷達(dá)割草機(jī)器人。圖8中3、4、5表示其他種類(lèi)的花品種且高度高于激光雷達(dá)高度。圖8中2為假山,其余都為樹(shù)木。RVIZ是ROS自帶的圖形化工具,圖9是根據(jù)圖8創(chuàng)建的教學(xué)樓草坪,基于RVIZ(圖形化工具)和Cartographer(用激光雷達(dá)實(shí)現(xiàn)同步定位與地圖構(gòu)建)算法創(chuàng)建的二維環(huán)境地圖。
圖8 Gazebo創(chuàng)建教學(xué)樓草坪環(huán)境
圖9 RVIZ創(chuàng)建教學(xué)樓草坪二維地圖
基于單線激光雷達(dá)自動(dòng)升降裝置的割草機(jī)器人的核心部分也是其難點(diǎn)是控制系統(tǒng)與SLAM算法融合的設(shè)計(jì),主要分為兩個(gè)部分:一是SLAM算法的實(shí)現(xiàn)部分;二是驅(qū)動(dòng)控制部分,即Ros_Control程序與SLAM算法的融合。
系統(tǒng)的組成包括供電模塊、單線激光雷達(dá)采集模塊、中央處理單元(Jetson Nano)、控制模塊(Ros_Control)等,如圖10所示。
圖10 控制系統(tǒng)硬件構(gòu)成
單線激光雷達(dá)掃描割草機(jī)器人前方障礙物情況,將采集的信息傳遞給Jetson Nano進(jìn)行算法計(jì)算判定,決策單線激光雷達(dá)升降裝置是否變化,然后再將決策信息傳遞給Ros_Control,Ros_Control可以控制電機(jī)驅(qū)動(dòng)絲桿滑臺(tái),實(shí)現(xiàn)單線激光雷達(dá)上下移動(dòng),從而建立精確的柵格地圖。
3.1.1 ROS_Control控制描述
為了控制激光雷達(dá)實(shí)現(xiàn)豎直移動(dòng),在Gazebo中引入Ros_Control這個(gè)控制插件,包括控制器接口、控制器、傳輸管理器、硬件接口和控制工具箱,所有這些結(jié)合起來(lái)將對(duì)機(jī)器人的關(guān)節(jié)執(zhí)行器進(jìn)行交互和控制。
模擬割草機(jī)器人的底層控制系統(tǒng)的流程如圖11所示。通過(guò)啟動(dòng)包含割草機(jī)器人URDF文件的ROS程序包,可以在Gazebo的虛擬世界中打開(kāi)模擬模型。其中在Mower URDF文件中的傳輸標(biāo)簽定義了命令界面的類(lèi)型以及關(guān)節(jié)和執(zhí)行器之間的關(guān)系。Ros_interface包含的可用控制器插件列表,比如關(guān)節(jié)的狀態(tài)、關(guān)節(jié)的位置等;Controller Manager相當(dāng)于控制管理器,提供一種通用的接口來(lái)管理不同的Controller;Controller完成每個(gè)joint控制后,然后請(qǐng)求下層硬件資源并提供了PID控制器,控制器將關(guān)節(jié)狀態(tài)和設(shè)定點(diǎn)作為輸入,并輸出位置或速度;Hardware Resource Interface Layer指為上下兩層提供硬件資源的接口;Hardware_interface::RobotHWSim包含關(guān)節(jié)限位、力矩轉(zhuǎn)換、狀態(tài)轉(zhuǎn)換等功能。
圖11 底層控制系統(tǒng)流程
該算法的實(shí)現(xiàn)平臺(tái)是機(jī)器人操作系統(tǒng)ROS,在此系統(tǒng)上進(jìn)行算法的編寫(xiě),然后與C++語(yǔ)言進(jìn)行聯(lián)合編程,具體算法流程如圖12所示。
使用單線激光雷達(dá)掃描前方障礙物的點(diǎn)云信息,經(jīng)過(guò)對(duì)運(yùn)動(dòng)模型、觀測(cè)模型等模型建立,確定障礙物在柵格地圖的位置,并計(jì)算出障礙物(花叢)的高度。然后,對(duì)所提取的花叢的高度LAB進(jìn)行區(qū)分,分為以下3種情況:(1)LAB>35 cm;(2)5 cm≤LAB≤35 cm;(3)LAB<5 cm,如圖12所示。基于以上三種情況建立不同的對(duì)策,決策是哪一種情況并將處理結(jié)果經(jīng)Ros_Control控制旋轉(zhuǎn)系統(tǒng)驅(qū)動(dòng)單線激光雷達(dá)上下移動(dòng)。如遇到第(2)種情況時(shí),要先計(jì)算出單線激光雷達(dá)與花叢之間的差值
Δe=35-LAB
(4)
然后,確定伸縮量ΔL,ΔL=Δe±10 mm(10 mm用于調(diào)解時(shí)存在必要誤差)。
圖12 算法流程圖
為了驗(yàn)證本文中設(shè)計(jì)的基于單線激光雷達(dá)自動(dòng)升降裝置的割草機(jī)器人漏檢與避障性能,針對(duì)學(xué)校的教學(xué)樓草坪區(qū)進(jìn)行了仿真與實(shí)際場(chǎng)景試驗(yàn),對(duì)改進(jìn)前與改進(jìn)后分別進(jìn)行了20次試驗(yàn)。其中,試驗(yàn)分為三種情況:第1類(lèi)型為草坪中出現(xiàn)低于激光雷達(dá)安裝高度的花叢,草坪障礙物總數(shù)為9個(gè);第2類(lèi)型為草坪中出現(xiàn)高于激光雷達(dá)安裝高度的不規(guī)則花叢,草坪障礙物總數(shù)為9個(gè);第3類(lèi)型為草坪中既出現(xiàn)高于激光雷達(dá)安裝高度的花叢,又出現(xiàn)低于激光雷達(dá)安裝高度的不規(guī)則花叢,草坪障礙物總數(shù)為10個(gè)。花叢高度范圍為5~20 cm,試驗(yàn)結(jié)果如表2所示。
表2表明:該割草機(jī)器人改進(jìn)后的平均漏檢率達(dá)到0%;平均相對(duì)誤差率為2.03%(誤差值與實(shí)際距離的比值即為相對(duì)誤差率);平均避障率為93.33%,改進(jìn)后的割草機(jī)器人可以有效地建立精確的柵格地圖,為割草機(jī)器人實(shí)現(xiàn)良好定位與避障提供了有效保障。
圖13與圖14對(duì)比可知,改進(jìn)后可以確定花叢1在柵格地圖中位置并且在導(dǎo)航時(shí)可以有效地避開(kāi)花叢,而不會(huì)撞到花叢。圖15與圖16對(duì)比可知改進(jìn)后可以感知不規(guī)則花叢的位置,圖15中草叢7在柵格地圖中表示為圓點(diǎn),而在圖16表示為一個(gè)矩形,在做避障時(shí)機(jī)器人根據(jù)障礙物大小進(jìn)行有效避障。圖17與圖18對(duì)比可知改進(jìn)后可以檢測(cè)出高于激光雷達(dá)安裝高度的花叢和低于激光雷達(dá)安裝高度的不規(guī)則花叢,改進(jìn)后圖中花叢1和花叢7被有效檢測(cè)出來(lái)。圖19是該割草機(jī)器人在學(xué)校教學(xué)樓實(shí)際場(chǎng)景測(cè)試的SLAM建圖效果,可以清晰表明各個(gè)障礙物的位置和割草機(jī)器人的位姿,圖中草叢8表示為低于激光雷達(dá)高度,9表示高于激光雷達(dá)高度的草叢,通過(guò)自動(dòng)升降裝置可以有效建立柵格地圖。
表2 割草機(jī)器人建圖試驗(yàn)對(duì)比Tab. 2 Comparison of mowing robot map building tests
圖13 改進(jìn)前(1)建圖效果
圖14 改進(jìn)后(1)建圖效果
圖15 改進(jìn)前(2)建圖效果
圖16 改進(jìn)后(2)建圖效果
圖17 改進(jìn)前(3)建圖效果
圖18 改進(jìn)后(3)建圖效果
圖19 基于該割草機(jī)器人的實(shí)際場(chǎng)景SLAM測(cè)試
1) 提出基于單線激光雷達(dá)自動(dòng)升降裝置的割草機(jī)器人的設(shè)計(jì)思想,使用方便快捷,實(shí)現(xiàn)單線激光雷達(dá)運(yùn)用于室外草坪環(huán)境中。
2) 利用SLAM算法與單線激光雷達(dá)升降控制融合,避免因單線激光雷達(dá)誤判障礙物位置而出現(xiàn)漏檢或碰撞的情況。改進(jìn)后與改進(jìn)前相比,相對(duì)誤差率降低了1.04%;漏檢率降低為0;避障率提高93.33%。
3) 運(yùn)用Gazebo模擬器創(chuàng)建仿真環(huán)境,利用Ros_Control有效地提供激光雷達(dá)升降裝置的驅(qū)動(dòng)控制,最后利用仿真試驗(yàn)和真實(shí)環(huán)境試驗(yàn)驗(yàn)證該方法的可靠性。
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2022年10期