机械手臂c语言如何编程,一种串联机械手臂的示教编程方法
一种串联机械手臂的示教编程方法
【技术领域】
[0001]本发明涉及一种串联机械手臂的示教编程方法,具体的说是通过体感设备和数据手套检测人的手臂的姿态变化,并且通过计算转换为机器人手臂关节角度的变化,并保存关节角度,完成示教编程,属于机器人及控制领域。
【背景技术】
[0002]目前的串联机械手臂一般通过直接编程的方式实现各种功能,但这要求操作对象工作在相对固定的位置,并且类型一致,这种机器人使用模式对环境适应能力较差,升级与维护成本高,虽然可以通过传统示教再现方式来对机器人运动轨迹进行定义,但应用示教器不够灵活,且操作复杂。肢体语言是最为有效的交流方式,近年来肢体示教学习作为一个新的人机交互,成为机器人编程方式研究的新方式,即通过人直接的示教来教会机器人新技能,完成相应的动作编程。
[0003]关于人体动作的捕捉研究较多,有许多的体感设备可以使用,但多数设备非常昂贵且运动约束较多。Microsoft推出的Kinect体感设备是一种性价比极高的三维感知传感器,它能获取彩色图像、深度图像以及人体动作图像,它并提供了一种全新的人际交互方式。它能够捕捉、跟踪人体的动作。
[0004]数据手套能够感知手指的运动姿态,在Kinect传感器以及数据手套的帮助下,使得不教编程成为可能。
【发明内容】
[0005]为了克服传统的串联机械手臂的编程缺点,本发明提出了用体感设备Kinect传感器和数据手套进行示教编程的新方法,该方法操作简便,环境适应性强,可以快速完成编程。
[0006]本发明所采用的技术方案如下。
[0007]Kinect传感器能够识别人体的骨架,并且能够根据转换得到人体的骨骼坐标,通过检测人体的手臂末端关节的坐标变化,进一步通过建立的逆运动学模型转化为关节角度的变化,并且逐一保存角度数值。
[0008]数据手套能够检测手部弯曲姿态的变化,数据手套的姿态可以转化为机械机械手的姿态变化,进而可以控制机械机械手,并记录机械手关节角度,实现示教编程。
[0009]通过Kinect测得人体手臂运动保存的机械手臂的角度值,以及数据手套检测的手部运动保存的手部关节的角度值,通过回放保存的角度值,可以实现人体示教的动作。
【附图说明】
[0010]下面结合【附图说明】书对本专利进行说明。
[0011 ] 图1为人体示教示意图。
[0012]图2为Kinect提取的人体骨架示意图。
[0013]图3为串联机械手臂的示教编程方法流程图。
【具体实施方式】
[0014]当需要示教编程时,人站在体感设备Kinect前方,如图1所示,当Kinect提取出人体的骨架,会发出语音播报,提醒发现用户,提取的人体骨架图如图2所示,并且每个关节有自己的坐标系,关节主要包括头部关节,颈部关节,肩关节,肘关节,和腕关节,人体躯干,臀部关节,膝关节,以及脚踝关节。
[0015]进行示教编程的过程如图3所示。
[0016]打开机械手臂示教编程开关,系统会检测到进入示教编程模式。
[0017]当进入示教编程模式时则判断是否检测到用户,当检测到用户发出语音确认消息。
[0018]提取人体骨骼坐标以及获取手臂末端位置坐标,否则重新检测用户。
[0019]通过TF坐标变换,得到手臂末端位置相对于Kinect传感器的坐标(&,YJ和躯干坐标相对于Kinect传感器的坐标(X;;,Y2)o
[0020]手臂末端位置坐标(Xp D减去躯干坐标(X2,Y2),得到手臂末端的移动轨迹坐标(Χ0,Υ0)。
[0021]根据手臂的逆运动学反解出各关节对应的关节角度。
[0022]解出的角度可能具有多个,因此需要进行角度数据的优化选择。
[0023]存储角度信息,并且发送角度信息给手臂关节执行单元执行。
[0024]判断手臂末端位置是否到达期望的位置,如果没达到则继续编程,继续提取人体坐标信息,如果达到期望的位置,则用户操作数据手套。
[0025]数据手套检测到手部姿态变化,发送控制命令给机械手控制器并且保存控制命令。
[0026]判断是否达到预期的手部动作,如果没有则继续操作数据手套编程。如果实现手部动作,则测试手臂运动和手部抓取运动。
[0027]判断是否达到预期的轨迹以及手部动作,没达到预期则返回到重现编程,达到了则完成编程。
【主权项】
1.本发明公开了一种串联机械手臂的示教编程方法,该方法用于串联机械手臂的示教编程,通过用户直接示教教给机器人新技能。2.根据权利要求1所述的一种串联机械手臂的示教编程方法,其特征在于:通过体感设备检测用户的手臂末端位置,并且把末端位置通过逆运动学模型转化为机械臂的关节角度,并且逐一保存关节角度数值。3.根据权利要求1所述的一种串联机械手臂的示教编程方法,其特征在于:通过数据手套感知手部运动,并且把手部运动姿态映射给机械手,并逐一保存机械手关节角度值。4.根据权利要求1所述的一种串联机械手臂的示教编程方法,其特征在于:通过给各关节发送保存的对应关节的角度值,可以实现机械手臂沿示教的曲线运动,完成编程。
【专利摘要】本发明公开了一种串联机械手臂的示教编程方法,该方法用于串联机械手臂的示教编程,通过用户直接示教教给机器人新技能。所述的示教编程方法是通过体感设备检测用户的手臂末端位置,并且把末端位置通过逆运动学模型转化为机械手臂的关节角度,逐一保存关节角度数值,通过数据手套感知人的手部运动姿态,把手部运动姿态映射给机械手,逐一保存机械手关节角度值。通过发送保存的角度数值,可以使机械手臂重现示教的运动轨迹,从而完成编程。此编程方法有效解决了机械手臂传统编程方法复杂,程序适应性差,需要重复编程的缺点。
【IPC分类】B25J9/22
【公开号】CN105328701
【申请号】CN201510769534
【发明人】程红太, 郝丽娜, 姬光飞, 万登科, 张志飞
【申请人】东北大学
【公开日】2016年2月17日
【申请日】2015年11月12日
机械手臂c语言如何编程,一种串联机械手臂的示教编程方法相关推荐
- c语言 扫描码,一种全键盘扫描码的获取方法
在软件设计中经常需要对用户的键盘操作进行监控,这就涉及到对键盘扫描码的读取通常,键盘上每个键都对应一个两字节的扫描代码,低字节是按键的ASCH码,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位 ...
- 筛选装置用c语言编程,一种空壳瓜子筛选装置的制作方法
本实用新型涉及食品机械领域,特别是一种空壳瓜子筛选装置. 背景技术: 食品机械是指把食品原料加工成食品(或半成品)过程中所应用的机械设备和装置. 食品工业是我国国民经济的支柱产业,食品机械是为食品工业 ...
- 机械原理c语言,英语翻译理论力学 材料力学 机械原理 马基 电工学 机械制图 体育 线性代数 C语言 机械工程材料 互换性原理与测量 机...
共回答了14个问题采纳率:92.9% 理论力学 Theoretical Mechanics 材料力学Mechanics of Materials 机械原理 Principle of Mechanics ...
- C语言--关于指针两种初始化赋值操作
首先,什么叫做指针的初始化? int * p = NULL:在定义指针变量p的同时把p的值设置为0x00000000;而不是把*p的值设置为0x00000000.这个过程叫做初始化. 探讨: int ...
- 机器人示教编程与离线编程的优缺点对比
机器人的智能化发展是一个大的趋势,那么对于它是如何完成既定工作的话我们就要谈到机器人的编程方式了.通常的机器人编程方式有以下两种:示教编程与离线编程.一段时间以来,似乎存在这样的争论,有人认为示教编程 ...
- 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程
本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...
- 少儿编程几种语言_您使用了几种编程语言?
少儿编程几种语言 机器说一种语言,但是人类却说多种不同的语言...编程语言,从Python到JavaScript等等. 一切始于Grace Hopper. "该语言中最具破坏力的短语是: 一 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程
c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...
- 编程每种语言有什么用_每种情况的最佳编程语言
编程每种语言有什么用 有一个问题,很多人都认为提问者根本不理解该主题. 有些人甚至觉得它很生气. 问题的形式通常是什么是最佳X? 什么是最好的车? 最好的编程语言是什么? 但是同时,这是一个问题,我们 ...
最新文章
- 当莎士比亚遇见Google Flax:教你用​字符级语言模型和归递神经网络写“莎士比亚”式句子...
- sae mysql django_Django中MySQL读写分离技术
- Chrome 扩展 最近的历史 HistoryBar v1.1
- 2020 年最新版 68 道Redis面试题,20000 字干货,赶紧收藏起来备用!
- vs2010 mysql linq to sql 系列_linq to sql简单使用
- centos 7 单独安装mysql和mysqli和pdo_mysql扩展
- mysql 在线优化工具_MySQL SQL查询优化工具EverSQL
- PHP OB-缓冲区
- 还不重视!脸上有螨虫的几种表现?
- 腾讯云技术分享:MySQL AHI 实现解析
- 【Python学习之七】类和对象
- 针对顽固dll后缀文件删除
- 使用wmake过程中遇到的一些错误(个人总结)
- exceljs 导入导出 excel 文件
- VP8 的败笔 VS H264
- 功率MOS管驱动设计与PCB layout注意事项
- 天津大学计算机专业推免加分细则,天津大学计算机科学与技术学院(专业学位)计算机技术保研细则...
- java实现红包要多少钱_2020情人节红包数字寓意 214情人节给女朋友发多少钱红包合适...
- luoguP2495 [SDOI2011]消耗战
- python 代码汇总
热门文章
- 关于VS2017许可证过期问题
- UR机器人装箱姿态_ur机器人坐标系说明来了,感兴趣的朋友可以看看
- 华视电子读卡器100N,读取二代身份证信息
- 如何开启系统打印机服务器,windows7系统如何开启打印机服务
- 基于Arduino的无接触式智能门锁(RFID和蓝牙开锁)
- MCS51单片机的输入/输出接口应用
- Logback 学习笔记
- java event sourcing_深入浅出Event Sourcing和CQRS
- PO: Purchase Order采购订单关键知识点
- html 自动 生成 日期,自己生成Select列表日期时间