劉穎軒, 高智斌, 謝健清, 廖國斌, 黃澤銘, 陸英杰, 張俊越, 鄺禹聰
(華南理工大學廣州學院,廣州510800)
基于手勢控制的3D建模端口設計與實現
劉穎軒, 高智斌, 謝健清, 廖國斌, 黃澤銘, 陸英杰, 張俊越, 鄺禹聰
(華南理工大學廣州學院,廣州510800)
文中介紹了如何運用手勢進行3D建模,通過曲度傳感器捕獲不同手指的曲度來實現在建模中的各種功能,通過編程實現建模的實時顯示和生成DXF文件,從而導入現有的三維建模軟件。
三維建模;手勢控制;kinect;processing;arduino
人與機器的通信方法多種多樣,從這些方法的發展趨勢可以看出,趨勢是越來越方便,越來越趨于自然直接的方法。而手勢控制的優點就在于,它是運用最自然的語言——肢體語言,不需任何工具,運用身體本身就能實現功能。三維建模是現代工業生產中必不可少的,而現在傳統的建模方法由于運用了鼠標鍵盤等工具,使部分人的創作思維受到了限制。而基于手勢控制的3D建模端口由于沒有借用任何工具,所以它能最大程度地釋放人們的創作靈感。

圖1
本文設計的建模端口總體功能如圖1所示。該端口設計是通過運用kinect捕捉人手在空間中的X坐標、Y坐標和深度坐標,然后傳輸到計算機充當建模的畫筆坐標。4個手指的彎曲分別擔任4個不同的功能,分別是添加點、移動點、添加線、添加面。手指彎曲程度的獲取,是通過一個安裝好曲度傳感器、Arduino LilyPad單片機、無線通信模塊和小型電源的手套獲得。計算機的實時三維建模是通過Processing編程實現。Arduino單片機和計算機的通信是通過無線模塊來實現。
2.1 硬件總體
本設計中,采用了Arduino LilyPad單片機、LilyPad XBee無線通信模塊、曲度傳感器、kinect(X-BOX360)等硬件來實現功能。
系統總體功能如下:
1)把曲度傳感器安裝在手套的各個手指上,與Arduino單片機連接,獲得手指彎曲程度。
2)把XBee無線模塊與Arduino單片機連接,將數據傳至計算機。
3)5V電源連接Arduino單片機、220V家用電源連接kinect,kinect通過USB傳輸數據至計算機。
4)計算機通過運行Processing相應程序實現三維建模。
2.2 單片機系統設計
本文采用Arduino LilyPad單片機,它的最大優點是輕便小巧,可以縫在衣服上。其整個系統只有兩個硬幣大小,而且可以清洗。它的編程平臺是基于C語言開發而成,由于它是開源的,所以它有相當多而且強大的函數庫,在編寫程序的時候非常快捷方便,而且便于交流。
3.1 Arduino單片機程序設計
由于Arduino單片機負責把曲度傳感器的數據讀回,而曲度傳感器屬于模擬量的傳感器,所以程序方面在讀取數據后,經過一個均值濾波算法后,再將數據傳送至計算機。

在通信方面波特率采用9600。在Arduino程序編寫中,無線通信只需要通過調用函數庫即可。

3.2 Processing程序設計
1)手部感應方面。通過運用Processing中的kinect的OpenNI函數庫來捕捉手,然后提取X坐標Y坐標和深度坐標,在建模中充當點的畫筆的坐標。

由于kinect的感應坐標零點與建模零點不一樣,所以感應中以第一次捕捉到人手的坐標為建模坐標的零點,以后感應到手的坐標減去建模零點坐標得出相對坐標即可以完成建模。

2)曲度傳感器的矯正。由于每個人的手指都不一樣,所以彎曲的程度也不一樣。因此在開始建模前實行建模手套的手指彎曲校準。先伸直所有手指然后按下鍵盤“z”儲存此值。然后把所有手指收緊按下鍵盤“x”儲存此值。校準完成后,運用此值計算總的彎曲程度,當手指彎曲度大于70%觸發功能。以下是校準手套儲存值的程序語言:

3)建模方面。在建模過程中由于不同手指的功能是不一樣的,所以在不同功能下畫筆點(手的坐標)的顏色是不一樣的,這樣可以方便區分功能。


在建模顯示方面,先建立好三維空間,再建立不同的函數,點函數、線函數、面函數等,通過不同手指觸發不同的功能,畫出不同的圖形。然后通過先前獲得手的坐標,得到點線面的坐標,最終建成模型。模型建立完畢后通過按下鍵盤“c”鍵導出DXF文件。

通過本設計可以看出體感控制建模的可行性和新穎性,不過同時也可以看出其不足之處。目前這種三維建模的端口設計,還是一個概念性的設計,只能用于初步的建模。本設計可以快速地建立一個大概模型,能讓人有一個直觀的印象,但是模型要用于生產還需要經過建模軟件的細化。
[1] Enrique Ramos Melgar.Arduino and Kinect Projects[M].Apress. Apr 2012.
[2] 譚亮.processing互動編程藝術[M].北京:電子工業出版社,2011.
(編輯立 明)
Design and Implementation for 3D Modeling Interface Based on Gesture Control
LIU Yingxuan,GAO Zhibin,XIE Jianqing,LIAO Guobin,HUANG Zheming, LU Yingjie,ZHANG Junyue,KUANG Yucong
(Guangzhou College of South China University of Technology,Guangzhou,510800)
3D modeling interface by gesture control was implemented.Curvature of the different fingers to achieve a variety of functions in modeling by curvature sensor to capture.Modeling show and DXF files generated by programming.
3D modeling;gesture control;kinect;processing;arduino
TP 317.4
A
1002-2333(2014)05-0095-02
劉穎軒(1993—),男,在讀本科生。
2014-03-03