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