基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì)_第1頁
基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì)_第2頁
基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì)_第3頁
基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì)_第4頁
基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE7.z..--可修編-基于單片機(jī)控制的雙足行走機(jī)器人設(shè)計(jì)摘要:21世紀(jì)機(jī)器人開展日新月異,從傳統(tǒng)的履帶式機(jī)器人到如今的雙足行走機(jī)器人,機(jī)器人的應(yīng)用圍越來越廣。本系統(tǒng)以單片機(jī)〔STC89c52〕為系統(tǒng)的中央控制器,以單片機(jī)〔STC12c5410ad〕為舵機(jī)控制模塊。將中央控制器與舵機(jī)控制器,舵機(jī),各類傳感設(shè)備及受控部件等有機(jī)結(jié)合,構(gòu)成整個(gè)雙足行走機(jī)器人,到達(dá)行走、做動(dòng)作的目的。單片機(jī)中央控制器與舵機(jī)控制器以串口通信方式實(shí)現(xiàn)。系統(tǒng)的硬件設(shè)計(jì)中,對(duì)主要硬件舵機(jī)控制器和STC89C52單片機(jī)及其外圍電路進(jìn)展了詳細(xì)的講述。硬件包括舵機(jī)控制器,STC12C5410AD單片機(jī),按鍵,各種傳感器和數(shù)據(jù)采集與處理單元。軟件包括單片機(jī)初始化、主程序、信號(hào)采集中斷程序、通過串口通訊的接收和發(fā)送程序。論文的最后局部以雙足行走機(jī)器人為根底,結(jié)合傳感器,外圍控制設(shè)備組成控制系統(tǒng),并給出了此系統(tǒng)應(yīng)用領(lǐng)域的一些探討和研究。關(guān)鍵詞:?jiǎn)纹瑱C(jī);舵機(jī)控制;STC12C5410ADBipedalrobotdesignbasedonMCUAbstract:Inthe21stcenturyrobotdevelopmentchangeswitheachpassingday,fromthetraditionalcrawlerrobottonowbipedalrobot,therobot'sapplicationscopeismoreandmorewidely.Thissystembysinglechipmicroputer(STC89c52)asthecentralcontrollerinthesystem,STC12c5410adMCUasthesteeringgearcontrolmodule.Thecentralcontrollerandtheservocontroller,Steeringgear,allkindsofsensingandcontrolponentssuchasorganicbination,makeupthewholebipedalrobot,thepurposeoftowalk,dotheaction.Singlechipmicroputercentralcontrollerandtheservocontrollertorealizeserialmunicationway.Systemhardwaredesign,themainhardwareservocontrollerandSTC89C52single-chipmicroputerandperipheralcircuitindetail.Hardwareincludingservocontroller,STC12C5410ADmicrocontroller,buttons,allkindsofsensoranddataacquisitionandprocessingunit.SoftwareincludesMCUinitialization,themainprogram,andinterruptsprogramsignalcollection,throughaserialportmunicationtosendandreceiveprocedures.Thelastpartofthepaperonthebasisofbipedalrobot,binedwiththesensor,theperipheralcontroldeviceofcontrolsystem,thissystemisalsogivensomediscussionsandresearchinthefieldofapplication.Keywords:MCU;ServoControl;STC12C5410AD-.z.

目錄TOC\o"1-3"\u第一章緒論11.1課題背景11.2課題研究的目的及意義21.3系統(tǒng)設(shè)計(jì)主要任務(wù)3第二章系統(tǒng)方案設(shè)計(jì)42.1機(jī)器人自由度選擇42.2機(jī)器人構(gòu)造的設(shè)計(jì)42.3驅(qū)動(dòng)方案選型42.4系統(tǒng)總體設(shè)計(jì)5第三章系統(tǒng)硬件電路設(shè)計(jì)63.1單片機(jī)控制模塊63.2舵機(jī)控制模塊73.3傳感器模塊電路設(shè)計(jì)83.4按鍵電路設(shè)計(jì)93.5機(jī)器人電源及通信系統(tǒng)設(shè)計(jì)9第四章系統(tǒng)軟件設(shè)計(jì)114.1程序流程圖114.2控制流程圖124.3動(dòng)作數(shù)據(jù)采集124.4數(shù)據(jù)庫的建立13第五章系統(tǒng)整機(jī)調(diào)試及功能測(cè)試145.1舵機(jī)控制控制模塊調(diào)試145.2舵機(jī)調(diào)試145.3紅外傳感設(shè)備調(diào)試155.4按鍵測(cè)試155.5整機(jī)調(diào)試15第六章設(shè)計(jì)總結(jié)及技術(shù)展望16參考文獻(xiàn)17附錄18-.z.第一章緒論1.1課題背景1920年捷克斯洛伐克作家卡佩克寫了一本小說叫"羅薩姆的機(jī)器人萬能公司"。他夢(mèng)想并做了一個(gè)不吃不喝,不知疲倦的機(jī)器人羅伯特〔Robot〕幫助人們進(jìn)展工作。人們?cè)诋a(chǎn)生天天勞動(dòng),簡(jiǎn)單枯燥,于是人們夢(mèng)想有一種代替人進(jìn)展工作的機(jī)器,這便是羅伯特出現(xiàn)的理由[1]。機(jī)器人其實(shí)是個(gè)自動(dòng)化裝置,他仍然是機(jī)器,但是他能夠模仿人完成*些特定的工作。為什么要開展機(jī)器人技術(shù)?簡(jiǎn)單的說是有三方面原因:1、干人不愿干的事。2、把人從有毒,有害,危險(xiǎn)的環(huán)境中解放出來。3、保證工作的效率和準(zhǔn)確性。人會(huì)累,機(jī)器不會(huì)。這變相的提高了生產(chǎn)力,解放了勞動(dòng)力。隨著時(shí)代的開展,機(jī)器人技術(shù)也是日新月異,從傳統(tǒng)的履帶式機(jī)器人到如今的雙足行走機(jī)器人,機(jī)器人的應(yīng)用圍越來越廣。機(jī)器人作為科技產(chǎn)物,如今已經(jīng)給人們提供了越來越多的方便,他們可以做人類無法做到的事情,也可以代替人去做一些危險(xiǎn)的工作。兩足直立行走機(jī)器人是未來機(jī)器人的開展方向。相比較傳統(tǒng)的履帶式機(jī)器人,它們可以更好的,更方便的為人類效勞,模仿人類兩足行走的特性可以到達(dá)更多傳統(tǒng)機(jī)器人無法到達(dá)的地方。雙足機(jī)器人不但擁有開闊的工作空間,并且對(duì)步行環(huán)境要求很低,能適應(yīng)于各類地面且具有較高的夸越障礙的能力,其步行性能是別的步行構(gòu)造無法比較的[2]。研究雙足行走機(jī)器人具有重要的意義。仿人雙足步行是生物界難度最高的步行動(dòng)作,但其步行性能卻是其它步行構(gòu)造所無法比較的。雙足步行機(jī)器人是工程上少有的高階、非線性、非完整約束的多自由度系統(tǒng)[3]。給予了對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)及控制理論的研究一個(gè)非常理想的實(shí)驗(yàn)平臺(tái)[4]。此外,雙足步行機(jī)器人的研究還可以促進(jìn)仿生學(xué)、人工智能、計(jì)算機(jī)圖形、通信等相干學(xué)科的開展。機(jī)器人技術(shù)是科學(xué)技術(shù)開展的一個(gè)綜合結(jié)果,是社會(huì)經(jīng)濟(jì)開展的起到重要影響的一門學(xué)科。是開展生產(chǎn)力的必然需求。一個(gè)國家的機(jī)器人技術(shù)可以衡量一個(gè)國家綜合技術(shù)水平,開展機(jī)器人技術(shù)是未來的必然趨勢(shì)。雙足仿人行走機(jī)器人更是重中之重。通過研究制作雙足行走機(jī)器人我們能夠更好的認(rèn)識(shí)雙足行走機(jī)器人,了解其特點(diǎn),這將為以后的開展,研究打下堅(jiān)實(shí)的根底。1.2課題研究的目的及意義世界著名機(jī)器人專家,日本早稻田大學(xué)加藤一教授說過:“步行應(yīng)當(dāng)是機(jī)器人具有的最大特征之一,步行的移動(dòng)方式是其他運(yùn)動(dòng)方式無法比較的,具有很大的優(yōu)越性[5]〞。1.2.1步行的優(yōu)越性機(jī)器人的移動(dòng)方式分為履帶式、輪式、步行等方式。輪式和履帶式機(jī)器人雖然在平坦的路面表現(xiàn)很優(yōu)秀,但是他們一旦到了泥濘、松軟的土地上進(jìn)展移動(dòng)是就會(huì)收到很大的阻礙,而步行的方式就不會(huì)存在這一問題。步行能適應(yīng)更多,更復(fù)雜的路況,例如:上樓梯、跨越障礙等。我們生活的地球有很多地方不適合輪式或者履帶式機(jī)器人行動(dòng),但是我們的星球上有則多步行的動(dòng)物存在,包括我們?nèi)祟悾梢姴叫袘?yīng)該是自然進(jìn)化過程中最適合移動(dòng)的一種方式,是其他行動(dòng)方式無法比較的。1.2.2雙足步行機(jī)器人的優(yōu)越性步行機(jī)器人又很多,包括和蜘蛛一樣的八腳機(jī)器人、小一點(diǎn)的四腳或者六腳機(jī)器人,以及本課題研究的雙足機(jī)器人。與其他機(jī)器人相比,雙足機(jī)器人靈活性更好,適應(yīng)環(huán)境能力更強(qiáng)。能夠方便的上下臺(tái)階,通過窄路面等。并且步行的方式占地面積小,更靈活,在此根底上更容易搭載短小緊湊的機(jī)械手臂。這是其他步行方式無法比較的。1.2.3雙足行走研究的意義在步行方式中兩足步行是最為復(fù)雜、自動(dòng)化水平最高的動(dòng)態(tài)系統(tǒng)。本課題以對(duì)兩足行走機(jī)器人的行走控制為目的,來研究?jī)勺銠C(jī)器人的行走過程[6]。通過對(duì)外界環(huán)境的判斷讓機(jī)器人處理一些簡(jiǎn)單的應(yīng)變。為機(jī)器人在以后更為復(fù)雜的工作環(huán)境穩(wěn)定工作打下根底。研究雙足步行機(jī)器人的另外一重要意義就是為了更好的了解人類和其他動(dòng)物的行走機(jī)理,這樣在將來可以為下肢癱瘓者提供較理想的假肢[7]。再者,研究動(dòng)物行走方式和研究步行機(jī)器人是雙向互惠的。正確的理解動(dòng)物行走機(jī)理,可以反過來更有效地指導(dǎo)步行機(jī)器人的研究和開發(fā)[8]。因此,雙足步行機(jī)器人的研制具有十分重大的價(jià)值和意義。1.3系統(tǒng)設(shè)計(jì)主要任務(wù)本文利用舵機(jī)控制器與單片機(jī)STC89C52和各類傳感設(shè)備及受控部件、支架設(shè)計(jì)制作的一款機(jī)器人行走控制系統(tǒng)。系統(tǒng)的設(shè)計(jì)包括:系統(tǒng)硬件的設(shè)計(jì)與調(diào)試和控制軟件的編寫與調(diào)試。1.3.1硬件局部雙足行走機(jī)器人系統(tǒng)其硬件局部主要由五大局部構(gòu)成:(1)控制單元。單片機(jī)STC89C52是系統(tǒng)中控制局部關(guān)鍵的元件,它與控制單元組成控制局部功能。負(fù)責(zé)整個(gè)機(jī)器行動(dòng)的方式,以及處理外部環(huán)境變化的,改變機(jī)器人行走路線的任務(wù)。(2)舵機(jī)控制模塊。主芯片為STC12C5410AD,模塊與控制單元進(jìn)展串口通信從而到達(dá)控制信息的傳輸。舵機(jī)控制模塊通過接收控制信息來產(chǎn)生控制舵機(jī)的PWM波形。從而實(shí)現(xiàn)行走控制。(3)傳感器數(shù)據(jù)采集系統(tǒng)。利用傳感器采集信息,為機(jī)器人提供準(zhǔn)確的外部環(huán)境數(shù)據(jù)。控制單元通過接收的外部信息來改變控制信號(hào),來讓機(jī)器人產(chǎn)生行動(dòng)變化。(4)受控部件。通過控制舵機(jī),通過準(zhǔn)確的角度變化讓機(jī)器人完成行走的根本目的。其主要受控于舵機(jī)模塊。通過PWM波控制。(5)支架。組成機(jī)器人的軀干,搭載機(jī)器人全部電子器件。1.3.2軟件局部軟件設(shè)計(jì)局部主要由三大局部構(gòu)成:(1)數(shù)據(jù)采集與數(shù)據(jù)分析局部。即通過單片機(jī)對(duì)數(shù)據(jù)進(jìn)展實(shí)時(shí)的采集與處理。通過分析采集到的數(shù)據(jù)來產(chǎn)生控制機(jī)器人的處理信息,從而實(shí)現(xiàn)機(jī)器人的實(shí)時(shí)控制的目的[9]。(2)串口通信局部。兩個(gè)系統(tǒng)通過串口進(jìn)展通信,是控制單元和舵機(jī)控制模塊的主要通信方式,兩個(gè)模塊間良好的通信才能完成系統(tǒng)的設(shè)計(jì)。(3)分析控制局部。根據(jù)采集的信息讓系統(tǒng)判斷外部環(huán)境,并做出相應(yīng)的對(duì)策。這樣可以防止機(jī)器人在行走過程中的危險(xiǎn),保護(hù)機(jī)器人的平安,穩(wěn)定。第二章系統(tǒng)方案設(shè)計(jì)基于目前已有的成熟方案,我選擇用單片機(jī)STC89SC52為主控制芯片,選用STC12C5410AD為核心的舵機(jī)控制器,并結(jié)合傳感器來組成這個(gè)系統(tǒng)。系統(tǒng)預(yù)留擴(kuò)展I/O口可用于擴(kuò)展語音控制芯片等。以STC12C5410AD為核心的舵機(jī)控制板擁有大量的舵機(jī)借口[10],可方便日后擴(kuò)展手臂功能。2.1機(jī)器人自由度選擇步行機(jī)器人的行走必須依賴于關(guān)節(jié),關(guān)節(jié)越多越靈活,其控制過程也就越復(fù)雜。人體的關(guān)節(jié)大約有400多個(gè)自由度。通過分析我們得知實(shí)現(xiàn)機(jī)器人步行的自由度最少是4個(gè)。其控制數(shù)據(jù)量適中。方便系統(tǒng)調(diào)試,顧選擇4自由度機(jī)器人作為設(shè)計(jì)的框架,在此根底上進(jìn)展設(shè)計(jì)。這4個(gè)自由度分別為2個(gè)髖關(guān)節(jié)和2個(gè)踝關(guān)節(jié)。簡(jiǎn)單的4個(gè)關(guān)節(jié)就能實(shí)現(xiàn)根本的行走目的,節(jié)約了本錢也減少了開發(fā)的時(shí)間。2.2機(jī)器人構(gòu)造的設(shè)計(jì)雙足行走機(jī)器人其根本條件就是有兩條腿,我們分別為這2條腿安裝一個(gè)髖關(guān)節(jié)和一個(gè)踝關(guān)節(jié),再通過搭載一個(gè)簡(jiǎn)易的平臺(tái)來固定兩條腿,并搭載所以電子設(shè)備,這樣就根本形成了一個(gè)雙足機(jī)器人的模樣。由于本系統(tǒng)選用的MCU(MicroControlUnit)的速率限制,無法為機(jī)器人提供一個(gè)很好的平衡算法硬件條件。故裝上兩個(gè)大腳板,來保持行走過程中的平衡問題。這是一中最簡(jiǎn)單的、本錢最故障率最低的實(shí)現(xiàn)平衡的方式。2.3驅(qū)動(dòng)方案選型目前主流機(jī)器人的驅(qū)動(dòng)方式大致分為氣壓驅(qū)動(dòng),液壓驅(qū)動(dòng)和電機(jī)驅(qū)動(dòng)。氣壓驅(qū)動(dòng)雖然動(dòng)作快,但是穩(wěn)定性不好,比較難控制。液壓驅(qū)動(dòng)力矩大,響應(yīng)速度也比較快,但是本錢非常高,很重。而且上述兩種方案一般是在大型設(shè)備中使用的,并不使用于本系統(tǒng)的小型設(shè)計(jì)需求,故采用電機(jī)驅(qū)動(dòng)。電機(jī)種類也比較多,但是大多數(shù)都很難做到準(zhǔn)確控制,本系統(tǒng)采用的舵機(jī)具有非常好的可控制性。準(zhǔn)確度度、響應(yīng)速度也根本能夠滿足設(shè)計(jì)的需要。目前的雙足機(jī)器人也大多采用這種方式。舵機(jī)是一種價(jià)格低、精度高、平安性能良好、易于維修的一種特殊的伺服電機(jī)。最早是用在航空模型的控制上面。通過PWM波來控制轉(zhuǎn)動(dòng)角度,這更加方便與單片機(jī)的編程和實(shí)際使用。2.4系統(tǒng)總體設(shè)計(jì)機(jī)器人總體設(shè)計(jì)如下列圖所示。從上到下看分別是紅外傳感器、主控制芯片、舵機(jī)控制芯片、外圍電路、電池、機(jī)器人雙足。并且在機(jī)器人主控板上預(yù)留接口來安裝擴(kuò)展使用的語言控制模塊。四個(gè)舵機(jī)相當(dāng)于四個(gè)關(guān)節(jié),這樣就完成了機(jī)器人的整體系統(tǒng)設(shè)計(jì)。整體系統(tǒng)設(shè)計(jì)見圖1圖1基于雙足行走機(jī)器人系統(tǒng)總框圖第三章系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)硬件電路包括單片機(jī)中央控制器、舵機(jī)控制單元、傳感器模塊、擴(kuò)展功能I/O口,整體的電路設(shè)計(jì)簡(jiǎn)約,可靠性強(qiáng)。硬件設(shè)計(jì)簡(jiǎn)圖如圖2圖2總硬件設(shè)計(jì)簡(jiǎn)圖3.1單片機(jī)控制模塊采用STC89C52單片機(jī)。STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,STC89C52使用經(jīng)典的MCS-51核,8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,置4KBEEPROM,MA*810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷構(gòu)造〔兼容傳統(tǒng)51的5向量2級(jí)中斷構(gòu)造〕,全雙工串行口[11]。根本滿足控制及串口通信要求。本設(shè)計(jì)使用單片機(jī)的P3.0和P3.1串口通信口實(shí)現(xiàn)單片機(jī)和舵機(jī)控制模塊的通信,使用P1.0、P1.1、P1.2這三個(gè)I/O口來檢測(cè)按鍵指令,使用P0.0口來檢測(cè)紅外傳感器信號(hào),預(yù)留P2.1、P2.2、P2.3三個(gè)預(yù)留I/O作為語音控制擴(kuò)展I/O口,方便實(shí)現(xiàn)語音控制功能。其他I/O口暫時(shí)沒有用到,故不接線,方便日后擴(kuò)展使用。3.2舵機(jī)控制模塊選用STC12C5410AD單片機(jī)。擁有32PWM波輸出功能,可以同時(shí)對(duì)32個(gè)舵機(jī)進(jìn)展任意角度的控制。使用靈活、高效,擴(kuò)展性強(qiáng)。該模塊具有TTL電平串口,可方便的與主控芯片進(jìn)展通信。該舵機(jī)控制模塊有相對(duì)應(yīng)的上位機(jī)控制軟件,可以方便的和電腦進(jìn)展通信,來采集數(shù)據(jù)。通信時(shí)采用9600波特率,8位數(shù)據(jù),1位停頓位,進(jìn)展通信。本舵機(jī)模塊擁有獨(dú)立的舵機(jī)供電電源輸入,不和單片機(jī)共用一路電源。這樣既可以保證單片機(jī)的工作穩(wěn)定,也利于舵機(jī)的動(dòng)力輸出。舵機(jī)控制器主芯片圖如圖3圖3舵機(jī)控制模塊主芯片圖3.3傳感器模塊電路設(shè)計(jì)系統(tǒng)采用紅外光傳感器來判斷機(jī)器人前方是否有障礙物,當(dāng)檢測(cè)到前方有障礙物時(shí),通知MCU做出相對(duì)應(yīng)的指令。傳感器連接到單片機(jī)I/O口,單片機(jī)通過讀取I/O口的電平來判斷傳感器傳來的信息。紅外光傳感器就像機(jī)器人的眼睛,可以讓機(jī)器人看到前方的事物。紅外傳感器是一種非常常用的傳感器,其構(gòu)造簡(jiǎn)單,調(diào)節(jié)方便,供電電壓和單片機(jī)類似,可直接與單片機(jī)I/O口連接,是一種非常易用的傳感模塊。紅外傳感器電路圖如圖4圖4紅外傳感器電路圖3.4按鍵電路設(shè)計(jì)本系統(tǒng)使用按鍵來控制機(jī)器人是最為方便,直接的一種方式。系統(tǒng)設(shè)計(jì)三個(gè)按鍵對(duì)應(yīng)三條不同指令來告訴機(jī)器人需要做什么,使機(jī)器人做出相應(yīng)的動(dòng)作。按鍵直接接I/O口接地,并聯(lián)的電容可以代替RS觸發(fā)器來起到去除按鍵抖動(dòng)的作用。由于此處按鍵不是采用AD采樣的方式進(jìn)展讀取,因此不必考慮按鍵本身的電阻對(duì)操作的影響。按鍵電路如圖5圖5按鍵電路圖3.5機(jī)器人電源及通信系統(tǒng)設(shè)計(jì)整個(gè)機(jī)器人在設(shè)計(jì)時(shí)由于牽涉到2個(gè)MCU,1個(gè)傳感器,4個(gè)舵機(jī)等大量用電設(shè)備,所以必須需要可靠的電源系統(tǒng)。本設(shè)計(jì)采用的電池為7.4V鋰電池,通過2塊DC-DC轉(zhuǎn)換器分別給舵機(jī)模塊和單片機(jī)模塊供電。由于舵機(jī)用電電壓需要6.5V左右,可能導(dǎo)致舵機(jī)模塊和單片機(jī)模塊串口電平不一。因此采用兩個(gè)2N7002MOS管組成串口通信電路,該電路主要應(yīng)用與不同電平MCU通信。下列圖中,MCUR*D、MCUT*D、舵機(jī)控制T*D、舵機(jī)控制R*D為四個(gè)信號(hào)端,VDDMCU和VDD舵機(jī)控制器為這四個(gè)信號(hào)的高電平電壓.另外限制條件為:1、VDD舵機(jī)控制器<=VDDMCU2、S1的低電平門限大于0.7V左右(視NMOS的二極管壓降而定).3、V3s<=VDDMCU4、V1s<=VDD舵機(jī)控制器系統(tǒng)根本滿足上述條件,因此采用該電路進(jìn)展串口電平轉(zhuǎn)換。更好的保證通信的穩(wěn)定性。系統(tǒng)采用兩塊LM2596S芯片的DC-DC模塊,該模塊具有接線簡(jiǎn)單、本錢低、穩(wěn)定性好、轉(zhuǎn)換效率高的特點(diǎn)。防止了因電池的不穩(wěn)定造成對(duì)機(jī)器人的影響。同時(shí),降低電源電壓有利于單片機(jī)的穩(wěn)定工作,延長使用壽命。提供應(yīng)舵機(jī)適宜的電壓才能使舵機(jī)工作在最正確狀態(tài)。好的供電系統(tǒng)對(duì)整個(gè)機(jī)器人的使用都起到了非常關(guān)鍵的作用。串口通信電路如圖6圖6串口通信電路圖第四章系統(tǒng)軟件設(shè)計(jì)如果說紅外傳感器是機(jī)器人的眼睛;舵機(jī)及支架是機(jī)器人的身體,用于支撐整個(gè)機(jī)器人;舵機(jī)控制器是機(jī)器人的小腦,控制四肢運(yùn)動(dòng);則MCU就是機(jī)器人的大腦,用來控制整個(gè)機(jī)器人的動(dòng)作,而程序就是機(jī)器人的靈魂。本章介紹具體流程。4.1程序流程圖程序流程圖如圖7開場(chǎng)開場(chǎng)等待命令轉(zhuǎn)動(dòng)90°舞蹈避障行走關(guān)節(jié)測(cè)試測(cè)試完前方有障礙舞蹈完是是是否否否圖7程序流程圖4.2控制流程圖控制流程圖如圖8舵機(jī)控制器模塊舵機(jī)舵機(jī)舵機(jī)舵機(jī)控制器模塊舵機(jī)舵機(jī)舵機(jī)舵機(jī)主控制MCU按鍵紅外傳感器按鍵紅外傳感器主控制MCU圖8控制流程圖4.3動(dòng)作數(shù)據(jù)采集利用上位機(jī)通過串口與舵機(jī)控制器通信,分步調(diào)試每個(gè)舵機(jī)在每種狀態(tài)下的轉(zhuǎn)動(dòng)角度,建立數(shù)據(jù)庫,方便程序調(diào)用。調(diào)試界面如圖9圖9上位機(jī)調(diào)試界面4.4數(shù)據(jù)庫的建立通過上一步驟采集到機(jī)器人每次動(dòng)作的舵機(jī)狀態(tài),并記錄。如站立姿態(tài)時(shí)4個(gè)舵機(jī)角度分別是89°、86°、86°、86°。建立站立數(shù)據(jù)發(fā)送函數(shù)voidzhanli(){action("*16A89!");action("*31A86!");action("*22A86!");action("*25A86!");}將機(jī)器人行走過程中第一步動(dòng)作分解成各個(gè)微動(dòng)作,采集第一步各個(gè)微動(dòng)作建立一步動(dòng)作函數(shù)。voiddiyibu()//第一步{action("*25A76!");delay(5);action("*22A76!");delay(50);action("*25A70!");delay(5);action("*22A70!");delay(5);action("*25A66!");delay(5);action("*22A66!");delay(5);action("*16A99!");delay(5);action("*31A96!");delay(5);action("*16A109!");delay(5);action("*31A106!");delay(5);action("*16A119!");delay(5);action("*31A116!");delay(5);action("*25A70!");delay(5);action("*22A70!");delay(5);action("*25A76!");delay(5);action("*22A76!");delay(5);action("*25A86!");delay(5);action("*22A86!");delay(5);action("*22A96!");delay(5);action("*25A96!");delay(5);action("*22A100!");delay(5);action("*25A100!");delay(5);action("*22A106!");delay(5);action("*25A106!");delay(5);action("*31A106!");delay(5);action("*16A109!");delay(5);action("*31A96!");delay(5);action("*16A99!");delay(5);action("*31A86!");delay(5);action("*16A89!");delay(5);action("*31A76!");delay(5);action("*16A79!");delay(5);action("*31A66!");delay(5);action("*16A69!");delay(5);action("*31A56!");delay(5);action("*16A59!");delay(5);action("*22A100!");delay(5);action("*25A100!");delay(5);action("*22A96!");delay(5);action("*25A96!");delay(5);action("*22A86!");delay(5);action("*25A86!");delay(5);}通過執(zhí)行上述兩個(gè)函數(shù),主MCU便可以發(fā)送出動(dòng)作指令給舵機(jī)控制器,舵機(jī)控制器讀取響應(yīng)代碼來操作舵機(jī)轉(zhuǎn)動(dòng)準(zhǔn)確角度,這樣便實(shí)現(xiàn)了控制機(jī)器人行動(dòng)的目的,其他動(dòng)作都要進(jìn)展相似的動(dòng)作采樣。第五章系統(tǒng)整機(jī)調(diào)試及功能測(cè)試本系統(tǒng)所包含的功能模塊有:舵機(jī)控制模塊、紅外傳感設(shè)備、舵機(jī)、按鍵。本章介紹具體功能。5.1舵機(jī)控制控制模塊調(diào)試舵機(jī)控制器是機(jī)器人的傳輸神經(jīng),機(jī)器人的每一次動(dòng)作都由它發(fā)出指令。通過它控制舵機(jī)的角度變化來實(shí)現(xiàn)機(jī)器人的抬腳,落腳動(dòng)作。舵機(jī)模塊的測(cè)試可以使用上位機(jī)來進(jìn)展,通過在上位機(jī)條件,觀察舵機(jī)控制模塊是否能夠操作舵機(jī)進(jìn)展準(zhǔn)確轉(zhuǎn)動(dòng)。也可用示波器觀察輸出的PWM波形是否正確來對(duì)舵機(jī)控制模塊進(jìn)展測(cè)試。5.2舵機(jī)調(diào)試舵機(jī)是機(jī)器人的關(guān)節(jié)。通過舵機(jī)控制器發(fā)出PWM波來實(shí)現(xiàn)準(zhǔn)確角度轉(zhuǎn)動(dòng),且具有很的動(dòng)力,本設(shè)計(jì)采用的舵機(jī)最大扭力為2.5KG。所以有它就能夠帶動(dòng)一定質(zhì)量的機(jī)身行動(dòng)。舵機(jī)是一種特殊的伺服電機(jī),只能通過PWM波形對(duì)它進(jìn)展控制。它接收一個(gè)20ms的信號(hào),通過改變輸入信號(hào)脈沖寬度來改變舵機(jī)轉(zhuǎn)動(dòng)角度。舵機(jī)轉(zhuǎn)動(dòng)角度與脈沖寬度如下表所示:表1脈沖寬度與舵機(jī)角度對(duì)照表脈沖寬度舵機(jī)輸出軸轉(zhuǎn)角0.5ms-90°1.0ms-45°1.5ms0°2.0ms45°2.5ms90°將舵機(jī)裝在支架上,通過上位機(jī)調(diào)節(jié)舵機(jī)度數(shù)是機(jī)器人保持站立姿勢(shì)。這就確定了舵機(jī)的初始化角度。如果不確立這一度數(shù),機(jī)器人啟動(dòng)時(shí)就不能自動(dòng)的站立前進(jìn)。5.3紅外傳感設(shè)備調(diào)試紅外傳感器,能夠?qū)η胺皆O(shè)定距離的是否有障礙物進(jìn)展判斷,當(dāng)有障礙時(shí),檢測(cè)管腳電平變高,單片機(jī)通過讀取I/O口數(shù)據(jù)來判斷前方是否有障礙來控制機(jī)器人實(shí)現(xiàn)避障。紅外傳感器上有一指示電平上下的指示燈,通過觀察燈的暗、滅就可以知道現(xiàn)在輸出的是什么電平,通過萬用表檢測(cè)觀察傳感器是否正常工作。5.4按鍵測(cè)試通過按鍵來改變單片機(jī)I/O口的上下電平讓MCU承受動(dòng)作命令,從而讓機(jī)器人完成相對(duì)應(yīng)的動(dòng)作,實(shí)現(xiàn)各種功能。按鍵的目的是使單片機(jī)對(duì)應(yīng)定義過的I/O口電平產(chǎn)生變化。單片機(jī)讀取到電平變化,根據(jù)程序就能執(zhí)行下一步操作。按鍵的好壞直接關(guān)系到功能是否可以實(shí)現(xiàn)。在進(jìn)展機(jī)器人制作時(shí),因用萬用表檢測(cè)按鍵按下是否可以導(dǎo)通,導(dǎo)通是否穩(wěn)定,只有一個(gè)好的按鍵才能保證操作的準(zhǔn)確的順利進(jìn)展。5.5整機(jī)調(diào)試將單片機(jī)與電腦串口連接,上電,通過觀察串口數(shù)據(jù)來驗(yàn)證程序是否實(shí)現(xiàn),按下按鍵觀察數(shù)據(jù)是否發(fā)生變化,分析數(shù)據(jù)是否與設(shè)計(jì)要求一致。將舵機(jī)控制器和舵機(jī)連接,舵機(jī)控制器連接電腦,通過上位機(jī)軟件操作舵機(jī)控制器控制舵機(jī),觀察舵機(jī)是否可以準(zhǔn)確的轉(zhuǎn)動(dòng)一定角度。判斷整個(gè)一個(gè)關(guān)節(jié)系統(tǒng)是否正常工作。確定無誤后將單片機(jī)和舵機(jī)控制器串口連接,上電。觀察機(jī)器人是否按照程序設(shè)計(jì)要求進(jìn)展動(dòng)作,按下每個(gè)動(dòng)作指定的按鍵觀察是否執(zhí)行了響應(yīng)的操作,如果存在問題則分析問題具體原因,是硬件問題還是軟件邏輯問題,或者數(shù)據(jù)記錄錯(cuò)誤導(dǎo)致的問題。找到問題的真正原因并排除,直到整個(gè)系統(tǒng)能夠?qū)崿F(xiàn)設(shè)計(jì)的目的,這樣一個(gè)就根本完成了雙足行走機(jī)器人的制作。此時(shí)還可以將語音擴(kuò)展模塊,接到機(jī)器人上觀察是否可以控制機(jī)器人行動(dòng)。將機(jī)器人放在一特定環(huán)境下,觀察是否可以進(jìn)展避障行走。如果不能因及時(shí)調(diào)整軟件算法來改變這一狀況。至此,整個(gè)機(jī)器人系統(tǒng)的軟件、硬件設(shè)計(jì)就完成了。第六章設(shè)計(jì)總結(jié)及技術(shù)展望雙足行走機(jī)器人是未來開展的趨勢(shì),這次設(shè)計(jì)僅僅是很簡(jiǎn)單的一個(gè)雙足機(jī)器人模型,離真正意義上的雙足行走還有很大的差距。設(shè)計(jì)時(shí)才用的大腳板可以使機(jī)器人行走穩(wěn)定,這只是從構(gòu)造方面來解決了平衡性問題。要想真正解決平衡性問題還有很長的路要走,就像我們從嬰兒學(xué)步一樣我們僅僅邁出了第一步。本設(shè)計(jì)雖然簡(jiǎn)單,但根本滿足了雙足行走的根本要求,并實(shí)現(xiàn)了一定的簡(jiǎn)單功能,也讓我根本了解了雙足機(jī)器人行走的方式,及控制方法。以后可以通過增加關(guān)節(jié)數(shù)量,使用更多的傳感設(shè)備,來模仿人類的行走方式。隨著未來科技的開展,這種類關(guān)節(jié)運(yùn)動(dòng)還可以模仿手臂,頭部等活動(dòng)方式。制造高精度的機(jī)械手臂來幫助人們做一些很難做到的事。仿人雙足步行是生物界難度最高的步行動(dòng)作,但其步行性能卻是其它步行構(gòu)造所無法比較的。雙足步行機(jī)器人是工程上罕有的高階、非線性、非完整約束的多自由度系統(tǒng)這對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)及控制理論的研究給予了一個(gè)非常理想的實(shí)驗(yàn)平臺(tái)[12]。此外,雙足步行機(jī)器人的研究還可以促進(jìn)仿生學(xué)、人工智能、計(jì)算機(jī)圖形、通訊等相關(guān)學(xué)科的開展。研究雙足步行機(jī)器人的另外一重要意義就是為了更好的了解人類和其他動(dòng)物的行走機(jī)理,并為下肢癱瘓者提供較理想的假肢。此外,動(dòng)物行走機(jī)理的研究和步行機(jī)器人的開發(fā)是雙向互惠的[13]。一旦對(duì)動(dòng)物行走機(jī)理有了正確的理解,便可以反過來更有效地引導(dǎo)步行機(jī)器人的研究和開發(fā)。因此,雙足步行機(jī)器人的研制具有十分重大的價(jià)值和意義。參考文獻(xiàn)[1]欣.工業(yè)機(jī)器人:“中國制造〞必然之選[J].科技智囊,2013,08:32-37.[2]田陽.小型雙足仿人機(jī)器人的設(shè)計(jì)與研發(fā)[D].中國海洋大學(xué),2013.[3]付春.步行機(jī)器人的行走控制[D].理工大學(xué),2006.[4]海濤.工業(yè)機(jī)器人的高速高精度控制方法研究[D].華南理工大學(xué),2012.[5]大偉.雙足機(jī)器人的步態(tài)規(guī)劃與仿真研究[D].郵電大學(xué),2009.[6]唐矯燕.載人兩足步行椅機(jī)器人穩(wěn)定性分析與控制策略[D].交通大學(xué),2011.[7]麗萍.雙足步行機(jī)器人的設(shè)計(jì)與研究[D].江南大學(xué),2007.[8]旦譜.非構(gòu)造地形輪足式移動(dòng)機(jī)器人設(shè)計(jì)與步態(tài)規(guī)劃研究[D].清華大學(xué),2010.[9]自動(dòng)化技術(shù)、計(jì)算機(jī)技術(shù)[J].中國無線電電子學(xué)文摘,2011,05:167-246.[10]E.J.Herrera-López,B.Castillo-Toledo,R.Femat.FuzzyservocontrollerforCSTBwithsubstrateinhibitionkinetics[J].JournalofProcessControl,2012,226:.[11]淑芳.基于51單片機(jī)的教學(xué)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與開發(fā)[D].中國海洋大學(xué),2011.[12]M.*ie,Z.W.Zhong,L.Zhang,L.B.*ian,L.Wang,H.J.Yang,C.S.Song,J.Li.AdeterministicwayofplanningandcontrollingbipedwalkingofLOCHhumanoidrobot[J].IndustrialRobot:AnInternationalJournal,2009,364:.[13]SYBILEFARMER.Keyfactorsinthedevelopmentoflowerlimbco-ordination:implicationsfortheacquisitionofwalkinginchildrenwithcerebralpalsy[J].Disability&Rehabilitation,2003,2514:.附錄附1:局部元器件清單舵機(jī)控制器、STC89C52、紅外傳感器等附2:程序清單*include<REG52.H>unsignedchart;unsignedinti; //動(dòng)作判斷1行走2跳舞3測(cè)試4檢測(cè)到障礙回頭sbit*ingzou=P2^0;sbittiaowu=P2^1;sbitceshi=P2^2;sbitcsb=P2^7;voidsys_init()//串口初始化根據(jù)實(shí)際情況進(jìn)展設(shè)置{TMOD=0*20;//定時(shí)器1方式2TH1=0*Fd;//11.0592MHz晶振SCON=0*50;//串口方式1PCON=0*00;//9600RI=0;TI=0;TR1=1;}voiddelay(unsignedintdt)//通用延時(shí)程序{unsignedinti,j;for(i=0;i<dt;i++)for(j=0;j<1000;j++);} voidaction(constchar*p)//舵機(jī)串口發(fā)送函數(shù){while(*p!=0){SBUF=*p;p++;while(TI!=1);//等待發(fā)送完畢TI=0;//清標(biāo)志}}voidzhanli()//站立{action("*16A89!");action("*31A86!");action("*22A86!");action("*25A86!");}voidqianjin()//前進(jìn){/****************側(cè)片*******************/action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A66!");delay(4);action("*22A66!");delay(4);/***********跨步****************/action("*31A66!");delay(4);action("*16A69!");delay(4);action("*31A76!");delay(4);action("*16A79!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A116!");delay(4);action("*16A119!");delay(4);/**************回正**********/action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A86!");delay(4);action("*22A86!");delay(4);/*************側(cè)偏***********/action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A106!");delay(4);action("*25A106!");delay(4);/***********跨步************/action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A76!");delay(4); action("*16A79!");delay(4);action("*31A66!");delay(4); action("*16A69!");delay(4);action("*31A56!");delay(4); action("*16A59!");delay(4);/***********回正*************/action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A86!");delay(4);action("*25A86!");delay(4);}voiddiaotou() //向后轉(zhuǎn){/****************側(cè)片*******************/action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A66!");delay(4);action("*22A66!");delay(4);/***********跨步****************/action("*31A66!");delay(4);action("*16A69!");delay(4);action("*31A76!");delay(4);action("*16A79!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A116!");delay(4);action("*16A119!");delay(4);/**************回正**********/action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A86!");delay(4);action("*22A86!");delay(4);/*************側(cè)偏***********/action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A106!");delay(4);action("*25A106!");delay(4);/***********跨步************/action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A76!");delay(4); action("*16A79!");delay(4);action("*31A66!");delay(4); action("*16A69!");delay(4);action("*31A56!");delay(4); action("*16A59!");delay(4);/***********回正*************/action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A86!");delay(4);action("*25A86!");delay(4);}voidwudao()//舞蹈{/****************側(cè)片*******************/action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A66!");delay(4);action("*22A66!");delay(4);/***********跨步****************/action("*31A66!");delay(4);action("*16A69!");delay(4);action("*31A76!");delay(4);action("*16A79!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A116!");delay(4);action("*16A119!");delay(4);/**************回正**********/action("*25A70!");delay(4);action("*22A70!");delay(4);action("*25A76!");delay(4);action("*22A76!");delay(4);action("*25A86!");delay(4);action("*22A86!");delay(4);/*************側(cè)偏***********/action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A106!");delay(4);action("*25A106!");delay(4);/***********跨步************/action("*31A106!");delay(4);action("*16A109!");delay(4);action("*31A96!");delay(4); action("*16A99!");delay(4);action("*31A86!");delay(4); action("*16A89!");delay(4);action("*31A76!");delay(4); action("*16A79!");delay(4);action("*31A66!");delay(4); action("*16A69!");delay(4);action("*31A56!");delay(4); action("*16A59!");delay(4);/***********回正*************/action("*22A100!");delay(4);action("*25A100!");delay(4);action("*22A96!");delay(4);action("*25A96!");delay(4);action("*22A86!");delay(4);action("*25A86!");delay(4);}voidceshidongzuo()

溫馨提示

  • 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)論