羅慶生,朱立松,牛鍇,司世才
(1.北京理工大學(xué) 機(jī)電學(xué)院,北京100081;2.北京理工大學(xué) 機(jī)械與車輛學(xué)院)
相對于輪式及履帶式機(jī)器人,足式機(jī)器人對復(fù)雜地形具有更強(qiáng)的適應(yīng)能力,在搶險救災(zāi)、物資運(yùn)輸和軍事應(yīng)用等領(lǐng)域有著廣闊的發(fā)展前景。四足機(jī)器人由于具有較強(qiáng)的運(yùn)動穩(wěn)定性和較低的機(jī)構(gòu)復(fù)雜度,得到了人們的青睞,是目前業(yè)界競相研究的對象。筆者所在團(tuán)隊研制了一款液壓仿生四足機(jī)器人(如圖1所示),該機(jī)器人的每一條腿均含有3個旋轉(zhuǎn)關(guān)節(jié),分別是側(cè)擺關(guān)節(jié)、髖關(guān)節(jié)以及膝關(guān)節(jié)。其中側(cè)擺關(guān)節(jié)位于機(jī)體上部,負(fù)責(zé)整條腿的側(cè)擺運(yùn)動;髖關(guān)節(jié)和膝關(guān)節(jié)位于其下,實現(xiàn)大腿和小腿的屈伸運(yùn)動。3個關(guān)節(jié)均為液壓缸驅(qū)動,通過控制液壓缸的行程距離和動作時序來實現(xiàn)機(jī)器人的各種運(yùn)動步態(tài),如行走、小跑等。該機(jī)器人的結(jié)構(gòu)雖不算復(fù)雜,但四足機(jī)器人特有的多關(guān)節(jié)屬性,以及對機(jī)器人傳感器信息融合、液壓缸伺服精度的特殊要求,使得其控制是一個十分復(fù)雜的問題[1],有必要開展系統(tǒng)研究和深入探索。
圖1 液壓仿生四足機(jī)器人
根據(jù)液壓仿生四足機(jī)器人的工作特性與設(shè)計要求,其控制總系統(tǒng)由若干子系統(tǒng)組成。其中的數(shù)據(jù)采集子系統(tǒng)、位姿估計子系統(tǒng)、路徑規(guī)劃子系統(tǒng)屬于上層控制系統(tǒng),主要根據(jù)數(shù)據(jù)采集子系統(tǒng)獲得數(shù)據(jù),并對路徑進(jìn)行規(guī)劃,完成頂層決策控制任務(wù);而運(yùn)動控制子系統(tǒng)及驅(qū)動子系統(tǒng)屬于下層控制系統(tǒng),主要執(zhí)行上層決策控制系統(tǒng)生成的控制參數(shù),通過多軸聯(lián)動軌跡規(guī)劃、插補(bǔ)運(yùn)算以及對各個液壓執(zhí)行機(jī)構(gòu)的位置、速度和壓力伺服控制,實現(xiàn)對液壓缸的穩(wěn)定控制[2]。
根據(jù)上述控制任務(wù),首先分析現(xiàn)有機(jī)器人常用控制系統(tǒng)的3種結(jié)構(gòu)形式[3],即集中控制系統(tǒng)、分布式控制系統(tǒng)和分層式控制系統(tǒng),了解其使用特性和適用范圍,以確定最終采用哪種控制系統(tǒng)架構(gòu)。集中式控制系統(tǒng)雖然結(jié)構(gòu)簡單、實現(xiàn)方便,但是對單CPU的性能提出了更高要求,不適合復(fù)雜的控制對象;分布式控制系統(tǒng)雖然擁有較好的擴(kuò)展性,但是系統(tǒng)卻過于復(fù)雜;分層控制系統(tǒng)的特點是層次清晰、結(jié)構(gòu)穩(wěn)定,但擴(kuò)展性不好。
液壓仿生四足機(jī)器人運(yùn)動關(guān)節(jié)多達(dá)12個,若要實現(xiàn)良好的控制,一方面要對12個關(guān)節(jié)進(jìn)行準(zhǔn)確高效的控制,另一方面各關(guān)節(jié)之間還要相互協(xié)調(diào),此外,還要對各種環(huán)境信息進(jìn)行處理作出反應(yīng)。因此結(jié)合分層控制和分布式控制的優(yōu)點,設(shè)計了一種復(fù)合控制系統(tǒng)。該復(fù)合控制系統(tǒng)首先依據(jù)功能劃分子系統(tǒng),再依據(jù)優(yōu)先級為系統(tǒng)劃分層次,設(shè)計的控制系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 液壓仿生四足機(jī)器人控制系統(tǒng)結(jié)構(gòu)框圖
具體來說,該系統(tǒng)按照功能分為3個層級,決策層和步態(tài)生成層各設(shè)計一個CPU,伺服控制器每個腿各一個,共4個。決策層的主要任務(wù)是接收并處理環(huán)境信息,接收操控指令,同時向步態(tài)生成層發(fā)送命令;步態(tài)生成層的任務(wù)是規(guī)劃機(jī)器人步態(tài),并將生成的相應(yīng)動作指令發(fā)送給關(guān)節(jié)運(yùn)動器;伺服控制器采用分布式結(jié)構(gòu),用來驅(qū)動各個液壓缸。
在液壓仿生四足機(jī)器人的控制系統(tǒng)中,決策層需要采集和處理自身及外界的大量信息,同時還需要根據(jù)環(huán)境實時判斷,屬于典型的機(jī)器傳感探測和伺服控制相互協(xié)調(diào)、并行工作的系統(tǒng),因此決策層的處理芯片必須具有良好的性能?;贏RM Cortex-A8內(nèi)核的S5PV210芯片具有較高的工作主頻,運(yùn)算功能強(qiáng)大,并且端口豐富,可以十分方便地接入外圍器件,故決策層芯片選擇S5PV210芯片。
步態(tài)生成層需要快速插補(bǔ),因而需要較高的主頻和位寬,要求具有浮點運(yùn)算單元,以實現(xiàn)高精度的插補(bǔ)運(yùn)算工作。綜合以上考慮,選擇具有浮點運(yùn)算單元的基于ARM Cortex-M4內(nèi)核的STM32F407芯片。
實際上,伺服控制器除了滿足實時伺服算法所需的運(yùn)算性能開銷外,還需要具有盡可能功能強(qiáng)大的片上外設(shè),如12位、8通道、1 MHz采樣頻率的高性能ADC,功能完善的定時器,以及豐富且響應(yīng)靈活的中斷資源。STM32F407能滿足伺服控制器的要求,故伺服控制層也選擇STM32F407[4]。
控制層到步態(tài)生成層(主通信接口)用于機(jī)器人下位機(jī)主控進(jìn)行數(shù)據(jù)交互、接收動作指令信息、反饋工作狀態(tài)。本接口屬于點對點接口,不需要考慮接口的總線特點。常用的點對點通信方式主要包括UART、SPI、USB和Ethernet。上述幾種的信號傳輸接口的各自性能比較略——編者注,綜合比較,本文選擇Ethernet作為通信方式。
伺服總線接口是指由步態(tài)生成層到伺服控制器的接口,主要職能是向4個伺服驅(qū)動器傳輸各液壓伺服指令和向上反饋各液壓伺服單元的工作狀態(tài),因此該總線接口需要具備一對多的特性。常用的總線主要包括I2C總線、RS422/485串行通信總線、SPI總線、CAN總線、以太網(wǎng),各種總線技術(shù)的特性對比略——編者注,綜合比較,本文選擇CAN總線為系統(tǒng)的伺服總線。
CAN總線設(shè)計電路如圖3所示[5]。
圖3 CAN總線電路設(shè)計
液壓仿生四足機(jī)器人所配置的伺服控制器具有相應(yīng)物理量的傳感檢測信號采集接口(如液壓缸位置傳感器、流量傳感器、油壓傳感器、溫度傳感器等),現(xiàn)場傳感器的信號都可以在傳感器選型階段指定為0~10 V電壓型和4~20 m A電流型。為了接口兼容,所選傳感器信號在接入伺服控制器之前都預(yù)先調(diào)理為0~10 V電壓型信號。對應(yīng)傳感反饋接口,即為0~10 V電壓信號采集接口。本接口使用STM32F407的片內(nèi)12位高速ADC來實現(xiàn)[6],配合集成運(yùn)算放大器搭建阻抗和信號匹配電路,實現(xiàn)采集功能,原理圖如圖4所示。
圖4 伺服閥控制接口
本電路的功能有兩個,即阻抗匹配與電壓匹配。第一,將SA_IN1端輸入的電壓信號進(jìn)行一級電壓跟隨放大,降低電壓型傳感器的輸出阻抗,進(jìn)行阻抗匹配;第二,通過在運(yùn)放輸出端配置電位計R10和1 kΩ電阻R11,通過分壓設(shè)計將輸出電壓由0~10 V轉(zhuǎn)換為0~3 V,匹配MCU ADC 0~3.6 V輸入電壓范圍。如果通過簡易增益后阻抗仍然不匹配,可在原輸出級再加入一級跟隨放大器,進(jìn)一步降低輸出阻抗。
在A/D采樣部分中,系統(tǒng)伺服頻率為1 kHz,傳感器采樣頻率選擇10 kHz以上,才能有效還原目標(biāo)信號,再加大一個數(shù)量級,用以對采樣結(jié)果進(jìn)行數(shù)字濾波,傳感器采樣頻率確定為100 kHz,STM32F407片內(nèi)ADC采樣頻率為2.4 MHz,可以滿足指標(biāo)要求。使用DMA進(jìn)行連續(xù)數(shù)據(jù)采樣,可以在一個伺服周期讀取全部緩存樣本進(jìn)行數(shù)字濾波,節(jié)約CPU時間資源。
液壓仿生四足機(jī)器人的電液伺服系統(tǒng)使用國內(nèi)某公司提供的HY130電液伺服閥,該伺服閥為噴嘴擋板兩級放大伺服閥,其電機(jī)械轉(zhuǎn)換裝置為力矩馬達(dá),由力矩馬達(dá)驅(qū)動噴嘴擋板放大級,然后驅(qū)動功率級四邊閥閥芯。力矩馬達(dá)線圈內(nèi)阻為80Ω,滿偏驅(qū)動電流為40 m A。
伺服閥控制接口是電液伺服控制系統(tǒng)的輸出端,輸出一個電流信號到伺服閥輸入級力矩馬達(dá)線圈,產(chǎn)生偏轉(zhuǎn)力矩,改變伺服閥前級噴嘴擋板閥的噴嘴間隙,通過液壓放大作用,驅(qū)動伺服閥功率級四邊閥閥芯移動,最終改變出油方向和流量,推動液壓缸以一定的速度向有桿腔或無桿腔方向移動。伺服閥控制接口的任務(wù)就是在精度要求內(nèi),輸出符合伺服閥輸入范圍的電流。STM32F407具有內(nèi)部的DAC,但是只有兩個通道,無法滿足本系統(tǒng)每個伺服控制器3通道輸出、控制機(jī)器人每條腿3個液壓缸的任務(wù)需要,因此本設(shè)計使用具有獨(dú)立外部DAC的DAC8565,支持4通道模擬輸出。DAC8586電路略——編者注。
通過DAC直接輸出的是高輸出阻抗、缺乏推挽能力的電壓信號,還需要經(jīng)過運(yùn)算放大器降低輸出阻抗,并設(shè)計恒流源,將電壓輸出形式轉(zhuǎn)換為電流輸出形式,直接驅(qū)動伺服閥輸入級。同時伺服閥控制需要雙向電流,放大電路不僅需要進(jìn)行功率放大,還要將DAC輸出的直流電壓轉(zhuǎn)換為電流,原理圖如圖5所示。
至此,機(jī)器人控制系統(tǒng)的硬件部分設(shè)計完成,未經(jīng)包裝的PCB電路板略——編者注。
圖5 電壓轉(zhuǎn)電流電路
液壓仿生四足機(jī)器人控制系統(tǒng)的軟件系統(tǒng)架構(gòu)設(shè)計如圖6所示,根據(jù)硬件架構(gòu)設(shè)計分為決策層、步態(tài)生成層、伺服控制器3個部分。決策層采集環(huán)境信息,生成決策,向下發(fā)送命令。步態(tài)生成層部分主要包括軌跡規(guī)劃算法(位置、速度插補(bǔ))、工作狀態(tài)分析處理;伺服控制器共有4個,主要負(fù)責(zé)伺服控制算法,參數(shù)自整定及模糊自適應(yīng)PID算法,傳感器信號采集處理3個部分以及伺服總線驅(qū)動、伺服閥控制接口驅(qū)動、傳感器反饋接口驅(qū)動等硬件驅(qū)動。
圖6 軟件功能圖
液壓仿生四足機(jī)器人的控制系統(tǒng)包含多個子系統(tǒng),涉及分布式多傳感器信息采集、算法實現(xiàn)、數(shù)據(jù)通信等,屬于多任務(wù)、高復(fù)雜性的系統(tǒng),并且任務(wù)間需要相互協(xié)調(diào)。同時,平臺對實時性提出很高要求,以滿足平臺工作時對外界激勵的快速響應(yīng)。
采用無操作系統(tǒng)平臺的方式開發(fā)控制軟件,在多任務(wù)管理、事件管理等方面存在不足,因而采用多任務(wù)實時操作系統(tǒng)(RTOS),以分時方式運(yùn)行多個任務(wù),根據(jù)任務(wù)之間的優(yōu)先級進(jìn)行切換。實時操作系統(tǒng)優(yōu)點是能夠管理多個任務(wù),具有高實時性,當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠迅速接收,且控制系統(tǒng)能夠迅速作出響應(yīng),從而保證平臺的高效可靠工作。目前,實時操作系統(tǒng)主要有QNX、Linux、μC/OS-II、Vx Works等[7]。
綜合考慮,采用Linux作為嵌入式實時操作系統(tǒng),在該系統(tǒng)平臺上開發(fā)相關(guān)軟件,不但能滿足整個控制系統(tǒng)軟件平臺性能要求,而且會大大縮短開發(fā)周期。
步態(tài)生成層在接收到?jīng)Q策層命令之后,生成步態(tài),然后根據(jù)步態(tài)原始數(shù)據(jù)按照次樣條曲線進(jìn)行插補(bǔ)運(yùn)算。將數(shù)據(jù)通過CAN總線送達(dá)伺服控制器,伺服控制器通過參數(shù)自整定對系統(tǒng)響應(yīng)進(jìn)行測試,修改PID參數(shù),模糊自適應(yīng)PID可以對這個非線性、參數(shù)時變的系統(tǒng)進(jìn)行穩(wěn)定控制。同時伺服控制將采集到的傳感器信息再逐級返回到?jīng)Q策層,供決策層決策。
為了測試機(jī)器人控制系統(tǒng)的性能,分別進(jìn)行了倒置的半體節(jié)實驗和整體性能實驗。試驗中模擬整個通信過程,使用PC機(jī)發(fā)送運(yùn)動指令,決策層接收命令后向下發(fā)送給步態(tài)生成層,步態(tài)生成層對步態(tài)插補(bǔ),再向下發(fā)送給伺服驅(qū)動器。同時伺服控制器采集液壓缸位置信息,再逐級上傳給PC,保存數(shù)據(jù)以便后期分析。
為了給機(jī)器人整機(jī)實驗積累經(jīng)驗,首先進(jìn)行機(jī)器人半體節(jié)的倒置實驗,該實驗的目的是驗證通信是否通暢和了解機(jī)器人伺服驅(qū)動的能力。實驗場景略——編者注。機(jī)器人半體節(jié)實驗表明,控制系統(tǒng)的通信十分通暢,伺服驅(qū)動系統(tǒng)亦能滿足機(jī)器人的運(yùn)動要求。
在進(jìn)行機(jī)器人半體節(jié)試驗后,開始對控制系統(tǒng)整體性能進(jìn)行全面檢驗,將控制系統(tǒng)搭載在四足機(jī)器人身上,為了安全防護(hù),特別設(shè)計了一個支架裝置,圖略——編者注,機(jī)器人在15 MPa壓力,按1 Hz的步頻進(jìn)行對角小跑實驗。實驗結(jié)果表明,機(jī)器人以小跑步態(tài)順暢運(yùn)動,控制系統(tǒng)能夠滿足四足機(jī)器人的運(yùn)動要求。
根據(jù)液壓仿生四足機(jī)器人的結(jié)構(gòu)特點、作業(yè)條件和工作特性,設(shè)計了一種分層和分布式系統(tǒng)相結(jié)合的控制系統(tǒng)架構(gòu)。液壓仿生四足機(jī)器人半體節(jié)和整機(jī)的運(yùn)動實驗結(jié)果表明,機(jī)器人能以給定步態(tài)順暢運(yùn)動,充分表明所研究的控制系統(tǒng)能滿足四足機(jī)器人的運(yùn)動要求。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]殷勇華,卞新高,汪赟,等.基于FPGA的四足機(jī)器人控制系統(tǒng)[J].制造業(yè)自動化,2014(20).
[2]榮學(xué)文.SCalf液壓驅(qū)動四足機(jī)器人的機(jī)構(gòu)設(shè)計與運(yùn)動分析[D].濟(jì)南:山東大學(xué),2013.
[3]蘇曉東,羅慶生,李華師,等.仿生四足機(jī)器人控制系統(tǒng)設(shè)計[J].機(jī)械設(shè)計與制造,2013(2).
[4]范甜甜,俞志偉,楊屹巍,等.基于STM32F103 VET6的四足機(jī)器人控制系統(tǒng)設(shè)計[J].機(jī)械與電子,2012(12).
[5]吳鑫,齊鉑金,吳紅杰.基于CAN總線的弧焊機(jī)器人控制系統(tǒng)的設(shè)計[J].制造業(yè)自動化,2000(7).
[6]張鵬翔,廖啟征,魏世民,等.液壓驅(qū)動的四足機(jī)器人控制系統(tǒng)研究[J].液壓與氣動,2011(1).