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

?

基于ROS的室內導航配送機器人設計

2022-08-29 02:21張學峰王仕儀劉傲任彬郁洋
現(xiàn)代信息科技 2022年12期
關鍵詞:上位激光雷達障礙物

張學峰,王仕儀,劉傲,任彬,郁洋

(石家莊鐵道大學 機械工程學院,河北 石家莊 050043)

0 引 言

根據相關調查,傳統(tǒng)工作模式下,倉庫中工人有60%~70%的時間都花費在取貨上,人力勞動的高成本和低效率阻礙著物流行業(yè)的發(fā)展。隨著電商、快遞行業(yè)的迅速發(fā)展,機器人在物流配送方面發(fā)揮著越來越重要的作 用。據艾媒網發(fā)布的《2020—2021年中國快遞物流行業(yè)核心數(shù)據分析》,2020年中國快遞服務企業(yè)業(yè)務量以31.2%的增速增長至833.6 億件,較之上年提高5.4 個百分點,面對如此龐大的物流量,傳統(tǒng)AGV 搬運機器人因受限于固定的工作路徑而無法在復雜情況下高效率地完成貨物搬運任務,如電磁感應引導式AGV 需要依賴預先設定的行駛路徑且保證行駛路徑中無障礙物才能順利完成搬運任務,對于不同的搬運任務需要反復規(guī)劃 路徑,在復雜場景下的人機交互體驗欠佳,難以匹配用 戶需求。而一些利用紅外線檢測障礙物的搬運車會受光線、顏色、溫度等因素的影響,導致檢測結果 不夠準確。智能物流機器人具有交互性強、靈活度高、高效智能的優(yōu)點,比傳統(tǒng)搬運機器人更能勝任這一工作,由于配送場景復雜多變,往往要求機器人及時做出正確決策并立即執(zhí)行,這需要配送機器人具備高度的智能化和較強的自主學習能力。在環(huán)境改造方面,智能物流機器人可以免去人們的鋪線、粘貼地標等工作,任務路線需要改變時,只需重新構建地圖即可 完成任務調度。

近年來,一些國內外學者在智能導航定位機器人的研究上取得一定成果,如Arun Raghe sh J T 等研究出一種基于聲源定位的導航機器人,通過采集三角形區(qū)域內機器人產生的聲音信息并加以處理來獲得機 器人的位置。文獻[9]介紹一種基于INS/GPS/EC 組合導航系統(tǒng)的水下機器人,相較于經典卡爾曼濾波算法和聯(lián)邦卡爾曼濾波算法在定位精度上有較大的提升。 M.Utsav 等提出一種利用觸覺傳感器對環(huán)境進行二維地形映射的方法。以上方法都可以實現(xiàn)機器人的定位功能,但同時也存在不足,例如聲源距離采集裝置太近會影響采集的精準度,無線電、磁場會對GPS 定位精度產生一定影響。

針對傳統(tǒng)搬運機器人交互性差、靈活度低、面對復雜環(huán)境無法自主決策的問題,本文設計一款基于ROS 系統(tǒng)具有定位及導航功能的室內配送機器人。該機器人通過SSH 遠程控制命令與上位機通信,系統(tǒng)可以實時獲取機器人的運動狀態(tài)并將信息返回給上位機進行處理,從而實現(xiàn)機器人的定位和導航功能,并且當機器人發(fā)生故障時能夠及時做出調整,實現(xiàn)人機交互。

1 機器人總體設計

機器人控制系統(tǒng)主要由三部分構成,分別是人機交互層、應用層和驅動層,如圖1所示。

圖1 機器人整體系統(tǒng)架構

人機交互層主要負責機器人配送地點的確定、機器人移動路線的圖形化顯示;應用層負責接收來自上位機的命令,實現(xiàn)機器人定位、導航及自主避障等功能,同時將機器人配送信息顯示在液晶屏幕上;驅動層負責執(zhí)行來自應用層的命令,并將IMU 及編碼器信息反饋給應用層,實現(xiàn)機器人的閉環(huán)控制。

1.1 機械結構設計

機器人長0.43 m,寬0.32 m,高0.92 m,整體結構由20×20 mm 鋁方管和5 mm 厚的亞克力板拼接而成,底盤采用麥克納姆全向底盤,機器人整體三維建模如圖2所示。

圖2 機器人整體結構

機器人由兩大部分構成,分別是置物區(qū)和運動區(qū)。為提高配送效率,置物區(qū)由上下兩個托盤構成,用于放置不同類別的物品,托盤由兩個T 形托架固定,防止托盤在移動過程中由于慣性而被甩出。T 形托架由連接件固定在皮帶上,皮帶由MG42S1 步進電機和一個輔助輪聯(lián)合驅動,采用皮帶傳動能夠保證托盤運動過程中的平穩(wěn)性,降低機器人因自身震動而對其整體運行的影響。在步進電機和輔助輪的固定外殼上安裝用于托盤定位的限位開關,當托盤觸碰到限位開關時,從控制器控制步進電機暫停,從而固定托盤伸出和收回的位置,如圖3所示。

圖3 置物區(qū)結構設計

針對室內運輸環(huán)境復雜、地面平坦的特點,對機器人底盤運動的靈活性和平穩(wěn)性有嚴格的要求,因此在機器人移動解決方案中在運動區(qū)采用麥克納姆矢量底盤。

1.2 機器人硬件系統(tǒng)設計

機器人硬件系統(tǒng)主要分為上位機和下位機兩部分,如圖4所示。

圖4 機器人硬件系統(tǒng)設計

上位機負責接收下位機發(fā)送過來的信息,經過處理后將執(zhí)行指令發(fā)送給下位機來控制運動單元去執(zhí)行相應操作。下位機通過執(zhí)行上位機發(fā)來的指令來控制機器人的移動和托盤的伸縮,并將機器人的位姿信息以里程計的形式反饋給上位機,同時將信息顯示在液晶屏幕上。上位機與下位機通過SSH 遠程連接,接入同一ROS_MASTER 實現(xiàn)數(shù)據傳輸。下位機主機采用樹莓派4B,激光雷達采用思嵐科技的RPLIDAR A3,具有16 000 次每秒的掃描速度、25 米的測距范圍,符合室內實時建圖與自主避障所需的硬件要求。樹莓派通過SSH 與上位機相連,利用上位機較強的計算能力來緩解其自身的計算壓力,為數(shù)據的傳輸騰出更多的系統(tǒng)資源,有助于機器人更快地對周圍環(huán)境做出反應。

下位機主控制器采用ARM Cortex ?-M3 內核的STM32F103RCT6 開發(fā)芯片,機器人采用四個MG540 直流減速電機作為底盤的動力驅動裝置,同時安裝四個帶AB 相的霍爾編碼器記錄每個輪子的脈沖值,進而得到每個輪子的轉速。IMU 慣性測量單元采用6 軸運動處理組件MPU6050陀螺儀獲取yaw 軸(偏航角)數(shù)據,與四個編碼器獲取數(shù)據計算得到的角度值做融合位姿估計,并與通過編碼器獲取的速度合成里程計信息反饋到上位機。Arduino Mega2560 作為從控制器,通過TB6560 步進電機驅動板控制兩個MG42S1步進電機驅動托盤的運動實現(xiàn)拖盤的伸縮,配合限位開關實現(xiàn)托盤的定位,同時安裝有一個近紅外傳感器,與激光雷達進行數(shù)據融合,提高避障精度。

1.3 機器人軟件系統(tǒng)設計

機器人軟件系統(tǒng)設計主要包括SLAM 建圖、機器人導航算法和里程計實現(xiàn)三部分,其中SLAM 建圖和機器人導航都是以自身定位為基礎,而里程計和激光雷達反饋信息的快慢則是決定機器人定位準確與否的關鍵。為了使里程計和激光雷達數(shù)據能夠快速傳輸?shù)缴衔粰C進行處理,本文通過移植ROS 系統(tǒng)的roslib 功能包到STM32 嵌入式端,將STM32 變成ROS 網絡的一個節(jié)點。基于ROS 自身分布式網絡特點進行話題通信,保障了數(shù)據通信的準確性,同時也大大簡化了通信模式,提高了數(shù)據傳輸速度。機器人導航配送流程圖如圖5所示。

圖5 機器人運行流程圖

機器人導航時,首先通過Ubuntu 上位機確定機器人的目標位置,通過處理激光雷達和下位機反饋的里程計信息獲得二維點云地圖,再經過SLAM 算法處理得到柵格化地圖;然后上位機根據自身位置和目標位置以及所建的地圖開始路徑規(guī)劃,根據是否遇到障礙物自行決定是否更新局部路徑規(guī)劃,到達目的地后結束導航,伸出托盤完成配送過程,否則將繼續(xù)如上步驟,直至到達目標地點。

2 導航系統(tǒng)設計

2.1 SLAM 建圖與導航算法設計

機器人導航配送的基礎是建立一個準確的地圖,樹莓派通過獲取2D 激光雷達點云數(shù)據和下位機發(fā)送的里程計數(shù)據,利用Gmapping建圖算法構建柵格地圖,同時利用laser_scan_matcher 功能包對激光雷達數(shù)據進行掃描匹配,優(yōu)化局部地圖和機器人位姿。導航算法的步驟包括自身定位與路徑規(guī)劃。自身定位需要憑借里程計數(shù)據和激光雷達實時數(shù)據,其中里程計數(shù)據用于全局定位,激光雷達數(shù)據用于局部定位。機器人定位使用AMCL 自適應蒙特卡洛算法,這是一種根據已知地圖進行粒子估計的概率定位算法,通過對粒子的隨機采樣和粒子濾波估計機器人的位姿。路徑規(guī)劃包括局部路徑規(guī)劃(local_planner)和全局路徑規(guī)劃(global_planner),二者都集成于move_base 功能包中,global_planner 確定機器人在全局代價地圖(global_costmap)中的規(guī)劃路徑,local_planner 確定機器人在局部代價地圖(local_costmap)中的路徑規(guī)劃,導航框架如圖6所示。

圖6 move_base 導航框架

2.2 里程計數(shù)據處理

里程計的作用是通過估計物體位置隨時間變化,進而估計物體相對于初始位置的移動距離,從而實現(xiàn)概率定位,里程計是激光雷達建圖和定位的基礎,如圖7所示為里程計模型。

圖7 里程計模型

對于里程計的計算,首先要測得輪子行走1 米時編碼器對應的脈沖值,STM32 以Δ為周期從霍爾編碼器中獲取原始脈沖數(shù)據,以Δ為周期測得輪子行走的距離Δx為:

輪子的速度為:

當采樣頻率很快(即Δ取值很?。r,假設機器人右前、左前、左后、右后輪子的速度分別為、、、,解得機器人v,vω為:

假設當前為時刻,機器人位姿為(x,y,θ),經過Δ時間后,機器人位姿為(x+Δ,y+Δ,θ+Δ),機器人自身采用右手坐標系(x,y),全局地圖坐標系如圖7中(,)所示。

+Δ時刻機器人在全局坐標系中的對應位姿為:

為了方便與ROS 進行里程計通信,還需要對求得的結果做四元數(shù)變換,公式為:

其中,為roll 橫滾角,為pitch 俯仰角,為yaw 偏航角。由于機器人在地面工作,pitch 和roll 為0,v也為0,yaw 值為θ,和方向上的坐標為x、y,將以上數(shù)據通過/odom 話題發(fā)布給樹莓派,完成里程計數(shù)據的反饋。

3 實驗驗證

3.1 仿真實驗

3.1.1 仿真環(huán)境搭建

為驗證機器人SLAM 建圖和導航算法的可行性,本文采用Gazebo 與Rviz 聯(lián)合仿真平臺進行實驗,Gazebo 是Ubuntu 系統(tǒng)下一款功能強大的免費開源機器人仿真軟件,具有強大的物理引擎,能夠在復雜情況下精確模擬機器人的運動形式,提供仿真數(shù)據。Rviz 是ROS 系統(tǒng)中的可視化工具,能夠將仿真結果以3D 和數(shù)據形式展現(xiàn)出來,用于顯示仿真結果。

3.1.2 導航算法驗證

在Ubuntu 上位機上運行導航算法,結果如圖8所示。橙色線條代表機器人的運動軌跡,機器人周圍的矩形方框代表機器人的局部代價地圖(local_costmap),由圖8可知機器人可以很好地實現(xiàn)地圖構建、路徑規(guī)劃和自主避障功能,充分證明了機器人導航算法的可行性。

圖8 Gazebo 和Rviz 聯(lián)合仿真結果

3.2 機器人實際導航實驗

為測試機器人實際場景中的工作能力,通過人為控制實際場地的障礙物擺放來測試機器人能否完成精確的導航避障功能。為測試機器人的建圖和導航功能,選擇室內場地進行實驗,如圖9所示。

圖9 無障礙物的實驗環(huán)境

機器人的起始點為A 點,目標點為B 點,目標點的位置由實驗者在上位機的Rviz 可視化工具中確定,無障礙物的情況下機器人從起始點到達目標點的過程如圖10 所示,機器人可以對室內實驗場地進行一個較為準確的地圖構建。

圖10 無障礙物情況下機器人運動過程圖

由圖10(a)-(d)機器人運動過程可以看出,機器人的運動軌跡近似一條從起始點到目標點的直線,同時在運動過程中,機器人也在不斷地調整自身位姿,對比圖10(a)和圖10(b)可知,機器人在行至1/4 路程時,對初始規(guī)劃的路徑做出優(yōu)化,其重新規(guī)劃出的路徑更接近目標點,同時雷達掃描的點云地圖也與實際地圖相吻合,從而證明了SLAM 建圖算法的合理性。在圖9的場地基礎上,在機器人行進的軌道上加入兩個障礙物,用于測定機器人導航過程中對障礙物的規(guī)劃處理,實驗場地如圖11 所示。

圖11 設置障礙物的實驗環(huán)境

實驗操作與無障礙導航實驗保持一致,實驗結果如圖12 所示。由圖12(a)-(d)機器人運動過程可以看出,機器人在運行過程中能夠實現(xiàn)自主避障,且避開障礙物的轉彎半徑較大,能夠保證機器人自身不與障礙物接觸,提高了配送過程中的安全性。同時,機器人能夠在避開障礙物的基礎上,按照規(guī)劃的路徑準確到達目標點,進一步驗證了導航算法的可行性。

圖12 有障礙物情況 下機器人運動過程圖

4 結 論

本文設計一款基于ROS 系統(tǒng)的室內定位及導航配送機器人。該機器人利用激光雷達數(shù)據實現(xiàn)SLAM 建圖、路徑規(guī)劃和自主避障的功能,能夠在復雜的室內環(huán)境下完成導航配送任務。相較于傳統(tǒng)磁引導搬運機器人,本文設計的機器人能更好地適應復雜的搬運環(huán)境,靈活高效地完成不同的配送任務,提高了人機交互性。對于更加復雜的室外環(huán)境,會存在由于路面不平而導致里程計信息丟失的問題,會對機器人的定位和導航功能產生一定的影響,因此需要對室外復雜環(huán)境進行進一步的實驗。

猜你喜歡
上位激光雷達障礙物
激光雷達實時提取甘蔗壟間導航線
法雷奧第二代SCALA?激光雷達
融合激光雷達與超聲波數(shù)據的障礙物檢測方法
Ouster發(fā)布首款全固態(tài)數(shù)字激光雷達
高低翻越
一場史無前例的樂隊真人秀
趕飛機
月亮為什么會有圓缺
基礎油“上位”
基于VC的PLC數(shù)據采集管理系統(tǒng)
仪陇县| 长顺县| 涿鹿县| 昂仁县| 玉屏| 慈溪市| 潮安县| 九寨沟县| 龙陵县| 灌南县| 梓潼县| 屏东市| 崇义县| 中山市| 自贡市| 巢湖市| 张北县| 商都县| 揭阳市| 饶平县| 新丰县| 罗定市| 菏泽市| 绥中县| 正定县| 澄江县| 洞头县| 仲巴县| 东丰县| 双流县| 浦江县| 海丰县| 阜康市| 克东县| 乐业县| 奉贤区| 洛阳市| 应城市| 罗田县| 龙南县| 集安市|