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