智能迎宾机器人控制系统设计与研究

2021-11-05 07:47兰州石化职业技术学院电子电气工程学院洪梓榕
电子世界 2021年17期
关键词:迎宾子程序红外

兰州石化职业技术学院电子电气工程学院 任 聪 洪梓榕

本文设计了一款基于STM32的智能迎宾机器人控制系统。该系统使用STM32芯片作为主控芯片,通过语音模块、周边环境检测模块、人脸识别模块的配合,实现了自主迎宾、路径自主规划、面部及语言识别、人机对话、智能跟随等功能。实际测试分析结果表明,系统达到了预期设计的目标,具有低成本、低功耗、高性能的特点。

目前,迎宾机器人的控制系统存在功能单一、调试不便、后期维护困难等问题,本文针对以上问题利用模块化编程思想,设计了一种基于物联网技术的迎宾机器人系统,通过将嵌入式系统、传感器应用与物联网技术进行有机结合,为迎宾机器人的控制系统的设计提供了一种新思路。

1 系统总体设计

智能迎宾系统利用多种传感设备实现周围游客目的地信息的获取,利用STM32单片机将采集的信息进行分析,通过WIFI、ZigBee等模块将信息传输至驱动机构,通过机器人将游客到达相应的地点。

图1 系统总体框架

2 硬件设计

2.1 控制模块

根据本系统具有实时性强、外设多、需具备网络通信功能等特点,选择了STM32F103ZET6芯片作为核心处理器,其工作电压范围为2.0-3.6伏。它集成了丰富的片内资源,包括256K至512K字节的闪存程序存储器,高达64K字节的SRAM,3个12位us级的模数转换器,转换范围为0至3.6伏,多达112个快速I/O口、11个定时器、13个通信接口等,有效的简化了外围电路的设计以及硬件设计的成本。

2.2 语音交互模块的设计

系统采用的是科大讯飞AIUI评估板,将游客提出的问题与云端指令库进行对比,随后将云端指令库中的信息发送至开发板,开发板进行指令与语音的转换,实现游客与机器人之间的对话。AIUI评估板如图2所示。

图2 AIUI评估板

2.3 周边环境检测模块设计

检测模块由人体感应模块、红外测距传感器、超声波传感器组成。HC-SR501人体感应模块的信号是数字信号,信号输出端口可以直接连接到STM32单片机。GP2D12红外测距传感器的信号是模拟信号,可通过STM32单片机的A/D转换模块处理后触发机器人相应操作。

HC-SR501人体感应模块,是基于红外线技术的自动控制模块,通过热释电效应探测红外辐射,因人体温度与环境温度有所差别,当人体进入检测区时,传感器有输出;若人体进入检测区不动,则温度没有变化,传感器没有输出;所以这种传感器可以用来检测人体活动的传感。人体传感模块通过单片机的I/O口与其连接,传感器模块默认输出低电平。当人体进入传感器的感应区域时,传感器的输出端将会输出高电平,否则输出端将输出低电平。当单片机接收到从低电平到高电平的脉冲变化时,就会触发相应的程序,使机器人进行相应的动作。

GP2D12红外测距传感器,集成红外线发射管与PSD(Position Sensing Device位置敏感检测装置),利用光的反射性质,采用三角测量原理,通过红外发射管发出红外光束,当红外光束遇到障碍物后会被反射回来,落到PSD上,因此在空间中构成了一个等腰三角形,我们通过借助PSD所获得的相应数据可以测得三角形的底,因为等腰三角形的两个底角是固定的,所以可通过发射管发出的光束与来PSD所接收到的光束的位置来确定此时的三角形的底边,之后我们通过三角形的底边以及底角的大小来推算出高,也就是我们所要的距离。由于传感器模块输出信号微弱,所以需设计放大电路,通过放大电路对传感器输出信号进行放大,之后将信号发送至STM32单片机的A/D转换模块,进行模拟量与数数字量之间的转换后得到距离,随后触发相应程序使得机器人与游客、障碍物保持安全距离、避免出现故障时误伤到游客。三角测量原理如图3所示。

图3 三角测量原理

2.4 人脸识别模块设计

OpenMV是一款体积小、功耗低、成本低、能够轻松完成机器视觉及图像采集处理的传感器。并且能够运用高级语言Python所编写的视觉识别算法对其相应的操作,使其能够对复杂的图像进行处理并输出我们所需的数据。

本系统利用OpenMV,通过LBP特征提取算法,进行人脸检测及人脸追踪。将OpenMV提取到的人脸信息进行解析,发送至主控板,通过主控板控制相应的器件,实现面向游客讲解景区内容。OpenMV摄像头如图4所示,人脸识别部分代码如图5所示。

图4 OpenMV摄像头

图5 人脸识别部分代码

3 系统软件设计

基于程序模块化的设计理念,本系统设计了主程序、各功能子程序以及HMI程序。主程序流程如图6所示,HMI程序流程如图7所示。

图6 主程序流程

图7 HMI程序流程

各功能子程序主要包括初始化子程序、数据采集子程序、WIFI无线通信子程序等。系统上电后,先对整个系统程序进行初始化,首先将单片机的I/O口的工作模式,串口的波特率等参数,以及NVIC和EXTI控制器的工作状态进行相应的设置,随后对系统所用到的各种传感器(如:红外测距传感器、人体感应传感器、超声波传感器等),液晶(LCD)显示屏以及WIFI通信模块等外部连接设备进行初始化操作,使其整个系统进入待机状态。

本系统所用到的有些传感器采集的是模拟信号,模拟信号是采用以下方式来处理的,首先是通过STM32单片机上的12位模数(A/D)转换器进行转换;之后将转换完成后的数字量依据本系统所采用自主设定的通信协议,按照相应的数据格式完成与STM32单片机之间的信息传递。

信息的处理及数据的获取是在相应的功能子程序里的函数里进行,之后在主程序里进行调用,这样不仅可以实现数据在一定的周期里不断被更新还便于后期程序的调试。

4 系统测试与实现

为了验证系统各部分功能是否正常,对系统进行了整体测试。在机器人初始化完成后,若对机器人说出“叮咚叮咚”则是唤醒机器人,之后可以对机器人进行相关问题的询问以及相关指令的传达,机器人则会根据所获取的信息进行处理并进行相应操作。同时也可通过LCD显示屏进行机器人的相应操作。

在机器人运行过程中,当感知到障碍物时且红外测距传感器的数值变化范围大于程序阈值时,机器人会根据实时情况对障碍物进行规避,防止发生一些不必要的失误。OpenMV测试程序如图8所示,语音模块手机端测试程序如图9所示。

图8 OpenMV测试程序

图9 语音模块手机端测试程序

本系统通过STM32单片机与物联网技术、WIFI通信技术的有机结合实现了一种迎宾机器人的控制系统。该系统可以实现路线自主规划、面部及语言识别、人机对话、智能追随等功能。可以使机器人能够独立完成知识查询、路线规划、场景介绍、引导游览等迎宾互动任务。本系统通过对于不同场景的不同情况进行功能测试分析,最终结果表明,本系统实现了成本低、性能高、稳定性好的迎宾机器人控制系统。

猜你喜欢
迎宾子程序红外
网红外卖
闪亮的中国红外『芯』
TS系列红外传感器在嵌入式控制系统中的应用
基于快速递推模糊2-划分熵图割的红外图像分割
浅谈子程序在数控车编程中的应用
都教授客串“迎宾员”
起亚凯尊车顶迎宾灯渐亮功能失效
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用