勞振鵬 東莞理工學院 機械工程學院 黃市生 黎梓恒 曾志彬 吳國洪 東莞市橫瀝模具科技產業發展有限公司 陳學忠 廣東石東實業(集團)公司
前言:當前國內外的六軸機械手控制技術發展得越來越成熟,無論是從控制精度,還是從應用效果看,其發展都能得到充分的肯定。然而,隨著智能制造的熱潮,在研究過程中發現,六軸機械手的傳統控制方式離不開鍵盤、鼠標或者示教盒,其操作過程復雜,而且其操作人員需要一定的專業技術,不適合廣泛應用于教學示范過程。此外,通過鍵盤或者示教盒控制該類機械手,用于人機交互的控制面板發生故障時,需要等待專業的維護人員檢查維修,極大影響機械手的工作效率。
針對以上現象,本文提出一種基于手勢識別并應用于教學示范的六軸機械手的開發方案,以解決傳統的機械手控制方式不適合廣泛應用于教學示范過程的不足,改善人機交互方式,提高工作效率。
六軸機械手是多關節、多自由度的機器人,動作多,變化靈活,是一種柔性技術較高的工業機器人,它的控制方式很大程度上影響著它的工作效率。為實現利用kinect傳感器手勢控制六軸機械手,本文的硬件結構設計如圖1所示,圖中左側為鋁柜,右側為六軸機械手。鋁柜由鋁型材組裝而成,具有第一層平臺和第二層平臺,由下往上為第一層平臺、第二層平臺。本文將機械手控制器設置在鋁柜的第一層平臺,控制器里含有三個運動控制卡,運動控制卡一用來控制關節Ⅰ、關節Ⅱ、關節Ⅲ;運動控制卡二用來控制關節Ⅳ、關節V、關節Ⅵ,運動控制卡三用來控制加裝在六軸機械手末端的伺服電機。其中運動控制卡一控制的關節是空間位置關節,運動控制卡二控制的關節是姿態關節,其包括I/O模塊、驅動器、伺服電機等。鋁架的第二層平臺放置計算機,該計算機用于采集圖像和深度數據,并進行數據融合處理,向運動控制卡發送下一步的指令等。進一步的,同樣在第二層平臺,并且是在計算機的上方設置了kinect視覺體感器,用于采集手勢姿態信息,作為控制六軸機械手的直接指令。該六軸機械手通過底座的四個螺栓孔可固定在車間地面,它具有一個夾具和五個關節,關節Ⅰ、關節Ⅱ、關節Ⅲ、關節Ⅳ、關節V、關節Ⅵ,夾具與每個關節都是由伺服電機驅動。
本文所設計的硬件平臺的電性連接部分具體為,計算機通過USB數據線與kinect視覺體感器連接、通過PCI總線與機械手控制器連接。繼而,機械手控制器通過連接三塊轉接板進而連接七個驅動器、七個伺服電機。計算機作為圖像和深度數據的采集中心與數據轉換中心,它及時有效地將從kinect視覺體感器獲取的手勢指令轉換成機械手控制器可識別的模擬量指令。

圖1 硬件平臺示意圖
通過Kinect for Windows SDK 開發,使用有深度攝像機的kinect設備進行動靜態手勢識別,計算機獲取特定的手勢動作指令,然后進一步發送相對應的命令給機械手控制器,進而驅動各個關節的電機,完成六軸機械手抓取物體、行走和放下物體的全過程。通過計算機軟件編程和運動控制卡來控制機械手,能夠達到手勢控制機械手運動與搬運的目的,實現自然的人機交互。其中,在以手指為主的手勢識別過程中,需要進行的步驟為,首先,檢測鏡頭到手掌心的距離L;然后以手掌心為圓心,尺度為1mm繪制多個同心圓;接著在同一圓弧上按照順時針方向檢測所有的像素點,并且對比從上一像素點到該像素點是否發生了數值變化,黑色像素點記為0,白色像素點記為1;最后統計黑色像素點與白色像素點在每個同心圓的對數,結合全部同心圓,最大的對數即為該手勢對應的手指的數量。
啟動該六軸機械手控制系統,在kinect視覺體感器的正前方執行張開右手掌的動作,計算機獲取了五指張開的手勢指令,進而計算機發送相對應的命令給機械手控制器,運動控制卡三工作,驅動伺服電機帶動螺栓反向轉動,彈簧伸長,夾具張開。相對應的,面向kinect視覺體感器執行右手握拳的動作,夾具夾緊。類似的,執行右手抬起與右手自然下垂的動作,系統將驅動關節Ⅱ的伺服電機發生正轉(順時針旋轉)與反轉(逆時針旋轉)。控制其它關節的運動將通過識別其它特定的手勢動作來完成。
本文所做的工作總結如下:第一,設計了一種基于手勢識別并應用于教學示范的六軸機械手的硬件結構;第二,搭建了相關的手勢識別系統以及控制系統并做了較具體的分析。
