中文字幕在线免费看线人,精品99re在线视频播放,亚洲国产精品无码久久久高潮,一区二区三区www不卡网站,国产A√无码专区亚洲AV毛片
主页
产品
应用案例
新闻动态
购买渠道
下载与支持
关于我们
生态合作
联系我们
主页
产品
新闻动态
购买渠道
下载与支持
关于我们
加入我们
联系我们
  • 中文|
  • Eng
  • ROS与RPLIDAR结合使用说明及问题汇总

     

    隨著科學(xué)技術(shù)的不斷發(fā)展,服務(wù)機器人等諸多智能產(chǎn)品逐漸進入人們的視線,不管是家庭中常見的掃地機器人、還是商場里的導(dǎo)購機器人,要讓他們智能化的完成任務(wù),智能移動與導(dǎo)航是不可或缺的關(guān)鍵技術(shù)。

    ROS作為機器人軟件平臺,能為異質(zhì)計算機集群提供類似操作系統(tǒng)的功能,在研究機器人行走等方面起著重要的作用。Llidar作為機器人定位導(dǎo)航的核心傳感器,在機器人自主行走、定位導(dǎo)航方面扮演著重要角色。兩者的結(jié)合使用,使得機器人自主定位導(dǎo)航效果更佳。

    1、RPLIDAR 產(chǎn)品簡介

    RPLIDAR是思嵐科技自主研發(fā)的激光雷達,目前有RPLIDAR A1/A2/A3/RPLIDAR S1及SLAMTEC Mapper五款成熟的商業(yè)激光雷達產(chǎn)品。五款產(chǎn)品均可從官網(wǎng)獲取相應(yīng)的SDK和開發(fā)指導(dǎo)文檔。其中SLAMTEC Mapper是思嵐科技近日推出的全新激光雷達品類,內(nèi)置實時建圖及定位功能,其中包含了思嵐第三代高性能SLAM引擎和激光雷達,無需任何外部依賴,上電即用。適用于機器人導(dǎo)航定位、環(huán)境測繪、手持測量等多個領(lǐng)域。

     RPLIDAR 產(chǎn)品簡介

    針對RPLIDAR,官網(wǎng)提供SDK下載,并且包含相應(yīng)的frame_grabe可視化測試界面。具體操作流程如下:

     針對RPLIDAR,官網(wǎng)提供SDK下載,并且包含相應(yīng)的frame_grabe可視化測試界面。具體操作流程如下

    (1)設(shè)備管理器找到對應(yīng)串口;

    (2)打開frame_grabe,選擇對應(yīng)端口查看;

     

    (3)frame_grabber界面;

     

    詳細資料請參閱官網(wǎng)(http://m.khfw.net/cn/Support),包括:

    簡介與規(guī)格書(Datasheet)、開發(fā)套裝使用手冊、通訊接口協(xié)議與應(yīng)用手冊、SDK 用戶手冊。

    2、RPLIDAR的ROS package rplidar_ros 介紹

    rplidar_ros是國內(nèi)第一款面向全球ROS開發(fā)者推出相應(yīng)package的激光雷達,超高的性價比大大推動了RPLIDAR在ROS中的使用,為國內(nèi)服務(wù)機器人的移動導(dǎo)航和避障相關(guān)技術(shù)的發(fā)展和人才儲備起了很大的推動作用。

    ROS之所以能夠很好的在開發(fā)者中間推廣起來,主要是因為它建立了一套通用的通訊框架和操作系統(tǒng)服務(wù),不同的開發(fā)者只需要按照一定的通訊協(xié)議,關(guān)注相應(yīng)的數(shù)據(jù)接口,完成每個模塊的功能即可,大大避免了機器人重復(fù)造輪子的繁瑣過程。

    任何一個ROS生態(tài)里面的package,往往只需找到相應(yīng)的wiki和github頁面,就可以清楚的了解其數(shù)據(jù)接口和內(nèi)部的實現(xiàn)。

    2.1 rplidar_ros viki:http://wiki.ros.org/rplidar

     

    wiki主要包含對應(yīng)rplidar產(chǎn)品功能和package接口和參數(shù)的說明和相應(yīng)的使用流程介紹,以及當前ros生態(tài)支持的版本信息。

    2.2 rplidar _ros github:

    https://github.com/robopeak/rplidar_ros

     

    rplidar_ros的github主要包含package對應(yīng)的源碼和package的版本管理和開發(fā)者問題對話。

    issue(open|closed): 里面主要包含開發(fā)者關(guān)于rplidar_ros使用的相關(guān)問題的對話,如果開發(fā)者在使用某個package時遇到問題都可以先在此搜索是否有相關(guān)問題的解釋與解決方法;

    pull request:相關(guān)使用者針對原有代碼的改進,希望加入到本倉庫,以提高或增強相應(yīng)的功能;

    wiki: 包含更加具體的說明和使用介紹,

    commit、branch、release、contributors是rplidar_ros開發(fā)迭代的記錄。

    2.3 rplidar_ros消息機制

    rplidar_ros的在ROS里面的通訊接口,主要有1個話題(topic) /scan和2個服務(wù)(service)stop_motor和start_motor.。/scan主要用于向外部發(fā)送雷達數(shù)距消息(message),消息格式采用的是sensor_msgs/LaserScan,像避障或slam功能模塊對應(yīng)的ROS package就需要調(diào)用這個話題的雷達數(shù)據(jù)完成建圖或避障的功能。stop_motor和start_motor主要是用于客戶端調(diào)用服務(wù)器端關(guān)閉和啟動雷達的接口,使系統(tǒng)可以依據(jù)需要選擇關(guān)閉和開啟雷達。

    rplidar_ros給出的rplidar.launch,實際使用中依據(jù)具體的使用往往關(guān)注的參數(shù)有 端口號(serial_port)、坐標系名稱(frame_id)、正反裝(inverted)。

     

    2.4 rplidar_ros坐標系說明:

    rplidar是按照順時針旋轉(zhuǎn),SDK數(shù)據(jù)輸出是帶距離和角度信息的左手系數(shù)據(jù),rplidar_ros輸出已經(jīng)將其轉(zhuǎn)化為右手坐標系輸出。雷達數(shù)據(jù)坐標系參照雷達數(shù)據(jù)線的位置(A2)/形狀(A1)和下面的圖示判斷。

    2.5 rplidar_ros啟動說明:

    首先要查看插上rplidar后對應(yīng)端口權(quán)限(每次插拔都要賦予一次權(quán)限):

    ls -l /dev |grep ttyUSB

    sudo chmod 666 /dev/ttyUSB0

    如果沒有讀寫權(quán)限,需要添加其讀寫權(quán)限(每次插拔都要賦予一次權(quán)限):

    sudo chmod 666 /dev/ttyUSB0

    每次這樣插拔都要添加權(quán)限很麻煩,可以試試添加設(shè)備的udev規(guī)則,賦予符合相應(yīng)規(guī)則的設(shè)備端口固定權(quán)限和端口名稱的映射。執(zhí)行相應(yīng)的rplidar端口映射的腳本:

    ./s/create_udev_rules.sh

     

    啟動rplidar_ros節(jié)點,并在rviz中顯示出雷達數(shù)據(jù):

    $ roslaunch rplidar_ros view_rplidar.launch

     

    matlab2016版本當前還提供了ROS的功能接口,我們也可以通過matlab參看激光數(shù)據(jù)。

     

    3、搭建帶rplidar的機器人系統(tǒng):

    前面詳細介紹了rplidar_ros package的相應(yīng)功能,那么,如果我要在一臺機器人本體上搭載激光雷達,需要怎么設(shè)置呢?

    利用好ROS里已有package搭建系統(tǒng)實現(xiàn)基本功能,再關(guān)注一下topic/service和TF frame是否協(xié)調(diào)。TF是ROS里面主要的概念,它維護著每個數(shù)據(jù)對應(yīng)坐標系之間的位姿變換關(guān)系。要搭建帶rplidar的機器人ROS系統(tǒng), 你就需要依據(jù)實際安裝信息統(tǒng)一好rplidar坐標系與機器人本體base坐標系的變換關(guān)系。實現(xiàn)這種變換關(guān)系主要有三種,分別如下:

    3.1 通過模型的URDF文件的方式:

    在已知的機器人模型的URDF中添加描述雷達的joint和描述在機器人本體上的link。下面是曾在turtlebot仿真模型添加rplidar模型的urdf設(shè)置。

     

    3.2 TF靜態(tài)變換static_transform_publisher方式:

    在機器人啟動的launch文件添加靜態(tài)TF變換的信息即可。

    <node name="base2laser" pkg="tf" type="static_transform_publisher" args="0.07 0 0 0 0 0 1 /base_link /laser 50"/>

    3.3 通過rqt/tf_echo查看TF tree的構(gòu)建情況:

     

    4、利用RPLIDAR在ROS環(huán)境建圖:

    4.1 當前開源的2D激光雷達slam的ROS package主要有:

    gmapping

    ros-perception/slam_gmapping

    ros-perception/openslam_gmapping

    Hector

    tu-darmstadt-ros-pkg/hector_slam

    karto

    ros-perception/slam_karto

    ros-perception/open_karto

    skasperski/navigation_2d

    cartographer

    googlecartographer/cartographer

    googlecartographer/cartographer_ros

    4.2 TF tree(gmapping為例)

     

    4.3 rqt_graph(gmapping為例)

     

    4.4 SLAM建圖效果:

    搭建系統(tǒng)取決統(tǒng)一好topic/service和tf的接口名稱,系統(tǒng)運行效果取決于里面的算法實現(xiàn),可能變現(xiàn)在具體的啟動配置文件的參數(shù)設(shè)置和內(nèi)部算法實現(xiàn),那就需要查看相應(yīng)論文和代碼中涉及的算法原理和算法實現(xiàn)。

     

    5.與RPLIDAR 相關(guān)問題匯總與說明:

    5.1 樹莓派等單板系統(tǒng)出現(xiàn)雷達無法啟動,請檢查是否是供電不足導(dǎo)致的問題;

    5.2 rplidar_ros啟動前需要設(shè)置端口權(quán)限;

    5.3 rplidar原始數(shù)據(jù)輸出是非固定角度增量的輸出形式,rplidar_ros輸出是修正式固定角度增量輸出的數(shù)據(jù)格式;

    5.4 當前版本的rplidar_ros發(fā)出的激光數(shù)據(jù)中的ntenstity數(shù)據(jù)是fake的無效數(shù)據(jù),不建議在實際中使用;

    5.5 rplidar_ros 是360全角度輸出的rplidar驅(qū)動,如有固定角度需求,請自行添加角度濾波的節(jié)點;

    5.6 使用過程中如有問題,先自行檢查端口權(quán)限,tf_tree和rqt_graph是否正常,如還是有問題,返回windows系統(tǒng)檢查官方驅(qū)動是否有問題;

    如上述自檢均沒發(fā)現(xiàn)問題,但仍運行不正常,可附上檢查的信息以及難點一起發(fā)送至support@slamtec.com郵箱,我們將及時為各位小伙伴們解答!

     

    關(guān)鍵字:ROS与RPLIDAR结合使用

    top
    中文字幕在线免费看线人,精品99re在线视频播放,亚洲国产精品无码久久久高潮,一区二区三区www不卡网站,国产A√无码专区亚洲AV毛片