APP下载

基于手势控制的3D建模端口设计与实现

2014-07-01刘颖轩高智斌谢健清廖国斌黄泽铭陆英杰张俊越邝禹聪

机械工程师 2014年5期
关键词:曲度手势端口

刘颖轩, 高智斌, 谢健清, 廖国斌, 黄泽铭, 陆英杰, 张俊越, 邝禹聪

(华南理工大学广州学院,广州510800)

基于手势控制的3D建模端口设计与实现

刘颖轩, 高智斌, 谢健清, 廖国斌, 黄泽铭, 陆英杰, 张俊越, 邝禹聪

(华南理工大学广州学院,广州510800)

文中介绍了如何运用手势进行3D建模,通过曲度传感器捕获不同手指的曲度来实现在建模中的各种功能,通过编程实现建模的实时显示和生成DXF文件,从而导入现有的三维建模软件。

三维建模;手势控制;kinect;processing;arduino

0 引言

人与机器的通信方法多种多样,从这些方法的发展趋势可以看出,趋势是越来越方便,越来越趋于自然直接的方法。而手势控制的优点就在于,它是运用最自然的语言——肢体语言,不需任何工具,运用身体本身就能实现功能。三维建模是现代工业生产中必不可少的,而现在传统的建模方法由于运用了鼠标键盘等工具,使部分人的创作思维受到了限制。而基于手势控制的3D建模端口由于没有借用任何工具,所以它能最大程度地释放人们的创作灵感。

1 总体设计

图1

本文设计的建模端口总体功能如图1所示。该端口设计是通过运用kinect捕捉人手在空间中的X坐标、Y坐标和深度坐标,然后传输到计算机充当建模的画笔坐标。4个手指的弯曲分别担任4个不同的功能,分别是添加点、移动点、添加线、添加面。手指弯曲程度的获取,是通过一个安装好曲度传感器、Arduino LilyPad单片机、无线通信模块和小型电源的手套获得。计算机的实时三维建模是通过Processing编程实现。Arduino单片机和计算机的通信是通过无线模块来实现。

2 系统硬件设计

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 软件设计方案

3.1 Arduino单片机程序设计

由于Arduino单片机负责把曲度传感器的数据读回,而曲度传感器属于模拟量的传感器,所以程序方面在读取数据后,经过一个均值滤波算法后,再将数据传送至计算机。

在通信方面波特率采用9600。在Arduino程序编写中,无线通信只需要通过调用函数库即可。

3.2 Processing程序设计

1)手部感应方面。通过运用Processing中的kinect的OpenNI函数库来捕捉手,然后提取X坐标Y坐标和深度坐标,在建模中充当点的画笔的坐标。

由于kinect的感应坐标零点与建模零点不一样,所以感应中以第一次捕捉到人手的坐标为建模坐标的零点,以后感应到手的坐标减去建模零点坐标得出相对坐标即可以完成建模。

2)曲度传感器的矫正。由于每个人的手指都不一样,所以弯曲的程度也不一样。因此在开始建模前实行建模手套的手指弯曲校准。先伸直所有手指然后按下键盘“z”储存此值。然后把所有手指收紧按下键盘“x”储存此值。校准完成后,运用此值计算总的弯曲程度,当手指弯曲度大于70%触发功能。以下是校准手套储存值的程序语言:

3)建模方面。在建模过程中由于不同手指的功能是不一样的,所以在不同功能下画笔点(手的坐标)的颜色是不一样的,这样可以方便区分功能。

在建模显示方面,先建立好三维空间,再建立不同的函数,点函数、线函数、面函数等,通过不同手指触发不同的功能,画出不同的图形。然后通过先前获得手的坐标,得到点线面的坐标,最终建成模型。模型建立完毕后通过按下键盘“c”键导出DXF文件。

4 结语

通过本设计可以看出体感控制建模的可行性和新颖性,不过同时也可以看出其不足之处。目前这种三维建模的端口设计,还是一个概念性的设计,只能用于初步的建模。本设计可以快速地建立一个大概模型,能让人有一个直观的印象,但是模型要用于生产还需要经过建模软件的细化。

[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

猜你喜欢

曲度手势端口
一种端口故障的解决方案
挑战!神秘手势
颈椎不宜太直
V字手势的由来
端口阻塞与优先级
胜利的手势
颈椎病颈腰椎两曲度与胸椎跷跷板的关联性探讨
站立位与卧位X线摄影对腰椎曲度测量影响的研究
8端口IO-Link参考设计套件加快开发速度
卫星三端口DC-DC变换器技术综述