• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ROS的SLAM智能車(chē)

      2021-09-13 02:57:48江蘇房守江張睿
      汽車(chē)維修與保養(yǎng) 2021年6期
      關(guān)鍵詞:建圖里程計(jì)激光雷達(dá)

      ◆文/江蘇 房守江 張睿

      本文主要研究設(shè)計(jì)了一款基于樹(shù)莓派ROS平臺(tái)的SLAM智能車(chē)。該智能車(chē)?yán)眉す饫走_(dá)以獲取周?chē)h(huán)境的深度信息,采用ROS環(huán)境下具備SLAM算法的gmapping功能包,并通過(guò)STM32對(duì)智能車(chē)的底層驅(qū)動(dòng)控制可實(shí)現(xiàn)即時(shí)定位、地圖構(gòu)建、自主導(dǎo)航和避障功能。

      一、前言

      室外定位與導(dǎo)航可以使用GPS,但在室內(nèi)進(jìn)行定位與導(dǎo)航會(huì)比較復(fù)雜。SLAM為即時(shí)定位與地圖構(gòu)建技術(shù),很好地解決了室內(nèi)智能車(chē)的地圖構(gòu)建和即時(shí)定位問(wèn)題,具備重要的理論與應(yīng)用價(jià)值。而對(duì)于智能移動(dòng)這個(gè)問(wèn)題,除了要有SLAM技術(shù)之外,還需要加入路徑規(guī)劃和運(yùn)動(dòng)控制技術(shù)。

      二、設(shè)計(jì)方案

      本設(shè)計(jì)中,SLAM智能小車(chē)由小車(chē)底盤(pán)、傳感器系統(tǒng)和樹(shù)莓派計(jì)算機(jī)系統(tǒng)組成,其中,底盤(pán)是智能小車(chē)的運(yùn)動(dòng)載體,用來(lái)實(shí)現(xiàn)整個(gè)智能小車(chē)的運(yùn)動(dòng),傳感器系統(tǒng)由光電編碼器、激光雷達(dá)和IMU組成,用來(lái)采集實(shí)現(xiàn)可靠SLAM所需的各種傳感器信息,計(jì)算機(jī)系統(tǒng)包括下位機(jī)和便攜式計(jì)算機(jī)系統(tǒng),便攜式計(jì)算機(jī)系統(tǒng)用來(lái)運(yùn)行ROS操作系統(tǒng)和SLAM程序,本系統(tǒng)整體設(shè)計(jì)方案如圖1所示。

      圖1 智能車(chē)設(shè)計(jì)方案

      1.相關(guān)傳感器

      (1)激光雷達(dá)

      要完成智能車(chē)的SLAM和自主導(dǎo)航,首先要有感知周?chē)h(huán)境的能力,尤其要有感知周?chē)h(huán)境深度信息的能力,這是探測(cè)障礙物的關(guān)鍵數(shù)據(jù)。激光雷達(dá)可以提供智能車(chē)本體與環(huán)境障礙物之間的距離信息,其優(yōu)點(diǎn)是精度高,響應(yīng)快,數(shù)據(jù)量小,可以完成實(shí)時(shí)SLAM任務(wù)。本設(shè)計(jì)中采用SLAMTEC公司低成本激光雷達(dá)RPlidar-A1,可實(shí)現(xiàn)12米測(cè)距,一秒8 000次測(cè)量頻率,掃描頻率5Hz。

      針對(duì)RPlidar-A1激光雷達(dá),通過(guò)安裝完成ROS相應(yīng)的驅(qū)動(dòng)功能包,在sensor_msgs包中定義了專(zhuān)用數(shù)據(jù)結(jié)構(gòu)——LaserScan,用于存儲(chǔ)激光雷達(dá)獲取的深度信息。

      (2)里程計(jì)與IMU

      里程計(jì)采用底盤(pán)電機(jī)光電編碼器方案,由STM32下位機(jī)經(jīng)過(guò)運(yùn)動(dòng)學(xué)計(jì)算獲得線(xiàn)速度后發(fā)送給ROS進(jìn)行里程的轉(zhuǎn)換,進(jìn)而獲得小車(chē)在地圖上的坐標(biāo)。IMU提供的姿態(tài)數(shù)據(jù)融合到角速度上,小車(chē)原地旋轉(zhuǎn)是否準(zhǔn)確需要靠準(zhǔn)確的IMU和里程計(jì)。IMU數(shù)據(jù)的讀取和線(xiàn)速度的計(jì)算均由STM32下位機(jī)主控負(fù)責(zé),并通過(guò)USB傳輸給上位機(jī)。

      2.運(yùn)動(dòng)控制板(下位機(jī))

      運(yùn)動(dòng)控制板采用STM32F103RC作為主控,主要負(fù)責(zé)小車(chē)運(yùn)動(dòng)模型解算、IMU數(shù)據(jù)讀取、線(xiàn)速度的計(jì)算、遙控部分控制,最終通過(guò)USB傳輸給上位機(jī)。其中,IMU數(shù)據(jù)由MPU6050模塊進(jìn)行讀取,接口電路如圖2。線(xiàn)速度計(jì)算由光電編碼器完成,光電編碼器接口電路如圖3。主控板可裝載峰值6A的電機(jī)驅(qū)動(dòng)模塊,引出四路編碼電機(jī)驅(qū)動(dòng)接口,其中一路電機(jī)驅(qū)動(dòng)接口電路如圖4所示。

      圖2 MPU6050接口電路

      圖3 電機(jī)驅(qū)動(dòng)模塊接口電路

      圖4 光電編碼器接口電路

      3.ROS主控制器

      ROS主控系統(tǒng)控制器采用Raspberrypi 4B,Linux版本安裝了 Ubuntu 18系統(tǒng)。同時(shí)裝有ROS機(jī)器人操作系統(tǒng),ROS版本為Melodic,作為機(jī)器人ROS主控制節(jié)點(diǎn)。

      (1)ROS系統(tǒng)

      機(jī)器人操作系統(tǒng)(ROS)是一個(gè)開(kāi)放源代碼的機(jī)器人中間件套件,安裝到Linux系統(tǒng)上。ROS系統(tǒng)由許多獨(dú)立的節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)都使用發(fā)布/訂閱消息傳遞模型與其他節(jié)點(diǎn)進(jìn)行通信。小車(chē)節(jié)點(diǎn)我們稱(chēng)為主節(jié)點(diǎn)(ROS Master),因本地運(yùn)行數(shù)據(jù)收發(fā)延遲最低,本設(shè)計(jì)中雷達(dá)、建圖、導(dǎo)航、操作和監(jiān)控都在本地節(jié)點(diǎn)運(yùn)行,采用USB供電、HDMI接口的7英寸液晶作為ROS主控顯示器。

      (2)gmapping功能包

      gmapping功能包為開(kāi)源的功能包,集成了粒子波算法,開(kāi)發(fā)者無(wú)需掌握內(nèi)部復(fù)雜的算法,利用其對(duì)用戶(hù)開(kāi)放的接口即可實(shí)現(xiàn)相關(guān)功能,如圖5所示。

      圖5 gmapping功能包總體框架

      gmapping功能包需要獲取環(huán)境深度信息、IMU信息和里程計(jì)信息,通過(guò)相關(guān)參數(shù)配置及算法實(shí)現(xiàn),以進(jìn)行定位與地圖構(gòu)建,gmapping功能包向用戶(hù)開(kāi)放的關(guān)鍵接口如表1所示。

      表1 gmapping功能包向用戶(hù)開(kāi)放的關(guān)鍵接口

      使用gmapping建圖的一般步驟是:①在主控節(jié)點(diǎn)啟動(dòng)雷達(dá)與Gmapping節(jié)點(diǎn),同時(shí)程序會(huì)將IMU姿態(tài)與位置融合發(fā)布o(jì)dom位置信息;②啟動(dòng)本地雷達(dá)與Gmapping節(jié)點(diǎn);③啟動(dòng)rviz在窗口內(nèi)即可看到機(jī)器人tf位姿數(shù)據(jù)、激光節(jié)點(diǎn)、地圖數(shù)據(jù);④保存地圖,如圖6所示,保存后地圖文件為map.pgm和map.yaml。

      圖6 利用gmapping建圖

      (3)自主導(dǎo)航

      導(dǎo)航是在給定環(huán)境中將機(jī)器人從一個(gè)位置移動(dòng)到指定目的地,導(dǎo)航需要使用保存好的地圖,通過(guò)amcl尋找位置,move_base路徑規(guī)劃從而實(shí)現(xiàn)機(jī)器人自主導(dǎo)航。本設(shè)計(jì)采用navigation導(dǎo)航包實(shí)現(xiàn)智能車(chē)的自主導(dǎo)航:①啟動(dòng)底盤(pán)通訊與雷達(dá)節(jié)點(diǎn);②本地啟動(dòng)nav導(dǎo)航包,導(dǎo)入地圖文件;③啟動(dòng)本地可視化rviz,設(shè)置初始姿勢(shì)位置;④確定目標(biāo)位置,開(kāi)始導(dǎo)航,如圖7所示。

      圖7 自主導(dǎo)航

      三、總結(jié)

      本文研究設(shè)計(jì)的SLAM智能車(chē),采用樹(shù)莓派便攜式計(jì)算機(jī)系統(tǒng),配備低成本單線(xiàn)國(guó)產(chǎn)激光雷達(dá)、帶四個(gè)驅(qū)動(dòng)電機(jī)的底盤(pán)、STM32控制器等,成本低,功能完善,建圖與自主導(dǎo)航效果好,可很大程度上滿(mǎn)足室內(nèi)建圖和自主導(dǎo)航的功能需求。

      猜你喜歡
      建圖里程計(jì)激光雷達(dá)
      手持激光雷達(dá)應(yīng)用解決方案
      室內(nèi)退化場(chǎng)景下UWB雙基站輔助LiDAR里程計(jì)的定位方法
      視覺(jué)同步定位與建圖中特征點(diǎn)匹配算法優(yōu)化
      法雷奧第二代SCALA?激光雷達(dá)
      基于三輪全向機(jī)器人的室內(nèi)建圖與導(dǎo)航
      電子制作(2019年10期)2019-06-17 11:45:06
      一種單目相機(jī)/三軸陀螺儀/里程計(jì)緊組合導(dǎo)航算法
      基于激光雷達(dá)通信的地面特征識(shí)別技術(shù)
      一種基于多傳感融合的室內(nèi)建圖和定位算法
      基于激光雷達(dá)的多旋翼無(wú)人機(jī)室內(nèi)定位與避障研究
      電子制作(2018年16期)2018-09-26 03:27:00
      基于模板特征點(diǎn)提取的立體視覺(jué)里程計(jì)實(shí)現(xiàn)方法
      阿拉善左旗| 昌宁县| 太康县| 漳州市| 泗洪县| 鞍山市| 奉化市| 临汾市| 庆阳市| 探索| 镇坪县| 宁南县| 涿鹿县| 霍林郭勒市| 太康县| 平遥县| 会宁县| 九江市| 大足县| 建水县| 陵川县| 都昌县| 达州市| 屏南县| 黔西| 南安市| 松江区| 郯城县| 北安市| 天长市| 徐水县| 临漳县| 淮滨县| 磴口县| 体育| 漯河市| 海城市| 上林县| 简阳市| 隆尧县| 微博|