小車自動(dòng)避障及路徑規(guī)劃
《小車自動(dòng)避障及路徑規(guī)劃》由會(huì)員分享,可在線閱讀,更多相關(guān)《小車自動(dòng)避障及路徑規(guī)劃(23頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 第3章 系統(tǒng)總體結(jié)構(gòu)及工作原理 該系統(tǒng)主要以超聲波測(cè)距為基本測(cè)距原理,并在相應(yīng)的硬件和軟件的支持下,達(dá)到機(jī)器人避障的效果。 機(jī)器人總體硬件設(shè)計(jì) 傳感器的分布要求 為了全方位檢測(cè)障物的分布狀況,并及時(shí)為機(jī)器人系統(tǒng)提供全面的數(shù)據(jù), 可將所需的八個(gè)傳感器均勻排列在機(jī)器人周圍,相鄰每對(duì)傳感器互成 45 度角。為了避免相互干擾,八個(gè)傳感器以程序運(yùn)行周期為周期,進(jìn)行循環(huán)測(cè)距。傳感器排列示意圖如下: d4 d3 d5 d2 d6
2、 d1 d7 d0 圖 傳感器分布圖 避障系統(tǒng)總體電路框架圖設(shè)計(jì) 紅外傳感器 A/D 轉(zhuǎn)換 左側(cè)電機(jī) 超聲波信號(hào) 右側(cè)電機(jī) 單 片 機(jī) LED顯示 LED顯示 圖 硬件設(shè)計(jì)總體框架圖 上圖為支持機(jī)器人運(yùn)行實(shí)用程序的硬件部分的總體設(shè)計(jì)框架圖,由負(fù)責(zé)相關(guān)任務(wù)的同學(xué)提供。在超聲波信號(hào)輸入單片機(jī)以后,由存儲(chǔ)在單片機(jī)中的主程序調(diào)用避障子程序,根據(jù)輸入信號(hào)執(zhí)行避障指令,并使相關(guān)數(shù)據(jù)返回
3、主程序,轉(zhuǎn)而提供給電機(jī)和 LED 顯示器的驅(qū)動(dòng)程序使用,最后,由電機(jī)執(zhí)行轉(zhuǎn)向指令,結(jié)果則顯示在 LED顯示器上。 避障系統(tǒng)總體軟件框架圖設(shè)計(jì) 開(kāi)始 初始化,開(kāi)中斷 有按鍵 鍵盤處理 按下鍵值 X 運(yùn)行紅外避障 運(yùn)行顯示處理 運(yùn)行超聲波避障 電機(jī)處理程序 輸出顯示 電機(jī)處理程序 結(jié)束返回 圖 軟件總體
4、框架圖 由上圖可知,本文作者負(fù)責(zé)的超聲波避障程序?yàn)檐浖傮w設(shè)計(jì)中的子程序部分。在主程序運(yùn)行過(guò)程中,若調(diào)用超聲波避障程序,機(jī)器人在自行軌跡規(guī)劃后,將程序處理所得數(shù)據(jù)送給電機(jī)處理成立程序,控制電機(jī)動(dòng)作。具體的避障程序設(shè)計(jì)將在第 4 章進(jìn)行。 超聲波測(cè)距原理 測(cè)距原理:超聲波是指頻率高于 20KHz 的機(jī)械波。為了以超聲波作為檢測(cè) 手段,必須產(chǎn)生超生波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲波換能器或超聲波探頭。超聲波傳感器有發(fā)送器和接收器,但一個(gè)超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器是利用壓
5、電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化即在發(fā)射超聲波的時(shí)候,將電 能轉(zhuǎn)換,發(fā)射超聲波;而在收到回波的時(shí)候,則將超聲振動(dòng)轉(zhuǎn)換成電信號(hào)。 [8] 超聲波測(cè)距的原理一般采用渡越時(shí)間法 TOF(time of flight )。首先測(cè)出超聲 波從發(fā)射到遇到障礙物返回所經(jīng)歷的時(shí)間,再乘以超聲波的速度就得到二倍的 聲源與障礙物之間的距離,即: [8] D=ct/2 其中 D 為傳感器與障礙物之間的距離,以 m 計(jì), c 為超聲波速度,這里以 340m/s 計(jì), t 為超聲波從發(fā)送到接收的總時(shí)間,以 s 計(jì)。據(jù)此原理可以用超聲 波傳感器測(cè)得的距離
6、為避障程序提供所需的數(shù)據(jù)。 [8] 第 4 章 軌跡規(guī)劃算法的實(shí)現(xiàn)方案 軌跡規(guī)劃算法的層次化設(shè)計(jì) 根據(jù)上述材料分析,可以將機(jī)器人軌跡規(guī)劃算法設(shè)計(jì)分為基礎(chǔ)控制層、行為控制層和坐標(biāo)計(jì)算層,三個(gè)層次進(jìn)行。 基礎(chǔ)控制層設(shè)計(jì) 基礎(chǔ)控制層可定義為基本行為層,這層算法的任務(wù)是尋找目標(biāo)點(diǎn),并確保機(jī)器人可以順利到達(dá)指定目標(biāo)位。在確定目的地位置的情況下,為了達(dá)到上述目的,計(jì)算機(jī)必須對(duì)機(jī)器人的方位進(jìn)行時(shí)實(shí)計(jì)算。應(yīng)用人工勢(shì)場(chǎng)法原理,可以將目標(biāo)點(diǎn)設(shè)為引力極,牽引機(jī)器人運(yùn)動(dòng)。對(duì)此動(dòng)作建立相應(yīng)的模型,可以使用建立平面坐標(biāo)作為虛擬勢(shì)場(chǎng)的方
7、法來(lái)給機(jī)器人定義方位,將機(jī)器人關(guān)于目標(biāo)點(diǎn)的時(shí)實(shí)偏角作為虛擬引力方向,以確定機(jī)器人下一步所需轉(zhuǎn)過(guò)的角度,并時(shí)實(shí) 檢測(cè),是否已到達(dá)目的地,若已到達(dá),則可認(rèn)為虛擬引力此刻為 0,并發(fā)出信號(hào)控制程序終止運(yùn)行總體程序。 由此,可確定基礎(chǔ)控制層所需的各參數(shù): (1) 機(jī)器人的時(shí)實(shí)坐標(biāo) x, y 值,由專門的坐標(biāo)計(jì)算層提供,為了提高精確度,可以采用厘米為單位制。 (2) 機(jī)器人的速度 v,測(cè)量后設(shè)為定值使用。 (3) 周期 T,直接設(shè)置為定值使用。 (4) 偏轉(zhuǎn)角 de,可通過(guò)機(jī)器人與橫坐標(biāo)之間的夾角 pe,減去機(jī)器人到目標(biāo)點(diǎn)連線與橫坐標(biāo)的夾角 E 得到。
8、 (5) 終止信號(hào) last 值先置為 0,當(dāng)?shù)竭_(dá)目的地時(shí),將其置為 1。 基礎(chǔ)控制層程序流程圖如下: 數(shù)據(jù)讀入 1 計(jì)算偏轉(zhuǎn)角 de 判斷是否到達(dá) 目標(biāo) 將 last 值置 Y N 數(shù)據(jù)輸出 2 圖 基本控制層程序流程圖 行為控制層 行為控制層是比基本控制層更復(fù)雜,更具有決定權(quán)的層次。它的存在決定了機(jī)器人智能避障行為的可行性,是相當(dāng)重要的算法層。其主要任務(wù)是讓機(jī)器人根據(jù)超聲波傳感
9、器采集的距離信息判斷是否該進(jìn)行避障行為,且給出避障的轉(zhuǎn)角值,及轉(zhuǎn)向。這些都以左右綜合距離的大小決定,當(dāng)左邊綜合距離大于友邊綜合距離時(shí),可認(rèn)為左邊的斥力值大與右邊斥力值,機(jī)器人左轉(zhuǎn),反之,右轉(zhuǎn)。當(dāng)前方綜合距離小于設(shè)定的最小允許接近距離,而左右綜合距離又相等時(shí),則需要設(shè)置專門的轉(zhuǎn)角,對(duì)機(jī)器人施行強(qiáng)制性轉(zhuǎn)角動(dòng)作。 據(jù)此,可將各控制變量之間的關(guān)系以數(shù)學(xué)公式的形式列出,并做為“人工勢(shì)場(chǎng)法”的基本數(shù)學(xué)模型被運(yùn)用于程序流程圖設(shè)計(jì)。 設(shè)聲納 Si 的輸出為 di,轉(zhuǎn)角 de 和速度 v 表示控制層行為的輸出,其中 de 表示機(jī)器人下一步的運(yùn)動(dòng)方向, v 表示機(jī)器人下一步運(yùn)動(dòng)的速度。那么,基于勢(shì)場(chǎng)的
10、控制行為可以表示如下 。
de = me L
11、為機(jī)器人周圍無(wú)障礙 物,機(jī)器人按基礎(chǔ)控制層執(zhí)行程序,其中的 me 表示機(jī)器人要到達(dá)目的地需要 轉(zhuǎn)過(guò)的角度。 de0 表示機(jī)器人執(zhí)行行為控制層程序時(shí),所需轉(zhuǎn)動(dòng)的角度大小, 一般可設(shè)為定值。 以上述方案為基礎(chǔ),為了提高機(jī)器人的避障能力,還可對(duì)設(shè)置機(jī)器人的前 方迫近程度值 ,因?yàn)闄C(jī)器人的反轉(zhuǎn)是以轉(zhuǎn)角 180 度來(lái)實(shí)現(xiàn)的,而非后退,所以, 后方迫近程度值暫時(shí)無(wú)需設(shè)置。 de = de0 F>Mmax F 表示機(jī)器人前方距離值障礙物的迫近程度,根據(jù)圖: F 為第 4 號(hào)傳感器返 回距離值的倒數(shù), Mmax 就是
12、用于判斷障礙物是否已經(jīng)離機(jī)器人很近,假設(shè)機(jī)器人的最大速度為 v,每?jī)刹街g的時(shí)間間隔為 t ,那么,為了確保機(jī)器人不會(huì) 與障礙物碰撞, Mmax 可以表示為速度 v 和間隔時(shí)間 t 乘積的倒數(shù)。當(dāng) F 值大于 Mmax 值時(shí),表示前方距離障礙物很近了,需要進(jìn)行避障處理了 。 行為控制層程序流程圖如下: 數(shù)據(jù)讀入 0 N F 是否大于 Mmax Y R 是否大于等于 L N 左轉(zhuǎn)角度 de 右轉(zhuǎn)角度 de Y L和 R是否都
13、 小于 Mmin N Y 數(shù)據(jù)出口 1 R 是否大于等 于 L Y N 左轉(zhuǎn)角度 de 右轉(zhuǎn)角度 de 數(shù)據(jù)輸出 2 圖 行為控制層程序流程圖 坐標(biāo)計(jì)算層設(shè)計(jì) 坐標(biāo)計(jì)算層的設(shè)計(jì)方案,主要可采用虛擬坐標(biāo)技術(shù),它能形象地定義機(jī)器人相對(duì)障礙物及目標(biāo)點(diǎn)的具體位置,確保機(jī)器人及時(shí)避障,并順利到達(dá)目標(biāo)點(diǎn)。 在機(jī)器人初始坐標(biāo)明確的條件下,機(jī)器人坐標(biāo)可根據(jù)上述兩層程序提供的 數(shù)據(jù)算得。設(shè)程序循環(huán)間隔的周期為 T,那么,在間隔周期 T 時(shí)間
14、內(nèi),機(jī)器人 行走的距離 P 為速度 v 與 T 的乘積。 又設(shè)機(jī)器人正方向與平面坐標(biāo)橫軸正方向 的夾角為 pe ,其初始值確定,轉(zhuǎn)動(dòng)值為上述兩層提供的角度 de ,那么本周期 的 pe 值為上個(gè)周期的 pe 值與轉(zhuǎn)角 de 的差。由此,可分別計(jì)算機(jī)器人本周期內(nèi)橫、縱坐標(biāo)的變化值 X , Y。 X = P * cos ( pe ) Y = P * sin ( pe ) 因此,本周期的橫、縱坐標(biāo) x , y 值可由上個(gè)周期的坐標(biāo)減去變化值得到。 而本周期的坐標(biāo)值在行為控制層允許的情況下,將被代入基本行為層,檢測(cè)是否到達(dá)目的地。
15、坐標(biāo)計(jì)算層程序流程圖如下: 數(shù)據(jù)讀入 2 計(jì)算 P 計(jì)算 pe 計(jì)算本周期內(nèi)橫 、 縱坐標(biāo)變化值 X , Y 計(jì)算本周期內(nèi)橫 、 縱坐標(biāo)的值 x , y 數(shù)據(jù)輸出 0 圖 坐標(biāo)計(jì)算層程序流程圖 上述三層算法,相互制約,相互聯(lián)系,組成了整個(gè)系統(tǒng)的基本算法。每次循環(huán)執(zhí)行程序時(shí),都是由行為控制層入口,通過(guò)對(duì)迫近程度值大小的判斷,選擇是否中斷行為控制層,轉(zhuǎn)而執(zhí)行基礎(chǔ)控制層。最后執(zhí)行坐標(biāo)計(jì)算層,并把所得數(shù)據(jù)提供傳給程序循環(huán)的下一周期使用。依據(jù)上述各算法層之間的關(guān)
16、系,可以組合出軌跡規(guī)劃子程序的總體程序流程圖,如下圖所示: 主程序調(diào)用 入口 0 行為控制層 數(shù)據(jù)接口 1 基礎(chǔ)控制層 數(shù)據(jù)接口 2 坐標(biāo)計(jì)算層 主程序調(diào)用 出口 0 圖 軌跡規(guī)劃子程序總體程序流程圖 機(jī)器人系統(tǒng)及環(huán)境的軟件化 硬件及環(huán)境的軟件化技術(shù)是一種脫離硬件及實(shí)際環(huán)境對(duì)程序進(jìn)行檢測(cè)、仿真的編程技術(shù),也是對(duì)機(jī)器人軌跡進(jìn)行規(guī)劃的過(guò)程中必不可少的一種技術(shù)。它將避障程序運(yùn)
17、行必需的硬件功能及環(huán)境影響,用擁有同樣功效的程序表達(dá)出來(lái),以檢測(cè)避障程序正確與否。 1.以下便是支持避障程序運(yùn)行必需的各項(xiàng)硬件功能: (1) 測(cè)量 8 個(gè)超聲波傳感器與障礙物之間的距離。 (2) 系統(tǒng)停止調(diào)用避障子程序的功能。 (3) 機(jī)器人運(yùn)行軌跡的可視化功能。 2.以下可視為環(huán)境對(duì)程序的影響: (1)機(jī)器人運(yùn)行前,設(shè)置障礙物的大小及坐標(biāo)。 根據(jù)上述原理和各項(xiàng)需要模擬的功能,可以使用數(shù)學(xué)建模的方法進(jìn)行軟件化編程。首先,需要對(duì)上述邏輯化步驟進(jìn)行排序。 因?yàn)闄C(jī)器人行為是一種仿人的行為,因此,可將上述功能及影響對(duì)應(yīng)相關(guān)的“神經(jīng)傳導(dǎo)過(guò)程”進(jìn)行排序,并在
18、排序后設(shè)計(jì)相應(yīng)的系統(tǒng)程序流程圖。排序 及功能對(duì)應(yīng)的圖形如下: 環(huán)境識(shí)別功能 傳感器測(cè)距功能 神經(jīng)傳遞功能 行為決策功能 軌跡規(guī)劃子程序功能 行為動(dòng)作功能 神經(jīng)反射功能 行為動(dòng)作功能 行為動(dòng)作功能 停止調(diào)用子程序 軌跡可視化功能 圖 神經(jīng)傳導(dǎo)模型排序圖
19、圖中的“神經(jīng)傳遞功能”相當(dāng)于數(shù)據(jù)輸入功能,而“行為決策功能”相當(dāng)于偏角計(jì)算及算法層次選擇的功能, “行為動(dòng)作功能”則對(duì)應(yīng)機(jī)器人下步坐標(biāo)的確立過(guò)程。“神經(jīng)反射功能”的任務(wù)則是輸出必要數(shù)據(jù),并判斷是否應(yīng)該結(jié)束循環(huán)。由這些功能組成模塊,正是機(jī)器人軌跡規(guī)劃子程序部分。 程序開(kāi)始 放置障礙物 測(cè)量障礙物距離 避障子程序 N 是否停止避 障子程序 Y 繪制機(jī)器人運(yùn)行軌跡 程序結(jié)束 圖 系統(tǒng)程
20、序流程圖 超聲波傳感器測(cè)距功能的模擬 根據(jù)圖給出的系統(tǒng)程序流程,可知,在機(jī)器人系統(tǒng)及環(huán)境的軟件化過(guò)程中,傳感器測(cè)距功能的模擬最為繁雜。 主要的解決思路是建立適當(dāng)?shù)臄?shù)學(xué)模型,通過(guò)對(duì)模型的具體分析,運(yùn)用幾何學(xué)知識(shí)計(jì)算超聲波傳感器與障礙物之間的距離值。為了方便計(jì)算,可用微分學(xué)將障礙物設(shè)為由多個(gè)已知坐標(biāo)和半徑的圓組成的任意形狀。而傳感器到障礙物之間的距離可參考以下幾何建模的方法計(jì)算得出: V 第4號(hào)傳感 M a , b 器朝向 w 角 Xe
21、 A x , y X 軸正方向 障礙物 機(jī)器人 圖 機(jī)器人測(cè)距功能數(shù)學(xué)模型圖 根據(jù)上圖分析可設(shè)機(jī)器人半徑為 r ,障礙物半徑為 R 。實(shí)線 M 就是需要求取的障礙物與第 i 號(hào)傳感器之間的距離。點(diǎn)劃線 A 是機(jī)器人中心與障礙物圓心的連線,它與 X 正方向的夾角記為 Ze 。第 i 號(hào)傳感器與第 4 號(hào)傳感器之間的夾角記為 Ke ,在圖上反映為實(shí)線 M 與第 4 號(hào)傳感器之間的夾角。 因?yàn)闄C(jī)器人圓心坐標(biāo) (x ,y)可由避障子程序求得,而障礙物圓心 (a ,b)又是已知值,
22、因此,可用 C 語(yǔ)言表示出 Ze 值。 Ze=atan2((b-y),(a-x)); 根據(jù)圖可知相鄰兩個(gè)超聲波傳感器的夾角為 45 度,那么, Xe 的值可分為 兩種情況,分別求取: 當(dāng) i < 4 時(shí),第 i 號(hào)傳感器在第 4 號(hào)傳感器左邊。 Xe = Ze-pe-(4-i)*45; 當(dāng) i >= 4 時(shí),第 i 號(hào)傳感器在第 4 號(hào)傳感器右邊。 Xe = pe-Ze-(i-4)*45; 已知 Xe 值后,通過(guò)正余弦公式便可求得機(jī)器人與障礙物之間的距離 M 。 其 C 程序表達(dá)式如下: N=A
23、*sin(Xe); M = abs(A*cos(Xe))-sqrt(R*R-N*N)-r; 避障子程序與實(shí)用主程序的銜接組合 將中提及的三層算法整理到一起就可以組裝成實(shí)現(xiàn)避障行為的子程序。將該子程序代替圖的總體軟件框架中的“運(yùn)行超聲波避障”部分,就可構(gòu)成實(shí)用程序的流程圖了。 開(kāi)始 初始化,開(kāi)中斷 有按鍵 鍵盤處理 按下鍵值 X 運(yùn)行紅外避障 運(yùn)行顯
24、示處理 電機(jī)處理程序 輸出顯示 結(jié)束返回 主程序調(diào)用 入口 0 行為控制層 數(shù)據(jù)接口 1 基礎(chǔ)控制層 數(shù)據(jù)接口 2 坐標(biāo)計(jì)算層 主程序調(diào)用 出口 0 電機(jī)處理程序 圖 避障機(jī)器人運(yùn)行實(shí)用程序流程圖 難點(diǎn)程序化優(yōu)化處理
25、 在對(duì)程序詳細(xì)設(shè)計(jì)的過(guò)程中,難免遇到一些難以表達(dá),或表達(dá)不到位的地方,比如角度換算問(wèn)題、障礙物放置個(gè)數(shù)問(wèn)題以及虛擬超聲波的穿透測(cè)距問(wèn)題。 在避障子程序和仿真主程序中,大量使用了角度這一變量。為了表示機(jī)器人轉(zhuǎn)動(dòng)這一動(dòng)作,角度就必須帶上正負(fù)符號(hào)。當(dāng)然,真正需要注意的并不是角 度的符號(hào)問(wèn)題,而是“角度”與“弧度”的互換問(wèn)題。在 C 程序中,有關(guān)正弦、余弦、正切、余切及其反函數(shù)的計(jì)算,一般都是以弧度作為角的單位被使用的,因此,在角的單位處理上,需要特別留意。處理方法一般是根據(jù)“弧 度”和“角度”的關(guān)系式進(jìn)行互相轉(zhuǎn)換, “ 360=2π弧度”,子程序中的處理如下: E=(
26、180*atan2(Y,X))/; /*機(jī)器人圓心到目標(biāo)點(diǎn)的連線與橫坐標(biāo) X 的夾角 */ dx=p*cos((pe*/180); /* 機(jī)器人每走一步,在橫坐標(biāo)上產(chǎn)生的變量值 */ dy=p*sin((pe*/18 0); /* 機(jī)器人每走一步,在 縱坐標(biāo)上產(chǎn)生的變量值 */ 障礙物的放置動(dòng)作,反映在仿真程序中,相當(dāng)于由調(diào)試人員輸入多個(gè)定坐標(biāo)和半徑的圓的動(dòng)作。為了確??杀惠斎雸A的個(gè)數(shù)盡量多,可采用循環(huán)輸入方式置障。在循環(huán)過(guò)程中,因無(wú)法限制輸入圓的個(gè)數(shù),所以,必然會(huì)造成程序的 死循環(huán)。因此,必須給循環(huán)定義一個(gè)結(jié)束標(biāo)準(zhǔn)。通常可以在輸入程序“ scanf” 中多加一個(gè)結(jié)束
27、控制變量 s,將 s 初值置為 0,當(dāng) s=0 時(shí),循環(huán)繼續(xù),當(dāng) s=1 時(shí),跳出循環(huán)。子程序中的處理如下: for(j=0;s!=1;j++) { scanf("%f,%f,%f,%d",&xb[j],&yb[j],&rb[j],&s); /* 依次輸入圓心坐標(biāo),圓的半 徑,循環(huán)結(jié)束控制信號(hào) s 的值 */ setcolor(RED); setfillstyle(SOLID_FILL,RED); circle(xb[j],yb[j],rb[j]); n=j; } 虛擬超聲波的穿透測(cè)距問(wèn)題,在實(shí)際環(huán)境中,這是不可能發(fā)生的事情,但在程序
28、中,計(jì)算機(jī)每次循環(huán)都需要對(duì)每個(gè)圓進(jìn)行測(cè)距,這是由程序的智能程度偏低造成的,也是不可避免的,為了得到真實(shí)的測(cè)量數(shù)據(jù),需要給原算法加上智能化較高的附加模塊。根據(jù)邏輯分析,當(dāng)同一傳感器得到多個(gè)返回值時(shí),最 小的那個(gè)就是真實(shí)值。因此,可在原來(lái)算法的基礎(chǔ)上加上一段比較算法,得出最終真實(shí)值。子程序中的處理如下: for(i=0;i<=7;i++) /* 比較出每個(gè)傳感器返回值中的最小值,并作為傳感器的真實(shí)返回值,送入避障子程序處理 */ { for(j=1;j<=n;j++) { if(po[i][j]>po[i][j-1]) po[i][j]
29、=po[i][j-1]; min=po[i][j]; } d[i]=min; } 以上設(shè)計(jì)難點(diǎn)僅為詳細(xì)編程時(shí)碰到的幾個(gè)理論上的疑難問(wèn)題,而具體調(diào)試過(guò)程中出現(xiàn)的實(shí)際問(wèn)題將在第 5 章,給出相應(yīng)解決方案。 第 5 章 程序的仿真分析 仿真數(shù)據(jù)處理及分析 為了檢測(cè)避障程序能否正常運(yùn)行,必須對(duì)其進(jìn)行仿真處理。 在開(kāi)始仿真處理前,為了便于對(duì)仿真結(jié)果進(jìn)行分析,首先需在仿真主程序中將機(jī)器人起點(diǎn)設(shè)置為黃色,目標(biāo)點(diǎn)設(shè)為紅色,障礙物為綠色,機(jī)器人自身設(shè)為藍(lán)色,這可以方便觀察、分析。為了提高仿真的精確度,程序中衡量長(zhǎng)度的數(shù)據(jù)都
30、以分米為單位。 做好上述準(zhǔn)備后,就可以在環(huán)境下開(kāi)始程序仿真了。為了對(duì)程序功能進(jìn)行全面的檢測(cè),障礙物放置方法越多越好。下面,從簡(jiǎn)入難對(duì)程序進(jìn)行仿真。 1. 對(duì)單障礙物阻擋的仿真 (1) 機(jī)器人左偏避障 以下圖形中黃色的圓代表機(jī)器人行動(dòng)的起點(diǎn)坐標(biāo),其圓心坐標(biāo)為 (20,20),半徑為 20;藍(lán)色的圓組成的是機(jī)器人移動(dòng)的軌跡;綠色圓代表障礙物,其圓心坐標(biāo)為( 150, 150),半徑為 50;紅色的圓代表目的地,圓心坐標(biāo)為( 400, 400),半徑為 20。程序中設(shè)定的程序循環(huán)周期為 4 秒,速度為 10 分米每秒。
31、 圖 單障礙物環(huán)境下,機(jī)器人的左偏運(yùn)動(dòng) 根據(jù)對(duì)圖形中,不同顏色的圓的相對(duì)位置分析可知,機(jī)器人可以成功的以左偏方式避開(kāi)正前方的障礙物,但卻穿越了目的地限定的紅色區(qū)域,這可視為沒(méi)有成功到達(dá)目的地。可見(jiàn),避障程序的循環(huán)周期過(guò)大了,因 此,可將程序的循環(huán)周期改為 2 秒,從而可以得到較完美的圖形,圖顯示了程序改進(jìn)后的效果。
32、 圖單障礙物環(huán)境下,機(jī)器人的左偏運(yùn)動(dòng)的改進(jìn)圖 (2) 機(jī)器人右偏避障 以修改后的上述仿真為基礎(chǔ),保持起點(diǎn)圓和目的地圓的圓心坐標(biāo)及半 徑不變,以函數(shù)輸入的形式,重新調(diào)整障礙物的圓心坐標(biāo)及半徑大小,可得到仿真圖。 改動(dòng)后的障礙物圓心坐標(biāo)為( 150,140),半徑為 50 分米。
33、 圖單障礙物環(huán)境下,機(jī)器人的右偏運(yùn)動(dòng) 從圖可看出機(jī)器人根據(jù)程序判斷出從右邊到目的地的距離比從左邊去短,并選擇了短距離避障的運(yùn)行方式。而且,機(jī)器人可以順利到達(dá)目的地。但圖中,機(jī)器人運(yùn)行軌跡仍有與障礙物接觸的點(diǎn),表明程序循環(huán)周期依然過(guò)大,繼續(xù)進(jìn)行改進(jìn),其改進(jìn)效果在“機(jī)器人對(duì)雙障礙物的同側(cè)避障”圖中顯得較為可觀。 2. 對(duì)多障礙物阻擋情況的仿真 (1) 機(jī)器人對(duì)雙障礙物的同側(cè)避障 在保證起點(diǎn)和目的地圓心坐標(biāo)及半徑不變的條件下,可繼續(xù)添加障礙物來(lái)檢測(cè)機(jī)器人是
34、否有避開(kāi)多個(gè)障礙的能力。 輸入一號(hào)障礙物圓心坐標(biāo)( 150, 150),半徑 50 分米;二號(hào)障礙物圓心坐標(biāo)( 300,300),半徑 50 分米??紤]到新加障礙物可能影響機(jī)器人行走的精確度,可將程序循環(huán)周期改為 1 秒,仿真后得到圖。 圖機(jī)器人對(duì)雙障礙物的同側(cè)避障 1 根據(jù)上圖中機(jī)器人的軌跡分析可知機(jī)器人擁有對(duì)多重障礙
35、物的避障功能,并可以按指令到達(dá)目標(biāo)點(diǎn)。當(dāng)然,這里的多重障礙物是非連續(xù)分布。 (2) 機(jī)器人對(duì)雙障礙物的異側(cè)避障 為了檢測(cè)機(jī)器人在進(jìn)行多重障礙物避障的行為過(guò)程中是否依然具有近 距離選擇,這一智能行為,可繼續(xù)改變障礙物的位置分布狀況。 入一號(hào)障礙物圓心坐標(biāo)( 150,150),半徑 50 分米;二號(hào)障礙物圓心坐標(biāo)( 250, 150),半徑 50 分米。仿真后,生成下圖。
36、 圖機(jī)器人對(duì)雙障礙物的異側(cè)避障 觀察圖,可發(fā)現(xiàn)機(jī)器人并不是從兩個(gè)障礙物的同側(cè)饒過(guò),而是選擇了相對(duì)較短的路程,從障礙物中間穿過(guò),并成功避開(kāi)了障礙物,到達(dá)目的地,這說(shuō)明,在該程序的支持下,機(jī)器人可以實(shí)現(xiàn)智能化較高的避障處理方式了。 (3) 機(jī)器人對(duì)壁形障礙物的避障 在機(jī)器人運(yùn)行起點(diǎn)和目的地之間,放置一串圓心在同一直線上,半徑相 同的圓形障礙物,組成壁形進(jìn)行仿真,這樣可測(cè)試機(jī)器人對(duì)連續(xù)障礙物的避障行為。根據(jù)壁形障礙物與機(jī)器人相對(duì)位置的多樣性,可做出如下兩種不同的仿真。當(dāng)壁形障礙物與起點(diǎn)到目的地的連線成任意不垂
37、直的角度時(shí),這時(shí),由于機(jī)器人左右迫近程度的不同,機(jī)器人將按照最短路徑行走,如圖;當(dāng)壁形障礙物與起點(diǎn)到目的地的連線垂直,且左右迫近程度相同時(shí),根據(jù)人工勢(shì)場(chǎng)法,機(jī)器人只能根據(jù)在該情況下設(shè)定的程序,選擇固定角度運(yùn)行。如圖。 圖機(jī)器人對(duì)壁形障礙物的避障 1 從上圖可直觀地看出,機(jī)器人再次以最短路徑繞過(guò)壁形障礙物,到達(dá)目的地,這再一次證
38、明了程序的智能化。 圖 機(jī)器人對(duì)壁形障礙物的避障 2 從圖觀察到,機(jī)器人在避障程序的指導(dǎo)下,繞過(guò)障礙物,在每個(gè)程序循 環(huán)周期中,其運(yùn)行方向都是與從第 0 號(hào)傳感器算起,第一個(gè)檢測(cè)到障礙物 的傳感器的前一號(hào)傳感器朝向是一致的。之所以,不使用每個(gè)程序循環(huán)周 期轉(zhuǎn)動(dòng)相同角度的老方法,是因?yàn)?,這種老方法在連續(xù)避障行為
39、中,可能 出現(xiàn)死循環(huán)。若這還不夠證明該程序避障的智能性,可繼續(xù)進(jìn)行更復(fù)雜的 仿真。 (4) 機(jī)器人在半包圍式障礙物內(nèi)的避障 基于以上仿真原理排列出的半包圍結(jié)構(gòu)障礙物更具測(cè)試意義。對(duì)如果 說(shuō),機(jī)器人對(duì)壁形障礙物避障仿真的成功證明了機(jī)器人具有躲避平面墻的功能,那么,在半包圍障礙物環(huán)境下的避障仿真則證明了機(jī)器人具有躲避垂直形墻角的功能,是在前一種仿真基礎(chǔ)上的進(jìn)步,也表明,該程序支持的機(jī)器人初步具有從房形障礙物中繞轉(zhuǎn)出來(lái)能力。仿真圖如下: 圖機(jī)器人在半包圍式障礙物內(nèi)的避障 上圖顯示的機(jī)器人成功躲避開(kāi)障礙物,并順利到達(dá)目的地。 (5) 機(jī)器人關(guān)于前方兩邊障礙物之間距離小于機(jī)器人直徑的多障礙物避障 為了測(cè)試機(jī)器人是否會(huì)穿過(guò)小于自身直徑的間隙,可做如下仿真,模擬小間隙情況。
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《比的意義》教學(xué)課件
- (精品)我們?cè)谛袆?dòng) (2)
- 孤立奇點(diǎn)留數(shù)習(xí)題課
- 七年級(jí)語(yǔ)文下冊(cè)(人教版)13-葉圣陶先生二三事(作業(yè))課件
- 《童年》教學(xué)課件
- 61源遠(yuǎn)流長(zhǎng)的中華文化
- 浙江中醫(yī)雜志投稿須知
- 底盤與主動(dòng)安全性系統(tǒng)
- 中國(guó)臨床解剖學(xué)雜志簡(jiǎn)介及來(lái)稿須知
- 5《爺爺和小樹(shù)》
- (蘇教版)四年級(jí)語(yǔ)文上冊(cè)課件+桂花雨+1
- 氣管插管病人的醫(yī)療護(hù)理
- 小學(xué)道德講堂“六個(gè)一”模板
- 第29課《詩(shī)詞五首-長(zhǎng)相思》PPT課件
- 湘科版四年級(jí)科學(xué)上冊(cè)全冊(cè)ppt課件