余有明,莫浩明,余澤煌
(廣東工業(yè)大學(xué)華立學(xué)院 廣東 廣州 511325)
一種雙足機(jī)器人控制系統(tǒng)設(shè)計(jì)
余有明,莫浩明,余澤煌
(廣東工業(yè)大學(xué)華立學(xué)院 廣東 廣州 511325)
研究基于嵌入式的雙足機(jī)器人控制系統(tǒng)設(shè)計(jì),以Cortex-M3內(nèi)核的STM32F013ZET6控制芯片作為系統(tǒng)微控制器,設(shè)計(jì)出控制系統(tǒng)的總體架構(gòu)方案。該控制系統(tǒng)結(jié)合無(wú)線傳輸、傳感器技術(shù)與嵌入式技術(shù),以模塊化設(shè)計(jì)實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)傳輸和指令執(zhí)行。采用無(wú)線射頻模塊CC1101負(fù)責(zé)遠(yuǎn)程操作控制,運(yùn)用多軸運(yùn)動(dòng)處理組件MPU6050監(jiān)測(cè)機(jī)器人姿態(tài)并實(shí)時(shí)反饋,并處理數(shù)據(jù)使得機(jī)器人快速調(diào)整相應(yīng)姿態(tài),通過(guò)PC終端操作系統(tǒng)及顯示結(jié)果。經(jīng)過(guò)多次的實(shí)驗(yàn)測(cè)試,系統(tǒng)各個(gè)模塊配合良好,實(shí)時(shí)性好、性能穩(wěn)定,能夠?qū)崿F(xiàn)自由行走。
機(jī)器人;雙足行走;自動(dòng)控制;數(shù)據(jù)采集
隨著科學(xué)技術(shù)和生活水平的不斷提高,以及機(jī)器人技術(shù)的深入研究,機(jī)器人技術(shù)因其高效、精準(zhǔn)的優(yōu)點(diǎn),為人類帶來(lái)便利。近年來(lái),關(guān)于利用機(jī)器人技術(shù)幫助行動(dòng)不便人士的研究逐步深入,例如幫助患者步行、上樓梯、跨越障礙物,達(dá)到模仿人的動(dòng)作效果[1]。為行走不便人士帶來(lái)福音,仿生直立雙足機(jī)器人有重要的研究?jī)r(jià)值和意義[2]。但這對(duì)機(jī)器人控制系統(tǒng)的安全性、穩(wěn)定性、實(shí)時(shí)性提出了更加高的要求。因此,以Cortex-M3內(nèi)核的STM32F013ZET6微處理器為核心,設(shè)計(jì)出一種實(shí)時(shí)性好、性能穩(wěn)定、方便操控的雙足機(jī)器人控制系統(tǒng)。
機(jī)器人控制系統(tǒng)是由機(jī)載控制系統(tǒng)、無(wú)線通信系統(tǒng)、PC上位機(jī)監(jiān)控系統(tǒng)組成,其中機(jī)載控制系統(tǒng)是本系統(tǒng)設(shè)計(jì)核心部分。圖1為機(jī)器人控制系統(tǒng)的總體結(jié)構(gòu)圖。PC上位機(jī)通過(guò)采用CC1101無(wú)線模塊將控制指令傳送到機(jī)載控制系統(tǒng),機(jī)載控制系統(tǒng)收到控制指令后執(zhí)行指令并通過(guò)自定義協(xié)議加密成數(shù)據(jù)包后反饋到監(jiān)控上位機(jī)顯示,通過(guò)實(shí)時(shí)信息反饋能夠了解機(jī)器人狀態(tài)參數(shù),并能完成監(jiān)控機(jī)器人數(shù)據(jù)采集—數(shù)據(jù)傳輸—指令執(zhí)行的實(shí)施,實(shí)現(xiàn)智能化監(jiān)控。
圖1 控制系統(tǒng)結(jié)構(gòu)圖
1.1系統(tǒng)硬件設(shè)計(jì)
機(jī)載控制系統(tǒng)的主控制器選用具有高性能、低功耗的Cortex-M3內(nèi)核STM32F013ZET632位處理器,工作頻率最高可達(dá)到72MHz,擁有16個(gè)外部中斷,可以滿足多路中斷處理數(shù)據(jù),以及內(nèi)部多達(dá)16個(gè)定時(shí)器,每個(gè)定時(shí)器可以4個(gè)脈沖計(jì)數(shù)器,可以完成多路PWM的控制,并且該芯片自帶2個(gè)I2C通信接口、5個(gè)USART接口、3個(gè)SPI接口等,通過(guò)這些通信接口可以快速地進(jìn)行數(shù)據(jù)采集和數(shù)據(jù)交換,提高機(jī)器人控制系統(tǒng)實(shí)時(shí)性。
控制系統(tǒng)圍繞著STM32F013ZET6搭建起主控制處理信息接收以及信息輸出的功能,形成機(jī)載控制系統(tǒng)。它由電源模塊、陀螺儀模塊、無(wú)線模塊、主控模塊、加速度計(jì)模塊、舵機(jī)組模塊組成,電源部分采用TI的穩(wěn)壓芯片LM2596S,該芯片可以滿足多個(gè)舵機(jī)聯(lián)合啟動(dòng)以及芯片電源供給,系統(tǒng)并且采用MPU6050模塊和角度傳感器MMA7361實(shí)時(shí)采集機(jī)器人直立狀態(tài)通過(guò)采用無(wú)線模塊CC1101進(jìn)行數(shù)據(jù)包反饋到監(jiān)控上位機(jī)。機(jī)器人通過(guò)搭載MPU6050模塊、超聲波模塊、角度傳感器等模塊可以實(shí)現(xiàn)對(duì)不同環(huán)境下精確數(shù)據(jù)采集和改變機(jī)器人狀態(tài)等功能[3]。
1.2角度檢測(cè)設(shè)計(jì)
采用MPU6050模塊和MMA7361角度傳感器作為姿態(tài)數(shù)據(jù)采集的傳感器,MPU6050模塊整合了3軸陀螺儀、3軸加速器,可以通過(guò)高達(dá)400 kHz快速模式的I2C,最高至20MHz的SPI串行主機(jī)接口進(jìn)行數(shù)據(jù)交換,模塊通過(guò)PID算法和卡爾曼濾波算法將角速度和加速計(jì)融合計(jì)算出角度,該模塊用于機(jī)器人檢測(cè)重心方向。并采用具有MMA7361角度傳感器頻率及解析度高,提供精確的墜落、傾斜、移動(dòng)、放置、震動(dòng)和搖擺自我檢測(cè)等特點(diǎn)。主控芯片通過(guò)A/D數(shù)模轉(zhuǎn)換并采取歸一算法減小零點(diǎn)溫漂。該模塊采集精度高,用于檢測(cè)機(jī)器人腿部角度,通過(guò)腿部角度估算出機(jī)器人步伐大小,這樣能夠更好的控制機(jī)器人,增強(qiáng)系統(tǒng)的穩(wěn)定性[4]。
1.3超聲波模塊壁障設(shè)計(jì)
為了更好的保護(hù)機(jī)器人機(jī)身,防止其與物體發(fā)生碰撞,系統(tǒng)采用超聲波模塊HC-05,它具有指向性強(qiáng),功耗低,采集距離遠(yuǎn)等優(yōu)點(diǎn)。主控制器通過(guò)使用推挽形式將脈沖信號(hào)加到超聲波換能器兩端,這樣可以提高超聲波的發(fā)射強(qiáng)度,使機(jī)器人感知距離更遠(yuǎn),同時(shí)機(jī)器人通過(guò)控制安裝在超聲波上的舵機(jī)轉(zhuǎn)動(dòng),通過(guò)不同角度采集回來(lái)的距離進(jìn)行比較,選擇合適路徑進(jìn)行直立行走,實(shí)現(xiàn)自動(dòng)壁障功能。使用超聲波模塊可以使機(jī)器人更好利用活動(dòng)空間完成任務(wù),機(jī)器人捕捉到距離通過(guò)無(wú)線將距離實(shí)時(shí)發(fā)送到上位機(jī)反饋顯示。
1.4數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
無(wú)線通信系統(tǒng)通過(guò)使用主控芯片的USART接口器完成數(shù)據(jù)發(fā)送以及數(shù)據(jù)接收,將接收到的數(shù)據(jù)進(jìn)行解幀得到真正的數(shù)據(jù),使得數(shù)據(jù)傳輸簡(jiǎn)單。機(jī)器人通信和PC上位機(jī)通信采用一致的幀格式協(xié)議進(jìn)行加密,即使用8位數(shù)據(jù),一個(gè)起始位和一個(gè)停止位的形式[5],為了保證數(shù)據(jù)準(zhǔn)確性和有效性,機(jī)器人將采集到數(shù)據(jù)通過(guò)采取加工帶有校驗(yàn)功能。為了有利于系統(tǒng)后期的功能拓展和硬件維護(hù),程序和硬件均采用模塊化的設(shè)計(jì),同時(shí)使系統(tǒng)具有規(guī)范性和可靠性。系統(tǒng)采用CC1101無(wú)線模塊作為該電路的數(shù)據(jù)傳輸模塊,該無(wú)線傳輸模塊與微控制器的電路接口采用串行通信原理,硬件連接示意圖如圖2所示。數(shù)據(jù)間通信使用標(biāo)準(zhǔn)的RS-232接口,并設(shè)計(jì)高速光耦隔離PC817模塊以及接入頻率更高的外部晶振,以提高芯片運(yùn)行速度和增強(qiáng)EMC電磁兼容性能[6],使系統(tǒng)更加穩(wěn)定可靠。通過(guò)接收PC上位機(jī)的控制指令,完成機(jī)器人的控制、數(shù)據(jù)采集和發(fā)送等功能。
圖2 CC1101連接示意圖
1.5監(jiān)控上位機(jī)設(shè)計(jì)
監(jiān)控上位機(jī)用于觀察機(jī)器人實(shí)時(shí)狀態(tài)以及實(shí)現(xiàn)控制機(jī)器人的行走、靜態(tài)轉(zhuǎn)彎及上下樓梯等操作,PC上位機(jī)監(jiān)控系統(tǒng)對(duì)機(jī)器人要求有多種監(jiān)控方式[7],有PC監(jiān)控上位機(jī)手動(dòng)控制、遙控指令控制、預(yù)先脫機(jī)程序智能控制等??刂葡到y(tǒng)要求能判斷中斷優(yōu)先級(jí)、而且能夠同時(shí)實(shí)現(xiàn)多任務(wù)實(shí)施和數(shù)據(jù)采集,形成動(dòng)作控制—?jiǎng)幼魍瓿伞畔⒎答?,完成機(jī)器人的信息接收、信息處理、信息輸出等功能,實(shí)現(xiàn)人性化、智能化[8]。在目前的嵌入式操作系統(tǒng)中有Linux、UC/OS、UC/GUI等多種,都具備各自的優(yōu)勢(shì)[9]。機(jī)器人系統(tǒng)要求軟件的編寫(xiě)可靠、簡(jiǎn)單易操作。因此,本系統(tǒng)的采用VB開(kāi)發(fā)一款功能全面的監(jiān)控上位機(jī)。
圖3 測(cè)試程序界面圖
本系統(tǒng)以意法半導(dǎo)體MCU為控制核心,采用C語(yǔ)言對(duì)主控制器進(jìn)行編程算法控制,機(jī)器人系統(tǒng)要求程序運(yùn)行可靠穩(wěn)定。因此,本系統(tǒng)的程序模塊化設(shè)計(jì),實(shí)現(xiàn)對(duì)機(jī)器人控制并通過(guò)采用經(jīng)典PID算法進(jìn)行優(yōu)化控制。PID算法簡(jiǎn)單可靠,理論體系完備,而且在長(zhǎng)期的應(yīng)用過(guò)程中積攢了大量的使用經(jīng)驗(yàn),具有良好的控制效果和較強(qiáng)的魯棒性,能提供控制量的較優(yōu)解,實(shí)現(xiàn)位置回路控制和姿態(tài)回路控制,控制回路包含了X、Y和Z變量,所以需要3個(gè)PID獨(dú)立的算法對(duì)回路形成控制,設(shè)Kp、Ki、Kd分別為比例項(xiàng)和微分項(xiàng)系數(shù),有式(1)
其中Xρ、Yρ、Zρ是加速度計(jì)采集數(shù)據(jù)積分到的位移量。
在PID控制器在控制的過(guò)程中,通過(guò)各個(gè)獨(dú)立環(huán)節(jié)不同的控制作用相互配合,最終輸出整個(gè)控制器的控制作用,其中:
比例環(huán)節(jié):對(duì)控制系統(tǒng)的偏差信號(hào)會(huì)通過(guò)放大或縮小一定的比例反應(yīng)出來(lái),在控制過(guò)程中一旦有偏差產(chǎn)生,控制器能迅速抑制偏差對(duì)控制效果產(chǎn)生不良影響,對(duì)系統(tǒng)的調(diào)節(jié)精度和相應(yīng)速度都有很大改善。
積分環(huán)節(jié):對(duì)于系統(tǒng)穩(wěn)態(tài)誤差的消除和誤差度的提高有很大作用。同時(shí)采集時(shí)間常數(shù)的大小決定了積分能力的強(qiáng)弱,它們?cè)叫?,積分能力越強(qiáng),反之則弱。
微分環(huán)節(jié):調(diào)節(jié)誤差的微分輸出,誤差突變時(shí),能及時(shí)控制,反應(yīng)偏差信號(hào)的變
化趨勢(shì),并提前引入一個(gè)修正信號(hào)來(lái)抑制偏差信號(hào)變得太大。因此其改善系統(tǒng)的動(dòng)態(tài)特性[10]。
通過(guò)擴(kuò)充比例度法整定數(shù)字PID控制器參數(shù),擴(kuò)充比例度法適用于有自平衡特性的受控對(duì)象,是對(duì)連續(xù)-時(shí)間PID控制器參數(shù)整定的臨界比例度法的擴(kuò)充。通過(guò)選取合適的采樣周期。采樣周期TS的長(zhǎng)短會(huì)影響采樣-數(shù)據(jù)控制系統(tǒng)的品質(zhì),同樣是最佳整定,采樣數(shù)據(jù)控制系統(tǒng)的控制品質(zhì)要低于連續(xù)-時(shí)間控制系統(tǒng)。因而,控制度總是大于1的,而且控制度越大,相應(yīng)的采樣—數(shù)據(jù)控制系統(tǒng)的品質(zhì)越差。控制度的選擇要從所設(shè)計(jì)的系統(tǒng)的控制品質(zhì)要求出發(fā)。實(shí)行閉環(huán)控制,觀察控制效果差異,并作適當(dāng)?shù)恼{(diào)整以獲得比較滿意的效果。以下是下位機(jī)操作系統(tǒng)的部分代碼。
機(jī)器人監(jiān)控系統(tǒng)也是該控制系統(tǒng)的重要組成部分,PC上位機(jī)要求不僅能夠給機(jī)器人發(fā)送控制指令到機(jī)器人,并且能接收機(jī)器人上的傳感器單元(MPU6050模塊、超聲波模塊、角度傳感器等)采集到的數(shù)據(jù)采用數(shù)據(jù)包的形式進(jìn)行反饋顯示,能夠?qū)崿F(xiàn)上位機(jī)和無(wú)人機(jī)控制程序之間雙向通信,完成機(jī)器人所需的任務(wù)。這次測(cè)試機(jī)器人控制系統(tǒng)的行走狀態(tài),通過(guò)實(shí)驗(yàn)結(jié)果表明機(jī)器人成功實(shí)現(xiàn)原地踏步、直線行走、靜態(tài)轉(zhuǎn)彎等動(dòng)作,系統(tǒng)能夠及時(shí)響應(yīng)。
文中設(shè)計(jì)了基于嵌入式的仿生直立雙足機(jī)器人控制系統(tǒng),系統(tǒng)的硬件和軟件均采用模塊化的設(shè)計(jì)方法,有利于系統(tǒng)后期的功能拓展和硬件維護(hù),并對(duì)MPU6050模塊采集回來(lái)的角度通過(guò)運(yùn)用PID控制算法和卡爾曼濾波算法解算合成,采用超聲波模塊檢測(cè)安全距離實(shí)現(xiàn)機(jī)器人自我保護(hù)的功能,通過(guò)各模塊相互協(xié)助成功地實(shí)現(xiàn)了機(jī)器人實(shí)現(xiàn)原地踏步、直線行走、靜態(tài)轉(zhuǎn)彎及上下樓梯等運(yùn)動(dòng)。系統(tǒng)整體繞著ARM構(gòu)成的微控制器運(yùn)轉(zhuǎn),具有行走穩(wěn)定、運(yùn)動(dòng)迅速、接收信號(hào)靈敏等特點(diǎn)。仿生直立機(jī)器人涉及到仿生學(xué)、運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)及自動(dòng)控制理論的綜合運(yùn)用,在臨床醫(yī)學(xué)、義肢設(shè)計(jì)等領(lǐng)域得到更好的發(fā)展與應(yīng)用。
[1]張彤.仿人機(jī)器人步行控制及路徑規(guī)劃方法研究[D].廣東:華南理工大學(xué),2010.
[2]史耀強(qiáng).雙足機(jī)器人步行仿真與實(shí)驗(yàn)研究[D].上海:上海交通大學(xué),2008.
[3]劉丞.自主移動(dòng)機(jī)器人測(cè)控系統(tǒng)關(guān)鍵技術(shù)的研究[D].西安:西安電子科技大學(xué),2009.
[4]朱雅光.基于阻抗控制的多足步行機(jī)器人腿部柔順控制研究[D].杭州:浙江大學(xué),2014.
[5]姚建偉.基于STM32的服務(wù)機(jī)器人的集成通信系統(tǒng)研制[D].武漢:武漢工程大學(xué),2014.
[6]丁敏.電磁干擾及其抑制措施的分析 [J].科技傳播,2014,16:67-68.
[7]伍延祿.基于嵌入式的移動(dòng)機(jī)器人無(wú)線遠(yuǎn)程控制[D].北京:北京化工大學(xué),2011.
[8]袁明.多自由度多傳感器機(jī)器人控制系統(tǒng)研究[D].西安:長(zhǎng)安大學(xué),2013.
[9]郝玉勝.uC/OS-Ⅱ嵌入式操作系統(tǒng)內(nèi)核移植研究及其實(shí)現(xiàn)[D].蘭州:蘭州交通大學(xué),2014.
[10]魏建新.足球機(jī)器人模糊PID控制算法的應(yīng)用研究[D].重慶:重慶理工大學(xué),2012.
Design of biped walking robot controlling system
YU You-ming,MO Hao-ming,YU Ze-huang
(HualiCollege Guangdong University of Technology,Guangzhou 511325,China)
Research of the robot controlsystembased on embedded technology,using Cortex-M3 core STM32F013ZET6chip as the system microcontroller to design the overall system architecture.The system combines wireless transmission,sensor technology and embedded technology to realize data acquisition,data transmission and instruction execution function in modular design.The RF modules CC1101 as responsible for remote control operation,using MPU6050 Multi axis motion processor for acquisition and processing the attitude data,control the robotand display the results through PC terminal.After many times of experiment test,the biped walking robot controlling system has a good real-time performance,high precision and stable performance,isable to achievedon biped walking robotcontrolling.
robot;biped walking;automatic control;data acquisition
TN99
A
1674-6236(2016)19-0092-03
2015-09-30稿件編號(hào):201509194
“攀登計(jì)劃”廣東大學(xué)生科技創(chuàng)新培育專項(xiàng)資金資助一般項(xiàng)目(PDJH2015b0944);“攀登計(jì)劃”廣東大學(xué)生科技創(chuàng)新培育專項(xiàng)資金資助重點(diǎn)項(xiàng)目(PDJH2015a09335);大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201513656048)
余有明(1994—),男,廣東佛山人。研究方向:機(jī)器人控制技術(shù)。