Arduino平台下的智能机器人玩具设计

2021-10-26 13:37金玉洁王奥龙慧
机械制造与自动化 2021年5期
关键词:玩具芯片神经网络

金玉洁,王奥,龙慧

(长沙师范学院,湖南 长沙 410100)

0 引言

依据现有研究成果发现,游戏是儿童认知社会、学习知识的有效手段之一[1]。玩具是游戏的载体,不但能够带给儿童快乐,还能帮助儿童去探索、学习世界。在游戏过程中,构建儿童的思维体系,帮助儿童身心健康发展。儿童具备游戏本能,而玩具是打开儿童未知世界的钥匙,对儿童想象力、认知能力、思维逻辑能力的开发均起着至关重要的作用。

目前,儿童玩具正向着智能化、高科技方向发展。智能机器人玩具指的是借助传统玩具外形,安装高效电子器件的新型智能玩具设备[2]。相较于传统玩具,智能机器人玩具具备创新性、自学习性、反馈性等优势,能够在玩具与儿童之间建立更加亲密的联系,为儿童提供更加丰富的游戏体验。如基于信息技术和“互联网+”的儿童智能玩具[3]和陪伴型动画机器人玩具[4]等。由于控制器自身性能限制,现今市面上的智能机器人玩具存在着交互种类较少、交互响应时间较长的缺点,难以满足现今儿童成长的需求,故本文提出Arduino平台下的智能机器人玩具设计研究。

1 智能机器人玩具硬件单元设计

硬件单元是智能机器人玩具运行的基础与前提。本文依据儿童成长需求,设计智能机器人玩具硬件单元,其主要包括主控制器单元、电机驱动单元与交互装置硬件选取单元三部分。

1.1 主控制器单元

随着Arduino平台应用范围的不断扩大,采用Arduino芯片实现智能机器人玩具的控制已经成为现今电子领域的重点研究问题之一[5]。Arduino平台中硬件控制板丰富,故具备较好的控制性能。在Arduino平台应用过程中,Arduino芯片选型至关重要。

依据智能机器人玩具设计需求,Arduino芯片需要控制遥控、电机的正常运转,因此Arduino芯片I/O口最少20个。此研究选取AVR单片机制作与Arduino平台兼容的核心Arduino蓝核,其I/O口数量为32个,主频为16MHz,存储为64K Flash,AD接口数量为8个,串口数量为2个,适合快速开发项目的应用。

Arduino蓝核技术参数如表1所示。

表1 Arduino蓝核技术参数表

由上述可知,Arduino芯片具备32个I/O口,对其第二功能进行介绍,具体如表2所示。

表2 I/O口第二功能表

此外,Arduino蓝核还具备扩展板,这是芯片发挥功能、扩展外围服务电路的关键。本文采用的是双电源IC供电方式,此种方式能够在I/O口短路后,保障Arduino芯片的正常作业,提升设计玩具的稳定性。

为了保证扩展板与其他版块的有效连接,将中间数据线接口转换为串口通信线,并且用户可以对任意I/O口进行自定义,为用户提供更加优质的服务[6]。

1.2 电机驱动单元

电机驱动是智能机器人玩具运行的关键硬件单元之一。若是使用扩展板驱动电机,需要单独对扩展板进行充电,较为复杂与混乱,故设计玩具以驱动芯片驱动电机。依据设计需求,电机驱动芯片有两种备选方案,一种是集成驱动芯片,其优势为电路简单、调试容易、故障率低等;劣势为内阻较大、利用率低、电流驱动能力有限等。另一种是MOS桥驱动芯片,其优势为负载能力强、可定制能力强、成本低廉等,劣势暂无。故设计玩具选取L293D驱动芯片作为电机驱动单元的核心。

L293D驱动芯片实质上是一款高电流、4通道高电压的芯片,主要承担着连接电机逻辑门输出与控制信号的责任[7]。常用L293D驱动芯片具备引脚数量为16个,具体如图1所示。

图1 L293D驱动芯片引脚示意图

L293D驱动芯片峰值输出电流约为1.2A,连续输出电流约为600mA,电压范围约为4.5~36V。L293D驱动芯片需要成对使用,能够同时驱动一个或者两个电机运转。L293D驱动芯片驱动结构为“H”桥,结构简化图如图2所示。

图2 简化“H”桥结构示意图

如图2所示,当Q1Q4导通时,电流方向由左向右,电机按顺时针方向转动;当Q2Q3导通时,电流方向由右向左,电机按逆时针方向转动。由此可见,导通方式的不同决定着电机转动的方向。

1.3 交互装置硬件选取单元

自然交互是智能机器人玩具的主要功能,而交互装置硬件选取也是硬件单元中的关键。交互装置硬件主要由信号输入、信号处理与反馈输出三部分构成。其中,信号输入硬件主要包含温度传感器、湿度传感器、压力传感器、姿势传感器等,由于篇幅的限制不再对各种传感器进行详细描述。

信号处理需要依据智能机器人玩具的实际负载与精度进行适当地、科学地选取,此研究利用Arduino平台相关开发板来设计相应信号处理硬件。

反馈输出是自然交互部分的关键构成组分之一,直接影响着用户的体验感觉。反馈输出硬件主要包含声音信号输出、光信号输出、电信号输出等。

交互装置硬件选取并没有固定的标准,存在着一定的变化性,但信号输入、信号处理与反馈输出三个部分缺一不可,只有同时包含三个部分,才是一个完整的自然交互装置系统。

利用上述过程完成了智能机器人玩具硬件单元的设计与选取,但是依然无法实现智能机器人玩具的稳定运行,故以设计硬件单元为基础,设计智能机器人玩具软件模块。

1.4 硬件整体结构原理

通过对各种硬件的整体结构原理和系统比较分析,在最初的设计阶段,智能故事机的设计定位是交互性强的玩具设计,并着重强调了亲子游戏或多个小朋友参与的寓教于乐的设计理念。基于这一设计理念,对游戏W和故事机进行了一些新功能的设计。对新产品设计中的故事机设计元素、解决功能元素、系统整体元素、产品关键技术元素、专用资源分析、新产品设计方案比较分析,研究确定故事机的合理性能,从中选择最佳方案。

2 智能机器人玩具软件模块设计

本文设计的智能机器人玩具软件模块包含Arduino开发环境配置模块、自然交互方式原则模块与自然交互应用模块三部分。

2.1 软件模块功能

该系统包括语音识别模块功能、蓝牙模块、LCD显示模块、电机驱动模块、按键模块和最小系统,多串口STC12C5A60S2单片机作为系统主控芯片。利用ASRM08-A语音控制模块实现语音交互功能,识别精度高。通过HC-06蓝牙串口通信模块,单片机与移动电话端的 APP应用程序进行通信,以控制机器人的移动。通过蓝牙模块将机器人的运动指令发送到单片机,如前进、后退、旋转、加速、舞蹈等,通过单片机将控制指令发送到电机驱动模块,控制机器人的运动。LCD模组主要负责互动过程中的指令显示及其他与娱乐、教学相关的界面显示。

2.2 软件系统的整体组成与流程

程序软件设计的组成与流程,如图3所示。在程序开始时根据外部开关的状态选择了串口1和串口2状态。在选择串口1进入蓝牙控制模式后,主控机器人前进、后退和转向,选择串口2进入语音识别模块。使用已有的语音模式识别检测软件完成语音识别测试。

图3 系统软件总体流程图

2.3 Arduino开发环境配置模块

Arduino平台实质上是一款开源硬件设计平台,其配套的软件设计平台为Arduino IDE,也是Arduino蓝核的编译器,编写语言为Java。

Arduino IDE是智能机器人玩具软件开发的关键平台。首先应该依据串口类型配置相应的驱动程序,驱动程序安装完成后,在控制面板中即可看到安装完成的端口号。另外,进入Arduino平台,在工具栏中选取对应的板子以及端口号,在板子与端口号配置完备后,对软件代码进行编写、调试与下载。

2.4 自然交互方式原则模块

自然交互方式原则主要分为三种,详细描述如下:

原则一 以用户为中心,即将用户行为与感受考虑在智能机器人玩具设计的整个过程中[8]。在现今智能机器人玩具设计领域中,用户体验主要包含感官体验、娱乐与教育、情感体验与互动体验;

原则二 多模态交互,即设计玩具中多种感官通道融合的交互方式,也是自然交互方式的最大特点。智能机器人玩具自然交互的要点为多感觉通道、交互双向性、隐式性与非精确性等;

原则三 智能感知,即利用多种传感器对使用者及其周边环境进行实时的感知,为自然交互提供全面信息以及多维度感知能力。智能感知是智能机器人玩具实现自然交互性的关键和基础。

2.5 自然交互应用模块

所设计的智能机器人玩具中,自然交互应用主要包含语音交互、手势交互、穿戴交互与情感交互等,由于篇幅的限制,本文仅针对情感交互模型进行详细描述。

利用BP神经网络来创建设计玩具的情感交互模型。设定BP神经网络输入层节点数量为4,分别代表4种情感值(高兴、悲伤、惊讶与厌恶),节点输入范围为[0,1],输出层节点数量与涵义与输入层相同,但输出量取值范围为0或者1,描述某种情感是否被激活。

为了加快BP神经网络的训练速度,以此来降低设计玩具的响应时间,设置动量系数α为0.5,初始步长η为0.4,BP神经网络总误差计算公式如下:

(1)

其中:E表示BP神经网络的实际输出;Ep表示BP神经网络的目标输出。

BP神经网络训练样本设置为20组,由于篇幅的限制,只对其中部分进行展示,具体如表3所示。

表3 部分BP神经网络训练样本表

通过BP神经网络误差计算可知,当隐含层节点数量为4时,BP神经网络总误差为0.361 916;当隐含层节点数量为5时,BP神经网络总误差为0.359 574;隐含层节点数量为6时,BP神经网络总误差为0.366 202。故确定BP神经网络隐含层节点数量为5,最小神经网络误差取值为0.3。

通过上述硬件单元与软件模块的设计,实现了智能机器人玩具的运行,为儿童提供更加优质的智能机器人玩具,帮助儿童健康成长。

3 实验与结果分析

为了验证本文设计的Arduino平台下的智能机器人玩具与现有玩具之间的差距,设计如下对比实验。

3.1 设计玩具自然交互方式

以用户需求为主,设计玩具的自然交互方式,具体如表4所示。

表4 玩具交互方式表

依据用户(儿童)喜爱的动漫形象,将智能机器人玩具外观设置为白色,取名为小白智能机器人玩具,其外观设计如图4所示。

图4 小白智能机器人玩具示意图

语音交互是设计玩具的核心功能,故制定完备的语音自然交互模型,如图5所示。

图5 语音自然交互模型示意图

3.2 设计玩具调试连接图

设计玩具调试连接是保障实验顺利进行的基础与关键,主要是指将驱动芯片、Arduino板子、遥控手柄、电源模块等进行接线,这也是调试的最后一个步骤,如图6所示。

图6 设计玩具调试连接示意图

3.3 实验结果分析

采用传统的基于信息技术和“互联网+”的儿童智能机器人玩具与本文设计的智能机器人玩具进行功能测试,通过交互种类的多少与交互响应时间来反映设计玩具的基本性能。

通过实验获得不同机器人玩具的交互种类数据如表5所示。

表5 交互种类数据表

如表5所示,相较于传统的智能机器人玩具,本文设计的智能机器人玩具的交互种类更多,可实现语音、手势、穿戴和情感四方面的交互。

通过实验获得不同机器人玩具的交互响应时间数据如表6所示。

表6 平均交互响应时间数据表

如表6数据显示,本文设计的智能机器人玩具的交互响应时间数据范围为9.56ms~12.45ms,传统的智能机器人玩具的交互响应时间数据范围为18.56ms~25.71ms。相比之下,本文设计的智能机器人玩具的交互响应速度更快。

上述实验结果显示:与传统的玩具相比较,本文设计的智能机器人玩具交互种类较多,且交互响应时间较短,充分证明其基本功能更优。

4 结语

本文基于Arduino平台设计了一种新的智能机器人玩具,增加了玩具的交互种类,缩短了玩具的交互响应时间,为儿童提供更全面、良好的游戏体验,也为儿童发展与成长提供更加优质的服务与帮助。

猜你喜欢
玩具芯片神经网络
芯片会议
关于射频前端芯片研发与管理模式的思考
神经网络抑制无线通信干扰探究
平衡玩具
丢失的玩具
小小玩具,大大乐趣
基于神经网络的拉矫机控制模型建立
多通道采样芯片ADS8556在光伏并网中的应用
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定