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

?

基于ROS系統(tǒng)自主路徑規(guī)劃與避障小車的研究

2018-05-14 12:07:20李陽盧健何耀幀
科技風(fēng) 2018年4期
關(guān)鍵詞:路徑規(guī)劃

李陽 盧健 何耀幀

摘 要:自主導(dǎo)航與避障是目前移動小車的發(fā)展趨勢,本文采用的Fast-SLAM算法,導(dǎo)航和避障階段采用的全局路徑規(guī)劃A*算法和局部路徑規(guī)劃DWA算法。Arduino支持ROS主題的發(fā)送和接收,并執(zhí)行算法所發(fā)下來的指令,間接驅(qū)動電機(jī)的運(yùn)轉(zhuǎn)速度。

關(guān)鍵詞:自主避障與導(dǎo)航;路徑規(guī)劃;Arduino;ROS

一、研究意義和目的

隨著機(jī)器人領(lǐng)域的快速發(fā)展,自主導(dǎo)航與避障技術(shù)發(fā)展越來越快,迫切需要一個(gè)通用的平臺來讓研究人員進(jìn)行二次開發(fā)?;赗OS系統(tǒng)的小車易于二次開發(fā),研究人員可以在上面根據(jù)自己的需求來做各種各樣的開發(fā),但是很多研究人員只是基于ROS系統(tǒng)來研究各種SLAM算法,但是卻沒有一個(gè)平臺來實(shí)現(xiàn),本課題研究的就是如何利用開源的算法來搭建自己的小車。有了自己的ROS小車,我們就可以在上面來做很多的后續(xù)研究。

二、SLAM技術(shù)介紹

SLAM(即同時(shí)定位與地圖創(chuàng)建)是移動機(jī)器人實(shí)現(xiàn)自主行走與避障的前提技術(shù)。要實(shí)現(xiàn)機(jī)器人的行走的自主化就必須滿足三個(gè)基本條件,第一是需要知道自己的實(shí)時(shí)位置,第二預(yù)先建立地圖,第三就是路徑規(guī)劃。定位和制圖一般是同時(shí)進(jìn)行的。移動機(jī)器人在一個(gè)未知的環(huán)境中開始移動,通過自身攜帶的傳感器和里程計(jì)數(shù)據(jù)生成實(shí)時(shí)的狀態(tài)估計(jì)從而完成自身的定位。在定位的同時(shí)增量式完成地圖的構(gòu)建,為下面的路徑規(guī)劃提供依據(jù)。接下來就是路徑規(guī)劃,讓機(jī)器能在在已建好的地圖上快速地規(guī)劃出一條最優(yōu)路徑,并實(shí)時(shí)避開動態(tài)的障礙物。

本文主要利用基于粒子濾波的Fast-tslam,粒子濾波是結(jié)合了蒙特卡洛定位貝葉斯估計(jì)的濾波算法,F(xiàn)ast-SLAM算法主要是將每個(gè)粒子看成是對當(dāng)前狀態(tài)的真實(shí)估計(jì),在任何時(shí)刻,它都會更新采樣的K個(gè)樣本粒子,保證實(shí)時(shí)的更新機(jī)器人的當(dāng)前位姿。Fast-SLAM算法可以用在非高斯分布的非線性隨機(jī)系統(tǒng),而且計(jì)算量需求小,能夠很容易的計(jì)算出觀測值的重要性權(quán)重和運(yùn)動模型的采樣,F(xiàn)ast-SLAM完全可以滿足機(jī)器人導(dǎo)航和定位的實(shí)時(shí)性,在移動機(jī)器人領(lǐng)域應(yīng)用很廣泛。

路徑規(guī)劃從類型上有全局路徑規(guī)劃和局部路徑規(guī)劃。全局路徑規(guī)劃就是機(jī)器人在已建立好的環(huán)境地圖m中快速地規(guī)劃處一條最優(yōu)路徑。全局路徑規(guī)劃主要有可視圖法、柵格法等,全局規(guī)劃技術(shù)已經(jīng)比較完善,本文運(yùn)用的是A*算法。局部路徑規(guī)劃主要采用的是動態(tài)窗口法(DWA),它是在速度空間中采樣多組速度,并模擬機(jī)器人在這些速度下一定時(shí)間內(nèi)的軌跡,在采樣到多組的運(yùn)動軌跡之后,對運(yùn)動軌跡進(jìn)行評價(jià),然后選取最優(yōu)軌跡所對應(yīng)的速度來驅(qū)動機(jī)器人前進(jìn)。

三、ROS系統(tǒng)和Arduino控制系統(tǒng)

ROS 會創(chuàng)建一個(gè)連接到所有進(jìn)程的網(wǎng)絡(luò)。在系統(tǒng)中的任何節(jié)點(diǎn)都可以訪問此網(wǎng)絡(luò),并通過該網(wǎng)絡(luò)與其他節(jié)點(diǎn)交互,獲取其他節(jié)點(diǎn)發(fā)布的信息,并將自身數(shù)據(jù)發(fā)布到網(wǎng)絡(luò)上。總之,ROS對所有的節(jié)點(diǎn)進(jìn)行統(tǒng)一管理。節(jié)點(diǎn)與節(jié)點(diǎn)通過消息來通信。節(jié)點(diǎn)與節(jié)點(diǎn)之間使用服務(wù)之間直接通信,使用主題進(jìn)行間接通信。服務(wù)是多對一,主題是多對多的關(guān)系。

在機(jī)器人制圖過程中主要有激光掃描的數(shù)據(jù)和里程計(jì)數(shù)據(jù),里程計(jì)數(shù)據(jù)主要有編碼器提供。激光采集到的數(shù)據(jù)和里程計(jì)數(shù)據(jù)有各自的節(jié)點(diǎn)處理,SLAM算法則運(yùn)行在另外一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)與節(jié)點(diǎn)之間通過訂閱和發(fā)布主題來進(jìn)行通信,能夠互相之間互不干擾地接收和發(fā)布消息。這能就能夠?qū)崿F(xiàn)機(jī)器之間的實(shí)時(shí)通信和數(shù)據(jù)關(guān)聯(lián)的同步性,即使其中的一個(gè)節(jié)點(diǎn)出現(xiàn)錯(cuò)誤也不會影響其他節(jié)點(diǎn)之間的聯(lián)系,從而保證節(jié)點(diǎn)之間的獨(dú)立性。

Arduino是一個(gè)開源的電子平臺,它支持多種操作系統(tǒng),支持C語言的開發(fā)環(huán)境。Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制電平高低和電壓的高低來控制燈光,馬達(dá)和其他裝置,板子上的微控制器可以通過Arduino的編程語言來編寫程序,從而來控制電機(jī)的轉(zhuǎn)動。Arduino IDE支持在linux系統(tǒng)上運(yùn)行,因此我們可以把它融入到ROS網(wǎng)絡(luò)中,建立Arduino節(jié)點(diǎn),接收ROS網(wǎng)絡(luò)中的主題,通過接收到cmd_vel消息中導(dǎo)航算法期望的前進(jìn)線速度和角速度,然后把收到的線速度和角速度轉(zhuǎn)化為小車左右輪的速度。經(jīng)過Arduino開發(fā)板的計(jì)算,從而做到對小車按照自己算法要求的速度前進(jìn)。通過Arduino不斷的執(zhí)行上層導(dǎo)航算法發(fā)出來的線速度和角速度命令,然后通過發(fā)送主題消息,Arduino不斷地反饋小車的當(dāng)前線速度和角速度給上層算法,然后由上層導(dǎo)航算法來確定下一步的運(yùn)動,從而完成小車的自主導(dǎo)航和避障。

四、總結(jié)

本課題主要對如何搭建ROS小車進(jìn)行了深入研究,研究了實(shí)現(xiàn)小車制圖和定位所用的Fast-SLAM,F(xiàn)ast-SLAM相對于其它SLAM算法有著較快的運(yùn)算速度,能滿足大部分的硬件需求。路徑規(guī)劃采用A*算法,它能在短時(shí)間內(nèi)迅速尋找出一條最優(yōu)路徑,然后局部路徑規(guī)劃實(shí)現(xiàn)自主避開動態(tài)障礙物,Arduino開發(fā)板接收上層算法發(fā)下來的指令,然后經(jīng)過機(jī)器運(yùn)動模型分解到左右輪的速度,然后經(jīng)過驅(qū)動板驅(qū)動電機(jī)按照目標(biāo)速度來執(zhí)行,從而實(shí)現(xiàn)了機(jī)器人的自主導(dǎo)航與避障。并從實(shí)驗(yàn)角度驗(yàn)證了自己方法的可行性。本文從全局角度分析了ROS小車的各個(gè)模塊,研究者可以按照上述的模塊快速的搭建自己的ROS小車,也根據(jù)需要研究需要驗(yàn)證自己的SLAM算法,能為研究者提供一個(gè)良好的研究平臺。

參考文獻(xiàn):

[1]陳卓,蘇衛(wèi)華,安慰寧,秦曉麗.移動機(jī)器人SLAM與路徑規(guī)劃在ROS框架下的實(shí)現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2017(02).

[2]安峰.基于開源操作系統(tǒng)ROS的機(jī)器人軟件開發(fā)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2017(05).

[3]林海,陳俊同,陳家裕,王康澤.基于ROS的無線圖傳小車設(shè)計(jì)研究[J].機(jī)械工程師,2016(05).

猜你喜歡
路徑規(guī)劃
公鐵聯(lián)程運(yùn)輸和售票模式的研究和應(yīng)用
基于數(shù)學(xué)運(yùn)算的機(jī)器魚比賽進(jìn)攻策略
清掃機(jī)器人的新型田埂式路徑規(guī)劃方法
自適應(yīng)的智能搬運(yùn)路徑規(guī)劃算法
科技視界(2016年26期)2016-12-17 15:53:57
基于B樣條曲線的無人車路徑規(guī)劃算法
基于改進(jìn)的Dijkstra算法AGV路徑規(guī)劃研究
科技視界(2016年20期)2016-09-29 12:00:43
雷波县| 南昌市| 洛浦县| 大连市| 确山县| 麻城市| 曲阳县| 肇庆市| 双辽市| 平乐县| 高淳县| 石渠县| 赞皇县| 汉寿县| 贵州省| 博客| 赤峰市| 荆门市| 渑池县| 马鞍山市| 肇东市| 托克托县| 西藏| 广安市| 万宁市| 云梦县| 灵璧县| 武义县| 商南县| 邵东县| 宁安市| 泾阳县| 上林县| 大兴区| 全州县| 达日县| 芜湖市| 县级市| 沙田区| 赤城县| 丹巴县|