機械手-兩足行走機器人
機械手-兩足行走機器人,機械手,行走,機器人
本科畢業(yè)設(shè)計說明書(論文)第14頁 共29頁
1 緒論
兩足步行機器人是指可以使用兩只腳交替地抬起和放下,以適當?shù)牟椒ミ\動的機器人,可分為擬人機器人和桌面型兩足機器人 (仿人機器人)大小和人相似,不僅具有擬人的步行功能,而且通常還具有視覺、語音、觸覺等一系列擬人的功能;桌面型兩足機器人通常指體積較小,只具有步行功能及其他少數(shù)特定功能的兩足機器人,例如具有步行功能和視覺功能的自主踢足球機器人。與擬人機器人相比,桌面型兩足步行機器人的成本較低,除了具有科研性外,還具有廣泛地娛樂性,也可以應(yīng)用在教學和比賽中。國內(nèi)外的機器人大賽中,常常可以看到桌面型兩足步行機器人的身影[1]。
1.1 課題的研究背景和意義
于兩足步行機器人的擬人性和對環(huán)境良好的適應(yīng)性等特點,受到各國政府和研究者的廣泛重視,是當今世界的高新技術(shù)的代表之一。它在科研、教學、比賽和娛樂等方面都很到了很好的應(yīng)用。
江蘇省大學生機器人大賽和全國大學生機器人大賽中經(jīng)常有兩足步行機器人,它可以參加舞蹈機器人比賽、兩足競走機器人比賽、Robocop類人組機器人踢足球[10]器人創(chuàng)新比賽、Robocop救援組比賽等。舞蹈機器人比賽時使用了日本“KONDO”兩足步行機器人,性能出眾,發(fā)揮穩(wěn)定,獲得了舞蹈機器人比賽的冠軍。但是該機器人是集成度很高的商業(yè)產(chǎn)品,它的控制系統(tǒng)不開放底層代碼,難以進行二次開發(fā)和步態(tài)研究。 所以本文基于機器人控制系統(tǒng)中常用的眾多處理器和操作系統(tǒng)各自的特點,并結(jié)合“KONDO”機器人機械結(jié)構(gòu)的特性,選用了高性能、低功耗的 8 位AVR? 微處理器內(nèi)核處理器ATMega8P來實現(xiàn)對機器人的控制來。設(shè)計的控制系統(tǒng)控制指令精簡,控制轉(zhuǎn)角精度高,波特率可以實時更改,體積小,重量輕,其可作為類人型機器人、仿生機器人、多自由度機械手的主控制器。隨著中國機械產(chǎn)業(yè)的不斷進步,各高校相繼開設(shè)機械類創(chuàng)新課程和比賽,學生可將其應(yīng)用在各類機械創(chuàng)新作品中,優(yōu)化控制系統(tǒng)參加比賽。日本“KONDO”機器人如圖1.1所示。
圖1.1 日本“KONDO”跳舞機器人
1.2 國內(nèi)外研究現(xiàn)狀
步行是人與大多數(shù)動物所具有的移動方式,其中兩足直立行走是人類特有的步行方式,是所有步行方式中自動化程度最高,最為復雜的動態(tài)系統(tǒng)。最早從工程角度研究雙足機器人并獲得成功的是早稻田大學的加藤一郎。1972年,加藤實驗室推出了wL-5雙足步行機器人,這是世界上第一臺雙足機器人。
1996年11月本田((HONDA)公司展示了一個有兩腿兩臂的仿人[2]型機器人P2,能在平地上行走、轉(zhuǎn)彎、上下樓梯和跨越障礙,并可提5公斤的重物和使用扳手等簡單工作;在此基礎(chǔ)上,本田公司又連續(xù)開發(fā)了第二代仿人機器人P3,第三代仿人機器人Asimo, Asimo高120cm,行走質(zhì)量很高,非常接近人類。Sony公司也推出了能歌善舞的機器人Qrio,不但具有非常出色的步行穩(wěn)定性,而且具有很強的自行辨認能力,甚至能在狹隘道路上行走并繞過障礙物。這兩個機器人代表了當前世界上兩足步行機器人研制的最高水平。
Asimo和Qrio都是擬人機器人,它們除了具有兩足步行功能之外,還具有非常強大的視覺功能和語音功能,能辨認很多目標,并能和人進行很好的語言及肢體交流。而桌面型的兩足機器人也一直受到研究者的重視,研究的重點是兩足步行功能。如圖1.2所示。
圖1.2 Asimo(左)和Sony的Qrio(右)
2006年,日本神奈川大學設(shè)計的WABIAN-2LL機器人,身高120cm,重40Kg,在步行中通過膝關(guān)節(jié)改變腿長,通過腰關(guān)節(jié)的運動來減少腿部運動對身體重心的影響。2007年,大阪大學的Koh Hosoda等人研究了人類行走過程中的腿、腰、頭、手臂等各部分的協(xié)同作用,在兩足機器人中引入了三維極限環(huán)協(xié)同理論,設(shè)計的機器人Pneumat-BT[6],[7]。
隨著集成電路的發(fā)展,小型機器人可以具有功能越來越強大的嵌入式計算系統(tǒng),甚至可以使用運算能力很強的圖像處理和模式識別系統(tǒng)。這使得桌面型兩足步行機器人和擬人機器人之間并沒有嚴格的區(qū)分標準。2007年,東京Denki大南京師范大學碩士學位論文學的Hideto SHIMIZU等人設(shè)計了小型兩足步行機器人HOAP-3,身高60cm,重8. 8Kg,共有28個自由度,有一個強大的視覺處理系統(tǒng)。如圖1.3所示。
圖1.3 WABIAN-2LL(左)、Pneumat-BT(中)和HOAP-3(右)
2006年,西班牙Politecnica de Valencia大學的Albero和Blanes等人設(shè)計了具有高性能分布式控制系統(tǒng)的桌面型兩足機器人YABIRO,高55cm,重4Kg,共27個自由度,具有獨特的腰部三自由度結(jié)構(gòu),如圖所示。該機器人使用了多個嵌入式系統(tǒng),主控制系統(tǒng)使用了嵌入式個人計算機和實時Linux操作系統(tǒng),具有非常強大的數(shù)據(jù)處理能力;主、從控制系統(tǒng)以及傳感器之間使用dual-CAN總線通信。
2006年,韓國國立釜山大學開發(fā)了腳底安裝有力傳感器的桌面型兩足機器人,該機器人身高28cm,重3.2Kg,如圖所示。同年,韓國Sung KyunKwan大學也開發(fā)了一個桌面型兩足步行機器人,身高45cm,重4.3Kg,共24個自由度,如圖所示。該機器人使用了TI公司的DSP TMS320F2407作為控制器,使用直流無刷電機作為驅(qū)動器,在兩足步態(tài)設(shè)計中引入了遺傳算法。如圖1.4所示。
圖1.4 YABIRO-2(左)、釜山大學機器人和Sung Kuhn Kwan 大學機器人(右)
我國從80年代中期才開始研究兩足步行機器人[20,21] ,國防科技大學1988年研制成功我國第一臺平面型六自由度的兩足機器人,能實現(xiàn)前進、后退和上下樓梯;之后又現(xiàn)了實驗室環(huán)境中的全方位行走,1995年,實現(xiàn)了動態(tài)步行。
2000年11月,國防科技大學又研制出了我國第一臺具有人類外觀特征、可以模擬人類行走與基本操作功能的擬人兩足步行機器人Pioneero。
2002年,清華大學精密儀器系、機械工程系和自動化系組成的研究小組開始研究開發(fā)擬人機器人THBIP,共32個自由度,可以步行、上下樓梯、打太極拳等,并具有視覺及語音識別功能[3]。
兩足機器人的研制發(fā)展過程,是由少自由度到多自由度、由實現(xiàn)簡單動作到復雜動作、由靜態(tài)步行到動態(tài)步行、由僅從簡單功能到仿生功能的研制過程。
1.3 本文的主要工作
本文設(shè)計的主要內(nèi)容是兩足行走機器人的行走控制系統(tǒng)部分,我選用8 位AVR 微處理器內(nèi)核處理器ATMega8P,設(shè)計了兩足行走機器人的控制系統(tǒng)。主要工作包括:
(1) 設(shè)計了兩足步行機器人的硬件電路。選用高性能、低功耗的 8 位AVR微處理器,指令執(zhí)行時間為單個時鐘周期,速度快,控制精度高、I/O口驅(qū)動能力更強,優(yōu)于AT51、STC51系列單片機。
(2) 選擇設(shè)計了兩足步行機器人的控制軟件系統(tǒng)。在AVR微處理器中移植了u C/OS-II操作系統(tǒng);在操作系統(tǒng)下設(shè)計了應(yīng)用程序,實現(xiàn)了兩足機器人控制系統(tǒng)的各項功能,搭建了完整的兩足機器人控制系統(tǒng)軟件框架[12],[13]。
(3) 搭建了17自由度機器人雙腿的運動模式,通過17個舵機同時協(xié)調(diào)運作,以實現(xiàn)機器人完成相應(yīng)的動作。
(4) 完成畢業(yè)設(shè)計的同時,提出本設(shè)計的不足,指出需要改進的地方。
1.4 本文組織結(jié)構(gòu)
第一章介紹了兩足步行機器人的國內(nèi)外研究現(xiàn)狀 [26] ,由別人設(shè)計的機器人總結(jié)對自己的啟發(fā)提出本設(shè)計的主要任務(wù)點。
第二章介紹了控制系統(tǒng)中常用的處理器和操作系統(tǒng)、以及兩足步行機器人的機械結(jié)構(gòu),并說明了本文設(shè)計兩足步行機器人控制系統(tǒng)的目的。使用Prote199設(shè)計了兩足步行機器人控制系統(tǒng)的硬件,包括核心電路圖和PWM脈沖信號控制原理圖。
第三章介紹了使用實現(xiàn)機器人控制系統(tǒng)的具體軟件,這里我們使用了Servo Control Software,是實現(xiàn)伺服電機控制器通訊協(xié)議PC機上專用WINDOWS控制軟件,可以簡便的實現(xiàn)復雜動作的操控。
第四章建立兩足步行機器人步行模式建立,對機器人的雙腿運動進行了分析,對10個微型伺服直流電機的轉(zhuǎn)角角度進行了逐個分析。
第五章對本文的工作進行了總結(jié),并對今后的深入研究提出了建議。
2 兩足步行機器人控制系統(tǒng)硬件設(shè)計與實現(xiàn)
在以比賽、娛樂、教學和研究為目的的兩足步行機器人控制系統(tǒng)中,單板計算機作為控制系統(tǒng)雖然運算速度快,但體積大、成本高,而且功耗大;有此而選用高性能、低功耗的 8 位AVR? 微處理器,指令執(zhí)行時間為單個時鐘周期,速度快,控制精度高、I/O口驅(qū)動能力更強,優(yōu)于AT51、STC51系列單片機,所以能夠解決一些較為復雜的控制指令。
2.1 硬件系統(tǒng)的基本要求
兩足步行機器人是對人類的模仿[15]。但人類的結(jié)構(gòu)極其復雜,對人類步行原理的研究至今仍有許多未解決的問題。所以在設(shè)計兩足步行機器人機械結(jié)構(gòu)時,會對人類步行的結(jié)構(gòu)進行減化,只會考慮基本的步行功能。人類的僅下肢就具有62對肌肉,腰部8對肌肉,在設(shè)計兩足步行機器人時,要控制具有這么多自由度的多變量系統(tǒng)幾乎是不可能的事情,所以兩足步行機器人通常腿部只具有8至12個自由度,腰部具有0至3個自由度。本課題設(shè)計的機器人共有17個自由度,驅(qū)動器為微型直流伺服電機,簡稱舵機。其機械結(jié)構(gòu)如圖2.1所示。
圖2.1 機器人機械實物
該機器人的機械結(jié)構(gòu)具有如下特點:
(1) 該機器人的機械設(shè)計具有很高的穩(wěn)定性,國外的一些類似機器人曾獲得機器人比賽冠軍;
(2) 該機器人踝關(guān)節(jié)和髖關(guān)節(jié)各具有兩個自由度,這種機械結(jié)構(gòu)設(shè)計可以使機器人在不平地面站立;
(3) 該機器人膝關(guān)節(jié)具有一個自由度;
(4) 該機器人肩關(guān)節(jié)具有兩個自由度,肘關(guān)節(jié)具有一個自由度,可以實現(xiàn)簡單的擺臂功能,用以配合腿部的運動,抑制擺腿時產(chǎn)生的左右扭轉(zhuǎn)趨勢。
(5) 該機器人的機械結(jié)構(gòu)也具有一個缺點:沒有腰部扭轉(zhuǎn)自由度,使兩足步行機器人在行走中不能使用腰部關(guān)節(jié)進行姿態(tài)平衡,但這并不阻礙機器人在平地上的行走。
本文在“KONDO”機器人[9]機械結(jié)構(gòu)的基礎(chǔ)上,設(shè)計控制系統(tǒng),用來替換其自帶的控制系統(tǒng)。本文設(shè)計的控制系統(tǒng)在硬件上至少滿足如下5個基本要求:
(1) 產(chǎn)生不少于17路獨立的高精度單邊沿PWM信號,用來控制作為機器人關(guān)節(jié)驅(qū)動器的17個直流伺服電機;
(2) 具有調(diào)試接口;
(3) 具有一個與PC機通信的接口;
(4) 具有多路A/D轉(zhuǎn)換電路,用來擴展傳感器;
(5) 具有獨立而穩(wěn)定的電源。
我們設(shè)計的機器人所用的高精度直流伺服電機,控制信號為0.5ms~2.5ms高電平的PWM信號,對應(yīng)轉(zhuǎn)角為0度到180度,電機精度為0.1度,則控制信號的精度應(yīng)該高于(2.5ms~0.5ms) /1800 =1.11μs。
2.2 硬件系統(tǒng)設(shè)計的技術(shù)路線和總體方案
2.2.1 處理器選型
二十年前,只有少數(shù)的幾個科研機構(gòu)在研究兩足步行機器人,現(xiàn)在卻不勝枚舉,這其中很重要的一個原因就是嵌入式計算機的高速發(fā)展[24],[25]。嵌入式計算機由于其體積小、功耗低、硬件資源豐富,非常適合應(yīng)用在對體積和功耗都有較高要求的小型機器人系統(tǒng)中。
在機器人控制系統(tǒng)中常用的處理器有:TI C2000和C6000系列DSP、8051和AVR單片機、ARM7和ARM9系列、PC104和PowerPC單板計算機等。它們各自具有鮮明的特點,通常都是為了特殊的應(yīng)用而設(shè)計,如表2.1所示。
表2.1 機器人控制系統(tǒng)中常用處理器
機器人控制系統(tǒng)中常用的處理器
處理器的特點
在機器人控制系統(tǒng)中的應(yīng)用
C2000系列DSP
具有很強的數(shù)字信號處理能力,適合運動控制,硬件設(shè)計方便。
運動控制、語音處理。尤其適合執(zhí)行針對單個或一對直流(無刷)電機的復雜算法。
C6000系列DSP
具有極強的數(shù)字信號處理能力,具有專門的操作系統(tǒng),硬件設(shè)計非常復雜。
高級的視覺處理和模式識別
8051和AVR系列單片機
結(jié)構(gòu)和指令簡單;運算能力較低,通常不支持操作系統(tǒng):幾乎全部芯片都己經(jīng)單片化,硬件設(shè)計非常方便。
簡單的運動控制和信號處理,在復雜的控制系統(tǒng)中作為局部控制器。
ARM7系列
典型的RISC處理器,運算能力較強,支持多種操作系統(tǒng):部分型號芯片己經(jīng)單片化,硬件設(shè)計較方便。
小型機器人主控制器,常用于運動控制和傳感器信號處理。
ARM9系列
典型的RISC處理器,運算能力很強,支持多種操作系統(tǒng);幾乎沒有單片化,硬件設(shè)計較復雜。
機器人主控制器,同以進行視覺處理、語音處理和模式識別。
PC104, PowerPC等單板計算機
由PC演化而來,通用性很強,功耗大,硬件設(shè)計非常復雜。
復雜的擬人機器人的主控制器。
DSP處理器在譜分析、FFT變換、數(shù)字濾波等方面得到非常廣泛地應(yīng)用。TI公司的02000系列DSP主要用來進行運動控制,適合用于執(zhí)行針對單個或少量電機的高級控制算法。雖然C2000在桌面型兩足機器人中也有應(yīng)用,但C2000對操作系統(tǒng)的支持能力有限,一般不使用操作系統(tǒng),所以如果作為主控制器會帶來軟件設(shè)計上的局限性。
C6000系列具有很高的主頻、豐富的硬件資源、特殊的系統(tǒng)結(jié)構(gòu),數(shù)字信號處理能力非常強大,并且TI公司特地為C6000(和C5000)系列開發(fā)了專用DSP/BIOS操作系統(tǒng)。DSP/BIOS操作系統(tǒng)使C6000如虎添翼,成為了高級視覺處理應(yīng)用的主流處理器。但使用C6000作為處理器時電路復雜,通常只在大型擬人機器人中作為高級的視覺處理器,小型的機器人中應(yīng)用很少。
8051和AVR系列單片機通常在其內(nèi)部集成了CPU、存儲器、總線邏輯、看門狗、I/0、以及其他接口,單片化的特性使其體積和功耗都大大減小,在兩足步行機器人中得到了廣泛使用。
ARM7系列處理器是ARM處理器中使用很多的一款。ARM7處理器是典型的RISC處理器,對操作系統(tǒng)的支持能力很強,適合運行多種操作系統(tǒng)。
ARM9系列處理器在ARM7的基礎(chǔ)上進一步地提高了運算能力,增加了更多的硬件資源。ARM9對操作系統(tǒng)的支持能力同樣地強大。ARM9適合作為兩足機器人控制系統(tǒng)的主控制器,同時還可以作視覺處理、語音處理和模式識別。但ARM9系列處理器幾乎沒有能實現(xiàn)單片化的,硬件設(shè)計較為復雜。
單板計算機由通用計算機演化而來,常見的有PC104、PowerPC、MIPS、68000等。單板計算機具有良好的通用性,對操作系統(tǒng)具有極強的支持能力。但其設(shè)計和開發(fā)比較復雜,功耗較大,在擬人機器人等大型機器人中經(jīng)常被用作主控制器。
本文結(jié)合控制系統(tǒng)設(shè)計的基本要求和常用處理器[19],高性能、低功耗的 8 位AVR微處理器,指令執(zhí)行時間為單個時鐘周期,速度快,控制精度高、I/O口驅(qū)動能力更強,優(yōu)于AT51、STC51系列單片機。
2.2.2 直流伺服電機的控制特性
直流伺服電機又稱為舵機,是一種位置伺服驅(qū)動器,適用于角度不斷變化并可以保持的控制系統(tǒng)[22]。我們設(shè)計的兩足行走機器人的直流伺服電機使用+7V至+12V電源,內(nèi)部基準信號為周期為20ms的PWM周期信號,輸入的控制信號也必須是周期為20ms的PWM周期信號,電壓為+4V至+6V。電機輸出轉(zhuǎn)角與輸入的控制信號的脈沖寬度有如圖2.2所示的線性關(guān)系。
圖2.2 直流伺服電機輸出轉(zhuǎn)角與輸入PWM信號寬度的關(guān)系
本文中的兩足步行機器人機械結(jié)構(gòu)共有17個直流伺服電機,所以在設(shè)計控制系統(tǒng)硬件電路時,除了需要提供9V至12V的電源外,還必須提供至少17路4V至6V的PWM信號。
2.2.3 硬件設(shè)計總體方案
對應(yīng)于控制系統(tǒng)硬件設(shè)計的基本要求,作了如下的設(shè)計方案:
(1) 核心電路包括AVR[11]核心處理器、JTAG調(diào)試接口、串口驅(qū)動電路和A/D轉(zhuǎn)換基準電壓電路[19],原理如圖2.3所示。
圖2.3 核心電路原理圖
(2) 控制系統(tǒng)需要控制17個直流伺服電機,使兩足步行機器人完成相應(yīng)的動作。控制直流伺服電機的PWM信號的周期為20ms,高電平持續(xù)時間為0. 5ms至2. 5ms,占空比較小,最大僅為1/8,所以可以進行多路分時復用。本文使用了4個三態(tài)鎖存器74HC595D PWM信號進行4路分時復用,一共可以得到32路獨立的單邊沿PWM信號,這樣可以滿足控制系統(tǒng)的要求。使用高性能電池供電,增加了機器人的靈活性.其舵機PWM信號控制電路原理如圖2.4所示。
圖2.4 PWM信號控制原理圖
2.2.4 電源設(shè)計
為了增加機器人的靈活性,兩足步行機器人使用高性能電池供電。直流伺服電機的電源要求為9V至12V,本文選用了電壓為9V的高性能電池,直接作為直流伺服電機的電源。
由于基于AVR的處理器和外設(shè)均使用3. 3V電源電壓,所以需要選用電源電壓轉(zhuǎn)換器進行電壓轉(zhuǎn)換。我們使用了一個直流電壓轉(zhuǎn)換芯片L78M05將電池的直流電源轉(zhuǎn)換為相應(yīng)的電流。
2.2.5 舵機控制器PCB電路板的設(shè)計
32路伺服電機控制器是一套最具性價比的伺服電機控制器。可以控制多達32個伺服電機協(xié)調(diào)動作的軟硬件結(jié)合系統(tǒng),它不但能實現(xiàn)位置控制和速度控制,還具有時間延時斷點發(fā)送指令功能。其主要由上位機軟件和伺服電機驅(qū)動控制器組成。通過PC機操作上位機軟件給控制器傳遞控制指令信號,即可實現(xiàn)多路伺服電機單獨控制或同時控制,控制指令精簡,控制轉(zhuǎn)角精度高,波特率可以實時更改,體積小,重量輕,其可作為類人型機器人、仿生機器人、多自由度機械手的主控制器。此外還可以配合其他功能模塊實現(xiàn)無線控制、傳感器反饋,構(gòu)建閉環(huán)控制系統(tǒng)。隨著國內(nèi)外機械產(chǎn)業(yè)的不斷進步,各大高校相繼開設(shè)機械類創(chuàng)新課程和比賽[11],學生可將其應(yīng)用在各類機械創(chuàng)新作品中,起到優(yōu)化控制系統(tǒng)作用,其電路板界面如圖2.5所示。
圖2.5 兩足行走機器人控制系統(tǒng)電路板
2.3 舵機控制器的使用方法
2.3.1 伺服電機控制板接口功能
圖2.6 控制電路板各部分標識
舵機器控制器面板主要有電源接口、串口通訊接口、伺服電機借口、TIL通訊借口以及上位機擴展口、電源開關(guān)等部分組成,各部分詳細的位置分布如圖2.6所示,其中每個部分的詳細說明如下:
①DC5V直流電源接口
此接口用于接插控制器控制部分供電電源,為了方便長時間調(diào)試,可以用套裝中為用戶提供的USB取電線,直接插筆記本電腦或臺式電腦USB接口。也可接插符合下面要求的外置電源適配器(注意電源極性?。?
②控制部分電源端子接口
此接口用于接插控制器控制部分供電電源,為增大用戶選擇電源電壓范圍,特設(shè)此接口。工作電壓范圍:+7V~+12V。注意端子接口正負標識符!正確接線,避免損壞控制器。為用戶調(diào)試方便提供9V電池扣接線一條,可接9V電池使用。
③伺服電機供電電源端子接口
此接口用于接插伺服電機供電電源(由于伺服電機在重負載的情況下,會將放大器電壓拉低,為防止影響控制器部分電壓突變,應(yīng)該將兩部分分別供電),工作電壓:+4V~+6V(普通伺服電機)。一般上,伺服電機啟動和滿負載的時候耗電達1A~1.5A,而沒有負載時候只有約150mA耗電,所以請均衡考慮,根據(jù)同時運動的伺服電機數(shù)量,來考慮電源的功率選擇。為防止意外,請確保不要使用功率小于設(shè)計里面。一半數(shù)目的電機滿功率運行時功耗的電源。為用戶調(diào)試方便提供的5號四節(jié)/4位電池盒一個,裝上電池可作為伺服電機調(diào)試電源使用。
④外擴上位機系統(tǒng)供電接口
此接口供電來源控制部分端子接口電源,可為自主開發(fā)的上位機(51系列、AVR系列、DSP、ARM等)板供電。
⑤串口通訊接頭
此端口使用標準RS232串口電平進行通訊,可以接插為用戶提供的串口通訊線和計算機進行通訊,接收實時控制指令。
⑥TTL通訊接口
若使用此功能請將跳線帽取下,此接口可用于伺服電機控制器與其他單片機開發(fā)的上位機BS2(Basic Stamp 2)通訊。注意接口標識符,TX、RX左側(cè)排針分別聯(lián)接伺服電機控制板微控器TXD、RXD引腳。
⑦波特率設(shè)置撥碼開關(guān)
通過設(shè)置撥碼開關(guān),波特率可以在2400 960038.4k 115.2k四種數(shù)值中轉(zhuǎn)換。注意:1代表ON,0代表OFF??刂破鞑ㄌ芈誓J設(shè)置為115200。每次更改波特率數(shù)值后,都要給控制器重新上電啟動,才會生效。
⑧伺服電機通道接口和⑨標識符
此接口可接插國際標準接口的伺服電機,包括模擬式和數(shù)字式兩種。接口側(cè)方有1~32通道的標注符,表示伺服電機受哪一通道信號控制。每一行可以接插一個伺服電機。整行接口上面有S/ + /-的標注,其中“-”表示接插伺服電機的地線(一般為黑色);“+”表示接插伺服電機的電源線(一般為紅色);“S”表示signal(信號)接插伺服電機的控制信號線(一般為黃色或白色)。支持的伺服電機:Futabaor Hitec 以及國產(chǎn)品牌(如輝盛)等。
⑩電源開關(guān)
此開關(guān)控制伺服電機和控制電路兩部分電源通斷。開關(guān)撥向標有ON一端為接通電源;開關(guān)撥向OFF一端為切斷整個系統(tǒng)供電。
本科畢業(yè)設(shè)計說明書(論文) 第 29 頁 共 29 頁
3 兩足步行機器人控制系統(tǒng)軟件設(shè)計
AVR系列單片機通常在其內(nèi)部集成了CPU、存儲器、總線邏輯、看門狗、I/0、以及其他接口,單片化的特性使其體積和功耗都大大減小,在兩足步行機器人中得到了廣泛使用,現(xiàn)在在操作系統(tǒng)下設(shè)計并實現(xiàn)了兩足步行機器人控制系統(tǒng)的多個應(yīng)用軟件,構(gòu)成了一個完整的控制系統(tǒng)軟件框架;最后改進了常見的多路PWM產(chǎn)生方法,具有很高的PWM信號的精度和系統(tǒng)的實時性,并對兩足步行機器人進行了關(guān)節(jié)調(diào)試。
3.1 軟件系統(tǒng)的基本要求
根據(jù)機器人控制系統(tǒng)的功能需求和硬件電路的特點,軟件系統(tǒng)至少需要滿足以下5個要求:
(1) 軟件模塊化,具有很好的可維護和可擴展性。
(2) 實現(xiàn)PWM信號的分時復用,并要保證PWM信號的高精度。并且通過軟件,能夠及時地改變PWM的輸出。
(3) 通過RS232接口能和PC機通信。
(4) 通過I℃接口記錄關(guān)鍵的信息到E2PROM存儲器。
(5) 通過3路10位A/D轉(zhuǎn)換器讀取傳感器的值并預處理。
3.2 軟件設(shè)計的技術(shù)路線與總體方案
在機器人控制系統(tǒng)中常見的操作系統(tǒng)有:TI的DSP/BIOS, Microsoft的WinCE, u C/OS-II, Wind River的VxWorks, uC-Linux和RT-Linux等,它們各自的特點和應(yīng)用如下所述:
(1) DSP/BIOS操作系統(tǒng)不但具有很好的實時性[23],而且與DSP外圍的數(shù)據(jù)庫兼容并且內(nèi)建于DSP專用的交互式集成開發(fā)環(huán)境CCS。但DSP/BIOS操作系統(tǒng)只適合在TI的C6000和C5000 DSP處理器上使用。
(2) WinCE操作系統(tǒng)由Windows95精簡而成,不開放源碼,實時性不好。但從內(nèi)核到GUI的整個體系比較完善,并且Microsoft公司具有強大的軟件研發(fā)和技術(shù)支持能力。WinCE適合在功能復雜但對內(nèi)核體積的實時性都沒有太高要求的大型機器人主控制系統(tǒng)中使用,或者在圖像監(jiān)控系統(tǒng)中使用。
(3) uC/OS-II由世界著名的嵌入式專家Jean J. Lacrosse編寫,它具有源碼開放、體積小、可移植性強、可剪裁、可靠性高等特點,但GUI部分不完善。它非常適合在高實時性小型嵌入式系統(tǒng)中使用,經(jīng)常應(yīng)用在小型機器人控制系統(tǒng)中。
(4) VxWorks由美國Wind River公司開發(fā),具有極高的可靠性和實時性,但是它不開放源碼,而且價格非常昂貴,通常應(yīng)用在軍用機器人和航天機器人中。
(5) uC-Linux和RT-Linux都是由Linux演化而來,繼承了Linux的一系列優(yōu)點,比如高可靠性和具有完善的網(wǎng)絡(luò)功能。它們結(jié)構(gòu)復雜,對開發(fā)人員的技術(shù)要求較高,通常應(yīng)用在比較復雜的機器人控制系統(tǒng)中。
本文根據(jù)控制系統(tǒng)硬件的特點和機器人的功能需要,選用了以C語言為基礎(chǔ)編寫而成的操作系統(tǒng)“Servo Control Software”。其軟件的操作界面如圖3.1所示。
圖3.1 Servo Control Software操作界面
Servo Control Software是實現(xiàn)伺服電機控制器通訊協(xié)議PC機上的專用WINDOWS控制軟件,本軟件操作控制簡便,該軟件有以下功能:
(1) 速度控制設(shè)定功能 可以調(diào)試出任意速度,多路電機不同速度運行穩(wěn)定,實時性好,速度精準,加速減速任意設(shè)。
(2) 循環(huán)控制功能 讓您不必費心點擊鼠標啦,反復調(diào)試更加易用,可作為小型工業(yè)機械手主控板,功能循環(huán)執(zhí)行,提供作業(yè)效率。
(3) 指令保存功能 可以將您調(diào)試好的指令集保存,自動生成指令文檔,日期時間準確,例如robotcode20090107_1550, 您也可以個性化自命名,避免讀取指令文檔錯誤或者重新編輯。
(4) 指令讀取功能 只要輕松點擊“打開指令”按鍵,會進入指令集文檔,選擇您要讀取的以往指令文檔,恢復當前功能設(shè)置。
(5) 控制動作完成時間功能 只要發(fā)送指令時間大于動作完成時間,您就可以任意設(shè)置動作的完成時間,軟件備有自動調(diào)整功能,可將電機轉(zhuǎn)動平滑過渡,避免了機器人定格控制缺陷。
3.3 伺服電機控制軟件操作方法
3.3.1 串口設(shè)置
在熟悉了該軟件后,我們開始調(diào)試軟件。首先我們要做好前提工作,把舵機接線按照要求插在控制板上,再把串口接線插到電腦上,開通電源,打開操作軟件,點擊軟件操作界面里的串口設(shè)置,選擇合適的波特率,然后點確定,其操作方法如圖3.2、圖3.3、圖3.4所示:
圖3.2 串口設(shè)置第一步
圖3.3 串口設(shè)置第二步
圖3.4 串口設(shè)置第三步
3.3.2 控制通道設(shè)置
控制通道序號與控制板上的序號一一對應(yīng),根據(jù)設(shè)計需要可選擇多路調(diào)控,伺服電機接線一定要與控制軟件通道對應(yīng),避免出現(xiàn)控制無效現(xiàn)象。將硬件設(shè)備接好,如圖3.5所示。
圖3.5 控制板接線示意圖
單擊鼠標左鍵軟件與硬件連接,如圖3.6所示。
圖3.6 串口連接設(shè)置圖
當串口設(shè)置完成后,開始設(shè)置控制通道,單擊鼠標左鍵以激活控制通道,本設(shè)計中的機器人一共17個自由度,其中腿部10個,也就是一共17個直流伺服電機,在調(diào)試過程中,我們一共要激活17個通道,從1~17通道, 按照圖3.7所示。
圖3.7 控制通道設(shè)置示意圖
3.3.3 操作設(shè)置
在控制軟件的操作設(shè)置區(qū)域有“添加指令”、“指令修改”、“刪除指令”、“運行指令”等按鈕,分別實現(xiàn)不同的功能,具體實現(xiàn)功能如圖3.8所示。
圖3.8 操作設(shè)置功能圖
3.3.4 控制指令回顯區(qū)
調(diào)整好合適指令點擊添加后,將會出現(xiàn)在回顯區(qū)中。如圖3.9所示。
圖3.9 指令回顯區(qū)
3.3.5 發(fā)送指令時間設(shè)置
拉動指令間隔時間滑桿可以調(diào)節(jié)發(fā)送指令間隔時間,以實現(xiàn)各舵機的協(xié)調(diào)工作,來完成復雜的動作,如圖3.10所示。
圖3.10 發(fā)送指令間隔時間控制區(qū)
3.4 微型伺服電機(舵機)的選擇
微型的伺服電機在無線電業(yè)余愛好者的航?;顒又惺褂靡延泻荛L一段歷史,而且應(yīng)用最為廣泛,國內(nèi)亦稱之為“舵機”,含義為:“掌舵人操縱的機器”。舵機是一種位置伺服的驅(qū)動器。它是機器人、機電系統(tǒng)和航模的重要執(zhí)行機構(gòu)。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。標準的舵機有3條導線:電源線(紅)、地線(黑或灰)、控制線(白或橙黃)??刂凭€的輸入是一個寬度可調(diào)的周期性方波脈沖信號(PWM),方波脈沖信號的周期為20 ms(即頻率為50Hz),當方波的脈沖寬度改變時,舵機轉(zhuǎn)軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比,也就是利用占空比的變化來改變舵機的位置??梢姡渲饕米鬟\動方向的控制部件。因此,機器人模型中也常用到它作為可控的運動關(guān)節(jié),這些活動關(guān)節(jié)在機械原理中常稱它為自由度。
3.4.1 舵機的選型
本設(shè)計選用的舵機為“輝盛”MG945 12公斤全金屬齒大扭力舵機,其圖和參數(shù)如圖3.11和表3.1所示。
圖3.11 “輝盛”MG945舵機
表3.1 “輝盛”MG945舵機參數(shù)
尺寸
重量
速度
扭力
使用電壓
40.8*19.9*37.3mm
56.3g
0.24sec/60度
12公斤/厘米
4.8V~7.2V
3.4.2 輝盛MG945舵機的控制特性
“輝盛”MG945 12公斤全金屬齒大扭力舵機全轉(zhuǎn)角為180度,它的對應(yīng)的控制關(guān)系如表3.2所示。
表3.2 PWM波脈寬與舵機轉(zhuǎn)角關(guān)系
PWM波脈寬
舵機轉(zhuǎn)角
對應(yīng)轉(zhuǎn)角簡圖
0.5ms
0度
0.9ms
45度
1.5ms
90度
2.1ms
135度
2.5ms
180度
4 兩足步行機器人步行模式的建立
有的機器人行走時質(zhì)心在地面上的投影始終在腳的支撐多邊形內(nèi),這種步行方式被稱為靜態(tài)步行;在人的日常行走中,質(zhì)心在地面上的投影經(jīng)常會超越支撐多邊形的范圍,這種步行方式被稱為動態(tài)步行。靜態(tài)步行模式在設(shè)計步態(tài)時需要計算機器人的重心位置,以防止重心在地面上的投影超出了支撐多邊形范圍。靜態(tài)步行通常是在行走前離線設(shè)計好各個步行中的姿態(tài)和姿態(tài)切換的方法,在行走的過程中不能改變,一般只能在平地上行走。
4.1 本章任務(wù)
本設(shè)計中的機器人的機械結(jié)構(gòu),它具有17個自由度,驅(qū)動器為微型直流伺服電機。該機械結(jié)構(gòu)左右對稱,每條腿具有5個自由度,分別為踝2個、膝l個、髖2個;每個手臂具有3個自由度,分別為肩2個、肘1個;頸部具有一個自由度。而我的主要任務(wù)是分析雙腿的運動模式,研究10個舵機的轉(zhuǎn)動角度以及相互的協(xié)調(diào)工作的關(guān)系,建立一個完整的運動模型。首先要把機器人組裝起來,其腿部圖片如圖4.1所示。
圖4.1 單腿的實物圖片
在正確的把整個機器人完整的組裝起來后,我們要把機器人腿部的每個舵機都標注起來,以便后來的調(diào)試,腿部10個舵機的分布如圖4.2所示。
圖4.2 腿部舵機的分布
4.2 靜態(tài)步行模式設(shè)計與實現(xiàn)
兩足步行機器人控制系統(tǒng)中使用了靜態(tài)步行模式[4][5]線設(shè)計。靜態(tài)步行模式分為10個靜態(tài)姿勢及其切換順序如圖4.2所示。
圖4.2 兩足機器人行走步行模式
其中直立是初始狀態(tài);起步是為步行做準備,重心移到右腳;抬后腳(左)、邁步(左)和前腳著地(左)都是右腿支撐左腿擺動的姿態(tài);重心前移(左)是兩腿支撐,將重心從后面的右腳轉(zhuǎn)移到前面的左腳;抬后腳(右)、邁步(右)和前腳著地(右)都是左腿支撐右腿擺動的姿態(tài);重心前移(右)是兩腿支撐,將重心從后面由左腳再次轉(zhuǎn)移到前面的右腳。重心在左右腳之間反復轉(zhuǎn)移,左右腳的前后關(guān)系也反復轉(zhuǎn)換,實現(xiàn)兩足機器人的步行。
4.3 姿態(tài)運動的軟件實現(xiàn)
機器人的以上10個姿態(tài)按圖4.2所示切換,就可以讓機器人在平地上步行。根據(jù)腿部運動的模式,我們根據(jù)腿步各關(guān)節(jié)完成的角度可以計算輸入給每個舵機的PWM脈寬值,再反饋到舵機控制軟件Servo Control Software中,點擊“添加指令”按鈕,其控制回顯區(qū)出現(xiàn)指令如下:
T1000 #0P1500#1P1500#2P1500#3P1500#4P1500#5P1500#6P1500#7P1500#8P1500#9P1500
T1000 #0P1444#1P1500#2P1500#3P1500#4P1444#5P1500#6P1500#7P1500#8P1500#9P1500
T1000 #0P1444#1P1500#2P1500#3P1500#4P1444#5P1500#6P1500#7P1833#8P1833#9P1500
T1000 #0P1500#1P1450#2P1500#3P1500#4P1500#5P1500#6P1500#7P1833#8P1833#9P1500
T1000 #0P1500#1P1500#2P1500#3P1500#4P1500#5P1500#6P1500#7P1500#8P1500#9P1500
T1000 #0P1500#1P1500#2P1500#3P1500#4P1500#5P1500#6P1500#7P1500#8P1500#9P1500
T1000 #0P1444#1P1500#2P1500#3P1500#4P1444#5P1500#6P1500#7P1500#8P1500#9P1500
T1000 #0P1444#1P1500#2P1500#3P1500#4P1444#5P1500#6P1500#7P1167#8P1167#9P1500
T1000 #0P1500#1P1450#2P1500#3P1500#4P1500#5P1500#6P1500#7P1167#8P1167#9P1500
T1000 #0P1500#1P1500#2P1500#3P1500#4P1500#5P1500#6P1500#7P1500#8P1500#9P1500
上述完成機器人腿部運動的一個循環(huán),既從直立到抬左腿起步再到抬右腿起步,然后我們再點擊如圖4.3中的“激活循環(huán)控制”就可以完成兩足行走機器人兩腿間持續(xù)左右腳交替行走的動作了。
圖4.3 激活循環(huán)控制
結(jié) 束 語
兩足步行機器人是個廣泛應(yīng)用在教學、科研、比賽和娛樂等方面的機器人,集機械學、電子學、控制科學、計算機、數(shù)學等于一體。本文根據(jù)當前兩足步行機器人控制系統(tǒng)中常用的處理器和操作系統(tǒng)各自的特點,選用8 位AVR微處理器,指令執(zhí)行時間為單個時鐘周期,速度快,控制精度高、I/O口驅(qū)動能力更強,優(yōu)于AT51、STC51系列單片機。并對兩足步行機器人進行了運動學分析和靜態(tài)步行設(shè)計,實現(xiàn)在機器人在平面上的穩(wěn)定行走。
在本設(shè)計課題中,我及我們小組,基本完成了兩足行走機器人的結(jié)構(gòu)設(shè)計,也理論上完成了機器人的控制系統(tǒng),但是由于選擇的較為有難度的17自由度機器人,所以對于機器人結(jié)構(gòu)的選用材料、平衡力學處理、控制系統(tǒng)處理器等客觀條件有了更高的要求。在本課題中,由于條件有限,我們沒有使機器人在地面上實現(xiàn)兩腿交替運動。在我負責的控制系統(tǒng)這一塊中,我理論設(shè)計了一套控制方案,我使用的是核心為8位的AVR微處理器控制器,在設(shè)計過程中就發(fā)現(xiàn)的它的缺陷,由于我們設(shè)計的17自由度機器人,也就是有17個微型直流伺服電機,相應(yīng)的要同時提供17路的PWM脈沖信號,這就對處理器有了比較高的要求,而這時8位處理器則達不到使用要求。所以該課題在以后還有很多要進一步改進和研究的地方:
(1) 機器人使用更為先進的處理器,如表2.1中的ARM系列處理器和PC104, PowerPC等單板計算機。
(2) 機器人腳底安裝力傳感器,用來感知機器人腳和地面接觸時的受力情況,使用ZMP理論對機器人進行步態(tài)控制。
(3) 機器人增加視覺系統(tǒng),使機器人可以識別簡單的目標。桌面型的兩足機器人由于受到體積和成本的限制,大多不具備視覺系統(tǒng)或只有很簡單的視覺系統(tǒng)。但隨著技術(shù)的進步,桌面型的兩足機器人也會具有復雜的視覺系統(tǒng)。這在足球機器人中尤其重要。
致 謝
本文的研究工作是在劉艷老師的精心指導下完成的。在整個課題研究過程中,老師在各方面給予了我無盡的關(guān)心、幫助和教誨,使本論文的研究工作得以順利完成。老師學識淵博,經(jīng)驗豐富,思維敏捷,時時給我熱情的鼓勵和不倦的教誨,在研究思想和研究方法上給了我諸多啟示,解答了許多難題,從課程學習、論文選題、課題研究到論文撰寫無不凝聚著老師們的心血和汗水。老師待人誠懇,心胸寬大,精深的知識令我受益匪淺。在此向劉艷表示無盡的感謝,同時此課題能夠順利完成也離不開同學給我的幫助和指導,在此也特別向他們表示深深的謝意!
參 考 文 獻
[1] 包志軍,馬培蓀. 兩足機器人到仿人型機器人的研究歷史及其問題[J].機器人, 1999(4):312-319.
[2] 龜田秀司. 仿人機器人[M]. 管貽生譯. 北京:清華大學出版社, 2007.
[3] 徐凱. 仿人機器人步態(tài)規(guī)劃算法及其實現(xiàn)研究[D]. 北京:清華大學工學碩士學位論文, 2006.
[4] 胡凌云,孫增沂. 雙足機器人步態(tài)控制研究方法綜述[J]. 計算機研究與發(fā)展,2005.
[5] 石宗英,徐文立,馮元餛等. 仿人型機器人動態(tài)步行控制方法[J]. 機器人, 2001.
[6] 胡洪志. 仿人步行機器人的運動規(guī)劃方法研究[D]. 國防科技大學研究生院學位論文, 2002.
[7] 王勇. 基于被動動力式的兩足機器人研究現(xiàn)狀[J]. 機械工程師,2005.
[8] 付成龍,陳懇. 雙足機器人穩(wěn)定性與控制策略研究進展[J]. 高技術(shù)通訊, 2006.
[9] 劉森,慕春棣,趙明國. 基于AVR式系統(tǒng)的擬人機器人控制器的設(shè)計[J].北京:清華大學學報(自然科學版),2008.
[10] 楊晶東,黃慶成,洪炳銘. 雙足足球機器人實時避障導航系統(tǒng)研究[J].機器人, 2005.
[11] 江海波. 深入淺出AVR單片機[M]. 北京:中國電力出版社,2008
[12] 徐亮,徐中偉. u C/OS-II實時系統(tǒng)任務(wù)調(diào)度優(yōu)化[J]. 計算機工程,Oct 200733 (19):57-59.
[13] 吳平. u C /OS-II中任務(wù)調(diào)度算法的改進[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, Mar 2006(3):23-25.
[14] 吳偉國, 李小寧, 王瑜. 類人機器人腰部關(guān)節(jié)平衡作用研究與仿真[J].機械設(shè)計與制造,May 2005,(5):112-114.
[15] 黃燕平. u C/OS-II ARM移植要點詳解[M]. 北京:北京航空航天大學出版社,Nov2005.
[16] 劉森,慕春棣,趙明國. 基于ARM嵌入式系統(tǒng)的擬人機器人控制器的設(shè)計[J]. 北京:清華大學學報(自然科學版),2008,48(4):482-485.
[17] 施華, 薛廣濤. 機器人控制系統(tǒng)實時性的研究[J]. 計算機工程,Jan2003,29(l):91-92.
[18] 李開生, 張慧慧, 費仁元. 機器人控制器體系結(jié)構(gòu)研究的現(xiàn)狀和發(fā)展[J]. 機器人, May 2000,22(3):235-240.
[19] 顏永軍, 李梅. Portal 99電路設(shè)計與應(yīng)用[M],北京:國防工業(yè)出版社,2001.
[20] 施華, 陳一民,李超. 基于RT-Linux的實時機器人控制器研究[J].計算機工程與科學,2002,24(6):91-95.
[21] 徐青,申忠宇, 趙瑾等. 基于ARM的兩足步行機器人系統(tǒng)設(shè)計[J]. 儀器儀表學報(增刊),Aug 2007,28(8):499-501.
[22] 姜培玉. 兩足機器人動態(tài)步行研究[D]. 西北工業(yè)大學碩士學位論文,Mar2004.
[23] 萬松峰, 黃惟公. 基于WinCE&AVR的嵌入式工業(yè)監(jiān)控系統(tǒng)的開發(fā)[J],西華大學學報(自然科學版),Nov 2005,24(6):26-29.
[24] 李紅征,周烽,王永. 基于DSP的雙足步行機器人設(shè)計[J]. 機械與電子,2007 (11):55-58. 南京師范大學碩士學位論文.
[25] 張福學. 機器人技術(shù)及其應(yīng)用[M]. 北京: 電子工業(yè)出版社, 2000.
[26] 蔣新松. Robotics[M]. 沈陽: 遼寧科學技術(shù)出版社, 1994.
收藏