欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      CVM避障算法 翻譯

      時(shí)間:2019-05-14 02:34:28下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《CVM避障算法 翻譯》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《CVM避障算法 翻譯》。

      第一篇:CVM避障算法 翻譯

      基于曲率速度的局部避障方法(草稿)

      作者:Reid Simmons 翻譯:Luo Qijun 本文提出了一種新的室內(nèi)移動(dòng)機(jī)器人的局部避障方法,它將避障問(wèn)題描述為速度空間的約束優(yōu)化問(wèn)題。將速度和加速度的物理限制和障礙物分布的環(huán)境約束置于機(jī)器人的線(xiàn)速度和角速度上,機(jī)器人選擇滿(mǎn)足所有約束,并使得目標(biāo)函數(shù)最大化的速度指令,目標(biāo)函數(shù)折中考慮速度、安全性和目標(biāo)方向。這種方法的高效實(shí)時(shí)的應(yīng)用,已經(jīng)經(jīng)過(guò)廣泛測(cè)試,表明其在辦公室環(huán)境下可以可靠、平滑而快速的導(dǎo)航。這種避障方法可以作為更復(fù)雜導(dǎo)航行為的基礎(chǔ),從簡(jiǎn)單的漫游到基于地圖的導(dǎo)航都可以使用。

      1,引言

      局部避障算法針對(duì) 未知的 或 部分已知的環(huán)境。

      (1)機(jī)器人應(yīng)該能夠安全的導(dǎo)航,即使面臨感知器的噪聲 和 航跡的錯(cuò)誤

      (2)機(jī)器人應(yīng)該在試圖避障的同時(shí)趨向目標(biāo);

      (3)算法必須高效的運(yùn)算,以至于實(shí)時(shí)運(yùn)行于機(jī)器人主機(jī) 另外,有一些其他算法沒(méi)有考慮在內(nèi)的內(nèi)容:

      (1)機(jī)器人的動(dòng)態(tài)性應(yīng)該納入計(jì)算,使之能夠以高速運(yùn)動(dòng)于擁擠的環(huán)境中(2)算法應(yīng)該明確的盡量最大化機(jī)器人的前進(jìn)進(jìn)程(3)算法應(yīng)該同時(shí)控制機(jī)器人的方向和速度

      我們的方法,CVM算法,針對(duì)上述的內(nèi)容。該算法的主要特點(diǎn)是它在機(jī)器人的速度空間操作,而不是Cartesian或者配置空間,它通過(guò)最大化目標(biāo)函數(shù)來(lái)選擇命令,用于綜合考慮車(chē)體安全性、速度和目標(biāo)導(dǎo)向性。這種方法認(rèn)為機(jī)器人能夠控制線(xiàn)速度和角速度,但是不能瞬間轉(zhuǎn)向。也就是說(shuō),它只能沿著圓弧走。滿(mǎn)足這種方式的機(jī)器人包括差動(dòng)機(jī)器人,差速驅(qū)動(dòng)機(jī)器人,和多種 非完整車(chē)輛。然而 我們的論述忽略了加速度的影響,實(shí)際上,對(duì)于以步行速度運(yùn)行的室內(nèi)機(jī)器人來(lái)說(shuō),這是一個(gè)好的近似。

      曲率速度算法通過(guò)在速度空間添加約束,并在此空間中選擇滿(mǎn)足所有約束并且最大化目標(biāo)函數(shù)的點(diǎn)進(jìn)行工作的。約束條件來(lái)源于機(jī)器人速度和加速度的物理限制,和表示障礙物分布的傳感器數(shù)據(jù)。后者(對(duì)于每個(gè)可能的曲率),用于表示機(jī)器人在撞上障礙物之前能運(yùn)行多遠(yuǎn)。

      為了達(dá)到實(shí)時(shí)性能,到障礙物的曲線(xiàn)距離用一個(gè)分段函數(shù)來(lái)近似描述。這種近似將速度空間劃分為多個(gè)離散的區(qū)間,每個(gè)區(qū)間考慮一個(gè)確定的距離。該算法在各個(gè)區(qū)間中找到一個(gè)點(diǎn),使目標(biāo)函數(shù)最大化。這個(gè)全面最大化的點(diǎn)用于操作機(jī)器人。幾個(gè)簡(jiǎn)單的擴(kuò)展使該基本算法對(duì)于傳感器噪聲更具魯棒性,并減小了機(jī)器人陷入困境的可能性。在我們室內(nèi)機(jī)器人上的測(cè)試證明:它能在有人辦公室環(huán)境內(nèi)快速、平滑和安全行駛。相關(guān)工作

      一些著名的局部避障通過(guò)計(jì)算機(jī)機(jī)器人將要朝向的方向進(jìn)行的,但是沒(méi)有將車(chē)體的動(dòng)態(tài)特性計(jì)算在內(nèi)。例如:勢(shì)場(chǎng)趨近法使用排斥和吸引特性的向量和來(lái)計(jì)算期望的機(jī)器人朝向。速度控制 通過(guò)按勢(shì)向量大小比例選擇速度來(lái)確定。在該算法基礎(chǔ)上改進(jìn)得到的向量場(chǎng)直方圖方法,通過(guò)計(jì)算一個(gè)一維極性直方圖進(jìn)行的,處理該直方圖以檢測(cè)開(kāi)放區(qū)域以便機(jī)器人行進(jìn)。在方向被選擇后,再根據(jù)到障礙物的距離按比例選擇機(jī)器人速度。雖然該方法可以產(chǎn)生平滑的軌跡并能同時(shí)處理窄、寬的開(kāi)放處。就像勢(shì)場(chǎng)趨近法,它沒(méi)有把下列情況計(jì)算在內(nèi):當(dāng)機(jī)器人轉(zhuǎn)向時(shí)沿著圓弧移動(dòng),而不是沿著直線(xiàn)。在混亂復(fù)雜的環(huán)境中,它忽略了車(chē)輛的動(dòng)態(tài)特性,而這時(shí)很關(guān)鍵的。

      那些引入車(chē)輛動(dòng)態(tài)特性和非完整約束計(jì)算的方法已經(jīng)在線(xiàn)下路徑規(guī)劃中作了研究[],對(duì)于快速的局部避障來(lái)說(shuō),這些方法通常計(jì)算代價(jià)太高。

      然而,最近報(bào)告了一些局部避障方法,通過(guò)選擇一些駕駛命令而不是行駛方向來(lái)引入車(chē)輛的動(dòng)力學(xué)特性。駕駛角度場(chǎng)算法,跟我們的算法類(lèi)似,使用到障礙物的曲率正切 來(lái)約束一個(gè)連續(xù)的空間(在那個(gè)情況下的駕駛角度一維空間)。曲率和連接弧的距離,在駕駛角度范圍內(nèi)用于阻止行駛。該算法計(jì)算幾個(gè)距離閾值的約束,并試圖行駛到最自由的空間。速度控制是一個(gè)在駕駛者模塊和局部避障模塊間的迭代“商議、談判”過(guò)程,與此相反,在我們的算法中,速度和轉(zhuǎn)向弧度通過(guò)仿真選擇,速度空間的點(diǎn)使得目標(biāo)函數(shù)最大化。針對(duì)室內(nèi)高速導(dǎo)航,有一個(gè)類(lèi)似的基于速度空間操作的算法,就有人作了更早但是獨(dú)立的研究。該算法針對(duì)受車(chē)輛動(dòng)力學(xué)約束的弧線(xiàn)的離散集合,并選擇其中一個(gè)最接近目標(biāo)方向,保證機(jī)器人不會(huì)在幾秒行駛范圍內(nèi)不會(huì)撞上障礙物。初始方法采用兩步趨近法來(lái)選擇曲率和速度;后來(lái),他們研究出了一步選擇曲率和速度的算法[6]。針對(duì)室外導(dǎo)航,也有一種類(lèi)似的的方法[7]??紤]了所有的車(chē)體動(dòng)力學(xué),所以路徑不必是一個(gè)圓弧,為每條路徑計(jì)算一個(gè)可行度量,并選擇其中一個(gè)最好的結(jié)果。但是這些方法的問(wèn)題在于:僅僅通過(guò)分析弧線(xiàn)的離散集合,好的路徑可能淹沒(méi)在碰撞中,并且不被考慮到。曲率速度法

      我們描述局部避障問(wèn)題為一個(gè)在機(jī)器人的速度空間內(nèi)的約束優(yōu)化問(wèn)題。機(jī)器人的速度空間就是可控制速度的稽核。對(duì)于差速驅(qū)動(dòng)機(jī)器人來(lái)說(shuō),就像我們的機(jī)器人,速度空間包括線(xiàn)速度和角速度的正交空間。通過(guò)約束優(yōu)化,我們?cè)噲D使機(jī)器人選擇某個(gè)(tv, rv)對(duì),使得目標(biāo)函數(shù)最大化,同時(shí)在允許的速度情況下滿(mǎn)足所有的約束。

      用這種公式描述局部避障問(wèn)題有幾個(gè)優(yōu)點(diǎn):首先,通過(guò)在速度空間內(nèi)的計(jì)算,我們能夠同時(shí)控制機(jī)器人的速度和朝向,并得到一個(gè)直接產(chǎn)生命令用于控制機(jī)器人的解決方法。通過(guò)將此問(wèn)題作為一個(gè)約束優(yōu)化問(wèn)題,我們能夠很簡(jiǎn)單地合并來(lái)自于環(huán)境和機(jī)器人動(dòng)力學(xué)的約束條件,并能夠得到使速度和安全折中的描述(公式)(規(guī)則)。

      首先,我們假設(shè)機(jī)器人總是沿著圓弧線(xiàn)行駛,該弧線(xiàn)曲率由c = rv/tv得到,正的曲率表示順時(shí)針的移動(dòng)。所以,速度空間中的每個(gè)點(diǎn),對(duì)應(yīng)于笛卡爾空間中的約束曲率的運(yùn)動(dòng)。然而,這實(shí)際上是一種近似,如果考慮加速度的影響因素的話(huà),如果在絕大所屬室內(nèi)移動(dòng)機(jī)器人的相對(duì)較低速度和高加速度的情況下這些影響都被忽略。[6] 機(jī)器人的物理限制包括兩種類(lèi)型的速度空間約束。一個(gè)是機(jī)器人有最大角速度和線(xiàn)速度:tv<=tv(max), tv>=-tv(max), rv<=rv(max), rv>=-rv(max).在我們的方案中,我們又加入了一個(gè)約束條件:tv〉=0,以此防止機(jī)器人的后退運(yùn)動(dòng)。角加速度和線(xiàn)加速度的限制,ra(max)和ta(max)構(gòu)成了另外一些約束。給定機(jī)器人當(dāng)前速度 rv(cur)和tv(cur),和時(shí)間間隔T(accel)(基于CVM算法周期來(lái)選擇),我們?cè)偌尤?個(gè)約束條件,這些條件給出了在下一時(shí)刻可達(dá)的速度:

      考慮到安全原因,tv的明顯的其他約束沒(méi)有加入。我們?cè)噲D保證tv=0是速度空間中可以達(dá)到的部分。另外一個(gè)重要的約束源是由環(huán)境障礙物構(gòu)成的。我們可以按照如下方式將笛卡兒空間障礙物轉(zhuǎn)換為速度空間的約束:首先,轉(zhuǎn)化障礙物到配置空間,并且對(duì)所有曲率c,計(jì)算機(jī)器人在碰到障礙物obs可能行駛的距離dc(c,obs).然后定義每個(gè)障礙物在速度空間的距離函數(shù):

      給定障礙物集合OBS, 累積距離函數(shù)定義為:

      最后,由于傳感器探測(cè)距離的限制(為了避免無(wú)限值的計(jì)算),我們修剪了函數(shù)D,利用某個(gè)限制距離L(3m, 在我們的實(shí)現(xiàn)中)

      通常,計(jì)算障礙距離函數(shù)dc(c,obs)將會(huì)非常復(fù)雜,由于任意形狀的障礙物。為了解決此,我們將障礙物近似為圓形。這是一個(gè)有根據(jù)的接近,在給定傳感器輸入-聲納和激光測(cè)距儀的情況下。由于我們的機(jī)器人也是圓形,笛卡空間到配置空間的轉(zhuǎn)化僅僅通過(guò)機(jī)器人的半徑增加障礙物的半徑?,F(xiàn)在,計(jì)算dc是直接進(jìn)行的。由于在原始位置的機(jī)器人面向y軸正半軸,給定曲率c在(xj,yj)與障礙物相交,我們可以得到:

      給定這些物理的和環(huán)境的速度空間的約束,通過(guò)優(yōu)化目標(biāo)函數(shù)來(lái)選擇機(jī)器人的命令。從第1節(jié)的要求中,可以清楚的發(fā)現(xiàn)目標(biāo)函數(shù)會(huì)偏好更高的速度,在碰到障礙物前可以行駛更遠(yuǎn)距離的曲率,并且試圖使機(jī)器人面向期望的目標(biāo)方向。我們利用一個(gè)簡(jiǎn)單的線(xiàn)性目標(biāo)函數(shù)來(lái)描述這些準(zhǔn)則,其中,每項(xiàng)都要在0和1間進(jìn)行歸一化:

      速度項(xiàng)簡(jiǎn)單地表明了對(duì)更快速運(yùn)行的偏好,而其他的則一般。距離項(xiàng)表明沿著給定曲率rv/tv無(wú)碰撞運(yùn)行更遠(yuǎn)的距離。朝向項(xiàng)是與目標(biāo)朝向的偏差,它對(duì)期望的目標(biāo)朝向的速度轉(zhuǎn)動(dòng)時(shí)間Tc后將要達(dá)到的朝向之間的區(qū)別作了解釋。

      值表示每一項(xiàng)在目標(biāo)函數(shù)中的相關(guān)權(quán)重。利用目標(biāo)函數(shù)機(jī)器人可以展示不同的行為,這依賴(lài)于權(quán)重和障礙物分布,從為了避障急轉(zhuǎn)彎的減速到除了為了躲避同一障礙物而進(jìn)行提前轉(zhuǎn)向外的全速行駛。第6節(jié)展示了關(guān)于選擇權(quán)重值對(duì)算法敏感性的試驗(yàn)結(jié)果。

      (在機(jī)器人局部坐標(biāo)內(nèi))和機(jī)器人如果以rv 實(shí)時(shí)實(shí)現(xiàn)

      在前述章節(jié)中描述的曲率速度法,滿(mǎn)足局部避障的所有準(zhǔn)則,除了他不是計(jì)算高效的外。計(jì)算Dlimit 是很困難的,即使在圓形障礙物的簡(jiǎn)化假設(shè)條件下。另外,給定Dlimit的一個(gè)通用描述,函數(shù)f尋優(yōu)也是耗時(shí)的,即使使用如模擬退伙的近似技術(shù)。在這一節(jié)里,我們描述了實(shí)現(xiàn)細(xì)節(jié)以解決計(jì)算的相關(guān)問(wèn)題。

      利用一個(gè)區(qū)間的有限集合的近似Dlimit可以達(dá)到實(shí)時(shí)性能,這種區(qū)間是等距劃分的。這種曲率區(qū)間集合,通過(guò)使用障礙物的切線(xiàn)曲率,將速度空間劃分為常量距離的區(qū)間,進(jìn)而劃分那些重疊區(qū)域,以使 與區(qū)間對(duì)應(yīng)的距離是所有重疊區(qū)域中的最小距離。最小和最大速度、加速度約束加入到這個(gè)空間,并且,對(duì)于每個(gè)曲率區(qū)間,求出在約束上限的最高點(diǎn)(因?yàn)槭鼓繕?biāo)函數(shù)最大化的點(diǎn)必在上限邊界處)。機(jī)器人在所有曲率區(qū)間中選擇使目標(biāo)函數(shù)最大化的命令。

      我們通過(guò)速度距離函數(shù)dv來(lái)計(jì)算Dlimit。需要注意的是 對(duì)于一個(gè)給定的障礙物obs,dc(c, obs)在障礙物曲率切線(xiàn)區(qū)外是無(wú)限大的。所以,我們僅僅需要考慮Cmin和Cmax之間的那些曲率:

      交點(diǎn)(用于計(jì)算dc)是:

      注意:公式6沒(méi)有定義 障礙物圓覆蓋的區(qū)域

      。因?yàn)?,在?shí)際中,障礙物和機(jī)器人是不可能占據(jù)同一位置的,這僅僅會(huì)在傳感器噪聲或者確定障礙時(shí)的圓形近似的情況下產(chǎn)生。另外一種方式,我們通過(guò)定義半徑robs為

      (這里e設(shè)置為1厘米)來(lái)處理這樣一個(gè)障礙物。那么我們就可以使用公式6來(lái)計(jì)算所有障礙物的最小最大曲率。

      給定切線(xiàn)曲率,第一個(gè)近似(接下來(lái)將被精確計(jì)算)是將dv置為最大至最小曲率間的常量:

      每個(gè)確定的距離將產(chǎn)生一個(gè)障礙物區(qū)間的集合。為了計(jì)算Dlimit的精確確定近似值,我們通過(guò)分裂重疊障礙物區(qū)間和用更大的聯(lián)合距離去除重疊片找到了障礙物區(qū)間的最小合并。針對(duì)此的一個(gè)有效算法使用了一種曲率區(qū)間數(shù)據(jù)結(jié)構(gòu)(,d1,2)其中c1,c2是兩個(gè)曲率,d1,2時(shí)區(qū)間內(nèi)的確定的距離值。從幾何學(xué)上來(lái)說(shuō),每個(gè)曲率區(qū)間定義為速度空間上的一對(duì)直線(xiàn),直線(xiàn)間的距離是確定的值。

      最小合并算法從曲率區(qū)間個(gè)新的曲率區(qū)間:

      開(kāi)始,對(duì)于每個(gè)障礙物,用一對(duì)切線(xiàn)曲率與其關(guān)聯(lián)距離算法組成一,根據(jù)該區(qū)間與已存在區(qū)間的關(guān)系,修改該區(qū)間

      將切線(xiàn)曲率間的距離函數(shù)近似為常量,不是很合適的,因?yàn)閐v實(shí)際上是完全非線(xiàn)性的。在某些情況下,這種近似太過(guò)保守,特別是在兩個(gè)切線(xiàn)曲率的距離值是非常不同的。更重要的是,這種近似常常太過(guò)自由主義,實(shí)際最小值可能比每個(gè)切線(xiàn)曲率距離都要小。

      為了修正這些問(wèn)題,我們精煉dv的近似為一個(gè)分段常量。思想為:將區(qū)間

      分裂為多個(gè)區(qū)間,對(duì)每個(gè)區(qū)間計(jì)算出一個(gè)常量距離值,然后使用上述描述的最小合并算法來(lái)近似全部的Dlimit函數(shù)。我們的方法是要選擇障礙物圓上離原點(diǎn)直線(xiàn)距離最近的一個(gè)點(diǎn),并從該點(diǎn)開(kāi)始把障礙物劃分為四個(gè)象限。為最小和最大切線(xiàn)曲率的鄰近點(diǎn),定義曲率區(qū)間,每個(gè)區(qū)間的距離值設(shè)為兩個(gè)端點(diǎn)曲率的最小值。

      為了使目標(biāo)函數(shù)最大化,我們注意到:每個(gè)曲率區(qū)間提供了速度空間的一對(duì)線(xiàn)性不等式。在上述章節(jié)中描述的速度和加速度約束也是一些線(xiàn)性不等式。因此,我們有了一個(gè)線(xiàn)性不等式稽核和一個(gè)線(xiàn)性目標(biāo)函數(shù)---一種通常容易求解的形式。然而,在我們的問(wèn)題里,有一個(gè)附加問(wèn)題的附加結(jié)構(gòu),它會(huì)使的計(jì)算更加簡(jiǎn)化:因?yàn)榍示€(xiàn)對(duì)間的距離值是常量,目標(biāo)函數(shù)對(duì)于tv是單調(diào)遞增的,對(duì)于每個(gè)曲率區(qū)間的函數(shù)優(yōu)化值,存在于約束線(xiàn)的邊界上。這導(dǎo)向了一個(gè)非常高效的算法:對(duì)于每個(gè)曲率區(qū)間,在每個(gè)關(guān)聯(lián)約束的上邊界的頂點(diǎn)計(jì)算目標(biāo)函數(shù),并在所有曲率區(qū)間中選擇全局最優(yōu)值(利用一個(gè)小的擴(kuò)張:我們也需要在朝向誤差dthata是零,時(shí),計(jì)算目標(biāo)函數(shù))擴(kuò)展

      在前述兩節(jié)中描述的曲率速度法,有一些實(shí)際問(wèn)題。首先,由于傳感器噪聲,障礙物可能不是很精確,他們可能在內(nèi)部顯現(xiàn)。因此,我們可能要讓機(jī)器人與障礙物保持接近,并使之減速,如果不能在他們旁邊行駛的話(huà)。第二,雖然目標(biāo)函數(shù)通常能夠很好的獲得趨向目標(biāo)方向并且躲避障礙物行為,有兩種情況不能很好的工作:當(dāng)所有的選擇都一樣糟糕時(shí),表示機(jī)器人被掛住,和當(dāng)機(jī)器人離目標(biāo)方向很遠(yuǎn)時(shí)。在這一節(jié)內(nèi)容里,我們描述基本曲率速度算法的簡(jiǎn)單的擴(kuò)充,以解決上述每個(gè)問(wèn)題。一個(gè)簡(jiǎn)單的擴(kuò)充,幫助補(bǔ)償傳感器噪聲,它使用一個(gè)安全區(qū)來(lái)生長(zhǎng)障礙物。我們使用一個(gè)相對(duì)小的安全區(qū)(5cm),因?yàn)榘踩珔^(qū)的大小與機(jī)器人可通過(guò)開(kāi)放區(qū)間寬窄成反比例的。安全區(qū)太大,機(jī)器人通過(guò)房間門(mén)和在擁擠的走廊里經(jīng)過(guò)人群會(huì)有困難。

      另外一個(gè)擴(kuò)充,文獻(xiàn)3,6提出,幫助機(jī)器人保持遠(yuǎn)離障礙物(或者,至少,使它更小心,當(dāng)從障礙物邊行駛時(shí)),它添加了一個(gè)最大的可允許的線(xiàn)速度,該速度與到障礙物距離成比例。特別是,對(duì)于每個(gè)曲率區(qū)間,我們約束最大線(xiàn)速度tv<=d/Timp, 以致機(jī)器人能夠行使至少Timp秒,在碰到障礙物前。

      對(duì)于一些曲率區(qū)間,距離d 比極點(diǎn) ,中的一個(gè)或兩個(gè)都大,表示機(jī)器人將擦邊障礙物經(jīng)過(guò),如果它沿著此極點(diǎn)曲率行駛的話(huà)。(例如,d1, 的值圖3中,比dc(C3,B)大)。雖然添加一個(gè)安全區(qū)能夠有所幫助,我們通過(guò)增加一個(gè)約束進(jìn)一步增加了安全性,機(jī)器人僅在它離所有障礙物距離至少為S時(shí),才全速行駛。

      我們通過(guò)首先計(jì)算遠(yuǎn)離障礙物S的曲率,它在距離d正切于曲率c,來(lái)確定這個(gè)約束:

      然后,我們添加約束,線(xiàn)速度減低到由點(diǎn)()組成的直線(xiàn)下。

      這就確保機(jī)器人將不會(huì)全速行駛,除非它保留與障礙物至少距離S經(jīng)過(guò)。一個(gè)類(lèi)似的約束,使用公式9中的r+S,針對(duì)曲率區(qū)間的下界被加入。

      有時(shí)候,使目標(biāo)函數(shù)最優(yōu)的值使其機(jī)器人行駛很慢,或者完全不動(dòng)。這常常發(fā)生,例如,當(dāng)機(jī)器人在三面被障礙物包圍而它的目標(biāo)朝向就在正前方,就在障礙物區(qū)域。為了處理這一情況,我們采用了原地轉(zhuǎn)身算法,機(jī)器人原定不動(dòng)并且作旋轉(zhuǎn)直到最好的角速度命令為零。這將允許機(jī)器人終于看到前方開(kāi)放的區(qū)間并且向前移動(dòng),足夠使其移動(dòng)到距離陷阱外。

      最后一個(gè)擴(kuò)充,目標(biāo)函數(shù)權(quán)重參數(shù)的選擇,是必要的。選擇的權(quán)重工作良好,當(dāng)機(jī)器人面向目標(biāo)方向很近時(shí)(在正負(fù)60度以?xún)?nèi)),但是當(dāng)它面向相反方向時(shí)卻效果很差。在這種情況下,我們要強(qiáng)烈鼓勵(lì)機(jī)器人開(kāi)始轉(zhuǎn)動(dòng),從而面向目標(biāo)方向。我們通過(guò)增加朝向項(xiàng)的權(quán)重來(lái)實(shí)現(xiàn),該權(quán)重正比于機(jī)器人離目標(biāo)方向的大小。

      特別是,我們用

      代替目標(biāo)函數(shù)中的。下一節(jié),討論各參數(shù)值對(duì)算法的靈敏性。試驗(yàn)結(jié)果

      CVM算法已經(jīng)在在Xavier移動(dòng)機(jī)器人上實(shí)現(xiàn)和測(cè)試。Xavier是一個(gè)四輪同步驅(qū)動(dòng)底盤(pán)的機(jī)器人,由RWI制造,可以獨(dú)立控制其線(xiàn)速度和角速度。他使用一圈24個(gè)聲納傳感器(1-2Hz)和一個(gè)30度激光測(cè)距儀(5-10Hz)。聲納和激光數(shù)據(jù)組合起來(lái)并采用一個(gè)簡(jiǎn)單的20cm精度histogram grid 文獻(xiàn)[2]。

      底盤(pán)得到8 Hz的航跡推算信息,cvm算法也以此速度運(yùn)行。但接受到一個(gè)新的數(shù)據(jù)報(bào)時(shí),每一個(gè)被占的格子單元被轉(zhuǎn)化為自身局部坐標(biāo)并處理產(chǎn)生曲率約束。一般有15-30個(gè)障礙物,產(chǎn)后10-15個(gè)不同的曲率區(qū)間(由于曲率區(qū)間重疊,區(qū)間數(shù)小于障礙物數(shù))。相應(yīng)的速度約束被添加進(jìn)去,最優(yōu)的(tv,rv)發(fā)給底盤(pán)計(jì)算機(jī)。算法(包括感知數(shù)據(jù)處理)運(yùn)行于在66MHz主頻的486計(jì)算機(jī)上,大概耗時(shí)12毫秒。

      CVM依賴(lài)一些參數(shù),特別是目標(biāo)函數(shù)中的。為了確定這些參數(shù)對(duì)算法的靈敏度,我們?cè)诜抡姝h(huán)境下做一個(gè)一系列測(cè)試。環(huán)境被設(shè)置為測(cè)試算法的逃離局部最優(yōu)和避障趨向目標(biāo)的能力。每次開(kāi)始機(jī)器人在一個(gè)點(diǎn)和給定方向,并向前直線(xiàn)運(yùn)行,當(dāng)機(jī)器人越過(guò)虛線(xiàn)時(shí)結(jié)束。

      改變參數(shù)完成了一些列路徑?;谕瓿陕窂降钠骄鶗r(shí)間,我們總結(jié)出算法對(duì)于目標(biāo)朝向權(quán)重參數(shù) a3的相對(duì)值比較敏感,而對(duì)a1, a2的相對(duì)值不敏感。如果a3置為0,a3/(a1+a2)的值大于15%的話(huà),算法進(jìn)展緩慢(機(jī)器人常陷入局部陷阱)。在此范圍內(nèi),每個(gè)路徑中的標(biāo)準(zhǔn)差比 其值和最優(yōu)設(shè)置的值的差 一般較大,但是在a1>a2時(shí)平均稍大。

      改變a4執(zhí)行類(lèi)似的路徑,額外的權(quán)值鼓勵(lì)機(jī)器人在遠(yuǎn)離前進(jìn)運(yùn)行。結(jié)果顯示CVM是相對(duì)不敏感的,對(duì)于a4>0但小于3(此時(shí),機(jī)器人又容易陷入局部)。最優(yōu)好的設(shè)置是a1=0.6, a2 = 0.3, a3 =0.1 a4=1.0(平均完成時(shí)間67.5s, 標(biāo)準(zhǔn)10.2s), 該設(shè)置用于圖8的顯示結(jié)果。

      圖9為Xavier的不同運(yùn)行軌跡。為更好的強(qiáng)調(diào)差別,圖中,障礙物(2個(gè)盒子,一個(gè)圓的垃圾罐,一個(gè)消防門(mén))用機(jī)器人半徑進(jìn)行了生長(zhǎng),而機(jī)器人為一個(gè)點(diǎn)。在每種情況下,機(jī)器人從圖上方開(kāi)始,面向底部,且要求其轉(zhuǎn)90度面向左側(cè)。每種情況下,機(jī)器人必須環(huán)繞圍墻并導(dǎo)航繞過(guò)三個(gè)離散的障礙物。我們?cè)?0,45,60cm/s的速度行駛對(duì)CVM算法與60cm/s運(yùn)行的勢(shì)場(chǎng)法進(jìn)行了對(duì)比。結(jié)果顯示,CVM較勢(shì)場(chǎng)法產(chǎn)生更為顯著的平滑軌跡。另外,在更高速度下,機(jī)器人保持離障礙物更遠(yuǎn),而且路徑較為平滑。這主要?dú)w結(jié)與 “靠近障礙物”約束在高速情況更加重要,這使機(jī)器人較早對(duì)目標(biāo)做出響應(yīng)。

      局部避障算法供幾個(gè)更高級(jí)別的行為使用?!奥巍蓖ㄟ^(guò)設(shè)置機(jī)器人局部目標(biāo)朝向?yàn)?,這偏向是機(jī)器人持續(xù)沿著當(dāng)前方向行駛?!俺蚍较颉毙袨橥ㄟ^(guò)設(shè)置為當(dāng)前機(jī)器人朝向和目標(biāo)方向的差值來(lái)實(shí)現(xiàn)。最后,為機(jī)器人朝向到局部目標(biāo)點(diǎn)的角“朝向目標(biāo)”行為通過(guò)變換全局目標(biāo)位置到機(jī)器人坐標(biāo)框架,并且設(shè)置度 來(lái)實(shí)現(xiàn)。對(duì)于最后那個(gè)行為,我們需要一個(gè)附加的擴(kuò)充:如果目標(biāo)點(diǎn)在曲率區(qū)間內(nèi),其相關(guān)距離較到目標(biāo)點(diǎn)的直線(xiàn)距離小,那么目標(biāo)朝向項(xiàng)的權(quán)重被設(shè)置為很高以強(qiáng)烈鼓勵(lì)機(jī)器人瞄向目標(biāo)行駛。

      這些行為,逐個(gè)構(gòu)成基于地圖導(dǎo)航規(guī)劃的基礎(chǔ)[文獻(xiàn)10,11]。最后系統(tǒng)展示出在人類(lèi)辦公室、走廊環(huán)境下的可靠、快速導(dǎo)航。討論

      我們描述了針對(duì)局部避障的曲率速度算法,它將此問(wèn)題視為機(jī)器人速度空間的約束優(yōu)化問(wèn)題。這種描述的優(yōu)點(diǎn)包括 同時(shí)控制速度和機(jī)器人朝向的能力,合成環(huán)境和機(jī)器人動(dòng)力學(xué)、以及處理速度、安全和目標(biāo)朝向的平衡能力約束的簡(jiǎn)化。

      CVM實(shí)現(xiàn)了實(shí)時(shí)性能,通過(guò)近似化機(jī)器人在碰到障礙物前能夠行駛多遠(yuǎn)的弧線(xiàn)距離來(lái)實(shí)現(xiàn)。近似處理是一個(gè)分段常量函數(shù),由到障礙物切線(xiàn)曲率來(lái)定義。附加的速度約束被加入,在機(jī)器人物理限制和保持遠(yuǎn)離障礙物的期望的基礎(chǔ)上,或者至少慢速行駛當(dāng)接近障礙物時(shí)。

      該方法已經(jīng)被實(shí)現(xiàn),并且在Xavier上進(jìn)行了測(cè)試,Xavier是一個(gè)差速驅(qū)動(dòng)機(jī)器人(它可以使用差分驅(qū)動(dòng)車(chē),并且是沿圓弧行駛的非完整約束車(chē)輛。)實(shí)現(xiàn)是高校的,并能使機(jī)器人在人員辦公室環(huán)境下達(dá)到60CM/s的速度行駛。速度限制的原因,在于聲納傳感器的速率(激光視場(chǎng)范圍限制阻礙它成為障礙物檢測(cè)的主要傳感器)。通過(guò)提高傳感器的檢測(cè)周期,我們希望達(dá)到一米每秒(travel)。

      基于該算法的下一步工作包括:找到更好的距離函數(shù)的近似方法,嘗試更精煉的目標(biāo)函數(shù)。我們也要致力于擴(kuò)展以曲率為基礎(chǔ)的速度空間算法來(lái)進(jìn)行多步導(dǎo)航規(guī)劃問(wèn)題。

      本文展示了通過(guò)考慮測(cè)量動(dòng)力學(xué),和使平衡速度、安全和目標(biāo)趨向的目標(biāo)函數(shù)最大化,我們可以創(chuàng)造一種高效的、實(shí)時(shí)的局部避障算法,用于在布滿(mǎn)障礙物的環(huán)境中產(chǎn)生安全、平滑、快速的軌跡。

      第二篇:智能避障機(jī)器人設(shè)計(jì)外文翻譯

      外文翻譯

      INTELLIGENT VEHICLE

      Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines.One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death.If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020.In fact, the U.S.Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion.When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic.Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management.Thus was born the intelligent transportation system(ITS).Starting in the late 1990s, ITS systems were developed and deployed.In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems.As the world energy crisis, and the war and the energy consumption of oil--and are full of energy, in one day, someday it will disappear without a trace.Oil is not in resources.So in oil consumption must be clean before finding a replacement.With the development of science and technology the progress of the society, people invented the electric car.Electric cars will become the most ideal of transportation.In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age.The electronic control technology in the car on a wide range of 1

      外文翻譯

      applications, the application of the electronic device, cars, and electronic technology not only to improve and enhance the quality and the traditional automobile electrical performance, but also improve the automobile fuel economy, performance, reliability and emissions purification.Widely used in automobile electronic products not only reduces the cost and reduce the complexity of the maintenance.From the fuel injection engine ignition devices, air control and emission control and fault diagnosis to the body auxiliary devices are generally used in electronic control technology, auto development mainly electromechanical integration.Widely used in automotive electronic control ignition system mainly electronic control fuel injection system, electronic control ignition system, electronic control automatic transmission, electronic control(ABS/ASR)control system, electronic control suspension system, electronic control power steering system, vehicle dynamic control system, the airbag systems, active belt system, electronic control system and the automatic air-conditioning and GPS navigation system etc.With the system response, the use function of quick car, high reliability, guarantees of engine power and reduce fuel consumption and emission regulations meet standards.The car is essential to modern traffic tools.And electric cars bring us infinite joy will give us the physical and mental relaxation.Take for example, automatic transmission in road, can not on the clutch, can achieve automatic shift and engine flameout, not so effective improve the driving convenience lighten the fatigue strength.Automatic transmission consists mainly of hydraulic torque converter, gear transmission, pump, hydraulic control system, electronic control system and oil cooling system, etc.The electronic control of suspension is mainly used to cushion the impact of the body and the road to reduce vibration that car getting smooth-going and stability.When the vehicle in the car when the road uneven road can according to automatically adjust the height.When the car ratio of height, low set to gas or oil cylinder filling or oil.If is opposite, gas or diarrhea.To ensure and improve the level of driving cars driving stability.Variable force power steering system can significantly change the driver for the work efficiency and the state, so widely used

      外文翻譯

      in electric cars.VDC to vehicle performance has important function it can according to the need of active braking to change the wheels of the car, car motions of state and optimum control performance, and increased automobile adhesion, controlling and stability.Besides these, appear beyond 4WS 4WD electric cars can greatly improve the performance of the value and ascending simultaneously.ABS braking distance is reduced and can keep turning skills effectively improve the stability of the directions simultaneously reduce tyre wear.The airbag appear in large programs protected the driver and passenger's safety, and greatly reduce automobile in collision of drivers and passengers in the buffer, to protect the safety of life.Intelligent electronic technology in the bus to promote safe driving and that the other functions.The realization of automatic driving through various sensors.Except some smart cars equipped with multiple outside sensors can fully perception of information and traffic facilities and to judge whether the vehicles and drivers in danger, has the independent pathfinding, navigation, avoid bump, no parking fees etc.Function.Effectively improve the safe transport of manipulation, reduce the pilot fatigue, improve passenger comfort.Of course battery electric vehicle is the key, the electric car battery mainly has: the use of lead-acid batteries, nickel cadmium battery, the battery, sodium sulfide sodium sulfide lithium battery, the battery, the battery, the flywheel zinc-air fuel cell and solar battery, the battery.In many kind of cells, the fuel cell is by far the most want to solve the problem of energy shortage car.Fuel cells have high pollution characteristics, different from other battery, the battery, need not only external constantly supply of fuel and electricity can continuously steadily.Fuel cell vehicles(FCEV)can be matched with the car engine performance and fuel economy and emission in the aspects of superior internal-combustion vehicles.Along with the computer and electronic product constantly upgrading electric car, open class in mature technology and perfected, that drive more safe, convenient and flexible, comfortable.Electric cars with traditional to compete in the market, the car will was electric cars and intelligent car replaced.This is the question that day

      外文翻譯

      after timing will come.ABS, GPS, and various new 4WD 4WS, electronic products and the modern era, excellent performance auto tacit understanding is tie-in, bring us unparalleled precision driving comfort and safety of driving.The hardware and software of the intelligent vehicle are designed based on AVR.This system could set the route in advance.The vehicle could communicate with the PC vianRF401 and could run safely with the help of ultra sound detection and infrared measuring circuit.Neural network self-study is used to improve the intelligence of the vehicle.The performance of servo systems will determine the property of the robot.Based on AVRseries MCU,the velocity servo system for driving motor is created in this paper,including a discrete PIregulator which will work out a PWM control signal with applying the skill of integral separation.The velocities of motors will be controlled real-time with the speed sampling frequency set for 2KHz by using the AVR-GCC compiler software development.Compared to the servo system development based on the 51 Series MCU,the system here has these advantages of simpler peripheral circuit and faster data processing.The experiments demonstrate that,the mobile robot runs stably and smoothly by the control of AVR units,and that the design proposal especially benefits the development of intelligent mobile robots,also can be widely used in the development of other smart devices and product lines.A new design of contest robot control system based on AVR Atmega8 was put forward.According to the character of contest robot , the main control unit , motor drive unit , sense detection unit and LCD display unit were introduced.Furthermore the servo driver system based on MCBL3006S , the line t racker sensor system and the obstacle avoidance sensor system were presented in detail.Finally the performance shows

      that

      the

      control

      system

      is

      open,simple,easy programming,intelligent and efficiency.Avoidance rules of intelligent vehicle obstacle are intro ducted.Through the collection of infrared sensor formation,the rules use diode D1 to launch and diode D2 to receive infrared signals.Infrared transmitter signal without a dedicated circuit

      外文翻譯

      comes directly from the MCU clock frequency, which not only simplifier the circuit and debugging, but also make the circuit stability and anti-jamming capability greatly enhanced.After the experimental verification,the system runs reliably meet the design requirements.A smart car control system of the path information identified based on CCD camera was introduced.The hardware structure and scheme were designed.The control strategy of s teering mechanism was presented.The smart car not only can identify the road precisely, but also have ant-interference performance, and small steady state error.This article designed smart car system,includes the aspects of the sensor information acquisition and processing, motor drive, control algorithm and control strategy etc.Using laser sensor to collect the road information which can feedback to the micro-controller control system,then making analytical processing combined with the software.With velocity feedback and PID control algorithms to control steering engine and the speed of smart car.Verified by actual operation, this method makes smart car travel stably and reliably,and its average speed to reach 2.6m /s, and get a satisfied results.By the aid of the professional know ledge of control, patter n recognition, sensor technology, aut omotive electronics, electricity, computer, machinery and so on, an intelligent vehicle system is designed with PID control algorithm,CCD detection system and HC9SDG128 MCU.Code Warrior IDE integrated development programming environment is taken as a basic softy are platform that can automatically deal with the traffic and image pro cessing, and then adjust the moving direction along the scheduled or bit by t he aid of a CCD camera.The system has many advantages, such as high reliability , high stability, good speed ability and scalability.Based on the research background of the Free-Scale smart car competition,a smart track following car is designed.In the car, the photo electricity sensor is used to check the path and obtain the information of racing road, and calculate the error

      外文翻譯

      between the car and the black line.The fuzzy control is used to control the velocity of the car.The experiments show that the smart car based on the fuzzy control has high accuracy on the judgment of the path, stability and velocity control.外文翻譯

      智能車(chē)

      我們的社會(huì)充斥著各種各樣的“機(jī)器智能“。在過(guò)去的世紀(jì),我們目睹越來(lái)越多日常生活中的“苦差事“被機(jī)器設(shè)備解決,如洗衣機(jī)。

      然而,一個(gè)既枯燥又危險(xiǎn)的保留區(qū)域就是日常駕駛汽車(chē)。2002年,120萬(wàn)人死于交通事故,這是所有全球2.1%死亡,死因排名第11。如果這種趨勢(shì)繼續(xù)下去,估計(jì)從2020年起每一年死于道路交通統(tǒng)(ITS)。20世紀(jì)90年代中后期開(kāi)始,它的系統(tǒng)進(jìn)行了開(kāi)發(fā)和部署。在發(fā)達(dá)國(guó)事故的人將達(dá)到850萬(wàn)人。事實(shí)上,美國(guó)交通部估計(jì)交通事故的整體社會(huì)成本每年超過(guò)2300億美元。

      數(shù)百或數(shù)千輛車(chē)共享相同的道路時(shí),就導(dǎo)致了大家都熟悉的交通擠塞。交通擠塞破壞了我們的生活質(zhì)量就像空氣污染損害公眾健康。1990年左右,公路運(yùn)輸?shù)膶?zhuān)業(yè)人士開(kāi)始申請(qǐng)讓他們?cè)诮煌ê偷缆饭芾怼S谑钦Q生了智能交通系家,旅客今天能夠獲得旅行條件的信息,無(wú)論是駕駛自己的車(chē)或乘坐公共交通系統(tǒng)。

      隨著世界能源危機(jī)的持續(xù),以及戰(zhàn)爭(zhēng)和能源-----石油的消耗及汽車(chē)飽有量的增加,能源在一天一天下降,終有一天它會(huì)消失的無(wú)影無(wú)蹤。石油不是在生資源。所以必須在石油耗凈之前找到一種代替品。隨著科技的發(fā)展社會(huì)的進(jìn)步,有人發(fā)明了電動(dòng)汽車(chē)。電動(dòng)汽車(chē)將成為人們最為理想的交通工具。

      世界在各各方面的發(fā)展都取得豐碩成果,尤其是隨著汽車(chē)電子技術(shù)和計(jì)算機(jī)以及發(fā)展迅速的信息時(shí)代。電子控制技術(shù)在汽車(chē)上得到了廣泛應(yīng)用,汽車(chē)上應(yīng)用的電子裝置越來(lái)越豐富,電子技術(shù)不僅用來(lái)改善和提高傳統(tǒng)汽車(chē)電器的質(zhì)量和性能,而且還提高了汽車(chē)的動(dòng)力性、燃油經(jīng)濟(jì)性、可靠性以及廢氣排放的凈化性。汽車(chē)上廣泛使用電子產(chǎn)品不僅降低了成本,并且減少維護(hù)的復(fù)雜性。從發(fā)動(dòng)機(jī)的燃油噴射點(diǎn)火裝置、進(jìn)氣控制、廢氣排放控制、故障自診斷到車(chē)身輔助裝置都普遍采用了電子控制技術(shù),可以說(shuō)今后汽車(chē)發(fā)展主要以機(jī)電一體化。汽車(chē)上廣泛采用的電子控制點(diǎn)火系統(tǒng)主要有電子控制燃油噴射系統(tǒng)、電子控制點(diǎn)火系統(tǒng)、電子控制自動(dòng)變速器、電子控制防滑(ABS/ASR)控制系統(tǒng)、電子控制懸架系統(tǒng)、電子控制動(dòng)力轉(zhuǎn)向系統(tǒng)、車(chē)輛動(dòng)力學(xué)控制系統(tǒng)、安全氣囊系統(tǒng)、主動(dòng)安全帶系統(tǒng)、電子控制自動(dòng)空調(diào)系統(tǒng)、導(dǎo)航系統(tǒng)還有GPS等。有了這些系

      外文翻譯

      統(tǒng)汽車(chē)響應(yīng)敏捷,使用功能強(qiáng),可靠性高,既保證發(fā)動(dòng)機(jī)動(dòng)力又降低燃油的消耗,而且又滿(mǎn)足排放法規(guī)的標(biāo)準(zhǔn)。

      汽車(chē)是現(xiàn)代人必不可少的交通工具。而電動(dòng)汽車(chē)給我們帶來(lái)無(wú)限樂(lè)趣外還能給我們勞累一天的身心得以放松。就拿自動(dòng)變速器來(lái)說(shuō)吧,汽車(chē)在行駛時(shí),可以不踩離合器踏板,就可以實(shí)現(xiàn)自動(dòng)換檔而發(fā)動(dòng)機(jī)不會(huì)熄火,這樣有效的提高駕駛方便性減輕駕駛員的疲勞強(qiáng)度。自動(dòng)變速器主要由液力變矩器、齒輪變速器、油泵、液壓控制系統(tǒng)、電子控制系統(tǒng)、油冷卻系統(tǒng)等組成。電子控制的懸架主要是用來(lái)緩沖路面對(duì)車(chē)身的沖擊力以及減少振動(dòng)保證汽車(chē)平順性和操縱穩(wěn)定性。當(dāng)汽車(chē)行駛在不平坦的道路時(shí)汽車(chē)能能根據(jù)底盤(pán)和路面高度自動(dòng)調(diào)整。當(dāng)車(chē)高比設(shè)置的高度低時(shí),就向氣室或油缸充氣或充油。如果是相反,就放氣或?yàn)a油。從而保證汽車(chē)的水平行駛,提高行駛穩(wěn)定性??勺兞?dòng)力轉(zhuǎn)向系統(tǒng)因能顯著改變駕駛員的工作效率和狀態(tài),所以在電動(dòng)汽車(chē)上廣泛使用。VDC對(duì)汽車(chē)性能有著至關(guān)重要的作用它能根據(jù)需要主動(dòng)對(duì)車(chē)輪進(jìn)行制動(dòng)來(lái)改變汽車(chē)的運(yùn)動(dòng)狀態(tài),使汽車(chē)達(dá)到最佳的行駛狀態(tài)和操縱性能,并增加了汽車(chē)的附著性,控制性和穩(wěn)定性。除了這些之外4WS、4WD的出現(xiàn)大大提高了電動(dòng)汽車(chē)的價(jià)值與性能同步提升。ABS具有減少制動(dòng)距離并能保持轉(zhuǎn)向操作能力有效提高行駛方向的穩(wěn)定性同時(shí)減少輪胎的磨損。安全氣囊的出現(xiàn)在很大程序上保護(hù)了駕駛員和乘客的安全,大大降低汽車(chē)在碰撞時(shí)對(duì)駕駛員和乘客的緩沖,以過(guò)到保護(hù)生命安全的目的。

      智能電子技術(shù)在汽車(chē)上得以推廣使得汽車(chē)在安全行駛和其它功能更上一層樓。通過(guò)各種傳感器實(shí)現(xiàn)自動(dòng)駕駛。除些之外智能汽車(chē)裝備有多種傳感器能充分感知交通設(shè)施及環(huán)境的信息并能隨時(shí)判斷車(chē)輛及駕駛員是否處于危險(xiǎn)之中,具備自主尋路、導(dǎo)航、避撞、不停車(chē)收費(fèi)等功能。有效提高運(yùn)輸過(guò)程中的安全,減少駕駛員的操縱疲勞度,提高乘客的舒適度。當(dāng)然蓄電池是電動(dòng)汽車(chē)的關(guān)鍵,電動(dòng)汽車(chē)用的蓄電池主要有:鉛酸蓄電池、鎳鎘蓄電池、鈉硫蓄電池、鈉硫蓄電池、鋰電池、鋅―空氣電池、飛輪電池、燃料電池和太陽(yáng)能電池等。在諸多種電池中,燃料電池是迄今為止最有希望解決汽車(chē)能源短缺問(wèn)題的動(dòng)力源。燃料電池具有高效無(wú)污染的特性,不同于其他蓄電池,其不需要充電,只要外部不斷地供給燃料,就能連續(xù)穩(wěn)定地發(fā)電。燃料電池汽車(chē)(FCEV)具有可與內(nèi)燃機(jī)汽車(chē)媲美的動(dòng)力性能,在排放、燃油經(jīng)濟(jì)性方面明顯優(yōu)于內(nèi)燃機(jī)車(chē)輛。

      外文翻譯

      隨著計(jì)算機(jī)和電子產(chǎn)品不斷開(kāi)級(jí)換代,電動(dòng)汽車(chē)技術(shù)也在日趨成熟與完善,使得駕駛更安全、方便、靈活、舒適。電動(dòng)汽車(chē)真正能夠與傳統(tǒng)的燃油汽車(chē)相競(jìng)爭(zhēng),今后汽車(chē)市場(chǎng)終會(huì)被電動(dòng)汽車(chē)和智能汽車(chē)所取代。這只是時(shí)間性的問(wèn)題這一天終究會(huì)來(lái)到的。ABS、GPS、4WS、4WD以及各種新時(shí)代的電子產(chǎn)品與現(xiàn)代高性能汽車(chē)默契組合、絕妙搭配,帶給我們無(wú)與倫比的精準(zhǔn)駕駛舒適性和行駛安全性。

      以AVR 單片機(jī)為核心, 提出了一種智能探測(cè)小車(chē)的軟硬件設(shè)計(jì)方案。系統(tǒng)可以預(yù)先設(shè)定小車(chē)的行走路線(xiàn), 能夠?qū)崿F(xiàn)小車(chē)與計(jì)算機(jī)之間的無(wú)線(xiàn)通訊, 通過(guò)超聲測(cè)物和紅外測(cè)障電路使小車(chē)安全行走。另外, 系統(tǒng)通過(guò)JTAG 接口在線(xiàn)調(diào)試程序。軟件設(shè)計(jì)中采用神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí), 大大增強(qiáng)了小車(chē)的智能化.執(zhí)行元件的伺服系統(tǒng)性能將決定機(jī)器人的性能?;贏(yíng)VR 系列單片機(jī),并應(yīng)用積分分離技術(shù),設(shè)計(jì)離散PI 調(diào)節(jié)器,輸出PWM 控制信號(hào),建立驅(qū)動(dòng)電機(jī)的速度伺服控制系統(tǒng)。使用AVR - GCC 編譯軟件開(kāi)發(fā)伺服系統(tǒng)軟件,設(shè)定速度采樣頻率為2KHz,實(shí)現(xiàn)對(duì)電機(jī)速度的實(shí)時(shí)控制。與基于51 系列單片機(jī)開(kāi)發(fā)的伺服系統(tǒng)相比,本系統(tǒng)所需的外圍電路更簡(jiǎn)單,數(shù)據(jù)處理速度更快。實(shí)現(xiàn)了機(jī)器人響應(yīng)快速,移動(dòng)平穩(wěn)。該伺服系統(tǒng)的開(kāi)發(fā)尤其適用于智能移動(dòng)機(jī)器人,還可以廣泛應(yīng)用于其它智能設(shè)備和生產(chǎn)線(xiàn)。

      提出了一種基于A(yíng)VR 單片機(jī)Atmega8 為核心控制器的比賽機(jī)器人控制系統(tǒng),通過(guò)比賽機(jī)器人的特征分析,闡述了構(gòu)成控制系統(tǒng)所需的主控單元、電機(jī)驅(qū)動(dòng)單元、傳感檢測(cè)單元及LCD 顯示單元,其中詳細(xì)分析了以MCBL3006S 為核心的伺服電機(jī)驅(qū)動(dòng)單元,以及關(guān)系比賽機(jī)器人基本功能實(shí)現(xiàn)的循線(xiàn)傳感系統(tǒng)及避障傳感系統(tǒng),并給出部分程序。最后通過(guò)實(shí)踐表明,該控制系統(tǒng)開(kāi)放性好、結(jié)構(gòu)簡(jiǎn)單、編程容易、智能并高效。

      智能車(chē)的避障規(guī)則,通過(guò)對(duì)紅外傳感器的信息進(jìn)行采集,使用二極管D1 發(fā)射紅外線(xiàn),二極管D2 接收紅外信號(hào)。紅外線(xiàn)發(fā)射部分不設(shè)專(zhuān)門(mén)的信號(hào)發(fā)生電路,直接從單片機(jī)實(shí)現(xiàn)時(shí)鐘頻率,既簡(jiǎn)化了線(xiàn)路和調(diào)試工作,又能使電路的穩(wěn)定性和抗干擾能力大大加強(qiáng)。經(jīng)實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)運(yùn)行可靠,達(dá)到了設(shè)計(jì)要求。

      介紹一種基于CCD 攝像頭的路徑識(shí)別的智能車(chē)控制系統(tǒng), 設(shè)計(jì)了硬件結(jié)構(gòu)與方案, 提出了轉(zhuǎn)向機(jī)構(gòu)的控制策略, 該智能車(chē)能準(zhǔn)確實(shí)現(xiàn)自主尋跡, 具備抗干擾性極強(qiáng), 穩(wěn)態(tài)誤差小等特點(diǎn)。

      外文翻譯

      智能車(chē)系統(tǒng),包括傳感器信息采集與處理、電機(jī)驅(qū)動(dòng)、控制算法及控制策略等方面。采用激光傳感器采集道路信息并反饋給單片機(jī)控制系統(tǒng),通過(guò)軟件進(jìn)行相關(guān)分析處理,通過(guò)速度反饋和PID 算法控制舵機(jī)轉(zhuǎn)向和智能車(chē)速度。通過(guò)實(shí)際運(yùn)行驗(yàn)證,本方法使智能車(chē)運(yùn)行穩(wěn)定、可靠,其平均速度達(dá)到2.6m/s,得到比較理想的效果。

      為了綜合利用控制、模式識(shí)別、傳感器技術(shù)、汽車(chē)電子、電氣、計(jì)算機(jī)、機(jī)械等專(zhuān)業(yè)領(lǐng)域知識(shí), 設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于PID 控制算法, CCD 檢測(cè)系統(tǒng), 并采用H C9SDG128 單片機(jī)作為主控芯片的智能車(chē)系統(tǒng)。該系統(tǒng)使用Codewar rio r IDE 集成開(kāi)發(fā)環(huán)境作為程序設(shè)計(jì)的基本軟件平臺(tái), 能利用攝像頭自動(dòng)識(shí)別路況, 進(jìn)行圖像處理, 進(jìn)而調(diào)整方向沿預(yù)定軌道前行, 具有很強(qiáng)的可靠性、穩(wěn)定性、快速性、擴(kuò)展性。

      以“飛思卡爾”杯智能車(chē)大賽為研究背景,開(kāi)發(fā)了一種智能循跡小車(chē)。該小車(chē)采用光電傳感器檢測(cè)路徑,獲得賽道信息,求出小車(chē)與黑線(xiàn)間的偏差,采用模糊控制對(duì)小車(chē)的速度進(jìn)行控制,使小車(chē)能夠自動(dòng)跟隨直道和彎道。實(shí)踐表明,采用模糊控制的智能小車(chē)在路徑識(shí)別的精準(zhǔn)度,穩(wěn)定性,及速度控制上具有明顯優(yōu)勢(shì)。

      第三篇:無(wú)人艇避障研究總結(jié)

      航行器海面避障研究

      一. 歷史上海中航行器的導(dǎo)航方式 世紀(jì),美國(guó)戰(zhàn)略潛艇導(dǎo)航技術(shù)一直發(fā)展,艦船慣性技術(shù)是在不斷滿(mǎn)足潛基導(dǎo)彈的射程和命中精度的要求及核潛艇的隱蔽性要求而不斷發(fā)展的。具有靈活性、隱蔽性,是發(fā)射彈道導(dǎo)彈的活動(dòng)基地。世紀(jì)導(dǎo)航技術(shù)發(fā)展的主要方向。從總的發(fā)展趨勢(shì)看可以概括為:區(qū)域沖突多極化;軍隊(duì)綜合現(xiàn)代化;武器信息制導(dǎo)化。系統(tǒng)組合智能化;電子信息數(shù)字化;價(jià)格便宜小型化。操作可靠傻瓜化;測(cè)試手段現(xiàn)代化;維修維護(hù)模塊化。與露出水面獲取 GPS 定位點(diǎn)一樣, 用有源聲吶發(fā)射也會(huì)犧牲隱蔽性。但是利用聲吶的回波, 可得到非常重要的導(dǎo)航信息。

      【我得總結(jié)】導(dǎo)航方式多種多樣,我國(guó)目前水平比較一般,跟在發(fā)達(dá)國(guó)家后面飛奔,但也是望塵莫及。導(dǎo)航精確確保航行器大方向準(zhǔn)確。在大方向正確的前提下,我來(lái)進(jìn)一步研究小范圍突發(fā)情況如何正確避讓等一系列動(dòng)作的合理實(shí)施。我國(guó)無(wú)人艇有一部分安裝國(guó)產(chǎn)北斗導(dǎo)航。

      二. 海面海浪波動(dòng)探究

      自然界中的海浪是一種相當(dāng)復(fù)雜不規(guī)則波動(dòng)現(xiàn)象。由于自然條件復(fù)雜 , 加上波浪運(yùn)動(dòng)本身的隨機(jī)性 , 到目前為止 , 有些實(shí)際問(wèn)題不能單純用數(shù)學(xué)分析方法很好地解決;并且 , 由于經(jīng)濟(jì)和技術(shù)等的限制 , 現(xiàn)場(chǎng)觀(guān)測(cè)也會(huì)遇到很多困難 , 甚至無(wú)法實(shí)現(xiàn)。只有按不規(guī)則波來(lái)研究海洋 , 才能正確地描述海浪。

      【我得總結(jié)】海面波浪及其形式無(wú)法預(yù)知,隨機(jī)性很大。所以我決定對(duì)其進(jìn)行進(jìn)一步研究并且分類(lèi),逐一擊破。無(wú)人艇行駛在海面上,海水波浪是一個(gè)因素,暴風(fēng)雨一類(lèi)天氣又是一類(lèi)因素,除此之外,可能還有未知情況,待進(jìn)一步探究。

      三. 針對(duì)海面無(wú)人艇避障方法探究(主要)

      ⊙ 避碰規(guī)劃是高速無(wú)人艇研究領(lǐng)域中的核心問(wèn)題之一。高速無(wú)人艇的避碰規(guī)劃就是在特定的環(huán)境中給定初始位置和目標(biāo)位置,按照策略無(wú)碰的從起點(diǎn)運(yùn)動(dòng)到終點(diǎn),并滿(mǎn)足一定的附加條件,如路徑最短等。

      ⊙高速無(wú)人艇的避碰規(guī)劃可以分為2類(lèi):基于環(huán)境先驗(yàn)知識(shí)的全局規(guī)劃和基于傳感器信息的局部規(guī)劃。全局規(guī)劃不能滿(mǎn)足動(dòng)目標(biāo)避碰的要求,因?yàn)檎系K物很可能出現(xiàn)在規(guī)劃好的路徑上,這樣在高速無(wú)人艇的導(dǎo)航系統(tǒng)中,就需要基于傳感器(多波束前視聲納)信息以在線(xiàn)方式進(jìn)行的避碰規(guī)劃?!褵o(wú)人艇動(dòng)目標(biāo)避碰就是基于前視聲納的實(shí)時(shí)信息,屬于局部規(guī)劃范疇?!严伻核惴? 自然界的螞蟻群體是具有智能特點(diǎn)的,能夠通過(guò)群體所釋放出來(lái)的一種叫做信息素(pheromone)的物質(zhì),在沒(méi)有任何視覺(jué)線(xiàn)索的情況下找到從食物源到蟻穴的最短路徑。蟻群算法就是模擬自然界中真實(shí)蟻群的覓食行為而形成的一種模擬進(jìn)化算法,并且該算法有一個(gè)統(tǒng)一的框架結(jié)構(gòu)模型;其不僅具有很好的魯棒性(Robust),良好的正反饋特性,而且具有并行分布計(jì)算的特點(diǎn)。因此,可以運(yùn)用蟻群算法進(jìn)行避碰路徑的優(yōu)化搜索。

      ⊙在復(fù)雜的海洋環(huán)境中,一般情況下高速無(wú)人艇沿著全局路徑規(guī)劃器規(guī)劃的路徑運(yùn)動(dòng),當(dāng)前視聲納測(cè)到障礙物,就需要啟動(dòng)局部避碰規(guī)劃器。局部規(guī)劃器首先在前視聲納視域范圍內(nèi)選定一個(gè)空間點(diǎn)作為局部規(guī)劃子目標(biāo),一般選擇聲納全局規(guī)劃的航程點(diǎn)作為規(guī)劃子目標(biāo)點(diǎn)。高速無(wú)人艇當(dāng)前的位置作為局部避碰規(guī)劃的起點(diǎn),避碰規(guī)劃就在該起點(diǎn)與規(guī)劃子目標(biāo)點(diǎn)之間進(jìn)行。

      【我得疑問(wèn)】前視探測(cè)器這里用的聲吶,在實(shí)際應(yīng)用當(dāng)中,用的是聲吶還是攝像頭? ⊙路徑生成

      現(xiàn)討論二維空間的避碰規(guī)劃問(wèn)題。以避碰規(guī)劃的起點(diǎn)作為原點(diǎn),起點(diǎn)與規(guī)劃子目標(biāo)的連線(xiàn)作為x軸,建立直角坐標(biāo)系xOy。將起點(diǎn)(xO,yO)與規(guī)劃子目標(biāo)點(diǎn)(xG,yG)連線(xiàn)m等分,則每個(gè)點(diǎn)的坐標(biāo)可表示為(xi,yi),其中i=0~m。在每個(gè)等分點(diǎn)作x軸的垂線(xiàn),就得到線(xiàn)段L1,L2,,Lm,再以x軸零點(diǎn)為起點(diǎn),將每條線(xiàn)段進(jìn)行n等分,每條垂線(xiàn)上就有n個(gè)點(diǎn)。在避障區(qū)域內(nèi),就有m,n個(gè)點(diǎn)

      即:L1(x1,y1)L2(x2,y2)L3(x3,y3),L1(x1,yn), ,Lm(xm,y1)Lm(xm,y2)Lm(xm,y3),Lm(xm,yn)其中Li(xi,yi)表示第i條垂線(xiàn)上的第j點(diǎn),則從起始點(diǎn)到終點(diǎn)的路徑可以表示為:Path={O,L1(x1,yk1),L2(x2,yk2),Lm1(xm1,yk(m1)),G}(ki=1,2,,n+1)避碰規(guī)劃問(wèn)題就是使得由該路徑點(diǎn)序列組成的路徑滿(mǎn)足條件。由于不同路徑上的相應(yīng)位置的x的坐標(biāo)是相同的,所以每條路徑的區(qū)別僅僅在于相應(yīng)位置處的y坐標(biāo)不同。

      【我得總結(jié)】以自我為中心,探測(cè)到障礙物后自動(dòng)規(guī)劃航向,簡(jiǎn)言之繞過(guò)障礙物,這種“繞”過(guò)是實(shí)時(shí)檢測(cè)并且動(dòng)態(tài)計(jì)算的,計(jì)算通過(guò)一個(gè)方程式構(gòu)成,即上述公式,雖然難以讀懂,但不難理解。⊙目標(biāo)函數(shù) 討論的動(dòng)目標(biāo)避碰規(guī)劃路徑需要滿(mǎn)足3個(gè)約束條件:動(dòng)態(tài)避碰、保持航跡和路徑最短。由于避碰規(guī)劃區(qū)間較短,在避碰規(guī)劃周期內(nèi),假定動(dòng)態(tài)障礙物做勻速運(yùn)動(dòng),且速度可根據(jù)前視聲納探測(cè)的實(shí)時(shí)信息估計(jì)得到。高速無(wú)人艇保持當(dāng)前的航速不變,通過(guò)選擇不同的路徑點(diǎn)即調(diào)整高速無(wú)人艇的航向來(lái)避碰。避碰規(guī)劃區(qū)間內(nèi)高速無(wú)人艇的航跡由全局規(guī)劃器給出。

      【我得總結(jié)】此類(lèi)實(shí)驗(yàn)通過(guò)仿真可得出結(jié)論,目前對(duì)matlab了解不夠,對(duì)各種各樣的算法了解不精,是以后需要提高之處。

      第四篇:自動(dòng)避障小車(chē)技術(shù)報(bào)告2

      自動(dòng)避障小車(chē)

      技術(shù)報(bào)告

      學(xué)

      校:樂(lè)山師范學(xué)院成員:鄭素仙

      朱平

      吳志 指導(dǎo)老師:張九華

      前言

      設(shè)計(jì)背景:在科學(xué)探索和緊急搶險(xiǎn)中經(jīng)常會(huì)遇到對(duì)與一些危險(xiǎn)或人類(lèi)不能直接到達(dá)的地域的探測(cè),這些就需要用機(jī)器人來(lái)完成。而在機(jī)器人在復(fù)雜地形中行進(jìn)時(shí)自動(dòng)避障是一項(xiàng)必不可少也是最基本的功能。因此,自動(dòng)避障系統(tǒng)的研發(fā)就應(yīng)運(yùn)而生。

      我們的自動(dòng)避障小車(chē)就是基于這一系統(tǒng)開(kāi)發(fā)而成的。隨著科技的發(fā)展,對(duì)于未知空間和人類(lèi)所不能直接到達(dá)的地域的探索逐步成為熱門(mén),這就使機(jī)器人的自動(dòng)避障有了重大的意義。我們的自動(dòng)避障小車(chē)就是自動(dòng)避障機(jī)器人中的一類(lèi)。自動(dòng)避障小車(chē)可以作為地域探索機(jī)器人和緊急搶險(xiǎn)機(jī)器人的運(yùn)動(dòng)系統(tǒng),讓機(jī)器人在行進(jìn)中自動(dòng)避過(guò)障礙物。

      目錄

      一、設(shè)計(jì)目標(biāo):.........................................................4

      二、方案設(shè)計(jì):.........................................................4

      2.1直流調(diào)速系統(tǒng).................................................4 2.2檢測(cè)系統(tǒng).....................................................5 三 硬件設(shè)計(jì).............................................................6 3.1、SPCE061A單片機(jī)最小系統(tǒng).....................................6

      3.1.1.SPCE061A時(shí)鐘電路...........................................................................................8

      3.1.2.PLL鎖相環(huán)...........................................................................................................9 3.1.3.看門(mén)狗Watchdog..................................................................................................9 3.1.4.低電壓復(fù)位(LVR).........................................................................................10 3.1.5.I/O端口..............................................................................................................10 3.1.6.時(shí)基與定時(shí)器.....................................................................................................11 3.1.7.SPCE061A的定時(shí)器/計(jì)數(shù)器............................................................................11 3.1.8.ADC、DAC........................................................................................................12 3.2、超聲波傳感器..............................................12 四 軟件設(shè)計(jì)...........................................................16 4.1軟件設(shè)計(jì)各模塊..............................................16 4.2速度控制....................................................17 4.3障礙物檢測(cè)..................................................17 4.4看門(mén)狗......................................................17 4.5基頻中斷....................................................18 4.6程序設(shè)計(jì)流程圖..............................................19 五:測(cè)試數(shù)據(jù)、測(cè)試結(jié)果分析及結(jié)論.......................................19 程序附錄...............................................................21 1.主程序:....................................................21 2.中斷程序....................................................24

      3、測(cè)距程序....................................................28

      一、設(shè)計(jì)目標(biāo):

      1.小車(chē)從無(wú)障礙地區(qū)啟動(dòng)前進(jìn),感應(yīng)前進(jìn)路線(xiàn)上的障礙物后,能自動(dòng)避開(kāi)障礙物。

      2.根據(jù)障礙物的位置選擇下一步行進(jìn)方向,選擇左拐還是右拐,若障礙物在左邊則自動(dòng)右拐,若障礙物在右邊則左拐,若障礙物在正前方可任意選擇左拐或者是右拐,以達(dá)到避開(kāi)障礙物的目的。

      3.通過(guò)利用單片機(jī)內(nèi)時(shí)鐘源的控制設(shè)定左拐和右拐的時(shí)間,從而能持續(xù)前進(jìn)。

      4.為達(dá)到速度的可控性,需設(shè)置兩個(gè)獨(dú)立按鍵對(duì)小車(chē)進(jìn)行控速。

      二、方案設(shè)計(jì):

      根據(jù)設(shè)計(jì)要求,確定如下方案:在現(xiàn)有玩具電動(dòng)車(chē)的基礎(chǔ)上,加裝超聲波傳感器,實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)行狀況的實(shí)時(shí)測(cè)量,并將測(cè)量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測(cè)的各種數(shù)據(jù)實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的智能控制。

      這種方案能實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿(mǎn)足對(duì)系統(tǒng)的各項(xiàng)要求。

      2.1直流調(diào)速系統(tǒng)

      采用脈寬調(diào)速系統(tǒng)

      脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡(jiǎn)稱(chēng)PWM變換器。

      脈寬調(diào)速也可通過(guò)單片機(jī)控制繼電器的閉合來(lái)實(shí)現(xiàn),但是驅(qū)動(dòng)能力有限。為順利實(shí)現(xiàn)電動(dòng)小汽車(chē)的前行與倒車(chē),本設(shè)計(jì)采用了可逆PWM變換器??赡鍼WM變換器主電路的結(jié)構(gòu)式有H型、T型等類(lèi)型。我們?cè)谠O(shè)計(jì)中采用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。如附錄一:

      2.2檢測(cè)系統(tǒng)

      檢測(cè)系統(tǒng)主要實(shí)現(xiàn)紅外傳感器,超聲波傳感,光電傳感器對(duì)車(chē)的運(yùn)行進(jìn)行實(shí)時(shí)測(cè)量,即利用這種傳感器對(duì)電動(dòng)車(chē)的避障、位置、行車(chē)狀態(tài)進(jìn)行測(cè)量。行車(chē)開(kāi)始、結(jié)束及超聲波檢測(cè):

      在車(chē)的開(kāi)始和結(jié)束階段,都是用紅外式的光電傳感器,當(dāng)按下此光電開(kāi)頭,小車(chē)就開(kāi)始行駛,在完成任務(wù)后,再按下此開(kāi)關(guān),小車(chē)就停止前進(jìn)。在前進(jìn)的過(guò)程中不斷的發(fā)送超聲波,并對(duì)接到的進(jìn)行處理計(jì)算。如果處理得到的結(jié)果是發(fā)現(xiàn)前面的障礙時(shí),再行進(jìn)一次距離的處理,當(dāng)距離小是40CM時(shí),讓小車(chē)倒退一段時(shí)間,再進(jìn)行避障處理,如果距離大于40CM,就直接進(jìn)避障處理。

      三 硬件設(shè)計(jì)

      3.1、SPCE061A單片機(jī)最小系統(tǒng)

      我們用的是凌陽(yáng)的SPCE061A單片機(jī)最小系統(tǒng)其概述如下: SPCE061A 是繼μ’nSP?系列產(chǎn)品SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲(chǔ)器資源方面考慮到用戶(hù)的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使μ’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCE500A相比,以μ’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。

      性能

      16位μ’nSP?微處理器;

      工作電壓(CPU)VDD為2.4~3.6V(I/O)VDDH為2.4~5.5V ;

      CPU時(shí)鐘:0.32MHz~49.152MHz ;

      內(nèi)置2K字SRAM;

      內(nèi)置32K FLASH;

      可編程音頻處理;

      晶體振蕩器;

      系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2μA@3.6V;

      2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);

      2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;

      32位通用可編程輸入/輸出端口;

      14個(gè)中斷源可來(lái)自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;

      具備觸鍵喚醒的功能;

      使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù);

      鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);

      32768Hz實(shí)時(shí)時(shí)鐘;

      7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;

      聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;

      具備串行設(shè)備接口;

      具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;

      內(nèi)置在線(xiàn)仿真電路ICE(In-Circuit Emulator)接口;

      具有保密能力;

      具有WatchDog功能;

      16位μ’nSP?微處理器硬件結(jié)構(gòu)圖

      ICE_ENICE_SCKICE_SDA16位微控制器u'nSPFLASH雙16位定時(shí)器/計(jì)數(shù)器時(shí)基中斷控制+ICERAMVCPXI/RXO鎖相環(huán)振蕩器CPU時(shí)鐘實(shí)時(shí)時(shí)鐘7通道10位ADC單通道ADC+AGCMIC_IN低電壓監(jiān)測(cè)/低電壓復(fù)位Watchdog串行異步通訊接口IOB7(RXD)IOB10(TXD)雙通道10位DAC串行輸入輸出接口IOB0(SCK)IOB1(SDA)AUD1AUD232管腳通用輸入輸出端口IOA150 3.1.1.SPCE061A時(shí)鐘電路

      SPCE061A時(shí)鐘電路采用晶體振蕩器。下圖為SPCE061A時(shí)鐘電路的接線(xiàn)圖。外接晶振采用32768Hz。

      3.1.2.PLL鎖相環(huán)

      PLL電路的作用是將系統(tǒng)提供的實(shí)時(shí)時(shí)鐘的基頻(32768Hz)進(jìn)行倍頻,輸出系統(tǒng)時(shí)鐘Fosc

      32768Hz晶振鎖相環(huán)(PLL)系統(tǒng)時(shí)鐘發(fā)生器頻率:20.48M,24.576M,32.768M,40.96M,49.152Mb7b6b5Fosc(默認(rèn)值24.576MHz)系統(tǒng)時(shí)鐘選頻P_SystemClock單元的第7,6,5位

      3.1.3.看門(mén)狗Watchdog SPCE061A的清狗周期為0.75S;清看門(mén)狗操作寄存器:P_Watchdog_Clear(0x7012H)清狗操作:在每個(gè)0.75S的清狗周期里P_Watchdog_Clear寫(xiě)入0x0001。

      3.1.4.低電壓復(fù)位(LVR)

      通過(guò)某種方式,使單片機(jī)內(nèi)存各寄存器的值變?yōu)槌跏嫉牟僮鞣Q(chēng)為復(fù)位。SPCE061A的復(fù)位方式為低電壓復(fù)位。

      3.1.5.I/O端口 OA口:

      IOA0~IOA6:7路普通AD輸入端口,IOA0~IOA7:觸鍵喚醒功能

      IOB口:

      外部中斷輸入,串行接口、PWM輸出等復(fù)用端口

      3.1.6.時(shí)基與定時(shí)器

      時(shí)基信號(hào)可提供常用的、現(xiàn)成的頻率信號(hào),完成部分定時(shí)器的功能

      時(shí)間基準(zhǔn)信號(hào)部分時(shí)基選頻時(shí)基中斷32768Hz RTCPLL倍頻定時(shí)器/計(jì)數(shù)器Fosc時(shí)鐘源 3.1.7.SPCE061A的定時(shí)器/計(jì)數(shù)器

      遞增計(jì)數(shù)方式,自動(dòng)重載定時(shí)器/計(jì)數(shù)器初始值,輸出4位可調(diào)脈寬比PWM信號(hào),溢出頻率/2的方波輸出,多種時(shí)鐘源 11

      輸入。

      3.1.8.ADC、DAC SPCE061A的特色是其強(qiáng)大靈活的語(yǔ)音功能;而單片機(jī)對(duì)語(yǔ)音處理的支持,除了其處理能力外,還有片內(nèi)集成的ADC、DAC;特別是集成有AGC電路的MIC通道。ADC轉(zhuǎn)換過(guò)程:

      啟動(dòng)自動(dòng)方式 RDY=0SAR = 10 0000 0000BDAC0輸出Vdac0與Vin逐次比較比較結(jié)束,RDY=1結(jié)果存入結(jié)果寄存器等待讀取結(jié)果寄存器

      3.2、超聲波傳感器

      1.基本特性與參數(shù)指標(biāo)

      超聲波傳感器諧振頻率:40KHz; 模組傳感器工作電壓:4.5V~9V 模組接口電壓:4.5V~5.5V 2.主要功能

      三種測(cè)距模式選擇跳線(xiàn)J1(短距、中距、可調(diào)距):

      短距:20cm~100cm左右(根據(jù)被測(cè)物表面材料決定),精度1cm;

      中距:70cm~400cm左右(根據(jù)被測(cè)物表面材料決定); 可調(diào):范圍由可調(diào)節(jié)參數(shù)確定,當(dāng)調(diào)節(jié)在合適的值時(shí),最遠(yuǎn)測(cè)距700cm左右; 3.結(jié)構(gòu)示意圖

      一般應(yīng)用時(shí),只需要用兩條10PIN排線(xiàn)把J5與SPCE061A的IOB口低八位連接,J4與IOB口高八位連接,同時(shí)設(shè)置好J1、J2跳線(xiàn)就完成硬件的連接了。不同測(cè)距模式的選擇只需改變測(cè)距模式跳線(xiàn)J1的連接方法即可。模組工作的性能與被測(cè)物表面材料有很大關(guān)系,如毛料、布料對(duì)超聲波的反射率很小,會(huì)嚴(yán)重影響測(cè)量結(jié)果 實(shí)物圖: 13

      J1為選擇工作模式,J2選擇電源接口 4.電路原理圖介紹:

      超聲波諧振頻率調(diào)理電路

      由單片機(jī)產(chǎn)生40KHz的方波,并通過(guò)模組接口(J4)送到模組的CD4049,而后面的CD4049則對(duì)40KHz頻率信號(hào)進(jìn)行調(diào)理,以使超聲波傳感器產(chǎn)生諧振。

      超聲波回波接收處理電路

      超聲波接收處理部分電路前級(jí)采用NE5532構(gòu)成10000倍放大器,對(duì)接收信號(hào)進(jìn)行放大;后級(jí)采用LM311比較器對(duì)接收信號(hào)進(jìn)行調(diào)整,比較電壓為L(zhǎng)M311的3管腳的輸入,可由J1跳線(xiàn)選擇不同的比較電壓以選擇不同的測(cè)距模式。

      測(cè)距程序流程圖

      超聲波測(cè)距的功能函數(shù)流程圖如圖。用戶(hù)只需進(jìn)行六次測(cè)距操作,這六次的測(cè)量結(jié)果需要經(jīng)過(guò)處理后才可得到最終的測(cè)距返回值,然后將返回值化成距離。

      軟件設(shè)計(jì)

      4.1軟件設(shè)計(jì)各模塊

      void RunTime2Hz(void);設(shè)置2HZ基頻中斷向量函數(shù)。

      void OffTime2Hz(void);清2HZ基頻中斷向量函數(shù)。void Clear_WatchDog(void);清看門(mén)狗函數(shù)

      unsigned int SP_GetCh(void);取鍵值函數(shù) void delay2s(int timer)可調(diào)的延遲函數(shù)

      4.2速度控制

      速度控制用TIMERA的PWM輸出控制,當(dāng)它前進(jìn)時(shí)設(shè)PWM為12/16,當(dāng)它轉(zhuǎn)彎時(shí)設(shè)為8/16。其代碼為:*P_TimerA_Ctrl=0x0333;*P_TimerA_Data=0xff9f;

      4.3障礙物檢測(cè)

      用TIMERB的TONT輸出給超聲波提供出射頻率,并給它延遲一段時(shí)間,發(fā)射完時(shí),清TIMERB,讓它工作在計(jì)時(shí)方式,當(dāng)計(jì)到10000時(shí)!沒(méi)有收到回波,則說(shuō)明前在無(wú)障礙。如果有收到回波則說(shuō)明有障礙。

      4.4看門(mén)狗

      看門(mén)狗只要一定時(shí)間給其喂狗,就可以保證程序不會(huì)跑飛,跑飛就會(huì)自動(dòng)復(fù)位。其代碼就只有一句: *P_Watchdog_Clear = 0x0001;

      4.5基頻中斷

      采用2HZ的基頻中斷,實(shí)現(xiàn)實(shí)時(shí)控制;一次中斷,中斷時(shí)間為0。5S,其代碼如下:

      [P_INT_Ctrl] = r1;

      INT IRQ;

      //開(kāi)中斷

      4.6程序設(shè)計(jì)流程圖

      五:測(cè)試數(shù)據(jù)、測(cè)試結(jié)果分析及結(jié)論

      測(cè)試方法與儀器: 1.測(cè)試儀器

      測(cè)試儀器包括數(shù)字萬(wàn)用表、信號(hào)發(fā)生器、示波器、直流穩(wěn)壓電源等。

      2.測(cè)試方法

      數(shù)字萬(wàn)用表主要用來(lái)測(cè)試各個(gè)IO口的狀態(tài);

      信號(hào)發(fā)生器與示波器用于測(cè)試超聲波傳感器信號(hào)的接收與傳輸;

      試驗(yàn)測(cè)試能不能完成固定避障。

      結(jié)論:

      經(jīng)過(guò)了我們的努力,我們基本上能完上避障的功能!當(dāng)然我們之后還有很長(zhǎng)的路要走,在之后我們會(huì)自己做一個(gè)最小系統(tǒng),此次我們更側(cè)重于軟件方面的設(shè)計(jì)。同時(shí)我們還要設(shè)計(jì)更多的外圍電路,實(shí)現(xiàn)更多的功能。其中包括:紅外光電檢測(cè)用來(lái)檢測(cè)旁邊的物體;還有紅外遙控器,用來(lái)控制小車(chē)的運(yùn)行與停止;再加一個(gè)顯示器,用來(lái)顯示路程和時(shí)間等等。

      附錄一:

      程序附錄:

      程序設(shè)計(jì)中包括:主程序,測(cè)距程序,中斷程序組成;

      1.主程序:

      #include “SPCE061A.h” #include “ceju.h”

      unsigned char INTflag;

      //定時(shí)標(biāo)識(shí)

      unsigned int sum;

      //2hz 計(jì)數(shù)器

      1次為0。5秒 void RunTime2Hz(void);void OffTime2Hz(void);void Clear_WatchDog(void);void delay2s(int timer)

      //設(shè)置基頻為2HZ的中斷,就是一次定時(shí)0。5S {

      sum=timer;RunTime2Hz();

      //運(yùn)行中斷

      while(!INTflag)

      {

      Clear_WatchDog();//清看門(mén)狗

      }

      INTflag = 0;

      OffTime2Hz();

      //結(jié)束中斷

      } void delay2s(int timer);int main(void){ unsigned int Back_data;

      *P_IOB_Dir=0x1f00;

      IOB,IOB8~12同向輸出

      *P_IOB_Attrib=0x1f00;*P_IOB_Data=0x0000;INTflag = 0;Clear_WatchDog();

      while(1){

      *P_TimerA_Ctrl=0x0373;

      *P_TimerA_Data=0xff9f;

      這14/16

      Back_data = measure_Times(0);if(Back_data==0)

      //裝距離 //

      //清看門(mén)狗

      //設(shè)前進(jìn)PWM

      //測(cè)距

      //判斷是否為0,為0則為前進(jìn)

      {

      *P_TimerA_Ctrl=0x0373;

      *P_TimerA_Data=0xff9f;

      }

      else if(Back_data<=40)

      40CM,小于則進(jìn)行倒車(chē)

      {

      *P_TimerA_Ctrl=0x006;

      *P_IOB_Data=0x1000;

      delay2s(0);

      *P_IOB_Data=0x0100;

      delay2s(3);

      }

      else if(Back_data<=100)

      1M,小于則進(jìn)行避障

      {

      *P_TimerA_Ctrl=0x0333;

      *P_IOB_Data=0x0400;

      delay2s(1);

      *P_IOB_Data=0x0800;

      delay2s(1);

      //判斷是否小于

      //倒車(chē)

      //前進(jìn) //判斷是否小于//左轉(zhuǎn)

      //右轉(zhuǎn) 23

      *P_IOB_Data=0x0400;

      //左轉(zhuǎn)

      delay2s(1);*P_TimerA_Ctrl=0x006;

      //停止PWM運(yùn)行

      *P_IOB_Data=0x0000;

      //停車(chē)

      while(1)

      {;}

      }

      else

      Clear_WatchDog();

      }

      }

      2.中斷程序: #include “SPCE061A.h” #include “ceju.h”

      void IRQ3(void)__attribute__((ISR));

      void IRQ3(void){ *P_INT_Clear = 0x0100;

      //

      //IRQ中斷服務(wù)程序 24

      EXT1_IRQ_ult();

      //調(diào)用超聲波測(cè)距的外部中斷服務(wù)程序 }

      .TEXT.include SPCE061A.inc;.external _sum;.external _INTflag;.public _IRQ5;_IRQ5:

      push r1,r4 to [sp];

      r1 =0x0008;

      test r1,[P_INT_Ctrl];

      jnz L_4Hz;

      r1 = 0x0004;

      [P_INT_Clear] = r1;

      r1 = [_sum]

      r1 += 1;

      //定時(shí)3秒的中斷程序

      // Timer A FIQ entrence

      //清中斷

      //取時(shí)基信號(hào)量

      cmp r1,4;

      je loop0;

      [_sum]=r1

      //保存時(shí)基信號(hào)量

      pop r1,r4 from [sp];

      reti;

      loop0:

      r1 = 0x0001;

      [_INTflag] = r1;

      r1 = 0

      [_sum] = r1 pop r1,r4 from [sp];

      reti;

      L_4Hz:

      r1 = 0x0008;

      [P_INT_Clear] = r1;

      pop r1,r4 from [sp];reti;

      //設(shè)置中斷標(biāo)識(shí)

      //清中斷 26

      .external _sum;.include SPCE061A.inc;.CODE.public _Clear_WatchDog;_Clear_WatchDog:.PROC

      R1=0x0001;

      [P_Watchdog_Clear]=R1;

      //清看門(mén)狗

      retf;.ENDP

      .public _RunTime2Hz;//初始化中斷為2HZ定時(shí)中斷源_RunTime2Hz:

      .proc r1 = 0x0004;

      [P_INT_Ctrl] = r1;

      INT IRQ;

      //開(kāi)中斷

      retf.endp;

      .public _OffTime2Hz;_OffTime2Hz:.proc

      r1 = [P_INT_Ctrl]

      r1 &= 0xfffb;

      [P_INT_Ctrl] = r1;

      r1 = 0x0000

      [_sum] = r1;

      retf;.endp;

      3、測(cè)距程序

      #include “SPCE061A.h” #define LONG_SEND_TIMER 40KHz信號(hào)發(fā)射時(shí)長(zhǎng)

      #define LONG_SEND_TIMER2 測(cè)距時(shí)的40KHz信號(hào)發(fā)射時(shí)長(zhǎng)#define LONG_WAIT_DELAY 的防余波干擾延時(shí)時(shí)長(zhǎng)

      #define LONG_WAIT_DELAY2 測(cè)距時(shí)的防余波干擾延時(shí)時(shí)長(zhǎng)

      1000 3000

      600 1500

      //中距測(cè)距時(shí)的//中距測(cè)距的補(bǔ)充

      //中距測(cè)距

      //中距測(cè)距的補(bǔ)充

      #define LONG_RES_ADD 補(bǔ)償值

      0x00B0 //中距測(cè)距的結(jié)果#define LONG_RES_ADD2 充測(cè)距時(shí)的結(jié)果補(bǔ)償值

      #define LOW_SEND_TIMER 40KHz信號(hào)發(fā)射時(shí)長(zhǎng) #define LOW_SEND_TIMER2

      0x0220 //中距測(cè)距的補(bǔ)

      250

      //短距測(cè)距時(shí)的 1000 //短距測(cè)距的補(bǔ)充測(cè)距時(shí)的40KHz信號(hào)發(fā)射時(shí)長(zhǎng) #define LOW_WAIT_DELAY 余波干擾延時(shí)時(shí)長(zhǎng)

      #define LOW_WAIT_DELAY2

      400

      //短距測(cè)距

      180

      //短距測(cè)距的防的補(bǔ)充測(cè)距時(shí)的防余波干擾延時(shí)時(shí)長(zhǎng) #define LOW_RES_ADD 果補(bǔ)償值

      #define LOW_RES_ADD2 測(cè)距時(shí)的結(jié)果補(bǔ)償值

      unsigned int Counter_buf;

      //超聲波測(cè)距當(dāng)中,用于0x00B0

      //短距測(cè)距的補(bǔ)充

      0x0034

      //短距測(cè)距的結(jié)保存TimerB計(jì)數(shù)的變量,相當(dāng)于時(shí)長(zhǎng) unsigned int EXT1_IRQ_flag=0;

      //外部中斷標(biāo)志變量,用于EXT1的IRQ中斷程序和測(cè)距程序同步

      void Delay_ult(unsigned int timers){ unsigned int i;for(i=0;i

      __asm(“nop”);} } unsigned int Resoult_ult(unsigned int Counter){ unsigned int uiTemp;unsigned long ulTemp;ulTemp =(unsigned long)Counter*33500;度,以厘米為單位 ulTemp = ulTemp/196608;

      ulTemp = ulTemp>>1;

      //除二 uiTemp =(unsigned int)ulTemp;return uiTemp;} unsigned int measure2_ult(unsigned int type);unsigned int measure_ult(unsigned int type)

      聲波測(cè)距模組的測(cè)距程序,完成一次測(cè)距

      //計(jì)算距離 //*以聲音的速

      // 超30

      {

      unsigned int Exit_flag = 1;unsigned int uiTemp;unsigned int uiResoult;unsigned int uiSend_Timer,uiWait_Timer,uiRes_Add;unsigned int uiSystem_Clock;uiSystem_Clock = *P_SystemClock;//將當(dāng)前的系統(tǒng)時(shí)鐘設(shè)置暫時(shí)保存起來(lái) *P_SystemClock = 0x0088;

      //將系統(tǒng)時(shí)鐘設(shè)置為49MHz,分頻比為1,強(qiáng)振模式 if(type)

      //根據(jù)type即測(cè)距類(lèi)型,選擇不同的測(cè)距參數(shù)

      {

      } else {

      uiSend_Timer = LOW_SEND_TIMER;uiWait_Timer = LOW_WAIT_DELAY;uiRes_Add = LOW_RES_ADD;

      uiSend_Timer = LONG_SEND_TIMER;uiWait_Timer = LONG_WAIT_DELAY;uiRes_Add = LONG_RES_ADD;

      } *P_TimerB_Data = 0xfed2;*P_TimerB_Ctrl = 0x03c0;

      //發(fā)40KHz的信號(hào)觸發(fā)超聲波傳感器

      率 while(*P_TimerB_Data

      //TrB 工作在192KHz頻

      //等待發(fā)送 //關(guān)定時(shí)器B 再打開(kāi)TimerA的計(jì)數(shù)(來(lái)源于EXT1)

      *P_INT_Ctrl = *P_INT_Ctrl_New|0x0100;*P_INT_Clear = 0xffff;__asm(“IRQ ON”);

      //清除中斷發(fā)生標(biāo)志 //打開(kāi)總中斷使能

      //TimerA的溢出中斷{

      } *P_INT_Clear = 0x0100;

      //開(kāi)中斷前先清中

      //以避開(kāi)余波的干擾

      *P_Watchdog_Clear = 0x0001;EXT1_IRQ_flag = 0;的標(biāo)志變量置0

      while(Exit_flag)

      { if(EXT1_IRQ_flag==1)

      //當(dāng)該變量在timerA的FIQ中斷中被置1時(shí)表示接收到了回波

      { Exit_flag = 0;

      //退出標(biāo)示

      Counter_buf = Counter_buf+uiRes_Add;//計(jì)數(shù)值加上一定的調(diào)整數(shù)據(jù)

      uiResoult = Resoult_ult(Counter_buf);//對(duì)計(jì)數(shù)值進(jìn)行處理,得出距離值

      } if(*P_TimerB_Data>10000)

      //如計(jì)數(shù)值大于10000,表示超時(shí)

      { Exit_flag = 0;

      uiResoult = measure2_ult(type);//再進(jìn)行一次補(bǔ)充的測(cè)距,將會(huì)加長(zhǎng)40KHz信號(hào)發(fā)射的量

      } } *P_TimerB_Ctrl = 0x0006;//停止定時(shí)器B uiTemp = *P_TimerB_Data;*P_Watchdog_Clear = 0x0001;*P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部

      中斷

      } void EXT1_IRQ_ult(void)

      //超聲波測(cè)距模組的測(cè)距程序的EXT1中斷服務(wù)程序 {

      Counter_buf = *P_TimerB_Data;*P_TimerB_Ctrl = 0x0006;

      return uiResoult;__asm(“IRQ OFF”);

      *P_SystemClock = uiSystem_Clock;//恢復(fù)系統(tǒng)時(shí)鐘的設(shè)

      //關(guān)掉總中斷

      *P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部中斷

      *P_INT_Clear = 0xffff;EXT1_IRQ_flag = 1;

      //清除中斷發(fā)生標(biāo)志

      //通知測(cè)距程序,外部中斷已發(fā)生 } unsigned int measure2_ult(unsigned int type)

      //補(bǔ)充進(jìn)行一次遠(yuǎn)距的測(cè)量,以保證能夠獲取測(cè)量結(jié)果 {

      unsigned int Exit_flag = 1;

      unsigned int uiResoult;unsigned int uiSend_Timer,uiWait_Timer,uiRes_Add;*P_TimerB_Ctrl = 0x0006;

      *P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部中斷

      __asm(“IRQ OFF”);

      //關(guān)掉總中斷

      //清除掉中斷發(fā)生標(biāo)志 *P_INT_Clear = 0xffff;

      if(type)

      //根據(jù)type即測(cè)距類(lèi)型,選擇不同的測(cè)距參數(shù)

      {

      } else {

      }

      uiSend_Timer = LONG_SEND_TIMER2;uiWait_Timer = LONG_WAIT_DELAY2;uiRes_Add = LONG_RES_ADD2;uiSend_Timer = LOW_SEND_TIMER2;uiWait_Timer = LOW_WAIT_DELAY2;uiRes_Add = LOW_RES_ADD2;

      *P_TimerB_Data = 0xfed2;*P_TimerB_Ctrl = 0x03c0;Delay_ult(uiSend_Timer);*P_TimerB_Ctrl = 0x0006;*P_TimerB_Data = 0x0000;*P_TimerB_Ctrl = 0x0001;

      while(*P_TimerB_Data

      *P_INT_Ctrl = *P_INT_Ctrl_New|0x0100;//打開(kāi)外部中斷 *P_INT_Clear = 0xffff;__asm(“IRQ ON”);

      EXT1_IRQ_flag = 0;

      //TimerA的溢出中斷

      //清除中斷發(fā)生標(biāo)志 //打開(kāi)總中斷使能 { } *P_Watchdog_Clear = 0x0001;的標(biāo)志變量置0

      while(Exit_flag){ if(EXT1_IRQ_flag==1)

      //當(dāng)該變量在timerA的FIQ中斷中被置1時(shí)表示接收到了回波

      { Exit_flag = 0;

      //exit Counter_buf = Counter_buf+uiRes_Add;//計(jì)數(shù)值加上一定的調(diào)整數(shù)據(jù)

      uiResoult = Resoult_ult(Counter_buf);//對(duì)計(jì)數(shù)值進(jìn)行處理,得出距離值

      } if(*P_TimerB_Data>10000)

      //如計(jì)數(shù)值大于10000,表示超時(shí)

      } unsigned int measure_Times(unsigned int type)

      //組合進(jìn)行共6次的測(cè)距程序,包括對(duì)6次測(cè)量結(jié)果的取平均值處理 {

      } {

      } Exit_flag = 0;uiResoult = 0;

      *P_TimerB_Ctrl = 0x0006;return uiResoult;unsigned int uiResoult=0,uiMeasure_Index=0,i;unsigned int uiTemp_buf[6],uiTemp;

      unsigned int uiSystem_Clock;

      for(;uiMeasure_Index<6;uiMeasure_Index++){

      //循環(huán)進(jìn)行四次測(cè)量

      //進(jìn)行一次測(cè)uiTemp = measure_ult(type);

      量,測(cè)量類(lèi)型由type決定

      if(uiMeasure_Index==0)

      //如果為本次測(cè)量的第一次測(cè)距,則直接保存在緩沖區(qū)第一個(gè)單元

      uiTemp_buf[0] = uiTemp;

      else {

      //否,則對(duì)結(jié)果進(jìn)行比較,進(jìn)行排序,從大到小排

      i = uiMeasure_Index;while(i){

      if(uiTemp>uiTemp_buf[i-1]){

      } else {

      //以下為排序的代碼

      uiTemp_buf[i] = uiTemp_buf[i-1];uiTemp_buf[i-1] = uiTemp;

      }

      }

      }

      uiTemp_buf[i] = uiTemp;break;

      //退出排序

      i--;

      //兩次測(cè)量之間的延時(shí)等待,利用以下代碼軟仿真時(shí)的cycles數(shù)結(jié)合設(shè)置的CPUCLK進(jìn)行計(jì)算,大概72ms uiSystem_Clock = *P_SystemClock;

      //將之前的系統(tǒng)時(shí)鐘的設(shè)置用變量保存

      *P_SystemClock = 0x000b;

      //

      設(shè)

      為24.576MHz 分頻比為8

      for(i=0;i<5;i++){

      } *P_SystemClock = uiSystem_Clock;

      //恢復(fù)系統(tǒng)時(shí)鐘Delay_ult(1000);

      //調(diào)用延時(shí)程序

      *P_Watchdog_Clear = 0x0001;設(shè)置

      } //此處延時(shí)結(jié)束

      //對(duì)6次測(cè)距的結(jié)果進(jìn)行處理

      if(uiTemp_buf[5]==0){

      //如果緩沖區(qū)中的最小的測(cè)距值為0,則采用中間4個(gè)數(shù)據(jù)進(jìn)行平均

      uiResoult

      = uiTemp_buf[1]+uiTemp_buf[2]+uiTemp_buf[3]+uiTemp_buf[4];

      } else {

      //否則就取后5個(gè)數(shù)據(jù)uiResoult = uiResoult/4;進(jìn)行平均

      uiResoult

      = uiTemp_buf[1]+uiTemp_buf[2]+uiTemp_buf[3]+uiTemp_buf[4]+uiTemp_buf[5];

      } } return uiResoult;uiResoult = uiResoult/5;40

      第五篇:基于A(yíng)rduino單片機(jī)避障小車(chē)機(jī)器人畢業(yè)論文

      論文編碼:TP39

      Capital Normal University

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      ——機(jī)器人機(jī)械設(shè)計(jì)模塊

      Design and Implementation of Mobile Robot

      Based on Behavior Design —— Robot Mechanical Solutions

      論文作者: 張倩穎 院 系: 信息工程學(xué)院 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào): 1111000055 指導(dǎo)老師: 徐敏 完成日期: 2015年 4月 25日

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      摘要

      本文簡(jiǎn)要介紹了基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)----一種基于A(yíng)rduino新型集成開(kāi)發(fā)環(huán)境的超聲波避障小車(chē)的工作原理。其中包括對(duì)小車(chē)的執(zhí)行組件、搭建結(jié)構(gòu)、傳感器、Arduino單片機(jī)軟件編程及試驗(yàn)結(jié)果的介紹。

      本方案以Arduino單片機(jī)為控制核心,基于蝙蝠超聲波測(cè)距的原理,利用超聲波傳感器,檢測(cè)小車(chē)前方障礙物的距離,然后把數(shù)據(jù)傳送給單片機(jī)。當(dāng)超聲波檢測(cè)到距離小車(chē)前方25CM有障礙物時(shí)單片機(jī)就發(fā)出指令讓小車(chē)左轉(zhuǎn)一定角度,然后停止行進(jìn)繼續(xù)探測(cè).如果前方25CM沒(méi)有障礙物則直行,否則繼續(xù)左轉(zhuǎn)一定角度。如此通過(guò)超聲波不斷的循環(huán)檢測(cè)周邊環(huán)境的情況進(jìn)行自動(dòng)避障。

      本系統(tǒng)在硬件設(shè)計(jì)方面,以Arduino單片機(jī)為控制核心,以超聲波傳感器檢測(cè)前方障礙物,從而自動(dòng)避障。在軟件方面,利用Arduino語(yǔ)言進(jìn)行編程,通過(guò)軟件編程來(lái)控制小車(chē)運(yùn)轉(zhuǎn)。該系統(tǒng)在驅(qū)動(dòng)方面采用L298N驅(qū)動(dòng)2個(gè)直流電機(jī)帶動(dòng)小車(chē)運(yùn)行。并且,用PWM系統(tǒng)調(diào)速,控制小車(chē)前進(jìn)的速度。實(shí)現(xiàn)小車(chē)根據(jù)外部環(huán)境,做出前進(jìn)、后退和轉(zhuǎn)向等動(dòng)作,從而完成避障的功能,本設(shè)計(jì)具有有一定的實(shí)用價(jià)值。

      關(guān)鍵詞:Arduino單片機(jī);超聲波傳感器;避障

      I

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      ABSTRACT This paper describes the design of mobile robot behavior-based design and implement----A new ultrasound-based integrated development environment Arduino obstacle avoidance car works.These include the implementation of car components, building structures, sensors, Arduino microcontroller software programming and test results presentation.The program to Arduino microcontroller core, based on the principle of ultrasonic distance measurement bats using ultrasonic sensors to detect obstacles in front from the car, and then transmits the data to the microcontroller.When the ultrasonic distance in front of the car detects obstacles 25CM SCM issued a directive to make the car turn left on an angle, then continue probing stop traveling.If there is no obstacle in front of the 25CM straight, turn left or continue certain angle.So the case of the ultrasonic continuous loop through the surrounding environment to automatically detect avoidance.The system hardware design to Arduino microcontroller core, with ultrasonic sensors detect obstacles in front, so that automatic obstacle avoidance.On the software side, the use of Arduino programming language to control the car running through software programming.The system uses the driver side L298N drive two DC motors drive the car running.And, with the PWM system speed, speed control car forward.Realize the car according to the external environment, made forward, backward, and steering movements, thus completing the obstacle avoidance function, the design has a certain practical value.Key words: Arduino;ultrasonic sensors;obstacle avoidance

      II

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      第一章 緒論....................................................................................................................................1 1.1 論文的選題背景...................................................................................................................1 1.2 Arduino單片機(jī)概述.............................................................................................................2 1.3 Arduino機(jī)器人發(fā)展現(xiàn)狀.....................................................................................................3 1.4 Arduino智能避障機(jī)器人研究意義和目的.........................................................................4 1.5項(xiàng)目主要研究?jī)?nèi)容...............................................................................................................5 第二章 避障小車(chē)機(jī)器人的總體設(shè)計(jì)............................................................................................6 2.1設(shè)計(jì)原理與方法...................................................................................................................6 2.2硬件設(shè)計(jì)...............................................................................................................................6 2.3 軟件設(shè)計(jì)...............................................................................................................................7 2.3.1 Arduino語(yǔ)言..................................................................................................................7 2.3.2 Arduino IDE....................................................................................................................8 2.4 實(shí)驗(yàn)前期準(zhǔn)備.....................................................................................................................10 第三章 硬件模塊..........................................................................................................................12 3.1 各模塊的的基本性能.........................................................................................................12 3.1.1 單片機(jī)模塊...................................................................................................................12 3.1.2 電機(jī)、電機(jī)驅(qū)動(dòng)模塊...................................................................................................12 3.1.3避障模塊......................................................................................................................14 3.1.4電源模塊......................................................................................................................15 3.2 小車(chē)的基本搭建.................................................................................................................15 3.3連線(xiàn).....................................................................................................................................17 3.3.1電機(jī)的連線(xiàn)..................................................................................................................17 3.3.2舵機(jī)的連線(xiàn)..................................................................................................................18 3.3.3超聲波的連線(xiàn)..............................................................................................................19 3.3.4 Arduino超聲波小車(chē)總體連線(xiàn)圖:.............................................................................20

      III

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      第四章 軟件模塊..........................................................................................................................21 4.1 軟件設(shè)計(jì)思路.....................................................................................................................21 4.2 電機(jī)前進(jìn)模塊.....................................................................................................................22 4.2 電機(jī)后退模塊.....................................................................................................................22 4.3 電機(jī)停止工作模塊.............................................................................................................23 4.4 電機(jī)左轉(zhuǎn)模塊.....................................................................................................................23 4.5 電機(jī)右轉(zhuǎn)模塊.....................................................................................................................24 4.6 防卡死模塊.........................................................................................................................25 第五章 實(shí)驗(yàn)及結(jié)果分析..............................................................................................................26 5.1預(yù)期目標(biāo).............................................................................................................................26 5.2遇到的問(wèn)題和解決方法.....................................................................................................26 5.3 硬件的調(diào)試與整合.............................................................................................................27 5.3.1調(diào)試思路......................................................................................................................27 5.3.2調(diào)試超聲波模塊..........................................................................................................27 5.3.3電機(jī)調(diào)試......................................................................................................................28 5.4 心得體會(huì).............................................................................................................................28 第六章 設(shè)想與展望......................................................................................................................30 參考文獻(xiàn).......................................................................................................................................31 致謝...............................................................................................................................................32 附錄...............................................................................................................................................33 超聲波智能避障車(chē)程序(ARDUINO)...................................................................................33

      IV

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      第一章 緒論

      1.1 論文的選題背景

      隨著現(xiàn)代計(jì)算機(jī)技術(shù)的不斷發(fā)展和普及,機(jī)器人的發(fā)展已經(jīng)遍及近年來(lái)機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。小到智能玩具,大到機(jī)械、電子、冶金、交通、宇航、國(guó)防等各個(gè)領(lǐng)域。人們將計(jì)算機(jī)技術(shù)更加廣闊的運(yùn)用的人類(lèi)生活中,制造能替代人勞動(dòng)的機(jī)器一直是人類(lèi)的夢(mèng)想,并一直在為之努力。在我們的生活里,有很多的機(jī)器人,如圖1.1所示,這兩種機(jī)器人分別是掃地機(jī)器人和滅火機(jī)器人。他們?cè)谖覀兊纳钪蟹浅3R?jiàn)也很實(shí)用,他們的特點(diǎn)就是無(wú)需人們的控制,能夠自行運(yùn)動(dòng)完成他們的任務(wù)。那么這就需要一個(gè)非常必要的基礎(chǔ)功能,那就是能夠感知并躲避前方的障礙物。

      因此,在本次的設(shè)計(jì)中,我們將設(shè)計(jì)出一個(gè)能夠避障機(jī)器人,在具有這個(gè)基本功能的基礎(chǔ)上,我們就可以為他附加更多的功能,賦予它更多的實(shí)用價(jià)值。選用Arduino單片機(jī)作為控制核心,使用仿生超聲波技術(shù)傳感器進(jìn)行避障的實(shí)現(xiàn)?!爸悄鼙苷蠙C(jī)器人”作為現(xiàn)代社會(huì)的新產(chǎn)物,也是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個(gè)特定的環(huán)境里自動(dòng)的運(yùn)作,無(wú)需人為管理,便可以完成預(yù)期所要達(dá)到的或是更高的目標(biāo)。

      圖1.1

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      1.2 Arduino單片機(jī)概述

      Arduino,是一個(gè)基于開(kāi)放原始碼的軟硬件平臺(tái),構(gòu)建于開(kāi)放原始碼simple I/O介面版,并且具有使用類(lèi)似Java,C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境。它包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接和Arduino電路板;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中的程序開(kāi)發(fā)環(huán)境。你只要在IDE中編寫(xiě)程序代碼,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了。

      Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序,編譯成二進(jìn)制文件,收錄進(jìn)微控制器。對(duì)Arduino的編程是利用Arduino編程語(yǔ)言(基于 Wiring)和Arduino開(kāi)發(fā)環(huán)境(based on Processing)來(lái)實(shí)現(xiàn)的?;贏(yíng)rduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信(比如 Flash, Processing, MaxMSP)來(lái)實(shí)現(xiàn)??梢宰约簞?dòng)手制作,也可以購(gòu)買(mǎi)成品套裝;Arduino所使用到的軟件都可以免費(fèi)下載.硬件參考設(shè)計(jì)(CAD 文件)也是遵循availableopen-source協(xié)議, 你可以非常自由地根據(jù)你自己的要求去修改他們.Arduino可以使用開(kāi)發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進(jìn)馬達(dá)或其他輸出裝置。Arduino也可以獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝通的接口,例如說(shuō):flash、processing、Max/MSP、VVVV或其他互動(dòng)軟件…。Arduino開(kāi)發(fā)IDE接口基于開(kāi)放源代碼原,可以讓您免費(fèi)下載使用開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。

      其主要特點(diǎn)如下:

      1)開(kāi)放源代碼的電路圖設(shè)計(jì),程序開(kāi)發(fā)接口免費(fèi)下載,也可依個(gè)人需求自己修改。2)使用低價(jià)格的微處理控制器(AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。

      3)Arduino支持ISP在線(xiàn)燒,可以將新的“bootloader”固件燒入AVR芯片。有了bootloader之后,可以通過(guò)串口或者USB to Rs232線(xiàn)更新固件。

      4)可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線(xiàn),超音波,熱敏電阻,光敏電阻,伺服馬達(dá),…等)5)支持多種互動(dòng)程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      6)應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo)、鍵盤(pán)、CCD等輸入的裝置的互動(dòng)內(nèi)容,可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。

      我們?yōu)槭裁匆褂肁rduino?有很多的單片機(jī)和單片機(jī)平臺(tái)都適合用做交互式系統(tǒng)的設(shè)計(jì)。例如:Parallax Basic Stamp,Netmedia’s BX-24,Phidgets,MIT’s Handyboard和其它等等提供類(lèi)似功能的。所有這些工具,你都不需要去關(guān)心單片機(jī)編程繁瑣的細(xì)節(jié),提供給你的是一套容易使用的工具包。Arduino同樣也簡(jiǎn)化了同單片機(jī)工作的流程,但同其它系統(tǒng)相比Arduino在很多地方更具有優(yōu)越性,特別適合老師,學(xué)生和一些業(yè)余愛(ài)好者們使用:和其它平臺(tái)相比,Arduino板算是相當(dāng)便宜了。最便宜的Arduino版本可以自己動(dòng)手制作,即使是組裝好的成品,其價(jià)格也不會(huì)超過(guò)200元。而且Arduino軟件可以跨平臺(tái)運(yùn)行在Windows,Macintosh OSX,和Linux操作系統(tǒng)。而大部分其它的單片機(jī)系統(tǒng)都只能運(yùn)行在Windows上。另外,它具有簡(jiǎn)易的編程環(huán)境。初學(xué)者很容易就能學(xué)會(huì)使用Arduino編程環(huán)境,同時(shí)它又能為高級(jí)用戶(hù)提供足夠多的高級(jí)應(yīng)用。對(duì)于老師們來(lái)說(shuō),一般都能很方便的使用Processing 編程環(huán)境,所以如果學(xué)生學(xué)習(xí)過(guò)使用Processing 編程環(huán)境的話(huà),那他們?cè)谑褂肁rduino開(kāi)發(fā)環(huán)境的時(shí)候就會(huì)覺(jué)得很相似很熟悉。

      軟件開(kāi)源并可擴(kuò)展-Arduino軟件是開(kāi)源的,對(duì)于有經(jīng)驗(yàn)的程序員可以對(duì)其進(jìn)行擴(kuò)展。Arduino編程語(yǔ)言可以通過(guò)C++庫(kù)進(jìn)行擴(kuò)展,如果有人想去了解技術(shù)上的細(xì)節(jié),可以跳過(guò)Arduino語(yǔ)言而直接使用AVR C 編程語(yǔ)言(因?yàn)锳rduino語(yǔ)言實(shí)際上是基于A(yíng)VR C的)。類(lèi)似的,如果你需要的話(huà),你也可以直接往你的Arduino程序中添加AVR-C 代碼。

      Arduino基于A(yíng)VR平臺(tái),對(duì)AVR庫(kù)進(jìn)行了二次編譯封裝,把端口都打包好了,寄存器啦、地址指針之類(lèi)的基本不用管。大大降低了軟件開(kāi)發(fā)難度,適宜非專(zhuān)業(yè)愛(ài)好者使用。優(yōu)點(diǎn)和缺點(diǎn)并存,因?yàn)槭嵌尉幾g封裝,代碼不如直接使用AVR代碼編寫(xiě)精練,代碼執(zhí)行效率與代碼體積都弱于A(yíng)VR直接編譯。

      1.3 Arduino機(jī)器人發(fā)展現(xiàn)狀

      我國(guó)目前的發(fā)展現(xiàn)狀是研制中的智能移動(dòng)機(jī)器人智能水平并不高,只能說(shuō)是智能移動(dòng)機(jī)器人的初級(jí)階段。智能移動(dòng)機(jī)器人研究中當(dāng)前的核心問(wèn)題有兩方面:一方面是,提高智能移動(dòng)機(jī)器人的自主性,這是就智能移動(dòng)機(jī)器人與人的關(guān)系而言,即希望智能

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      移動(dòng)機(jī)器人進(jìn)一步獨(dú)立于人,具有更為友善的人機(jī)界面。從長(zhǎng)遠(yuǎn)來(lái)說(shuō),希望操作人員只要給出要完成的任務(wù),而機(jī)器能自動(dòng)形成完成該任務(wù)的步驟,并自動(dòng)完成它。另一方面是,提高智能移動(dòng)機(jī)器人的適應(yīng)性,提高智能移動(dòng)機(jī)器人適應(yīng)環(huán)境變化的能力,這是就智能移動(dòng)機(jī)器人與環(huán)境的關(guān)系而言,希望加強(qiáng)它們之間的交互關(guān)系。

      智能移動(dòng)機(jī)器人涉及到許多關(guān)鍵技術(shù),這些技術(shù)關(guān)系到智能移動(dòng)機(jī)器人的智能性的高低。這些關(guān)鍵技術(shù)主要有以下幾個(gè)方面:多傳感信息耦合技術(shù),多傳感器信息融合就是指綜合來(lái)自多個(gè)傳感器的感知數(shù)據(jù),以產(chǎn)生更可靠、更準(zhǔn)確或更全面的信息,經(jīng)過(guò)融合的多傳感器系統(tǒng)能夠更加完善、精確地反映檢測(cè)對(duì)象的特性,消除信息的不確定性,提高信息的可靠性;導(dǎo)航和定位技術(shù),在自主移動(dòng)機(jī)器人導(dǎo)航中,無(wú)論是局部實(shí)時(shí)避障還是全局規(guī)劃,都需要精確知道機(jī)器人或障礙物的當(dāng)前狀態(tài)及位置,以完成導(dǎo)航、避障及路徑規(guī)劃等任務(wù);路徑規(guī)劃技術(shù),最優(yōu)路徑規(guī)劃就是依據(jù)某個(gè)或某些優(yōu)化準(zhǔn)則,在機(jī)器人工作空間中找到一條從起始狀態(tài)到目標(biāo)狀態(tài)、可以避開(kāi)障礙物的最優(yōu)路徑;機(jī)器人視覺(jué)技術(shù),機(jī)器人視覺(jué)系統(tǒng)的工作包括圖像的獲取、圖像的處理和分析、輸出和顯示,核心任務(wù)是特征提取、圖像分割和圖像辨識(shí);智能控制技術(shù),智能控制方法提高了機(jī)器人的速度及精度;人機(jī)接口技術(shù),人機(jī)接口技術(shù)是研究如何使人方便自然地與計(jì)算機(jī)交流。

      在各國(guó)的智能移動(dòng)機(jī)器人發(fā)展中,美國(guó)的智能移動(dòng)機(jī)器人技術(shù)在國(guó)際上一直處于領(lǐng)先地位,其技術(shù)全面、先進(jìn),適應(yīng)性也很強(qiáng),性能可靠、功能全面、精確度高,其視覺(jué)、觸覺(jué)等人工智能技術(shù)已在航天、汽車(chē)工業(yè)中廣泛應(yīng)用。日本由于一系列扶植政策,各類(lèi)機(jī)器人包括智能移動(dòng)機(jī)器人的發(fā)展迅速。歐洲各國(guó)在智能移動(dòng)機(jī)器人的研究和應(yīng)用方面在世界上處于公認(rèn)的領(lǐng)先地位。中國(guó)起步較晚,而后進(jìn)入了大力發(fā)展的時(shí)期,以期以機(jī)器人為媒介物推動(dòng)整個(gè)制造業(yè)的改變,推動(dòng)整個(gè)高技術(shù)產(chǎn)業(yè)的壯大

      1.4 Arduino智能避障機(jī)器人研究意義和目的

      機(jī)器人的感覺(jué)傳感器種類(lèi)非常多,其中視覺(jué)傳感器成為研制自動(dòng)行走和駕駛機(jī)器人的重要部件。機(jī)器人要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線(xiàn)和障礙物,感知導(dǎo)引線(xiàn)相當(dāng)給機(jī)器人一個(gè)視覺(jué)功能。本設(shè)計(jì)以超聲波作為智能車(chē)避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車(chē)智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車(chē)的智能化是汽車(chē)產(chǎn)業(yè)發(fā)展必然的,在這種情況下研究超聲波在智能車(chē)避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)我國(guó)未來(lái)智能汽車(chē)的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。

      本設(shè)計(jì)主要體現(xiàn)多功能小車(chē)的智能避障功能,本設(shè)計(jì)中的理論方案、分析方法及特色與創(chuàng)新點(diǎn)等可以為自動(dòng)運(yùn)輸機(jī)器人、采礦勘探機(jī)器人、家用自動(dòng)清潔機(jī)器人等自動(dòng)半自動(dòng)機(jī)器人的設(shè)計(jì)與普及有一定的參考意義。同時(shí)小車(chē)可以作為玩具的發(fā)展對(duì)象,為中國(guó)玩具市場(chǎng)技術(shù)含量的缺乏進(jìn)行一定的彌補(bǔ),實(shí)現(xiàn)經(jīng)濟(jì)收益,形成商業(yè)價(jià)值。我們所設(shè)計(jì)的智能移動(dòng)機(jī)器人利用超聲波能夠在路面上順利躲避障礙物,從而在導(dǎo)盲和輔助人類(lèi)行動(dòng)方面也有著重要意義。

      1.5項(xiàng)目主要研究?jī)?nèi)容

      本設(shè)計(jì)題目為《基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)》是以Arduino單片機(jī)為控制核心,主要研究小車(chē)的避障功能。利用超聲波傳感器檢測(cè)道路上的障礙,然后把數(shù)據(jù)傳送給單片機(jī),當(dāng)超聲波檢測(cè)到距離小車(chē)前方有障礙物時(shí)單片機(jī)就發(fā)出指令讓小車(chē)左轉(zhuǎn)一定角度,然后停止運(yùn)行繼續(xù)探測(cè).如果前方?jīng)]有障礙物就直走,否則繼續(xù)左轉(zhuǎn)一定角度。如此通過(guò)超聲波不斷的循環(huán)檢測(cè)周邊環(huán)境的情況進(jìn)行自動(dòng)避障。該功能的小車(chē)能夠?qū)崿F(xiàn)在無(wú)人操作的情況下在比較寬闊平坦的環(huán)境中避開(kāi)障礙物。當(dāng)機(jī)器人在行走過(guò)程中遇到前方障礙時(shí),能夠根據(jù)有效范圍內(nèi)的距離作出相應(yīng)處理,由單片機(jī)軟件發(fā)出轉(zhuǎn)彎、直行、后退指令,避免機(jī)器與障礙物相撞。

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      第二章 避障小車(chē)機(jī)器人的總體設(shè)計(jì)

      2.1設(shè)計(jì)原理與方法

      本設(shè)計(jì)中直流電機(jī)PWM控制系統(tǒng)的主要功能包括實(shí)現(xiàn)對(duì)直流電機(jī)的加速、減速,并且可以調(diào)整電機(jī)的轉(zhuǎn)速,能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制。主體電路:即直流電機(jī)PWM 控制模塊。這部分電路主要由AT89S52 單片機(jī)的 I/O 端口、定時(shí)計(jì)數(shù)器、外部中斷擴(kuò)展等控制直流電機(jī)的加速、減速以及電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),并且可以調(diào)整電機(jī)的轉(zhuǎn)速,能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制。其間是通過(guò) AT89S52 單片機(jī)產(chǎn)生脈寬可調(diào)的脈沖信號(hào)并輸入到L298 驅(qū)動(dòng)芯片來(lái)控制直流電機(jī)工作的。該直流電機(jī)PWM 控制系統(tǒng)由以下電路模塊組成:設(shè)計(jì)控制部分:主要由AT89S52 單片機(jī)的外部中斷擴(kuò)展電路組成。直流電機(jī)PWM控制實(shí)現(xiàn)部分主要由一些二極管、電機(jī)和L298 直流電機(jī)驅(qū)動(dòng)模塊組成。智能小車(chē)采用后輪驅(qū)動(dòng),兩個(gè)后輪各用一個(gè)電機(jī),前輪是萬(wàn)象輪,起到支撐和轉(zhuǎn)向的作用。

      2.2硬件設(shè)計(jì)

      本小車(chē)的硬件部分分為幾個(gè)模塊:超聲波傳感器、Arduino單片機(jī)、電源、兩個(gè)直流電動(dòng)機(jī)、電機(jī)驅(qū)動(dòng)板、車(chē)身。電源連接在A(yíng)rduino單片機(jī)上給整個(gè)小車(chē)供電。小車(chē)以Arduino單片機(jī)為核心,連接電機(jī)驅(qū)動(dòng)板控制兩個(gè)直流電動(dòng)機(jī)的運(yùn)轉(zhuǎn),從而實(shí)現(xiàn)小車(chē)的前進(jìn)。將超聲波傳感器安置在車(chē)身的最前端,用于探測(cè)前方是否有障礙物。當(dāng)超聲波傳感器遇到障礙物,將反饋提供到單片機(jī)里從而做出向左旋轉(zhuǎn)的反應(yīng),再次檢測(cè)前方是否有障礙物,若有障礙物則繼續(xù)旋轉(zhuǎn),沒(méi)有障礙物則電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī)前進(jìn),從而實(shí)現(xiàn)整個(gè)小車(chē)的避障功能。硬件框架圖如圖2.1。

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      圖2.1 硬件設(shè)計(jì)框架

      2.3 軟件設(shè)計(jì)

      2.3.1 Arduino語(yǔ)言

      Arduino語(yǔ)言具有如下特點(diǎn):

      1、開(kāi)放源代碼的電路圖設(shè)計(jì),程序開(kāi)發(fā)接口免費(fèi)下載,也可依需求自己修改。

      2、使用低價(jià)格的微處理控制器(AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。

      3、Arduino支持ISP在線(xiàn)燒,可以將新的“bootloader”固件燒入AVR芯片。有了bootloader之后,可以通過(guò)串口或者USB to Rs232線(xiàn)更新固件。

      4、可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線(xiàn),超音波,熱敏電阻,光敏電阻,伺服馬達(dá),?等)

      5、支持多種互動(dòng)程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。

      6、應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo)、鍵盤(pán)、CCD等輸入的裝置的互動(dòng)內(nèi)容,可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。Arduino的功能:

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      Arduino可以讓我們快速使用與Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider等軟件結(jié)合,作出互動(dòng)作品。Arduino可以使用現(xiàn)有的電子元件例如開(kāi)關(guān)或者傳感器或者其他控制器件、LED、步進(jìn)馬達(dá)或其他輸出裝置。Arduino也可以獨(dú)立運(yùn)行,并與軟件進(jìn)行交互,例如:Macromedia Flash, Processing,Max/MSP, Pure Data,VVVV或其他互動(dòng)軟件,Arduino的IDE界面基于開(kāi)放源代碼,可以讓我們免費(fèi)下載使用,開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。

      Arduino可使用ICSP線(xiàn)上燒入器,將「bootloader」燒入新的IC晶片;可依據(jù)官方電路圖,簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線(xiàn),超聲波,熱敏電阻,光敏電阻,伺服馬達(dá)等);支援多樣的互動(dòng)程序例如: Macromedia Flash、Max/Msp、VVVV、PD、C、Processing等;使用低價(jià)格的微處理控制器(ATMEGA 8-168);USB接口,不需外接電源。另外有提供9V直流電源輸入;在應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo),鍵盤(pán),CCD等輸入的裝置進(jìn)行互動(dòng)內(nèi)容的設(shè)計(jì),可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。

      2.3.2 Arduino IDE 如圖2.3這是運(yùn)行界面。Arduino語(yǔ)言是一種類(lèi)c的語(yǔ)言。在這個(gè)界面里有我們編程時(shí)最常用的東西。當(dāng)我們把鼠標(biāo)放在上面就會(huì)在右側(cè)出現(xiàn)按鍵的功能。

      圖2.3 Arduino IDE運(yùn)行界面

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      圖2.4就是upload上傳功能。最右邊的圖標(biāo)是我們需要熟知的串口監(jiān)視器,快捷鍵是:Ctrl+Shift+M。點(diǎn)這個(gè)圖標(biāo)有用的前提是插上了串口設(shè)備,當(dāng)然Arduino插在USB上也可以,因?yàn)榘迳系腁tmega16U2就是USB轉(zhuǎn)串口的功能。

      圖2.4 upload

      上傳功能

      如圖2.5這就是串口監(jiān)視器的運(yùn)行畫(huà)面相對(duì)于網(wǎng)上流傳的眾多串口調(diào)試軟件,它的功能可以說(shuō)較為簡(jiǎn)單。右下角是波特率,波特率接收端和發(fā)射端要相同,要不然收到的會(huì)是亂碼。

      圖2.5 串口監(jiān)視器

      如果電腦沒(méi)找到串口或者驅(qū)動(dòng)沒(méi)裝好,就會(huì)有如圖2.6的提示。serial port的意思是串行通訊接口。

      圖2.6 Arduino IDE的菜單欄中有很多選項(xiàng),例如“文件”“編輯”等英文界面。其中Sketch是草圖的意思,在A(yíng)rduino IDE中,每個(gè)Arduino程序都稱(chēng)為sketch,他是一個(gè)

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      可以上傳進(jìn)Arduino Board中的程序包,當(dāng)然經(jīng)過(guò)編譯以后他就不是代碼包了。Tools里面第一項(xiàng),自動(dòng)格式,當(dāng)你把一段從網(wǎng)上下載的源代碼放到sketch里面,會(huì)有一些縮進(jìn)的亂碼,這時(shí),Auto Format就起到了很好的作用。

      當(dāng)我們編寫(xiě)好程序后,點(diǎn)擊Update,IDE會(huì)自動(dòng)編譯,上傳。如果程序有錯(cuò)誤,就會(huì)有如圖2.7的顯示,標(biāo)出了行號(hào)。修改程序后就可以繼續(xù)編譯上傳了。

      圖2.7

      2.4 實(shí)驗(yàn)前期準(zhǔn)備

      搭建小車(chē)的零件清單如下: 1.減速電機(jī) 2個(gè) 2.優(yōu)質(zhì)輪胎2個(gè) 3.電機(jī)固定件2個(gè) 4.萬(wàn)向輪1個(gè)

      5.100*150*2.6MM有機(jī)玻璃板 2片 6.L298N電機(jī)驅(qū)動(dòng)板1個(gè) 7.ARDUINO 328給力板 1個(gè) 8.云臺(tái) 1個(gè) 9.舵機(jī) 1個(gè) 10.超聲波模塊1個(gè) 11.迷你面包板1個(gè) 12.6節(jié)5號(hào)電池盒一個(gè) 13.杜邦線(xiàn) 12條 14.1米長(zhǎng)USB線(xiàn)1條

      15.銅柱 35MM長(zhǎng) 3個(gè) 12MM 4個(gè)

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      16.3MM螺絲螺母若干

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      第三章 硬件模塊

      3.1 各模塊的的基本性能

      3.1.1 單片機(jī)模塊

      本設(shè)計(jì)采用Atmel Atmega328微處理控制器。其性能為:Digital I/O 數(shù)字輸入/輸出端共 0~13。Analog I/O 模擬輸入/輸出端共 0~5。支持ISP下載功能。輸入電壓:接上電腦USB時(shí)無(wú)須外部供電,外部供電7V~12V 直流電壓輸入。輸出電壓:5V 直流電壓輸出和3.3V 直流電壓輸出。

      圖3.1 Arduino單片機(jī)實(shí)物圖

      3.1.2 電機(jī)、電機(jī)驅(qū)動(dòng)模塊

      本設(shè)計(jì)采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動(dòng)能力。而且L298N有過(guò)電流保護(hù)

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      功能,當(dāng)出現(xiàn)電機(jī)卡死時(shí),可以保護(hù)電路和電機(jī)。這種調(diào)速方式有調(diào)速特性?xún)?yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。

      圖 3.2 L298N引腳圖

      圖3.3 L298N電路原理圖

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      圖3.4 L298N實(shí)物圖

      3.1.3避障模塊

      本設(shè)計(jì)采用HC-SR04超聲波測(cè)距模塊,該原件可提供2CM-400CM的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器,接收器和控制電路。

      基本工作原理:(1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào);(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;(3)有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2;

      圖3.5避障模塊實(shí)物圖

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      3.1.4電源模塊

      本設(shè)計(jì)采用的電源為車(chē)載電源。為保證電源工作可靠,單片機(jī)系統(tǒng)與動(dòng)力伺服系統(tǒng)的電源采用了大功率、大容量的蓄電池;而傳感器的工作電源則采用了小巧輕便的干電池。

      圖3.6 電源模塊實(shí)物圖

      3.2 小車(chē)的基本搭建

      舵機(jī),云臺(tái)和超聲波的連接步驟如下圖:

      1.如圖3.7準(zhǔn)備好云臺(tái)舵機(jī)超聲波安裝所需配件。

      圖3.7 2.圖3.8取出舵機(jī)配件之一“十字膠體”將十字剪成四邊對(duì)等的長(zhǎng)度,打磨成寬度一樣。

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      圖3.8 3.將2*8mm的和1.2*5mm的螺絲安裝到十字的第二個(gè)孔,裝到云臺(tái)底座上。在云臺(tái)底部的螺絲位套上螺母,并用熱熔膠固定如圖3.9。

      圖3.9 4.將舵機(jī)裝上云臺(tái)的兩個(gè)邊翼,并用螺絲緊固如圖3.10。

      圖3.10 5.將裝好的舵機(jī)放進(jìn)固定好的十字膠體調(diào)整好方向后,從舵機(jī)組件包里取出2*6mm的螺絲安裝到舵機(jī)固定孔中。完成云臺(tái)安裝后用扎帶將超聲波模塊固定在云臺(tái)前端如圖3.11。

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      圖3.11 6.將6mm銅柱裝在云臺(tái)底座安裝孔并將裝好的云臺(tái)組件直接安裝到小車(chē)底盤(pán)上,小車(chē)搭建成品如圖3.12。

      圖3.12 小車(chē)搭建成品

      3.3連線(xiàn)

      3.3.1電機(jī)的連線(xiàn)

      L298N的供電處理:

      用6節(jié)5號(hào)電池盒取一路電源給L298N電機(jī)驅(qū)動(dòng)模塊供電,另一路給ARDUINO主板供電給L298N電機(jī)驅(qū)動(dòng)模塊供電的電源+極接L298N的VMS接口,電源的-接L298N的GND接口,L298N板上的+5V接口放空不接。電機(jī)一接L298N的MOTOA,電機(jī)二接L298N的MOTOB。

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      圖3.13 電機(jī)的連線(xiàn)

      3.3.2舵機(jī)的連線(xiàn)

      首先設(shè)置函數(shù):myservo.attach(5);// 定義伺服馬達(dá)輸出第5腳位。

      舵機(jī)需要連接的有三條線(xiàn),分別是+,-,信號(hào)。三條線(xiàn)均直接連接到Arduino板上。

      接線(xiàn)方法:將+5V接到J5位,-位接到J6位,信號(hào)位接到J4位PWM口的第五腳。

      連線(xiàn)方式如圖3.14所示:

      圖3.14舵機(jī)的連線(xiàn)

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      3.3.3超聲波的連線(xiàn)

      超聲波傳感器有四個(gè)腳,如圖3.15所示: 四個(gè)引腳的功能分別是: 1:VCC 接+5V。2:TRIQ 信號(hào)輸入。3:ECHO信號(hào)輸出。4:GND 接地。

      圖3.15超聲波的引腳示意圖

      超聲波模塊四個(gè)引腳直接與Arduino單片機(jī)連接,接線(xiàn)方法如圖3.16所示:

      圖3.16超聲波與Arduino單片機(jī)接線(xiàn)

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      3.3.4 Arduino超聲波小車(chē)總體連線(xiàn)圖:

      電機(jī)A和電機(jī)B將正負(fù)兩端接在L298N電機(jī)驅(qū)動(dòng)板上,若正負(fù)兩級(jí)接反則車(chē)輪反轉(zhuǎn)。電機(jī)驅(qū)動(dòng)板、舵機(jī)、超聲波模塊直接與Arduino核心控制板相連,電源模塊分別給電機(jī)驅(qū)動(dòng)板和Arduino板供電。

      圖3.17 Arduino超聲波小車(chē)總體連線(xiàn)圖

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      第四章 軟件模塊

      4.1 軟件設(shè)計(jì)思路

      在軟件設(shè)計(jì)方面,采用Arduino語(yǔ)言編程,編寫(xiě)程序流程圖4.1

      圖4.1 軟件編譯流程圖

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      4.2 電機(jī)前進(jìn)模塊

      在定義好各個(gè)引腳之后,進(jìn)入主程序的編寫(xiě)部分。我在程序控制模塊里主要編寫(xiě)的是電機(jī)的控制函數(shù)。本程序中提及的digitalWrite函數(shù)的作用是設(shè)置引腳的輸出的電壓為高電平或低電平。該函數(shù)也是一個(gè)無(wú)返回值的函數(shù),函數(shù)有兩個(gè)參數(shù)pin和value,pin參數(shù)表示所要設(shè)置的引腳,value參數(shù)表示輸出的電壓HIGH(高電平)或LOW(低電平)。

      首先定義為advance前進(jìn)函數(shù): void advance(int a){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為低電平,即不給電: digitalWrite(pinRB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平: digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為低電平: digitalWrite(pinLB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平: digitalWrite(pinLF,HIGH);定義延時(shí),即將前進(jìn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(a * 100);延時(shí) } 4.2 電機(jī)后退模塊

      將函數(shù)定義為back后退函數(shù) void back(int g)//后退 { 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平: digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為低電平: digitalWrite(pinRF,LOW);

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平: digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為低電平: digitalWrite(pinLF,LOW);定義延時(shí),即將電機(jī)的后退動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(g * 100);} 4.3 電機(jī)停止工作模塊

      將函數(shù)定義為stopp停止函數(shù) void stopp(int f){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平: digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的停止動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(f * 100);}

      4.4 電機(jī)左轉(zhuǎn)模塊

      將函數(shù)定義為left左轉(zhuǎn)函數(shù) void left(int c){

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平 digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平 digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為低電平 digitalWrite(pinLB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平 digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的左轉(zhuǎn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(c * 100);}

      4.5 電機(jī)右轉(zhuǎn)模塊

      將函數(shù)定義為right右轉(zhuǎn)函數(shù) void right(int b){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為低電平 digitalWrite(pinRB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平 digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平 digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平 digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的右轉(zhuǎn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(b * 100);}

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      4.6 防卡死模塊

      該模塊為防止避障小車(chē)卡死的編譯,即當(dāng)小車(chē)發(fā)生與障礙物距離過(guò)近的情況而無(wú)法轉(zhuǎn)彎時(shí),該程序會(huì)指引小車(chē)向后倒退,倒退一定距離后左轉(zhuǎn)前進(jìn),若仍有障礙物則繼續(xù)倒退,若無(wú)障礙物則左轉(zhuǎn)后直行。即可防止車(chē)在行進(jìn)途中卡在死巷里。

      if(directionn == 2)//假如directionn(方向)= 2(倒車(chē)){ back(8);// 倒退(車(chē))turnL(2);//些微向左方移動(dòng)(防止卡在死巷里)Serial.print(“ Reverse ”);//顯示方向(倒退)}

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      第五章 實(shí)驗(yàn)及結(jié)果分析

      5.1預(yù)期目標(biāo)

      總體來(lái)說(shuō)本次試驗(yàn)達(dá)到預(yù)期目標(biāo)。

      (1)在車(chē)前方?jīng)]有障礙物時(shí),小車(chē)沿直線(xiàn)向前走。

      (2)在車(chē)前方有障礙物時(shí),小車(chē)能避開(kāi)障礙物,避障方法如下:超聲波檢測(cè)到障礙物后,先向左邊旋轉(zhuǎn),檢測(cè)。如果旋轉(zhuǎn)后前面沒(méi)有檢測(cè)障礙物,則沿直線(xiàn)向前走;如果旋轉(zhuǎn)后檢測(cè)到前方仍有障礙物,則繼續(xù)旋轉(zhuǎn),如果前面沒(méi)有障礙物,則沿直線(xiàn)向前行走;

      但是該超聲波避障小車(chē)還存在著許多的不足,比如說(shuō)只能對(duì)正前方一定角度內(nèi)進(jìn)行探測(cè),使用的是一路超聲波而不是多路超聲波探測(cè),并且為了簡(jiǎn)化,默認(rèn)的只是向同一個(gè)方向轉(zhuǎn)彎等,這些都是有待進(jìn)一步發(fā)展和提高的。

      5.2遇到的問(wèn)題和解決方法

      在此之前我們并沒(méi)有制作過(guò)任何智能的機(jī)器人。初定避障小車(chē)這個(gè)題目時(shí),最初我們采用樂(lè)高機(jī)器人搭建了一個(gè)循跡避障的機(jī)器人,由于操作較為簡(jiǎn)單,后來(lái)我們決定嘗試采用Arduino芯片,利用超聲波傳感器搭建出一臺(tái)智能的避障小車(chē)。最初我們對(duì)硬件的原理不夠明白,不知道采用哪些原件,課程設(shè)計(jì)指導(dǎo)書(shū)上介紹的也并不詳細(xì),因此我們利用大量時(shí)間去圖書(shū)館查閱了許多資料,對(duì)其電機(jī)驅(qū)動(dòng)、Arduino控制板以及超聲波傳感器的引腳、電路設(shè)計(jì)等各方面都做了近一步的了解之后才開(kāi)始進(jìn)行小車(chē)的搭建。

      在選擇硬件設(shè)施上,我們也花了很大功夫。在最初我們?cè)O(shè)計(jì)了兩個(gè)驅(qū)動(dòng)方案的選擇。一個(gè)是采用ULN2003驅(qū)動(dòng),它是由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,一般用于高速大功率驅(qū)動(dòng)電路。另個(gè)一就是采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動(dòng)能力。此驅(qū)動(dòng)板體積小,重量輕,而且它有一個(gè)外加的續(xù)流二極管,可以防止電機(jī)線(xiàn)圈在斷電時(shí)的方向電勢(shì)損壞芯片,同時(shí)也也安裝有散熱

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      片能使芯片溫度降低,盡量防止他自動(dòng)斷電,讓驅(qū)動(dòng)性能更加穩(wěn)定。板子設(shè)有兩個(gè)電流反饋檢測(cè)接口、內(nèi)邏輯取電選擇端、4個(gè)上拉電阻選擇端、2路直流電機(jī)接口、控制電機(jī)方向指向燈等等。這個(gè)板子不僅適用于智能程控小車(chē)、輪式機(jī)器人等,還可以配合各種控制器使用。因此經(jīng)過(guò)一番對(duì)比和考慮,最終我們選擇了L298N電機(jī)驅(qū)動(dòng)板。在超聲波的選擇上我們也出現(xiàn)了分期,本設(shè)計(jì)最終采用的是HC-SR04超聲波測(cè)距模塊。而最初我們選擇的事紅外傳感裝置。之所以最終沒(méi)有選擇紅外線(xiàn)傳感,是因?yàn)榧t外線(xiàn)對(duì)使用環(huán)境有較高的要求,當(dāng)遇上淺色或是深色的家居物品它無(wú)法反射回來(lái),會(huì)造成機(jī)器人無(wú)法正常避障。而這款HC-SR04則采用仿生超聲波技術(shù),類(lèi)似鯨魚(yú),蝙蝠采用聲波來(lái)偵測(cè)判斷障礙物以及及空間方位,該超聲波避障模塊包括超聲波發(fā)射器,接收器和控制電路,靈敏度較高,但技術(shù)成本也較高。

      在搭建方面,我們完成程序的編譯通電之后,小車(chē)發(fā)生了原地旋轉(zhuǎn)的現(xiàn)象,經(jīng)過(guò)觀(guān)察,我們發(fā)現(xiàn)小車(chē)在感應(yīng)障礙物方面并沒(méi)有問(wèn)題。問(wèn)題出現(xiàn)在左側(cè)輪前轉(zhuǎn),而右側(cè)輪后轉(zhuǎn)。所以我們將控制右側(cè)車(chē)輪的電機(jī)的接線(xiàn)進(jìn)行改接,這個(gè)問(wèn)題便得以解決。

      在軟硬件調(diào)試方面,我們也遇到了一些問(wèn)題。首先是避障小車(chē)的旋轉(zhuǎn)角度不夠,也許是因?yàn)榈孛婺Σ亮Φ年P(guān)系,小車(chē)的旋轉(zhuǎn)角度并達(dá)不到我們所設(shè)定的左轉(zhuǎn)九十度。后來(lái)我們又將程序進(jìn)行改進(jìn),設(shè)置的旋轉(zhuǎn)角度比九十度多一些,小車(chē)就可正常避障了。還有一個(gè)問(wèn)題就是小車(chē)在遇到障礙物之后的反應(yīng)速度并不是很快,需要障礙物在前面平行持續(xù)1,2秒才可以做出轉(zhuǎn)向的判斷,這個(gè)延遲反應(yīng)也經(jīng)常造成小車(chē)和障礙物發(fā)生碰撞,這也是我們遇到的最大問(wèn)題,在這個(gè)問(wèn)題上我們做了很多程序上的調(diào)試,但終究達(dá)不到很理想的效果,在后續(xù)的試驗(yàn)中,我們準(zhǔn)備嘗試換一個(gè)感測(cè)避障模塊進(jìn)行嘗試改進(jìn)。

      5.3 硬件的調(diào)試與整合

      5.3.1調(diào)試思路

      本設(shè)計(jì)的智能避障小車(chē),難點(diǎn)重點(diǎn)有兩大模塊。分別是:L298驅(qū)動(dòng)模塊和超聲波測(cè)距模塊。我們?cè)谡{(diào)試的時(shí)候我們把兩大模塊分別調(diào)試,最后再把所有模塊和硬件組合起來(lái)再進(jìn)行最后的整機(jī)調(diào)試這樣一個(gè)調(diào)試的思路。

      5.3.2調(diào)試超聲波模塊

      超聲波模塊一共有四個(gè)腳,一個(gè)是VCC,一個(gè)是GND,還有兩個(gè)分別是超聲波的發(fā)射和接收引腳。連接電路時(shí)候只需引出四根插線(xiàn),分別連接到89S52的對(duì)應(yīng)引腳,燒制好

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      測(cè)試程序,測(cè)試結(jié)果圖如5.2.2。本設(shè)計(jì)四根插線(xiàn)分別連接到VCC,GND,還有發(fā)射和接收引腳分別為:P3.0和P3.2。

      5.3.3電機(jī)調(diào)試

      在電機(jī)驅(qū)動(dòng)板上。有EA,I1,I2,EB,I3,I4六個(gè)端子用于控制電機(jī)。EA,EB為兩路電機(jī)的控制使能,通過(guò)PWM可以控制電機(jī)轉(zhuǎn)速,高電平有效。我們完成程序的編譯通電之后,小車(chē)發(fā)生了不停地旋轉(zhuǎn)的現(xiàn)象,我們觀(guān)察到小車(chē)在感應(yīng)障礙物方面并沒(méi)有問(wèn)題。問(wèn)題出現(xiàn)在左側(cè)輪前轉(zhuǎn),而右側(cè)輪后轉(zhuǎn)。所以我們將控制右側(cè)車(chē)輪的電機(jī)的接線(xiàn)進(jìn)行修改,這個(gè)問(wèn)題便得以解決。

      圖5.1電機(jī)驅(qū)動(dòng)板的引腳及其功能

      5.4 心得體會(huì)

      通過(guò)這次的項(xiàng)目實(shí)訓(xùn),我學(xué)習(xí)到了很多的電子知識(shí),提高了我對(duì)于陌生硬件的學(xué)習(xí)能力。超聲波傳感器在此之前我沒(méi)有接觸過(guò),對(duì)我來(lái)說(shuō)非常的陌生,從一無(wú)所知慢慢查資料到能夠熟練應(yīng)用,讓我知道了面對(duì)新的硬件應(yīng)該怎么學(xué)習(xí),在以后的工作學(xué)習(xí)中,我一定會(huì)遇到非常多的不熟悉的硬件,我相信,通過(guò)不斷地鍛煉積累,學(xué)習(xí)能力會(huì)進(jìn)一步提高。這次實(shí)訓(xùn)同時(shí)還加強(qiáng)了我實(shí)踐動(dòng)手能力,特別培養(yǎng)了出現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的能力,我相信這些能力的提高對(duì)我以后在從事任何工作都將會(huì)有極大的幫助。

      這次的項(xiàng)目實(shí)訓(xùn)讓我感觸最深的是:作為電子愛(ài)好者,電子制作中不管遇到什么問(wèn)題和困境都要有一顆平靜的心和堅(jiān)持不懈的精神,一顆浮躁的心是不會(huì)到達(dá)成功的彼岸。這次課程設(shè)計(jì),給我更多的是一種模塊化的思想,將系統(tǒng)按我們所需的功能和系統(tǒng)所能提供的功能進(jìn)行模塊化的分類(lèi),將會(huì)使我們的工作變得一目了然,非常清晰。比如說(shuō)這次我選的避障小車(chē),可以分成超聲波測(cè)速模塊,電機(jī)驅(qū)動(dòng)模塊,單片機(jī)核心模塊三個(gè),首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      三個(gè)部分各司其職,無(wú)論從硬件上還是軟件上,都能夠比較清晰地將他們的功能區(qū)分開(kāi),從而有利于硬件的連接和程序的編寫(xiě)。

      從以后工作來(lái)看,這種模塊化處理問(wèn)題的方式將會(huì)更加的有用,在公司和以后得科研項(xiàng)目中,系統(tǒng)一定是越來(lái)越復(fù)雜,不可能一個(gè)人完成所有的任務(wù),一定是一個(gè)團(tuán)隊(duì)來(lái)做這些系統(tǒng)的設(shè)計(jì),所以模塊化之后,能夠?qū)⑷蝿?wù)分配給每個(gè)人,最后大家還能夠很好的綜合到一起,大大的縮短了開(kāi)發(fā)周期。這次的畢設(shè)實(shí)踐學(xué)習(xí)讓我受益匪淺。

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      第六章 設(shè)想與展望

      隨著科技的迅猛發(fā)展,智能已經(jīng)成為了現(xiàn)在的高科技的熱詞,智能機(jī)器人可以解決無(wú)數(shù)人類(lèi)無(wú)法或者是很難解決的難題。本智能小車(chē)系統(tǒng)最誘人的前景就是可用于未來(lái)的智能汽車(chē)上了,當(dāng)駕駛員因疏忽或打瞌睡時(shí)這樣的智能汽車(chē)的設(shè)計(jì)就能體現(xiàn)出它的作用。如果汽車(chē)偏離車(chē)道或距障礙物小于安全距離時(shí),汽車(chē)就會(huì)發(fā)出警報(bào),提醒駕駛員注意,如果駕駛員沒(méi)有及時(shí)作出反應(yīng),汽車(chē)就會(huì)自動(dòng)減速或停靠于路邊,這樣就大大增大了駕車(chē)的安全系數(shù),想的再長(zhǎng)遠(yuǎn)一點(diǎn),這個(gè)避障功能可以作為無(wú)人駕駛機(jī)動(dòng)的一個(gè)基本功能。無(wú)人駕駛的機(jī)動(dòng)車(chē)行駛在路上,擁有定位和導(dǎo)航的功能后就可以將人或物品送到我們所需要送到的位置。這樣智能機(jī)器人的應(yīng)用,就大大的減少了人力和物力,并且方便了更多不會(huì)駕駛機(jī)動(dòng)車(chē)的市民。

      這樣的避障小車(chē)還可以用于月球探測(cè)等的無(wú)人探月車(chē),幫助我們傳達(dá)月球上更多的信息,讓我們更加的了解月球,為將來(lái)登月做好充分準(zhǔn)備。這樣的小車(chē)在科學(xué)考察探測(cè)車(chē)上也有廣闊的應(yīng)用前景,在科學(xué)考察中,有很多危險(xiǎn)且人們無(wú)法涉足的地方,這時(shí),智能科學(xué)考察車(chē)就能夠派上用場(chǎng),在它上面裝上攝像機(jī),代替人們進(jìn)行許多無(wú)法進(jìn)行的工作。智能車(chē)的應(yīng)用減少了人們的工作危險(xiǎn)系數(shù),解決了惡劣環(huán)境下勘探的需求,實(shí)現(xiàn)了即是沒(méi)有人操作應(yīng)用機(jī)器也能很好的完成工作,這項(xiàng)研發(fā)可謂是一舉多得。

      在未來(lái)的社會(huì)中智能也是大勢(shì)所趨,而智能車(chē)作為智能機(jī)器人中一類(lèi)必不可少的組成部分。最近幾年發(fā)展更是迅速,各個(gè)國(guó)家更是投入大量資金。它廣泛涉及人工智能、計(jì)算機(jī)視覺(jué)、自動(dòng)控制、精密儀器、傳感和信息等一系列學(xué)科的創(chuàng)新研究,其研究成果可廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)藥、軍事、航空、信息技術(shù)等實(shí)際領(lǐng)域,智能機(jī)器人的發(fā)展水平可反映出一個(gè)國(guó)家的高科技水平和綜合國(guó)力,是國(guó)家綜合國(guó)力強(qiáng)大的標(biāo)志,也是人類(lèi)文明進(jìn)步的標(biāo)志。在我們未來(lái)的工作與生活中,會(huì)越來(lái)越多的需要機(jī)器人代替人力來(lái)工作和完成一些難度較大或較為費(fèi)力的任務(wù),對(duì)這些實(shí)用的機(jī)器人的需求也會(huì)越來(lái)越大。因此,機(jī)器人研發(fā)的前景是不可估量的。

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      參考文獻(xiàn)

      [1] 袁新娜,與紅英編著.超聲波傳感器在智能小車(chē)避障系統(tǒng)中的應(yīng)用.[A]中北大學(xué)(2009)08-0085-04 [2] 邵貝貝.單片機(jī)嵌入式應(yīng)用的在線(xiàn)開(kāi)發(fā)方法[M].北京.清華大學(xué)出社.2004 [3] 王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京.北京航空航天大學(xué)出版社.2002 [4] 臧杰,閻巖.汽車(chē)構(gòu)造[M].北京.機(jī)械工業(yè)出版社.2005 哈爾濱工業(yè)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)

      [5] 安鵬,馬偉.S12單片機(jī)模塊應(yīng)用及程序調(diào)試[J].電子產(chǎn)品世界.2006.第211期. 162-163 [6] 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京.高等教育出版社.2000 [7] 沈長(zhǎng)生.常用電子元器件使用一讀通[M].北京.人民郵電出版社.2004 [8] 宗光華.機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐[M].北京.北京航空航天大學(xué)出社.2004 [9] 張偉等.Protel DXP高級(jí)應(yīng)用[M].北京.人民郵電出版社.2002 [10] 張文春.汽車(chē)?yán)碚揫M].北京.機(jī)械工業(yè)出版社.2005 [11] 江海波,王卓然,耿德根編著.深入淺出AVR單片機(jī).中國(guó)電力出版社,2008.31

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      致謝

      歷時(shí)三個(gè)月的畢業(yè)設(shè)計(jì)已經(jīng)告一段落。在我和我組成員張碩的共同努力下,本避障小車(chē)的任務(wù)已經(jīng)基本完成。在這段時(shí)間里,非常感謝在遇到困難時(shí)我的同學(xué)們所給予的支持和鼓勵(lì),給我提供專(zhuān)業(yè)的意見(jiàn)和建議。還有和我同組的同學(xué)張碩,我們共同查閱資料,克服許多在選擇小車(chē)部件、小車(chē)搭建和編程上的種種困難。也正是這次畢業(yè)設(shè)計(jì)使我深刻地認(rèn)識(shí)到學(xué)好專(zhuān)業(yè)知識(shí)的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)四年的學(xué)習(xí)成果。我更明白了團(tuán)隊(duì)合作的重要性。兩個(gè)人不僅有兩個(gè)大腦和更多的主意和知識(shí),最重要的事能夠在遇到困難時(shí)可以相互鼓勵(lì)學(xué)習(xí),互相分擔(dān)。也正是這種團(tuán)結(jié)合作的精神促使了我們這次畢設(shè)任務(wù)的圓滿(mǎn)成功。

      這三個(gè)月的設(shè)計(jì)是對(duì)過(guò)去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過(guò)程,為今后的發(fā)展打下了良好的基礎(chǔ)。也非常感謝指導(dǎo)老師徐老師的支持和指導(dǎo),每次我給徐老師發(fā)郵件她都會(huì)認(rèn)真的給我批改,指出我的不足。也正是因?yàn)樵诶蠋煹闹笇?dǎo)下我的論文進(jìn)行不斷的改正,才有機(jī)會(huì)變得越來(lái)越好。

      由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處。雖然這次的畢業(yè)設(shè)計(jì)對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練,但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。敬請(qǐng)各位老師批評(píng)指正。

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      附錄

      超聲波智能避障車(chē)程序(ARDUINO)

      L = 左 R = 右 F = 前 B = 后 */ #include int pinLB=6;// 定義6腳位左后 int pinLF=9;// 定義9腳位左前

      int pinRB=10;// 定義10腳位右后 int pinRF=11;// 定義11腳位右前

      int inputPin = A0;// 定義超音波信號(hào)接收腳位 int outputPin =A1;// 定義超音波信號(hào)發(fā)射腳位

      int Fspeedd = 0;// 前速 int Rspeedd = 0;// 右速 int Lspeedd = 0;// 左速

      int directionn = 0;// 前=8 后=2 左=4 右=6 Servo myservo;// 設(shè) myservo int delay_time = 250;// 伺服馬達(dá)轉(zhuǎn)向后的穩(wěn)定時(shí)間

      int Fgo = 8;// 前進(jìn) int Rgo = 6;// 右轉(zhuǎn) int Lgo = 4;// 左轉(zhuǎn) int Bgo = 2;// 倒車(chē)

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      void setup(){ Serial.begin(9600);// 定義馬達(dá)輸出腳位 pinMode(pinLB,OUTPUT);// 腳位 8(PWM)pinMode(pinLF,OUTPUT);// 腳位 9(PWM)pinMode(pinRB,OUTPUT);// 腳位 10(PWM)pinMode(pinRF,OUTPUT);// 腳位 11(PWM)

      pinMode(inputPin, INPUT);// 定義超音波輸入腳位 pinMode(outputPin, OUTPUT);// 定義超音波輸出腳位

      myservo.attach(5);// 定義伺服馬達(dá)輸出第5腳位(PWM)} void advance(int a)// 前進(jìn) { digitalWrite(pinRB,LOW);// 使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);// 使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(a * 100);}(電機(jī)前進(jìn)函數(shù))

      void right(int b)//右轉(zhuǎn)(單輪){ digitalWrite(pinRB,LOW);//使馬達(dá)(右后)動(dòng)作右后方的引腳的低電頻 digitalWrite(pinRF,HIGH);右前引腳高電頻 digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH);delay(b * 100);}

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      void left(int c)//左轉(zhuǎn)(單輪){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(c * 100);}(high高頻是向前 low低頻向后)void turnR(int d)//右轉(zhuǎn)(雙輪){ digitalWrite(pinRB,LOW);//使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,LOW);//使馬達(dá)(左前)動(dòng)作 delay(d * 100);} void turnL(int e)//左轉(zhuǎn)(雙輪){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,LOW);//使馬達(dá)(右前)動(dòng)作 digitalWrite(pinLB,LOW);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(e * 100);} void stopp(int f)//停止 { digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH);

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      delay(f * 100);} void back(int g)//后退 {

      digitalWrite(pinRB,HIGH);//使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,LOW);digitalWrite(pinLB,HIGH);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,LOW);delay(g * 100);}

      void detection()//測(cè)量3個(gè)角度(0.90.179){ intdelay_time = 250;// 伺服馬達(dá)轉(zhuǎn)向后的穩(wěn)定時(shí)間 ask_pin_F();// 讀取前方距離

      if(Fspeedd< 10)// 假如前方距離小于10公分 { stopp(1);// 清除輸出資料 back(2);// 后退 0.2秒 }

      if(Fspeedd< 25)// 假如前方距離小于25公分 { stopp(1);// 清除輸出資料 ask_pin_L();// 讀取左方距離

      delay(delay_time);// 等待伺服馬達(dá)穩(wěn)定 ask_pin_R();// 讀取右方距離

      delay(delay_time);// 等待伺服馬達(dá)穩(wěn)定

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      if(Lspeedd>Rspeedd)//假如左邊距離大于右邊距離 { directionn = Rgo;//向右走 }

      if(Lspeedd<= Rspeedd)//假如左邊距離小于或等于右邊距離 { directionn = Lgo;//向左走 }

      if(Lspeedd< 10 &&Rspeedd< 10)//假如左邊距離和右邊距離皆小于10公分 { directionn = Bgo;//向后走 } } else //加如前方不小于(大于)25公分 { directionn = Fgo;//向前走 } } void ask_pin_F()// 量出前方距離 { myservo.write(90);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      float Fdistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間

      Fdistance= Fdistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“F distance:”);//輸出距離(單位:公分)Serial.println(Fdistance);//顯示距離

      Fspeedd = Fdistance;// 將距離讀入Fspeedd(前速)} void ask_pin_L()// 量出左邊距離 { myservo.write(5);delay(delay_time);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓 float Ldistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間

      Ldistance= Ldistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“L distance:”);//輸出距離(單位:公分)Serial.println(Ldistance);//顯示距離

      Lspeedd = Ldistance;// 將距離讀入Lspeedd(左速)} void ask_pin_R()// 量出右邊距離 { myservo.write(177);delay(delay_time);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      float Rdistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間

      Rdistance= Rdistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“R distance:”);//輸出距離(單位:公分)Serial.println(Rdistance);//顯示距離

      Rspeedd = Rdistance;// 將距離讀入Rspeedd(右速)}

      void loop(){ myservo.write(90);//讓伺服馬達(dá)回歸預(yù)備位置準(zhǔn)備下一次的測(cè)量 detection();//測(cè)量角度并且判斷要往哪一方向移動(dòng)

      if(、n == 2)//假如directionn(方向)= 2(倒車(chē)){ back(8);// 倒退(車(chē))turnL(2);//些微向左方移動(dòng)(防止卡在死巷里)Serial.print(“ Reverse ”);//顯示方向(倒退)} if(directionn == 6)//假如directionn(方向)= 6(右轉(zhuǎn)){ back(1);turnR(6);// 右轉(zhuǎn)

      Serial.print(“ Right ”);//顯示方向(左轉(zhuǎn))} if(directionn == 4)//假如directionn(方向)= 4(左轉(zhuǎn)){ back(1);turnL(6);// 左轉(zhuǎn)

      Serial.print(“ Left ”);//顯示方向(右轉(zhuǎn))}

      基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      if(directionn == 8)//假如directionn(方向)= 8(前進(jìn)){ advance(1);// 正常前進(jìn) Serial.print(“ Advance ”);//顯示方向(前進(jìn))Serial.print(“ ”);}

      首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文

      下載CVM避障算法 翻譯word格式文檔
      下載CVM避障算法 翻譯.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        智能避障小車(chē)試驗(yàn)報(bào)告與總結(jié)[合集五篇]

        智能避障小車(chē)試驗(yàn)報(bào)告與總結(jié)專(zhuān)業(yè)班級(jí):12自動(dòng)化-3 姓 名:李昆倫 學(xué) 號(hào):1216306058 隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感覺(jué)傳感器種類(lèi)越來(lái)越多,其中視覺(jué)傳感器成為自動(dòng)行走和駕駛的重要......

        機(jī)器人算法外文翻譯

        Improved Genetic Algorithm and Its Performance Analysis Abstract: Although genetic algorithm has become very famous with its global searching, parallel computi......

        學(xué)習(xí)移動(dòng)機(jī)器人智能避障測(cè)距系統(tǒng)的報(bào)告

        學(xué)習(xí)移動(dòng)機(jī)器人智能避障測(cè)距系統(tǒng)的報(bào)告 【摘要】本文主要是以學(xué)習(xí)移動(dòng)機(jī)器人智能避障測(cè)距系統(tǒng)為主,闡述學(xué)習(xí)過(guò)程中的心得體會(huì)。測(cè)距系統(tǒng)的應(yīng)用場(chǎng)合非常的多,比如測(cè)距雷達(dá)、測(cè)......

        孟蜀避唐諱的原文及翻譯(大全)

        搜神后記·卷四·孟蜀避唐諱原文及翻譯卷四·孟蜀避唐諱作者:洪邁蜀本石《九經(jīng)》皆孟昶時(shí)所刻,其書(shū)“淵、世民”三字皆缺畫(huà),蓋為唐高祖、太宗諱也。昶父知祥,嘗為莊宗、明宗臣,然......

        (畢業(yè)論文)智能超聲波避障小車(chē)的設(shè)計(jì)與制作(可編輯)(共5則)

        (畢業(yè)論文)智能超聲波避障小車(chē)的設(shè)計(jì)與制作 江陰職業(yè)技術(shù)學(xué)院 項(xiàng)目設(shè)計(jì)報(bào)告 項(xiàng)目超聲波避障小車(chē)的設(shè)計(jì)與制作 專(zhuān) 業(yè) 學(xué)生姓名 班 級(jí) 學(xué) 號(hào) 指導(dǎo)教師 完成日期 摘 要 智能小......

        畢業(yè)論文翻譯(無(wú)線(xiàn)局域網(wǎng)接收器的高效自動(dòng)增益控制算法和結(jié)構(gòu))(范文大全)

        無(wú)線(xiàn)局域網(wǎng)接收器的高效自動(dòng)增益控制算法和結(jié)構(gòu) Il-Gu Lee *, Sok-Kyu Lee 下一代無(wú)線(xiàn)局域網(wǎng)研究團(tuán)隊(duì),電子和電信研究院,柯亭161棟,顧儒城區(qū),大田305700,大韓民國(guó) 2006年2月23日......

        韋貫之,名純,避憲宗諱 閱讀答案附翻譯

        韋貫之,名純,避憲宗諱,遂以字行。少舉進(jìn)士。德宗末年,人有以貫之名薦于京兆尹李實(shí)者,實(shí)舉笏示所記曰:此其姓名也,與我同里,素聞其賢,愿識(shí)之而進(jìn)于上。說(shuō)者喜,驟以其語(yǔ)告于貫之,且曰:子......