《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 低成本小型激光雷達開源驅動構建
低成本小型激光雷達開源驅動構建
2016年微型機與應用第16期
劉德志,孫作雷,曾連蓀
上海海事大學 信息工程學院, 上海 201306
摘要: 構建了小型2D激光掃描儀驅動解決方案。以RPLIDAR為例,基于低成本硬件及其合理的通信規約設計,提升數據獲取的可靠性。基于CMake交叉編譯鏈使硬件驅動具有跨平臺特性。同時,通過增加launch文件,使其支持ROS (Robot Operating System)。并分別在Windows和ROS系統下完成測試。相應的代碼已在Github上開源,可免費用于移動機器人的導航、構圖與3D重建、同步定位與地圖構建(SLAM)等科研。
Abstract:
Key words :

  劉德志,孫作雷,曾連蓀
  (上海海事大學 信息工程學院, 上海 201306)

       摘要:構建了小型2D激光掃描儀驅動解決方案。以RPLIDAR為例,基于低成本硬件及其合理的通信規約設計,提升數據獲取的可靠性。基于CMake交叉編譯鏈使硬件驅動具有跨平臺特性。同時,通過增加launch文件,使其支持ROS (Robot Operating System)。并分別在Windows和ROS系統下完成測試。相應的代碼已在Github上開源,可免費用于移動機器人的導航、構圖與3D重建、同步定位與地圖構建(SLAM)等科研。
  關鍵詞:驅動;激光雷達;跨平臺;開源  

0引言
  隨著工業、軍事及民用領域對自動化和人工智能技術需求的日益增長,與移動機器人相關的理論及應用已成為研究熱點。對于移動機器人而言,最常見的任務之一是在環境中繪制地圖并進行導航,而2D激光掃描儀是室內外機器人最常用的傳感器。目前,市場上已有一些廣泛應用于科研的2D激光掃描儀,并在越來越多的論著中被提及。例如德國的SICK系列、日本的Hokuyo系列等。
  但是,結合國內外使用現狀,這些激光雷達具有如下弊端:(1)體積較大,在小型的機器人移動平臺上不適合安裝。(2) 售價較高,且多為國外產品,小型科研組難以承擔較為高昂的硬件設備預算,同時也很難廣泛用于民用領域。對于低成本小型激光雷達,2008年KONOLIGE K等人已經提出低成本激光雷達硬件設計思路[1],但直到2013年,一些公司才做出了相應的產品,價格僅為上述產品的十分之一。本文基于KONOLIGE K等人的設計思路及目前市場上現有雷達的通信規約,設計了可靠、高效的激光雷達驅動。該驅動具有以下特點:(1)跨平臺性,可在Windows、Ubuntu環境下使用;(2)使用簡單,研究者僅需簡單設置即可加入自己的工程;(3)開源,可免費用于科研。
1低成本激光雷達原理
  所有的單點掃描設備,例如SICK和Hokuyo設備,采用激光時間飛行原理(Time of Flight),即通過測量激光發射和反射的時間來計算距離目標點的距離。而本方案采用激光三角測距技術,所用的紅外線傳感器與激光時間飛行原理所用的激光掃描器不同,所以極大地節省了成本。
  1.1硬件結構
  低成本激光雷達主要由激光測距核心、掃描電機、傳動和USB適配器三部分組成。測距核心是激光雷達最重要的組成部分。在分別給子系統供電后,測距核心在掃描電機的帶動下將開始順時針360°旋轉掃描并獲得掃描測距數據。
  1.2測距機理
  激光三角測距技術通過反射光線的角度來測量距離。圖1展現了三角測距的幾何圖。紅外線發射器發射一個紅外線,經物體反射回來并投影到接收器上。一個理想的接收器是調整好的,這樣紅外線光束與某些射線是平行的。

圖像 001.png

  利用相似三角形的原理,垂直距離是:
    QQ圖片20160912192358.png

  激光束的距離也取決于激光相對于圖像軸的角度:
  QQ圖片20160912192409.png

  1.3數據幀格式
  當激光雷達工作時,可進行每秒高達2 000次的測量動作。每個采樣點經過內部DSP處理器實時解算,得出被照射到的目標物體與激光雷達的距離值以及當前的夾角信息,并以表1的數據幀結構通過USB適配器輸出。

圖像 006.png

2驅動設計
  基于目前市場上現有的低成本小型激光雷達RPLIDAR硬件及其通信規約,設計并完善了驅動。(1)合理規劃激光雷達的驅動流程,既保證讀取數據的高效,又增加異常處理保護硬件的安全。(2)編寫Makefile文件,采用交叉編譯[2],生成的驅動可以跨平臺使用,可供研究者在Windows、Linux、MacOS系統下使用。(3)設計存儲格式,使用二進制格式保存數據文件,將測量數據記錄下來用于未來的分析、處理、開發和算法驗證。(4)支持Robot Operating System(ROS),為使用低成本激光雷達研究機器人的導航與定位、環境掃描與3D重建、同步定位與地圖構建(SLAM)等領域提供了極大的方便。
  2.1驅動模塊設計
  本驅動的設計使用C++語言,基于模塊化思想,可分為激光雷達健康狀況檢測、通信錯誤處理、掃描準備、掃描數據獲取等模塊[3]。獲取激光雷達掃描測量數據的整個流程見圖2。

圖像 002.png

  準備掃描模塊:啟動一個后臺工作線程,異步地接受來自激光雷達的掃描測距數據序列,并保存在內部的緩存當中。
  獲取掃描數據模塊:抓取被激光雷達驅動事先接收并緩存的測距數據序列。該模塊將始終返回一個最新的完整的360°的掃描測距序列。每次調用后,保存掃描數據序列的內部緩存將會清空,以確保每次獲得不重復的數據[4]。
  2.2輸出數據格式
  把激光雷達的測量數據保存為后綴名為.dat二進制文件,供后期研究分析[5]。激光雷達的工作頻率為6 Hz,每掃描一圈有360個測量點,稱為一條記錄。為了方便管理和后期的研究,在每條記錄前加上時間戳。記錄的數據結構見表2。

圖像 007.png

3實驗驗證
  本驅動默認采樣靜態庫方式組織,使用者只要簡單設置就可以整合到自身項目中:引用驅動庫的外部頭文件(位于sdk/inlcude文件夾);在鏈接階段,引用編譯好的靜態庫(rplidar_driver.a)即可。以低成本小型激光雷達的代表性產品rplidar為例,使用該驅動在多種操作系統下測試結果如下。
  3.1Windows環境中單幀掃描
  編寫顯示界面程序,把本驅動庫整合到此程序中。此程序的功能是實時采集雷達掃描數據,并在GUI界面上將0~360°環境下測距信息以平面圖的方式顯示出來[6]。在走廊中測試得到靜態數據如圖3所示。圖中圓心為RPLIDAR的位置,點集為障礙物。

圖像 003.png

  3.2ROS中單幀掃描
  ROS是專為機器人軟件開發所設計的一套開源的電腦操作系統構架,它提供了一系列的開源程序庫和工具以幫助研究者迅速創建機器人應用軟件。
  在本驅動庫的基礎上,增加幾個ROS特有的文件并作相關設置即可使用。此部分代碼已在Github上開源。在ROS的RViz工具中實現的靜態掃描圖如圖4所示。

圖像 004.png

  3.3實現構建地圖
  在ROS中可以很方便地使用本驅動,然后調用開源的Hectorslam包來構建地圖。移動機器人正在構建地圖如圖5所示。本實驗已經做成視頻上傳到網絡并開源。


圖像 005.png

4結論

  基于激光雷達硬件及其通信規約,構建了靈活、高效、開源的驅動。簡單介紹了低成本小型激光雷達的測距原理,重點闡述了驅動的設計和實現細節。在兩種環境下的測試和利用本驅動實現mapping證明了該驅動的易用性及可靠性。未來本驅動將用于機器人的定位與導航、同步定位與地圖構建的算法驗證工作。
  參考文獻
  [1] KONOLIGE K, AUGENBRAUN J, DONALDSON N. A lowcost laser distance sensor[C]. ICRA,2008:30023008.
 ?。?] 聶和平. 基于ARM9的嵌入式Linux系統移植與驅動開發[D].南京:南京郵電大學,2013.
 ?。?] 李進,王太宏,張恩迪. 嵌入式linux中nRF24l01驅動的設計與實現[J]. 計算機系統應用, 2011,20(9):226229,237
  [4] OKUBO Y, YE C, BORENSTEIN J. Characterization of the Hokuyo URG04LX laser rangefinder for mobile robot obstacle negotiation[C]. International Society for Optics and Photonics, 2009:73321273321210.
 ?。?] 張雪晶,孫作雷,曾連蓀,等. 基于聯合相容分支定界的關聯算法研究[J]. 微型機與應用, 2015,34(15):8284,88.
 ?。?] CIVERA J, DAVISON A J, MONTIEL J. Inverse depth parametrization for monocular SLAM[J]. IEEE Transactions on Robotics, 2008, 24(5): 932945.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲伊人色欲综合网| 久久精品视频在线| 欧美在线啊v| 一区二区三区黄色| 亚洲乱码精品一二三四区日韩在线| 国产一区二区成人| 国产精品色婷婷久久58| 欧美日韩三级视频| 欧美母乳在线| 欧美精品久久天天躁| 麻豆91精品| 久色成人在线| 久久影院午夜论| 久久久久久国产精品mv| 欧美一区二区三区成人| 亚欧美中日韩视频| 午夜精品影院| 欧美在线播放视频| 久久精品国产第一区二区三区最新章节 | 农村妇女精品| 欧美大片专区| 欧美区高清在线| 欧美午夜精品久久久久久超碰| 欧美色视频日本高清在线观看| 欧美午夜激情在线| 国产精品国产a| 国产欧美综合一区二区三区| 国产亚洲综合在线| 在线欧美福利| 亚洲精品久久久久久久久| 一区二区三区国产精华| 亚洲综合不卡| 亚洲丁香婷深爱综合| 亚洲精品一区二区三区99| 好吊妞这里只有精品| 欧美日韩一区二区免费在线观看| 欧美成人精品一区| 欧美日韩一区三区| 国产精品视屏| 狠狠爱www人成狠狠爱综合网| 亚洲夫妻自拍| 日韩视频中文字幕| 亚洲自拍偷拍福利| 亚洲福利在线看| 一区二区三区国产盗摄| 午夜欧美精品| 久久综合久久美利坚合众国| 欧美裸体一区二区三区| 国产精品制服诱惑| 亚洲第一页中文字幕| 99国产一区| 欧美有码在线观看视频| 亚洲精品少妇| 亚洲综合日本| 免费不卡在线观看av| 国产精品盗摄久久久| 狠狠网亚洲精品| 日韩视频中文| 久久aⅴ国产紧身牛仔裤| 9色国产精品| 久久久久久久久综合| 欧美片网站免费| 国产尤物精品| 一区二区三区久久网| 亚洲电影有码| 亚洲欧美中文日韩在线| 欧美电影在线免费观看网站| 国产精品视频免费一区| 亚洲激情女人| 欧美一区二区视频免费观看| 夜夜狂射影院欧美极品| 久久精品视频一| 欧美三区在线| 一区二区在线视频| 亚洲伊人网站| 一区二区日韩欧美| 可以看av的网站久久看| 国产精品视频男人的天堂| 最新国产成人在线观看| 欧美一级二区| 亚洲图片欧美午夜| 欧美大片91| 国产综合香蕉五月婷在线| 一区二区三区www| 亚洲精品免费网站| 久久久免费精品| 国产精品网曝门| 一本大道久久a久久综合婷婷| 91久久午夜| 久久久一区二区三区| 国产精品入口麻豆原神| 亚洲精品网址在线观看| 亚洲国产日韩在线一区模特| 欧美亚洲色图校园春色| 欧美午夜电影在线| 亚洲精品久久久一区二区三区| 亚洲国产精品一区在线观看不卡| 欧美一区国产二区| 欧美日韩一区国产| 亚洲三级色网| 亚洲精品在线一区二区| 久久亚洲二区| 国产最新精品精品你懂的| 亚洲免费在线观看视频| 亚洲欧美精品一区| 欧美三级黄美女| 日韩视频精品在线观看| 亚洲美女电影在线| 欧美粗暴jizz性欧美20| 在线电影一区| 亚洲国产日韩在线| 免费欧美视频| 亚洲国产二区| 亚洲精选国产| 欧美国产精品劲爆| 亚洲国产色一区| 日韩一级在线观看| 欧美黑人在线播放| 亚洲三级免费| 宅男噜噜噜66一区二区66| 欧美日韩国产小视频| 亚洲精品在线观看免费| 夜夜嗨av一区二区三区免费区| 欧美另类变人与禽xxxxx| 亚洲精品极品| 亚洲少妇自拍| 国产精品欧美经典| 亚欧成人精品| 久久久噜噜噜| 亚洲国产欧美久久| 中文在线资源观看网站视频免费不卡 | 国产精品99久久久久久人| 欧美三区在线观看| 亚洲香蕉伊综合在人在线视看| 亚洲男人的天堂在线观看| 国产精品欧美经典| 午夜精品久久久久久久久| 久久久精品网| 亚洲国产成人久久综合一区| 一本大道久久精品懂色aⅴ| 欧美日韩在线亚洲一区蜜芽| 亚洲视频你懂的| 久久国产精品99国产| 在线观看91精品国产麻豆| 日韩亚洲欧美一区| 国产精品高潮视频| 欧美一级专区免费大片| 老司机精品视频网站| 亚洲精品国产精品乱码不99| 亚洲一区免费看| 国产亚洲精品美女| 亚洲三级网站| 国产精品久久77777| 欧美在线999| 欧美激情综合网| 亚洲综合视频1区| 毛片av中文字幕一区二区| 日韩视频一区| 久久精品成人一区二区三区| 在线看国产日韩| 亚洲——在线| 韩国视频理论视频久久| 99精品国产热久久91蜜凸| 国产精品美女诱惑| 亚洲福利视频专区| 欧美性猛交xxxx乱大交蜜桃| 久久精品理论片| 欧美日韩专区| 久久精品日韩一区二区三区| 欧美区日韩区| 欧美伊久线香蕉线新在线| 欧美精品99| 欧美一级大片在线免费观看| 欧美伦理在线观看| 欧美一区二区三区四区在线| 欧美日韩1234| 欧美一二三区精品| 欧美日韩视频专区在线播放| 欧美一区二区三区在线看| 欧美日韩国产bt| 欧美在线不卡| 国产精品第三页| 亚洲人成在线观看网站高清| 国产精品视频一二三| 久久都是精品| 欧美在线免费观看亚洲| 在线看欧美视频| 亚洲欧美日韩一区二区| 激情小说另类小说亚洲欧美 | 国模大胆一区二区三区| 99日韩精品| 黑丝一区二区| 午夜精品一区二区三区在线视| 久久久综合精品| 亚洲一区二区在线看| 国产一区二区毛片| 一区二区av| 一区久久精品| 欧美亚洲视频| 99综合电影在线视频|