1. 首页
  2. 文档大全

语音控制无人机设计说明

上传者:su****1 2022-06-11 14:24:38上传 DOCX文件 802.43KB
语音控制无人机设计说明_第1页 语音控制无人机设计说明_第2页 语音控制无人机设计说明_第3页

《语音控制无人机设计说明》由会员分享,可在线阅读,更多相关《语音控制无人机设计说明(30页珍藏版)》请在文档大全上搜索。

1、国家级大学生创新实验项目基于人机交互技术的多旋翼飞行器控制研究报告项目主持人:姚佳乐项目组成员:石磊杨梦飞姜裳指导教师:匡银虎、张虹波物理电气信息学院2014年3月1研究背景31.1 AR.Drone2.0四轴飞行器介绍31.2 科大讯飞语音识别系统介绍41.3 Halcon机器视觉软件介绍42开发过程52.1 AR.Drone2.0SDK研究52.1.1 翻译AR.Drone2.0SDK原文52.1.2 初期研究52.1.3 深入研究112.2 通过PC语音识别,发送语音控制命令112.3 飞行器视频流采集,分析图片,自动判定飞行区域132.3.1 学习halcon软件,达到图像标志识别的目

2、的132.3.2 通过获取的圆形区域的参数建立与实际距离之间的关系203后续开发展望264总结271研究背景1.1 AR.Drone2.0四轴飞行器介绍AR.Drone2.0是一款遥控四轴飞行航模,拥有四个螺旋桨控制其飞行动作,如图1所示。图1四轴飞行器其结构包括:四轴机架、螺旋桨、无刷电机、电调、飞控板、传感器模块、wifi模块、机壳、摄像头、电池。以下为AR飞行器的基本参数:飞行速度:5米/秒;18千米/小时;重量:有机壳-400克/436克;无机壳-366克;尺寸:有机壳-51.5x51.5/45.2x45.2;无机壳-45x29cm;电池:3芯锂电池-11.1V1000毫安时;充电时间

3、-1.5小时;飞行时间-12分钟;内置系统:ARMCortexA8位处理器;DDRSDRAM28MBNANDFlashmemory128MBWiFi/g/n;LinuxOS;超声波高度计:发射频率-40kHz;范围-6米;操作温度:055摄氏度;AR飞行器的飞控板为ARM板,型号为armv71gnu/linux,搭载了以linuxuclibc2.6.32.9-gbb4d210为内核的Linux系统,封装了飞行器的飞控算法等基本代码,自带一块WiFi卡,通过WiFi网络发送控制命令。Linux系统开源,因此理论上可以在任何客户端上开发控制程序控制飞行器(只要支持WiFi)。1.2 科大讯飞语音识

4、别系统介绍自动语音识别技术(AutoSpeechRecognize,简称ASR)是让计算机通过识别和理解过程把语音信号转变为相应文本或命令的技术,通俗的讲,就是让计算机明白人类语言。科大讯飞语音识别软件是当前用于人机交互智能语音识别技术的领先软件。该软件可将控制者的语音命令通过输入法转换为文字命令。1.3 Halcon机器视觉软件介绍HALCO跟德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。H*crov<sion皿*雎强圄耀图2维视图像开发定制软件HALCO曝一套imageprocessinglibrary,由一千多个各自独立的函数,以及底层

5、的数据管理核心构成。其中包含了各类滤波,色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能,由于这些功能大多并非针对特定工作设计的,主要用于自动化控制检测。HALCONfc持Windows,Linux和MacOSX操作环境。整个函数库可以用C,C+,C#,Visualbasic和Delphi等多种普通编程语言访问。HALCO包含了一套交互式的程序设计界面HDevelop,可在其中以HALCON序代码直接撰写,修改,执行程序,并且可以查看计算过程中的所有变量,设计完成后,可以直接输出GC+十VBC#vb等程序代码,套入程序中。这对于本项目基于飞行器的人

6、机交互有较大帮助。2开发过程设备列表:AR.Drone2.0四轴飞行器一台,聚合物锂离子可充电电池组(1500mAh和1000mA咯一块),笔记本电脑一台。运行环境:Windows7系统,Visualstudio2012,C#S程语言,Halcon10.0,科大讯飞语音输入法。2.1 AR.Drone2.0SDK研究2.1.1 翻译AR.Drone2.0SDK原文由于AR.Drone2.0SD侬明发行时间较短,网络和书籍上关于该部分的介绍说明均为纯英文版本,因此,要深入研究需将原文翻译为中文,起初的翻译有一定的偏差,项目组成员在多次实验的过程中不断对译文进行修改,达到最契合版本。2.1.2 初

7、期研究(一)对SDK进行初步研究,初步选取有用信息,了解控制AR.Drone是通过3个主要的通信服务完成的。控制和配置无人机是通过在UDP555网口发送A饰令实现的。控制命令的发送延时是向用户体验的关键。这些命令都是定期发送的(通常为30次/秒)。可用命令的列表和它们的语法在将第6章中讨论。关于无人机的信息(像它的状态,它的位置,速度,发动机转速等),被叫做导航数据,这些信息是由无人机通过UD的5554端口发送给客户端的。这些导航数据也包括可用于创建增强的现实游戏的标签检测信息。在演示模式下他们被发送15次/秒,在全模式(调试模式)下为200次/秒。视频流是由AR.Drone发送到客户端设备的

8、5555端口(AR.Drone2.0使用TCP)。视频流中的图像可以用SDK的编码解码器进行解码。(二)能够使用识别使飞机起飞、降落等的普通基础指令,即AT指令。(1) AT命令的语法字符串被编码为8位ASCII字符,后跟一个回车字符(字节值为0Di6),标记<CR>以后,表示一个换行符标记符。一个命令由三个字符的AT*(即三个值分别为41(i6),54a、2A16)的8位字节)后面跟上一个命令的名字,一个等号,一个序列号,和可选的一系列以逗号分隔开的含义取决于命令的参数。一个UDPfe可以包含一个或多个命令,以换行符隔开(字节值为0A16)。一个AT命令必须属于一个UDPfeo将

9、一个AT命令分解到两个或更多的UDPfe中是不可能的。示例:AT*PCMD_MAG=21625,1,0,0,0,0,0,0<CR>ATREF=21626,29071769<CR>总命令的最大长度不能超过1024个字符,否则整个命令行将被拒绝。这个限制硬性编码在无人机的软件中。注意:不正确的AT命令会被无人机忽略。然而,客户端应该总是确保它发送UD吸据包是正确的。大多数命令可以接受以下三种不同类型的参数:?一个有符号整数,存储在用一个十进制表示的命令字符串中(例如:序列号)?一个值存储在双引号中的字符串(例如:参数AT*CONFIG?一个单精度IEEE-754标准的浮点值

10、(又名:浮点数)。那些并不直接存储在命令字符串中。相反,在AT命令中,32位字包含的浮点数将被认为是一个32位有符号的整数并打印出来。(2)命令序列为了避免无人机执行旧的命令,一个序列号将和每个发送的AT命令相联系,并存储为“等号”后面的第一个数字。如果该命令的序列号小于最后一个收到的有效命令的序列号,则无人机将不会执行该命令。每当客户端与AT指令的UDP端口断开连接,或者接收到将序列号置为1的命令时,这个序列号将在无人机中被重置为1(当前,如果超过2秒还没有发送任何指令将被认为是断开连接)0因此客户端为了在无人机上成功地执行命令,必须遵守以下规则:?总是发送1作为发送的第一个命令的序列号。?

11、总是发送序列号递增的命令。如果有几个软件的线程向无人机发送命令,应该通过一个专门的受互斥机制保护的函数生成序列号并发送给UDFfeo(3)浮点参数示例如下,使用浮点参数并思考发送一个改进的带有-0.8参数的命令来让它倾斜。数字-0.8是根据IEEE-754的格式作为值为BF4CCCCD(16)32位享存储在内存中的。这32位字可以被认为是32位整数的-1085485875(1。)。所以要发送的命令应该是:AT*PCMD_MAG=xx,xx,-1085485875,xx,xx,xx,xx(4)AT命令总结表1AT命令总结AT命令参数(除了序列号)描述AT*REF输入起飞/着陆/紧急停止命令AT*


文档来源:https://www.renrendoc.com/paper/212617493.html

文档标签:

下载地址