刘帅 王敏珍 刘超
摘 要: 目前传统数据分类存储系统多数基于遗传算法,这类系统存在系统吞吐量较差、效率低的问题。为此,设计一种基于模式识别的机器人运行轨迹数据分类系统。首先设计系统整体框架,包括数据采集、处理以及存储模块;其次在硬件设计上,选择XC2VP30芯片作为FPGA核心芯片,设计数据采集模块接口电路,利用合适的FLASH芯片进行数据存储完成系统硬件设计;最后根据模式识别方法,建立标准数据样本集,确定特征向量,计算隶属度函数完成数据分类,再利用FPGA将已分类数据存储至FLASH模块中完成软件设计。测试结果表明,与传统的数据分类存储系统相比,基于模式识别的机器人运行轨迹数据分类存储系统的系统吞吐量提高了15.9%,效率得到了提高。
关键词: 运行轨迹; 数据分类存储; 模式识别; 系统吞吐量; 系统设计; 系统测试
中图分类号: TN919?34; TP391 文献标识码: A 文章编号: 1004?373X(2020)04?0145?04
Design of robot moving trajectory data classification and storage system
based on pattern recognition
LIU Shuai, WANG Minzhen, LIU Chao
(Changchun Institute of Technology, Changchun 130012, China)
Abstract: A robot moving trajectory data classification system based on pattern recognition is designed to improve the poor system throughput and low efficiency in the most traditional data classification and storage systems based on genetic algorithm. The overall framework of the system is designed, which includes the data acquisition, data processing and data storage modules. In the hardware design, XC2VP30 chip is selected as the core chip of FPGA to design the interface circuit of data acquisition module, and the appropriate Flash chip is used for the data storage, so as to complete the hardware design of the system. The standard data sample set is established by means of the pattern recognition method, the feature vector is determined, the membership function is calculated to complete the data classification, and the classified data is stored in the Flash module by FPGA to complete the software design. Therefore, the overall design of the system has been completed. The testing results show that in comparison with the traditional data classification and storage system, the system throughput of the robot moving trajectory data classification and storage system based on pattern recognition is increased by 15.9%, and the efficiency is improved.
Keywords: moving trajectory; data classification and storage; pattern recognition; system throughput; system design; system test
模式識别是利用数学技术通过计算机研究模式的自动处理和判读。在给定的任务中,模式可以用来与待识别对象进行比较的样本,并进行识别得出结果[1]。模式识别研究主要方法很多,其中模糊模式识别具有识别方便、自适应能力强、能够排除噪声和干扰的影响等优点,得到比较好的识别结果[2]。目前,机器人运行轨迹以机器人的定位为基础,以导航为手段,对于规划出来的轨迹,通过控制机器人来实现,不同的机器人运行轨迹有不同的分类,为更好对机器人运行轨迹数据进行分类存储,设计基于模式识别机器人运行轨迹数据分裂存储系统。
1 机器人运行轨迹数据分类存储系统设计
1.1 系统整体框架设计
基于模式识别机器人运行轨迹数据分类存储系统设计框架如图1所示。
从整体上看,系统包括数据采集模块、数据处理模块和数据存储模块。
1.2 FPGA中心控制逻辑硬件设计
在充分考虑系统复杂度和利用资源的情况下,使用FPGA[3]对数据进行处理。
1) 数据采集模块
数据采集模块主要通过FPRG芯片内部的SRAM对机器人运行轨迹数据进行提取,再使用D/A转换器,将收集到数字量转换成模拟量,通过滤波放大后,由FPGA接收、处理和存储[4]。其中,数模转换芯片选择DAC0832;单电源供电一般为5~15 V;功耗为75 mW,无需外部电路的补偿,只需连接不同输出引脚就可得到不同电压输出范围[5]。DAC0832与FPGA的接口电路如图2所示。
2) 数据处理模块
该模块中核心芯片使用Xilinx公司生产的型号为XC2VP30的FPGA芯片,作为数据分类存储系统的设计芯片,FPGA芯片上有8个数字时钟处理器,30 816个逻辑单元,以及分布式RAM和块RAM,除此之外,芯片还能提供100 MHz的系统时钟[6]。外部输入信号能通过I/O单元输入到FPGA内部,当外部输入信号经过I/O单元输入到FPGA内部时,其保持时间的要求可以降低,一般默认为0。
3) 数据存储模块
该模块使用4 GB KLMAG8DEDD型号的FLASH芯片[7],该芯片可用来保存运行轨迹数据,还可用来保存程序代码。KLMAG8DEDD地址和命令在I/O单元上传递。当数据采集完成后,数据处理模块中的逻辑单元对数据进行判断,对FLASH存储芯片内部进行擦除,进行数据写入操作,使机器人运行轨迹数据从缓存中读取后完整准确地写入到FLASH中。数据存储模块的功能框图如图3所示。
1.3 基于模式识别的系统软件设计
1.3.1 建立标准数据样本集
在对机器人运行轨迹数据分类设计中,需解决待识别对象对于一个标准样本集的归属问题,而解决该问题的基本原则是最大隶属原则[8]。通过事先给出的训练样本集来获得标准样本集。
假设机器人运行轨迹数据目标共有N类,每类数据目标存在训练样本集[K=k1,k2…,kn],对于每一个样本元素k都有L个特征值,即特征值矩阵[K=[ki1,ki2,…,kin]],以每一类的数据目标训练样本集的特征值来表述该类目标,即每一类数据目标对应一个确定特征值。
假设第x个数据目标类的特征均值矢量[Wx],则N类目标的标准样本集为[Wx=w1,w2,…,wN],[Wx∈f(g)]。任取[g0∈G],如果存在i≤N,则认为g0相对隶属于Wx,这就是最大隶属原则。
以机器人运行轨迹数据的特征值计算不同样本的隶属函数值为依据,进行最终的机器人运行轨迹数据归类判别。
1.3.2 确定特征向量
在机器人运行轨迹数据分类时,在对应的特征空间中,不同的数据类在各自的数据类内,特征参量凝聚度较好;不同类之间的类间距距离相对较远。对机器人运行轨迹数据进行分类,将利用数据目标类的识别度,实现不同区域的机器人运行轨迹数据分类[9]。
根据Chebyshev大数定理得出数据随机变量的凝聚方程:
[h-GhGh<δ≥1-varhδG2h] (1)
式中:[varh]表示方差;h表示變量;[G(h)]表示平均值;d表示误差。当方差比较小时,随机变量在其平均值附近,误差不超过d,即在一定的可能性下,数据凝聚只有在其平均值附近时,才能保持误差相对较小。为更好地对机器人运行轨迹数据进行分类,引入一个目标集合识别度P:
[P=Gh0-Ghavarh0+varha] (2)
式中,[h0]和[ha]分别表示目标和背景。当识别度越大时,说明目标类之间的类间距越大,即阈值分割的可能性越大[10]。
按照特征值计算机器人运行轨迹数据的隶属度,利用隶属度函数完成数据分类。
1.3.3 计算隶属度函数完成分类
按照特征计算每个机器人运行轨迹数据属于某个数据目标类的隶属度函数,再利用已经算出的一组隶属度函数中的极值,作为该运行轨迹数据对这类数据的隶属度函数。在分类时,选择获取极大隶属度的数据目标类作为该数据的所属类别。
假设有N类机器人运行轨迹数据的样本库,将待分类的机器人运行轨迹数据的特征矢量设定为[Xi=x1,x2,…,xj]。[Xi]的每个分量[xj]集中在各自特征均值s周围,[Xi]以高斯分布的形式集中在其特征平均值s附近。用xj计算样本属于类别a的特征值隶属度e,利用特征值隶属度判断机器人运行轨迹数据的所属类别a的隶属度Da,公式如下:
[ea=1-xj-sNxj-sDa=Δea, 1≤a≤j] (3)
式中:[xj]表示[Xi]的分量;s表示特征均值;[Da]表示机器人运行轨迹数据的所属类别隶属度。根据计算出的隶属度[Da],判断所属类别之后进行存储。
1.3.4 分类数据存储
对机器人运行轨迹数据分类完成后,将已完成分类的数据进行存储。机器人运行轨迹数据通过串口转变为普通的CMOS电平信号,进入到FPGA逻辑单元,FPGA解码模块根据信号的同步时钟解码,利用逻辑单元控制擦除FLASH源数据,等待存储运行轨迹数据,接着存储已完成分类的数据。实现数据存储部分程序代码如下:
module flash(
input w_clk, //采集时钟
input r_clk //串口通信时钟
input w_runtrack, //写出地址
input r_runtrack, //读入地址
output [7:0]datain, //输出处理后的数据
input [8:0]wrads, //写地址
input [8:0]rads, //读地址
input [7:0]set_rtract, //数据存储完成
);
利用FPGA控制逻辑单元,将已完成分类的机器人运行轨迹数据存储至FLASH存储模块中,存储完成后将机器人运行轨迹数据传至控制计算机进行存盘,方便后续测试和分析等操作。
2 系统测试
2.1 测试环境
对基于模式识别的机器人运行轨迹数据分类存储系统进行测试,要求计算机操作系统为Windows 2007/XP以上,内存4 GB以上,硬件容量300 GB以上。利用Matlab软件模拟机器人运行轨迹,计算本系统与传统的数据分类存储系统的吞吐量,系统的吞吐量越大,说明系统在单位时间内完成的指令越多,系统的资源得到充分利用。
2.2 测试参数设置
测试设定不同的单位时间,按照相同的数据传输速率进行数据分类存储,如果发送的数据与存储的数据数量相等,那么将传输速率提高并重新测试;如果存储数据少于发送数据则降低数据传输速率重新测试,直到测试出最终结果。测试相关参数如表1所示。
2.3 测试结果分析
为保证测试的有效性,将常规的数据分类存储系统与基于模式识别的机器人运行轨迹的分类存储系统进行比较,结果如表2和表3所示。
从表2和表3的数据可知,基于模式识别的分类存储系统吞吐量在不同的单位时间下,几乎都大于常规的数据分类存储系统的吞吐量,系统吞吐量平均提高15.9%,效率得到了提高。
3 结 语
当前社会人工智能发展迅速,设计基于模式识别的机器人运行轨迹数据分类存储系统,能够促进人工智能更好的发展。该系统利用模糊模式识别技术实现数据的分类,利用FPGA完成数据的存储,与传统的数据分类存储系统相比,基于模式识别的数据分类存储系统的吞吐量大,效率高,适合用于机器人运行轨迹数据分类存储中。
注:本文通讯作者为王敏珍。
参考文献
[1] 王秋琳,宋立华,闫丽飞,等.一种非结构化数据查询优化存储系统设计[J].电子设计工程,2017,25(13):16?20.
[2] 褚晶辉,罗薇,吕卫.多图嵌入表示在人体运动模式识别中的应用[J].计算机科学与探索,2017,11(6):941?949.
[3] 张兆晨,冀俊忠.基于卷积神经网络的fMRI数据分类方法[J].模式识别与人工智能,2017,30(6):71?80.
[4] 李科,陈紫强,谢跃雷.基于FPGA的多通道实时地震勘探采集系统设计[J].现代电子技术,2018,41(9):24?30.
[5] 王具民,殷世民,陈洪波,等.基于FPGA的傅里叶变换成像光谱仪实时数据采集与显示系统设计[J].电子器件,2017,40(1):103?107.
[6] 许洁,吴秦,梁久祯,等.稀疏保持典型相关分析特征选择与模式识别[J].小型微型计算机系统,2017,38(8):1877?1882.
[7] 刘玉敏,赵哲耘.基于特征选择与SVM的质量异常模式识别[J].统计与决策,2018,34(10):11?14.
[8] 沈艳霞,吴娟,赵芝璞,等.三电平逆变器多故障模式识别方法[J].系统仿真学报,2017,29(7):1447?1456.
[9] 王昊,劉高军,段建勇,等.基于特征自学习的交通模式识别研究[J].哈尔滨工程大学学报,2019,40(2):132?136.
[10] 尹新城,胡勇.基于Matlab的机器人GUI仿真平台设计研究[J].科技通报,2018,34(1):193?196.