ROS 雷射雷達測距原理及主要引數

2021-10-01 22:03:41 字數 1729 閱讀 3774

一.雷射的主要引數

雷射雷達的主要引數包括測距範圍、掃瞄頻率、角解析度、精度等幾方面。

1.掃瞄頻率

掃瞄頻率表示一秒內雷達進行多少次掃瞄。掃瞄頻率越大,裝置對外界環境的感知的速度越快,系統實時性可以更高。

2.角解析度

角解析度表示兩個相鄰測距點的角度步進。角解析度大小決定了一次掃瞄能返回的樣本點數以及該雷射雷達所能檢測的最小障礙物大小。

如下圖所示:角解析度為a,障礙物距離為h,則該距離可以檢測的障礙物最小寬度為len = 2*tan(a/2)h

若使用角解析度為1°的雷達,1公尺距離可以檢測的最小物體寬度為len = 2tan(1/2)*1 = 0.0175m

在這裡插入描述

3.精度

精度表示雷達可以感知的距離最小變化值。

4.可視範圍

可視範圍包括距離、角度測量範圍,在可視範圍之外即為盲區。

距離測量範圍,即能有效檢測的最近和最遠距離;

角度測量範圍:即有效掃瞄角度,在該角度範圍內物體可檢測到,如180°、270°

二.雷射雷達常見測距原理

1.三角測距

其原理是:雷射訊號以一定的入射角照射到被測物體表面後產生反射,反射光斑經過光學透鏡成像在ccd感測器上。當被測物體沿雷射方向發生移動時,ccd上的光斑產生移動,可由光斑移動距離計算出被測物體與基線的距離值。由入射光、反射光構成乙個三角形,基於三角關係,可結算出目標物體與雷達的距離值、相對方位角度值。

在這裡插入描述

tof測距

雷射器發射乙個雷射脈衝,並由計時器記錄下發出的時間,回返光由接收器接收並距離下時間,兩個時間相減,得到「飛行時間」,再由光速計算出距離。

在這裡插入描述

從原理上來講,三角雷達在近距離下精度可以很高,但隨著測量的物體越遠,在ccd上的位置差別越小,角度差異越來越小,故三角雷達在標註精度時常採用百分比的標註法(如精度1%),當測量值超過某一距離後,ccd幾乎無法分辨,因此不適合遠距離測量。tof採用脈衝雷射取樣,依賴飛行時間,時間精度並不會隨著長度增加而變化,同時tof能嚴格控制視場以減少環境光的影響。相比三角測距法,tof雷達可以測量的距離更遠,並且可以在長距離範圍內保持較高精度。

三. ros 中雷射資料的訊息型別

在ros中雷射雷達的topic一般為/scan,其資料型別為laserscan。

laserscan訊息結構如下:

std_msgs/header header

uint32 seq //掃瞄順序增加的id

time stamp //時間戳

string frame_id //掃瞄的參考係名稱,逆時針從正前方開始

float32 angle_min //開始掃瞄角度(rad)

float32 angle_max //結束掃瞄角度(rad)

float32 angle_increment //每一次掃瞄增加的角度(rad)

float32 time_increment //測量時間間隔(s)

float32 scan_time //掃瞄時間間隔(s)

float32 range_min //距離最大值(m)

float32 range_max //距離最小值(m)

float32 ranges //距離資料

float32 intensities //強度資料

ROS中使用雷射雷達 EAI F4

雷射雷達 eai f4 eai f4是低成本的二維雷達解決方案,由eai公司開發。它能掃瞄360 8公尺半徑的範圍。它適合用於構建地圖,slam,和建立3d模型。固定雷達 f4是順時針方向旋轉 測距部分在前,有線部分在尾,前面有個小三角標識前方。建立工作空間 也可以利用現有的 編譯包,可以檢視驅動文...

ROS 編寫節點訂閱雷射雷達scan話題

編寫雷射雷達訂閱節點 接上節的gazebo雷射雷達外掛程式,編寫節點訂閱 scan話題,方便後期資料處理,節點 如下,主要是標頭檔案和訊息型別引數定義 include ros ros.h include include include hao qi void lasercallback const ...

python寫的ROS雷射雷達扇形濾波

專案中想要實現針對機械人正前方n 的區域有障礙時,對機械人進行速度限制,於是自己做了乙個雷射雷達的扇形濾波。思路就是獲取 scan話題,將話題資料中的最大和最小角度設定為自己想要的扇區,需要注意的是,laserscan一般預設的座標系與機械人方向相反,a1雷達的背面是laser座標系的正方向 0 角...