两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于雙一線激光雷達的機器人自主導航系統(tǒng)的制作方法

文檔序號:11249059閱讀:1065來源:國知局
基于雙一線激光雷達的機器人自主導航系統(tǒng)的制造方法與工藝

本發(fā)明是一種應用于室內(nèi)機器人的自主導航方案,所屬機器人領域。

技術背景

隨著計算機技術和信息處理技術的不斷發(fā)展,以這些技術為核心的機器人技術也在各個行業(yè)中得到了廣泛應用,其中包括以替代人力完成諸如家庭服務、巡邏和貨物搬運等復雜度不高但需要在室內(nèi)空間中的進行不斷移動的工作為目的的室內(nèi)移動機器人。

導航技術是移動機器人的核心技術之一,在復雜多變的室內(nèi)環(huán)境中,一種穩(wěn)定有效的導航方案是決定機器人能夠完成其工作的關鍵。對于工作于開闊室外空間而對精度要求不高的移動機器人平臺,通常可以借助gps進行定位和導航,但對于工作在室內(nèi)的移動機器人來說,不穩(wěn)定且精度較低的民用gps導航系統(tǒng)無法提供足夠準確的信息供機器人在狹小封閉的空間中進行移動。

目前常見的低端室內(nèi)機器人多采用雷達或紅外線進行障礙檢測,并在遇到障礙物時通過被動的避障來實現(xiàn)自主移動,其移動軌跡具有很大程度的隨機性,且無法進行事先指定好目的地的定向移動。部分高端機器人方案則多采用一線激光雷達或立體視覺系統(tǒng)進行避障和導航,這兩種方案雖然能夠通過獲取更多環(huán)境信息而實現(xiàn)定向移動和主動避障,但其在實際應用中均存在一定的局限性。通過一線激光雷達進行導航的方案雖然能夠通過獲取環(huán)境的二維輪廓來實現(xiàn)路徑規(guī)劃和避障,然而該方案僅能夠對一線雷達所在的平面進行掃描和建模,而對于低于或高于其掃描平面的障礙物則無能為力。利用立體視覺雖然能夠獲取立體的環(huán)境信息,但由于攝像頭的視角的限制,其掃描范圍無法覆蓋足夠的空間區(qū)域,且該方案還存在需要處理的數(shù)據(jù)量大、噪聲干擾大和有效距離短等缺點。



技術實現(xiàn)要素:

為了克服上述現(xiàn)有方案的不足,本發(fā)明實現(xiàn)了一種全新的基于雙一線激光雷達的機器人自主導航系統(tǒng)。相比于現(xiàn)有主流室內(nèi)機器人導航系統(tǒng),本發(fā)明僅使用了兩部低成本一線激光雷達作為信息來源,但達到了明顯優(yōu)于現(xiàn)有同等成本的方案的導航和避障效果。

本發(fā)明采用的技術方案是:

基于雙一線激光雷達的機器人自主導航系統(tǒng),其特征在于,包括雙一線雷達系統(tǒng)、上層導航系統(tǒng)、底層控制算法、運動執(zhí)行系統(tǒng);所述上層導航系統(tǒng)包括slam算法、坐標變換算法;利用slam算法根據(jù)水平安裝的雷達采集的原始激光雷達數(shù)據(jù)動態(tài)構建當前空間的維地圖,同時解算出機器人平臺的位移信息;所述坐標變換算法根據(jù)slam算法所獲得的機器人位移信息對動態(tài)掃描的雷達各時刻所獲取的原始激光雷達數(shù)據(jù)進行坐標變換和疊加,從而將采集的環(huán)境信息確定出機器人周圍空間內(nèi)障礙物的三維信息;根據(jù)構建的二維地圖進行全局路徑規(guī)劃,規(guī)劃出一條當前位置與目的地之間的可行路徑;與此同時采集機器人的實時速度;如此根據(jù)采集到的速度信息、全局路徑、三維數(shù)據(jù)進行局部路徑規(guī)劃,并生產(chǎn)控制指令,從而實現(xiàn)機器人上層導航;所述底層控制算法對上層導航系統(tǒng)生成的控制指令進行解析和坐標變換,并利用pid控制對運動執(zhí)行系統(tǒng)進行控制,從而驅動機器人移動。

與現(xiàn)有系統(tǒng)技術相比,本系統(tǒng)的有益效果是:

1)本系統(tǒng)可以靈活地應用于多種室內(nèi)場景,且便于部署。

2)雙一線激光雷達配合獲取三維信息,在較小數(shù)據(jù)量的情況下獲取了足夠的環(huán)境信息,提高了數(shù)據(jù)的利用率,并降低了數(shù)據(jù)處理成本。

3)基于空間三維信息實現(xiàn)導航和避障系統(tǒng),有效提升了機器人的自主移動能力和避障效果,增加了系統(tǒng)的實用性和可靠性。

附圖說明

圖1為雙一線激光雷達結構示意圖。

圖2為雷達掃描范圍示意圖。

圖3為機器人系統(tǒng)結構示意圖。

圖4為機器人導航系統(tǒng)原理圖。

圖5為底層控制單元系統(tǒng)結構示意圖。

圖6機器人底盤運動速度與三個輪子運動速度。

具體實施方式

以下結合附圖和實施例對本發(fā)明技術方案做進一步介紹。

第一部分技術方案原理介紹:

1、利用兩部一線激光雷達和外圍控制電路構成雙一線雷達系統(tǒng),采集環(huán)境數(shù)據(jù)。如圖1所示,兩部激光雷達采用不同的安裝方式,其中一部水平固定安裝,用于獲取機器人所在空間的平面輪廓。另一部雷達在由舵機1提供動力的雷達控制器的控制下進行上下掃描,并由雷達控制器將當前雷達掃描平面與水平面的夾角信息發(fā)送至數(shù)據(jù)處理系統(tǒng)。

2、使用nvidiajetsontx1嵌入式平臺作為核心控制器搭建機器人硬件平臺。整個平臺按照功能可分為四個主要部分,分別為數(shù)據(jù)采集單元、數(shù)據(jù)處理單元、運動執(zhí)行系統(tǒng)和輔助部件。其中數(shù)據(jù)采集單元是整個系統(tǒng)的數(shù)據(jù)來源,利用針對本項目特殊設計的雙一線激光雷達系統(tǒng)采集環(huán)境信息。采集到的數(shù)據(jù)會被發(fā)送至數(shù)據(jù)處理單元,該部分是整個系統(tǒng)的核心,采用一塊nvidiajetsontx1嵌入式平臺作為機器人操作系統(tǒng)和各種上層算法運行的載體。運動執(zhí)行系統(tǒng)包括機器人的機械平臺、底層控制器以及驅動電路。此外,系統(tǒng)還包括一些輔助部件如路由器、電源等。

3、構建機器人上層導航系統(tǒng)。該導航系統(tǒng)利用slam算法(現(xiàn)有技術)根據(jù)水平安裝的雷達采集的原始激光雷達數(shù)據(jù)動態(tài)構建當前空間的二維地圖,同時根據(jù)建圖過程中的征匹配解算(由slam算法的組成部分,已屬于現(xiàn)有技術)出機器人平臺的位移信息。

導航系統(tǒng)中的坐標變換算法根據(jù)slam算法所獲得的機器人位移信息對動態(tài)掃描的雷達各時刻所獲取的原始激光雷達數(shù)據(jù)進行坐標變換和疊加,從而由采集的環(huán)境信息最終獲得機器人周圍空間內(nèi)障礙物的三維信息。

根據(jù)構建的二維地圖,利用ros導航功能包(為現(xiàn)有技術,搭建于ros機器人ubuntu操作系統(tǒng)上)進行全局路徑規(guī)劃,規(guī)劃出一條當前位置與目的地之間的可行路徑;與此同時利用里程信息處理單元采集機器人的實時速度,之后再利用ros導航功能包根據(jù)采集到的速度信息以及全局路徑坐標變換所生成的三維數(shù)據(jù)進行局部路徑規(guī)劃,并生產(chǎn)控制指,從而實現(xiàn)機器人上層導航系統(tǒng)。

4、底層控制算法對上層導航系統(tǒng)生成的控制指令進行解析和坐標變換,并利用pid控制對電機轉速進行控制,從而驅動機器人移動。底層控制單元系統(tǒng)結構如圖5所示。

第二部分進一步用實施例說明

1、雙一線激光雷達系統(tǒng)

本發(fā)明使用兩個一線激光雷達進行數(shù)據(jù)采集。兩個雷達均可在水平面內(nèi)進行360度掃描,從而在一個周期內(nèi)獲得平面內(nèi)360度范圍的障礙物距離信息。

其中一部雷達(雷達2)安裝機器人底部距離地面10cm處,雷達2掃描平面水平放置,在運行過程中可獲取所在室內(nèi)環(huán)境的基本輪廓信息,用戶后續(xù)全局地圖構建。受機器人結構限制,為保護雷達不在機器人運行過程中因受到碰撞而損壞,雷達2整體嵌入機器人內(nèi)部,并在前端留出約150度的空間用于掃描外部環(huán)境,其余角度范圍內(nèi)數(shù)據(jù)均被丟棄。經(jīng)測試,該安裝方式完全可以滿足實際數(shù)據(jù)采集需求。

另一部激光雷達(雷達1)則安裝在機器人頂部的掃描雷達控制器上。整個掃描雷達控制器由機械裝置和控制電路組成。機械裝置包括用于固定整個裝置的支架、用于安裝雷達1的底座、用于傳動的連桿和用于提供動力的舵機1,整個裝置呈四邊形結構。該采集系統(tǒng)運行時,舵機1在控制電路(即雷達控制器)的控制下進行上下運動,從而帶動雷達1繞底座轉軸對空間進行掃描。

機器人頂端雷達1的掃描范圍如圖2所示。

由于雷達1位于機器人頂端,因此其掃描范圍主要分布在機器人頂端所在的平面以下。如圖2所示,為使機器人能夠順利繞過障礙物,周圍預留一定安全距離,由幾何關系可知,雷達1在水平面以下的掃描范圍θ1可由公式(1)計算得到

其中δ為安全距離,h為機器人高度。當安全距離為20cm,機器人高度為120厘米時,由公式(1)計算可得水平面以下掃描角度約為80.54°。此外,機器人上方也預留一定的安全空間,設置水平面上方掃描范圍為10°,因此雷達1將在水平面上下共大約90°的空間內(nèi)進行掃描。

雙一線雷達系統(tǒng)包括雷達控制器和電源模塊組成,雷達控制器通過pwm對舵機1角度進行控制,雷達1在雷達控制器的控制下以一定步長在90°范圍內(nèi)進行掃描,與此同時雷達控制器會將當前雷達平面與水平面間的夾角發(fā)送至數(shù)據(jù)處理系統(tǒng)用于坐標變換。電源模塊可輸出5v和6v兩種電壓,5v為雷達控制器提供正常工作電壓,6v輸出則用于舵機1供電。

2機器人硬件平臺

本發(fā)明所采用的機器人硬件平臺如圖3所示。

其按照功能平臺可分為數(shù)據(jù)采集、數(shù)據(jù)處理、運動執(zhí)行以及輔助部件。其中數(shù)據(jù)采集部分通過上述雙一線激光雷達系統(tǒng)實現(xiàn),數(shù)據(jù)處理部分采用英偉達公司的jetsontx1嵌入式平臺,該平臺上搭載了ubuntu操作系統(tǒng)和ros機器人操作系統(tǒng),用于實現(xiàn)對激光雷達數(shù)據(jù)的處理工作和機器人自主導航算法。運動執(zhí)行部分主要由arduino控制器配合驅動電路、電機和舵機以及機器人底盤組成。機器人底盤采用三輪驅動的開源機器人平臺hcr,其動力來自于三個12v直流減速電機,每個電機獨立驅動一個輪子,通過三個輪子的不同速度組合來實現(xiàn)機器人的定向移動。從上層控制指令到電機實際速度的解算過程由運行于arduino上的控制算法完成。外圍輔助電路則包括用于電池、穩(wěn)壓模塊和路由器等部件,電源配合穩(wěn)壓模塊用于為系統(tǒng)提供相應的電源,路由器則為上位機和機器人的通信提供支持。

3、機器人導航系統(tǒng)

3.1坐標轉換算法

對空間進行掃描的雷達采集的數(shù)據(jù)是基于固定于雷達上的坐標系的距離信息,而雷達與機器人系統(tǒng)平臺間存在相對運動,因此要根據(jù)雷達數(shù)據(jù)獲取機器人坐標系下的障礙物三維信息則需要對數(shù)據(jù)進行坐標變換。

雷達采集到的原始數(shù)據(jù)在圓柱坐標系表示為(ρ,φ,z),根據(jù)公式(2)轉換為直角坐標

若以機器人系統(tǒng)平臺前進方向為x軸正方向,豎直向上為z軸正方向,機器人底盤中心為原點建立坐標系,則雷達數(shù)據(jù)在機器人坐標系下可由下式計算

其中[xyz]'是變換到直角坐標系下的雷達數(shù)據(jù),[x'y'z']'是變換到機器人坐標系下的雷達數(shù)據(jù),是由雷達控制器發(fā)回的當前雷達掃描平面與水平面間的夾角,[x0y0z0]'則是雷達在機器人坐標系下的坐標。

考慮到機器人在進行掃描時在不斷運動,因此機器人坐標系和空間坐標系間存在相對運動,為得到更準確的空間信息需要將機器人坐標系下的雷達數(shù)據(jù)進一步轉換到空間坐標系下,為此需要獲得機器人在空間坐標系下的位置。系統(tǒng)將固定安裝的激光雷達1作為獲取該位置信息的數(shù)據(jù)來源。不同于用于掃描的雷達,該雷達所采集的是同一水平面內(nèi)的環(huán)境信息。

數(shù)據(jù)處理算法,首先對該數(shù)據(jù)進行基本的坐標平移變換,將其轉換到空間坐標系下,之后采用slam算法對機器人在不同時刻采集的數(shù)據(jù)進行特征匹配,進而解算出機器人在空間中的位移信息。通過對位移信息進行累加,同時根據(jù)編碼器測得的機器人移動速度對累加結果進行修正,再根據(jù)機器人的初始位置即可獲得空間坐標系下的位置。

在獲得機器人在空間坐標系下的位置后,將機器人坐標系下的雷達數(shù)據(jù)進行平移即可得到空間坐標系下的空間信息。當機器人完成一次90°范圍內(nèi)的掃描后,將所有掃描到的點經(jīng)過上述變換后進行疊加,最終得到當前機器人附近空間的三維信息。

3.2slam算法

根據(jù)實際應用場合和性能需求,本發(fā)明采用了hectorslam算法(現(xiàn)有技術)作為構建地圖的算法。該算法采用了占據(jù)柵格地圖(occupancygirdmap)作為地圖信息的模型,利用基于雙線性插值和高斯牛頓法的特征匹配方法計算各數(shù)據(jù)點間的位置關系,從而構建出二維環(huán)境地圖并得到機器人位移信息。

3.3上層導航系統(tǒng)

機器人的導航可分為三個過程:環(huán)境建模、路徑規(guī)劃以及機器人控制。環(huán)境建模過程包括前文所述的坐標變換和地圖構建,該過程最終生成了所需的二維環(huán)境地圖和包含障礙物信息的三維點云。路徑規(guī)劃是整個系統(tǒng)的決策部分,該過程根據(jù)環(huán)境地圖和障礙物信息以及機器人的運動狀態(tài)進行多層次的路徑規(guī)劃和運動仿真,從而生成當前狀態(tài)下最合理的期望運動狀態(tài),并將其封裝成控制指令發(fā)送至底層控制器。機器人控制則以底層控制算法為核心,根據(jù)控制指令實際驅動機器人平臺進行移動。完整的機器人導航系統(tǒng)如圖4所示。

3.4底層控制算法

底層控制算法基于arduino平臺進行開發(fā),其主要包括指令解析、坐標變換、pid控制以及數(shù)據(jù)轉換等幾部分。底層控制算法結構圖5所示。

底層控制算法通過串口接收到上層導航系統(tǒng)產(chǎn)生的控制指令后首先對其進行解析。該控制指令中包含機器人的期望移動速度和旋轉角速度。本設計所采用的是三輪驅動的機械平臺,而控制指令所提供的是整個機器人平臺的速度,因此需要將機器人的期望速度轉換為三個輪子的期望速度。

以機器人底盤中心為原點,機器人前進方向為x軸正方向,豎直向上為z軸正方向建立坐標系,設機器人在x軸和y軸方向上的期望速度及繞z軸的轉速構成的向量為[vxvyω]t,而三個輪子的速度所構成的向量為[v1v2v3]t。設二者之間存在變換關系

上式可改寫為

式中[vxvyω]t的值由控制指令給定,因此只需確定參數(shù)矩陣即可解得三個輪子的速度向量。

機器人底盤運動速度與三個輪子運動速度如圖6所示.

根據(jù)上圖,利用動力學原理可分別求得參數(shù)矩陣中各值。本設計中最終求得的參數(shù)矩陣(根據(jù)實際情況修正后)的參數(shù)矩陣為將其帶入式中即可得三個輪子速度與機器人移動速度間的關系。在得到三個輪子的的期望速度后,底層控制單元將利用pid算法對三個輪子分別進行控制,最終實現(xiàn)對機器人的運動控制。

底層控制單元除了實現(xiàn)對底盤電機的控制之外還實現(xiàn)了編碼器數(shù)據(jù)的采集和轉換。本發(fā)明中所采用的電機的編碼器為ab相輸出,兩相之間相位相差90度,通過對任何一相的上升沿進行計數(shù)即可得到電機當前速度,而通過檢測兩相之間的相位差即可判斷電機的轉動方向。本發(fā)明中通過底層控制器的gpio中斷來對編碼器a相脈沖進行計數(shù),而a相和b相之間的相位差則通過判斷a相上升沿到來時b相的電平高低來確定。若a相上升沿到來時b相為低電平則電機正轉,否則電機則為反轉。

在通過編碼器獲得電機轉速和方向之后,需要將三個電機的轉速轉換為機器人的速度,該轉換過程與從機器人期望速度到電機期望轉速的轉換過程相反。在完成轉換后底層控制單元將利用ros的通信機制將其發(fā)布在/velocity話題上,而上層的算法則通過訂閱該話題來獲取機器人實時的速度信息。

本發(fā)明的創(chuàng)新點

1)發(fā)明了一種新的基于激光雷達定位技術的機器人自主導航系統(tǒng),通過兩部一線激光雷達的相互配合實現(xiàn)了相比于傳統(tǒng)方案更加穩(wěn)定可靠的室內(nèi)機器人自主導航功能。

2)利用機械裝置和嵌入式控制器實現(xiàn)了雙雷達協(xié)同工作。

3)本發(fā)明具有較高的可移植性,并能夠靈活應用于多種不同的室內(nèi)場景。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
集贤县| 亚东县| 吉木乃县| 汉阴县| 巩义市| 多伦县| 汕尾市| 清苑县| 夹江县| 达尔| 徐州市| 延长县| 文登市| 博爱县| 广汉市| 济宁市| 东至县| 遵义市| 东方市| 江山市| 宁津县| 个旧市| 西藏| 盐津县| 鄂托克前旗| 吉木萨尔县| 娱乐| 宁都县| 浦县| 孟州市| 石渠县| 临汾市| 嵊州市| 上思县| 东兴市| 翁牛特旗| 页游| 通化县| 上饶市| 大安市| 雷波县|