白子康,盧 高,李昊鵬
(北京科技大學天津學院 信息工程學院,天津 301800)
隨著科學技術的快速發展,各個行業開始逐漸形成自動化、智能化、信息化和精細化模式。以往的人工操作生產方式已經無法適應當前社會發展需求[1-4]。當前,人工智能技術得到飛速發展,在工業生產中引入人工智能技術可以有效彌補傳統人工操作生產方式的不足[5-7]。迄今為止,在機械臂的控制領域中,操縱方式一類為按鍵控制;另一類則需要多個控制桿來控制,設計繁瑣,不易操作,一定程度上限制了機械臂的推廣和使用。同步仿生機械臂能運用在高溫、高壓、高污染或是具有一定放射性的惡劣生產環境當中,具有控制靈活和操縱簡單的特點,兼有人的行為意識和機械手的作業效能,已經成為當今世界科研領域及工業領域的熱門研究方向[8-10]。
機械手結構模型如圖1所示。

圖1 機械手結構模型
在機械手的設計部分,每個關節分別為單獨模塊,主要為指關節、手掌等部分共21個零件;每個關節的運動通過細鋼絲繩來模擬人手經絡牽引實現;每根手指由兩根軟鋼絲繩來牽引,以此實現手指的彎曲、伸張和固定;在手掌和關節處留有固定且合理的出口和進口,用于鋼絲繩的固定和牽引。該設計方案可以提高機械手的靈活性和穩定性,更加有利于模擬人手的操作。
在機械手臂設計部分,主要為了實現存放和固定舵機、電路板,以及支撐機械手。設計時在其內部添加多處支撐部分用于保證舵機和電路板的穩定。
在腕關節處使用齒輪和舵機組合,用于實現機械手的轉動,在內部使用細小鋁管段分別固定在手臂殼體、舵機等位置,一方面能夠固定鋼絲繩運動的路徑,另一方面也能夠防止鋼絲在內部運動時與內部的結構摩擦以及與鋼絲纏繞。在舵機轉頭處安裝了帶凹槽的滑輪,這樣可以固定鋼絲繩的走向,使得舵機能夠更加穩定地提供動力,保證手指有足夠的抓力。該種設計方案可提高設備的靈活性、可持續性和穩定性。
如圖2所示,體感機械手套部分的設計是通過對普通手套進行縫制而改裝的,在每個手指背部使用彈性布料縫制一個小口袋用于存放flex傳感器。這樣的設計有利于傳感器的彎曲,也能夠保證傳感器不會左右滑動,大大提高手指彎曲精度,即在使用的時候手指能夠靈活地彎曲,更加方便操作和使用。

圖2 體感機械手套結構模型
硬件設計框圖如圖3所示。

圖3 硬件設計框圖
發射機部分需要完成對人體手部動作的檢測,通過無線發射模塊向接收機發送實時的手部動作信息,該部分由角度檢測模塊、微控制器、電源模塊、藍牙發送模塊組成。角度檢測傳感器采用flex傳感器,通過手指彎曲來改變傳感器阻值,將阻值的變化轉為模擬電壓值的變化;再通過微控制器進行模數轉化電壓值,以此達到對手部動作信息的采集和保存;之后再對數據進行分析處理,通過藍牙傳輸協議發送至接收機。
ESP32是一款集成2.4 GHz WiFi和藍牙4.0雙模的物聯網芯片,能夠很好地滿足設備對藍牙的使用需求。但是ESP32在使用藍牙的情況下ADC2模塊失效,只有4個模擬引腳能夠使用。因此使用ESP32作為主控芯片、Arduino Nano作為數據采集模塊。
電源模塊采用兩種方式供電:獨立電源供電和Type-c數據線直接對設備進行供電。電路如圖4所示。

圖4 電源模塊電路
接收機是整個設備的執行部分,主要由機械手臂模塊、電機模塊、無線接收模塊、電源和微控制器構成。
電機模塊采用MG996R舵機,舵機驅動電路如圖5所示。MG996R舵機扭矩為15 kg·cm,轉速為0.14 s/60°(6 V無負載),能夠滿足該設計的要求。ESP32的輸出電壓值為5 V,雖然可以滿足電機的驅動,但其輸出功率低,無法直接驅動多個電機運行。因此,采用電源模塊直接為舵機供電,通過ESP32輸出PWM信號來控制舵機。為了防止電機的電流倒灌,導致單片機損壞,采用MOS管進行反向隔離升壓,保證電機和設備的穩定工作。

圖5 舵機驅動電路
發射機軟件部分主要負責采集手部的運動情況,然后通過藍牙將數據發送至接收機。數據采集通過Arduino Nano單片機實現,首先對單片機進行串口初始化和IO初始化配置,與ESP32進行數據通信,將采集到的數據通過串口同步發送至藍牙發送模塊。藍牙發送模塊使用的是ESP32,在藍牙初始化中需要配置藍牙服務ID和特征ID,特征ID用于搜索時進行識別,藍牙服務ID用于藍牙配對以及藍牙之間的數據傳輸。流程如圖6所示。

圖6 發射機軟件設計流程
接收機軟件部分是整個系統最重要的部分,負責控制機械臂的運動,首先將設備自身進行廣播使其他設備可以掃描到,當有其他設備與該設備配對時,關閉廣播、連接設備并且讀取設備數據,在讀取到的數據中提取每個手指的動作參數,將其轉換為對應舵機需要轉動的角度。流程如圖7所示。

圖7 接收機軟件設計流程
在設備剛啟動時需要佩戴體感手套握緊雙手,然后再打開手掌,反復兩次以校對參數,獲取該使用者使用時每個手指的最大和最小彎曲參數值;再通過該函數輸入每個舵機可轉動的最大和最小值、對應手指的最大和最小彎曲參數值以及當前的彎曲參數值,計算得出對應舵機所需轉動的角度,這樣做對每個使用者都能夠自動適配,提高機械臂的準確性。
本設計主要是通過藍牙將數據發送至接收機,接收機在讀到的數據中提取每個手指動作參數,將其轉換為對應舵機所需要轉動的角度,所以傳輸距離、舵機所轉動的角度、仿生機械手自由度結構以及數據手套上傳感器的長度都會存在實驗誤差,為此進行了無線同步仿生機械手的靈敏度測試與抓取測試。
無線同步仿生機械手的5根手指在直立狀態下開始運動,同步抓取各種物體,結果如圖8所示。

圖8 抓取測試
在抓取硬材料物體過程中,5根手指同時反應,在2 s內迅速完成目標物體抓取,而不同手指運動角度略有差異;抓取穩定后,大拇指運動角度最大。
由表1的靈敏度測試結果可看出,受距離因素影響也會產生實驗誤差,如小拇指的靈敏度因舵機位置不同而產生較大誤差。這是由于仿生機械手自由度結構原因導致整體誤差產生,進而造成在抓取過程中也有一定誤差。

表1 靈敏度測試
本文設計的基于ESP32的無線同步仿生機械手實現了無線控制。通過機械手套采集信息,并采用無線發射模塊進行數據發送;仿生機械手接收到數據后開始執行,利用五個舵機控制五根手指的運動,從而實現對仿生機械手的遠程操作,實現了一種具有同步功能的無線同步機械手臂。
在實際的操作過程中,無線同步仿生機械手可以代替人類完成一些復雜情況下的任務,從而確保工作人員自身的生命安全。例如航空航天領域可以利用仿生手在太空中完成一些危險任務;在化工、生物領域可以完成危險的生物化學項目。同時仿生手也可以為殘疾人提供許多便利,為健全的人提供一種全新的生活服務。