韓寶玲,張述玉,羅慶生,朱立松,黃祥斌
(1.北京理工大學(xué) 機(jī)械與車輛學(xué)院,北京 100081;2.北京理工大學(xué) 光電學(xué)院;3.北京理工大學(xué) 機(jī)電學(xué)院)
?
STM32的小型仿人機(jī)器人控制系統(tǒng)設(shè)計(jì)※
韓寶玲1,張述玉2,羅慶生3,朱立松3,黃祥斌1
(1.北京理工大學(xué) 機(jī)械與車輛學(xué)院,北京 100081;2.北京理工大學(xué) 光電學(xué)院;3.北京理工大學(xué) 機(jī)電學(xué)院)
摘要:仿人機(jī)器人是一種集機(jī)械、電子、控制、通信、計(jì)算機(jī)等多種技術(shù)于一體的智能系統(tǒng),而控制技術(shù)是它的核心。本文設(shè)計(jì)了一款基于STM32F103芯片的小型仿人機(jī)器人控制系統(tǒng)。該控制系統(tǒng)通過輸出10路PWM波實(shí)現(xiàn)機(jī)器人的關(guān)節(jié)運(yùn)動(dòng)控制,通過紅外測距傳感器實(shí)現(xiàn)機(jī)器人避障,通過姿態(tài)傳感器MPU6050實(shí)現(xiàn)機(jī)器人的姿態(tài)測量。經(jīng)過試驗(yàn)驗(yàn)證,在該系統(tǒng)的控制下,10自由度小型仿人機(jī)器人能夠穩(wěn)定行走并完成各種預(yù)期動(dòng)作,且能夠?qū)崿F(xiàn)自主避障功能。
關(guān)鍵詞:仿人機(jī)器人;控制系統(tǒng);STM32;插補(bǔ)法
引言
人形機(jī)器人是具備人類外形特征和行動(dòng)能力的智能機(jī)器人,可以采用雙腿行走,通過手臂和身體的協(xié)調(diào)完成一些簡單的動(dòng)作,通過簡單的語言和人類進(jìn)行交流[1]。與傳統(tǒng)的機(jī)器人相比,人形機(jī)器人具有很大的優(yōu)勢,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、軍事、醫(yī)療等領(lǐng)域。人形機(jī)器人技術(shù)的發(fā)展越來越快,除了具備了人工智能外,還可以根據(jù)人類的聲音、手勢等從事相應(yīng)動(dòng)作,并具有基本的記憶和辨識能力[2]。本文采用STM32芯片設(shè)計(jì)出了一款小型仿人機(jī)器人控制系統(tǒng),應(yīng)用于自主開發(fā)的小型仿人機(jī)器人,能夠?qū)崿F(xiàn)機(jī)器人的平穩(wěn)行走、自主避障、且開發(fā)周期短、成本低。
1小型仿人機(jī)器人的結(jié)構(gòu)簡介
圖1 小型仿人機(jī)器人 虛擬樣機(jī)
小型仿人機(jī)器人具有10個(gè)自由度,每條腿具有3個(gè)自由度,每條胳膊具有2個(gè)自由度,其虛擬樣機(jī)如圖1所示。該小型仿人機(jī)器人高25 cm,重350 g,其10個(gè)舵機(jī)分布在機(jī)器人的各個(gè)關(guān)節(jié),控制板安裝在機(jī)器人的背后,電池裝在機(jī)器人胸部之內(nèi),紅外測距傳感器安裝在機(jī)器人的胸部前方,無線模塊nRF24L01和姿態(tài)傳感器隨控制板安裝在機(jī)器人的背后。
該小型仿人機(jī)器人各個(gè)部件選型表略——編者注。
2小型仿人機(jī)器人控制系統(tǒng)設(shè)計(jì)
小型仿人機(jī)器人控制系統(tǒng)的硬件組成如圖2所示,包括主控系統(tǒng)和遙控系統(tǒng)兩大部分,它們通過遙控nRF24L01發(fā)出的2.4GHz無線信號進(jìn)行通信。
圖2 小型仿人機(jī)器人控制系統(tǒng)硬件組成框圖
總體來說,小型仿人機(jī)器人控制系統(tǒng)的硬件部分主要有8個(gè)模塊,包括主控芯片模塊、電源模塊、通信模塊、PWM多路輸出模塊、紅外測距傳感器模塊、姿態(tài)傳感器模塊、SD卡模塊、遙控器等,如圖2所示。主控芯片模塊是機(jī)器人的大腦,控制機(jī)器人的運(yùn)動(dòng)和處理各種數(shù)據(jù);姿態(tài)傳感器模塊用來檢測機(jī)器人的姿態(tài),以便實(shí)現(xiàn)其姿態(tài)測量;SD卡模塊記錄姿態(tài)數(shù)據(jù),以便后續(xù)處理。
2.1小型仿人機(jī)器人控制電路總體設(shè)計(jì)
控制系統(tǒng)硬件電路采用自上向下的方式設(shè)計(jì),總體設(shè)計(jì)圖略——編者注。
2.2主控芯片外圍電路設(shè)計(jì)
STM32微控制器作為整個(gè)控制系統(tǒng)的核心,具有十分重要的作用,為了保證系統(tǒng)穩(wěn)定工作,必須設(shè)計(jì)好STM32微控制器外圍電路,盡量減少或避免外界干擾[3]。主控芯片采用STM32F103RET6,主頻為72 MHz,具有ADC、DMA、SDIO等功能,其外圍電路設(shè)計(jì)略——編者注。
2.3供電電路設(shè)計(jì)
控制系統(tǒng)由放電倍率大的航模電池供電,輸出3.7 V電壓,一路直接給舵機(jī)、紅外測距傳感器供電,另一路通過降壓芯片AMS1117-3.3把電壓降到3.3 V給STM32微控制器芯片、MPU6050、nRF24L01供電。為了保障電池充電方便,本電路板采用TP4056芯片通過USB接口給電池充電,充電時(shí)7引腳輸出低電平,紅燈D2亮;6引腳輸出高阻,綠燈D1滅;充滿時(shí),7引腳輸出高阻,紅燈D2滅;7引腳輸出低電平,綠燈D1亮。微控制器的供電電路如圖3所示。
圖3 供電電路
2.4姿態(tài)傳感器電路設(shè)計(jì)
圖4 姿態(tài)傳感器電路
MPU6050是INVENSENCE公司推出的一款傳感器,具有低成本、低功耗和高性能的特點(diǎn)。該芯片集成了三軸陀螺儀和三軸加速度計(jì),擁有數(shù)字運(yùn)動(dòng)處理單元(DMP),可直接融合陀螺儀和加速度計(jì)數(shù)據(jù)。陀螺儀最大能檢測±2000°/s,加速度計(jì)能最大檢測±16g,最大能夠承受10 000g的外部沖擊。MPU6050采用I2C協(xié)議與主控芯片STM32微控制器進(jìn)行通信,電路設(shè)計(jì)如圖4所示。
2.5無線模塊nRF24L01電路設(shè)計(jì)
控制系統(tǒng)和遙控器之間采用nRF24L01模塊進(jìn)行通信,nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、增強(qiáng)型SchockBurst模式控制器、功率放大器、晶體振蕩器、調(diào)制器、解調(diào)器。輸出功率、頻道選擇和協(xié)議可以通過SPI接口進(jìn)行設(shè)置,電路圖設(shè)計(jì)如圖5所示。
圖5 無線模塊nRF24L01
2.6SD卡模塊電路設(shè)計(jì)
圖6 SD卡模塊電路
為了便于準(zhǔn)確分析實(shí)驗(yàn)數(shù)據(jù),設(shè)計(jì)了機(jī)器人控制系統(tǒng)的存儲單元,主控單元可以將采集的姿態(tài)信息、遙控信息直接存儲在SD卡中。SD卡的電路設(shè)計(jì)如圖6所示,采用SDIO通信協(xié)議,速度高達(dá)10 M/s。
2.7PCB電路設(shè)計(jì)
完成原理圖設(shè)計(jì)后,進(jìn)行了雙層PCB電路板的設(shè)計(jì)。整體PCB控制板尺寸為50 mm×70 mm,利用4個(gè)銅柱將控制器豎直安裝在小型仿人機(jī)器人的背部,PCB實(shí)物圖略——編者注。
2.8遙控器設(shè)計(jì)
仿人機(jī)器人有兩種運(yùn)行模式:自動(dòng)模式與手動(dòng)模式。在自動(dòng)模式下,機(jī)器人由編寫的程序控制完成一連串預(yù)設(shè)的動(dòng)作。而在手動(dòng)模式下,可以通過遙控器實(shí)時(shí)控制
圖7 遙控器原理圖
機(jī)器人動(dòng)作。為了實(shí)現(xiàn)遠(yuǎn)程操控機(jī)器人完成動(dòng)作,設(shè)計(jì)了基于STM32F103C8T6芯片的遙控器手柄,原理圖如圖7所示。該遙控器手柄通過nRF24L01無線模塊與主控芯片進(jìn)行通信,兩個(gè)搖桿均可向前后左右下5個(gè)方向按動(dòng),可實(shí)現(xiàn)仿人機(jī)器人的前進(jìn)、轉(zhuǎn)彎、鞠躬和起立等動(dòng)作。
3小型仿人機(jī)器人控制軟件設(shè)計(jì)
3.1整體設(shè)計(jì)流程
小型仿人機(jī)器人通電后,對各個(gè)舵機(jī)進(jìn)行初始化,讓機(jī)器人保持站立。通過姿態(tài)傳感器MPU6050讀取機(jī)器人的姿態(tài),若姿態(tài)偏移則進(jìn)行校正,使之保持站立姿勢,然后機(jī)器人通過接收指令工作,軟件流程圖如圖8所示。
圖8 軟件流程圖
3.2舵機(jī)控制的插補(bǔ)法
仿人機(jī)器人的控制算法主要包含兩種:一種是速度控制算法,另一種是多個(gè)關(guān)節(jié)的聯(lián)動(dòng)控制算法[4-6]。本系統(tǒng)采用“插補(bǔ)法”速度控制算法控制機(jī)器人舵機(jī)運(yùn)動(dòng)。
舵機(jī)本身是不能進(jìn)行速度控制的,必須要通過軟件實(shí)現(xiàn),想要實(shí)現(xiàn)速度控制,必須要給定舵機(jī)的初始位置和終點(diǎn)位置,然后給定從初始位置到終點(diǎn)位置的時(shí)間,把時(shí)間和角度分別細(xì)化并一一對應(yīng),這樣就可以從宏觀上對舵機(jī)實(shí)現(xiàn)速度控制。時(shí)間細(xì)分得越密集,舵機(jī)的轉(zhuǎn)動(dòng)也越流暢,但是受舵機(jī)自身?xiàng)l件的限制,不可能無限地細(xì)分下去[7]。插補(bǔ)法過程如下。
采用定時(shí)器中斷來實(shí)現(xiàn)時(shí)間的細(xì)化,在周期為 T 的時(shí)間內(nèi)定時(shí)器中斷N次,時(shí)間的細(xì)化單位為:
(1)
從初始位置到目標(biāo)位置時(shí)間為Ten,則細(xì)化次數(shù)n為:
(2)
初始位置的角度為ω0,終點(diǎn)位置的角度為ωn,則從初始位置到終點(diǎn)位置的角度差dp為:
(3)
最終得出角度的細(xì)化單位為:
(4)
由此可見,時(shí)間每增加一個(gè)dt,角度也對應(yīng)增加dp0,令m為差補(bǔ)次數(shù)變量,當(dāng)m=n時(shí),舵機(jī)到達(dá)目標(biāo)位置。
“差補(bǔ)法”的軟件設(shè)計(jì)如圖9所示。
圖9 差補(bǔ)法速度調(diào)節(jié)流程圖
4小型仿人機(jī)器人試驗(yàn)
完成小型仿人機(jī)器人的編程后,對機(jī)器人進(jìn)行了蹲下起立、擺臂、鞠躬、擺腿、步行前進(jìn)、倒地后起立、避障等試驗(yàn),結(jié)果如下:
① 通過踝關(guān)節(jié)和膝關(guān)節(jié)舵機(jī)的協(xié)調(diào),再配合上肩部動(dòng)作,機(jī)器人做出了上下起伏的蹲下起立動(dòng)作。
② 將機(jī)器人頭朝下放倒后,可分別做出前后擺腿和左右擺腿的動(dòng)作。
③ 通過髖關(guān)節(jié)與膝關(guān)節(jié)舵機(jī)的協(xié)調(diào)配合,機(jī)器人以小碎步的形式穩(wěn)步前進(jìn),肩關(guān)節(jié)舵機(jī)的擺動(dòng)則為機(jī)器人提供平衡作用。
④ 機(jī)器人在倒立的初始狀態(tài)下,通過肩關(guān)節(jié)、肘關(guān)節(jié)、髖關(guān)節(jié)和膝關(guān)節(jié)舵機(jī)的聯(lián)動(dòng),可實(shí)現(xiàn)自行起立。
⑤ 機(jī)器人通過紅外測距傳感器檢測到前方有障礙物時(shí),通過腿部舵機(jī)的配合,可自動(dòng)向左轉(zhuǎn)繞開障礙物。
機(jī)器人試驗(yàn)動(dòng)作圖略——編者注。
結(jié)語
基于STM32F103芯片設(shè)計(jì)了一款通用的小型仿人機(jī)器人控制系統(tǒng),該系統(tǒng)能夠控制10自由度(最多18自由度)的小型仿人機(jī)器人。經(jīng)過試驗(yàn),10自由度小型仿人機(jī)器人在該系統(tǒng)的控制下,實(shí)現(xiàn)穩(wěn)定行走和自主避障,能夠完成各種預(yù)期動(dòng)作,并能通過姿態(tài)傳感器MPU6050實(shí)現(xiàn)機(jī)器人的姿態(tài)測量。本文還重點(diǎn)研究了多路舵機(jī)的聯(lián)合控制方法,實(shí)現(xiàn)了機(jī)器人各關(guān)節(jié)協(xié)調(diào)運(yùn)動(dòng)。此控制系統(tǒng)具有較強(qiáng)的通用性,為后續(xù)研究提供了 參考與借鑒。
參考文獻(xiàn)
[1] 虞漢中,馮雪梅.人形機(jī)器人技術(shù)的發(fā)展與現(xiàn)狀[J] .機(jī)械工程師, 2010(7).
[2] 于秀麗,魏世民,廖啟征.仿人機(jī)器人發(fā)展及其技術(shù)探索[J] .機(jī)械工程學(xué)報(bào),2009,45(3):72-73.
[3] 白立群,李成鐵,周劍鋒.基于STM32的飛行控制器系統(tǒng)設(shè)計(jì)[J] .自動(dòng)化技術(shù)與應(yīng)用,2013,32(2):15-20.
[4] 陳清貴,王鋒,沈潤杰.基于STM32的BIOLOID機(jī)器人主控制器設(shè)計(jì)[J] .機(jī)器人技術(shù),2012(11):137-139.
[5] 羅孝龍,羅慶生,韓寶玲,等.仿生六足機(jī)器人多電機(jī)控制系統(tǒng)的研究與設(shè)計(jì)[J] .計(jì)算機(jī)測量與控制,2008,16(4):491-493.
[6] 李貽斌,李彬,榮學(xué)文,等.液壓驅(qū)動(dòng)四足仿生機(jī)器人的機(jī)構(gòu)設(shè)計(jì)和步態(tài)規(guī)劃[J] .山東大學(xué)學(xué)報(bào),2011,41(5):32-36.
[7] 錢慶文.基于STM32的類人機(jī)器人控制系統(tǒng)的研究[D] .哈爾濱: 哈爾濱理工大學(xué),2014.
韓寶玲(教授),主要研究方向?yàn)榉律鷻C(jī)械、光機(jī)電一體化技術(shù);張述玉(碩士研究生),主要研究方向?yàn)楣鈾C(jī)電一體化技術(shù)、嵌入式系統(tǒng)應(yīng)用;羅慶生(教授),主要研究方向?yàn)樘胤N機(jī)器人、機(jī)電一體化技術(shù)。
Atmel實(shí)現(xiàn)安全的IoT應(yīng)用云端接入
Atmel公司與領(lǐng)先的社交平臺微信攜手合作,為其IoT(物聯(lián)網(wǎng))平臺提供內(nèi)置ATECC508 CryptoAuthentication(加密認(rèn)證)安全引擎的Atmel | SMART SAM W25 模塊,助力實(shí)現(xiàn)新一代IoT應(yīng)用的云端訪問。微信IoT 平臺可實(shí)現(xiàn)對互聯(lián)網(wǎng)(云端)的無縫連接,從而確保每一件“物品”實(shí)現(xiàn)智能連接,并支持最新發(fā)布的Airkiss 2.0 Wi-Fi配置與服務(wù)發(fā)現(xiàn)協(xié)議。
全新微信IoT平臺目前在中國已經(jīng)得到應(yīng)用,其提供一個(gè)完整、單一廠商的邊緣節(jié)點(diǎn)到云端解決方案,可幫助IoT開發(fā)人員為未來的聯(lián)網(wǎng)設(shè)備打造各種尖端應(yīng)用。消費(fèi)者可通過移動(dòng)設(shè)備上的微信應(yīng)用方便地查看IoT設(shè)備的信息。開發(fā)人員現(xiàn)在可以使用Atmel | SMART SAM W25開發(fā)板打造無縫安全連接微信IoT平臺的設(shè)備,并支持Airkiss 2.0 無線配置協(xié)議。消費(fèi)者將可以隨時(shí)通過微信應(yīng)用連接他們的IoT設(shè)備。
SAM W25模塊是Atmel SmartConnect無線產(chǎn)品組合的一部分,內(nèi)置Atmel的2.4 GHz IEEE 802.11 b/g/n Wi-Fi WINC1500,Atmel | SMART SAM D21 ARM Cortex M0+ MCU以及Atmel ATECC508A 優(yōu)化的CryptoAuthentication引擎,后者為安全連接提供超級保險(xiǎn)的硬件密鑰存儲。
Control System of Small Humanoid Robot Based on STM32※
Han Baoling1,Zhang Shuyu2,Luo Qingsheng3,Zhu Lisong3,Huang Xiangbin1
(1.School of Mechanical Engineering,Beijing Institute of Technology,Beijing 100081,China;
2.School of Optoelectronics,Beijing Institute of Technology;3.School of Electro Mechanical,Beijing Institute of Technology)
Abstract:The humanoid robot is an intelligent system,which contains mechanical,electronic,control,communication,computer and other technologies,and the control technology is the core.In the paper,a small humanoid robot control system besed on STM32F103 is designed.The control system achieves joint control by 10-way PWM waves,obstacle avoidance by infrared distance sensors,and pose detection by the posture sensor MPU6050.The experiment results show that the small humanoid robot of 10 degree of freedom can walk stably,accomplish a variety of expected actions and achieve self-avoidance functions under the control system.
Key words:humanoid robot;control system;STM32;interpolation algorithm
收稿日期:(責(zé)任編輯:楊迪娜2015-07-20)
中圖分類號:TP242.6
文獻(xiàn)標(biāo)識碼:A