当前位置:首页 > 单片机 > 单片机
[导读] 摘要:设计一款可以通过人体动作对机器人进行控制的机器人控制系统。该系统由主机和从机两部分组成,通过Kinect体感传感器采集人体动作信息,在主机中进行图像处理解析出相应的人体动作,然后通过无线传输单元向机器

 摘要:设计一款可以通过人体动作对机器人进行控制的机器人控制系统。该系统由主机和从机两部分组成,通过Kinect体感传感器采集人体动作信息,在主机中进行图像处理解析出相应的人体动作,然后通过无线传输单元向机器人发送相应的控制指令,控制机器人做出响应,完成相应的一套动作或对人体动作进行实时模仿、制作的机器人样机运行良好,能够根据人体左右手的动作和语音命令,做出正确的响应。

随着机器人控制技术的迅猛发展,各类机器人已广泛应用于工业、农业、国防、科研、教育以及人们的日常生活等诸多领域。但目前机器人的操控方式却不乏单调,传统意义上的控制基本上是通过遥控器、按钮、操作手柄来实现的。文中则提供了一种新的控制方式——体感控制,即操作者可直接通过手势对机器人进行控制,巧妙地将Kinect体感技术与机器人控制技术结合,创造性地实现了机器人控制方式上的创新,实现更加自然的人机交互。

1 总体结构与工作原理

本控制系统以Kinect体感传感器作为图像采集工具,结合机器人控制技术,实现了人体动作对机器人的控制,使机器人更加智能化。装置由主机和从机两部分组成,系统总体结构如图1所示。主机用于人体动作信息采集,然后进行图像处理,识别出入体动作,并负责把人体动作信息无线传送给从机。

主机系统由PC机、Kinect体感传感器、XL02—232AP1无线传输模块组成。主机用于人体动作信息采集,然后进行图像处理,识别出人体动作,并负责把人体动作信息无线传送给从机。

从机则是一个动作执行机器人,它的控制系统由AVRatmega128单片机、无线传输模块、语音模块、BT37970B直流电机驱动模块等组成。它的机械结构主要由多自由度的手臂和四轮驱动的底盘构成。从机对信息进行实时处理,控制机器人手臂各个关节旋转相应的角度,从而完成相应的动作。

2 系统硬件设计

2.1 主机

1)Kinect体感传感器它是2010年由微软对XBOX360体感周边外设正式发布的名字,具有动态捕捉,影像辨识,语音识别等功能。基于该技术,可以利用手势在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等,这也显示了它具有非常强大的图像采集与处理功能。

Kinect可以同时获取RGB和深度图像数据,支持实时的全身的骨骼追踪,并可以识別一系列的动作。图2是它的外观图,左边镜头为红外线发射器,中间镜头是一般常见的RGB彩色摄像头,右边镜头是红外线CMOS摄像头所构成的3D深度传感器。微软在2011年6月推出的Kinect for Windows SDK Beta使开发人员可以直接取得距离传感器、彩色摄像机以及四单元麦克风数组的原始数据流进行应用程序开发。此套SDK能够追踪Kinect视野内一位或两位用户的骨架映像,便于建立以体感操作的应用程序。

Kinect不同于普通摄像头的是,它有感知世界的CMOS红外传感器。该传感器通过黑白光谱的方式来感知环境,纯黑代表无穷远,纯白代表无穷近,黑白间的灰色地带对应物体到传感器的距离。它收集视野范围内的每一点,并形成一幅代表周围环境的景深图像。传感器以每秒30帧的速度生成深度图像流,实时3D地再现周围环境。

利用Kinect采集到的深度图信息,可以得到一个20点的人体骨架结构,其二维投影如图3所示,前景分割与骨架提取该系统直接调用了SDK封装函数,得到人体20个节点的3维空间坐标以及节点方向信息,进而得到完整的人体骨架信息。

运用这些信息可以提取出人体姿态特征以及运动特征,用于人体基本动作的识别。譬如,通过比较右手与头部的Y轴坐标差值的阈值变化,可以解析出右手是否举起,如图4所示。

2)通讯模块XL02—232AP1无线模块是UART接口半双工无线传输模块,可以工作在433 MHz公用频段。其传输距离约300 m,其工作电压+5 V,低功耗,可以与单片机I/O口直接相连,发射模式下串口速率为1.2~115.2 kbps,抗干扰能力强。连接电路如图5所示。

2.2 从机

1)动作执行机器人

①手臂动作控制

本作品所使用的机器人有两种结构形式,分别是类人机器人和轮式机器人,不同点是一个是双足站立的,一个是轮式的,它们每条手臂均由4个舵机构成,通过控制每个舵机的旋转角度可以得到不同的手臂动作和腿部动作,每8个舵机角度数据对应于一个特定的手臂动作。可以将每个手臂动作对应的8个舵机角度封装在一个结构体数组中,需要时可以直接调用。类人机器人的腿部动作的控制也是如此。

机器人手臂动作的执行有两种方式:根据从上位机传来的动作指令,做出对应的预先设定的一套动作;对人体的当前动作进行实时模仿,人体的动作信息解析出来后,在上位机中计算山对应的各个角度数据,然后将这些角度数据通过无线传输单元实时地传送到机器人,机器人做出响应,模仿当前人体手臂动作。

②机器人平面运动控制

机器人平面运动的控制针对的是轮式机器人,机器人的平面运动方式大致有4种,分别是前进,后退,左转,右转。这4种运动方式对应于4个指令数据,也同时对应着4个操作者的手势动作。通过真实的开车旋转方向盘来控制机器车的旋转,通过右手相对于左手的超前或落后来控制车的前进和后退,解析出这4个动作后,只需发送对应的4个指令数据即可。机器人硬件结构如图6所示。

2)通讯模块 同主机。

3)电机驱动模块BT37970B直流电机驱动,这是一款H桥有刷直流电机驱动模块,适用3~24 V的大功率直流电机,DC 10~29 V输入直流电压。在25 V电压下,额定持续输出10 A电流,适用于锂电池直接供电。供电为25 V 10 A时测得芯片工作频率高达1 MHz,驱动能力有了明显的提高,响应速度快。两路PWM输入,占空比可以在0~100%,是一般驱动所达不到的。具有瞬间制动能力以及做到全程速度精确控制。适用于锂电池直接供电驱动的机器人或车模比赛。控制方式简单,仅需要接3根输入线即可控制电机制动及正反转,其中GND引脚与单片机的GND相连,P引脚接单片机的PWM输出引脚,R引脚接单片机的PC0引脚,用于对电机转动方向的控制。连接图如图7所示。

4)语音模块最大输出功率为25W,具有30M存储容量,可以通过8个按键触发8段语音,也可以通过RS485/232给模块指令触发220段语音。

5)电源部分采用的是3S锂电池,容量为1500 mAh,额定电压11.1 V,35C超大放电能力。

3 系统软件设计

软件设计采用模块化处理方法,主机程序主要由主程序、Kinect初始化、图像辨识、语音识別、串口通信等模块组成,采用C#编写,编译环境为VS2010,使用部分环境库函数。从机程序主要有主程序、串口通信、电机驱动、舵机驱动、动作函数等模块组成。采用C语言编写,编泽环境为Avrstudi04,使用部分环境库函数。系统程序流程如图8所示。

Kinect将采集到的图像信息传送给上位机,上位机经过图像处理后识别出人体动作,并将处理后的结果输出,如图9所示。机器人实时模仿人体动作测试情况如图10所示。

4 结论

操作者可以站在离Kinect体感传感器3 m左右的距离对机器人进行体感操控。目前该机器人能够实时模仿左、右手各6个简单的动作:高举、半举、乎举、拥抱、架起、放下。以及实时模仿单腿抬起动作。你还可以通过双手模拟方向盘实时控制机器车的前后左右运动,亦可通过语音forward、back、turn left、turn right宋控制机器人的前后左右运动。

机器人在人们牛活中承担着越来越重要的作用,该系统则提供了一种新的控制方式——体感控制,使机器人的控制更加灵活多样,实现了更加自然的人机交互,具有较高的理论研究价值和先进性。同时,通过手势实时控制机器人的方式,能应用于排爆、救援、医疗等诸多行业,具有广阔的市场前景。在此基础上可以根据工业生产等需要,研发出更多种类的自动化机器人,为创建自动化机器人体系提供积极的支持和帮助。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

广州2023年9月22日 /美通社/ -- 日前,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称"TÜV莱茵")顺...

关键字: 研讨会 中国汽车 汽车产业 指令

百强品牌总价值连续三年突破万亿美元大关,腾讯、阿里和茅台蝉联前三甲 上海2023年9月8日 /美通社/ -- 今日,2023凯度BrandZ中国品牌盛典以“品牌升维 · 行稳致远&r...

关键字: AN MDASH CE 人工智能

深圳2023年8月10日 /美通社/ -- 近日,源自德国的第三方检测认证机构TÜV南德意志集团 (NB 0123) (以下简称"TÜ...

关键字: 网络安全 指令 BSP ST

(全球TMT2023年7月20日讯)7月19日,第二十届中国制造业数字化转型高峰论坛在西安举行。中之杰智能与现场嘉宾共同分享企业转型方法,探索数智化最佳实践,为制造业高质量发展集势聚能。中之杰智能打造了颠覆性创新产品...

关键字: 建模 双模 中国制造业 指令

单片机的功能是由指令系统体现的。所以,寻址方式和指令系统是衡量微型机的重要指标。

关键字: 单片机 指令 寻址方式

单片机将中央处理器(CPU)、存储和输入输出集成在一个芯片上。可以说,单片机就是微机,只是它的功能和我们平时用的电脑不一样,不是我们用的。像电脑一样强大。计算机可以一个一个地运行应用程序,单片机可以根据工程师的指令编写可...

关键字: 单片机 寄存器 指令

对新手PLC编程入门,或刚毕业的大学生,或多或少对PLC编程有所了解。学习PLC编程常见的方法就是通过相关的辅导书籍来学习,当然,随着PLC培训班的兴起,去PLC编程培训学校学习也是一种很好的学习方法。

关键字: plc 算术运算 指令

ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序...

关键字: ARM 处理器 指令

在指令“MOV A,#12H”中,立即数#12H是源操作数,紧随操作码74H之后存放在ROM中。该指令执行时,单片机先从ROM中读取操作码74H,对操作码74H解码后,确定要进行的操作是将一个8位立即数送入累加器A,接下...

关键字: 单片机 指令 寻址方式

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在...

关键字: 汇编语言 指令 单片机
关闭
关闭