


摘 要:本文以YDLIDAR X4激光雷達為研究對象,介紹了YDLIDAR X4激光雷達在ROS系統當中建立掃描點陣地圖的方法。包括了YDLIDAR X4激光雷達與ROS系統之間的通信方式,YDLIDAR X4激光雷達的工作參數。在ROS系統中安裝與啟動YDLIDAR X4激光雷達、以及通過rviz進行雷達數據可視化顯示,形成地圖建立。
關鍵詞:ROS;激光雷達;通信;地圖建立
YDLIDAR X4激光雷達是深圳越登智能科技有限公司(YDLIDAR,這家公司屬于EAI)研發的一款 360 度二維測距產品。下文簡稱X4,該產品三角測距原理,并配以相關光學、電學、算法設計,實現高 頻高精度的距離測量,在測距的同時,機械結構 360 度旋轉,不斷獲取角度信息,從而實現 了 360 度掃描測距,輸出掃描環境的點云數據。
X4 對外提供了 PH2.0-8P 母座接口,該接口有系統供電、數據通信和電機控制的功能接口。 圖為X4的具體引腳分布。X4 的供電電壓默認為5V直流。X4與外部設備通訊采用 3.3V 電平的串口通信,用戶可通過產品上的物理接口,連接外部系統和X4,并按照系統的通信協議進行通訊來實時獲取掃描的點云數據、設備信息、設備狀態,并可設置設備工作模式等。圖1位X4硬件接口引腳分布[1]。
X4同時具備了控制雷達掃描速度的功能,X4自帶電機調速功能的電機驅動器,外設可通過接口中的 M_EN 和 M_SCTR 兩個管腳輸入 控制信號來對 X4 的電機進行控制。M_EN 為電機的使能信號,高電平使能;M_SCTR 為電 機速度控制信號,可電壓調速。
ROS系統是起源于2007年斯坦福大學人工智能實驗室的項目與機器人技術公司Willow Garage的個人機器人項目(Personal Robots Program)之間的合作,2008年之后就由Willow Garage來進行推動。ROS系統是用于機器人的一種后操作系統,或者說次級操作系統。它提供類似操作系統所提供的功能,包含硬件抽象描述、底層驅動程序管理、共用功能的執行、程序間的消息傳遞、程序發行包管理,它也提供一些工具程序和庫用于獲取、建立、編寫和運行多機整合的程序。
ROS系統與X4的連接需要幾個步驟。第一個是在控制端安裝好X4的串口驅動。驅動安裝包可以在YDLIDAR X4激光雷達產品官網上下載到。X4在購買時配套了一個USB轉接版,在串口驅動安裝好后,接通X4激光雷達,會生成對應串口功能。
第二是要從github下載x4的ROS驅動源碼。驅動源碼應該下載到ROS工作空間下src目錄中,可在src目錄下打開終端,輸入如下載命令。也可以在終端輸入cd~/catkin_ws/src指令打開ROS工作空間:git clone https://github.com/EAIBOT/ydlidar.git。下載完源碼后,接下來就可以在ROS系統的工作空間根目錄下執行catkin_make來編譯該源碼軟件包。
第三啟動雷達有兩個launch文件,一個lidar.launch是直接執行啟動雷達進行掃描測距,另外一個是lidar_view.launch不僅可以啟動雷達,還可以順帶啟動rviz來將雷達數據可視化顯示。第一種啟動方式是使用lidar.launch來直接啟動雷達,啟動命令如下:roslaunch ydlidar lidar.launch。第二種啟動方法是使用lidar_view.launch來啟動雷達并同時在ROS系統中打開了rviz,進行雷達數據點陣的顯示:roslaunch ydlidar lidar_view.launch。兩種方法都使用了roslaunch自動啟動ROS節點的命令工具[2]。
完成以上三步,就可以在ROS系統中的rviz中顯示出X4掃描采集到的數據點陣圖。rviz表示ROS visualization,用于機器人傳感器和算法三維可視化系統。X4 在掃描過程中將以順時針方向轉動記錄距離測量數據。X4在rviz中顯示是以坐標系形式顯示,工作過程中rviz中將存在基座標與用戶坐標,其中用戶坐標系的原點就是X4所在地圖位置。為了準確顯示X4相對方向,X4給出了坐標軸參考方向如下圖。Z軸垂直與XY面向上。
本文介紹了一款激光雷達YDLIDAR X4在ROS操作系統當中建立地圖的方式。該操作方式簡單。能夠快速啟動X4在rviz中顯示出掃描地圖。為機器人后續自動規劃路徑提供了幫助。
參考文獻:
[1]YDLIDAR XA數據使用手冊
[2]Morgan Quigley.ROS機器人編程實踐[M].北京:機械工業出版社
作者簡介:
秦禹 (1990-),男,漢族,福建南平人(籍貫),碩士(學歷),講師(職稱),研究方向:機械工程.