王新彥,張凱,盛冠杰,易政洋
(江蘇科技大學機械工程學院,江蘇鎮江,212100)
在校園草坪及別墅區草坪的日常維護中,割草機器人在花叢與樹木較多環境下作業時,由于傳感器的不穩定性易發生漏檢及避障失效[1-2]。為了降低割草機器人的漏檢率及提高其避障能力,本文對割草機器人的穩定性展開了研究。
近年來國內外研究機構和學者已經研究出各類割草機器人[3-5],如:Friendly Machines公司設計的Friendly Robomow割草機器人、南京理工大學機械學院研究的MORO割草機器人[6]等,這些割草機器人普遍成本較高,并不適合推向市場。目前已經推向市場的割草機器人以圍線割草機器人為主,通過GPS技術實現定位,但是這些方法在障礙物較多場景下定位效果較差,并且鋪設電纜成本較高,效率較低,所以本文使用SLAM技術實現割草機器人定位。
相關2D激光SLAM技術方面[7-10],尹政等[11]針對變電站等復雜環境地圖構建問題,分析對比了目前幾種主流激光SLAM算法[12-13],以Cartographer SLAM作為研究基礎,該方法基于雙單線激光雷達互相垂直的方法實現三維建圖的新系統。該方法通過增加傳感器方式實現多維感知,需要一定經濟成本且在導航時有一定困難,沒有有效解決單線激光雷達室外多維感知問題。
針對上述問題,本文提出了一種自動調節激光雷達與SLAM融合的方法,通過Gazebo模擬器[14]與ROS[15]對割草機器人進行三維建模與仿真平臺搭建來綜合探究割草機器人感知形狀不規則花叢的有效性。
割草機器人總體結構設計示意圖如圖1所示,設計一種基于單線激光雷達自動升降裝置的割草機器人,實現單線激光雷達高度的無級調節。以Jetson Nano作為硬件開發平臺,以STM32對步進電機進行控制實現電機正反轉,從而驅動絲桿滑臺水平往復運動。以步進電機作為激光雷達升降裝置的動力,以激光雷達為主結合絲桿滑臺、刀盤等完成整個割草機器人平臺的搭建。

圖1 總體示意圖
圖2為嵌入式割草機器人平臺實物圖,主要由單線激光雷達、Jetson Nano、絲桿滑臺、STM32、鋰電池、滑輪、激光雷達架等組成。
激光雷達升降裝置主要技術參數,如表1所示。

圖2 嵌入式割草機器人平臺實物圖

表1 激光雷達升降裝置主要技術參數Tab. 1 Main technical parameters of the LiDAR lifting device
本文主要是用TOF的單線激光雷達,可以抗室外強光的照射,激光雷達固定在激光雷達架中。單線激光雷達的結構設計最主要目的是如何實現其自動升降,具體結構如圖3所示。

圖3 割草機器人剖視圖
該結構的工作原理是:鋰電池為Jetson Nano開發板提供電量,Jetson Nano為STM32單片機提供程序指令,STM32為電機驅動器提供控制指令,電機驅動器為電機提供正反轉控制指令,電機提供動力給絲桿滑臺,絲桿滑臺將旋轉運動轉化為直線運動,滑塊中使用繩索與其他固定環相連,激光雷達固定在雷達架上,雷達架在導軌中做往復直線運動,且滑塊在絲桿滑臺運動的長度等于激光雷達在導軌運動的長度,當滑塊運動到兩個極限位置時則是激光雷達在導軌中運動的最低點與最高點。
實現單線激光雷達豎直運動,主要結構部分是由滑軌和雷達架組成,繩索給雷達架提供動力,并在雷達架上安裝了滾輪,有利于減少與滑軌的摩擦阻力,如圖4和圖5所示。

圖4 滑軌內部結構圖

圖5 滑軌局部裝配視圖
本文選用的滑軌材料為鋁合金,通過屈服強度計算公式
Re=Fe/So
(1)
其中屈服時恒定力Fe為3 N,面積So為1.63×10-2m2,得出最大屈服強度Re為1.838×102N/m2,從圖6中Solidworks有限元分析可知屈服極限為3.7×108N/m2,因此該結構設計滿足設計要求。

圖6 滑軌應力分析圖
單線激光雷達的運動是由絲桿滑臺中滑塊的水平位移控制,單線激光雷達上下調節示意圖如圖7所示。其中,O3、O4位置分別為單線激光雷達的兩個極限位置,在O3處是單線激光雷達的位置為350 mm,在O4位置為50 mm。單線激光雷達在該范圍內可以實現無級調節,可以有效地避免漏檢現象。絲桿滑臺中滑塊移動速度v為56 mm/s,從O3位置到O4位置長度變化ΔL為300 mm,可求得所需移動時間,計算公式如式(2)所示。
(2)
可知所需的加速度,計算公式如式(3)所示。
(3)

圖7 升降裝置調節示意圖
Gazebo可以通過統一的機器人描述格式(URDF)文件模擬世界環境、物理模型、傳感器和控制系統。本次使用Gazebo模擬器創建教學樓草坪的環境。
圖8所示為Gazebo創建的仿真環境,設置物理參數,如重力。模擬的世界環境包括花、樹木和假山,它們高度不同,其中圖8中1表示白玫瑰花叢,它的高度低于單線激光雷達安裝高度,而圖8中7表示花叢和樹木(在樹的周圍種植花),圖8中7藍色部分為花叢,紅色與黃色表示為樹木,樹木的高度高于單線激光雷達設定高度,但是花叢低于單線激光雷達設定高度。圖8中6表示自動升降單線激光雷達割草機器人。圖8中3、4、5表示其他種類的花品種且高度高于激光雷達高度。圖8中2為假山,其余都為樹木。RVIZ是ROS自帶的圖形化工具,圖9是根據圖8創建的教學樓草坪,基于RVIZ(圖形化工具)和Cartographer(用激光雷達實現同步定位與地圖構建)算法創建的二維環境地圖。

圖8 Gazebo創建教學樓草坪環境

圖9 RVIZ創建教學樓草坪二維地圖
基于單線激光雷達自動升降裝置的割草機器人的核心部分也是其難點是控制系統與SLAM算法融合的設計,主要分為兩個部分:一是SLAM算法的實現部分;二是驅動控制部分,即Ros_Control程序與SLAM算法的融合。
系統的組成包括供電模塊、單線激光雷達采集模塊、中央處理單元(Jetson Nano)、控制模塊(Ros_Control)等,如圖10所示。

圖10 控制系統硬件構成
單線激光雷達掃描割草機器人前方障礙物情況,將采集的信息傳遞給Jetson Nano進行算法計算判定,決策單線激光雷達升降裝置是否變化,然后再將決策信息傳遞給Ros_Control,Ros_Control可以控制電機驅動絲桿滑臺,實現單線激光雷達上下移動,從而建立精確的柵格地圖。
3.1.1 ROS_Control控制描述
為了控制激光雷達實現豎直移動,在Gazebo中引入Ros_Control這個控制插件,包括控制器接口、控制器、傳輸管理器、硬件接口和控制工具箱,所有這些結合起來將對機器人的關節執行器進行交互和控制。
模擬割草機器人的底層控制系統的流程如圖11所示。通過啟動包含割草機器人URDF文件的ROS程序包,可以在Gazebo的虛擬世界中打開模擬模型。其中在Mower URDF文件中的傳輸標簽定義了命令界面的類型以及關節和執行器之間的關系。Ros_interface包含的可用控制器插件列表,比如關節的狀態、關節的位置等;Controller Manager相當于控制管理器,提供一種通用的接口來管理不同的Controller;Controller完成每個joint控制后,然后請求下層硬件資源并提供了PID控制器,控制器將關節狀態和設定點作為輸入,并輸出位置或速度;Hardware Resource Interface Layer指為上下兩層提供硬件資源的接口;Hardware_interface::RobotHWSim包含關節限位、力矩轉換、狀態轉換等功能。

圖11 底層控制系統流程
該算法的實現平臺是機器人操作系統ROS,在此系統上進行算法的編寫,然后與C++語言進行聯合編程,具體算法流程如圖12所示。
使用單線激光雷達掃描前方障礙物的點云信息,經過對運動模型、觀測模型等模型建立,確定障礙物在柵格地圖的位置,并計算出障礙物(花叢)的高度。然后,對所提取的花叢的高度LAB進行區分,分為以下3種情況:(1)LAB>35 cm;(2)5 cm≤LAB≤35 cm;(3)LAB<5 cm,如圖12所示。基于以上三種情況建立不同的對策,決策是哪一種情況并將處理結果經Ros_Control控制旋轉系統驅動單線激光雷達上下移動。如遇到第(2)種情況時,要先計算出單線激光雷達與花叢之間的差值
Δe=35-LAB
(4)
然后,確定伸縮量ΔL,ΔL=Δe±10 mm(10 mm用于調解時存在必要誤差)。

圖12 算法流程圖
為了驗證本文中設計的基于單線激光雷達自動升降裝置的割草機器人漏檢與避障性能,針對學校的教學樓草坪區進行了仿真與實際場景試驗,對改進前與改進后分別進行了20次試驗。其中,試驗分為三種情況:第1類型為草坪中出現低于激光雷達安裝高度的花叢,草坪障礙物總數為9個;第2類型為草坪中出現高于激光雷達安裝高度的不規則花叢,草坪障礙物總數為9個;第3類型為草坪中既出現高于激光雷達安裝高度的花叢,又出現低于激光雷達安裝高度的不規則花叢,草坪障礙物總數為10個。花叢高度范圍為5~20 cm,試驗結果如表2所示。
表2表明:該割草機器人改進后的平均漏檢率達到0%;平均相對誤差率為2.03%(誤差值與實際距離的比值即為相對誤差率);平均避障率為93.33%,改進后的割草機器人可以有效地建立精確的柵格地圖,為割草機器人實現良好定位與避障提供了有效保障。
圖13與圖14對比可知,改進后可以確定花叢1在柵格地圖中位置并且在導航時可以有效地避開花叢,而不會撞到花叢。圖15與圖16對比可知改進后可以感知不規則花叢的位置,圖15中草叢7在柵格地圖中表示為圓點,而在圖16表示為一個矩形,在做避障時機器人根據障礙物大小進行有效避障。圖17與圖18對比可知改進后可以檢測出高于激光雷達安裝高度的花叢和低于激光雷達安裝高度的不規則花叢,改進后圖中花叢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) 提出基于單線激光雷達自動升降裝置的割草機器人的設計思想,使用方便快捷,實現單線激光雷達運用于室外草坪環境中。
2) 利用SLAM算法與單線激光雷達升降控制融合,避免因單線激光雷達誤判障礙物位置而出現漏檢或碰撞的情況。改進后與改進前相比,相對誤差率降低了1.04%;漏檢率降低為0;避障率提高93.33%。
3) 運用Gazebo模擬器創建仿真環境,利用Ros_Control有效地提供激光雷達升降裝置的驅動控制,最后利用仿真試驗和真實環境試驗驗證該方法的可靠性。