游博洋,王險峰,趙 玲,李 龍,逄萬山,黨志強
(東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)
近年來,外骨骼機器人在動力、傳感器、控制[1]/步態算法等方面逐漸成熟[2],許多研究者設計了各式各樣的外骨骼系統并考慮用于生活、醫療、軍事等領域,分別對于各關節機械結構[3]、整體電控系統[4-5]、步態穩定性[6-7]、傳感器系統[8-10]以及特殊驅動方式[11-14]等方面進行了相應的研究。目前,國內外在該領域已較為成熟,但并未普及,其市場缺口極大,且由國務院法制辦于2015年7月發布《殘疾預防和殘疾人康復條例(草案)(征求意見稿)》顯示,康復外骨骼領域也受到政府支持,同時研究者也對其在康復應用中的可行性進行了相應的分析[15]。但由于外骨骼機械結構、軟硬件系統復雜等原因,上市公司開發的外骨骼也很難獲得CFDA認證。
該文所實現的外骨骼具有成本較低、易擴展、能無線控制等優點,具有兩種控制方式可按需切換,可作為一套外骨骼框架在未來進行進一步優化。且由于足底EMG存在超前ZMP約160 ms的優勢[8],本外骨骼設計同樣利用該特性提高外骨骼機器人行走穩定性。
由于外骨骼機器人整體作為一個可供人穿戴的機構,需要保證使用安全的同時足夠輕便,且擁有足夠的活動范圍和尺寸可調整,整體應允許承受一定的沖擊力。設計尺寸參考由國家技術監督局發布的《中國成年人人體尺寸(GB/T 10000-1988)》中的人體數據,并結合個人情況進行一定調整。
如圖1所示,該外骨骼機器人整體結構主要由腰部整體結構、髖關節整體結構、膝關節整體結構、踝關節整體結構、大腿調節機構、小腿調節機構和腳掌結構組成。本設計中單腿有3個電機驅動的關節和1個可自由轉動的關節,保證了人肢體運動時良好的跟隨性。大腿和小腿處各有一個由直線導桿、下部固定塊、上部固定塊、可調固定塊構成的伸縮調整機構,使得該外骨骼機器人能適配不同體型的人。

1.腰部整體結構 2.髖關節整體結構 3.膝關節整體結構4.踝關節整體結構 5.大腿調節機構 6.小腿調節機構 7.腳掌結構
腰部結構由腰部固定板、擺動固定塊、轉動軸和髖關節電機安裝板組成。腰部固定板嵌入于擺動固定塊中,髖關節電機安裝板和擺動固定塊之間可自由轉動,兩腿部外骨骼因此可自由向左右兩邊轉動。
髖關節結構由擺動固定塊、電機安裝板、電機安裝板蓋板、57步進電機、電機減速機和大腿上板組成。
髖關節在人體或機器人中均用于連接大腿和腰部,人體的髖關節由股骨頭和髖臼構成,其能承受人體上半身的重量,可作多軸的運動,但因股骨頭深深嵌入髖臼內,且有各種韌帶的限制,其運動幅度遠遜于肩關節。
圖1中,57步進電機與電機減速機間由M5螺絲固定,電機安裝板與電機安裝板蓋板于兩端柱形沉頭孔通過M8六角頭螺栓固定。帶編碼器的步進電機通過齒輪減速機輸出到大腿上板,可帶動整個大腿前后運動。由電機安裝板和電機安裝蓋板內結構構成的機械限位也從結構上有效地保證了使用者的安全。
膝關節結構由大腿上板、伸縮調整機構、膝關節上板、膝關節連接板和電動推桿組成。
人體的膝關節是由股骨下端、脛骨上端和髕骨組成的,是人體中最大且最復雜的關節,屬于滑車關節。長期體力勞動者和肥胖人群易出現膝關節相關病癥,使用該外骨骼機器人減輕關節負荷對該類人群有一定幫助。
該膝關節設計由電動推桿作為動力,其核心為驅動電機、減速齒輪、螺桿、螺母等部件組成的直線驅動器。本設計中選擇使用合適行程的電動推桿,與膝關節其他結構形成機械限位,使膝關節轉動角度為0~90度,且整體設計緊湊。伸縮調整機構由直線導桿和可調固定塊組成,通過更換固定塊實現對不同體型人群的適配。
踝關節及腳掌結構由踝關節上板、57步進電機、電機減速機和足部裝配體(腳板、腳板安裝板、鞋子固定環、腳部電機支架)組成。
人體踝關節由脛骨、腓骨下端關節面以及距骨滑車構成。從足與小腿間角度不同可分為背屈和跖屈,兩者由足與小腿間的角度區分。背屈時,足尖朝上,而足部與小腿間的角度小于90度;跖屈時,足尖向下,足與小腿間的角度大于90度。由于跖屈時踝關節松動容易發生扭傷,若可使用外骨骼調整行走時腳平面仰角,則有可能降低踝關節扭傷的可能。
踝關節部分驅動使用57步進電機,腳板上即為腳底壓力傳感器陣列,使用者可赤腳或穿鞋將足放上腳板,然后使用鞋子固定環將足部固定。電機固定架上有限位開關,可在超過限位時斷電保證用戶安全。
外骨骼系統設計中分為感受器、效應器和核心控制器三部分。各部分都有獨立電池并由控制器執行各部分電源管理。
本外骨骼硬件設計中,主要由感受器采集使用者數據,核心控制器負責復雜運算,效應器負責執行控制信號。各部分均可通過有線或無線兩種連接方式進行通信,且電源獨立各部分可分開工作。
感受器部分為下肢感受器單元兩種感受器單元。如圖2所示,感受器單元包括stm32f103rct6局部控制器、電源管理模塊、肌電傳感器陣列[16]、各關節電位器陣列、無線通信模塊和壓力傳感器陣列。圖2給出了該感受器的硬件原理框圖,硬件可由所述結構實現所需功能。

圖2 感受器硬件原理框圖
電池經過電源管理電路后分別接入電源共享接口、穩壓電源電路,并與單片機通信發送電源信息,該外骨骼系統電網可通過電源共享接口并入。穩壓電源獲得的5 V、3.3 V電壓分別給控制器和各傳感器供電。EMG肌電傳感器通過差分電極采集表面肌電信號后放大、濾波以及A/D轉換獲得肌電信號發送給單片機;HX711為一款國產的兩路24位可選增益的A/D轉換器,內部集成了穩壓電源、片內時鐘振蕩器等電路,具有集成度高、抗干擾性強的優點。該ADC芯片典型工作電流小于1.7 mA,斷電電流小于1 μA,工作電壓范圍為2.6 V~5.5 V,工作溫度范圍為-20℃~+85 ℃。本設計中設置增益為128,使用80 Hz輸出數據速率,使用電橋電路接入FSR壓力傳感器,控制器將定時請求ADC數值并換算為壓力值;WH148 B10K電位器為一款長壽命可調電位器,本設計選用10 kΩ款,其三個引出端分別接入GND、3V3和stm32的ADC端口,使用內置12位ADC進行采樣換算關節角度;nRF24L01無線收發器是一款由NORDIC公司生產的單片無線收發器芯片,可工作在2.4 GHz~2.5 GHz,其工作溫度為-40 ℃~+80 ℃,擁有極低的電流消耗,在發射功率為0 dBm時,發射和接收模式中僅消耗約12 mA,其無線數據傳輸速率支持1 Mbps/2 Mbps,并擁有126個通訊通道,6個數據通道;CAN總線作為國際上應用最廣泛的現場總線之一,其高性能和可靠性得到了業界廣泛認同,故本設計選擇CAN作為有線通信方式。感受器中使用ST公司的STM32F103RCT6單片機作為控制器,該MCU具有一個32位ARM Cortex-M3架構RISC處理器,具有72 MHz的較高速度,豐富的外設、較強的處理能力和256KB ROM/48KB RAM且集成CAN控制器使其被選擇成為本設計中感受器和效應器的控制核心。由于該芯片集成了CAN控制器,為實現CAN總線故還需要一片CAN收發器,而SN65HVD230為TI公司生產的3.3 V CAN收發器,使用該收發器的CAN總線具有較高通訊速率,最高可達1 Mb/s,抗干擾能力較好且具有高可靠性。該收發器可用于較高干擾環境下,工作在低電流等待模式時,其典型電流僅有370微安。SN65HVD230 CAN收發器在這里將實現二進制碼流和差分信號的轉換。各個傳感器采樣后通過stm32f103rct6微控制器進行匯總,并根據不同模式通過無線收發器或微控制器中集成的CAN總線與效應器或高性能核心控制器通信。
效應器部分為下肢效應器單元兩種效應器單元。圖3中可以看到效應器單元包括stm32f103rct6局部控制器、電源管理模塊、電機及其編碼器、無線通信模塊和壓力傳感器陣列。

圖3 效應器硬件原理框圖
效應器硬件結構與感受器大體相同,主要區別在于效應器中沒有EMG肌電傳感器和用于測量關節角度的電位器,但相應增加了外骨骼所需要的全橋有刷直流電機驅動器、編碼器電機、閉環步進電機驅動器、57步進電機以及PID電流環所需的ACS712霍爾電流傳感器。
本外骨骼機器人設計中使用了帶編碼器的電動推桿,其核心動力由一個有刷直流電機提供。該電機使用的編碼器為AB相增量式正交霍爾編碼器,由兩個方波脈沖相位可解碼得到電機位置變化方向和距離。全橋電機驅動器使用HIP4082IBZ全橋式功率驅動芯片,具有80V/1.25A峰值驅動能力,具有可程控的死區時間,其控制范圍為0.1 μs~4.5 μs,使用時驅動器的偏置電壓由自舉和電荷泵來保證,可用于UPS系統、直流電機控制、隔離型全橋式開關穩壓電源等領域。功率場效應管選擇N型溝道的IRF3205,其Vds典型值為55 V,Id持續可達110 A,具有極低的導通阻抗,高效可靠且應用范圍超廣;電流采樣部分選擇Allegro MicroSystems公司的ACS712霍爾電流傳感器,使用時將其串聯于電路。該電流傳感器外圍電路簡單,可支持80 kHz~120 kHz的帶寬,擁有μs級響應速度,精度在-40℃~+85℃時小于2%且可測交直流電流;外骨骼髖關節和踝關節部分選擇使用57步進電機,驅動器將直接選擇配套的成品閉環步進電機驅動器。該步進電機驅動器支持寬電壓輸入,用戶可使用交流或直流24 V~60 V供電,信號輸入使用光耦隔離,邏輯輸入電流7 mA~16 mA,性能優越便于控制故選擇使用。
如圖4所示,核心控制器包括OrangePi PC ARM控制板、MCP2515 CAN控制器、電源部分、九軸姿態傳感器、無線通信模塊五個部分。

圖4 核心控制器硬件原理框圖
核心控制器選擇使用開源的OrangePi PC ARM開發板作為控制核心。該嵌入式控制板尺寸為85 mm*55 mm,可運行常見的Android、Ubuntu、Debian系統。其使用了全志H3的SoC,擁有1 GB DDR3運行內存。全志H3擁有四核ARM Cortex-A7處理器,并含有USB、UART和SPI等外設可供使用;MPU9250為九軸姿態傳感器,其內部除集成了基本所需的3軸陀螺儀(角加速度計)、3軸加速度計和3軸磁力計(電子羅盤)外,還集成了數字運動處理器(DMP),通信使用傳輸速率可達400 kHz/s的IIC總線。其可編程陀螺儀最大可支持±2 000°/秒(dps),可編程加速度計最大可支持±16 g,以及磁力計最大可支持4 800 μT;由于全志H3內部及OrangePi PC開發板上未集成CAN控制器和收發器,故選擇使用分立式SPI接口的CAN控制器MCP2515和CAN收發器SN65HVD230。MCP2515是由Microchip公司生產的一款CAN控制器。該CAN控制器完全支持CAN V2.0B技術規范,通訊速率為1 Mb/s。其工作電壓為2.7 V~5.5 V,典型工作電流為5 mA,休眠模式的典型待機電流為1 μA。且由于其工業級(I)工作溫度范圍較寬,為-40 ℃~+85 ℃,作為CAN控制器將實現由核心控制器編程要求的成幀處理、CRC校驗、應答檢測、硬件過濾等功能。
整個外骨骼系統硬件分為感受器、效應器和核心控制器三部分,因此對應的軟件開發也包含這三部分。其中包含了模擬分時操作系統、數據通信協議、ZMP算法、神經網絡PID這4個關鍵技術點
外骨骼系統分為主動和被動兩種控制模式(見圖5),且被動模式可無線遙控控制。主動模式中,外骨骼機器人將通過傳感器實時采集整體姿態、關節角度等信息,使用內置步態算法控制外骨骼;被動模式中,外骨骼感受器單元將采集人體關節角度,同步控制外骨骼機器人,由于整體通信指令通用,在實現無線通信模塊后即可無線控制外骨骼機器人。

圖5 外骨骼系統主動-被動模式軟件框圖
感受器單元采集傳感器數據后,若當前狀態為主動模式,則接收核心控制器數據請求指令,將數據傳回;若為被動模式,則直接與效應器通信,發送同步控制指令。在核心控制器單元無效的情況下,模式切換可由效應器單元上的應急主動/被動切換開關和有線/無線切換開關實現。
效應器單元在主動模式時,一方面采集傳感器數據保持外骨骼目標角度并傳回感受器核心控制器單元,一方面接收執行核心控制器的控制指令;被動模式時則直接接收感受器傳來的控制指令。
核心控制器在主動模式下,通過向效應器和感受器請求傳感器數據,通過步態算法獲取下一步運動狀態,然后向效應器發送指令;切換到被動模式后,核心控制器進入低功耗休眠狀態,只接收喚醒指令和模式切換請求。正常情況下,模式切換可由核心控制器單元上的應急主動/被動切換開關和有線/無線切換開關實現。
感受器和效應器中使用的控制板為STM32F103RCT6,其支持使用面向對象的編程語言C++進行軟件開發。在編寫過程中各部分硬件被抽象成類,運用操作系統的思想,程序結構模擬分時操作系統,實現了輕量級的程序調控。
3.2.1 模擬分時操作系統
本設計中模擬分時操作系統的主要程序框圖如圖6所示。模擬分時操作系統在bootloader啟動后開始初始化操作系統所需數據結構,如內存分配表、任務內存指針、系統時間、電源信息表、系統任務表、用戶任務表。完成數據結構初始化后開始進行定時器中斷配置,初始化系統時鐘并啟動,在系統啟動后用戶可根據靜態結構體系統時間來獲取微秒至年的時間,并可選編譯實時時鐘芯片DS1603和萬年歷類。隨后開始初始化系統對象,并執行相應構造函數和配置、啟動函數。該模擬分時操作系統至此完成基本的初始化,并在這里暴露了一個函數接口可供用戶進行一些硬件、對象的初始化操作。用戶設置程序結束后,系統開始裝載各個非阻塞的用戶時間片,對于可能阻塞的延時函數,本操作系統進行了單獨的封裝,可在阻塞時運行其他時間片,保證了系統整體的正常運行。至此系統完成所有初始化,進入時間片輪轉。系統會首先運行系統進程時間片,如進行系統時間刷新,然后執行調度程序,調整用戶進程順序和時間節點后運行用戶進程時間片,隨后完成本次時間片輪轉。

圖6 模擬分時操作系統的程序框圖
3.2.2 數據通信協議
數據通信協議(data communication protocols)是為保證數據通信雙方能有效可靠的通信而進行的一系列規定。由于NRF24L01無線2.4 GHz通信中容易因距離、環境電磁波干擾和障礙物阻礙等造成丟包和數據出現錯誤,以及CAN報文在高負載時可能出現丟包的情況,本設計中有線CAN通信和無線2.4 GHz通信均使用該通信協議保證數據指令無誤,且擁有不同的通信程序對象保證不同數據連接互不干擾。程序流程如圖7所示。通信時間片開始后,程序根據協議對數據幀結構(見表1)定義進行對幀頭的檢測,作為獲取后續數據的入口。

表1 數據幀結構
在接收到無關數據后會直接拋棄,而在檢測到幀頭后,程序準備獲取指令長度n。協議規定,當等待接收數據超過一定時間后,即該幀視為無效幀,直接結束本次通信時間片。若在有效時間內獲取指令長度,則將后續n+2讀取到內存緩沖區。完成讀取后將數據和指令類型進行累加和校驗(Checksum算法),判斷有效后檢測幀結尾,若均有效則將指令和指令類型打包到指令數據結構提交各操作系統進行下一步操作。

圖7 數據通信時間片程序流程
系統獲取指令后,將指令數據結構傳遞給指令響應程序,該程序將對指令進行相應的解析和執行,程序流程如圖8所示。程序將通過對指令結構體中的指令類型和列表指令類型進行對比,確定指令類型相同后通過函數指針執行相應程序。

圖8 指令響應程序流程
使用stm32f103rct6、orangepi嵌入式開發板、無線通信模塊以及相關的傳感器接口電路,設計實現了外骨骼系統。該外骨骼系統可根據腳底壓力和關節角度,主動引導人步態實現行走,也可以被動跟隨人肢體運動,且支持無線遙控外骨骼肢體,有效提高了外骨骼機器人的易用性和實用性,并使用機械結構限位、限位開光強制關斷和軟件限位三重保護,增強了外骨骼機器人安全性,可作為基礎外骨骼機器人框架,具有較好的應用價值。