?

基于激光雷達的智能避障小車設計及實現

2023-03-01 01:07劉雪忠蔣志良1c陳柳元賈翔源楊劍利
濟源職業技術學院學報 2023年4期
關鍵詞:舵機激光雷達障礙物

趙 攀,劉雪忠,蔣志良,1c,陳柳元,賈翔源,楊劍利

(1.河南工業大學 a.教育部糧食信息處理與控制重點實驗室 b.河南省糧食光電檢測與控制重點實驗室 c.機電工程學院 d.信息科學與工程學院,河南 鄭州 450001;2.河南航天液壓氣動技術有限公司,河南 鄭州 450001;3.重慶工程學院 電子信息學院,重慶 400056)

隨著科技的不斷進步,智能化設備領域的發展越來越快,智能小車作為其中的重要成員,其應用場景也越來越廣泛。而避障技術作為智能小車設計中的核心問題之一,一直是研究者關注的熱點和難點。傳統的避障方式往往基于機械式開關、視覺傳感器、紅外線測距傳感器或超聲波傳感器等,這些傳感器存在靈敏度低、誤差大、受環境干擾等缺點,而單線激光雷達能夠避免這些問題。因此,在這種背景下,基于激光雷達的智能避障小車的設計備受關注[1-3]。

首先,該技術可以實現無人駕駛,為未來智能交通提供重要的解決方案。其次,對于一些危險或特殊環境,如礦井、石化廠等區域,采用基于該技術的無人駕駛車輛,進入作業可以有效減少人員傷亡事故,提高生產效率。此外,基于激光雷達技術的智能避障小車還可以用于倉庫和物流等場合,提高物流配送效率。因此,基于激光雷達技術的智能避障小車的設計方案不僅具有實際意義,也是未來智能制造和智能交通領域的重點發展方向之一[4-5]。

一、硬件設計

(一)系統框圖

該系統設計中主要部件的選用如下:STM32F103RCT6主控芯片(以下簡稱RCT6)、LD14激光雷達、驅動電機模塊、舵機控制模塊、OLED液晶顯示屏以及電源模塊,系統總體設計如圖1所示,其中單片機作為核心部分主要負責對其他模塊的控制。

圖1 系統設計框圖

根據系統總體設計框圖,各模塊主要負責以下工作:

(1)激光雷達模塊:負責對小車一定范圍內的復雜環境進行二維探測,獲取周圍的障礙物信息。

(2)控制模塊:負責控制小車的速度和轉動方向,接收來自單片機的數據并實時響應,包括驅動電機模塊、舵機模塊、OLED模塊、蜂鳴器模塊。

(3)RCT6主控模塊:負責對激光雷達采集到的障礙物信息進行實時的處理和分析,完成對障礙物的定位工作。

(4)藍牙控制模塊:負責與外部設備進行通信,例如將指令通過外設送到單片機進行指定操作或者將小車的速度、轉向角度、電源電壓等信息實時傳輸給外設。

(5)電源模塊:負責給小車提供足夠大的電壓,保證正常的功能運轉。

(二)單片機最小系統

單片機作為該設計方案的核心模塊,采用RCT6作為主控制器,是一種嵌入式微控制器,其工作頻率最高可以達到72 MHz,字長32位,程序存儲器容量是256 KB,48 KB字節的SRAM,可產生多路PWM用來驅動電機運轉。同時,RCT6具有功耗低、工作電壓要求低、內置SPI和I2C時序電路等優點。

(三)激光雷達模塊

激光雷達模塊作為避障處理的核心,可以實現小車前方360°的障礙物信息采集。該模塊是通過三角測量法進行距離測量,在每一側測量時,從一個固定的角度發射激光束,當激光束遇到目標物體后將會發生反射,最終在接收單元接收。通過激光、目標物體、接收單元形成的三角關系,從而計算出目標物體的距離。距離計算公式為:

D=C*(t2-t1)/2。

其中:t1是雷達發射激光的時間,t2是雷達接收到激光的時間,C為光速。

激光雷達能夠采集距離和角度信息,將這些信息融合在一起,形成點云數據,并通過無線通訊傳輸到單片機串口。電機驅動單元則負責控制電機的運轉,使用PID算法閉環控制電機達到目標轉速。激光雷達中的“雷達點云”指的是360°旋轉的傳感器在探測平面上的障礙物時,所采集到的所有點云數據。LD14雷達能夠探測距離是0.1~25 m,而非可探測范圍內的數據可能會不準確或者探測不到障礙物。探測到障礙物時,會在該角度根據障礙物的距離輸出一個點,而在探測不到障礙物時則進行空輸出。一圈中所有點云數據組合在一起,形成了雷達點云,如圖2所示。

圖2 雷達點云示意圖

(四)藍牙控制模塊

設計中使用BT04藍牙串口模塊,該模塊具有功耗低、傳輸高速、穩定性強等特點。該模塊支持AT指令和透傳兩種工作方式,不僅支持UART串口,還支持藍牙SPP協議,配備少量的外圍元件就能實現不同的功能。該模塊主要用于傳輸短距離的數據信息,可以做到快速與手機藍牙連接,可以直接代替串口數據線,避免了繁瑣的線路連接,廣泛應用于藍牙數據傳輸、藍牙音頻、智能家居、遠程測控、無線數據傳輸等場合。此外,該模塊還提供了靈活的引腳配置和豐富的用戶設置項,方便根據具體應用需求進行自定義設置。

(五)編碼電機模塊

設計中使用的是霍爾編碼器,是由霍爾碼盤和霍爾元件組成,霍爾碼盤是在一個規則的圓板上置入不同的磁極。因為霍爾碼盤與電機同軸,在電機旋轉時,霍爾元件能夠快速地檢測到輸出的脈沖信號。

為進一步判斷轉動的方向,往往要求輸出的兩組方波信號存在一定相位差。然后就可以通過單片機采集A、B相的脈沖數據,根據脈沖換算即可得到電機的數據[6-8]。通常采用A相計數,B相判斷轉動方向,但該系統進行四倍頻設計,即A、B相上升下降沿都計數,通過倍頻處理提高精度。

(六)控制舵機模塊

舵機是一種由電機、控制電路、齒輪組和電位器等組成的伺服單元,具有精度高、可靠性強、響應速度快等特點。在實際應用中,舵機可以實現自動控制,將電信號轉化為角度變化,從而實現機械裝置的精確控制[9-11]。

舵機通過輸入信號來精確轉動電機系統到給定角度,并由電位器檢測輸出軸轉動角度,控制板根據電位器的信息來控制和保持輸出軸的角度。舵機需要主控模塊產生脈沖調制信號來控制舵機的轉動角度,舵機控制器的編碼信息等同于脈沖寬度的絕對時長。對于該設計所用到的S20F舵機,控制脈沖周期為20 ms,當脈寬小于0.5 ms時為死區,角度小于或等于-90°;當脈寬大于2.5 ms時為死區,角度大于或等于+90°。

二、軟件設計

該系統設計使用Keil 5進行編程,Keil 5擁有單獨的庫文件,具有更高的性能和更多的功能。用PWM波控制電機的轉動方向和速度,用雷達模塊準確判斷小車周圍情況。單片機根據不同的算法輸出PWM控制信號,實時調整小車運行速度和方向,實現避障、跟隨和藍牙遙控功能。三個功能的程序設計如下。

(一)避障程序設計

系統設計固定障礙物與小車的間距為400 mm,當激光雷達檢測到前方物體與小車的距離小于等于400 mm時,系統會認定前方存在障礙物。此時,小車會減速至80 mm/s,并進行相應的避障操作。然而,如果激光雷達檢測到前方物體與小車的間距小于等于150 mm,系統會判定距離過近,不便于進行避障操作,小車將以速度-100 mm/s進行倒車,直至距離大于150 mm,再進行相應的避障操作。避障操作的流程如圖3所示:如果前方存在障礙物,激光雷達采集到的角度數據將被處理,以判斷障礙物位于小車的左側還是右側,然后對舵機進行相應的控制轉向,直至前方一定范圍內不存在障礙物,小車將以初始速度250 mm/s勻速行駛,完成避障。

圖3 雷達避障模式程序流程圖

(二)跟隨程序設計

在小車運行雷達跟隨模式時,單片機首先會分析激光雷達所發送的信號,并執行程序中設定的操作。針對本設計,設定跟隨物體的距離為500 mm以內,當激光雷達所測得的前方物體與小車間的距離不超過500 mm時,小車便會認為前方存在可跟隨的物體,并選取距離最近的物體作為跟隨參照物。但當激光雷達測得的前方物體距離小車不超過150 mm時,小車會認為距離太近,不便于進行跟隨工作,因此需要倒車使距離超過150 mm,然后再進行相應的跟隨操作。跟隨操作的流程如圖4所示:若存在跟隨參照物,則對激光雷達傳輸的角度數據進行處理,以確定參照物在小車左側還是右側,然后驅動舵機進行轉向。若前方不存在可跟隨的物體,則小車將保持靜止。

圖4 雷達跟隨模式程序流程圖

(三)藍牙程序設計

在藍牙遙控模式下,單片機將持續進行串行緩沖區掃描。如果檢測到串行數據,單片機將對數據進行自動解析并判斷該數據指令。此時,單片機將會根據指令控制驅動電機和舵機工作。

(1)收到字符“YY”,藍牙模式開啟,液晶顯示屏上第二行顯示“Bluetooth”字樣。

(2)收到字符“XX”,藍牙模式關閉,液晶顯示屏上第二行顯示“LINKING···”字樣。

(3)收到字符“A”,小車左右輪均不轉動,小車停止運動。

(4)收到字符“B”,小車左右輪都會正轉,正轉的速度為初始遙控速度Default_Velocity = 350 mm/s,控制小車直行。

(5)收到字符“C”,小車左右輪都會反轉,反轉的速度為初始遙控速度Default_Velocity = 350 mm/s,控制小車后退。

(6)收到字符“D”,小車左輪正轉速度慢于右輪,同時舵機轉向角度Bluetooth_Right_Angle = -Pi / 5,控制小車左轉。

(7)收到字符“E”,小車左輪正轉速度快于右輪,舵機轉向角度Bluetooth_Right_Angle = Pi / 5,控制小車右轉。

小車每收到一次指令會一直控制小車執行相應的指令,當需要小車連續執行某動作時,需要通過藍牙模塊連續發送相應的指令字符到小車[12-15]。

三、檢測調試

(一)藍牙調試

首先,需將設備電源開關撥至ON,以進行上電。按鍵選中(低電平觸發),運行界面初始化函數Car_Select_Show( ),以進行OLED界面初始化。當單擊User按鍵,選中Normal模式,需先控制小車進行舵機復位處理。在藍牙模塊未連接的情況下,可發現模塊上的LED處于紅燈慢閃的狀態。順利進行藍牙連接的前提是先打開手機藍牙和定位功能,然后打開“藍牙調試器APP”搜索藍牙BT04-A,并在點擊右側加號進行設備連接的過程中,等待藍牙模塊上的LED處于紅燈常亮狀態,此時便可確認連接成功。需要注意的是,Debug界面上的數據會持續刷新。

進入按鍵控制選項,可以對控制指令進行重命名。一旦單片機接收到來自APP操作界面的控制命令,就會解析和執行這個命令。小車接收指令的能力通常需要借助硬件設施,例如WiFi模塊、藍牙模塊等,才能夠完成與APP操作界面的通信和指令交互。具體藍牙調試界面如圖5所示。

圖5 APP界面及相應行駛狀態

(二)避障調試

上電后連續單擊兩次User按鍵,選中Avoid模式,首先控制小車進行舵機復位處理,同時獲得向前的初速度250 mm/s。避障時,小車實時地調用雷達傳輸給RCT6的數據來判斷前方是否有障礙物,若沒有障礙物則繼續勻速前進,若一定范圍內存在障礙物,小車進行緩慢減速直到80 mm/s,再判斷障礙物所在方向,若角度為負,即障礙物在左邊,則小車右轉,若角度為正,即障礙物在右邊,則小車左轉,直到前方一定范圍內不存在障礙物,繼續勻速前進,完成避障。

雷達避障測試以高度適中的規則紙盒為障礙物,小車的參數設置如下:最小避障距離為150 mm,最大避障距離為400 mm,最大速度為250 mm/s,轉向角度為36°[13]。在實驗場地分情況布置障礙物,以保證小車實驗功能的充分展示,圖6為小車的整個雷達避障功能測試圖。

圖6 小車雷達避障過程圖

通過以上試驗表明,在雷達避障時,通過分區域采取不同避障操作的方法,可以更好地滿足小車的避障需要。

(三)跟隨調試

上電后連續單擊三次User按鍵,選中Follow模式,首先控制小車進行舵機復位處理。小車進行物體跟隨時,保持初速度為0 mm/s靜止,并且實時地調用雷達傳輸給RCT6的數據。首先判斷小車周圍-60°~240°以外的500 mm區域內是否有物體,因為在小車后方60°的范圍內不能夠實現跟隨[14]。若雷達測得前方物體與小車的間距不大于500 mm時,則會認為該物體可以作為參照物,再相比較選取距離最近的物體作為最終跟隨參考物。但若雷達測得前方物體與小車的間距不大于150 mm,會認為距離太近不便于進行跟隨工作,要求小車執行倒車指令到距離大于150 mm,再進行相應跟隨操作。如此反復地進行數據處理來保持小車的車頭一直指向跟隨參照物。

雷達跟隨測試以紙盒為跟蹤目標,以較均勻的紙盒移動速度進行直行、轉彎跟蹤。小車的參數設置如下:最小跟隨距離為150 mm,最大跟隨距離為500 mm,最大速度為250 mm/s,最大檢測偏角度為150°[15]。

在跟隨過程中對測試實時進行拍攝,小車的整個雷達跟隨功能測試如圖7所示:圖7(a)為拉動目標紙盒向后移動時小車跟隨紙盒運動的實物效果,其中目標紙盒與小車的距離也會影響小車的前進速度;圖7(b)為目標紙盒在小車的正后方,由于后方60°不在跟隨范圍內,故當拉動紙盒向后移動時小車靜止不動;圖(c)為目標紙盒位于小車的右方時,小車舵機控制右轉向,轉向角度最小為-36°;圖(d)為目標紙盒位于小車的左方時,小車舵機控制左轉向,轉向角度最大也為36°。

圖7 小車雷達跟隨過程圖

根據調試結果,可以得出該小車可以檢測車輛周圍300°的范圍,而基于舵機加超聲波系統的智能避障小車檢測范圍為200°,測量范圍提高了50%;另外超聲波避障的最大測量距離為4 m,而激光雷達的有效測量距離為0.15~8 m,測量距離范圍提高了100%。在測距精度方面,超聲波測距在溫度影響下,40 °C的溫度變化將導致6.8%的聲速誤差,影響測距精度,超聲波檢測延遲和RF同步時間差等因素也將導致不同程度誤差,而本系統采用的LD14激光雷達,在1 m內的測距誤差為5 mm,1 m外的測距誤差接近1.7%,受環境影響小,僅考慮溫度變化影響的情況下,測距精度將提高近300%[16]。對于基于紅外傳感器的避障小車,其紅外檢測距離最大為80 cm,本設計的激光雷達避障小車相比于紅外避障小車測量距離提高了900%,而紅外測距精度問題隨距離增加會有很大波動,在此不做討論。由上述對比可知基于激光雷達的智能避障小車有著更高的測量精度和測量范圍。

四、結束語

本設計采用激光雷達模塊采集周圍物體的信息,運用Keil 5軟件進行編程,經過串口助手和虛擬示波器軟件處理后顯示對應的數據和波形,從而實現了避障、跟隨和藍牙遙控功能,雖然由于小車前輪舵機和后輪電機精度不夠存在著一定的誤差,導致小車行駛存在一定的方向和速度上的偏差,但是在整體上實現了所有的預期功能。

猜你喜歡
舵機激光雷達障礙物
手持激光雷達應用解決方案
法雷奧第二代SCALA?激光雷達
高低翻越
SelTrac?CBTC系統中非通信障礙物的設計和處理
含齒隙彈載舵機的全局反步模糊自適應控制
基于激光雷達通信的地面特征識別技術
基于激光雷達的多旋翼無人機室內定位與避障研究
基于dsPIC單片機的飛艇舵機控制實現
基于高速同步485總線通信的多通道舵機控制器設計
基于云模型的舵機同步控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合