速更新迭代。
(2)控制系统设计思路
3.设计方案
1. 声音采集:由ReSpeaker Mic Array采集声音,运用DOA算法估算声源方位
2. 语音离线唤醒:采用Snowboy语音引擎,训练自定义唤醒词模型
3. 语音识别:使用百度智能云的语音识别接口开发语音助手
4. 电机驱动:由Arduino Mega2560产生PWM控制信号驱动电机工作。
5. 安全刹停:以超声波传感器探测障碍距离,及时刹停以避免碰撞。
6. 安全预警:采用摄像头获取信息,进行人脸识别,对检测到的人脸信息进行邮件反馈预警
7. 蓝牙控制:使用蓝牙模块,通过软串口对底盘进行移动控制
8. 手机APP:自主开发手机APP,对智能垃圾桶进行自定义化控制
9. 自动翻盖:采用超声波模块和舵机,当检测到扔垃圾动作时控制舵机进行翻盖动作
10. 测满预警:采用超声波模块检测垃圾桶内垃圾高度,当达到一定高度后进行报警
4.设计原理
电机驱动模块根据Arduino Mega2560控制器输出的控制信号驱动电机的运行。由Arduino Mega2560产生两路PWM波,通过L298N电机驱动芯片控制两个直流电机,分别驱动左轮和右轮。直走时两路PWM波频率相位相同,当需要转弯时,改变PWM波控制相应的电机反转,另一电机正转。两边形成差速即可实现转向。调整反转的的时间,可以控制转弯角度,改变PWM波的占空比可以控制底盘的速度。
利用超声波模块检测距离,设置两个超声波模块。一个放置于桶盖上,检测垃圾桶内部的垃圾高度,以此判断垃圾桶是否装满,通过桶底下部指示灯提醒人们是否需要倒垃圾。另一个放于桶身外部,通过是否被遮挡来判断是否有扔垃圾动作,当有扔垃圾动作时控制舵机打开桶盖。
自制手机APP,通过蓝牙与垃圾桶底部放置的蓝牙模块连接,当按动手机APP内的按键时,将通过串口向垃圾桶发送信息,以此控制垃圾桶的移动。
利用摄像头捕获视频信息,进行人脸识别处理,检测是否有人出现在垃圾桶附近,并将检测到的人脸信息通过QQ邮箱的POP3/SMTP服务发送到指定邮箱,以此来达到报警的目的。
通过四麦克风阵列获取声源信息,利用Snowboy唤醒词引擎监听,当监听到唤醒词后,调用内置算法将唤醒词的声源信息转化成角度信息发送给下位机,下位机接收后经内置算法处理控制底部执行机构到达声源位置。唤醒之后继续监听后续声音信息,通过百度智能云的语音识别接口处理,实现智能语音交互助手功能。
声源转化算法解释:
假设是声音信息为远场平面波,要求得θ值,其实就是要求两个阵元接收到的信号时间差,所以问题可以转化成求解声音被不同麦克风元件接收的时间差。为此我们采用基于延时估计的DOA方法求解,先进行延时估计,然后即可将角度求解。当接收到求得的角度值之后,便可通过角度值求得底盘做圆周运动的速度,进一步可转换成在一定速度下求转向时间的问题。已知电机转速n、轮胎半径r、底盘做圆周运动的半径R,即可求得底盘做圆周运动的速度:V=(θ*R)/(2*pi*n*r) 通过V即可将获得的角度转换成在一定转速n下的电机运行时间,使底盘正向面声源位置,为垃圾桶向声源移动奠定基础。
|