基于LeapMotion的仿生机械手臂设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发研究
基于LeapMotion 的仿生机械手臂设计
张港
(湖北工业大学机械工程学院,湖北武汉430068)
摘要:提出一种基于LeapMotion 的仿生机械手臂设
计方案,通过LeapMotion 传感器同时采集左右手的信 息,将识别到的手势以及手掌的位置信息动态地反映到机
械手臂系统中,控制机械手臂跟随手部的动作实时运动, 实现抓取、旋转以及机器人的前进、后退、转向等一系列动 作,实现了体感技术和机器人控制技术的结合,提供了一
种新的机械手控制方式,增强了用户的沉浸感,操控更加
自由。
实验结果表明机械手臂的跟随效果良好,但是运动
稳定性和定位精度有待提高。
关键词:LeapMotion ;机械手臂;人机交互
随着信息技术的高速发展,人机交互也越发向拟人化、 宜接化的方向发展,目前主要的新型人机交互方式包括:语 音交互、触摸交互、体感如等。
瞎交互是利用人的肢体 动作与设备进行互动,近年来发展尤其迅猛。
体感交互能
够利用人体最自然的肢体动作对系统进行操控,因此具有
宜接、快捷、便利、沉浸感强的特点。
Leap 公司的LeapMotion 传感器是一种高精度体感识
别传感器,通过红外LED 和摄像头以光学感测技术的方式 来完成对手势的追踪和捕获。
目前,LeapMotion 开始应用
于医疗康复训练、教学演示、手势识别等方面。
本文设计了
基于LeapMotion 的仿生机械手臂,由六自由度机械手臂和 全方向移动平台组成,并将体感操控作为机械臂的控制方式,
通过LeapMotion 提取左右手的手势信息和位置信息来操 控机械臂,实现机械臂的抓取和移动。
1 系统方案设计
1.1系统硬件组成
系统选择stm32F427芯片为主控制器丄eapMotion
通过蓝牙与控制器进行通讯,传输命令以及手势信息;六自
由度机械手臂通过6个舵机控制6个自由度的运动,控制 器输出6路pwm 信号分别控制6个舵机的转动;全方位 移动平台由底板和4个Mecanum 轮组成,车轮分别和4 个独立的3510无刷电机相连,分别由820R 电调进行驱
动,控制器通过CAN 总线控制各个车轮的转向和转速係
统框图如图lo
图1系统结构框图
1.1.1 LeapMotion 传感器
LeapMotion 是Leap 公司生产的一种高精度的体感
识别传感器,内部的3颗红夕卜LED 对手部进行照明,2颗
红外摄像头用来获取手部动作信息,如图2所示:
奇帧率红外摄像头
图2 LeapMotion 结构图
LeapMotion 的工作原理是红外立体视觉原理。
红外 LED 通过频闪在滤光片上方区域发出扇形的结构光线,双
红外摄像头对反射回来的红外光进行光跟踪,2个摄像头获
取的画面存在视差,通过视差关系建立三维影像模型,并实 时计算出被测目标的空间信息。
其识别空间为倒三角形,识
别死区位于设备的中心,该传感器的有效探测范围在设备上 方25〜600 mm 处。
LeapMotion 工作原理如图3所示。
对影像进行噪点过滤和背景分离处理后,可获得含有
空间信息的目标影像数据,LeapMotion 的采集速率为
100〜200 Frame/s,精度高达1/10 mm o 通过内部高
速处理芯片对数据进行处理撚后发送至计算机内,计算机 的上位机软件调用传感器软件开发包的API,对数据进行
图像识别和三维模型还原运算后可获得手、手腕、手指等的 各项信息,并可以获取手势和动作等静态与动态信息。
1.1.2 Mecanum 全方位移动平台
传统的轮式结构很难实现原地旋转、朝任意方位运动
和左右平移运动,左 右转也是通过差速的
原理或者1个轮子正 转,]个轮子反转来
实现,但也很难实现
原地零半径旋转、朝
任意方向运动和左右
平向移动。
在复杂或
《湖北农机化》2019年第10
期
开发研究
者狭窄的空间,很难实现自主的移动。
而利用Mecanum
轮,就可以很好地解决上述问题,麦克纳姆轮具有全方位移
动的功能,它的圆周上分布了许多小滚子,这些特殊分布的
小滚子的轴线与车轮的轴线成45。
,这样就使得滚子受2
个方向的力,既可以绕自身转动又可以绕车轴转动。
图4
为全方位移动平台的车轮布置图。
1.1.3六自由度机械手臂
六自由度机械手臂模仿人的手臂机构,包含肩、肘、腕3
个关节的移动以及旋转,因此机械手臂能够模拟出人类手臂
的各种姿态,其中夹取装置能够模拟人的手部抓取动作。
机械手臂由6个伺服舵机和铝
合金支架拼接而成。
舵机可以根据
pwm信号的占空比大小旋转到对应
的角度,然后精准地停下。
控制系统
将LeapMotion传感器提取的手部
坐标转换为占空比大小,从而控制机
械臂各个关节的运动和定位。
图5
为机械臂的结构图。
正因为采用伺服舵机控制机械
玮的运动,所以在®Whh,能够
很方便地将手部的位置信息和舵机
的角度映射起来,从而能够实现机械
跟随手部动作的功能,且拥有较
好的精度,同时极大简化了控制系统
的设计,提高了控制系统的稳定性。
1.2上位机软件设计
Leap公司辭了SDK包供开发者开发。
本系统在Win-dowslO操作系统下,iffiS C++编写上位机濟获取传感器中的追踪娜,并通过蓝牙发送给stm32F427控制器。
系统使用到了SDK类库中的6大类:Controller类、Frame类‘Gesture类、Finger类、Handlist类、Hand类。
Controller类提供主要接口,通过仓(I建Controller类的实例来访问每一帧的数据;Frame类包含在1个帧中识别到的手部数据;Gesture类表示对手势的识另!J;Finger类表示1个手指的相关数据;Handlist类为识别到的所有Hand 对象的列表,可以通过Handlist访问其中的每一个Hand 对象;Hand类则表示手部的特征数据,如手掌方向、手掌位置、移动速度等等。
上位机软件首先初始化,创建Controller实例和SampleListener实例、对串口进行初始化,然后将Sam-pleListener实例加入到Controller实例中,等待任意案件按下,程序循环运行。
当传感器每获得一帧后,创建Frame实例、Handlist实例、Hand实例,首先区分左右手,将Frame提取到的左右手对象放入到对应的实例中,然后分别对左右手的实例中提取手部的位置信息、角度信息以及手势信息,使用到的函数有palmPositionO、direction。
、countO等,然后将提取到的数据通过串口发送给蓝牙模块,然后返回。
程序框图如图6、图7。
图6主程序流程图
2系统运行
为了验证系统的可行性,本文进行了多次实验,测试手势控制机械臂的稳定行和成功率,其中右手控制机械臂的上下、左右移动以及机械手的抓取、翻转动作,左手控制移动平台的前后、左右、旋转移动,每个动作测试100次,统计数据如表l o
表1系统测试统计
测试项目测试次数(次)成功率(%)机械手上下运动100次100%
机械手左右运动100次100%
机械爪抓取动作100次92%
机械爪翻转运动100次88%
移动平台前后运动100次100%
移动平台左右运动100次100%
移动平合旋转运动100次100%
结果表明,对于手掌的平移以及旋转运动,系统都能准确地识别到,对于较复杂的手势如抓取和手腕的翻转,识别成功率略低,这是由于传感器从手部底面进行拍摄,当手部动作复杂时,传感器易出现误判,导致系统不稳定,还应对信号进行滤波处理。
3结论
通过使用LeapMotion传感器提取双手的手部特征,用以控制机械手臂的姿态和动作,将体感技术与机械手臂的控制结合起来,并通过实验验证了系统的可行性和稳定性,机械手臂能够准确地完成移动和抓取动作,目前复杂手势的识别率还不够高,可通过算法进行优化。
对未来新型人机交互应用与机械手臂控制方面有借鉴作用。
参考文献:
口]赵小刚•机械臂全方位移动自动控制系统研究[J1.自动化与仪器仪表,2016⑼:62-63.
[21刘忠超,熊雷,翟天嵩•六自由度采摘机械臂系统设计[J].农机化研究,2015(8):112-114.
(收稿日期=2019-04-03)
《湖北农机化》2019年第10期。