白子康,盧 高,李昊鵬
(北京科技大學(xué)天津?qū)W院 信息工程學(xué)院,天津 301800)
隨著科學(xué)技術(shù)的快速發(fā)展,各個行業(yè)開始逐漸形成自動化、智能化、信息化和精細(xì)化模式。以往的人工操作生產(chǎn)方式已經(jīng)無法適應(yīng)當(dāng)前社會發(fā)展需求[1-4]。當(dāng)前,人工智能技術(shù)得到飛速發(fā)展,在工業(yè)生產(chǎn)中引入人工智能技術(shù)可以有效彌補(bǔ)傳統(tǒng)人工操作生產(chǎn)方式的不足[5-7]。迄今為止,在機(jī)械臂的控制領(lǐng)域中,操縱方式一類為按鍵控制;另一類則需要多個控制桿來控制,設(shè)計繁瑣,不易操作,一定程度上限制了機(jī)械臂的推廣和使用。同步仿生機(jī)械臂能運(yùn)用在高溫、高壓、高污染或是具有一定放射性的惡劣生產(chǎn)環(huán)境當(dāng)中,具有控制靈活和操縱簡單的特點,兼有人的行為意識和機(jī)械手的作業(yè)效能,已經(jīng)成為當(dāng)今世界科研領(lǐng)域及工業(yè)領(lǐng)域的熱門研究方向[8-10]。
機(jī)械手結(jié)構(gòu)模型如圖1所示。
圖1 機(jī)械手結(jié)構(gòu)模型
在機(jī)械手的設(shè)計部分,每個關(guān)節(jié)分別為單獨(dú)模塊,主要為指關(guān)節(jié)、手掌等部分共21個零件;每個關(guān)節(jié)的運(yùn)動通過細(xì)鋼絲繩來模擬人手經(jīng)絡(luò)牽引實現(xiàn);每根手指由兩根軟鋼絲繩來牽引,以此實現(xiàn)手指的彎曲、伸張和固定;在手掌和關(guān)節(jié)處留有固定且合理的出口和進(jìn)口,用于鋼絲繩的固定和牽引。該設(shè)計方案可以提高機(jī)械手的靈活性和穩(wěn)定性,更加有利于模擬人手的操作。
在機(jī)械手臂設(shè)計部分,主要為了實現(xiàn)存放和固定舵機(jī)、電路板,以及支撐機(jī)械手。設(shè)計時在其內(nèi)部添加多處支撐部分用于保證舵機(jī)和電路板的穩(wěn)定。
在腕關(guān)節(jié)處使用齒輪和舵機(jī)組合,用于實現(xiàn)機(jī)械手的轉(zhuǎn)動,在內(nèi)部使用細(xì)小鋁管段分別固定在手臂殼體、舵機(jī)等位置,一方面能夠固定鋼絲繩運(yùn)動的路徑,另一方面也能夠防止鋼絲在內(nèi)部運(yùn)動時與內(nèi)部的結(jié)構(gòu)摩擦以及與鋼絲纏繞。在舵機(jī)轉(zhuǎn)頭處安裝了帶凹槽的滑輪,這樣可以固定鋼絲繩的走向,使得舵機(jī)能夠更加穩(wěn)定地提供動力,保證手指有足夠的抓力。該種設(shè)計方案可提高設(shè)備的靈活性、可持續(xù)性和穩(wěn)定性。
如圖2所示,體感機(jī)械手套部分的設(shè)計是通過對普通手套進(jìn)行縫制而改裝的,在每個手指背部使用彈性布料縫制一個小口袋用于存放flex傳感器。這樣的設(shè)計有利于傳感器的彎曲,也能夠保證傳感器不會左右滑動,大大提高手指彎曲精度,即在使用的時候手指能夠靈活地彎曲,更加方便操作和使用。
圖2 體感機(jī)械手套結(jié)構(gòu)模型
硬件設(shè)計框圖如圖3所示。
圖3 硬件設(shè)計框圖
發(fā)射機(jī)部分需要完成對人體手部動作的檢測,通過無線發(fā)射模塊向接收機(jī)發(fā)送實時的手部動作信息,該部分由角度檢測模塊、微控制器、電源模塊、藍(lán)牙發(fā)送模塊組成。角度檢測傳感器采用flex傳感器,通過手指彎曲來改變傳感器阻值,將阻值的變化轉(zhuǎn)為模擬電壓值的變化;再通過微控制器進(jìn)行模數(shù)轉(zhuǎn)化電壓值,以此達(dá)到對手部動作信息的采集和保存;之后再對數(shù)據(jù)進(jìn)行分析處理,通過藍(lán)牙傳輸協(xié)議發(fā)送至接收機(jī)。
ESP32是一款集成2.4 GHz WiFi和藍(lán)牙4.0雙模的物聯(lián)網(wǎng)芯片,能夠很好地滿足設(shè)備對藍(lán)牙的使用需求。但是ESP32在使用藍(lán)牙的情況下ADC2模塊失效,只有4個模擬引腳能夠使用。因此使用ESP32作為主控芯片、Arduino Nano作為數(shù)據(jù)采集模塊。
電源模塊采用兩種方式供電:獨(dú)立電源供電和Type-c數(shù)據(jù)線直接對設(shè)備進(jìn)行供電。電路如圖4所示。
圖4 電源模塊電路
接收機(jī)是整個設(shè)備的執(zhí)行部分,主要由機(jī)械手臂模塊、電機(jī)模塊、無線接收模塊、電源和微控制器構(gòu)成。
電機(jī)模塊采用MG996R舵機(jī),舵機(jī)驅(qū)動電路如圖5所示。MG996R舵機(jī)扭矩為15 kg·cm,轉(zhuǎn)速為0.14 s/60°(6 V無負(fù)載),能夠滿足該設(shè)計的要求。ESP32的輸出電壓值為5 V,雖然可以滿足電機(jī)的驅(qū)動,但其輸出功率低,無法直接驅(qū)動多個電機(jī)運(yùn)行。因此,采用電源模塊直接為舵機(jī)供電,通過ESP32輸出PWM信號來控制舵機(jī)。為了防止電機(jī)的電流倒灌,導(dǎo)致單片機(jī)損壞,采用MOS管進(jìn)行反向隔離升壓,保證電機(jī)和設(shè)備的穩(wěn)定工作。
圖5 舵機(jī)驅(qū)動電路
發(fā)射機(jī)軟件部分主要負(fù)責(zé)采集手部的運(yùn)動情況,然后通過藍(lán)牙將數(shù)據(jù)發(fā)送至接收機(jī)。數(shù)據(jù)采集通過Arduino Nano單片機(jī)實現(xiàn),首先對單片機(jī)進(jìn)行串口初始化和IO初始化配置,與ESP32進(jìn)行數(shù)據(jù)通信,將采集到的數(shù)據(jù)通過串口同步發(fā)送至藍(lán)牙發(fā)送模塊。藍(lán)牙發(fā)送模塊使用的是ESP32,在藍(lán)牙初始化中需要配置藍(lán)牙服務(wù)ID和特征ID,特征ID用于搜索時進(jìn)行識別,藍(lán)牙服務(wù)ID用于藍(lán)牙配對以及藍(lán)牙之間的數(shù)據(jù)傳輸。流程如圖6所示。
圖6 發(fā)射機(jī)軟件設(shè)計流程
接收機(jī)軟件部分是整個系統(tǒng)最重要的部分,負(fù)責(zé)控制機(jī)械臂的運(yùn)動,首先將設(shè)備自身進(jìn)行廣播使其他設(shè)備可以掃描到,當(dāng)有其他設(shè)備與該設(shè)備配對時,關(guān)閉廣播、連接設(shè)備并且讀取設(shè)備數(shù)據(jù),在讀取到的數(shù)據(jù)中提取每個手指的動作參數(shù),將其轉(zhuǎn)換為對應(yīng)舵機(jī)需要轉(zhuǎn)動的角度。流程如圖7所示。
圖7 接收機(jī)軟件設(shè)計流程
在設(shè)備剛啟動時需要佩戴體感手套握緊雙手,然后再打開手掌,反復(fù)兩次以校對參數(shù),獲取該使用者使用時每個手指的最大和最小彎曲參數(shù)值;再通過該函數(shù)輸入每個舵機(jī)可轉(zhuǎn)動的最大和最小值、對應(yīng)手指的最大和最小彎曲參數(shù)值以及當(dāng)前的彎曲參數(shù)值,計算得出對應(yīng)舵機(jī)所需轉(zhuǎn)動的角度,這樣做對每個使用者都能夠自動適配,提高機(jī)械臂的準(zhǔn)確性。
本設(shè)計主要是通過藍(lán)牙將數(shù)據(jù)發(fā)送至接收機(jī),接收機(jī)在讀到的數(shù)據(jù)中提取每個手指動作參數(shù),將其轉(zhuǎn)換為對應(yīng)舵機(jī)所需要轉(zhuǎn)動的角度,所以傳輸距離、舵機(jī)所轉(zhuǎn)動的角度、仿生機(jī)械手自由度結(jié)構(gòu)以及數(shù)據(jù)手套上傳感器的長度都會存在實驗誤差,為此進(jìn)行了無線同步仿生機(jī)械手的靈敏度測試與抓取測試。
無線同步仿生機(jī)械手的5根手指在直立狀態(tài)下開始運(yùn)動,同步抓取各種物體,結(jié)果如圖8所示。
圖8 抓取測試
在抓取硬材料物體過程中,5根手指同時反應(yīng),在2 s內(nèi)迅速完成目標(biāo)物體抓取,而不同手指運(yùn)動角度略有差異;抓取穩(wěn)定后,大拇指運(yùn)動角度最大。
由表1的靈敏度測試結(jié)果可看出,受距離因素影響也會產(chǎn)生實驗誤差,如小拇指的靈敏度因舵機(jī)位置不同而產(chǎn)生較大誤差。這是由于仿生機(jī)械手自由度結(jié)構(gòu)原因?qū)е抡w誤差產(chǎn)生,進(jìn)而造成在抓取過程中也有一定誤差。
表1 靈敏度測試
本文設(shè)計的基于ESP32的無線同步仿生機(jī)械手實現(xiàn)了無線控制。通過機(jī)械手套采集信息,并采用無線發(fā)射模塊進(jìn)行數(shù)據(jù)發(fā)送;仿生機(jī)械手接收到數(shù)據(jù)后開始執(zhí)行,利用五個舵機(jī)控制五根手指的運(yùn)動,從而實現(xiàn)對仿生機(jī)械手的遠(yuǎn)程操作,實現(xiàn)了一種具有同步功能的無線同步機(jī)械手臂。
在實際的操作過程中,無線同步仿生機(jī)械手可以代替人類完成一些復(fù)雜情況下的任務(wù),從而確保工作人員自身的生命安全。例如航空航天領(lǐng)域可以利用仿生手在太空中完成一些危險任務(wù);在化工、生物領(lǐng)域可以完成危險的生物化學(xué)項目。同時仿生手也可以為殘疾人提供許多便利,為健全的人提供一種全新的生活服務(wù)。