论文部分内容阅读
[摘 要]针对四轴飞行器操作复杂、发生事故率高的问题,在传统四轴的基础上通过增加语音识别功能设计了一款可以使用简单的语音指令来控制的四轴飞行器。该功能是通过对语音信号的识别处理并转化为数字信号来实现的,实现的具体过程是对语音信号特征提取,从关键词语列表中匹配关键词语作为语音识别结果输出给主控制器来控制四轴飞行,使对四轴飞行器的操作简单化,失控概率减小。
[关键词]语音遥控,语音识别,STM32,四轴飞行器
中图分类号:P757 文献标识码:A 文章编号:1009-914X(2018)44-0173-04
引言:近年來四轴飞行器得到了极大的关注和发展,四轴飞行器具有体积小,质量轻,结构简单且机动灵活等优势。当前主流研究方向只重视其功能和应用,但却忽略了其操作上的难度。使用者在使用四轴飞行器控制的中,操作较难且易在突发情况下因误操作造成零件的损坏等问题。基于这一情况我们设计了一款及语音识别易于操作的四轴飞行器。
1 整体设计方案
本方案主要包括语音遥控系统和飞行系统。语音遥控系统主要对来自操作者的语音信息进行处理和识别,将指令传输给飞机并在显示模块显示出相应信息来反馈给操作者。飞行系统整合了传统飞机的飞控和电机,电调,以及气压计,加速度计等各种传感器,主要功能是根据来自遥控的指令来运动以及对来自传感器的信息进行处理,最后输出给电机。
2 遥控器系统
遥控器系统主要作用是收集操作指令并经过处理后传输给飞行系统,主体部分其基于STM32的主处理器和收集并处理语音信号的LD3320模块,另外还保留了摇杆模块。
2.1语音控制模块
语音芯片主要实现指令输入的功能。语音识别模块采用模式匹配原理。录入的语音信号经过预处理、特征提取等手段构建参考模式库,然后按照一定准则求取语音特征参数和语音信息并与模式库中相应模板之间的失真测度,与之最匹配的就是识别结果。本设计采用LD3320实现非特定人非连续语音识别,该芯片集成了语音识别处理器和一些外部电路,包括ADC、DAC、麦克风接口、声音输出接口等。该芯片不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中,即可以实现语音识别/声控/人机对话功能。LD3320完成非特定人语音识别,每次识别最多可以设置50项候选识别句,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景[1]。
LD3320在工作时,无需进行预先的训练和录音,语音识别率准确率达到了95%,是一款优秀的非特定性语音识别芯片。图3为部分语音识别电路的原理图,通过外接咪头来获得语音信息,经过滤波、放大处理后送入LD3320。
语音处理过程如图4所示,对经过过MIC输入的声音实施频谱分析——语音特征的提取——匹配关键词语列表中的关键词语——从此关键字列表中得分最高的关键词语作为最终语音识别的结果输出。
2.2摇杆操作模块
此外在确定语音控制四轴飞行器的基础上,我们并没有抛弃传统的手动遥控模式。因为语音识别分辨率的限制,一些需要较精细飞行姿态的情况下,仍需要经过训练的人手动操控飞行器,也保证了熟练操控后的操作要求。该模块采用2XY双轴摇杆,模块内部有两个可根据摇杆角度变化电阻值的电位器分别对应X轴和Y轴,主控芯片通过测量两个电位器的电压获得对四轴飞行器的操作信息来控制四轴飞行。
3飞行系统
飞控系统整合传统四轴各个分立部分为一体,在大量减少飞机主体体积的情况下同时提升了飞机的灵活程度。主要包括主控芯片,电机控制模块以及各类传感器。
3.1主控芯片选择
众所周知,大脑是人体最重要的器官,对于单片机也一样。单片机中四轴飞行器的主控模块采用的是意法半导体公司的STM32F103C8T6。STM32 是兼容所有的ARM 工具和软件的32 位闪存处理器,节能性能业界领先,是同类中性能最高的。之所以选择STM32F103C8T6因为其具有Rotex-M3 内核,继承了ARM 的优良性能,主频为72MHz,包含有3 个通用定时器、1 个高级定时器、7 通道DMA 控制器,而且总线接口资源丰富,可以很好的实现对四轴飞行器的控制[2]。
3.2传感器
传感器主要包括惯性测量单元MPU6050以及气压计MS5611。其中MPU6050 集成了一个3轴陀螺仪和一个3 轴加速度传感器,并通过IIC 总线给出相应六个维度的ADC 值。MPU6050 出现了硬件DMP 直接读取四元数的方法,即 MPU6050 内置了一个功能模块,能够把原始数据进行校正处理后输出[[3],这就使得可以通过硬件的方式解算四元数,大大提高了单片机的运算速度。和通过软件算法来解算四元数的方法相比,硬件解算具有解算速度快、对主控单片机的运行消耗小等优点。气压计MS5611可以对海拔高度进行测量,误差在10cm之内,精确度非常高,采用该传感器对四轴的高度进行测量,反馈给主控芯片从而来控制飞行高度。
3.3电机及其驱动
由于飞机的小型化,电机机和其驱动模块被整合在了整个飞行系统里。电机采用的是小型高转速的有刷空心杯电机716,仅有由一个MOS就可以被驱动,该电路原理图如图5所示。
4 算法
四轴飞行器的主控芯片使用的是STM32F103C8T6芯片,程序利用定时器,在主循环中通过不断扫描判断各个条件。这样就产生了几个大小不一样的时间段,根据需要就可以完成飞控所实现的功能,尽可能的利用主控部分的资源。
4.1串级PID
单纯的角度PID只能调节飞机的角度却无法控制角度调节的快慢,因而不能保证飞机的稳定性。所以为了保证飞机的稳定性采用角度和角速度两级PID的调节,处理步骤如图6所示。 串级控制结构中含有两个回路,内回路在控制过程中负责粗调,外回路则完成细调,具体工作原理为[4]:期望角度来自遥控传输来的数据,测量角度角度来自MPU6050,二者的偏差作为外环角度环的输入,角度环 PID 输出角速度的期望值,;角速度测量值同样由PU6050测量而来,角速度期望值减去测量角速度得到角速度偏差值,这个值作为内环角速度环的输入,角速度环 PID 输出姿态控制量,控制量转换为四个空心杯电机相应的 PW M 去控制电机,达到了控制四轴飞行器平稳飞行的目的。
4.2语音控制子程序
开始识别时,通过设置相关的寄存器,将识别的关键词以字符串的形式传送到芯片中,就可以在下次识别中生效。而且这一预处理过程并不需要用户采集识别过程前经受任何训练。部分子程序如图9。
完成预处理过程后,芯片可以识别列表中的关键字。用户说出的语音信息,通过频谱转换为语音特征,和这个关键词语列表中的条目进行一一匹配,最优匹配的一条作为识别结果,传输至主控芯片并做出相应的飞行姿态调整。
5.结语
方案设计了基于语音控制的四轴飞行器系统,实现了通过语音来控制四轴飞行器完成各种飞行动作。通过设计可以使新手迅速上手飞行器,对飞行器的发展与普及有一定促进作用。但是系统也寻在许多不足之处,通过语音控制只能完成提前设定的简单动作且由于抗噪音干扰能力较差,一些精细化飞行操作还有待作进一步的研究。
参考文献
[1]陈喜春, ChenXichun. 基于LD3320语音识别专用芯片实现的语音控制[J]. 电子技术, 2011, 38(11):20-21.
[2]STM32F 系列ARM Cortex-M3 核微控制器开发与应用[J]. 喻金钱,喻斌.清华大学出版社,2011
[3]陈国定, 周鹏豪, 胡朕豪,等. 基于MPU6050的四轴硬件姿态解算研究[J]. 机电工程, 2018(1):95-100.
[4]石朝霞, 胡兴柳, 姜思辰,等. 四旋翼无人飞行器串级PID控制系统研究[J].滨州学院学报,2016,32(4):10-16.
基金项目:
华北理工大学大学生创新计划(X2017195)
作者简介:
郭忠杰(1996—),男,漢族,河北邢台人,在校本科生,就读于华北理工大学电气工程学院电子科学与技术专业。
[关键词]语音遥控,语音识别,STM32,四轴飞行器
中图分类号:P757 文献标识码:A 文章编号:1009-914X(2018)44-0173-04
引言:近年來四轴飞行器得到了极大的关注和发展,四轴飞行器具有体积小,质量轻,结构简单且机动灵活等优势。当前主流研究方向只重视其功能和应用,但却忽略了其操作上的难度。使用者在使用四轴飞行器控制的中,操作较难且易在突发情况下因误操作造成零件的损坏等问题。基于这一情况我们设计了一款及语音识别易于操作的四轴飞行器。
1 整体设计方案
本方案主要包括语音遥控系统和飞行系统。语音遥控系统主要对来自操作者的语音信息进行处理和识别,将指令传输给飞机并在显示模块显示出相应信息来反馈给操作者。飞行系统整合了传统飞机的飞控和电机,电调,以及气压计,加速度计等各种传感器,主要功能是根据来自遥控的指令来运动以及对来自传感器的信息进行处理,最后输出给电机。
2 遥控器系统
遥控器系统主要作用是收集操作指令并经过处理后传输给飞行系统,主体部分其基于STM32的主处理器和收集并处理语音信号的LD3320模块,另外还保留了摇杆模块。
2.1语音控制模块
语音芯片主要实现指令输入的功能。语音识别模块采用模式匹配原理。录入的语音信号经过预处理、特征提取等手段构建参考模式库,然后按照一定准则求取语音特征参数和语音信息并与模式库中相应模板之间的失真测度,与之最匹配的就是识别结果。本设计采用LD3320实现非特定人非连续语音识别,该芯片集成了语音识别处理器和一些外部电路,包括ADC、DAC、麦克风接口、声音输出接口等。该芯片不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中,即可以实现语音识别/声控/人机对话功能。LD3320完成非特定人语音识别,每次识别最多可以设置50项候选识别句,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景[1]。
LD3320在工作时,无需进行预先的训练和录音,语音识别率准确率达到了95%,是一款优秀的非特定性语音识别芯片。图3为部分语音识别电路的原理图,通过外接咪头来获得语音信息,经过滤波、放大处理后送入LD3320。
语音处理过程如图4所示,对经过过MIC输入的声音实施频谱分析——语音特征的提取——匹配关键词语列表中的关键词语——从此关键字列表中得分最高的关键词语作为最终语音识别的结果输出。
2.2摇杆操作模块
此外在确定语音控制四轴飞行器的基础上,我们并没有抛弃传统的手动遥控模式。因为语音识别分辨率的限制,一些需要较精细飞行姿态的情况下,仍需要经过训练的人手动操控飞行器,也保证了熟练操控后的操作要求。该模块采用2XY双轴摇杆,模块内部有两个可根据摇杆角度变化电阻值的电位器分别对应X轴和Y轴,主控芯片通过测量两个电位器的电压获得对四轴飞行器的操作信息来控制四轴飞行。
3飞行系统
飞控系统整合传统四轴各个分立部分为一体,在大量减少飞机主体体积的情况下同时提升了飞机的灵活程度。主要包括主控芯片,电机控制模块以及各类传感器。
3.1主控芯片选择
众所周知,大脑是人体最重要的器官,对于单片机也一样。单片机中四轴飞行器的主控模块采用的是意法半导体公司的STM32F103C8T6。STM32 是兼容所有的ARM 工具和软件的32 位闪存处理器,节能性能业界领先,是同类中性能最高的。之所以选择STM32F103C8T6因为其具有Rotex-M3 内核,继承了ARM 的优良性能,主频为72MHz,包含有3 个通用定时器、1 个高级定时器、7 通道DMA 控制器,而且总线接口资源丰富,可以很好的实现对四轴飞行器的控制[2]。
3.2传感器
传感器主要包括惯性测量单元MPU6050以及气压计MS5611。其中MPU6050 集成了一个3轴陀螺仪和一个3 轴加速度传感器,并通过IIC 总线给出相应六个维度的ADC 值。MPU6050 出现了硬件DMP 直接读取四元数的方法,即 MPU6050 内置了一个功能模块,能够把原始数据进行校正处理后输出[[3],这就使得可以通过硬件的方式解算四元数,大大提高了单片机的运算速度。和通过软件算法来解算四元数的方法相比,硬件解算具有解算速度快、对主控单片机的运行消耗小等优点。气压计MS5611可以对海拔高度进行测量,误差在10cm之内,精确度非常高,采用该传感器对四轴的高度进行测量,反馈给主控芯片从而来控制飞行高度。
3.3电机及其驱动
由于飞机的小型化,电机机和其驱动模块被整合在了整个飞行系统里。电机采用的是小型高转速的有刷空心杯电机716,仅有由一个MOS就可以被驱动,该电路原理图如图5所示。
4 算法
四轴飞行器的主控芯片使用的是STM32F103C8T6芯片,程序利用定时器,在主循环中通过不断扫描判断各个条件。这样就产生了几个大小不一样的时间段,根据需要就可以完成飞控所实现的功能,尽可能的利用主控部分的资源。
4.1串级PID
单纯的角度PID只能调节飞机的角度却无法控制角度调节的快慢,因而不能保证飞机的稳定性。所以为了保证飞机的稳定性采用角度和角速度两级PID的调节,处理步骤如图6所示。 串级控制结构中含有两个回路,内回路在控制过程中负责粗调,外回路则完成细调,具体工作原理为[4]:期望角度来自遥控传输来的数据,测量角度角度来自MPU6050,二者的偏差作为外环角度环的输入,角度环 PID 输出角速度的期望值,;角速度测量值同样由PU6050测量而来,角速度期望值减去测量角速度得到角速度偏差值,这个值作为内环角速度环的输入,角速度环 PID 输出姿态控制量,控制量转换为四个空心杯电机相应的 PW M 去控制电机,达到了控制四轴飞行器平稳飞行的目的。
4.2语音控制子程序
开始识别时,通过设置相关的寄存器,将识别的关键词以字符串的形式传送到芯片中,就可以在下次识别中生效。而且这一预处理过程并不需要用户采集识别过程前经受任何训练。部分子程序如图9。
完成预处理过程后,芯片可以识别列表中的关键字。用户说出的语音信息,通过频谱转换为语音特征,和这个关键词语列表中的条目进行一一匹配,最优匹配的一条作为识别结果,传输至主控芯片并做出相应的飞行姿态调整。
5.结语
方案设计了基于语音控制的四轴飞行器系统,实现了通过语音来控制四轴飞行器完成各种飞行动作。通过设计可以使新手迅速上手飞行器,对飞行器的发展与普及有一定促进作用。但是系统也寻在许多不足之处,通过语音控制只能完成提前设定的简单动作且由于抗噪音干扰能力较差,一些精细化飞行操作还有待作进一步的研究。
参考文献
[1]陈喜春, ChenXichun. 基于LD3320语音识别专用芯片实现的语音控制[J]. 电子技术, 2011, 38(11):20-21.
[2]STM32F 系列ARM Cortex-M3 核微控制器开发与应用[J]. 喻金钱,喻斌.清华大学出版社,2011
[3]陈国定, 周鹏豪, 胡朕豪,等. 基于MPU6050的四轴硬件姿态解算研究[J]. 机电工程, 2018(1):95-100.
[4]石朝霞, 胡兴柳, 姜思辰,等. 四旋翼无人飞行器串级PID控制系统研究[J].滨州学院学报,2016,32(4):10-16.
基金项目:
华北理工大学大学生创新计划(X2017195)
作者简介:
郭忠杰(1996—),男,漢族,河北邢台人,在校本科生,就读于华北理工大学电气工程学院电子科学与技术专业。