基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì).doc
《基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)控制的雙足行走機(jī)器人的設(shè)計(jì).doc(27頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
基于單片機(jī)控制的雙足行走機(jī)器人設(shè)計(jì) 摘 要:21世紀(jì)機(jī)器人發(fā)展日新月異,從傳統(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ī)器人為基礎(chǔ),結(jié)合傳感器,外圍控制設(shè)備組成控制系統(tǒng),并給出了此系統(tǒng)應(yīng)用領(lǐng)域的一些探討和研究。 關(guān)鍵詞:單片機(jī); 舵機(jī)控制; STC12C5410AD Bipedal robot design based on MCU Abstract:In the 21st century robot development changes with each passing day, from the traditional crawler robot to now bipedal robot, the robots application scope is more and more widely.This system by single chip microcomputer (STC89c52) as the central controller in the system, STC12c5410ad MCU as the steering gear control module. The central controller and the servo controller, Steering gear, all kinds of sensing and control components such as organic combination, make up the whole bipedal robot, the purpose of to walk, do the action.Single chip microcomputer central controller and the servo controller to realize serial communication way.System hardware design, the main hardware servo controller and STC89C52 single-chip microcomputer and peripheral circuit in detail. Hardware including servo controller, STC12C5410AD micro controller, buttons, all kinds of sensor and data acquisition and processing unit. Software includes MCU initialization, the main program, and interrupts program signal collection, through a serial port communication to send and receive procedures. The last part of the paper on the basis of bipedal robot, combined with the sensor, the peripheral control device of control system, this system is also given some discussions and research in the field of application. Keywords: MCU; Servo Control; STC12C5410AD 目 錄 第一章 緒論 1 1.1 課題背景 1 1.2 課題研究的目的及意義 2 1.3 系統(tǒng)設(shè)計(jì)主要任務(wù) 3 第二章 系統(tǒng)方案設(shè)計(jì) 4 2.1機(jī)器人自由度選擇 4 2.2機(jī)器人結(jié)構(gòu)的設(shè)計(jì) 4 2.3驅(qū)動(dòng)方案選型 4 2.4系統(tǒng)總體設(shè)計(jì) 5 第三章 系統(tǒng)硬件電路設(shè)計(jì) 6 3.1單片機(jī)控制模塊 6 3.2 舵機(jī)控制模塊 7 3.3 傳感器模塊電路設(shè)計(jì) 8 3.4 按鍵電路設(shè)計(jì) 9 3.5 機(jī)器人電源及通信系統(tǒng)設(shè)計(jì) 9 第四章 系統(tǒng)軟件設(shè)計(jì) 11 4.1程序流程圖 11 4.2控制流程圖 12 4.3動(dòng)作數(shù)據(jù)采集 12 4.4數(shù)據(jù)庫的建立 13 第五章 系統(tǒng)整機(jī)調(diào)試及功能測(cè)試 14 5.1 舵機(jī)控制控制模塊調(diào)試 14 5.2 舵機(jī)調(diào)試 14 5.3 紅外傳感設(shè)備調(diào)試 15 5.4 按鍵測(cè)試 15 5.5 整機(jī)調(diào)試 15 第六章 設(shè)計(jì)總結(jié)及技術(shù)展望 16 參考文獻(xiàn) 17 附錄 18 第一章 緒論 1.1 課題背景 1920年捷克斯洛伐克作家卡佩克寫了一本小說叫《羅薩姆的機(jī)器人萬能公司》。他幻想并做了一個(gè)不吃不喝,不知疲倦的機(jī)器人羅伯特(Robot)幫助人們進(jìn)行工作。人們?cè)诋a(chǎn)生天天勞動(dòng),簡單枯燥,于是人們幻想有一種代替人進(jìn)行工作的機(jī)器,這便是羅伯特出現(xiàn)的理由[1]。 機(jī)器人其實(shí)是個(gè)自動(dòng)化裝置,他仍然是機(jī)器,但是他能夠模仿人完成某些特定的工作。為什么要發(fā)展機(jī)器人技術(shù)?簡單的說是有三方面原因:1、干人不愿干的事。2、把人從有毒,有害,危險(xiǎn)的環(huán)境中解放出來。3、保證工作的效率和準(zhǔn)確性。人會(huì)累,機(jī)器不會(huì)。這變相的提高了生產(chǎn)力,解放了勞動(dòng)力。 隨著時(shí)代的發(fā)展,機(jī)器人技術(shù)也是日新月異,從傳統(tǒng)的履帶式機(jī)器人到如今的雙足行走機(jī)器人,機(jī)器人的應(yīng)用范圍越來越廣。機(jī)器人作為科技產(chǎn)物,如今已經(jīng)給人們提供了越來越多的方便,他們可以做人類無法做到的事情,也可以代替人去做一些危險(xiǎn)的工作。兩足直立行走機(jī)器人是未來機(jī)器人的發(fā)展方向。相比較傳統(tǒng)的履帶式機(jī)器人,它們可以更好的,更方便的為人類服務(wù),模仿人類兩足行走的特性可以到達(dá)更多傳統(tǒng)機(jī)器人無法到達(dá)的地方。 雙足機(jī)器人不但擁有開闊的工作空間,并且對(duì)步行環(huán)境要求很低,能適應(yīng)于各類地面且具有較高的夸越障礙的能力,其步行性能是別的步行結(jié)構(gòu)無法比較的[2]。研究雙足行走機(jī)器人具有重要的意義。 仿人雙足步行是生物界難度最高的步行動(dòng)作,但其步行性能卻是其它步行結(jié)構(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é)科的發(fā)展。 機(jī)器人技術(shù)是科學(xué)技術(shù)發(fā)展的一個(gè)綜合結(jié)果,是社會(huì)經(jīng)濟(jì)發(fā)展的起到重要影響的一門學(xué)科。是發(fā)展生產(chǎn)力的必然需求。一個(gè)國家的機(jī)器人技術(shù)可以衡量一個(gè)國家綜合技術(shù)水平,發(fā)展機(jī)器人技術(shù)是未來的必然趨勢(shì)。雙足仿人行走機(jī)器人更是重中之重。通過研究制作雙足行走機(jī)器人我們能夠更好的認(rèn)識(shí)雙足行走機(jī)器人,了解其特點(diǎn),這將為以后的發(fā)展,研究打下堅(jiān)實(shí)的基礎(chǔ)。 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)階,通過窄路面等。并且步行的方式占地面積小,更靈活,在此基礎(chǔ)上更容易搭載短小緊湊的機(jī)械手臂。這是其他步行方式無法比擬的。 1.2.3雙足行走研究的意義 在步行方式中兩足步行是最為復(fù)雜、自動(dòng)化水平最高的動(dòng)態(tài)系統(tǒng)。本課題以對(duì)兩足行走機(jī)器人的行走控制為目的,來研究兩足機(jī)器人的行走過程[6]。通過對(duì)外界環(huán)境的判斷讓機(jī)器人處理一些簡單的應(yīng)變。為機(jī)器人在以后更為復(fù)雜的工作環(huán)境穩(wěn)定工作打下基礎(chǔ)。 研究雙足步行機(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ī),通過精確的角度變化讓機(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ì)的框架,在此基礎(chǔ)上進(jìn)行設(shè)計(jì)。這4個(gè)自由度分別為2個(gè)髖關(guān)節(jié)和2個(gè)踝關(guān)節(jié)。簡單的4個(gè)關(guān)節(jié)就能實(shí)現(xiàn)基本的行走目的,節(jié)約了成本也減少了開發(fā)的時(shí)間。 2.2機(jī)器人結(jié)構(gòu)的設(shè)計(jì) 雙足行走機(jī)器人其基本條件就是有兩條腿,我們分別為這2條腿安裝一個(gè)髖關(guān)節(jié)和一個(gè)踝關(guān)節(jié),再通過搭載一個(gè)簡易的平臺(tái)來固定兩條腿,并搭載所以電子設(shè)備,這樣就基本形成了一個(gè)雙足機(jī)器人的模樣。 由于本系統(tǒng)選用的MCU(Micro Control Unit)的速率限制,無法為機(jī)器人提供一個(gè)很好的平衡算法硬件條件。故裝上兩個(gè)大腳板,來保持行走過程中的平衡問題。這是一中最簡單的、成本最故障率最低的實(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ù)都很難做到精確控制,本系統(tǒng)采用的舵機(jī)具有非常好的可控制性。精確度度、響應(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ì)簡約,可靠性強(qiáng)。 硬件設(shè)計(jì)簡圖如圖2 圖2 總硬件設(shè)計(jì)簡圖 3.1單片機(jī)控制模塊 采用STC89C52單片機(jī)。STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,STC89C52使用經(jīng)典的MCS-51內(nèi)核,8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口[11]?;緷M足控制及串口通信要求。 本設(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ī)器人看到前方的事物。 紅外傳感器是一種非常常用的傳感器,其結(jié)構(gòu)簡單,調(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è)2N7002 MOS管組成串口通信電路,該電路主要應(yīng)用與不同電平MCU通信。 下圖中,MCU RXD、MCU TXD、舵機(jī)控制TXD、舵機(jī)控制RXD為四個(gè)信號(hào)端,VDD MCU和VDD 舵機(jī)控制器為這四個(gè)信號(hào)的高電平電壓.另外限制條件為: 1、VDD 舵機(jī)控制器<=VDD MCU 2、S1的低電平門限大于0.7V左右(視NMOS內(nèi)的二極管壓降而定). 3、V3s<=VDD MCU 4、V1s<=VDD 舵機(jī)控制器 系統(tǒng)基本滿足上述條件,因此采用該電路進(jìn)行串口電平轉(zhuǎn)換。更好的保證通信的穩(wěn)定性。 系統(tǒng)采用兩塊LM2596S芯片的DC-DC模塊,該模塊具有接線簡單、成本低、穩(wěn)定性好、轉(zhuǎn)換效率高的特點(diǎn)。避免了因電池的不穩(wěn)定造成對(duì)機(jī)器人的影響。同時(shí),降低電源電壓有利于單片機(jī)的穩(wěn)定工作,延長使用壽命。提供給舵機(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 開始 等待命令 轉(zhuǎn)動(dòng)90 舞蹈 避障行走 關(guān)節(jié)測(cè)試 測(cè)試完 前方有障礙 舞蹈完 是 是 是 否 否 否 圖7 程序流程圖 4.2控制流程圖 控制流程圖如圖8 舵機(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ù)void zhanli() { action("#16A89!"); action("#31A86!"); action("#22A86!"); action("#25A86!"); } 將機(jī)器人行走過程中第一步動(dòng)作分解成各個(gè)微動(dòng)作,采集第一步各個(gè)微動(dòng)作建立一步動(dòng)作函數(shù)。 void diyibu() //第一步 { 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)精確角度,這樣便實(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)行精確轉(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)精確角度轉(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.5ms 0 2.0ms 45 2.5ms 90 將舵機(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è)定距離內(nèi)的是否有障礙物進(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ī)器人是未來發(fā)展的趨勢(shì),這次設(shè)計(jì)僅僅是很簡單的一個(gè)雙足機(jī)器人模型,離真正意義上的雙足行走還有很大的差距。設(shè)計(jì)時(shí)才用的大腳板可以使機(jī)器人行走穩(wěn)定,這只是從結(jié)構(gòu)方面來解決了平衡性問題。要想真正解決平衡性問題還有很長的路要走,就像我們從嬰兒學(xué)步一樣我們僅僅邁出了第一步。 本設(shè)計(jì)雖然簡單,但基本滿足了雙足行走的基本要求,并實(shí)現(xiàn)了一定的簡單功能,也讓我基本了解了雙足機(jī)器人行走的方式,及控制方法。以后可以通過增加關(guān)節(jié)數(shù)量,使用更多的傳感設(shè)備,來模仿人類的行走方式。 隨著未來科技的發(fā)展,這種類關(guān)節(jié)運(yùn)動(dòng)還可以模仿手臂,頭部等活動(dòng)方式。制造高精度的機(jī)械手臂來幫助人們做一些很難做到的事。仿人雙足步行是生物界難度最高的步行動(dòng)作,但其步行性能卻是其它步行結(jié)構(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é)科的發(fā)展。研究雙足步行機(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]趙旦譜. 非結(jié)構(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-Lpez,B. Castillo-Toledo,R. Femat. Fuzzy servo controller for CSTB with substrate inhibition kinetics[J]. Journal of Process Control,2012,226:. [11]陳淑芳. 基于51單片機(jī)的教學(xué)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與開發(fā)[D].中國海洋大學(xué),2011. [12]M. Xie,Z.W. Zhong,L. Zhang,L.B. Xian,L. Wang,H.J. Yang,C.S. Song,J. Li. A deterministic way of planning and controlling biped walking of LOCH humanoid robot[J]. Industrial Robot: An International Journal,2009,364:. [13]SYBIL E FARMER. Key factors in the development of lower limb co-ordination: implications for the acquisition of walking in children with cerebral palsy[J]. Disability & Rehabilitation,2003,2514:. 附錄 附1:部分元器件清單 舵機(jī)控制器、STC89C52、紅外傳感器等 附2:程序清單 #include- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 控制 行走 機(jī)器人 設(shè)計(jì)
鏈接地址:http://www.szxfmmzy.com/p-6640147.html