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