李金林 彭軍發(fā) 翁劍鵬 何金松 鄭譽(yù)煌
摘 要:文章從仿生學(xué)出發(fā),設(shè)計(jì)出了一款基于STM32的四足機(jī)器狗,模擬了犬類的行走姿態(tài)??刂破髦饕許TM32為核心,它接收到來(lái)自上位機(jī)軟件所發(fā)出的舵機(jī)指令,再利用芯片產(chǎn)生的9路標(biāo)準(zhǔn)脈寬型控制協(xié)議控制機(jī)器狗的每個(gè)關(guān)節(jié)運(yùn)動(dòng),從而實(shí)現(xiàn)相應(yīng)的運(yùn)動(dòng)步態(tài)。
關(guān)鍵詞:STM32;機(jī)器狗;舵機(jī)
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)28-0034-02
Abstract: Based on bionics, this paper designs a quadruped robot dog based on STM32, and simulates the walking posture of dogs. The controller mainly takes STM32 as the core, which receives the steering gear instruction from the upper computer software, then uses the 9 channels standard pulse width control protocol produced by the chip to control each joint movement of the robot dog, thus realizing the corresponding walking posture.
Keywords: STM32; robot dog; steering gear
1 概述
目前,在研究領(lǐng)域中,移動(dòng)機(jī)器人平臺(tái)的開(kāi)發(fā)處于一個(gè)較活躍而且重要的地位。從移動(dòng)方式的不同,大致可把移動(dòng)機(jī)器人分為兩種。一種是滾輪式機(jī)器人,另一種是足式機(jī)器人。特別是四足機(jī)器人具有行走效率高的特點(diǎn)。本文以模擬犬類的四足機(jī)器人為研究對(duì)象,研究了四足仿生機(jī)器狗行走步姿控制問(wèn)題[1]。本機(jī)器人以STM32為核心控制芯片[2],以舵機(jī)為動(dòng)力源,能為四足機(jī)器人平穩(wěn)運(yùn)動(dòng)提供可靠的保障。
2 四足仿生狗運(yùn)動(dòng)結(jié)構(gòu)
文中的四足仿生機(jī)器狗采用了如圖1所示的結(jié)構(gòu)。整體由4條腿,外加1個(gè)頭部構(gòu)成。每條腿有2個(gè)關(guān)節(jié),分別由2個(gè)伺服電機(jī)配合法蘭盤等結(jié)構(gòu)件鏈接組成;加上頭部,全體即共有伺服舵機(jī)9個(gè)。機(jī)器人的左右腿呈對(duì)稱結(jié)構(gòu),前腿分布較后腿寬些,增大腳掌爬行時(shí)與運(yùn)動(dòng)平面的接觸面積,從而增大抓地力,也提高了機(jī)器狗整體的平衡性。由各條腿的2號(hào)舵機(jī)協(xié)同工作進(jìn)行機(jī)器人在整體上面的移動(dòng),由1號(hào)舵機(jī)來(lái)調(diào)節(jié)各動(dòng)作時(shí)的姿勢(shì),使其穩(wěn)定運(yùn)作。由控制器協(xié)調(diào)各個(gè)舵機(jī)按特定方向轉(zhuǎn)動(dòng)特定的角度,停定在預(yù)設(shè)的位置;或者通過(guò)事先設(shè)置好相應(yīng)的姿勢(shì),利用各姿勢(shì)的時(shí)間差區(qū)別開(kāi)來(lái),巧妙地將每個(gè)姿勢(shì)兩兩相連形成一連串的仿生動(dòng)作。該四足機(jī)械狗結(jié)構(gòu)能夠滿足自然界中大部分四足生物的各種爬行動(dòng)作和姿態(tài)[3]。
3 四足仿生機(jī)器狗的控制電路
主控電路、通信電路和電源電路構(gòu)成控制系統(tǒng)的三大組成部分。
主控電路的核心是STM32F103VET6,它通過(guò)響應(yīng)PC端和遙控端的信號(hào),控制機(jī)器人上9個(gè)舵機(jī)的工作。
PC端通過(guò)USB線連接到主控制器中的USBRT接口,然后進(jìn)行上位機(jī)操作產(chǎn)生代碼數(shù)據(jù),數(shù)據(jù)傳輸至與USBRT相連接的RS232總線驅(qū)動(dòng)和接收器MAX3232上,并由其將STM32異步通信口的TTL電平轉(zhuǎn)換為RS232電平,從而達(dá)到兩者通訊的目的。
遙控端是采用2.4GHz頻段的無(wú)線通信方式與控制板之間連接。用戶可以通過(guò)上位機(jī)自定義遙控手柄按鍵的功能,從而實(shí)現(xiàn)對(duì)應(yīng)的功能。
電源為機(jī)器人各部分運(yùn)作提供了所需的能量。由于電流波動(dòng)往往會(huì)促使機(jī)器人運(yùn)行不穩(wěn)定,為了提高整體運(yùn)行效率,本文的控制系統(tǒng)和舵機(jī)驅(qū)動(dòng)采用分立供電的方式。機(jī)器人使用的舵機(jī)是ToWerPro MG996R大扭力舵機(jī),工作電壓范圍在4.8~6.6V;STM32芯片工作電壓范圍在2.0~3.6V。外電路部分使用了AMS1117-3.3降壓穩(wěn)壓器模塊,其作用是為芯片工作提供3.3V的穩(wěn)定電源。外電路是采用一個(gè)7.4V的航模電池作為整個(gè)機(jī)器人的供電電源。
4 四足仿生機(jī)器狗的行走步姿控制
步姿控制分為兩步:?jiǎn)尾阶嗽O(shè)計(jì)、多步姿組合。
利用STM32上位機(jī)對(duì)機(jī)器狗的9個(gè)舵機(jī)分別控制。上位機(jī)最多可以對(duì)32個(gè)舵機(jī)進(jìn)行控制,本文只需控制9個(gè)舵機(jī)。上位機(jī)模擬舵機(jī)分布圖,如圖2所示。每個(gè)舵機(jī)控制面板內(nèi)設(shè)有拉條,每一個(gè)拉條控制對(duì)應(yīng)輸出端上的舵機(jī)在120度內(nèi)轉(zhuǎn)動(dòng),往左拉舵機(jī)逆時(shí)針旋轉(zhuǎn),往右拉舵機(jī)順時(shí)針旋轉(zhuǎn),每拉動(dòng)一格舵機(jī)拉條便舵機(jī)轉(zhuǎn)動(dòng)一個(gè)固定角度,也可輸入值,例如五號(hào)舵機(jī)圖3,利用軟件的儲(chǔ)存功能對(duì)機(jī)器狗一個(gè)動(dòng)作每一個(gè)姿態(tài)中九個(gè)舵機(jī)的不同角度進(jìn)行存儲(chǔ),完成機(jī)器狗單步姿的設(shè)計(jì)。再通過(guò)每個(gè)不同姿態(tài)的舵機(jī)位串聯(lián)在一起就能實(shí)現(xiàn)機(jī)器狗的多步姿組合。
5 結(jié)束語(yǔ)
本文實(shí)現(xiàn)了基于STM32芯片控制的四足機(jī)器狗,它可在地面正常爬行并按照自編排的姿態(tài)完成一系列連貫動(dòng)作,在運(yùn)動(dòng)過(guò)程中較為穩(wěn)定,并且芯片對(duì)于各舵機(jī)的旋轉(zhuǎn)角度的控制也較為精準(zhǔn)。該四足機(jī)器仿生狗擁有外設(shè)擴(kuò)展功能強(qiáng)大,體積小的優(yōu)點(diǎn)。下一步將改進(jìn)機(jī)械結(jié)構(gòu),優(yōu)化程序設(shè)計(jì)。
參考文獻(xiàn):
[1]陳德明.四足仿生機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西北工業(yè)大學(xué),2007.
[2]范甜甜,俞志偉,楊屹巍,等.基于STM32F103VET6的四足機(jī)器人控制系統(tǒng)設(shè)計(jì)[J].機(jī)械與電子,2012(12):53-55.
[3]孫立寧,王鵬飛,黃博.四足仿生機(jī)器人嵌入式多關(guān)節(jié)伺服控制器的研究[J].機(jī)器人,2005,27(6):517-520.
[4]張建,尹學(xué)愛(ài).攻擊型四足仿生輪式機(jī)器人設(shè)計(jì)[J].科技創(chuàng)新應(yīng)用,2017(33):39-41.
[5]王睿.基于Arduino的視覺(jué)四足步行機(jī)器人的研究[J].科技創(chuàng)新應(yīng)用,2016(10):71.