張英坤 ,郝存明 ,張效瑋,馬艷東 *,潘其旺
1. 河北省科學院應用數學研究所(石家莊 050081);2. 河北省信息安全認證工程技術研究中心(石家莊 050081);3. 石家莊市發展和改革委員會(石家莊 050081);4. 中國電信集團石家莊分公司(石家莊 050081)
抓取操作是機器人在食品生產活動中必不可少的一類動作,通常是通過機器人的末端執行器來完成,實際應用中的機器人末端執行器多為專用夾持器,具有負載能力強、抓取穩定性好等優點,但其通用性較差[1]。由此,國內外諸多研究機構相繼研制出各種結構的靈巧手[2-6],靈巧手雖然能夠完成一些靈巧抓取和精細操作,但由于使用的傳感器和驅動元件多,導致靈巧手結構復雜、控制難度大。針對該問題,提出設計一種基于Arduino控制器的力反饋型靈巧手系統。在系統設計時,不僅要保證系統的安全性和穩定性,還要保證靈巧手對目標物體的無損抓握。為了避免在抓握過程中因抓握力過大使得靈巧手對目標物體造成損害,采用了限定接觸抓握力最大值的控制方式[7]。經試驗驗證表明,設計的靈巧手系統具有良好的力反饋功能,可實現靈巧手對目標物體的可靠抓握。
欠驅動靈巧手系統的整體構成如圖1所示,主要由靈巧手機械結構、電機驅動器、電機、FSR傳感器、靈巧手控制器和人機交互系統組成,系統框圖如圖2所示。FSR傳感器用于檢測靈巧手與目標物體之間的相互作用力。電機驅動器驅動電機,用于產生驅動靈巧手進行抓握運動的力矩。靈巧手控制器通過串口與PC機的人機交互系統實現數據傳輸,一方面控制器接收人機交互系統發送的控制命令,經過解析控制電機驅動器動作;另一方面人機交互系統接收、顯示并存儲控制器發送的FSR傳感器數據,并將其作為判斷抓握操作是否完成的依據。

圖1 欠驅動靈巧手系統

圖2 欠驅動靈巧手系統框圖
根據力的平衡原理,抓取物體時至少需要2個相對的力或力偶作用于物體上,即二指結構在理論上已經可以完成抓取任務[7]。因此,設計一種具有2根欠驅動手指的靈巧手,其結構如圖3所示,主要由手指機構、驅動傳感裝置及基座3部分組成。手指機構包括左右對稱分布的2根結構完全相同的模塊化欠驅動手指,每根欠驅動手指均由一組驅動傳感裝置控制,實現手指機構的彎曲/伸展運動。驅動傳感裝置包括電機和FSR傳感器。基座分為上下2層,上層基座用來固定電機和手指機構,下層基座用來安裝靈巧手,如將靈巧手固定到機械臂等載體上。

圖3 二指靈巧手結構
通過分析人手手指的生理學結構及其運動特點[8],設計如圖4所示的欠驅動三指節手指機構,以實現平面內的彎曲/伸展運動。欠驅動手指主要包括近指節、中指節、遠指節3個部分,近指節、中指節、遠指節可分別繞近指節關節軸、中指節關節軸以及遠指節關節軸轉動,利用剛性連桿構成手指的傳動系統,利用中指節拉簧和近指節拉簧2組彈性元件實現手指機構在抓握過程中的自適應變形。
欠驅動手指在抓握過程中的自適應包絡運動過程如圖5所示,手指和目標物體的初始位姿如圖5(a)所示,此時,手指和目標物體不發生接觸;在電機驅動力作用下,手指開始轉動,與物體發生接觸前,近指節拉簧和中指節拉簧不被拉長,3個指節保持初始位姿關系,直到近指節與物體發生接觸,此時,近指節不能再繼續運動,如圖5(b)所示;手指的中指節和遠指節在電機驅動力作用下繼續運動,近指節拉簧被拉長,中指節拉簧保持不變,直到中指節與物體發生接觸,此時,中指節不能再繼續運動,如圖5(c)所示;手指的遠指節在電機驅動力作用下繼續運動,近指節拉簧繼續被拉長,中指節拉簧也被拉長,直到遠指節與物體發生接觸,此時,遠指節不能再繼續運動,如圖5(d)所示。經歷了如圖5所示的運動過程,手指最終實現對目標物體的自適應包絡抓握。

圖4 欠驅動手指結構

圖5 欠驅動手指自適應包絡運動過程
靈巧手系統的硬件電路采用模塊化設計,包括主控制器模塊、傳感器信息采集模塊、驅動控制模塊、通信模塊和電源管理模塊,如圖6所示。其中,主控制器模塊采用以AVR單片機ATmega 328P作為內核的Arduino UNO開發板[9],具有14個數字輸入輸出IO,6個模擬輸入IO,以及32 kb的Flash存儲空間,能夠滿足靈巧手控制系統的需求。USB串口負責Arduino控制器與上位機人機交互系統之間的通信。

圖6 系統硬件電路總體框圖
為獲取靈巧手與目標物體之間的接觸力信息,系統采用FSR壓阻式力敏傳感器對接觸力進行監測,其參數如表1所示,其性能能夠滿足系統的精度要求。

表1 FSR傳感器參數
由于FSR傳感器輸出的是電阻信號,因此需要搭建電阻轉電壓電路,通過在其輸出端串聯一個10 kΩ電阻,使其輸出信號變為0~5 V的電壓信號[10]。同時,利用LM358放大器構成信號放大電路,其輸入為FSR傳感器的輸出電壓。FSR傳感器信號采集及信號放大的集成電路如圖7所示。

圖7 FSR傳感器信號采集及信號放大電路
電機控制電路包括兩路直流電機和直流電機驅動電路。受靈巧手的尺寸限制,直流電機需要滿足體積小、輸出力矩大、精確度高及響應速度快等條件。根據上述要求,系統選用的是N20直流減速電機,電機參數如表2所示,其自帶減速箱,且體積小,噪音低,精度高,輸出力矩能夠滿足系統需求。直流電機驅動電路采用L298N作為主驅動芯片[11],具有驅動能力強、發熱低、抗干擾性強等優點。L298N內含2個H橋的全橋式驅動器,可以直接驅動兩路直流電機,還可以方便地控制直流電機的速度和方向。

表2 N20直流減速電機參數
靈巧手系統的軟件設計包括下位機程序設計和上位機人機交互系統設計2部分。下位機程序設計包括系統初始化、解析上位機指令、數據采集、模數轉換、數據傳輸、電機驅動控制等。靈巧手控制器上電并完成系統參數的初始化設置,然后,接收并解析上位機指令以判斷是否要求開始抓取操作,確定接收到開始抓取指令后,控制器驅動電機運動,同時采集FSR傳感器數據并完成模數轉換,將數據通過串口發送到上位機人機交互系統。人機交互系統接收FSR傳感器數據,判斷當前獲取的測量接觸力是否達到設定的期望抓握力,若達到最大抓握力則向下位機發送指令控制電機停止運動,靈巧手即停止動作,否則在抓握操作尚未結束且沒有按下停止按鈕時,系統進入下一步抓取動作的循環。上位機人機交互系統采用LabVIEW圖形化編程語言[12]在PC機上編寫,通過串口與下位機靈巧手控制器連接,接收、保存并在人機交互界面上實時顯示接觸力信息。
為了驗證所設計的控制系統是否能夠實現靈巧手對目標物體的可靠抓握,在完成系統調試后進行試驗驗證。試驗的具體流程為:
a)給靈巧手設定期望抓握力,即最大接觸力;b)以恒定的轉速驅動電機控制靈巧手運動;c)在靈巧手抓握過程中,利用FSR傳感器實時采集手指接觸力信息;
d)判斷FSR傳感器測量的手指接觸力是否達到設定的期望抓握力,若是達到,則停止電機工作,否則繼續抓取動作的循環。
控制靈巧手抓握一個塑料瓶,FSR傳感器貼附在遠指節內觸面,設定靈巧手對該塑料瓶的期望抓握力為1.65 N,抓握運動過程如圖9所示,靈巧手抓握塑料瓶的接觸力數據如圖10所示。從圖9可以看出,靈巧手與塑料瓶發生接觸前,靈巧手的3個指節保持原來的位姿關系;靈巧手與塑料瓶發生接觸,靈巧手的3個指節發生自適應變形,直至完成對塑料瓶的包絡抓握。從圖10的接觸力曲線可以看出,手指接觸力隨著自適應包絡運動的進行而逐漸增大,手指接觸力達到設定的期望抓握力時,靈巧手控制電機停止工作,抓握操作結束。

圖8 系統軟件程序流程圖

圖10 抓握力試驗數據
基于Arduino控制器設計一套具有力反饋的靈巧手系統,對系統整體構成、欠驅動靈巧手結構設計、硬件系統設計和軟件系統設計進行詳細描述,并通過試驗測試系統性能。系統利用FSR壓力傳感器獲取靈巧手的抓握力信息,以此實現力反饋,通過對直流電機的控制實現對靈巧手抓握運動的控制,通過串口實現下位機控制器與PC機人機交互系統之間的數據傳輸,將靈巧手的抓握力數據進行圖像化顯示。系統采用Arduino控制器實現靈巧手的控制,具有結構簡潔、控制容易的特點,試驗結果表明系統能夠實現靈巧手對目標物體的穩定抓握,對促進靈巧手在食品行業的進一步推廣和應用具有重要意義。