周書(shū)興 王星海
摘 要:雙足行走機(jī)器人具有12個(gè)自由度,包括10個(gè)扭矩1.5 N·m的總線(xiàn)舵機(jī)和2個(gè)扭矩0.15 N·m的普通PWN(脈沖寬度調(diào)制)小舵機(jī),10個(gè)總線(xiàn)舵機(jī)構(gòu)成機(jī)器人的腿部,2個(gè)小舵機(jī)構(gòu)成腰部和頭部??偩€(xiàn)舵機(jī)之間用硬鋁金屬U形件和多功能連接件,用防松螺絲套件連接。腳底由透明亞克力板構(gòu)成,底部粘接帶顆粒軟橡膠皮,提高機(jī)器人與地面之間的摩擦來(lái)防滑。本設(shè)計(jì)采用STM32f103RCT6單片機(jī)作為雙足行走機(jī)器人的控制核心,通過(guò)嵌入式程序開(kāi)發(fā),使用線(xiàn)性CCD(電荷耦合器件)讓機(jī)器人自主尋線(xiàn),并采用STC8A8K單片機(jī)對(duì)線(xiàn)性CCD進(jìn)行控制,在OLED顯示屏上顯示CCD采集的電壓值,從而實(shí)現(xiàn)對(duì)機(jī)器人行走路徑的精準(zhǔn)控制。
關(guān)鍵詞:STM32F103RCT6;線(xiàn)性CCD;STC8A8K;仿人機(jī)器人
中圖分類(lèi)號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-5168(2021)09-0069-03
Abstract: The biped robot has 12 degrees of freedom, including 10 bus servos with a torque of 1.5 N·m and 2 ordinary pwm (Pulse Width Modulation) small servos with a torque of 0.15 N·m, and 10 bus servos form the legs of the robot, and 2 small servos form the waist and head. Duralumin metal U-shaped pieces and multi-function connectors are used between the bus servos, and they are connected with anti-loosening screw kits. The sole of the foot is composed of a transparent acrylic plate, and the bottom is glued with a granular soft rubber skin to improve the friction between the robot and the ground to prevent slippage. This design uses the stm32f103rct6 microcontroller as the control core of the biped walking robot, through embedded program development, linear CCD (Charge Coupled Device) is used to allow the robot to find the line autonomously, and the STC8a8k microcontroller is used to control the linear CCD, and the voltage value collected by the CCD is displayed on the OLED display screen, thereby realizing the accuracy of the robot's walking path control.
Keywords: stm32f103rct6;linear CCD;stc8a8k;humanoid robot
當(dāng)前,雙足行走步態(tài)規(guī)劃、步法交換穩(wěn)定控制和行走軌跡識(shí)別等是雙足自主尋跡行走機(jī)器人研究的焦點(diǎn),而仿人機(jī)器人控制系統(tǒng)設(shè)計(jì)的合理性將直接決定機(jī)器人本體最終的行走表現(xiàn)。同時(shí),仿人行走機(jī)器人的運(yùn)動(dòng)機(jī)械結(jié)構(gòu)設(shè)計(jì)合理,會(huì)降低運(yùn)動(dòng)控制的難度。仿人行走機(jī)器人的行走運(yùn)動(dòng)要求實(shí)現(xiàn)多關(guān)節(jié)的協(xié)同控制,確保重心穩(wěn)定,這對(duì)仿人雙足行走機(jī)器人的硬件尺寸和關(guān)節(jié)質(zhì)量都有一定的限制性要求。
1 系統(tǒng)整體設(shè)計(jì)
雙足自主尋跡行走機(jī)器人主要由機(jī)械結(jié)構(gòu)和控制系統(tǒng)兩部分組成。機(jī)械結(jié)構(gòu)是機(jī)器人的整體骨架,本研究設(shè)計(jì)并制作了指定自主行走、尋跡、前進(jìn)、后退、轉(zhuǎn)彎等動(dòng)作的雙足自主尋跡行走機(jī)器人,根據(jù)預(yù)先設(shè)計(jì)的動(dòng)作功能,繪制三維結(jié)構(gòu)模型,然后進(jìn)行結(jié)構(gòu)分析、力學(xué)計(jì)算、運(yùn)動(dòng)仿真和加工裝配工藝優(yōu)化,確保在程序控制下實(shí)現(xiàn)其功能[1]??刂葡到y(tǒng)可以應(yīng)用于機(jī)器人的行走步態(tài)規(guī)劃、行走速度控制和路徑識(shí)別轉(zhuǎn)向等,控制系統(tǒng)的先進(jìn)性程度與其功能的實(shí)現(xiàn)程度密切相關(guān)??刂葡到y(tǒng)是機(jī)器人的核心部分,人們要確保其工作性能穩(wěn)定,保證控制精度可靠。
本研究設(shè)計(jì)的控制系統(tǒng)采用線(xiàn)性CCD采集的數(shù)據(jù)判斷轉(zhuǎn)彎,對(duì)采集的數(shù)據(jù)進(jìn)行二值化處理,然后反饋給STC8A8K單片機(jī),STC8A8K單片機(jī)將二值化處理后的數(shù)據(jù)轉(zhuǎn)換成電壓信號(hào),再通過(guò)ADC(模擬數(shù)字轉(zhuǎn)換器)規(guī)則通道傳輸給STM32F103RCT6單片機(jī)進(jìn)行舵機(jī)的轉(zhuǎn)彎控制??刂葡到y(tǒng)原理如圖1所示。
2 機(jī)械結(jié)構(gòu)設(shè)計(jì)
雙足行走機(jī)器人的機(jī)械結(jié)構(gòu)設(shè)計(jì)首先要考慮機(jī)器人的關(guān)節(jié)自由度數(shù)量,完成預(yù)先設(shè)想的動(dòng)作功能[2],再考慮各個(gè)部件與舵機(jī)、接口、電池和控制板的連接尺寸設(shè)計(jì)。雙足行走機(jī)器人可以實(shí)現(xiàn)類(lèi)人的行走動(dòng)作,并要求行走穩(wěn)定和運(yùn)動(dòng)靈活,因此,行走機(jī)器人關(guān)節(jié)自由度數(shù)量的選擇、各部分結(jié)構(gòu)的自由度分配等影響雙足行走機(jī)器人的功能實(shí)現(xiàn)。自由度越多,機(jī)械結(jié)構(gòu)及控制系統(tǒng)越復(fù)雜,可實(shí)現(xiàn)的功能就越多。
通過(guò)分析機(jī)器人的行走過(guò)程可以看出,機(jī)器人向前邁步時(shí),踝關(guān)節(jié)處必須配置偏轉(zhuǎn)自由度和彎曲自由度各1個(gè),支撐小腿;髖關(guān)節(jié)必須配置俯仰自由度和彎曲自由度各1個(gè),支撐上軀體,實(shí)現(xiàn)移動(dòng)雙腿和轉(zhuǎn)移身體重心等動(dòng)作;膝關(guān)節(jié)處配置1個(gè)俯仰自由度,調(diào)整擺動(dòng)小腿的著地高度;單腿設(shè)計(jì)5個(gè)自由度,步行運(yùn)動(dòng)中要求結(jié)構(gòu)對(duì)稱(chēng),雙腿有10個(gè)自由度,前進(jìn)與后退時(shí),保證步行中落足平穩(wěn)。
選材方面,雙足行走機(jī)器人選用鋁合金U形件,作為舵機(jī)固定和連接件。腳底采用透明亞克力板構(gòu)成,并在底部粘接帶顆粒軟橡膠皮,提高機(jī)器人與地面之間的摩擦來(lái)防滑。多處金屬零件進(jìn)行自主設(shè)計(jì)、切割、加工和打磨,完善機(jī)器人整體結(jié)構(gòu),并且使用彈簧墊圈進(jìn)行防松,使機(jī)器人更加牢固穩(wěn)定。雙足行走機(jī)器人的下肢結(jié)構(gòu)如圖2所示。
3 系統(tǒng)開(kāi)發(fā)與控制程序
3.1 線(xiàn)性CCD
線(xiàn)性CCD的控制原理是在光能的作用下,感光陣列光電二極管產(chǎn)生光有源積分電流,積分電容再將存儲(chǔ)的積分電流轉(zhuǎn)化為電荷。電荷越多,光線(xiàn)越強(qiáng),像素點(diǎn)灰度越低,顯示白電平。線(xiàn)性CCD工作過(guò)程示意如圖3所示。
3.2 舵機(jī)
本設(shè)計(jì)選用總線(xiàn)舵機(jī),可以減少對(duì)單片機(jī)IO口的使用,防止單片機(jī)上線(xiàn)多且凌亂的情況[3]。機(jī)器人的整體結(jié)構(gòu)采用質(zhì)量比較輕硬的鋁金屬,經(jīng)過(guò)力學(xué)計(jì)算,結(jié)合可選用舵機(jī)的扭矩參數(shù),本設(shè)計(jì)選擇15 kg的ZX361D舵機(jī)。
3.3 控制器
STM32F103RCT6單片機(jī)作為機(jī)器人整體運(yùn)動(dòng)的控制中樞,其程序已實(shí)現(xiàn)模塊化,使用PWM模擬輸出、USART(通用同步異步收發(fā)器)串口通信、ADC信號(hào)采集等,硬件相對(duì)簡(jiǎn)單,運(yùn)行速度快,功耗低。
3.4 電源
本設(shè)計(jì)采用4節(jié)可拆卸3.7 V、2 000 mA的18650鋰電池,其中3節(jié)作為總線(xiàn)舵機(jī)的動(dòng)力來(lái)源,1節(jié)用于線(xiàn)性CCD等控制芯片供電,并且采用多個(gè)穩(wěn)壓模塊進(jìn)行穩(wěn)壓,分別將總線(xiàn)舵機(jī)電壓穩(wěn)定在7.5 V左右、線(xiàn)性CCD等控制芯片電壓穩(wěn)定在5.0 V左右,為了避免信號(hào)干擾,小舵機(jī)也單獨(dú)使用5.0 V穩(wěn)壓。
3.5 控制程序
本研究通過(guò)線(xiàn)性CCD采集黑線(xiàn)的黑白電壓值,并進(jìn)行二值化處理,再對(duì)黑線(xiàn)的位置做電壓差值處理,并發(fā)送給主控芯片,之后由主控芯片識(shí)別電壓值的大小,使得機(jī)器人執(zhí)行直走、左轉(zhuǎn)或右轉(zhuǎn)等命令[4-6],其間對(duì)總線(xiàn)舵機(jī)通信板發(fā)出串口通信命令,對(duì)PWM小舵機(jī)發(fā)出對(duì)應(yīng)占空比的控制命令,以達(dá)到總線(xiàn)舵機(jī)直走、左轉(zhuǎn)或右轉(zhuǎn)的目的,而且PWM小舵機(jī)跟隨其擺動(dòng)。
3.6 程序調(diào)試
本設(shè)計(jì)通過(guò)計(jì)算機(jī)上位機(jī)連接總線(xiàn)舵機(jī)通信板對(duì)總線(xiàn)舵機(jī)(機(jī)器人腿部)進(jìn)行角度、速度及步驟調(diào)試,再通過(guò)KEIL5調(diào)試把由上位機(jī)調(diào)出來(lái)的各組數(shù)據(jù)寫(xiě)入STM32F103RCT6芯片,最后由芯片控制機(jī)器人腿部(總線(xiàn)舵機(jī))行走。其中,調(diào)試過(guò)程涉及抬腿、轉(zhuǎn)移重心、轉(zhuǎn)向等步驟。舵機(jī)步態(tài)控制圖如圖4所示。
在調(diào)試過(guò)程中,若出現(xiàn)機(jī)器人走路晃動(dòng)、穩(wěn)定性不好等問(wèn)題,則要注意以下兩個(gè)原因:一是機(jī)器人高度過(guò)大,導(dǎo)致重心比較高,平衡性不好,造成行走不穩(wěn)定;二是步態(tài)設(shè)計(jì)不合理,在動(dòng)作上,5個(gè)舵機(jī)要同時(shí)配合,每個(gè)舵機(jī)的角度和速度要做到協(xié)調(diào)。
4 結(jié)論
本次設(shè)計(jì)的雙足行走機(jī)器人采用控制舵機(jī)轉(zhuǎn)動(dòng)角度的方式來(lái)控制行走,同時(shí)采用線(xiàn)性CCD采集數(shù)據(jù)進(jìn)行處理,控制機(jī)器人尋線(xiàn)、轉(zhuǎn)彎。線(xiàn)性CCD采集的數(shù)據(jù)比紅外傳感器采集的多,而且能實(shí)時(shí)對(duì)黑線(xiàn)的位置進(jìn)行精準(zhǔn)檢測(cè)。為了防止丟線(xiàn)跑歪,本研究自行設(shè)計(jì)了一套防止丟線(xiàn)的算法,使機(jī)器人尋線(xiàn)更加穩(wěn)定。筆者在調(diào)試時(shí)發(fā)現(xiàn)了轉(zhuǎn)移重心的小訣竅,通過(guò)對(duì)人體運(yùn)動(dòng)學(xué)的深入研究,每踏出下一步,即將到達(dá)地面的瞬間,改變腿和腳踝的角度,完成重心腳轉(zhuǎn)移,其間巧妙利用踏步的沖擊力轉(zhuǎn)移重心,既減緩了沖擊力,又能快速地轉(zhuǎn)移重心進(jìn)行下一步,使機(jī)器人的行走穩(wěn)定、快速。在組裝或調(diào)試的過(guò)程中,在組裝舵機(jī)時(shí),人們一定要注意舵機(jī)的對(duì)稱(chēng)度誤差,不然容易造成機(jī)器人腿長(zhǎng)腳短;前期設(shè)計(jì)仿人機(jī)器人機(jī)械結(jié)構(gòu)時(shí),要注意仿人形對(duì)稱(chēng)結(jié)構(gòu),合理控制各關(guān)節(jié)結(jié)構(gòu)的剛度和力矩。仿人機(jī)器人的關(guān)節(jié)都采用舵機(jī)控制,導(dǎo)致轉(zhuǎn)換重心時(shí)身體會(huì)大幅度晃動(dòng),設(shè)計(jì)時(shí)可以考慮加上陀螺儀來(lái)控制身體的重心,使機(jī)器人的行走過(guò)程更加平穩(wěn)。
參考文獻(xiàn):
[1]宮赤坤,菅坤杰,溫新,等.雙足機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代制造工程,2014(12):41-45.
[2]劉述亮.雙足直立行走機(jī)器人步態(tài)規(guī)劃及其控制研究[D].成都:電子科技大學(xué),2017:16.
[3]楊萍,樊迪.小型雙足機(jī)器人步態(tài)規(guī)劃研究[J].機(jī)械制造,2015(613):39-42.
[4]浙江大學(xué)工業(yè)控制技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室機(jī)器人團(tuán)隊(duì).爬行與行走機(jī)器人及移動(dòng)機(jī)器支撐技術(shù)[J].國(guó)際學(xué)術(shù)動(dòng)態(tài),2016(4):18-19.
[5]彼得·哈林頓.機(jī)器學(xué)習(xí)實(shí)戰(zhàn)[M].北京:人民郵電出版社,2017:61-62.
[6]李艷生,孫漢旭.小型球形水底觀(guān)測(cè)機(jī)器人設(shè)計(jì)分析與實(shí)現(xiàn)[J].機(jī)械工程學(xué)報(bào),2020(13):103-109.