一種自平衡人形機(jī)器人動(dòng)作控制器的設(shè)計(jì)和實(shí)現(xiàn)
出處:譚靈焱 吳 軍 文先益 發(fā)布于:2011-08-25 11:05:28
移動(dòng)式機(jī)器人在各行各業(yè)具有廣泛的應(yīng)用,而輪式移動(dòng)機(jī)器人由于具有結(jié)構(gòu)簡單、可控性強(qiáng)、成本低等優(yōu)點(diǎn),成為移動(dòng)式機(jī)器人研究的一個(gè)主要方向。自平衡機(jī)器人采用水平布置的兩輪結(jié)構(gòu),本身是一個(gè)不穩(wěn)定體。也就是說,自平衡機(jī)器人在靜止?fàn)顟B(tài)下,不能保持平衡,車體總是要向前或向后傾倒;而在運(yùn)動(dòng)狀態(tài)下,可以通過一定的控制策略使它達(dá)到動(dòng)態(tài)平衡。
由于自平衡機(jī)器人具有內(nèi)在不穩(wěn)定性和結(jié)構(gòu)靈活性,國內(nèi)外機(jī)器人愛好者設(shè)計(jì)了多種結(jié)構(gòu)、外觀各異的自平衡機(jī)器人,嘗試采用各種控制策略使其達(dá)到自平衡控制。通常這類機(jī)器人采用姿態(tài)傳感器檢測機(jī)器人車體的傾倒角度和傾倒角速度,根據(jù)當(dāng)前機(jī)器人姿態(tài)控制伺服電機(jī)驅(qū)動(dòng)電壓的轉(zhuǎn)向和轉(zhuǎn)速,從而使機(jī)器人保持平衡。該方式制作的自平衡機(jī)器人雖然控制性能良好,但成本高,不適合廣泛推廣。為解決機(jī)器人動(dòng)作控制而設(shè)計(jì)的,它將主處理器發(fā)出任務(wù)處理命令分配到3個(gè)16位超低功耗單片機(jī)(MSP430F149)上去執(zhí)行,實(shí)現(xiàn)多層次的控制管理。該人形機(jī)器人具有多關(guān)節(jié),多自由度,自平衡的控制需求,需要?jiǎng)幼骺刂破髟跈C(jī)器人系統(tǒng)控制中起到關(guān)鍵性的作用。
1 動(dòng)作控制器的設(shè)計(jì)
1.1 體系結(jié)構(gòu)
自平衡人形機(jī)器人需要獲取不可預(yù)知的環(huán)境信息以及自身姿態(tài)信息進(jìn)行綜合運(yùn)算并及時(shí)進(jìn)行自身姿態(tài)的調(diào)整。機(jī)器人的這種行為特點(diǎn)決定了機(jī)器人的整體控制結(jié)構(gòu)要采用反饋控制。如圖1所示,描述了這種反饋控制結(jié)構(gòu)的硬件實(shí)現(xiàn)。
同時(shí),在圖1中可見從機(jī)器人主控制器到執(zhí)行元件(舵機(jī))之間,有一層動(dòng)作控制器的結(jié)構(gòu)。這一層結(jié)構(gòu)的任務(wù)是實(shí)現(xiàn)控制命令到舵機(jī)控制信號之間的功能轉(zhuǎn)換,這種體系結(jié)構(gòu)的設(shè)計(jì),就是借鑒計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的分層結(jié)構(gòu)體系思想。采用這種分層的結(jié)構(gòu),實(shí)現(xiàn)了軟件和硬件、命令和動(dòng)作的相對隔離。其突出的優(yōu)點(diǎn)體現(xiàn)在能夠使主控制器專注于數(shù)據(jù)的處理,而對下行設(shè)備只負(fù)責(zé)發(fā)送指令,對于硬件的復(fù)雜的操作時(shí)序,由動(dòng)作控制器負(fù)責(zé)產(chǎn)生。

1.2 實(shí)現(xiàn)過程
1.2.1 硬件實(shí)現(xiàn)
為滿足機(jī)器人整體控制體系結(jié)構(gòu)中指令到執(zhí)行的層次性要求,動(dòng)作控制器需要完成命令解析,信號驅(qū)動(dòng)等任務(wù)。如圖2描述了動(dòng)作控制器內(nèi)部的結(jié)構(gòu),其主要由串行總線、3個(gè)可并行工作的16位單片機(jī)、信號驅(qū)動(dòng)部分構(gòu)成。這種結(jié)構(gòu)能夠從總線接收命令,單片機(jī)進(jìn)行指令解析并輸出控制電信號,外部電路對控制信號驅(qū)動(dòng)放大,從而分別實(shí)現(xiàn)對執(zhí)行舵機(jī)的控制。圖3為動(dòng)作控制器中一個(gè)單片機(jī)工作模塊的硬件原理圖。


MSP430是德州公司新開發(fā)的一類具有16位總線的帶FLASH 的單片機(jī),由于其性價(jià)比和集成度高,受到廣大技術(shù)開發(fā)人員的青睞。它采用16位的總線,外設(shè)和內(nèi)存統(tǒng)一編址,尋址范圍可達(dá)64K,還可以外擴(kuò)展存儲器。具有統(tǒng)一的中斷管理,具有豐富的片上外圍模塊,片內(nèi)有精密硬件乘法器、兩個(gè)16位定時(shí)器、一個(gè)14路的12位的模數(shù)轉(zhuǎn)換器、一個(gè)看門狗、6路P口、兩路USART通信端口、一個(gè)比較器、一個(gè)DCO內(nèi)部振蕩器和兩個(gè)外部時(shí)鐘,支持8M 的時(shí)鐘。由于為FLASH型,則可以在線對單片機(jī)進(jìn)行調(diào)試和,且JTAG口直接和FET(FLASH EMULATION TOOL)的相連,不須另外的仿真工具,方便實(shí)用,而且,可以在超低功耗模式下工作,對環(huán)境和人體的輻射小,測量結(jié)果為100mw左右的功耗(電流為14mA左右),可靠性能好,加強(qiáng)電干擾運(yùn)行不受影響,適應(yīng)工業(yè)級的運(yùn)行環(huán)境,適合與做手柄之類的自動(dòng)控制的設(shè)備。我們相信MSP430單片機(jī)將會在工程技術(shù)應(yīng)用中得以廣泛應(yīng)用,而且,它是通向DSP系列的橋梁,隨著自動(dòng)控制的高速化和低功耗化。
采用比較輸出PWM波形的方法相比較采用中斷方式的控制方法,具有簡單,輸出PWM波形穩(wěn)定,整個(gè)控制系統(tǒng)的魯棒性高等特點(diǎn)。該課題也曾采用過中斷控制方式,但用示波器觀察輸出的PWM波形,波形極不穩(wěn)定。而且中斷嵌套過多之后,單片機(jī)程序很容易跑飛,完全不能滿足控制系統(tǒng)的穩(wěn)定性要求。而采用文中所述動(dòng)作控制器的設(shè)計(jì)方法后,比較輸出的PWM波波形穩(wěn)定,而且單片機(jī)也沒出現(xiàn)死機(jī)或跑飛的現(xiàn)象。
MSP430F149輸出為3.3 V TTL電平,而舵機(jī)控制信號要5 V TTL電平,在實(shí)際電路設(shè)計(jì)中要進(jìn)行電平轉(zhuǎn)換??紤]到舵機(jī)的控制信號對功率沒有要求,必要加專用驅(qū)動(dòng)芯片,而采用CMOS工藝的CD4081四2輸入與門進(jìn)行電平轉(zhuǎn)換,利用其門電路輸入電壓門限寬的特點(diǎn)即可解決電平轉(zhuǎn)換的問題。
舵機(jī)動(dòng)態(tài)工作時(shí),需要脈沖式的電流,通過普通的電源供電,實(shí)驗(yàn)表明:由于舵機(jī)瞬時(shí)供電不足,致使舵機(jī)力矩不夠,運(yùn)動(dòng)不能達(dá)到預(yù)先的姿態(tài)效果,在反復(fù)探索后,決定采用電容的快速放電特性來提供瞬時(shí)大電流,由于舵機(jī)數(shù)量大,設(shè)計(jì)時(shí)在舵機(jī)電源處并接大容量電容,總?cè)萘?.22F×6.正常小電流工作時(shí),電容被充電處于飽和,當(dāng)需要瞬時(shí)大電流時(shí),電容能快速放電,從而保證舵機(jī)正常穩(wěn)定的工作。
3個(gè)MSP430F149分別控制部分關(guān)節(jié)上的舵機(jī),這要求3個(gè)MSP430F149充分協(xié)調(diào)一致的工作。因此采用總線通信方式,將3個(gè)MSP430F149掛接到串行通信總線上,并留出總線接口,以接收主控制器的命令。
1.2.2 軟件實(shí)現(xiàn)
脈沖寬度調(diào)制(PWM),是英文"Pulse Width Modulation"的縮寫,簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。脈沖寬度調(diào)制是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時(shí)間的改變,這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù)。
動(dòng)作控制器的軟件設(shè)計(jì),是以硬件為基礎(chǔ),接收主控制器的命令,對命令進(jìn)行解析,并控制產(chǎn)生具體的PWM波形對舵機(jī)進(jìn)行動(dòng)作控制。圖4描述了動(dòng)作控制器中軟件的實(shí)現(xiàn)流程。

機(jī)器人的動(dòng)作方式,方向,幅度等全部是由主控制器通過對外部信息的獲取而產(chǎn)生的輸出,這種輸出是基于命令格式的,而機(jī)器人終的一切行為都是一系列舵機(jī)的配合運(yùn)轉(zhuǎn),從命令到執(zhí)行,這其中就是動(dòng)作控制器起到了關(guān)鍵作用。
基于上述要求,動(dòng)作控制器的首要任務(wù)就是接收命令。雖然在硬件上采用了多機(jī)通信的模式,但并不采用傳統(tǒng)的通信協(xié)議(每個(gè)從機(jī)都具有一個(gè)獨(dú)立的地址),而是對動(dòng)作控制器上的3個(gè)MSP430F149定義完全相同的地址,這樣就會使其接收到完全相同的命令。這樣進(jìn)行設(shè)計(jì),原因在于要保證舵機(jī)響應(yīng)的同時(shí)性,即是機(jī)器人動(dòng)作的協(xié)調(diào)性提出的要求。如表1示例了主控制器與動(dòng)作控制器的命令傳輸格式。來自主控制器的命令是一個(gè)數(shù)組序列,動(dòng)作控制器上的每個(gè)MSP430F149都能完全接收到全部序列,而每個(gè)MSP430F149根據(jù)預(yù)先定義只使用這個(gè)序列中特定的子序列,這個(gè)子序列就是對應(yīng)于這個(gè)MSP430F149所控制的舵機(jī)的命令,這樣就可以保證同時(shí)性。

動(dòng)作控制器的終目的是產(chǎn)生PWM波,而這是通過寫MSP430F149片內(nèi)TA、TB模塊的寄存器實(shí)現(xiàn)的。在解析函數(shù)進(jìn)行一系列的解析運(yùn)算后,產(chǎn)生出各舵機(jī)所需的PWM波形的脈沖寬度值,將這些值寫入到相應(yīng)的寄存器中,就可以產(chǎn)生需要的PWM波。
2 實(shí)驗(yàn)及結(jié)論
根據(jù)文中提出的動(dòng)作控制器的設(shè)計(jì)思想與方法,制作出機(jī)器人動(dòng)作控制器。按照設(shè)計(jì)的基本思想對動(dòng)作控制器進(jìn)行測試,測試中采用一個(gè)MSP430F425作為機(jī)器人主控制器,下行控制一個(gè)十二個(gè)關(guān)節(jié)的簡易人形機(jī)器人。在MSP430F425中規(guī)劃好機(jī)器人的步態(tài),同時(shí)根據(jù)規(guī)劃好的步態(tài)參數(shù)發(fā)送舵機(jī)動(dòng)作命令。
實(shí)驗(yàn)中,首先實(shí)測舵機(jī)的,通過向特定定時(shí)器通道預(yù)裝不同值,測量舵機(jī)響應(yīng)角度,并以此數(shù)據(jù)擬合出舵機(jī)響應(yīng)角度方程。實(shí)驗(yàn)中由于采用的MSP430F425資源有限,方程僅進(jìn)行了線性擬合。
表2為測試機(jī)器人上一處關(guān)節(jié)的舵機(jī)測定數(shù)據(jù),根據(jù)此數(shù)據(jù)擬合出以下方程:

舵機(jī)實(shí)際角度α=(X-3 000)/20+75.5運(yùn)用擬合出的方程進(jìn)行命令到舵機(jī)角度的解析,得到表3所示數(shù)據(jù)

從表中數(shù)據(jù)可以看出,在舵機(jī)的性能范圍內(nèi)(舵機(jī)的為0.5°~1°),控制是的。
同時(shí),在舵機(jī)響應(yīng)的及時(shí)性方面,也得到了保證。從主控制器發(fā)送命令到舵機(jī)響應(yīng)開始運(yùn)動(dòng)共經(jīng)歷了命令傳輸、命令解析兩大時(shí)間段。
命令傳輸在特定的速率下傳輸完所有命令數(shù)據(jù)用時(shí)4.5 ms,而命令解析即單片機(jī)內(nèi)程序執(zhí)行,其用時(shí)遠(yuǎn)小于1 ms.相比較,舵機(jī)的機(jī)械響應(yīng)時(shí)間在百ms級,因此動(dòng)作控制器保證了響應(yīng)的及時(shí)性。
實(shí)驗(yàn)證明,在設(shè)計(jì)思想指導(dǎo)下的硬件和軟件實(shí)現(xiàn),充分符合既定的目標(biāo),體現(xiàn)在機(jī)器人的多關(guān)節(jié)能夠協(xié)調(diào)動(dòng)作,預(yù)先規(guī)劃的步態(tài)能夠很好的表現(xiàn)出來。
在機(jī)器人的實(shí)際控制系統(tǒng)中,動(dòng)作控制器作為主控制器(ARM 9)的下級從屬設(shè)備,完成其特定的管理范圍內(nèi)工作。在這種分層控制的體系結(jié)構(gòu)下,自平衡的檢測與控制達(dá)到了理想的效果。
3 結(jié)束語
由于自平衡人形機(jī)器人具有內(nèi)在不穩(wěn)定性和結(jié)構(gòu)的復(fù)雜性,國內(nèi)外機(jī)器人愛好者對其控制策略進(jìn)行了多方面的探索,但通常都是采用反饋控制環(huán)路或者是分層體系結(jié)構(gòu)的方法。采用這些傳統(tǒng)的方式大體都是中央處理器(ARM、DSP等)接收收集到的信息,進(jìn)行處理,再根據(jù)獲取的信息運(yùn)用一定的算法控制執(zhí)行元件(舵機(jī)、直流電機(jī)等)。這類體系結(jié)構(gòu)一般以惟一的處理器為,與外界直接進(jìn)行信息交換,但其處理器的工作量大,在大量的處理中實(shí)時(shí)性難以保證。
而本設(shè)計(jì)對應(yīng)的雙足自平衡人形機(jī)器人采用了這兩種經(jīng)典結(jié)構(gòu)的復(fù)合,其中執(zhí)行控制器、主控制器和執(zhí)行電機(jī)之間體現(xiàn)出了明顯的層次結(jié)構(gòu),這種設(shè)計(jì)減輕了各層次的任務(wù)難度,明顯提高了設(shè)備調(diào)試或故障排查效率,充分體現(xiàn)出這種體系結(jié)構(gòu)的優(yōu)越性。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 數(shù)字電源控制與傳統(tǒng)模擬控制的深度對比2026/2/2 11:06:56
- 模擬信號調(diào)理電路技術(shù)設(shè)計(jì)與選型運(yùn)維指南2025/12/30 10:08:16
- 運(yùn)算放大器壓擺率的核心要點(diǎn)2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數(shù) K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運(yùn)算放大器失調(diào)電流2025/9/1 17:01:22
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









