SPCE061A在智能语音识别避障机器人中的设计应用
用户只需要把前面的电源输入跳线J2、测量模式选择跳线J1设置好后,用排线把J5与SPCE061A的IOB口低八位相接,J4与IOB口高八位相接,即可使用了。
2.2.8 注意事项
◆提供给模组的电源必须在4.5V以上,而且尽量保持电源电压的稳定。
◆模组外接电源接口J3接入的电源不要超过12V。
◆模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果。
◆模组的中距测距模式的精度与程序设计有关,提供的范例程序中没有对测距结果进行标定,所以有3~5cm的距离误差时是正常的。
2.3 机器人简介
2.3.1 机器人驱动电路图
机器人驱动电路图如图2-6所示:
图 2-6 机器人驱动电路图
机器人驱动电路采用功率较大的三极管搭成H桥来驱动电机,可以实现电机的正向旋转与电机的反向旋转。这些电机包括2个用于走路的电机与一个头部转向的电机。另外用了一个三极管驱动单向旋转的电机,包括加速电机与发射电机,驱动电路比较简单。
2.3.2 主要功能
◆通过语音命令对其进行控制;
◆可以跳两首舞曲;
◆走步功能、转向功能、转头功能;
◆发射飞盘功能;
2.3.3 机器人实物图
图 2-7 机器人实物图
2.3.4 注意事项
◆机器人在发射飞盘时不要面向人,避免受伤
◆机器人要轻拿轻放应该避免摔打
◆在安装电池时注意正负极,否则容易烧坏机器人电机或主控制板
3 系统总体方案介绍
用61板来控制机器人,使用了IOA7-IOA15以及IOB2和IOB9资源,另外使用了扬声器。如图3-1所示:
图 3-1 系统的结构框图
系统主要由61板、超声波测距模组和机器人驱动电路构成。61板作为整个系统的主控板,超声波测距模组在机器人运动期间定期检测前方是否存在障碍物,驱动电路驱动电机,在主控板61板的控制下完成各个动作。另外增加了特定人语音识别的功能,通过命令来控制机器人,使机器人智能化。
4 系统软件设计
在主函数中调用相关函数完成特定人语音的训练,然后在训练成功后进行语音识别,根据识别的命令执行相关的操作。程序流程如图4-1所示:
图 4-1 主程序流程图
根据FLASH中的标志位来进行判断是否为第一次下载。使用库函数BSR_ExportSDWord(uiCommandID)将训练好的语音模型导出存储到FLASH中进行操作,然后再调用读写FLASH函数。在进行语音识别时,首先读取FLASH将语音模型取得,然后调用BSR_ImportSDWord(uiCommandID)函数将语音资源载入内存。在识别出命令后,执行相关动作,相关动作操作就是操作电机的正向或反向旋转同时配合延时与播放声音组合起来形成不同的动作。
避障的实现是在机器人活动期间完成的。
在机器人活动期间会播放背景声音或音乐。播放采用后台方式,使用4096Hz时基中断处理语音解码。这样可以释放大量CPU资源在前台处理其他事务。
语音播放函数流程图如图4-2所示。
图 4-2 语音播放程序流程图
评论