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