?

人機交互課程創新實驗

2016-11-10 09:01李知菲卓旭亞鮑盛林
計算機教育 2016年7期
關鍵詞:機械臂創新實驗人機交互

李知菲 卓旭亞 鮑盛林

摘要:介紹人機交互課程的創新實驗項目——體感控制的機械臂設計開發的關鍵技術和方法,闡述創新實驗的具體設計過程,為體感控制技術更快從理論走向應用提供參考。

關鍵詞:人機交互;體感控制;機械臂;創新實驗

1.人機交互課程開設刨新實驗項目的背景和意義

人機交互(human computer interaction,HCI)是計算機及相關專業的核心課程。經過多年的發展,當前的人機交互方式已經從過去依賴鍵盤鼠標的時代,發展到以人為中心的自然用戶界面(natural user interface,NUI)的新階段。浙江師范大學數理與信息工程學院面向計算機、軟件工程等相關專業的研究生和計算機技術非師范專業的高年級本科生,開設人機交互課程。為了幫助學生更好地學習這門課程,了解主流的交互技術和產品,我院的課程除了重視人機交互理論教學外,近年來,陸續增設了人機交互課程設計、Arduino控制系統開發實訓等實驗實踐課程,形成了完善的課程體系。課程借助多媒體課件提高課堂效率,力爭以較少的課時講明白人機交互的基本原理、基本方法,加大實踐環節比重。通過精心設計的實驗和實踐項目,讓學生在完成整個課程的學習過程中,自主學習、主動學習,掌握課程知識點,提高教學績效,構建項目化教學情境,轉變教師和學生的角色觀念,使學生在做中學、用中學,提高了學生獨立分析問題和解決問題的能力和創新素質。

在課程的實驗教學中,除了必要的理論驗證性實驗外,為了調動學生的學習興趣,我們特意開設了32學時的創新實驗,在每學年的短學期,即實踐教學周開課。通過精心挑選和設計,選用了基于Kinect體感鏡頭和Arduino控制器的體感控制機械臂項目。這是因為該項目代表著智能機器人領域研究和應用的一個典型——機械臂。作為目前應用最為廣泛的機器人,機械臂不單基于計算機科學專業,更與機械、控制、電子工程和生物學等學科相關,是一種設計復雜但卻非常實用的機器人。以機械臂的體感控制為著眼點進行人機交互的實踐,不但能很好地鞏固人機交互的理論知識,更能使學生快速掌握社會需求的實踐技能。

驅動靈活、作業范圍廣和機械特性優良的多關節機械臂是應用型機械臂中最為常見的,如美國Unimation公司推出的PUMA系列機械臂和日本山梨大學牧野洋發明的SCARA機械臂。多關節機械臂可以完成種類繁多的工業作業任務,如碼垛、搬運、裝配、焊接和打孔等,是提高工業生產自動化水平和生產效率的最佳選擇。同時,機械臂更能做出人體關節不能完成的動作,或者在一些不適合人類開展工作的高溫、高壓、輻射或缺氧等環境中代替人類進行作業,近年來深?;蛱盏奶剿魅蝿站褪堑湫偷膽?。例如,在2012年,我國自主研發的蛟龍號深潛探測器在7000米深的海底進行科學探測,其中最主要的科研任務,如采樣等均由其自身攜帶的多關節機械臂完成,圖1為蛟龍號用機械臂將五星紅旗插在海底。此外,在2012年8月6日,美國宇航局(NASA)的好奇號(Curiosity)火星探測器在火星成功登陸,它的主體結構完全可以當成是一臺裝在汽車上的多關節機械臂,大多數火星探測任務也正是由它控制機械臂進行的,如圖2所示。

對于上述的智能機器人,特別是機械臂而言,若要順利地完成各種作業任務,對其有效的控制必不可少。通常智能機器人的控制都是基于計算機進行的,那么,操作者——人與智能機器人的控制交互,也就轉化成了人與計算機之間的交互。目前普遍采用的控制方式都是用計算機外接的鍵盤、鼠標或控制用觸摸屏為主,這些方式要求為交互提供額外的設備,不適于用在具有移動能力的機器人和便攜式的智能產品上面。同時,這些方式要求掌握一些計算機輸入設備操作方法,交互方式不夠直接,不適用于與缺乏學習能力的老人和兒童之間的交互。

因此,需要一種自然的人機交互方式來代替復雜繁瑣的程序操作,以便簡單方便地操縱機器人,向機器人發布命令,與機器人進行交互。

人體自身的肢體動作一般不需特意訓練就能自然準確地傳遞信息,舉手、揮動手臂、點頭搖頭或是踢踢腿等動作自然、直觀,無論是否專業人士,幾乎不用訓練即可掌握控制所需要的若干交互動作。同時,用人來直接當做智能機器人的交互輸入設備,人機之間的交互通訊將不再需要多余的媒體,可以擴展機器人的作業范圍,讓機器人的應用領域更加廣泛。這一切隨著計算機視覺和圖像處理技術的發展成為了可能,基于機器視覺的人體動作與計算機交互的方式(nature user interface,NUI),成為了新型人機交互方式的研究熱點。2010年11月,微軟公司推出的Kinect體感設備在人體跟蹤以及姿態估計方面有著出色的表現。作為新一代自然人機交互技術的典范,Kinect實現了用戶通過語音和手勢等行為,與計算機進行更自然的交互。為了發掘Kineet的更大潛力,微軟公司推出了Kinect for Windows SDK開發工具包。配合此工具包可以利用Kineet的體感技術,獲取人體深度信息,通過識別人體動作和手勢,來理解操作者的意圖,從而利用計算機對機器人進行有效的操作。

我們對基于Kinect鏡頭的體感交互控制技術展開深入研究,并將其應用于機器人實時控制中,利用自然的人體姿態或動作控制機器人,可以簡化機器人控制的復雜度,提高人與機器人之間的交互性。

2.體感控制的機械臂刨新實驗設計

人機交互創新實驗主要是用Kinect鏡頭捕捉人體RGB-D數據,處理后得到人體姿態或動作信息,再利用Arduino作為控制器,將上述信息映射為機械臂的相應動作驅動數據,實時控制機械臂完成各種精細動作。

實驗構建的體感控制機械臂包括基于Kinect鏡頭的人體姿態或動作捕捉和基于Arduino控制器的機械臂控制兩大模塊,其原理框圖如圖3所示。

通過Kinect捕獲人體RGB-D數據,使用OpenNI/NITE程序庫從中識別人體關節及手勢動作,并提取空間坐標;通過藍牙模塊與上位機通訊,在Arduino控制器中通過空間向量運算,計算機械臂舵機轉角,查詢動作表,找到手臂相應動作,通過串口通訊發送給機械臂控制器。機械臂控制器采用32路伺服舵機控制器作為控制器,控制機械臂關節舵機,實時完成取物、拉伸等精確作業,實現一種新的自然人機交互模式,

實驗使用的各重要組件如圖4所示。

實驗使用的機械臂設計圖如圖5所示。

最終,實驗項目設計的體感控制機械臂能實現的功能見表1。

基于體感識別的機械臂運行的主要流程為:人站在Kinect視距范圍內做“投降姿勢”,由OpenNI/NITE程序庫驅動Kinect進行姿勢校正,校正完成后,運行在Arduino核心控制器上的識別程序,驅動Kinect進行數據采集,并實時繪制出人體骨骼框架。識別程序主要的功能是識別人體各關節,并通過濾波、空間向量運算、腿部姿態檢測,計算出控制機械臂所需的信息。通過無線模塊進行控制命令傳輸,數據通信協議采用自行封裝的格式,并在機械臂控制器端提供簡單的完整性校驗。機械臂控制器根據接收到的數據,采用復用PWM周期的方式,完成一個PWM周期對多路舵機的調速工作,保證了機械臂動作的連貫性。

3.結語

我們研究的相關技術是人機交互和機器人控制技術的研究熱點,將基于Kinect鏡頭的體感控制技術融入到機器人控制之中,利用人體姿態或手勢動作來控制機器人,簡化機器人控制的復雜度,提高人與機器人之間的交互性,實現了一種新的自然人機交互模式,應用價值較好。

實驗設計出的機械臂有以下優點:

(1)利用Kinect體感設備獲取的人體的RGB-D數據,并快速、準確、實時地識別人體姿態或動作。

(2)針對RGB-D原始數據噪聲較大的問題,研究滑動平均濾波算法,并提出帶限幅加權滑動平均濾波算法,該算法能夠有效地平滑原始數據,并且時滯性比滑動平均濾波算法好,數據出現異常隋況下能濾除,有效地避免機械臂誤動作。

(3)實現了基于Arduino控制器的機械臂實時控制。

我們的創新實驗項目在實際教學中引起了學生的極大興趣,解決了以往人機交互課程實踐項目枯燥無趣、學生學習缺乏動力的難題。豐富的實驗內容,有趣的操作方式和全面新穎的人機交互新技術應用,吸引學生主動地走人實驗室進行學習和研究,極大地提高了學習績效。在未來的工作中,我們將進一步挖掘自然人機交互的新技術和新方式,結合現在的“云平臺”和“物聯網”等新概念,設計出更好的創新實驗項目。

猜你喜歡
機械臂創新實驗人機交互
機械臂平面運動控制與分析
某型柴油機虛擬維修系統研究
巧用廢舊材料探究聲音特性
機械臂工作空間全局相對可操作度圖的構建方法
大眾創業萬眾創新背景下大學生創新創業訓練計劃項目實施方案的探討
多點噪聲遠程自動采集系統設計
城市綠化垃圾的資源化應用創新實驗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合