仿人型機(jī)器人控制系統(tǒng)設(shè)計(jì)的幾個(gè)問(wèn)題
1 引言
本文引用地址:http://2s4d.com/article/201710/367756.htm仿人型機(jī)器人由于具有類(lèi)人的基本外形,在實(shí)際的生活中,能夠代替人完成很多工作,因此對(duì)仿人型機(jī)器人的研究具有實(shí)用價(jià)值,各國(guó)都在投入巨大的人力物力進(jìn)行研發(fā)。仿人型機(jī)器人具有多自由度的機(jī)械結(jié)構(gòu)要求,因此需要對(duì)機(jī)器人的各個(gè)關(guān)節(jié)通過(guò)電機(jī)來(lái)完成轉(zhuǎn)動(dòng)動(dòng)作。這對(duì)于電機(jī)驅(qū)動(dòng)控制提出了很高的性能要求。本文提出了一種基于STM32單片機(jī)的仿人型機(jī)器人控制系統(tǒng)方案,可以同時(shí)對(duì)機(jī)器人關(guān)節(jié)所需的16路舵機(jī)進(jìn)行驅(qū)動(dòng)控制。
2 硬件解決方案
本控制系統(tǒng)的硬件部分共分為5個(gè)模塊,其硬件系統(tǒng)模塊圖如圖1所示。
圖1 硬件系統(tǒng)模塊框圖
主控制器采用STM32F103xB增強(qiáng)型系列單片機(jī),該系列單片機(jī)使用了高性能的ARM CortexTM-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器(128K字節(jié)的閃存和20K字節(jié)的SRAM),增強(qiáng)型I/O端口[2]。這些性能使得 STM32F103系列微控制器非常適合應(yīng)用于小型仿人型機(jī)器人的控制系統(tǒng)。由于仿人型機(jī)器人的體型限定,因此我們?cè)谠O(shè)計(jì)舵機(jī)控制板時(shí)采用了 STM32F103系列的小型貼片封裝型號(hào)STM32F103CBT6。以得到體積較小的舵機(jī)控制電路板,如圖2所示。
圖2 舵機(jī)控制板實(shí)物圖
圖3 舵機(jī)控制示意圖
為了實(shí)現(xiàn)對(duì)多自由度復(fù)雜結(jié)構(gòu)的仿人型機(jī)器人進(jìn)行動(dòng)作控制,需要較多控制路數(shù)的舵機(jī)控制板。由于舵機(jī)的角度控制是采用PWM波形輸出,當(dāng)單片機(jī)IO口的輸出脈沖寬度變化時(shí),舵機(jī)舵盤(pán)角度發(fā)生改變,如圖3所示[3],因此在舵機(jī)控制板電路設(shè)計(jì)中,充分利用了STM32單片機(jī)的IO口數(shù)量多且具有PWM輸出的技術(shù)優(yōu)勢(shì)[4]。共設(shè)計(jì)了16路舵機(jī)控制口,可以保證16個(gè)機(jī)器人關(guān)節(jié)同時(shí)動(dòng)作。舵機(jī)驅(qū)動(dòng)IO接口分布在PCB板的兩側(cè),便于插拔。
在舵機(jī)的控制中,有一個(gè)容易出現(xiàn)的問(wèn)題就是舵機(jī)抖舵問(wèn)題。這種問(wèn)題一般發(fā)生在采用普通電池做為機(jī)器人系統(tǒng)的主電源的情況下,如采用多節(jié)AA型鎳鎘或鎳氫電池串聯(lián)組成機(jī)器人供電主電源。原因是這些電池由于容量和放電能力的局限,無(wú)法在其額定電壓下提供長(zhǎng)時(shí)間穩(wěn)定持續(xù)的大電流。在仿人型機(jī)器人的多路舵機(jī)同時(shí)工作時(shí),采用普通電源輸出的電壓會(huì)迅速降低,從而導(dǎo)致舵機(jī)的供電不足,最終出現(xiàn)舵盤(pán)異常抖動(dòng),造成機(jī)器人在執(zhí)行動(dòng)作時(shí)的抖舵現(xiàn)象。
圖4 控制信號(hào)5V供電電源原理圖
圖5 6V舵機(jī)驅(qū)動(dòng)電源原理圖
因此我們?cè)O(shè)計(jì)的仿人型機(jī)器人控制電路中采用了型號(hào)為格氏25C放電倍率,容量為2200mAh,額定電壓為11.1V的鋰聚合物航模電池作為主電源。分為 5V控制信號(hào)電源和6V舵機(jī)驅(qū)動(dòng)電源,如圖4所示。為了保證多路舵機(jī)同時(shí)工作時(shí)所需要的大電流,利用鋰聚合物電池具有很強(qiáng)的持續(xù)放電能力,選用了型號(hào)為 120W 12A大功率降壓模塊[5],將機(jī)器人的供電電源穩(wěn)壓在+6V,放電電流峰值為12A,如圖5所示。利用光電耦合器隔離單片機(jī)IO口控制信號(hào)和舵機(jī)驅(qū)動(dòng)信號(hào),提高控制信號(hào)的抗干擾能力。舵機(jī)的IO口電路設(shè)計(jì)原理圖如圖6所示。這樣解決了多路舵機(jī)由于同時(shí)工作時(shí),電源電源被拉低引起的舵盤(pán)異常抖動(dòng)問(wèn)題。
圖6 舵機(jī)IO口電路原理圖
舵機(jī)控制板在初始上電時(shí),所有IO口會(huì)同時(shí)通入無(wú)序的PWM信號(hào),造成瞬間出現(xiàn)巨大的電流消耗。經(jīng)實(shí)驗(yàn)測(cè)得舵機(jī)控制板上電時(shí),單個(gè)IO口的峰值電流可以達(dá)到1.5A以上。因此在16個(gè)舵機(jī)同時(shí)初始上電通入PWM信號(hào)時(shí),其總電流將達(dá)到24A以上,這就大大超出了大容量直流降壓模塊的極限供電電流,導(dǎo)致電源電路進(jìn)入過(guò)流保護(hù),整個(gè)舵機(jī)控制電路將無(wú)法進(jìn)入正常的工作狀態(tài)。為了解決這個(gè)問(wèn)題,我們?cè)赟TM32單片機(jī)上電初始化時(shí),首先只讓IO口1和2輸出PWM 信號(hào),然后同時(shí)再讓IO口3和4輸出初始化PWM信號(hào),以此順序最后讓IO口15和16輸出PWM信號(hào)。這樣就保證IO口初始化時(shí),最多只有兩路PWM信號(hào)同時(shí)通入。在機(jī)器人正常動(dòng)作時(shí),同時(shí)動(dòng)作的舵機(jī)數(shù)量不超過(guò)6個(gè),即6個(gè)IO同時(shí)輸出的峰值電流為9A,低于大功率降壓模塊的最大輸出電流12A,因此整個(gè)電路在工作期間的極限電流均小于12A。最終達(dá)到了舵機(jī)控制板穩(wěn)定工作的硬件要求。
3 軟件部分的設(shè)計(jì)
仿人型機(jī)器人控制系統(tǒng)的軟件分為兩種模式:調(diào)試模式和正常模式。
調(diào)試模式:機(jī)器人上電默認(rèn)靜止,以響應(yīng)上位機(jī)信號(hào)為主。在該模式下,上位機(jī)通過(guò)RS232串口對(duì)機(jī)器人進(jìn)行在線控制,可以對(duì)單個(gè)舵機(jī)的角度進(jìn)行精確調(diào)整,編排好的流程動(dòng)作單次執(zhí)行,流程動(dòng)作的全部執(zhí)行等,并顯示當(dāng)前機(jī)器人對(duì)代碼解析值。調(diào)試模式的工作界面如圖7所示。
正常模式:機(jī)器人上電即開(kāi)始執(zhí)行調(diào)試完畢的全套程序動(dòng)作。
圖7 上位機(jī)調(diào)試模式工作界面
為了實(shí)行軟件控制,采用了多任務(wù)模塊的定時(shí)輪換機(jī)制[6]。共建立了3個(gè)模塊任務(wù):任務(wù)0用來(lái)解析送入該任務(wù)的軟件代碼值到PWM輸出的轉(zhuǎn)換。任務(wù)1用來(lái)調(diào)用每套動(dòng)作編碼,連續(xù)的將得到的軟件值發(fā)送給任務(wù)0。任務(wù)2為串口處理任務(wù),通過(guò)分析串口發(fā)來(lái)的數(shù)據(jù)進(jìn)行模式的轉(zhuǎn)換和響應(yīng)。其程序流程圖如圖8所示。
圖8 程序流程圖
4 系統(tǒng)調(diào)試效果
設(shè)計(jì)該仿人型機(jī)器人的走步步態(tài)時(shí),主要考慮了機(jī)器人的自重為2.53Kg,身高為42cm,因此機(jī)器人的腳和手臂的舵機(jī)輸出幅度不能太大,否則會(huì)導(dǎo)致機(jī)器人走步時(shí)的重心偏移太大,造成機(jī)器人翻倒。因此在設(shè)計(jì)機(jī)器人的腳掌時(shí),適當(dāng)增大了與地面的接觸面積,腳掌的尺寸為8.5&TImes;15cm,同時(shí)加快了腳步移動(dòng)的頻率,并在腳部增加了額外的配重,以增強(qiáng)機(jī)器人在走步過(guò)程中的穩(wěn)定性,其走步的步態(tài)如圖9所示。該型機(jī)器人的走步步態(tài)協(xié)調(diào)一致,在2012年中國(guó)機(jī)器人大賽仿人競(jìng)速比賽項(xiàng)目中獲得二等獎(jiǎng)。
圖9 12自由度的仿人型機(jī)器人
走步動(dòng)作正面
5 結(jié)束語(yǔ)
文中基于STM32微控制器的仿人型機(jī)器人控制系統(tǒng),能夠靈活地控制16路大扭力舵機(jī),通過(guò)大功率降壓電源模塊,可以得到16路舵機(jī)同時(shí)動(dòng)作時(shí)所需要的直流電壓,實(shí)現(xiàn)了仿人型機(jī)器人的走步動(dòng)作,可作為高校學(xué)生進(jìn)行機(jī)器人技術(shù)創(chuàng)新時(shí)的參考。
評(píng)論