温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
基于
Arduino
语音
控制
五指
灵巧
基于基于 ArduinoArduino 语音控制的五指灵巧手语音控制的五指灵巧手 打开文本图片集 摘要 本文介绍了一种基于 Arduino 语音控制的五指灵巧手。该方案主要针对于会说话的残疾人,通过语音控制实现对目标物体的抓取.该语音控制的灵巧手系统包含电池模块、控制器、电机驱动模块、语音模块等。该五指灵巧手方案为在上海哲谦应用科技有限公司期间设计的第一代灵巧手。语音模块为非特定人声语音模块 LD3320。该灵巧手可通过语音控制实现对日常物体的抓取。【关键词】非特定人声语音控制 五指灵巧手 据不完全统计,截止至 2010 年末,我国目前肢体残疾人数高达两千多万,传统假肢多采用两指或三指为主,既不灵活也不美观,仿人的五指灵巧手产品极少,且多数进口、价格昂贵。本文介绍了一种基于 Arduino 平台语音控制五指灵巧手的方案,使用者只要通过语音说出自己要做的动作,即可实现对目标物体的抓取。该语音控制的灵巧手系统包含电池/电源模块、控制器、电机驱动模块、语音模块等。该五指灵巧手方案为在上海哲谦应用科技有限公司期间设计的第一代灵巧手。语音模块为非特定人声语音模块 LD3320。1 基于 Arduino 语音控制五指灵巧手方案 本文介绍了一种基于 Arduino 语音控制五指灵巧手的方案。该方案主要针对于会说话的残疾人,通过非特定人声语音控制五指灵巧手实现对目标物体的抓取。五指灵巧手采用欠驱动结构,6 个自由度,11 个活动关节。目前多数语音交互产品需要联网,交互效果受网络信号制约,且价格较高,不适合残疾人灵巧手的应用,本方案采用非特定人声语音模块。方案主要包括控制器、非特定人声语音模块、驱动器及编码器、执行机构、力传感器、电池/电源模块等。系统框图如图 1 所示。备注:橘色路径为能量路径;箭头路径为信号传输路径。1.1 控制器 控制器用于与非特定人声语音模块 LD3320 通信、读取力传感器值、控制电机并读取电机编码器的值、用于控制器之间互相通信。主、从控制器均采用ATMEGA2560,16 路模拟输入,14 路 PWM 输出,4 路 UART;256KB Flash,8KB RAM,16MHz 晶振。1.2 非特定人声语音模块 LD3320 LD3320 是一颗基于非特定人语音识别技术的语音识别/声控芯片,无需用户进行录音训练。芯片上集成了高精度的 A/D 和 D/A 接口,无需外接辅助的 Flash和 RAM,即可以实现语音识别/声控/人机对话功能。把高灵敏度低信噪比麦克风接在芯片的 AD 引脚上即可实现录音功能。支持用户自由编辑 50 条关键词语条,无需语音唤醒。1.3 力传感器 力传感器采用单点压力传感器 FSR400,柔性力传感器的电阻值随着作用于感应区上的压力增大而减小。根据压力传感器规格书及实测数值,10N100N 力范围,FSR400 电阻变化范围为 4kohm1kohm。1.4 电机驱动模块 电机驱动模块采用 LV8548,一个模块可同时控制两路电机。1.5 编码器 编码器采用 FAULHABERPA2-100。每转 100 线,频率上限 35KHz,输出两通道信号的方波;输入电压范围:2.73.3V;工作电流 8mA;脉冲宽度 18045e;AB 通道信號之间相位差 9045e;逻辑状态脉冲宽度 9045e;信号周期 36030e 码盘转动惯量 0.02gcm2;工作温度-2585。1.6 执行机构 执行机构即电机,本系统选用的是直流有刷电机,型号 FAULHABER 1024SR 009SR。标称电压 9V,电枢电阻 14.9 欧姆,最大输出功率 1.34W,最大功效 82%,空载转速 12000 转/分钟,堵转转矩 4.28mNm,堵转电流 0.6A,转子转动惯量0.12gcm2,额定转矩 1.5mNm,额定电流 0.22A,额定转速 6910 转/分钟。减速箱 10/1,减速比 16:1。1.7 电池/电源模块 电池采用 9V2.6AH 锂离子电池。2 软件设计实现 软件系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层及驱动层,分别作用如下:应用程序层:实现特定应用功能的程序。如:语音控制抓取物体。应用程序框架层:很多核心算法是通过这一层来实现的,如抓取算法,如抓球。系统运行库层:是应用程序框架层的支撑,如单手指开合。驱动层:驱动层是程序以访问底层硬件的形式实现人机交互,驱动程序和应用程序之间需要实现相应的信息交互,一方面,应用程序通过对驱动程序发送相应的指令,实现硬件控制的动作指令,另一方面,驱动程序将硬件读写的状态、从硬件上获得的数据传送给应用程序,实现应用程序与驱动程序间的交互。如测速、测距、计数等。部分程序如下:#include103201#includeFSR.h#includeSmarthand.h#includeTMI.h#includeDemo.h#includeBall.h#includeCard.h void setup()Serial.begin(9600)/配置 9600 Voice.init():/初始化 VoiceRecognition 模块 Voice.addCommand(yan shi,0);/添加指令,参数 Voice.addCommand(na ka pian,1);Voice.addCommand(zhua ka pian,1);Voice.addCommand(zhua qiu,2);Voice.addCommand(na qiu,2);Voice.addCommand(wo qiu,2);Voice.addCommand(zhang kai,3);Voice.starto;/开始识别 void loop()int number;number=switch(Voice.reado);/判断识别 Serial.print(Mode=);Serial.println(number);if(number=0)Demo();/语音识别到“yan shi”时,执行应用程序框架层的 Demo 程序。else if(number=1)Card();/语音识别到na ka pian或zhua kapian时,执行应用程序框架层的 Card程序。else if(number=2)Ball();/语音识别到zhua qiu、na qiu或woqiu时,执行应用程序框架层的Ball 程序。else if(number=3)Openo;/语音识别到zhang kai时,执行应用程序框架层的 Open 程序。3 结论 基于 Arduino 语音控制五指灵巧手的方案实现了语音控制五指灵巧手抓取物体的功能。无需联网,无需语音唤醒。五指灵巧手采用欠驱动结构,6 个自由度,11 个活动关节,重约 0.8kg,可强力抓取 3kg 物品,精准抓取 0.2kg 物體。具有力机械自锁功能,电机失电,机械手所持物体不会跌落。可抓取类球形、规则多边形、类圆柱体、勺子、卡片、手机、电源插头等物品,可执行点击、OK、Yeah 等手势动作。参考文献 1赵璐,吴蒙.基于 Arduino 的语音识别与控制系统实现J.微型机与应用,2015,34(21):55-57,60.