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