基于语音控制的自主寻迹与避障智能小车设计
2020-08-13张伟
张 伟
(漳州职业技术学院电子工程学院 福建漳州 363000)
随着科技的不断进步,智能机器人的应用也越来越广泛,由单片机控制的智能小车的功能也越来越强大[1]。该设计结合语音识别技术,借助各类传感器循迹技术,利用单片机控制,设计出可以自动寻迹与避障的智能小车[2]。
该设计主要用语音控制小车完成如图1所示的寻迹与避障任务, 图中,A点为小车出发点,B、C、D、E、F、G点为障碍点,当给小车相应的点寻迹控制指令后,机器人小车自动循迹,按照语音提示找到相应的障碍点,实现语音识别和智能寻迹、避障功能。
图1 智能小车寻迹避障线路图
1硬件设计方案
该小车采用4节1.5V电池供电,稳压后得到5V电压为系统供电。以AT89C51单片机作为控制主控芯片,系统由自主寻迹单元、避障单元、语音识别单元等部分组成。该系统工作时,由用户发送指令给语音模块,语音模块读取信息后送单片机[3],单片机根据读取信息利用传感器自主寻迹,控制小车找到相应的位置点,并通过LCD显示模块显示该点位置信息,通过红外传感器和单片机控制完成对该点的避障功能。小车硬件系统框图如图2所示。
图2 智能小车硬件框图
2.1驱动模块设计
驱动模块主要实现对小车基本动作的控制,包含前进、后退、左转和右转等动作。该智能小车的电机主要采用线性PWM控制脉冲宽度来控制小车运动。根据小车左轮和右轮不同的脉冲宽度控制小车处于不同的运动状态[4],如表1所示。
2.2自主寻迹模块
该模块主要利用三个光电传感器进行寻迹,软件设计上通过设置一个参数G来判断不同点的位置。如图1线路,小车从起点A出发,前进三格,也就是G=4时到达B点,此时调用右转子程序,继续向C点前进;当G=8时到达C点,此时调用左转子程序,继续向D点前进;当G=11时,此时到达D点。以此类推,通过这个方式,小车完成由A点出发,最终自主寻迹回到起点A的整个过程。
表1 小车输入、输出信号与小车动作的关系
2.3小车避障模块
该单元主要是通过两个红外传感器检测,检测的结果送单片机,如果返回值为0,说明前方无障碍物,如果返回值为1,说明前方有障碍物。单片机接收到信号后调用相应的子程序控制小车调整位置,避开相应的障碍物[5]。如前方发现障碍物,调用后退子程序,如果左方发现障碍物,调用右转子程序,如果右方发现障碍物,调用左转子程序。
2.4语音模块设计
该语音模块是由LD3320来实现的,该模块具有功能强大、操作简单、性能稳定等优点,除此之外该模块还具有AD/DA双向转换、声音输入/输出接口等[6]。可独立完成语音读取、转换以及识别功能,工作原理图如图3所示。
图3 语音识别工作过程
2软件设计方案
2.1系统工作过程
该系统小车从起点A出发,由用户发出指令,语音模块识别到用户指令后[7],单片机根据用户的指令,自主寻迹,找到B到F不同的障碍物,找到相应的点后停留2S,并调整小车位置,完成避障功能。
2.2小车工作流程图
系统工作时,小车启动时先进行自检,执行初始化程序,自检完成后由语音模块读取外部传送的指令信息。当用户给与到达不同点的语音信号后,语音模块识别信号;当识别成功后由LD3320内部进行A/D转换,把数字信号送给单片机[8],单片机根据接收到的指令调用自动寻迹程序,寻找不同的障碍物并完成避障功能。系统工作的流程如图4所示。
图4 智能小车工作流程
3结语
该系统设计是单片机和传感器的综合应用,以AT89C51单片机为主控芯片,通过语音识别芯片读取用户指令。单片机根据不同的信息进行自动寻迹,找到不同的障碍物并完成避障功能,经过测试,该小车寻迹避障效果良好,运行稳定性较好。