機(jī)器人項(xiàng)目研究報(bào)告_第1頁
機(jī)器人項(xiàng)目研究報(bào)告_第2頁
機(jī)器人項(xiàng)目研究報(bào)告_第3頁
機(jī)器人項(xiàng)目研究報(bào)告_第4頁
機(jī)器人項(xiàng)目研究報(bào)告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、機(jī)器人項(xiàng)目研究報(bào)告有一位同學(xué)過生日,我們?nèi)ベI生日蛋糕時(shí)就想,能否自己制作一臺(tái)機(jī)器人,讓機(jī)器人來做我們自己設(shè)計(jì)的蛋糕。機(jī)器人做蛋糕的好處在于它還可以完成一些手工難以精確繪制的圖形,比如圓錐曲線或者比較復(fù)雜的幾何圖形組之類。此外,若把原材料換一下,改一下機(jī)器結(jié)構(gòu),就能讓它做煎餅,做冰淇淋。所以說,這個(gè)機(jī)器人還可以有更廣泛的外延應(yīng)用。經(jīng)過調(diào)查,我們?cè)诰W(wǎng)上和資料中沒有發(fā)現(xiàn)任何團(tuán)體或個(gè)人正在制作或已經(jīng)做出類似的產(chǎn)品。我們的基本思路是:由中心電機(jī)將蛋糕坯帶入加工的各個(gè)工序,氣動(dòng)系統(tǒng)配合液壓系統(tǒng)將奶油擠至蛋糕上,刮板將奶油刮平,單片機(jī)協(xié)調(diào)雙步進(jìn)電機(jī)配合控制奶油嘴進(jìn)行二維定位,在蛋糕表面噴出美麗的圖案。機(jī)器人

2、的結(jié)構(gòu)和框架的主材料使用鋁角鋼。噴花奶油罐我們將獸醫(yī)注射器改造,并使其上部推壓板與氣筒固定為一體,這樣當(dāng)氣筒通氣時(shí),氣筒拉桿收縮,注射器便能擠出奶油。對(duì)于抹平奶油罐我們同樣利用氣筒拉桿的推動(dòng),自制活塞將奶油擠出。在蛋糕坯上抹奶油的部分模擬了蛋糕師的抹平工具,奶油擠出后下部轉(zhuǎn)盤配合旋轉(zhuǎn),上板將蛋糕上表面奶油刮平,多余奶油擠至側(cè)邊,同時(shí)側(cè)板開了槽,這樣能直接刮出側(cè)表面的花紋。噴花奶油嘴的精確定位我們采用極坐標(biāo)計(jì)算方式,以圓盤中心為原點(diǎn)建立極坐標(biāo)系,將圖形中的線轉(zhuǎn)化為兩個(gè)步進(jìn)電機(jī)的轉(zhuǎn)角、轉(zhuǎn)速,同時(shí)計(jì)算單片機(jī)給步進(jìn)電機(jī)脈沖的相應(yīng)頻率,由單片機(jī)協(xié)調(diào)雙電機(jī)實(shí)現(xiàn)奶油嘴按特定路徑的精確定位。單片機(jī)使用了AVR

3、 ATmega128單片機(jī)作為內(nèi)核,我們自己設(shè)計(jì)制做了外部電路。所有的機(jī)械結(jié)構(gòu)和軟件程序都是由我們自主設(shè)計(jì)并制作的。仿生六足探測(cè)機(jī)器人研究報(bào)告 一、課題背景:仿生運(yùn)動(dòng)模式的多足步行機(jī)器人具有優(yōu)越的越障能力,它集仿生學(xué)原理、機(jī)構(gòu)學(xué)理論、自動(dòng)控制原理與技術(shù)、計(jì)算機(jī)軟件開發(fā)技術(shù)、傳感器檢測(cè)技術(shù)和電機(jī)驅(qū)動(dòng)技術(shù)于一體。不論在何種地面上行走,仿生六足機(jī)器人的運(yùn)動(dòng)都具有靈活性與變化性,但其精確控制的難度很大,需要有良好的控制策略與精密的軌跡規(guī)劃,這些都是很好的研究題材。二、項(xiàng)目創(chuàng)新點(diǎn):作為簡單的關(guān)節(jié)型伺服機(jī)構(gòu),仿生六足機(jī)器人能夠?qū)崿F(xiàn)實(shí)時(shí)避障,合理規(guī)劃行走路線。簡單的關(guān)節(jié)型機(jī)器人伺服系統(tǒng)不僅具有可批量制造的條

4、件,作為今后機(jī)器人群系統(tǒng)的基本組成,也可以作為探索復(fù)雜伺服機(jī)構(gòu)的研究對(duì)象。三、研究內(nèi)容:1.仿生學(xué)原理分析: 仿生式六足機(jī)器人,顧名思義,六足機(jī)器人在我們理想架構(gòu)中,我們借鑒了自然界昆蟲的運(yùn)動(dòng)原理。 足是昆蟲的運(yùn)動(dòng)器官。昆蟲有3對(duì)足,在前胸、中胸和后胸各有一對(duì),我們相應(yīng)地稱為前足、中足和后足。每個(gè)足由基節(jié)、轉(zhuǎn)節(jié)、腿節(jié)、脛節(jié)、跗節(jié)和前跗節(jié)幾部分組成?;?jié)是足最基部的一節(jié),多粗短。轉(zhuǎn)節(jié)常與腿節(jié)緊密相連而不活動(dòng)。腿節(jié)是最長最粗的一節(jié)。第四節(jié)叫脛節(jié),一般比較細(xì)長,長著成排的刺。第五節(jié)叫跗節(jié),一般由2-5個(gè)亞節(jié)組成為的是便于行走。在最末節(jié)的端部還長著兩個(gè)又硬又尖的爪,可以用它們來抓住物體。行走是以三條腿

5、為一組進(jìn)行的,即一側(cè)的前、后足與另一側(cè)的中足為一組。這樣就形成了一個(gè)三角形支架結(jié)構(gòu),當(dāng)這三條腿放在地面并向后蹬時(shí),另外三條腿即抬起向前準(zhǔn)備替換。前足用爪固定物體后拉動(dòng)蟲體向前,中足用來支持并舉起所屬一側(cè)的身體,后足則推動(dòng)蟲體前進(jìn),同時(shí)使蟲體轉(zhuǎn)向。這種行走方式使昆蟲可以隨時(shí)隨地停息下來,因?yàn)橹匦目偸锹湓谌侵Ъ苤畠?nèi)。并不是所有成蟲都用六條腿來行走,有些昆蟲由于前足發(fā)生了特化,有了其他功用或退化,行走就主要靠中、后足來完成了。大家最為熟悉的要算螳螂了,我們常可看到螳螂一對(duì)鉗子般的前足高舉在胸前,而由后面四條足支撐地面行走。參考以上的昆蟲足部結(jié)構(gòu),我們想出了較簡單的方式來表達(dá)。一支腳共有兩個(gè)關(guān)節(jié)(假

6、設(shè)沒有爪的情況下),一個(gè)關(guān)節(jié)采左右式移擺;另一個(gè)關(guān)節(jié)則是采偏擺式,使腳可提高,當(dāng)做上下運(yùn)動(dòng)的一種,結(jié)構(gòu)設(shè)計(jì)圖如下。2. 運(yùn)動(dòng)學(xué)分析: 六足步行機(jī)器人的步態(tài)是多樣的,其中三角步態(tài)是六足步行機(jī)器人實(shí)現(xiàn)步行的典型步態(tài)。三角步態(tài)介紹:“六足綱” 昆蟲步行時(shí),一般不是六足同時(shí)直線前進(jìn),而是將三對(duì)足分成兩組,以三角形支架結(jié)構(gòu)交替前行。目前,大部分六足機(jī)器人采用了仿昆蟲的結(jié)構(gòu),6條腿分布在身體的兩側(cè),身體左側(cè)的前、后足及右側(cè)的中足為一組,右側(cè)的前、后足和左側(cè)的中足為另一組,分別組成兩個(gè)三角形支架,依靠大腿前后劃動(dòng)實(shí)現(xiàn)支撐和擺動(dòng)過程,這就是典型的三角步態(tài)行走法,如下圖所示。圖中機(jī)器人的髖關(guān)節(jié)在水平和垂直方向上

7、運(yùn)動(dòng)。此時(shí),B、D、F 腳為擺動(dòng)腳,A、C、E腳原地不動(dòng),只是支撐身體向前。由于身體重心低,不用協(xié)調(diào)Z向運(yùn)動(dòng),容易穩(wěn)定,所以這種行走方案能得到廣泛運(yùn)用。(2)機(jī)器人行走步態(tài)分析:項(xiàng)目設(shè)計(jì)共使用12個(gè)舵機(jī)用于步態(tài)實(shí)現(xiàn)。每條腿上有兩個(gè)舵機(jī),分別控制髖關(guān)節(jié)和膝關(guān)節(jié)的運(yùn)動(dòng),舵機(jī)安裝呈正交,構(gòu)成垂直和水平方向的自由度。由于腿只有水平和垂直平面的運(yùn)動(dòng)自由度,所以只考慮利用三角步態(tài)實(shí)現(xiàn)直線行走。分別給12個(gè)舵機(jī)編號(hào)(112),如圖所示。直線行走步態(tài)分析由1、2、5、6、9、10 號(hào)舵機(jī)控制的A、C、E腿所處的狀態(tài)總保持一致(都是正在擺動(dòng),或者都在支撐);同樣,3、4、7、8、11、12 所控制的B、D、F腿

8、的狀態(tài)也保持一致。當(dāng)處在一個(gè)三角形內(nèi)的3 條腿在支撐時(shí),另3條腿正在擺動(dòng)。支撐的3條腿使得身體前進(jìn),而擺動(dòng)的腿對(duì)身體沒有力和位移的作用,只是使得小腿向前運(yùn)動(dòng),做好接下去支撐的準(zhǔn)備。步態(tài)函數(shù)的占空系數(shù)為 0.5,支撐相和擺動(dòng)相經(jīng)過調(diào)整,達(dá)到滿足平坦地形下的行走步態(tài)要求和穩(wěn)定裕量需求。轉(zhuǎn)彎步態(tài)分析項(xiàng)目設(shè)計(jì)的機(jī)器人采用以一中足為中心的原地轉(zhuǎn)彎方式實(shí)現(xiàn)轉(zhuǎn)彎,下圖為右轉(zhuǎn)的示意圖,圖中E腿為支撐中足。右轉(zhuǎn)彎運(yùn)動(dòng)的過程如下:1)首先A、C、E 腿抬起,然后A、C 腿向前擺動(dòng),E腿保持不動(dòng),B、D、F腿支撐。2)A、C、E腿落地支撐,同時(shí)B、D、F腿抬起保持不動(dòng)。3)A、C腿向后擺動(dòng)。整個(gè)運(yùn)動(dòng)過程中B、D、E

9、、F 不做前后運(yùn)動(dòng),只是上下運(yùn)動(dòng)。3. 結(jié)構(gòu)設(shè)計(jì):六足機(jī)器人的基本結(jié)構(gòu)的設(shè)計(jì)主要包括機(jī)器人足部關(guān)節(jié)自由度轉(zhuǎn)換結(jié)構(gòu)的設(shè)計(jì)和軀干整體支架的設(shè)計(jì)。 (1)足部結(jié)構(gòu):仿生六足機(jī)器人足部機(jī)構(gòu)主要是電機(jī)間的鏈接與自由度轉(zhuǎn)換結(jié)構(gòu)。采用Auto公司開發(fā)的3D機(jī)械制圖軟件輔助設(shè)計(jì)的方法,分析電機(jī)尺寸,設(shè)計(jì)固定作用的固定架,傳動(dòng)作用的U型架。 結(jié)構(gòu)通過平面鈑金加工制作,通過緊固件進(jìn)行基本結(jié)構(gòu)件的連接。基本足部自由度轉(zhuǎn)換結(jié)構(gòu)設(shè)計(jì)實(shí)物圖。 (2)軀干結(jié)構(gòu):經(jīng)過改進(jìn)后的機(jī)器人軀干結(jié)構(gòu)在結(jié)構(gòu)設(shè)計(jì)軟件中的設(shè)計(jì)圖如下 軀干結(jié)構(gòu)模擬圖 整體結(jié)構(gòu)模擬圖4. 驅(qū)動(dòng)器與驅(qū)動(dòng)原理:仿生六足機(jī)器人采用電動(dòng)驅(qū)動(dòng)的方式進(jìn)行驅(qū)動(dòng)驅(qū)動(dòng)器采用微型

10、直流角位移伺服電動(dòng)機(jī)【舵機(jī)】。舵機(jī)原理舵機(jī)是一種結(jié)構(gòu)簡單的、集成化的直流伺服系統(tǒng),其內(nèi)部結(jié)構(gòu)由直流電機(jī)、減速齒輪、電位計(jì)和控制電路組成。舵機(jī)采用的驅(qū)動(dòng)信號(hào)是脈沖比例調(diào)制信號(hào)(PWM),即在通常為20ms 的周期內(nèi),輸入以0.52.5ms 變化的脈沖寬度,對(duì)應(yīng)的轉(zhuǎn)角范圍從O°變化到180°,脈沖寬度與轉(zhuǎn)角呈線性關(guān)系5。控制信號(hào)線提供一定脈寬的脈沖時(shí),其輸出軸保持在相對(duì)應(yīng)的角度上。若舵機(jī)初始角度狀態(tài)在0°位置,那么電機(jī)只能朝一個(gè)方向運(yùn)動(dòng),所以初始化的時(shí)候,應(yīng)將所有電機(jī)的位置定在90° 的位置。六足機(jī)器人腿部偶數(shù)舵機(jī)轉(zhuǎn)軸為垂直運(yùn)動(dòng),控制機(jī)器人腿部抬起和放下;奇

11、數(shù)舵機(jī)轉(zhuǎn)軸為水平轉(zhuǎn)動(dòng),控制機(jī)器人腿部前進(jìn)和后退。舵機(jī)控制方法 標(biāo)準(zhǔn)的舵機(jī)有3條導(dǎo)線,分別是:電源線、地線、控制線。電源線和地線用于提供舵機(jī)內(nèi)部的直流電機(jī)和控制線路所需的能源電壓通常介于46V,一般取5V。給舵機(jī)供電電源應(yīng)能提供足夠的功率??刂凭€的輸入是一個(gè)寬度可調(diào)的周期性方波脈沖信號(hào),方波脈沖信號(hào)的周期為20 ms(即頻率為50 Hz)。當(dāng)方波的脈沖寬度改變時(shí),舵機(jī)轉(zhuǎn)軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比。某型舵機(jī)的輸出軸轉(zhuǎn)角與輸入信號(hào)的脈沖寬度之間的關(guān)系可用下圖表示。 從上述舵機(jī)轉(zhuǎn)角的控制方法可看出,舵機(jī)的控制信號(hào)實(shí)質(zhì)是一個(gè)可嗣寬度的方波信號(hào)(PWM)。該方波信號(hào)可由FPGA、模擬

12、電路或單片機(jī)來產(chǎn)生。采用FPGA成本較高,用模擬電路來實(shí)現(xiàn)則電路較復(fù)雜,不適合作多路輸出。一般采用單片機(jī)作舵機(jī)的控制器。(2)選型: 輝盛SG90舵機(jī) 參數(shù):扭矩:1.5KG/CM 死區(qū):10us 轉(zhuǎn)速:0.12秒/60度(4.8V) 重量:9克 尺寸:21.5mmX11.8mmX22.7mm 工作電壓4.8V-6V5. 控制電路的硬件設(shè)計(jì) (1)電源模塊-驅(qū)動(dòng)電路和抗干擾技術(shù) 雙電源供電:舵機(jī)內(nèi)部是直流電機(jī)驅(qū)動(dòng),在帶載時(shí)啟停的瞬間會(huì)產(chǎn)生較大的峰值電流,將舵機(jī)供電電源與 MCU和IC的供電電源分開,雙線供電能保證控制電路不受驅(qū)動(dòng)電路產(chǎn)生不穩(wěn)定脈沖的干擾。為保證驅(qū)動(dòng)器電源輸入的穩(wěn)定性,結(jié)合電路抗

13、干擾技術(shù),采用合適方法保證電路抗脈沖干擾、抗低頻干擾、抗共模干擾的能力,使12個(gè)電機(jī)的多驅(qū)動(dòng)系統(tǒng)能夠穩(wěn)定工作。電源采用,鎳氫電池7.4V,1200mA,15CC; 控制電路電源輸入由1117低壓差電壓調(diào)節(jié)轉(zhuǎn)換電路提供。 驅(qū)動(dòng)電路電源由LM2596 DC-DC直流開關(guān)電壓轉(zhuǎn)換電路提供。 (2)控制核心-單片機(jī)接口電路和傳感器檢測(cè)控制電路主要由1602顯示調(diào)試屏幕,12路舵機(jī)控制輸出,抗干擾等部分組成,結(jié)合PROTEUS仿真技術(shù),分析控制程序。原理圖如下: 6.計(jì)算機(jī)與軟件開發(fā):單片機(jī)主控系統(tǒng):AVR單片機(jī) ATmega16軟件設(shè)計(jì)的基本思想軟件的主要功能是使機(jī)器人在向前行進(jìn)的過程中能夠避開障礙物

14、,即對(duì)12 個(gè)舵機(jī)進(jìn)行調(diào)度和控制??蓪④浖δ芊纸鉃椋阂荛_障礙物,首先應(yīng)探測(cè)到障礙物,其次能繞開障礙物,這就要求機(jī)器人能完成前進(jìn)、后退、左右轉(zhuǎn)彎等動(dòng)作。動(dòng)作協(xié)調(diào)完美性的實(shí)現(xiàn),要求了在任一時(shí)刻能夠做出12個(gè)舵機(jī)的同步動(dòng)作控制。軟件設(shè)計(jì)中首先將前進(jìn)、后退、左右轉(zhuǎn)彎等高層動(dòng)作分解,具體到完成一個(gè)動(dòng)作各個(gè)舵機(jī)所要完成的動(dòng)作和時(shí)序。采用模塊化的設(shè)計(jì)思想,將對(duì)所有舵機(jī)的調(diào)度做成一個(gè)獨(dú)立的模塊,所有的高層動(dòng)作都是通過調(diào)用底層舵機(jī)控制的模塊來完成。多個(gè)舵機(jī)的控制是采用多舵機(jī)分時(shí)控制的思想來實(shí)現(xiàn)的。程序采用C語言模塊化程序設(shè)計(jì)的基本思路程序模塊如下。 (1)驅(qū)動(dòng)模塊:12路PWM驅(qū)動(dòng)信號(hào)通過軟件計(jì)數(shù)法多路輸出

15、利用MCU片內(nèi)定時(shí)器和I/O模塊控制輸出多路占空比可調(diào)的PWM控制信號(hào)多舵機(jī)分時(shí)控制思想由于單片機(jī)在某一時(shí)刻只能對(duì)一個(gè)中斷進(jìn)行響應(yīng),所以一個(gè)單片機(jī)驅(qū)動(dòng)多個(gè)舵機(jī)的條件是每個(gè)舵機(jī)產(chǎn)生的中斷時(shí)間間隔必須相互錯(cuò)開。由于舵機(jī)的驅(qū)動(dòng)周期內(nèi)的2 次電平變化的最短時(shí)間是高電平的脈寬時(shí)間,即0.52.5ms,那么在不產(chǎn)生沖突的情況下,若分時(shí)對(duì)多個(gè)舵機(jī)產(chǎn)生驅(qū)動(dòng)信號(hào),則最多可實(shí)現(xiàn)的驅(qū)動(dòng)舵機(jī)數(shù)量為20/2.5=8。就是說一個(gè)單片機(jī)最多可以控制8 個(gè)舵機(jī)運(yùn)行在完整轉(zhuǎn)角空間。采用多舵機(jī)分時(shí)控制的思想,可實(shí)現(xiàn)對(duì)12個(gè)舵機(jī)的協(xié)調(diào)控制。將12 個(gè)舵機(jī)分成兩組,定時(shí)器0 控制舵機(jī)16,定時(shí)器1 控制舵機(jī)712,每個(gè)定時(shí)器在一個(gè)周

16、期內(nèi)將產(chǎn)生12次定時(shí)器中斷。使數(shù)據(jù)發(fā)生錯(cuò)誤也很難連續(xù)起來,大大提高整體的糾錯(cuò)能力。 (2)動(dòng)作模塊:將計(jì)算得到的機(jī)器人運(yùn)動(dòng)數(shù)據(jù)封裝為前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的動(dòng)作函數(shù)子程序。設(shè)計(jì)電機(jī)控制的速度伺服、角度伺服程序,采用流程控制法調(diào)用動(dòng)作函數(shù)。 (3)傳感器模塊:針對(duì)傳感器檢測(cè)的輸入,傳感器檢測(cè)使用 AVR單片機(jī)片內(nèi)引腳中斷資源,并且對(duì)不穩(wěn)定信號(hào)進(jìn)行軟件濾波處理,增加控制系統(tǒng)的穩(wěn)定性。 (4)1602液晶顯示調(diào)試模塊:1602液晶顯示模塊顯示程序運(yùn)行情況,作為程序調(diào)試的重要工具。通過單片機(jī)IO口引腳發(fā)送數(shù)據(jù),指令信息,顯示當(dāng)前舵機(jī)實(shí)時(shí)運(yùn)行狀態(tài)。 (5) 全局控制上位機(jī)程序:整合多模塊,形成系統(tǒng)化控制

17、結(jié)構(gòu)圖如下。 4、 項(xiàng)目總結(jié) 完成的設(shè)計(jì): 1.仿生學(xué)原理分析 2.機(jī)構(gòu)學(xué)理論分析 3.自動(dòng)控制系統(tǒng)設(shè)計(jì) 4.計(jì)算機(jī)軟件開發(fā) 5.傳感器檢測(cè)控制系統(tǒng)設(shè)計(jì) 6.電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) 達(dá)到的要求: 1.控制系統(tǒng)對(duì)12路驅(qū)動(dòng)器的穩(wěn)定角度控制,速度控制。 2.整體結(jié)構(gòu)與行走步態(tài)穩(wěn)定性達(dá)到要求。 3.多種靜態(tài)步態(tài)與傳感器檢測(cè)控制一體化的實(shí)現(xiàn)。 4.機(jī)器人能夠快速準(zhǔn)確探測(cè)前方障礙物,針對(duì)不同情況探索行進(jìn)路線。 項(xiàng)目成果總結(jié): 項(xiàng)目已經(jīng)設(shè)計(jì)制作出三代機(jī)器人樣本實(shí)物,經(jīng)過實(shí)際行走測(cè)試,穩(wěn)定性,速度,蔽障性能等參數(shù)達(dá)到甚至超過預(yù)先設(shè)定的指標(biāo)。 機(jī)器人相關(guān)參數(shù)與性能指標(biāo)如下: 重量:460g 尺寸:160*100*4

18、0mm 平均行走速度:0.06m/s 平均功率:1.2A*5V=6W 探測(cè)響應(yīng)時(shí)間:約0.5s 能夠在平地上進(jìn)行前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等穩(wěn)定步行能夠準(zhǔn)確探測(cè)前方障礙物,根據(jù)不同情況執(zhí)行合適的步態(tài),探索行走路徑 五附錄程序:/=主程序 main.c=/#include <avr/io.h>#include <util/delay.h>#include <1602LCD.h>#include <avr/interrupt.h>#define uchar unsigned char #define uint unsigned intuchar f12;

19、uchar m127;uchar sign,rooptime,roopnum;uchar direc;uchar canmove=1;uchar run=0;char parameter12=9,-9,-15,3,9,-3,-13,6,8,9,-14,-10;void sys_init(void) DDRA=0xe0;DDRB=0xff;DDRC=0xff;DDRD=0x0f;PORTA=0x1f;PORTB=0x00;PORTC=0x00; PORTD=0xf0; TCCR2=0x0a; OCR2=10; TIMSK|=0x80; Lcd_init();_delay_ms(1000);voi

20、d residual(void)uchar i,j;for(i=0;i<12;i+)fi+=parameteri;for(i=0;i<12;i+) for(j=0;j<7;j+)mij+=parameteri;void gait1(void)/動(dòng)作函數(shù) 前進(jìn)uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi

21、1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=16

22、0;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();void gait2(void

23、)/動(dòng)作函數(shù) 后退uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=140;mi1=150;mi2=150;mi3

24、=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=8;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6

25、=150;i=10;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();void gait3(void)/動(dòng)作函數(shù) 左轉(zhuǎn)uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=145;mi2=150;

26、mi3=155;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=155;mi2=150;mi3=145;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;

27、mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i&

28、lt;12;i+)fi=mi3;residual();void gait4(void)/動(dòng)作函數(shù) 右轉(zhuǎn)uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5

29、=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=155;mi2=150;mi3=145;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=1

30、50;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();ISR(TIMER2_COMP_vect) /定時(shí)器2比較匹配中斷 static uint time=0,rtime; uchar i; time+; if(time=2000) PORTB=0xff;

31、PORTD=0xff; time=1; if(time=1000&&canmove) if(rtime<rooptime) rtime+; else rtime=0; sign+; if(sign=roopnum) sign=0; for(i=0;i<12;i+) if(sign=0) fi=(rooptime-rtime)*miroopnum-1+rtime*mi0)/rooptime; else fi=(rooptime-rtime)*misign-1+rtime*misign)/rooptime; if(time<400&&time>

32、;0) if(f0=time+100) PORTB&=0xfe; if(f1=time+100) PORTB&=0xfd; if(f2=time+100) PORTB&=0xfb;if(f3=time+100) PORTB&=0xf7;if(f4=time+100) PORTB&=0xef;if(f5=time+100) PORTB&=0xdf;if(f6=time+100) PORTB&=0xbf;if(f7=time+100) PORTB&=0x7f;if(f8=time+100) PORTD&=0xfe;if(f9=

33、time+100) PORTD&=0xfd;if(f10=time+100) PORTD&=0xfb;if(f11=time+100) PORTD&=0xf7; if(time=400) PORTB&=0x00;PORTD&=0xf0; uchar getkey(void)uchar key; if(PINA&0x1f)!=0x1f) _delay_us(50); if(PINA&0x1f)!=0x1f) key=(PINA&0x1f);while(PINA&0x1f)!=0x1f);return key; return

34、0;int main( void ) uchar flag,flag1;flag=0;uint run=0;sys_init(); _delay_ms(1000); sei(); /開總中斷gait1();for(;)flag1=(PIND&0xc0);if(flag!=flag1&&run>5000)if(flag1=0xc0)flag=flag1;cli(); _delay_ms(10);gait1();sei();if(flag1=0x00)flag=flag1;cli(); _delay_ms(10);gait2();sei();if(flag1=0x40

35、)flag=flag1;cli(); _delay_ms(10);gait4();sei();if(flag1=0x80)flag=flag1;cli(); _delay_ms(10);gait3();sei();run=0;run+;/=1602.h=/#ifndef USE_1602LCD_H_#define USE_1602LCD_H_#include <avr/io.h>#include <util/delay.h>#define uchar unsigned char#define uint unsigned int#define Com_Port PORTA /指令口#define Print_Port PORTC /數(shù)據(jù)口#define RS_set Com_Port|=(1<<7)#define RS_clr Com_Port&=(1<<7)#define RW_set Com_Port|=(1<<6)#define RW_clr Com_Port&=(1<<6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論