国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS的SLAM智能車

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

◆文/江蘇 房守江 張睿

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

一、前言

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

二、設(shè)計方案

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

圖1 智能車設(shè)計方案

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

(1)激光雷達(dá)

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

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

(2)里程計與IMU

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

2.運動控制板(下位機)

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

圖2 MPU6050接口電路

圖3 電機驅(qū)動模塊接口電路

圖4 光電編碼器接口電路

3.ROS主控制器

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

(1)ROS系統(tǒng)

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

(2)gmapping功能包

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

圖5 gmapping功能包總體框架

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

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

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

圖6 利用gmapping建圖

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

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

圖7 自主導(dǎo)航

三、總結(jié)

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

猜你喜歡
建圖里程計激光雷達(dá)
手持激光雷達(dá)應(yīng)用解決方案
北京測繪(2022年5期)2022-11-22 06:57:43
室內(nèi)退化場景下UWB雙基站輔助LiDAR里程計的定位方法
視覺同步定位與建圖中特征點匹配算法優(yōu)化
法雷奧第二代SCALA?激光雷達(dá)
汽車觀察(2021年8期)2021-09-01 10:12:41
基于三輪全向機器人的室內(nèi)建圖與導(dǎo)航
電子制作(2019年10期)2019-06-17 11:45:06
一種單目相機/三軸陀螺儀/里程計緊組合導(dǎo)航算法
基于激光雷達(dá)通信的地面特征識別技術(shù)
一種基于多傳感融合的室內(nèi)建圖和定位算法
基于激光雷達(dá)的多旋翼無人機室內(nèi)定位與避障研究
電子制作(2018年16期)2018-09-26 03:27:00
基于模板特征點提取的立體視覺里程計實現(xiàn)方法
武义县| 余江县| 清新县| 潜江市| 绩溪县| 托克托县| 凤翔县| 临泉县| 夹江县| 岢岚县| 老河口市| 绥化市| 安多县| 临夏县| 洪洞县| 平和县| 夏津县| 绥宁县| 遂川县| 平南县| 广宁县| 蒲江县| 隆昌县| 万年县| 康保县| 米易县| 辽宁省| 洛隆县| 邵武市| 星座| 崇仁县| 仁布县| 集安市| 榆中县| 天台县| 武隆县| 张家口市| 长岛县| 汤阴县| 富民县| 清镇市|