分類
發燒車訊

Autoware 標定工具 Calibration Tool Kit 聯合標定 Robosense-16 和 ZED 相機!

一、安裝 Autoware & ZED 內參標定 & 外參標定準備

之前的這篇文章:Autoware 進行 Robosense-16 線雷達與 ZED 雙目相機聯合標定! 記錄了我用 Autoware 標定相機和雷達的過程,雖然用的不是 Calibration Tool Kit 工具,但是博客裏面的以下章節也適用本次的 Calibration Tool Kit :

  • 一、編譯安裝 Autoware-1.10.0
  • 二、標定 ZED 相機內參
  • 3.1 聯合標定準備

如果你是第一次看這篇 Calibration Tool Kit 聯合標定的博客,建議先按照之前的博客安裝 Autoware、標定 ZED 內參和做好外參標定的準備(標定板,錄製標定包等),最好用上篇博客的方法標定一次。

這篇博客我就直接開始介紹使用 Calibration Tool Kit 標定雷達和相機外參的過程!

二、Calibration Tool Kit 聯合標定雷達和 ZED 相機

2.1 啟動 Autoware

先啟動 Autoware-1.10.0,啟動過程中可能需要輸入 root 密碼:

# 1. 進入 autoware 的 ros 目錄下
cd autoware-1.10.0/ros

# 2. source 環境,zsh 或 bash
source devel/setup.zsh[.bash]

# 3. 啟動主界面
./run

切換到 Sensing 選項卡:

2.2 回放雷達相機 Bag

這裏回放時需要更改雷達的話題為 /points_raw,因為這個工具訂閱的雷達主題是固定的:

rosbag play --pause xxx.bag /rslidar_points:=/points_raw

我用的 Robosense 雷達,發布的話題是 rslidar_points,這個回放默認暫停,防止跑掉數據,按空格繼續或暫停。

2.3 啟動 Calibration Tool Kit

點擊 Calibration Tool Kit 啟動標定工具:

選擇圖像輸入話題,我只用的 ZED 的左圖像話題,如果沒有相機話題,確保前面你已經回放了 bag,選擇好了點擊 OK 確定:

選擇標定類型為相機到 velodyne 雷達的標定(對 Robosense 雷達也適用,只不過需要更改點雲的發布話題),點擊 OK 確定:

進入標定主界面 MainWindow:

配置標定板棋盤格參數:

  • Pattern Size(m):標定板中每個格子的邊長,單位 m,我的標定板每個格子長 0.025 m
  • Pattern Number:標定板長X寬的單元格數量 – 1,我的標定板是長有 12 個格子,寬有 9 個,所以填 11×8,減一是因為標定檢測的是內部角點

設置好了后,重啟 Calibration Tool Kit,點擊左上角 Load 導入第一步標定的相機內參 YAML 文件,但是這個工具只能導入 YML 格式的文件:

因此需要把前面的內參標定文件拷貝一份,修改格式為 yml 即可,YAML 和 YML 其實是一樣的:

修改好了之後,再點擊 Load 加載 yml 格式的內參文件即可:

選擇不加載相機和雷達的標定數據,因為我是直接回放 Bag 標定:

到這裏都設置好了,下面開始外參標定過程!

2.4 標定過程

打開回放 bag 終端,按空格繼續回放數據,主界面會显示相機圖像:

但是右邊的點雲窗口沒有显示數據,需要我們調整視角才可以,視角的調整方法如下(文末有個 pdf 專門介紹):

簡單解釋下,建議直接操作,很容易:

  • 移動點雲:上下左右方向鍵、PgUp、PgDn
  • 旋轉點雲:a、d、w、s、q、e
  • 切換模式:数字 1 和数字 2
  • 視角縮放:減號縮小、加號放大
  • 點雲大小:o 鍵使用小點雲、p 使用大點雲
  • 改變點雲窗口背景顏色:b

我使用的使用直接按数字 2 切換模式就能看到點雲了,其實這些模式我也不是很懂。。。:

如果需要更換背景,按 b 鍵改變為大致灰色即可:

我這裏就不改背景了,黑色也挺好看出點雲的,然後使用上面的視角操作方法,把點雲中的標定板放大到中心位置:

之後點擊右上角的 Grab 捕獲當前幀的圖像和點雲,使用 -+ 縮放視角:

如果你點擊 grab 沒反應很正常,可能是棋盤格離得太遠或者模糊了,你多試幾個位置應該就能捕獲到,我回放一個 Bag 也就捕獲了 9 張左右。

然後把鼠標放到右下角捕獲的點雲窗口,選擇一個棋盤格的中心位置區域,關於這個區域的選擇,我是參考這個標定工具的文檔例子(文末有鏈接)選擇的,大概就是標定板的中心位置選擇一個圓形的區域,盡量保證向外側的平面法向量垂直於標定板平面:

鼠標左鍵點擊選擇,右鍵點擊取消,我的選擇如下,可以參考:

然後重複以上步驟,不斷回放暫停,Grab 捕獲單幀圖像和點雲(多選一些),選擇點雲區域,直到回放結束,接着就可以點擊右上角的「Calibrate」按鈕計算外參矩陣(左上角显示),然後再點擊「Project」查看標定效果:

切換左下方的單幀圖片和點雲窗口,捕獲的每一幀圖像和點雲都可以看到對齊效果,另外左邊也能看到標定的誤差,當然是越小越好,我目前的標定效果一般般,後續打算再標幾次。

標定好之後,點擊左上角「save」保存外參矩陣即可,文件名建議帶上時間戳方便識別:

最後的外參數文件如下,這個文件包含了相機內參和相機到雷達的外參:

以上就是我的雷達相機聯合標定過程!希望能幫助正在標定雷達和相機的同學 ^_^!

三、標定結果測試

可以直接用之前博客 Autoware 進行 Robosense-16 線雷達與 ZED 雙目相機聯合標定! 中的「四、標定結果測試」一節介紹的步驟來測試融合效果:

前幾天我把 ROS 的點雲和圖像的融合節點也調試好了,所以直接在程序裏面加載了外參矩陣,然後做了個初步的融合,效果如下:

我也錄了個融合視頻,可以看看:B 站:Robosense-16 雷達與 ZED 相機數據融合。

五、標定資源

以下是我標定過程中收集的一些好的資料,這裏也分享給大家:

  • 標定工具的使用文檔在這裏:CalibrationToolkit_Manual.pdf
  • 這裏還有個視頻,有條件的同學可以看看:Yutobe:Autoware 標定相機和雷達

另外 ROS 融合節點的程序我還在完善中,建議關注我的 Github 項目,後續會上傳節點代碼:AI-Notes: lidar_camera_fusion,如果標定遇到問題,可以公眾號後台給我發消息,或者直接在博客平台留言,我看到會儘快回復的,不過公眾號應該回復的快些,哈哈 :)

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!