仿人假手作為肢殘患者重獲人手功能的主要對象,具有重大的社會需求。理想的假手應具有人手的仿生特征,主要體現在假手構造、控制方式與環境感知3 個方面,但由于其有限的體積和復雜的傳感器系統,對控制系統提出了更高的要求。 現有的控制系統有外置式和內置式兩種。外置式控制系統多用于研究型假手,如Cyber Hand,Tokyo Hand,Vanderbilt Hand等,這種控制系統主要用于算法、方案的驗證,在殘疾人應用上推廣意義較小。內置式控制系統在研究型假手和商業型假手上均有應用,其中研究型假手控制系統,在環境感知和雙向信息交互上投入大量研究,如Smart Hand,DARPA hand; 而商業型假手控制系統雖然也有部分集成有外部傳感器,但傳感器系統簡單,雙向信息交互上也有較大欠缺,如i-Limb,BeBionic Hand。 HIT IV 代假手控制系統采用DSP 作為主控芯片,集成有位置傳感器和力矩傳感器,可對肌電信號采樣。但控制系統為一個整體,且體積較大,只適用于HIT IV 代假手。DSP 芯片在功能拓展上弱于FPGA,不利于二次開發。 本文采用模塊化設計方案,以FPGA 作為核心芯片,運動控制、肌電信號采集、電刺激等模塊獨立設計,通過通用接口連接。在此基礎上,進行多模式的多指抓取實驗。 1 仿人假手系統介紹 本文所設計的控制系統以HIT V 代手為控制對象。該手略小于成年人人手,具有5 根手指,每根手指2 個指節,大拇指還另有一個內旋/外展關節,共有11 個活動關節,整個手由6 個直流電機驅動,每根手指安裝有力矩傳感器、位置傳感器、指尖六維力傳感器。 控制系統采用模塊化設計思想,將整個系統分割成幾個模塊,通過通用接口建立相互連接,使整個控制系統可以放置在仿人假手內部,實現機電一體化。 2 基于FPGA 的控制系統設計 仿人假手電氣控制系統用于實現假手各手指的驅動控制、多種傳感器信息的采集以及與上位機( PC 或PCI 控制卡) 之間的通信。該控制系統由10 個模塊組成,分別為: 由FPGA 組成的主控芯片模塊、USB 接口模塊、拇指控制電路模塊、食指控制電路模塊、中指控制電路模塊、無名指控制電路模塊、小指控制電路模塊、肌電信號采集模塊、電池管理系統模塊、電刺激反饋模塊。模塊化設計方法增加了控制系統的靈活性與獨立性,便于對模塊單獨進行調試與修改。電氣系統總體功能框圖如圖1。 圖1 電氣系統功能框圖 2.1 FPGA 主控芯片模塊設計 FPGA 主控芯片模塊采用Altera 公司Cyclone Ⅲ系FPGA芯片EP3C25F25617 作為控制核心,負責肌電信號和多種傳感器信號的處理、與手指電路的通信、USB 通信、CAN通信接口等功能。同時,主控芯片模塊還負責大拇指內旋/外展自由度驅動電機的控制。各個功能通過VHDL 語言進行編寫,FPGA 中嵌入雙NIOS 核構成雙核處理器,其中一個NIOS 核用于肌電信號處理,另一個NIOS 核用于通信; 雙核通過2M 的EEPROM 進行通信。FPGA 功能框圖如圖2。 圖2 FPGA 功能框圖 RS—485 通信通過在NIOS 核內自定義元件AutoSCI 控制RS—485 收發接口芯片MAX3362 實現。MAX3362 收發芯片可通過3.3 V 低壓實現高速數據傳送。CAN 與LVDS通信采用復用電路設計( 圖3) ,通過更換接收發送接口芯片完成功能轉換。CAN 通信采用TI 公司的CAN 收發器SN65HVD230QD 作為接口芯片。LVDS 通信采用TI 公司的半雙工LVDS 收發接口芯片SN65LVDM176,構成PPSeCo高速串行通信系統與PCI 控制卡通信,通信速率可達25 Mbps,保證控制信息與傳感器信息傳送的及時性。 圖3 CAN 通信/LVDS 通信復用電路 拇指內旋/外展自由度驅動電機由NIOS 核中自定義元件PWM 控制。元件功能通過VHDL 語言編寫,PWM 波周期和占空比均可調。電機驅動芯片采用MPC17531A,其內部集成雙H 橋,可直接控制直流有刷電機。 2.2 手指運動控制模塊設計 五根手指的運動控制模塊采用相同的設計方案,增強系統的互換性與通用性。該模塊由DSP 作為控制核心,直流有刷電機驅動芯片MPC17531A 作為電機驅動芯片,負責手指電機的驅動,力矩傳感器、位置傳感器、電機電流傳感器信號的采集與處理,以及與觸覺傳感器系統的通信,最后各項數據通過RS—485 通信接口與主控芯片模塊通信。控制模塊如圖4。 圖4 手指運動控制模塊功能框圖 該模塊采用的DSP TMS320F28027 運行速率高,封裝小。內部集成的16 通道12 位A/D 轉換器可實現對力矩、位置、電機電流信號的采樣。串行異步通信接口通過RS—485 收發接口芯片實現與主控芯片模塊通信。EPWM 模塊可直接控制直流有刷電機驅動芯片MPC17531A。 如圖5,關節力矩傳感器信號采集系統包括力矩傳感器、處理放大電路、濾波電路和A/D 轉換電路。力矩傳感器基于應變原理,采用儀表放大器INA337 組成半橋電路對力矩信號進行放大后通過RC 濾波電路進入A/D 轉換芯片。 圖5 力矩傳感器信號采集系統 如圖6,關節位置傳感器信號采集系統包括位置傳感器、處理放大電路、濾波電路和A/D 轉換電路。位置傳感器基于旋轉電位器原理,采用集成運放MAX9618 對電位器信號進行放大后通過RC 濾波電路進入A/D 轉換芯片。 圖6 位置傳感器信號采集系統 2.3 肌電信號采集模塊設計 肌電信號采集模塊用來采集肌電電極的信號以及對信號的濾波和D/A 轉換后存儲在CPU 中,包括RC 電路組成的濾波電路、D/A 轉換電路和電壓轉換電路。數字信號通過電壓轉換芯片轉換為3.3 V 電壓,通過SPI 接口輸入到CPU 中央處理器。 2.4 電池管理系統模塊設計 電池管理模塊包括電池、電流傳感器、蜂鳴器電路、LED 顯示電路。電流傳感器實時監測電池輸出電流大小,通過LED 顯示電路和蜂鳴器電路顯示充電狀態和電池電量過低報警。 3 軟件實現 在FPGA 控制器程序設計中主要完成各系統參數的初始化與控制算法的實現,具體由如下幾部分構成: 1) 與上位機通信部分: 通過3 種方式與上位機通信,獲得控制指令,分別為USB 通信、LVDS 通信、CAN 通信,其中LVDS 通信與CAN 通信不能同時使用; 2) 肌電信號采集部分: 通過A/D 轉換芯片將肌電電極信號轉換為數字量,并經過運算處理得到控制指令; 3) 與手指運動控制模塊通信部分: 通過SCI 接口實現與手指運動控制模塊的RS—485 通信; 4) 生成驅動電機控制參數部分: 運算處理控制指令,生成電機運動參數( 方向與占空比) 。 控制流程圖如圖7 所示。 圖7 FPGA 控制流程圖 DSP 控制程序主要完成DSP 各參數的初始化,控制流程圖如圖8。 圖8 DSP 控制流程圖 4 假手抓取實驗 基于上述設計,研制出HIT V 假手樣機,進行抓取實驗( 圖9) ,可實現多種動作模式的抓取,分別為: 兩指捏取、三指捏取、圓柱抓取、球形抓取、單指指向、胡克抓取、側邊捏取、五指端取。控制過程中,系統工作穩定,滿足仿人假手運動控制和傳感器信息采集要求。 圖9 多指抓取實驗 5 結論 本文介紹了結合FPGA 與DSP 的仿人假手控制系統的設計組成與工作流程。該控制系統體積小巧,可完全安裝于假手內部。實驗證明: 該系統運行可靠、控制靈活,使用效果良好。 |