程 石,崔思柱,劉豐豪,肖 倩
(長(zhǎng)安大學(xué)工程機(jī)械學(xué)院,陜西 西安710064)
四足機(jī)器人理論上良好的環(huán)境適應(yīng)性、較強(qiáng)的承載能力、運(yùn)動(dòng)靈活性以及其易于優(yōu)良的可控性和易加工性使得四足步行機(jī)器人在未來(lái)必然有著廣闊的應(yīng)用前景。張婷婷等搭建了基于ARM和CPLD的四足機(jī)器人嵌入式控制平臺(tái),展現(xiàn)了一種新的機(jī)器人控制系統(tǒng)架構(gòu)[1]。蘇曉東等搭建了基于ARM、FPGA和DSP的集分層式控制系統(tǒng)和分布式控制系統(tǒng)于一體的復(fù)合式控制系統(tǒng)[2]。殷勇華等搭建了基于FPGA的四足機(jī)器人分布式控制系統(tǒng),具有實(shí)時(shí)數(shù)據(jù)通信能力、能夠進(jìn)行有效路徑規(guī)劃和實(shí)時(shí)精確控制關(guān)節(jié)運(yùn)動(dòng)[3]。本文針對(duì)實(shí)時(shí)性差與運(yùn)行效率不高的缺陷,提出了一種高度并行的復(fù)合式控制系統(tǒng)結(jié)構(gòu)。
本研究所設(shè)計(jì)的四足運(yùn)輸機(jī)器人由機(jī)身、腿、足三部分組成,共計(jì)4條腿,左右對(duì)稱(chēng)分布,每條腿3個(gè)關(guān)節(jié),關(guān)節(jié)1、2固定在機(jī)身底部,關(guān)節(jié)3位于關(guān)節(jié)2的正下方,關(guān)節(jié)1實(shí)現(xiàn)機(jī)器人的側(cè)擺,關(guān)節(jié)2和3負(fù)責(zé)驅(qū)動(dòng)機(jī)器人的前進(jìn),每個(gè)關(guān)節(jié)1個(gè)直流無(wú)刷電機(jī)、伺服驅(qū)動(dòng)器、16位絕對(duì)式編碼器、霍爾傳感器,整體12個(gè)關(guān)節(jié),需要12個(gè)直流無(wú)刷電機(jī)才能實(shí)現(xiàn)機(jī)器人的運(yùn)動(dòng),且電機(jī)的控制精度最低要求為0.008°,要求其具有一定的承載能力,能夠在地面上穩(wěn)定行走,同時(shí)對(duì)周?chē)h(huán)境有一定的適應(yīng)性,故對(duì)控制系統(tǒng)的體積和重量要求更高,同時(shí)要對(duì)機(jī)器人的姿態(tài)和電機(jī)的運(yùn)動(dòng)位置與狀態(tài)進(jìn)行實(shí)時(shí)采集并做出調(diào)控,并實(shí)施感知地面對(duì)足端的沖擊力然后加以控制,響應(yīng)速度不超過(guò)5ms.
本控制系統(tǒng)硬件結(jié)構(gòu)包括上位機(jī)(PC),內(nèi)嵌NI Linux Real-Time操作系統(tǒng)的sbRIO-9627片上系統(tǒng)(SoC)、分布式的執(zhí)行器和傳感器這三大部分。上位機(jī)上主要顯示經(jīng)傳感器采集回來(lái)的關(guān)節(jié)位置值和電流值,以及監(jiān)控電機(jī)狀態(tài);以包括雙核667 MHz的ARM Cortex-A9處理器和Xilinx Zynq-7000的最高時(shí)鐘頻率為40 MHz的FPGA[4]芯片的sbRIO[5]-9627片上系統(tǒng)作為控制核心,ARM主要負(fù)責(zé)運(yùn)動(dòng)控制算法的運(yùn)行,對(duì)經(jīng)FPGA采集到的傳感器信息進(jìn)行融合,計(jì)算出執(zhí)行器所需的控制指令完成運(yùn)動(dòng)規(guī)劃,利用FPGA實(shí)現(xiàn)對(duì)傳感器數(shù)據(jù)采集和對(duì)執(zhí)行器PWM控制信號(hào)發(fā)送的并行化;分布式的執(zhí)行器和傳感器由12個(gè)伺服驅(qū)動(dòng)器、直流無(wú)刷電機(jī)、絕對(duì)式編碼器、霍爾傳感器,4個(gè)三維力傳感器,1個(gè)姿態(tài)傳感器組成,構(gòu)成機(jī)器人本體的動(dòng)力驅(qū)動(dòng)系統(tǒng)與采集系統(tǒng),每條腿足端1個(gè)三維力傳感器用于采集足端落地時(shí)與地面的接觸力,絕對(duì)式編碼器用于記錄關(guān)節(jié)位置信息,姿態(tài)傳感器為機(jī)身控制提供俯仰角、偏轉(zhuǎn)角以及航向角的相關(guān)信息。
本控制系統(tǒng)軟件框架如圖1所示,采用的編程軟件平臺(tái)為L(zhǎng)abview,軟件系統(tǒng)主要分為PC、多核處理器、FPGA等三層。PC層用于顯示電機(jī)狀態(tài)和接收的傳感器數(shù)據(jù);多核處理器的CPU0運(yùn)行控制算法得出控制指令并經(jīng)RT FIFO傳給CPU1,同時(shí)CPU1接收FPGA采集的傳感器數(shù)據(jù)和向FPGA發(fā)送控制指令,將采集到的數(shù)據(jù)經(jīng)RT FIFO傳到CPU0;FPGA層主要負(fù)責(zé)數(shù)據(jù)采集和根據(jù)CPU1發(fā)送的指令信息產(chǎn)生相應(yīng)占空比的PWM信號(hào)給伺服驅(qū)動(dòng)器,實(shí)現(xiàn)對(duì)直流無(wú)刷電機(jī)的實(shí)時(shí)控制。通過(guò)該改變PWM波的占空比(0~100%)來(lái)改變電機(jī)的位置在±Max(最大位置設(shè)定值)之間變化,指令更新周期為2 ms,PWM信號(hào)的周期為1ms.
圖1 系統(tǒng)軟件框圖
為了測(cè)試本控制系統(tǒng)的性能,在搭建好的硬件平臺(tái)上進(jìn)行了單腿控制實(shí)驗(yàn),其中上位機(jī)軟件中顯示的控制大小腿關(guān)節(jié)脈沖數(shù)分別如圖2所示,其理論值分別如圖3所示。由圖2與圖3得出,向大小腿電機(jī)實(shí)時(shí)發(fā)送的控制指令數(shù)據(jù)與理論值沒(méi)有差異,說(shuō)明本系統(tǒng)的控制架構(gòu)是合理可行的。整個(gè)運(yùn)動(dòng)過(guò)程中電機(jī)的控制精度約為0.005 5°,滿(mǎn)足系統(tǒng)運(yùn)動(dòng)控制要求。
圖2 腿部脈沖個(gè)數(shù)控制指令值
圖3 腿部脈沖個(gè)數(shù)理論值
本文以NI sbRIO-9627為核心設(shè)計(jì)了一種集分層式控制系統(tǒng)結(jié)構(gòu)與分布式控制系統(tǒng)結(jié)構(gòu)特點(diǎn)與一體的復(fù)合式控制系統(tǒng)結(jié)構(gòu),搭建了一套相應(yīng)的控制系統(tǒng)硬件平臺(tái)。該控制系統(tǒng)充分利用了多核處理器的高速運(yùn)算處理能力和FPGA豐富的外設(shè)資源以及并行能力。通過(guò)相應(yīng)的測(cè)試實(shí)驗(yàn)驗(yàn)證了該平臺(tái)工作穩(wěn)定,對(duì)機(jī)器人各關(guān)節(jié)控制準(zhǔn)確,能完成四足機(jī)器人實(shí)時(shí)控制的要求。該四足機(jī)器人控制系統(tǒng)在實(shí)時(shí)計(jì)算能力、存儲(chǔ)容量、集成度、實(shí)時(shí)性、可擴(kuò)展性和小型化上具有良好的優(yōu)勢(shì)。