游博洋,王險峰,趙 玲,李 龍,逄萬山,黨志強
(東北石油大學(xué) 計算機與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
近年來,外骨骼機器人在動力、傳感器、控制[1]/步態(tài)算法等方面逐漸成熟[2],許多研究者設(shè)計了各式各樣的外骨骼系統(tǒng)并考慮用于生活、醫(yī)療、軍事等領(lǐng)域,分別對于各關(guān)節(jié)機械結(jié)構(gòu)[3]、整體電控系統(tǒng)[4-5]、步態(tài)穩(wěn)定性[6-7]、傳感器系統(tǒng)[8-10]以及特殊驅(qū)動方式[11-14]等方面進行了相應(yīng)的研究。目前,國內(nèi)外在該領(lǐng)域已較為成熟,但并未普及,其市場缺口極大,且由國務(wù)院法制辦于2015年7月發(fā)布《殘疾預(yù)防和殘疾人康復(fù)條例(草案)(征求意見稿)》顯示,康復(fù)外骨骼領(lǐng)域也受到政府支持,同時研究者也對其在康復(fù)應(yīng)用中的可行性進行了相應(yīng)的分析[15]。但由于外骨骼機械結(jié)構(gòu)、軟硬件系統(tǒng)復(fù)雜等原因,上市公司開發(fā)的外骨骼也很難獲得CFDA認證。
該文所實現(xiàn)的外骨骼具有成本較低、易擴展、能無線控制等優(yōu)點,具有兩種控制方式可按需切換,可作為一套外骨骼框架在未來進行進一步優(yōu)化。且由于足底EMG存在超前ZMP約160 ms的優(yōu)勢[8],本外骨骼設(shè)計同樣利用該特性提高外骨骼機器人行走穩(wěn)定性。
由于外骨骼機器人整體作為一個可供人穿戴的機構(gòu),需要保證使用安全的同時足夠輕便,且擁有足夠的活動范圍和尺寸可調(diào)整,整體應(yīng)允許承受一定的沖擊力。設(shè)計尺寸參考由國家技術(shù)監(jiān)督局發(fā)布的《中國成年人人體尺寸(GB/T 10000-1988)》中的人體數(shù)據(jù),并結(jié)合個人情況進行一定調(diào)整。
如圖1所示,該外骨骼機器人整體結(jié)構(gòu)主要由腰部整體結(jié)構(gòu)、髖關(guān)節(jié)整體結(jié)構(gòu)、膝關(guān)節(jié)整體結(jié)構(gòu)、踝關(guān)節(jié)整體結(jié)構(gòu)、大腿調(diào)節(jié)機構(gòu)、小腿調(diào)節(jié)機構(gòu)和腳掌結(jié)構(gòu)組成。本設(shè)計中單腿有3個電機驅(qū)動的關(guān)節(jié)和1個可自由轉(zhuǎn)動的關(guān)節(jié),保證了人肢體運動時良好的跟隨性。大腿和小腿處各有一個由直線導(dǎo)桿、下部固定塊、上部固定塊、可調(diào)固定塊構(gòu)成的伸縮調(diào)整機構(gòu),使得該外骨骼機器人能適配不同體型的人。
1.腰部整體結(jié)構(gòu) 2.髖關(guān)節(jié)整體結(jié)構(gòu) 3.膝關(guān)節(jié)整體結(jié)構(gòu)4.踝關(guān)節(jié)整體結(jié)構(gòu) 5.大腿調(diào)節(jié)機構(gòu) 6.小腿調(diào)節(jié)機構(gòu) 7.腳掌結(jié)構(gòu)
腰部結(jié)構(gòu)由腰部固定板、擺動固定塊、轉(zhuǎn)動軸和髖關(guān)節(jié)電機安裝板組成。腰部固定板嵌入于擺動固定塊中,髖關(guān)節(jié)電機安裝板和擺動固定塊之間可自由轉(zhuǎn)動,兩腿部外骨骼因此可自由向左右兩邊轉(zhuǎn)動。
髖關(guān)節(jié)結(jié)構(gòu)由擺動固定塊、電機安裝板、電機安裝板蓋板、57步進電機、電機減速機和大腿上板組成。
髖關(guān)節(jié)在人體或機器人中均用于連接大腿和腰部,人體的髖關(guān)節(jié)由股骨頭和髖臼構(gòu)成,其能承受人體上半身的重量,可作多軸的運動,但因股骨頭深深嵌入髖臼內(nèi),且有各種韌帶的限制,其運動幅度遠遜于肩關(guān)節(jié)。
圖1中,57步進電機與電機減速機間由M5螺絲固定,電機安裝板與電機安裝板蓋板于兩端柱形沉頭孔通過M8六角頭螺栓固定。帶編碼器的步進電機通過齒輪減速機輸出到大腿上板,可帶動整個大腿前后運動。由電機安裝板和電機安裝蓋板內(nèi)結(jié)構(gòu)構(gòu)成的機械限位也從結(jié)構(gòu)上有效地保證了使用者的安全。
膝關(guān)節(jié)結(jié)構(gòu)由大腿上板、伸縮調(diào)整機構(gòu)、膝關(guān)節(jié)上板、膝關(guān)節(jié)連接板和電動推桿組成。
人體的膝關(guān)節(jié)是由股骨下端、脛骨上端和髕骨組成的,是人體中最大且最復(fù)雜的關(guān)節(jié),屬于滑車關(guān)節(jié)。長期體力勞動者和肥胖人群易出現(xiàn)膝關(guān)節(jié)相關(guān)病癥,使用該外骨骼機器人減輕關(guān)節(jié)負荷對該類人群有一定幫助。
該膝關(guān)節(jié)設(shè)計由電動推桿作為動力,其核心為驅(qū)動電機、減速齒輪、螺桿、螺母等部件組成的直線驅(qū)動器。本設(shè)計中選擇使用合適行程的電動推桿,與膝關(guān)節(jié)其他結(jié)構(gòu)形成機械限位,使膝關(guān)節(jié)轉(zhuǎn)動角度為0~90度,且整體設(shè)計緊湊。伸縮調(diào)整機構(gòu)由直線導(dǎo)桿和可調(diào)固定塊組成,通過更換固定塊實現(xiàn)對不同體型人群的適配。
踝關(guān)節(jié)及腳掌結(jié)構(gòu)由踝關(guān)節(jié)上板、57步進電機、電機減速機和足部裝配體(腳板、腳板安裝板、鞋子固定環(huán)、腳部電機支架)組成。
人體踝關(guān)節(jié)由脛骨、腓骨下端關(guān)節(jié)面以及距骨滑車構(gòu)成。從足與小腿間角度不同可分為背屈和跖屈,兩者由足與小腿間的角度區(qū)分。背屈時,足尖朝上,而足部與小腿間的角度小于90度;跖屈時,足尖向下,足與小腿間的角度大于90度。由于跖屈時踝關(guān)節(jié)松動容易發(fā)生扭傷,若可使用外骨骼調(diào)整行走時腳平面仰角,則有可能降低踝關(guān)節(jié)扭傷的可能。
踝關(guān)節(jié)部分驅(qū)動使用57步進電機,腳板上即為腳底壓力傳感器陣列,使用者可赤腳或穿鞋將足放上腳板,然后使用鞋子固定環(huán)將足部固定。電機固定架上有限位開關(guān),可在超過限位時斷電保證用戶安全。
外骨骼系統(tǒng)設(shè)計中分為感受器、效應(yīng)器和核心控制器三部分。各部分都有獨立電池并由控制器執(zhí)行各部分電源管理。
本外骨骼硬件設(shè)計中,主要由感受器采集使用者數(shù)據(jù),核心控制器負責(zé)復(fù)雜運算,效應(yīng)器負責(zé)執(zhí)行控制信號。各部分均可通過有線或無線兩種連接方式進行通信,且電源獨立各部分可分開工作。
感受器部分為下肢感受器單元兩種感受器單元。如圖2所示,感受器單元包括stm32f103rct6局部控制器、電源管理模塊、肌電傳感器陣列[16]、各關(guān)節(jié)電位器陣列、無線通信模塊和壓力傳感器陣列。圖2給出了該感受器的硬件原理框圖,硬件可由所述結(jié)構(gòu)實現(xiàn)所需功能。
圖2 感受器硬件原理框圖
電池經(jīng)過電源管理電路后分別接入電源共享接口、穩(wěn)壓電源電路,并與單片機通信發(fā)送電源信息,該外骨骼系統(tǒng)電網(wǎng)可通過電源共享接口并入。穩(wěn)壓電源獲得的5 V、3.3 V電壓分別給控制器和各傳感器供電。EMG肌電傳感器通過差分電極采集表面肌電信號后放大、濾波以及A/D轉(zhuǎn)換獲得肌電信號發(fā)送給單片機;HX711為一款國產(chǎn)的兩路24位可選增益的A/D轉(zhuǎn)換器,內(nèi)部集成了穩(wěn)壓電源、片內(nèi)時鐘振蕩器等電路,具有集成度高、抗干擾性強的優(yōu)點。該ADC芯片典型工作電流小于1.7 mA,斷電電流小于1 μA,工作電壓范圍為2.6 V~5.5 V,工作溫度范圍為-20℃~+85 ℃。本設(shè)計中設(shè)置增益為128,使用80 Hz輸出數(shù)據(jù)速率,使用電橋電路接入FSR壓力傳感器,控制器將定時請求ADC數(shù)值并換算為壓力值;WH148 B10K電位器為一款長壽命可調(diào)電位器,本設(shè)計選用10 kΩ款,其三個引出端分別接入GND、3V3和stm32的ADC端口,使用內(nèi)置12位ADC進行采樣換算關(guān)節(jié)角度;nRF24L01無線收發(fā)器是一款由NORDIC公司生產(chǎn)的單片無線收發(fā)器芯片,可工作在2.4 GHz~2.5 GHz,其工作溫度為-40 ℃~+80 ℃,擁有極低的電流消耗,在發(fā)射功率為0 dBm時,發(fā)射和接收模式中僅消耗約12 mA,其無線數(shù)據(jù)傳輸速率支持1 Mbps/2 Mbps,并擁有126個通訊通道,6個數(shù)據(jù)通道;CAN總線作為國際上應(yīng)用最廣泛的現(xiàn)場總線之一,其高性能和可靠性得到了業(yè)界廣泛認同,故本設(shè)計選擇CAN作為有線通信方式。感受器中使用ST公司的STM32F103RCT6單片機作為控制器,該MCU具有一個32位ARM Cortex-M3架構(gòu)RISC處理器,具有72 MHz的較高速度,豐富的外設(shè)、較強的處理能力和256KB ROM/48KB RAM且集成CAN控制器使其被選擇成為本設(shè)計中感受器和效應(yīng)器的控制核心。由于該芯片集成了CAN控制器,為實現(xiàn)CAN總線故還需要一片CAN收發(fā)器,而SN65HVD230為TI公司生產(chǎn)的3.3 V CAN收發(fā)器,使用該收發(fā)器的CAN總線具有較高通訊速率,最高可達1 Mb/s,抗干擾能力較好且具有高可靠性。該收發(fā)器可用于較高干擾環(huán)境下,工作在低電流等待模式時,其典型電流僅有370微安。SN65HVD230 CAN收發(fā)器在這里將實現(xiàn)二進制碼流和差分信號的轉(zhuǎn)換。各個傳感器采樣后通過stm32f103rct6微控制器進行匯總,并根據(jù)不同模式通過無線收發(fā)器或微控制器中集成的CAN總線與效應(yīng)器或高性能核心控制器通信。
效應(yīng)器部分為下肢效應(yīng)器單元兩種效應(yīng)器單元。圖3中可以看到效應(yīng)器單元包括stm32f103rct6局部控制器、電源管理模塊、電機及其編碼器、無線通信模塊和壓力傳感器陣列。
圖3 效應(yīng)器硬件原理框圖
效應(yīng)器硬件結(jié)構(gòu)與感受器大體相同,主要區(qū)別在于效應(yīng)器中沒有EMG肌電傳感器和用于測量關(guān)節(jié)角度的電位器,但相應(yīng)增加了外骨骼所需要的全橋有刷直流電機驅(qū)動器、編碼器電機、閉環(huán)步進電機驅(qū)動器、57步進電機以及PID電流環(huán)所需的ACS712霍爾電流傳感器。
本外骨骼機器人設(shè)計中使用了帶編碼器的電動推桿,其核心動力由一個有刷直流電機提供。該電機使用的編碼器為AB相增量式正交霍爾編碼器,由兩個方波脈沖相位可解碼得到電機位置變化方向和距離。全橋電機驅(qū)動器使用HIP4082IBZ全橋式功率驅(qū)動芯片,具有80V/1.25A峰值驅(qū)動能力,具有可程控的死區(qū)時間,其控制范圍為0.1 μs~4.5 μs,使用時驅(qū)動器的偏置電壓由自舉和電荷泵來保證,可用于UPS系統(tǒng)、直流電機控制、隔離型全橋式開關(guān)穩(wěn)壓電源等領(lǐng)域。功率場效應(yīng)管選擇N型溝道的IRF3205,其Vds典型值為55 V,Id持續(xù)可達110 A,具有極低的導(dǎo)通阻抗,高效可靠且應(yīng)用范圍超廣;電流采樣部分選擇Allegro MicroSystems公司的ACS712霍爾電流傳感器,使用時將其串聯(lián)于電路。該電流傳感器外圍電路簡單,可支持80 kHz~120 kHz的帶寬,擁有μs級響應(yīng)速度,精度在-40℃~+85℃時小于2%且可測交直流電流;外骨骼髖關(guān)節(jié)和踝關(guān)節(jié)部分選擇使用57步進電機,驅(qū)動器將直接選擇配套的成品閉環(huán)步進電機驅(qū)動器。該步進電機驅(qū)動器支持寬電壓輸入,用戶可使用交流或直流24 V~60 V供電,信號輸入使用光耦隔離,邏輯輸入電流7 mA~16 mA,性能優(yōu)越便于控制故選擇使用。
如圖4所示,核心控制器包括OrangePi PC ARM控制板、MCP2515 CAN控制器、電源部分、九軸姿態(tài)傳感器、無線通信模塊五個部分。
圖4 核心控制器硬件原理框圖
核心控制器選擇使用開源的OrangePi PC ARM開發(fā)板作為控制核心。該嵌入式控制板尺寸為85 mm*55 mm,可運行常見的Android、Ubuntu、Debian系統(tǒng)。其使用了全志H3的SoC,擁有1 GB DDR3運行內(nèi)存。全志H3擁有四核ARM Cortex-A7處理器,并含有USB、UART和SPI等外設(shè)可供使用;MPU9250為九軸姿態(tài)傳感器,其內(nèi)部除集成了基本所需的3軸陀螺儀(角加速度計)、3軸加速度計和3軸磁力計(電子羅盤)外,還集成了數(shù)字運動處理器(DMP),通信使用傳輸速率可達400 kHz/s的IIC總線。其可編程陀螺儀最大可支持±2 000°/秒(dps),可編程加速度計最大可支持±16 g,以及磁力計最大可支持4 800 μT;由于全志H3內(nèi)部及OrangePi PC開發(fā)板上未集成CAN控制器和收發(fā)器,故選擇使用分立式SPI接口的CAN控制器MCP2515和CAN收發(fā)器SN65HVD230。MCP2515是由Microchip公司生產(chǎn)的一款CAN控制器。該CAN控制器完全支持CAN V2.0B技術(shù)規(guī)范,通訊速率為1 Mb/s。其工作電壓為2.7 V~5.5 V,典型工作電流為5 mA,休眠模式的典型待機電流為1 μA。且由于其工業(yè)級(I)工作溫度范圍較寬,為-40 ℃~+85 ℃,作為CAN控制器將實現(xiàn)由核心控制器編程要求的成幀處理、CRC校驗、應(yīng)答檢測、硬件過濾等功能。
整個外骨骼系統(tǒng)硬件分為感受器、效應(yīng)器和核心控制器三部分,因此對應(yīng)的軟件開發(fā)也包含這三部分。其中包含了模擬分時操作系統(tǒng)、數(shù)據(jù)通信協(xié)議、ZMP算法、神經(jīng)網(wǎng)絡(luò)PID這4個關(guān)鍵技術(shù)點
外骨骼系統(tǒng)分為主動和被動兩種控制模式(見圖5),且被動模式可無線遙控控制。主動模式中,外骨骼機器人將通過傳感器實時采集整體姿態(tài)、關(guān)節(jié)角度等信息,使用內(nèi)置步態(tài)算法控制外骨骼;被動模式中,外骨骼感受器單元將采集人體關(guān)節(jié)角度,同步控制外骨骼機器人,由于整體通信指令通用,在實現(xiàn)無線通信模塊后即可無線控制外骨骼機器人。
圖5 外骨骼系統(tǒng)主動-被動模式軟件框圖
感受器單元采集傳感器數(shù)據(jù)后,若當(dāng)前狀態(tài)為主動模式,則接收核心控制器數(shù)據(jù)請求指令,將數(shù)據(jù)傳回;若為被動模式,則直接與效應(yīng)器通信,發(fā)送同步控制指令。在核心控制器單元無效的情況下,模式切換可由效應(yīng)器單元上的應(yīng)急主動/被動切換開關(guān)和有線/無線切換開關(guān)實現(xiàn)。
效應(yīng)器單元在主動模式時,一方面采集傳感器數(shù)據(jù)保持外骨骼目標(biāo)角度并傳回感受器核心控制器單元,一方面接收執(zhí)行核心控制器的控制指令;被動模式時則直接接收感受器傳來的控制指令。
核心控制器在主動模式下,通過向效應(yīng)器和感受器請求傳感器數(shù)據(jù),通過步態(tài)算法獲取下一步運動狀態(tài),然后向效應(yīng)器發(fā)送指令;切換到被動模式后,核心控制器進入低功耗休眠狀態(tài),只接收喚醒指令和模式切換請求。正常情況下,模式切換可由核心控制器單元上的應(yīng)急主動/被動切換開關(guān)和有線/無線切換開關(guān)實現(xiàn)。
感受器和效應(yīng)器中使用的控制板為STM32F103RCT6,其支持使用面向?qū)ο蟮木幊陶Z言C++進行軟件開發(fā)。在編寫過程中各部分硬件被抽象成類,運用操作系統(tǒng)的思想,程序結(jié)構(gòu)模擬分時操作系統(tǒng),實現(xiàn)了輕量級的程序調(diào)控。
3.2.1 模擬分時操作系統(tǒng)
本設(shè)計中模擬分時操作系統(tǒng)的主要程序框圖如圖6所示。模擬分時操作系統(tǒng)在bootloader啟動后開始初始化操作系統(tǒng)所需數(shù)據(jù)結(jié)構(gòu),如內(nèi)存分配表、任務(wù)內(nèi)存指針、系統(tǒng)時間、電源信息表、系統(tǒng)任務(wù)表、用戶任務(wù)表。完成數(shù)據(jù)結(jié)構(gòu)初始化后開始進行定時器中斷配置,初始化系統(tǒng)時鐘并啟動,在系統(tǒng)啟動后用戶可根據(jù)靜態(tài)結(jié)構(gòu)體系統(tǒng)時間來獲取微秒至年的時間,并可選編譯實時時鐘芯片DS1603和萬年歷類。隨后開始初始化系統(tǒng)對象,并執(zhí)行相應(yīng)構(gòu)造函數(shù)和配置、啟動函數(shù)。該模擬分時操作系統(tǒng)至此完成基本的初始化,并在這里暴露了一個函數(shù)接口可供用戶進行一些硬件、對象的初始化操作。用戶設(shè)置程序結(jié)束后,系統(tǒng)開始裝載各個非阻塞的用戶時間片,對于可能阻塞的延時函數(shù),本操作系統(tǒng)進行了單獨的封裝,可在阻塞時運行其他時間片,保證了系統(tǒng)整體的正常運行。至此系統(tǒng)完成所有初始化,進入時間片輪轉(zhuǎn)。系統(tǒng)會首先運行系統(tǒng)進程時間片,如進行系統(tǒng)時間刷新,然后執(zhí)行調(diào)度程序,調(diào)整用戶進程順序和時間節(jié)點后運行用戶進程時間片,隨后完成本次時間片輪轉(zhuǎn)。
圖6 模擬分時操作系統(tǒng)的程序框圖
3.2.2 數(shù)據(jù)通信協(xié)議
數(shù)據(jù)通信協(xié)議(data communication protocols)是為保證數(shù)據(jù)通信雙方能有效可靠的通信而進行的一系列規(guī)定。由于NRF24L01無線2.4 GHz通信中容易因距離、環(huán)境電磁波干擾和障礙物阻礙等造成丟包和數(shù)據(jù)出現(xiàn)錯誤,以及CAN報文在高負載時可能出現(xiàn)丟包的情況,本設(shè)計中有線CAN通信和無線2.4 GHz通信均使用該通信協(xié)議保證數(shù)據(jù)指令無誤,且擁有不同的通信程序?qū)ο蟊WC不同數(shù)據(jù)連接互不干擾。程序流程如圖7所示。通信時間片開始后,程序根據(jù)協(xié)議對數(shù)據(jù)幀結(jié)構(gòu)(見表1)定義進行對幀頭的檢測,作為獲取后續(xù)數(shù)據(jù)的入口。
表1 數(shù)據(jù)幀結(jié)構(gòu)
在接收到無關(guān)數(shù)據(jù)后會直接拋棄,而在檢測到幀頭后,程序準(zhǔn)備獲取指令長度n。協(xié)議規(guī)定,當(dāng)?shù)却邮諗?shù)據(jù)超過一定時間后,即該幀視為無效幀,直接結(jié)束本次通信時間片。若在有效時間內(nèi)獲取指令長度,則將后續(xù)n+2讀取到內(nèi)存緩沖區(qū)。完成讀取后將數(shù)據(jù)和指令類型進行累加和校驗(Checksum算法),判斷有效后檢測幀結(jié)尾,若均有效則將指令和指令類型打包到指令數(shù)據(jù)結(jié)構(gòu)提交各操作系統(tǒng)進行下一步操作。
圖7 數(shù)據(jù)通信時間片程序流程
系統(tǒng)獲取指令后,將指令數(shù)據(jù)結(jié)構(gòu)傳遞給指令響應(yīng)程序,該程序?qū)χ噶钸M行相應(yīng)的解析和執(zhí)行,程序流程如圖8所示。程序?qū)⑼ㄟ^對指令結(jié)構(gòu)體中的指令類型和列表指令類型進行對比,確定指令類型相同后通過函數(shù)指針執(zhí)行相應(yīng)程序。
圖8 指令響應(yīng)程序流程
使用stm32f103rct6、orangepi嵌入式開發(fā)板、無線通信模塊以及相關(guān)的傳感器接口電路,設(shè)計實現(xiàn)了外骨骼系統(tǒng)。該外骨骼系統(tǒng)可根據(jù)腳底壓力和關(guān)節(jié)角度,主動引導(dǎo)人步態(tài)實現(xiàn)行走,也可以被動跟隨人肢體運動,且支持無線遙控外骨骼肢體,有效提高了外骨骼機器人的易用性和實用性,并使用機械結(jié)構(gòu)限位、限位開光強制關(guān)斷和軟件限位三重保護,增強了外骨骼機器人安全性,可作為基礎(chǔ)外骨骼機器人框架,具有較好的應(yīng)用價值。