• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ROS2的無人安全巡邏車設(shè)計

      2023-12-30 02:01:36李艦飛孫合力呂澤龍
      無線互聯(lián)科技 2023年20期
      關(guān)鍵詞:激光雷達(dá)行人小車

      李艦飛,孫合力,呂澤龍

      (北京信息科技大學(xué) 信息與通信工程學(xué)院,北京 100101)

      0 引言

      隨著機(jī)器人技術(shù)的發(fā)展,機(jī)器人操作系統(tǒng)(Robot Operating System2,ROS2)為機(jī)器人研究和開發(fā)提供了重要支持。

      安全無人車的研究,對國防建設(shè)產(chǎn)生了積極影響?,F(xiàn)代戰(zhàn)爭趨向信息化、無人化,機(jī)器代替人類執(zhí)行任務(wù)不僅成本較低,而且沒有生命安全風(fēng)險。本研究利用ROS2為基礎(chǔ),結(jié)合樹莓派4B、深度相機(jī)、OpenCV技術(shù)以及各種傳感器,構(gòu)建了一款能夠自主導(dǎo)航的小車,實現(xiàn)在大型無人倉庫自主巡邏,在發(fā)現(xiàn)可疑人員時發(fā)出警報,降低攝像頭和人工成本。

      1 ROS2操作系統(tǒng)

      ROS的主要目標(biāo)是為機(jī)器人研究和開發(fā)提供代碼復(fù)用的支持[1]。該系統(tǒng)可以實現(xiàn)工程的協(xié)同作業(yè),使一個工程的開發(fā)和實現(xiàn)從文件系統(tǒng)到用戶接口完全獨立決策(不受ROS限制)。

      與ROS1相比,ROS2使用更先進(jìn)的分布式架構(gòu),擁有更高的可靠性,對實時性與嵌入式設(shè)備也提供支持。

      2 自主導(dǎo)航的關(guān)鍵技術(shù)

      2.1 基于激光雷達(dá)的2D地圖構(gòu)建

      2.1.1 激光雷達(dá)

      激光雷達(dá)在環(huán)境感知中起著關(guān)鍵作用。其工作原理基于測距原理,通過測量激光束從雷達(dá)發(fā)射到障礙物上并返回的時間,計算出障礙物的距離。通常激光雷達(dá)會在水平方向上進(jìn)行掃描,產(chǎn)生一系列距離測量點。這些點表示為:

      Pi=(ri,θi)

      (1)

      式(1)中,ri是障礙物到激光雷達(dá)的距離,θi是激光束相對于雷達(dá)的方位角。采集多個激光束的測量點后,可以構(gòu)建出環(huán)境的二維地圖。

      2.1.2 Cartographer算法

      Cartographer采用基于Google自家開發(fā)的Ceres非線性優(yōu)化的方法[2],其亮點在于代碼規(guī)范與工程化,非常適合于商業(yè)應(yīng)用和再開發(fā)。

      2.2 Navigation導(dǎo)航

      路徑規(guī)劃算法通過分析地圖信息,為無人車提供到達(dá)目標(biāo)點的最優(yōu)路徑。A*算法是常用的路徑規(guī)劃算法之一,其核心思想是通過估計從起點到目標(biāo)點的代價來選擇最優(yōu)路徑。A*算法使用以下公式計算代價:

      f(n)=g(n)+h(n)

      (2)

      式(2)中,f(n)是從起點到目標(biāo)點的估計代價,g(n)是從起點到當(dāng)前節(jié)點的實際代價,h(n)是當(dāng)前節(jié)點到目標(biāo)點的估計代價。通過不斷擴(kuò)展節(jié)點并選擇代價最小的路徑,A*算法可以找到最優(yōu)路徑[3]。

      在控制方面,PID控制器常用于調(diào)節(jié)無人車的速度和方向。其控制輸出根據(jù)當(dāng)前誤差、積分項和導(dǎo)數(shù)項計算:

      (3)

      式(3)中,e(t)為誤差,Kp、Ki和Kd分別為比例、積分和導(dǎo)數(shù)增益。

      2.3 導(dǎo)航系統(tǒng)框架與導(dǎo)航系統(tǒng)功能模塊的設(shè)計

      為了實現(xiàn)自主導(dǎo)航能力,本作品設(shè)計了一個基于ROS2的導(dǎo)航系統(tǒng)框架,并在其中集成了關(guān)鍵的導(dǎo)航系統(tǒng)功能模塊。

      2.3.1 導(dǎo)航系統(tǒng)框架

      傳感器模塊給其他模塊提供信息支持;導(dǎo)航規(guī)劃模塊根據(jù)建圖模塊提供的地圖進(jìn)行導(dǎo)航,配合視覺模塊提供信息給路徑跟蹤與控制模塊控制小車運動[4]。

      2.3.2 導(dǎo)航系統(tǒng)功能模塊的設(shè)計

      (1)傳感器模塊:包括激光雷達(dá)和深度相機(jī),用于獲取環(huán)境信息并進(jìn)行感知。

      (2)建圖模塊:通過激光雷達(dá)數(shù)據(jù)進(jìn)行SLAM算法,生成環(huán)境的地圖。筆者利用激光雷達(dá)數(shù)據(jù)進(jìn)行建圖。在建圖過程中,采用了Cartographer算法,將激光雷達(dá)數(shù)據(jù)融合,實時生成環(huán)境地圖[5]。

      (3)導(dǎo)航規(guī)劃模塊:在已知地圖基礎(chǔ)上,導(dǎo)航規(guī)劃模塊根據(jù)小車當(dāng)前位置和目標(biāo)位置計算出合適路徑。從建圖模塊獲取已知環(huán)境地圖,基于小車當(dāng)前位置和目標(biāo)位置,在地圖上計算出一條安全、高效的路徑,確保小車在遇到障礙物時能夠靈活調(diào)整路徑。

      (4)路徑跟蹤與控制模塊:將小車當(dāng)前位置與路徑進(jìn)行對比,計算出前進(jìn)方向和速度,根據(jù)路徑跟蹤結(jié)果,生成用于控制小車的速度和轉(zhuǎn)向角度的控制指令,將其傳遞給小車底層控制系統(tǒng),實現(xiàn)精確的路徑跟蹤和運動控制。

      (5)視覺識別模塊:該模塊集成了視覺識別功能,使用相機(jī)獲取實時圖像數(shù)據(jù),進(jìn)行行人檢測和環(huán)境感知。從深度相機(jī)獲取實時圖像數(shù)據(jù),使用Haar級聯(lián)分類器對圖像中的行人進(jìn)行檢測,確定其位置,再以坐標(biāo)形式傳遞給導(dǎo)航系統(tǒng),為小車的路徑規(guī)劃和避障提供數(shù)據(jù)支持。

      3 核心功能的實現(xiàn)

      3.1 ROS2與OpenCV

      ROS2與OpenCV的結(jié)合為機(jī)器人視覺識別提供了強(qiáng)大的工具。通過將OpenCV與ROS2集成,可以在ROS2的通信框架中傳遞和處理圖像數(shù)據(jù),從而實現(xiàn)更復(fù)雜的視覺功能。

      3.2 路徑規(guī)劃功能的實現(xiàn)

      自主導(dǎo)航的第一步是加載已建立的地圖并規(guī)劃路徑。從建圖模塊獲取已知的環(huán)境地圖,此地圖包含了環(huán)境的障礙物和空間信息。通過圖形用戶界面或ROS2命令,利用Navigation2的路徑規(guī)劃功能,在地圖上規(guī)劃出一條基于起點和目標(biāo)點的避開障礙物路徑。

      路徑規(guī)劃完成后,導(dǎo)航系統(tǒng)將執(zhí)行計劃好的路徑并控制小車到達(dá)目標(biāo)。在終端啟動Navigation2的導(dǎo)航節(jié)點,導(dǎo)航系統(tǒng)會根據(jù)傳感器數(shù)據(jù)進(jìn)行位置調(diào)整,以保證導(dǎo)航的準(zhǔn)確性,并實時計算小車當(dāng)前位置與規(guī)劃路徑之間的誤差,調(diào)整車輛的轉(zhuǎn)向和速度;通過實時路徑跟蹤和控制,小車最終到達(dá)預(yù)設(shè)的目標(biāo)點。

      3.3 行人檢測的算法實現(xiàn)

      小車設(shè)計采用了基于Haar級聯(lián)分類器的行人檢測算法。筆者使用了OpenCV提供的CascadeClassifier類加載了預(yù)先訓(xùn)練好的haarcascade_fullbody.xml分類器。主要的算法流程如圖1所示。

      圖1 算法流程

      為了實現(xiàn)行人檢測,筆者創(chuàng)建了一個ROS2節(jié)點,可通過訂閱圖像消息,并將ROS2圖像消息轉(zhuǎn)換為OpenCV圖像。通過圖像處理函數(shù),可實現(xiàn)行人檢測和結(jié)果可視化。

      3.3.1 圖像消息訂閱

      此功能支持使用ROS2提供的節(jié)點類創(chuàng)建一個訂閱者節(jié)點,用于接收來自相機(jī)的圖像消息。

      3.3.2 圖像處理

      可通過CvBridge類,將ROS2圖像消息轉(zhuǎn)換為OpenCV圖像,以便于后續(xù)的圖像處理。

      3.3.3 行人檢測

      在passerby_detect函數(shù)中,可對圖像進(jìn)行預(yù)處理,如圖像縮放和灰度化。操作人員可使用Haar級聯(lián)分類器進(jìn)行行人檢測,發(fā)布檢測結(jié)果消息。

      3.3.4 可視化結(jié)果

      操作人員通過繪制矩形框和顯示處理后的圖像,將檢測到的行人顯示在RViz2,為運行狀態(tài)和決策提供消息。

      3.3.5 發(fā)布警告話題

      創(chuàng)建發(fā)布話題節(jié)點,發(fā)布話題給蜂鳴器,進(jìn)行警告提示。

      4 測試結(jié)果與研究分析

      4.1 雷達(dá)建圖

      雷達(dá)啟動之后,啟動提前配置的Cartographer算法。同時,利用鍵盤控制小車移動(穩(wěn)定性相較于手柄等高),打開RViz2軟件,添加map話題接收以及tf坐標(biāo)變換。

      操作人員利用鍵盤控制小車移動,建立完整的地圖并保存,以便導(dǎo)航時加載。

      4.2 自主導(dǎo)航

      首先,開啟RViz2軟件。在小車終端開啟Navigation2導(dǎo)航節(jié)點之后,在RViz2中觀察到柵格地圖,根據(jù)小車在地圖中的實際位置設(shè)置起點。這一步需要不斷調(diào)整小車,使激光雷達(dá)的光點與地圖邊緣重合。最后,在RViz2中調(diào)整導(dǎo)航目標(biāo),使小車完成從A點到B點的運動。

      4.3 行人檢測

      圖2為移動檢測試驗。該功能能高精度識別行人運動??梢詰?yīng)用于識別空曠空間內(nèi)沒有人和出現(xiàn)人時的情況。

      圖2 行人檢測效果

      4.4 小車行進(jìn)過程中的視覺識別穩(wěn)定分析

      由于小車行駛速度較快,相機(jī)捕捉到的圖像存在模糊現(xiàn)象,筆者對小車速度調(diào)整,使相機(jī)可以穩(wěn)定捕捉到清晰的圖像。

      5 結(jié)語

      通過多次測試,行人識別代碼精準(zhǔn)度達(dá)到70%以上,基本做到了識別行人。應(yīng)用于倉庫等警衛(wèi)點巡邏時可以提升安全系數(shù),降低人工成本。

      本研究基于ROS2操作系統(tǒng),搭載多種傳感器,實現(xiàn)了基于激光雷達(dá)的2D地圖構(gòu)建、Navigation導(dǎo)航、視覺識別等功能。無人導(dǎo)航小車在安全領(lǐng)域展現(xiàn)出巨大的潛力,不僅可以應(yīng)用在生產(chǎn)生活中,也可以應(yīng)用于軍事等領(lǐng)域。

      猜你喜歡
      激光雷達(dá)行人小車
      手持激光雷達(dá)應(yīng)用解決方案
      北京測繪(2022年5期)2022-11-22 06:57:43
      法雷奧第二代SCALA?激光雷達(dá)
      汽車觀察(2021年8期)2021-09-01 10:12:41
      毒舌出沒,行人避讓
      意林(2021年5期)2021-04-18 12:21:17
      快樂語文(2020年36期)2021-01-14 01:10:32
      自制小車來比賽
      基于激光雷達(dá)通信的地面特征識別技術(shù)
      路不為尋找者而設(shè)
      揚子江(2019年1期)2019-03-08 02:52:34
      劉老師想開小車
      文苑(2018年22期)2018-11-19 02:54:18
      基于激光雷達(dá)的多旋翼無人機(jī)室內(nèi)定位與避障研究
      電子制作(2018年16期)2018-09-26 03:27:00
      兩輪自平衡小車的設(shè)計與實現(xiàn)
      電子制作(2018年8期)2018-06-26 06:43:02
      娱乐| 瓮安县| 利辛县| 清原| 天津市| 福泉市| 海原县| 邢台市| 河源市| 亳州市| 孟村| 普格县| 三都| 胶州市| 卓尼县| 六安市| 保康县| 麻阳| 天祝| 西乡县| 霸州市| 涡阳县| 常熟市| 阳山县| 盐源县| 敖汉旗| 清镇市| 重庆市| 宣威市| 长泰县| 湟源县| 永年县| 林甸县| 宣汉县| 通州市| 鄢陵县| 封开县| 乌拉特中旗| 沙坪坝区| 册亨县| 柯坪县|