摘 要: 從理論上分析了機(jī)器人控制系統(tǒng)和檢測(cè)外部環(huán)境的傳感器,并在該基礎(chǔ)上闡述了航姿推算定位算法,。利用Matlab GUI設(shè)計(jì)了移動(dòng)機(jī)器人的控制仿真平臺(tái),,并通過(guò)算法對(duì)超聲波測(cè)距進(jìn)行了模擬。最后,,設(shè)計(jì)模糊控制器應(yīng)用于該仿真平臺(tái)對(duì)移動(dòng)機(jī)器人進(jìn)行實(shí)時(shí)控制,。仿真結(jié)果表明,在非結(jié)構(gòu)化的未知環(huán)境中,,系統(tǒng)響應(yīng)速度快,,實(shí)現(xiàn)了機(jī)器人從起點(diǎn)到靜態(tài)目標(biāo)點(diǎn)的安全行駛。
關(guān)鍵詞: 移動(dòng)機(jī)器人,;仿真,;模糊控制
移動(dòng)機(jī)器人是當(dāng)今學(xué)科研究的熱點(diǎn)之一,而控制算法在機(jī)器人領(lǐng)域中處于核心地位,。目前,,常用于移動(dòng)機(jī)器人智能控制的算法主要有:PID控制、模糊控制,、神經(jīng)網(wǎng)絡(luò)控制等[1-2],。還有一些相對(duì)特殊的控制方法,譬如參考文獻(xiàn)[3]中提及的基于風(fēng)險(xiǎn)評(píng)估的路徑規(guī)劃方案等,。每種算法的原理不同,,一般對(duì)外界信息的依賴性較大。若根據(jù)算法要求開(kāi)發(fā)硬件平臺(tái),,其電路的設(shè)計(jì),、PCB板的制作以及電路的調(diào)試等一系列繁瑣的研發(fā)工作對(duì)算法的驗(yàn)證將造成極大不便[4],。Matlab提供的可視化界面環(huán)境GUI,其與VB相似的功能可以很方便地創(chuàng)建用戶界面形式,。因此,,本文利用Matlab GUI設(shè)計(jì)一種用于移動(dòng)機(jī)器人路徑規(guī)劃的控制仿真平臺(tái)。
1 系統(tǒng)控制體系組成
移動(dòng)機(jī)器人的控制體系結(jié)構(gòu)定義為:一種能把多種模塊有機(jī)地結(jié)合起來(lái),,從而在環(huán)境中完成目標(biāo)任務(wù)的機(jī)器人結(jié)構(gòu)框架,。本系統(tǒng)主要完成未知環(huán)境下移動(dòng)機(jī)器人的路徑規(guī)劃,所以系統(tǒng)設(shè)計(jì)了多個(gè)模塊構(gòu)成整個(gè)控制系統(tǒng),。如圖1所示,,控制體系主要包含的功能有:感知、定位模塊,、路徑規(guī)劃,、行為控制以及任務(wù)規(guī)劃。
1.1 傳感器模型
1.1.1 里程計(jì)與羅盤(pán)計(jì)
里程計(jì)用于測(cè)量移動(dòng)機(jī)器人的行駛距離,,主要由驅(qū)動(dòng)輪內(nèi)側(cè)的碼盤(pán)信號(hào)計(jì)算出單個(gè)驅(qū)動(dòng)輪角速度信息,,從而根據(jù)運(yùn)動(dòng)學(xué)模型計(jì)算出行駛距離。羅盤(pán)計(jì)基于指南針原理,,用于測(cè)量機(jī)器人的車身角度,。
1.1.2 超聲波測(cè)距
超聲波測(cè)距原理采用時(shí)間差測(cè)距法,可表示為:
式中,,D為超聲波傳感器與障礙物之間的距離,,C為超聲波速度,?駐t為發(fā)射和接收之間的時(shí)間差,。
1.2 移動(dòng)機(jī)器人模型
1.2.1 機(jī)器人運(yùn)動(dòng)學(xué)模型
本設(shè)計(jì)研究的是雙輪差分驅(qū)動(dòng)式移動(dòng)機(jī)器人,,由兩個(gè)驅(qū)動(dòng)輪和一個(gè)隨動(dòng)輪組成。兩驅(qū)動(dòng)輪之間的軸間距離為d,,驅(qū)動(dòng)輪半徑為r,,其軸間連線中點(diǎn)為M,坐標(biāo)為(xM,,yM),,如圖2所示。
1.2.2 航姿推算定位法
雙輪差分驅(qū)動(dòng)式移動(dòng)機(jī)器人的運(yùn)動(dòng)分為直線模式和弧線模式兩種,,本設(shè)計(jì)采用相對(duì)簡(jiǎn)單的直線模型,。離散化航姿推算定位法形式為:
2 移動(dòng)機(jī)器人仿真平臺(tái)建立
本文利用Matlab GUI設(shè)計(jì)人機(jī)交互方式的二維平面環(huán)境模型[5],可以設(shè)置移動(dòng)機(jī)器人的行駛環(huán)境大小,、起點(diǎn)和終點(diǎn),,通過(guò)文本設(shè)計(jì)方法再加鼠標(biāo)設(shè)置可以繪制障礙物區(qū)域。利用文本設(shè)置的行駛環(huán)境大小、起點(diǎn)與終點(diǎn)設(shè)置,,障礙物相對(duì)簡(jiǎn)單,。鼠標(biāo)設(shè)置相對(duì)復(fù)雜,需要響應(yīng)鼠標(biāo)事件,。當(dāng)鼠標(biāo)左鍵單擊白色坐標(biāo)軸有效范圍時(shí),,系統(tǒng)響應(yīng)單擊事件記下第一個(gè)點(diǎn)的坐標(biāo)值,然后鼠標(biāo)劃過(guò)一段區(qū)域后釋放,,系統(tǒng)響應(yīng)釋放事件記下第二個(gè)點(diǎn)坐標(biāo)值,。通過(guò)兩點(diǎn)坐標(biāo)值即可唯一確定一個(gè)矩形障礙物。
3 建立模糊控制器
4 仿真
本設(shè)計(jì)平臺(tái)對(duì)移動(dòng)機(jī)器人的本身和行駛環(huán)境作如下假設(shè):(1)車輪只能在地面上正常滾動(dòng),,不發(fā)生側(cè)向滑動(dòng),;(2)機(jī)器人在二維平面內(nèi)運(yùn)動(dòng),,運(yùn)動(dòng)表面平整,。
對(duì)于隨機(jī)的未知環(huán)境,系統(tǒng)設(shè)置:X軸和Y軸的坐標(biāo)顯示范圍為[-100,,1000],。起點(diǎn)A(0,0),,終點(diǎn)B(900,,900);機(jī)器人初始行駛角度為0,;Δs為0.5,。通過(guò)鼠標(biāo)隨機(jī)繪制障礙物。點(diǎn)擊“運(yùn)行”后,,代替車體的半徑為8的圓點(diǎn)開(kāi)始實(shí)現(xiàn)以目標(biāo)點(diǎn)為向?qū)У谋苷闲袨?,并顯示出行為軌跡,結(jié)果如圖7所示,。
圖8所示為機(jī)器人車身角度變化示意圖,,對(duì)照?qǐng)D7,移動(dòng)機(jī)器人在行駛過(guò)程中車身角度隨障礙物的隨機(jī)分布而變化,。為了程序計(jì)算方便,,角度一律取弧度值。
本設(shè)計(jì)介紹了移動(dòng)機(jī)器人的基本結(jié)構(gòu)和運(yùn)動(dòng)原理,,并在此基礎(chǔ)上實(shí)現(xiàn)了基于Matlab GUI的移動(dòng)機(jī)器人控制仿真平臺(tái),。將基于行為的模糊控制應(yīng)用于機(jī)器人進(jìn)行實(shí)時(shí)控制。仿真結(jié)果表明,,移動(dòng)機(jī)器人響應(yīng)速度快,,適應(yīng)環(huán)境能力強(qiáng),成功實(shí)現(xiàn)從起點(diǎn)到目標(biāo)點(diǎn)的路徑規(guī)劃。
參考文獻(xiàn)
[1] QIN Guo Ping,,YAO Wei,,ZHANG Wei.Design of nonlinear optimization PID controller for BLDCM based on neurofuzzy identified model[C].Proceedings of the Eiqhth International conference.2005,2(27~29):1524-1527.
[2] 張洪宇,,徐昕,,張鵬程,等.雙輪驅(qū)動(dòng)移動(dòng)機(jī)器人的學(xué)習(xí)控制器設(shè)計(jì)方法[J].計(jì)算機(jī)應(yīng)用研究,,2009,,26(6):2310-2313.
[3] 高揚(yáng),孫樹(shù)棟,,黃偉峰.一種未知環(huán)境下的快速路徑規(guī)劃方法[J].計(jì)算機(jī)應(yīng)用研究,,2009,26(7):2623-2626.
[4] 梁毓明,,徐立鴻.移動(dòng)機(jī)器人多傳感器測(cè)距系統(tǒng)研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,,2008,6(28):340-343.
[5] 劉保龍,,何波,,王永清,等. 移動(dòng)機(jī)器人未知環(huán)境地圖構(gòu)建仿真平臺(tái)[J].系統(tǒng)仿真學(xué)報(bào),,2007,,19(13):2940-2943.
[6] 吳曉莉,林哲輝.Matlab輔助模糊系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,,2002.