基于手势控制的上下料机械手系统.pdf

上传人:a**** 文档编号:51402 上传时间:2018-01-20 格式:PDF 页数:5 大小:306.41KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410288084.3

申请日:

2014.06.25

公开号:

CN104108097A

公开日:

2014.10.22

当前法律状态:

公开

有效性:

审中

法律详情:

公开

IPC分类号:

B25J3/00

主分类号:

B25J3/00

申请人:

陕西高华知本化工科技有限公司

发明人:

刘秋丽

地址:

710065 陕西省西安市高新区沣惠南路36号橡树街区B座10406室

优先权:

专利代理机构:

西安亿诺专利代理有限公司 61220

代理人:

熊雁

PDF下载: PDF下载
内容摘要

本发明基于手势控制的上下料机械手系统涉及机械控制领域,具体涉及基于手势控制的上下料机械手系统,包括依次相连Kinect、计算机、Arduino、舵机;所述Kinect与Arduino相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。本发明可灵活控制机械手、稳定性良好,便于操作。

权利要求书

1.  基于手势控制的上下料机械手系统,包括依次相连Kinect、计算机、Arduino、舵机;其特征在于所述Kinect与 Arduino相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。

2.
  如权利要求1所述基于手势控制的上下料机械手系统,还包括一与舵机相连的Delta机器人,其特征在于所述Delta机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。

说明书

基于手势控制的上下料机械手系统
技术领域
本发明涉及机械控制领域,具体涉及基于手势控制的上下料机械手系统。
技术背景
手势控制作为一种正在蓬勃发展的现代控制方式,具有操作简单直观、灵活性高、科技感强等特点。三自由度delta机械手具有刚度大、精度高、承载能力强等优点,其应用几乎涉及现代尖端技术的各个领域。基于手势控制的上下料机械手是通过综合采用先进的计算机通信,Kinect的人体姿态识别和Arduino的数据处理和传输技术,将手势控制与Delta机械手相结合,通过Kinect识别手势的姿态及位置,将数据通过电脑传输至Arduino,Arduino将处理后的数据用于控制五个舵机旋转的角度,达到控制Delta机械手的移动、抓取的效果。在现代工厂中,普通的Delta机械手普遍应用于激光加工、微电子装配、细胞显微操作、光纤对接等精密操作,这些领域对精度要求很高,但想要改变其运动轨迹需要专业工程师进行精密的计算与编程,对普通人来说难度很大;而遥控的机械手不但不能完成精密工作而且控制不灵活。
发明内容
为了解决上述问题,本发明提供一种可灵活控制机械手、稳定性良好,便于操作的基于手势控制的上下料机械手系统。
本发明基于手势控制的上下料机械手系统,括依次相连Kinect、计算机、Arduino、舵机;所述Kinect与 Arduino相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。
优选地,基于手势控制的上下料机械手系统包括一与舵机相连的Delta机器人,其特征在于所述Delta机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。
本发明可灵活控制机械手、稳定性良好,便于操作。
具体实施方式
本发明基于手势控制的上下料机械手系统,包括依次相连Kinect、计算机、Arduino、舵机;所述Kinect与 Arduino相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机,基于手势控制的上下料机械手系统还包括一与舵机相连的Delta机器人,其特征在于所述Delta机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。启动计算机,将Arduino的程序输入Arduino内,打开Kinect的编程软件Processing,运行编好的Kinect程序,电脑屏幕内将出现机械手运动的模拟图,同时Processing还会将各舵机的数据传输至Arduino端,Arduino将数据处理后控制五个舵机的角度,其中三个舵机固定于动平台,用于控制机械臂的角度,进而控制动平台的位置;其中一个舵机安装在动平台上,用于控制机械爪的旋转;还有一个用于控制机械爪的合拢与张开。
硬件总体设计
本设计采用Arduino单片机、Kinect(X—BOX360)、舵机、计算机、Delta机械手等硬件来实现功能。系统总体功能如下:(1)连接电脑与Arduino,将程序写入Arduino。连接Arduino与5个舵机,并给arduino接上“5v.15A”的电源。(2)Kinect放置在机械手下方,连接Kinect与电脑,并给Kinect接上220V的家用电源。打开Pmcessing,运行相应程序。(3)Kinect前方1.5m左右的地方,对准Kinect伸出手掌并张开,等待Kinect完成识别。
单片机控制系统设计
本设计采用Arduino单片机,是一款便捷灵活、方便上手的开源电子原型平台,用其专用的编程软件进行编程,指令代码类似于c语言,但比c语言简单,简化了一些不必要的定义.拥有强大的函数库。
程序总体设计
程序分为Arduino部分和Processing部分,其中Processing驱动Kinect进行手势感知,通过手势的移动、倾斜、合拢计算每个舵机的位置数据并传输至Arduino,Arduino经过数据处理后传输至每个舵机。
Processing程序
(1)手部感应。利用红外线反射测量空间深度,普通摄像头获取彩色图像。凭借Processing中opengl,simple叩enni,Kinectorbit等数据库.达到检测人手,识别手势。
import processing.open91.;
imporl SimpleopenNI.;
impnrt kinectorbit.Kinectorhit;
(2)手势控制。提取手部的点云,画出一个长方体,随手部移动而移动,当手倾斜时,长方体随着倾斜,与平面角度改变,控制机械臂抓取器的旋转。当手张开或握紧时,长方体的长随之变长或缩短,控制机械臂抓取。
Arduino程序
Arduino控制舵机用到的程序是
Void updateServo(int pin,int pulse)
{
digitalWrite(pin,HIGH);
delayMiroseconds(pulse);
digital Write(pin,LOW);
}
该子程序将脉宽值的微秒数输入相应的舵机中:将pin引脚的舵机调至高电平,用到delayMicroseconds(),暂停程序pulse毫秒,然后再回到低电平。用以下程序判断是否运行:uns培ned long currentMillis=millis();
if(currentMillis—previousMiUis>interval){
previousMillis=currentMillis;
millis()的作用为计算程序运行到此时离程序开始时的时间,将其赋值到currentMillis,在if语句中,判断现在的毫秒数距离上一次运行的毫秒数是否大于interval,若果大于interval毫秒,则开始将舵机的数据传输至舵机中,并将此时程序运行的时间记录在previousMillis,用于下一次循环。这个条件保证了机械手的舵机至多intenral毫秒改变一次位置,避免了因为控制者手的微小变化而
造成的不必要的抖动。Interval在程序的开头定义。
串口通信
若Kinect识别到有手势,则通过Pmcessing发送一个“x”信号,Arduino收到“x”信号后开始数据的接收五个舵机的位置数据。由于Arduino与Processing的通信中一次只能传输1个字节,因此这里在Processing端先将1 6位的数据拆分成两个8位传输过来,再在Arduino端将两个8位组合起来。
由于Processing中串口输出有限制,不能传输超过一个字节的数据。但是坐标传输的数据超过一个字节。于是利用位操作,将十进制转化为十六进制。使坐标分为8位进行传输。
如:
byte MSB=(byte)((seriaIAngle>>8)&0xFF);
byte LSB=(byte)(serialAngle&0xFF);
myPon.write(MSB);
myPort.write(LSB);
将serialAngle所代表的数据转化为十六进制,分为两个输出。 

基于手势控制的上下料机械手系统.pdf_第1页
第1页 / 共5页
基于手势控制的上下料机械手系统.pdf_第2页
第2页 / 共5页
基于手势控制的上下料机械手系统.pdf_第3页
第3页 / 共5页
点击查看更多>>
资源描述

《基于手势控制的上下料机械手系统.pdf》由会员分享,可在线阅读,更多相关《基于手势控制的上下料机械手系统.pdf(5页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104108097A43申请公布日20141022CN104108097A21申请号201410288084322申请日20140625B25J3/0020060171申请人陕西高华知本化工科技有限公司地址710065陕西省西安市高新区沣惠南路36号橡树街区B座10406室72发明人刘秋丽74专利代理机构西安亿诺专利代理有限公司61220代理人熊雁54发明名称基于手势控制的上下料机械手系统57摘要本发明基于手势控制的上下料机械手系统涉及机械控制领域,具体涉及基于手势控制的上下料机械手系统,包括依次相连KINECT、计算机、ARDUINO、舵机;所述KINECT与ARDUINO。

2、相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。本发明可灵活控制机械手、稳定性良好,便于操作。51INTCL权利要求书1页说明书3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页10申请公布号CN104108097ACN104108097A1/1页21基于手势控制的上下料机械手系统,包括依次相连KINECT、计算机、ARDUINO、舵机;其特征在于所述KINECT与ARDUINO相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。2如权利要求1所述基于手势控制的上下料机械手系统,还包括一与舵机相连的DELTA机器人,其特征在于所述D。

3、ELTA机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。权利要求书CN104108097A1/3页3基于手势控制的上下料机械手系统技术领域0001本发明涉及机械控制领域,具体涉及基于手势控制的上下料机械手系统。技术背景0002手势控制作为一种正在蓬勃发展的现代控制方式,具有操作简单直观、灵活性高、科技感强等特点。三自由度DELTA机械手具有刚度大、精度高、承载能力强等优点,其应用几乎涉及现代尖端技术的各个领域。基于手势控制的上下料机械手是通过综合采用先进的计算机通信,KINECT的人体姿态识别和ARDUINO的数据。

4、处理和传输技术,将手势控制与DELTA机械手相结合,通过KINECT识别手势的姿态及位置,将数据通过电脑传输至ARDUINO,ARDUINO将处理后的数据用于控制五个舵机旋转的角度,达到控制DELTA机械手的移动、抓取的效果。在现代工厂中,普通的DELTA机械手普遍应用于激光加工、微电子装配、细胞显微操作、光纤对接等精密操作,这些领域对精度要求很高,但想要改变其运动轨迹需要专业工程师进行精密的计算与编程,对普通人来说难度很大;而遥控的机械手不但不能完成精密工作而且控制不灵活。发明内容0003为了解决上述问题,本发明提供一种可灵活控制机械手、稳定性良好,便于操作的基于手势控制的上下料机械手系统。。

5、0004本发明基于手势控制的上下料机械手系统,括依次相连KINECT、计算机、ARDUINO、舵机;所述KINECT与ARDUINO相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机。0005优选地,基于手势控制的上下料机械手系统包括一与舵机相连的DELTA机器人,其特征在于所述DELTA机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。0006本发明可灵活控制机械手、稳定性良好,便于操作。具体实施方式0007本发明基于手势控制的上下料机械手系统,包括依次相连KINECT、计算机、ARDUINO、舵机。

6、;所述KINECT与ARDUINO相连,所述舵机包括第一舵机、第二舵机、第三舵机,第四舵机、第五舵机,基于手势控制的上下料机械手系统还包括一与舵机相连的DELTA机器人,其特征在于所述DELTA机器人包括动平台和静平台,静平台通过依次相连的主动臂、万向节、从动臂、动平台连接件与动平台相连,所述从动臂为平行四边形从动支链。启动计算机,将ARDUINO的程序输入ARDUINO内,打开KINECT的编程软件PROCESSING,运行编好的KINECT程序,电脑屏幕内将出现机械手运动的模拟图,同时PROCESSING还会将各舵机的数据传输至ARDUINO端,ARDUINO将数据处理后控制五个舵机的角度。

7、,其中三个舵机固定于动平台,用于控制机械臂的角度,进而控制动平台的位置;其中一个舵机安装在动平台上,说明书CN104108097A2/3页4用于控制机械爪的旋转;还有一个用于控制机械爪的合拢与张开。0008硬件总体设计本设计采用ARDUINO单片机、KINECTXBOX360、舵机、计算机、DELTA机械手等硬件来实现功能。系统总体功能如下1连接电脑与ARDUINO,将程序写入ARDUINO。连接ARDUINO与5个舵机,并给ARDUINO接上“5V15A”的电源。2KINECT放置在机械手下方,连接KINECT与电脑,并给KINECT接上220V的家用电源。打开PMCESSING,运行相应程。

8、序。3KINECT前方15M左右的地方,对准KINECT伸出手掌并张开,等待KINECT完成识别。0009单片机控制系统设计本设计采用ARDUINO单片机,是一款便捷灵活、方便上手的开源电子原型平台,用其专用的编程软件进行编程,指令代码类似于C语言,但比C语言简单,简化了一些不必要的定义拥有强大的函数库。0010程序总体设计程序分为ARDUINO部分和PROCESSING部分,其中PROCESSING驱动KINECT进行手势感知,通过手势的移动、倾斜、合拢计算每个舵机的位置数据并传输至ARDUINO,ARDUINO经过数据处理后传输至每个舵机。0011PROCESSING程序1手部感应。利用红。

9、外线反射测量空间深度,普通摄像头获取彩色图像。凭借PROCESSING中OPENGL,SIMPLE叩ENNI,KINECTORBIT等数据库达到检测人手,识别手势。0012IMPORTPROCESSINGOPEN91;IMPORLSIMPLEOPENNI;IMPNRTKINECTORBITKINECTORHIT;2手势控制。提取手部的点云,画出一个长方体,随手部移动而移动,当手倾斜时,长方体随着倾斜,与平面角度改变,控制机械臂抓取器的旋转。当手张开或握紧时,长方体的长随之变长或缩短,控制机械臂抓取。0013ARDUINO程序ARDUINO控制舵机用到的程序是VOIDUPDATESERVOINT。

10、PIN,INTPULSEDIGITALWRITEPIN,HIGHDELAYMIROSECONDSPULSE;DIGITALWRITEPIN,LOW;该子程序将脉宽值的微秒数输入相应的舵机中将PIN引脚的舵机调至高电平,用到DELAYMICROSECONDS,暂停程序PULSE毫秒,然后再回到低电平。用以下程序判断是否运行UNS培NEDLONGCURRENTMILLISMILLIS;IFCURRENTMILLISPREVIOUSMIUISINTERVALPREVIOUSMILLISCURRENTMILLIS;MILLIS的作用为计算程序运行到此时离程序开始时的时间,将其赋值到CURRENTMIL。

11、LIS,在IF语句中,判断现在的毫秒数距离上一次运行的毫秒数是否大于说明书CN104108097A3/3页5INTERVAL,若果大于INTERVAL毫秒,则开始将舵机的数据传输至舵机中,并将此时程序运行的时间记录在PREVIOUSMILLIS,用于下一次循环。这个条件保证了机械手的舵机至多INTENRAL毫秒改变一次位置,避免了因为控制者手的微小变化而造成的不必要的抖动。INTERVAL在程序的开头定义。0014串口通信若KINECT识别到有手势,则通过PMCESSING发送一个“X”信号,ARDUINO收到“X”信号后开始数据的接收五个舵机的位置数据。由于ARDUINO与PROCESSING的通信中一次只能传输1个字节,因此这里在PROCESSING端先将16位的数据拆分成两个8位传输过来,再在ARDUINO端将两个8位组合起来。0015由于PROCESSING中串口输出有限制,不能传输超过一个字节的数据。但是坐标传输的数据超过一个字节。于是利用位操作,将十进制转化为十六进制。使坐标分为8位进行传输。0016如BYTEMSBBYTESERIAIANGLE80XFF;BYTELSBBYTESERIALANGLE0XFF;MYPONWRITEMSB;MYPORTWRITELSB;将SERIALANGLE所代表的数据转化为十六进制,分为两个输出。说明书CN104108097A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 作业;运输 > 手动工具;轻便机动工具;手动器械的手柄;车间设备;机械手


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1