本实用新型涉及可见光通信、机器学习和室内三维定位技术领域,具体涉及一种基于多层感知机的室内三维可见光指纹定位系统。
背景技术:
近年来,可见光通信成为了研究的热门,特别是LED产业的飞速发展,很多高性能LED被研发出来,基于LED的一系列多功能照明技术也正在被广泛研究,甚至已经有一些技术已经得到了应用,真正实现了“一灯多用”。由于LED灯具有调制性能好、调制灵敏度高、抗干扰能力强等突出优点,科学家们慢慢发现其在通信领域有很大的用途。例如,可以把信息转换成调制信号再通过LED灯转换成肉眼无法察觉的发光频率,如此,只要通过一些可以察觉LED灯发光频率的器件把信息提取出来就可以达到通信的目的,而光电二极管就是一种可以实现这种功能的器件。
现今,服务型机器人以及智能仓库系统都会涉及到室内定位技术。目前,室内定位的技术方案有无线局域网(WIFI)、红外线、射频识别(RFID)、Zigbee、UWB、蓝牙等,然后由于这些技术方案成本高、定位速度慢和定位精度低、只能在二维平面定位等原因,还没有被广泛地应用。
随着机器学习研究的日趋成熟,也有一些研究人员将机器学习应用到室内定位技术中。现有的应用到LED灯可见光通信的室内定位技术中的机器学习算法有K近邻算法(KNN)、支持向量机(SVM)、极限学习机(ELM)等。但是这些比较传统的机器学习算法由于自身的缺陷并没有很好地拟合训练数据以达到较高的定位精度,由于精度不高只能在二维平面定位,有些还还需要占用很大的存储空间和很高计算力,没有达到服务机器人所需要的实时性的效果。为了方便将LED灯和可见光通信应用到室内定位,特别是基于机器学习的室内定位,有必要设计一种高精度的三维定位系统。将多层感知机应用到室内定位技术中,既可以达到很高的定位精度、实现三维定位,又可以达到实时性的要求,对室内定位技术的发展有明显的帮助。
技术实现要素:
本实用新型的目的是为了解决现有技术中的上述缺陷,提供一种基于多层感知机的室内三维可见光指纹定位系统。
本实用新型的目的可以通过采取如下技术方案达到:
一种基于多层感知机的室内三维可见光指纹定位系统,所述的室内三维可见光指纹定位系统包括LED发光调制器、LED灯光接收及光电转换模块、滤波解调器、多层感知机定位模块,其中,
所述的LED发光调制器包括依次连接的STM32单片机、LED驱动电路、LED灯阵列,其中,STM32单片机采用CDMA调制方式对流入LED驱动电路的电流进行调制,LED驱动电路用于驱动LED灯阵列按照经过CDMA调制的电流发射光信号;
所述的LED灯光接收及光电转换模块包括依次连接的由光电二极管组成的光电转换电路、一级放大电路、二级放大电路,其中,所述的光电转换电路通过光电二极管将接收到的LED灯光能量转换为电流,所述的一级放大电路和二级放大电路对电流进行级联放大;
所述的滤波解调器包括依次连接的带通滤波器、自适应滤波器、解调器,其中,所述的带通滤波器和自适应滤波器对放大后的电流进行滤波处理,提取出有用的电流分量,所述的解调器对电流分量进行解调,获取不同LED灯对应的ID信息及其对应的能量Pk;
所述的多层感知机定位模块利用不同LED灯的电流能量Pk,通过经预训练的多层感知机神经网络获取机器人当前所在的三维位置坐标(x、y、z)。
进一步地,所述的LED灯阵列中LED灯按正方形排列且所有LED灯在同一水平面上。
进一步地,所述的自适应滤波器和解调器是分别对应于每一个LED灯,即每一个LED灯都有一个与之对应的自适应滤波器和解调器。
进一步地,所述的多层感知机神经网络包括依次连接的输入层、隐藏层、输出层,所述的多层感知机神经网络通过训练阶段调整参数后再由预测阶段进行定位,其中训练阶段需要实际测试的LED灯能量和位置信息对其权重和偏置进行调整以不断提高定位的精度。
本实用新型相对于现有技术具有如下的优点及效果:
1)本实用新型采用CDMA调制方式对每一个LED灯赋予独一无二的ID信息,有效地消除了灯光干扰的情况,提高了系统的稳定性和抗噪抗干扰能力。
2)本实用新型采用多层感知机神经网络,在保证参数足够小的情况下,可以达到很高的定位精度,同时还保证了实时性的要求。
附图说明
图1是本实用新型实施例中基于多层感知机的室内三维可见光指纹定位系统的整体结构图;
图2是本实用新型实施例中LED发光调制器的结构示意图;
图3是本实用新型实施例中LED灯光接收及光电转换模块和滤波解调器的结构示意图;
图4是本实用新型实施例中机器人在室内的位置图;
图5是本实用新型中多层感知机神经网络图。
具体实施方式
为使本实用新型实施例的目的、技术方案和优点更加清楚,下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
实施例一
本实施例公开了一种基于多层感知机的室内三维可见光指纹定位方法,所述的室内三维可见光指纹定位方法包括以下步骤:
S1、LED发光调制器使用CDMA调制方式对通过LED灯的电流进行调制,使得LED灯发射的灯光携带不同的ID信息;
其中,CDMA调制方式不构成对本实用新型技术方案的限制,其它调制方法亦可以作为本实用新型技术方案的替换技术手段。
在具体实施方式中,该步骤S1包括以下步骤:
S101、所述的LED发光调制器,通过对单片机STM32编程,使其管脚流出经过CDMA调制后的电流;
S102、经过CDMA调制后的电流输入到LED驱动电路,使得LED按照特定的方式进行发光,即使得LED灯发射的灯光携带不同的ID信息。
S2、LED灯光接收及光电转换模块接收LED灯发射的灯光,并通过光电二极管将接收的光能转换为电流;
在具体实施方式中,该步骤S2包括以下步骤:
S201、所述的LED灯光接收及光电转换模块,通过使用灵敏度很高的光电二极管设计光电转换电路,将接收到的LED灯光能量转换为电流;
S202、所述的LED灯光接收及光电转换模块的光电转换电路后面接着两个级联的电流放大电路(一级放大电路、二级放大电路),将光电转换后的微弱的电流放大,以免后续的电路由于损耗而将电流耗尽。
S3、滤波解调器将上述电流进行滤波处理,滤除干扰电流成分,进一步地通过滤波解调器获得LED灯灯光携带的ID信息及其所对应的电流能量Pk,其中,k=1,2,...,N,N为LED灯的数量;
在具体实施方式中,该步骤S3包括以下步骤:
S301、滤波解调器采用带通滤波器以及自适应滤波器对所述放大后的电流进行滤波处理,滤除非LED灯光线而引起的电流干扰以及电路内部的不稳定引起的电流干扰,提取出有用的电流分量,从而提高系统的抗干扰能力以及稳定性;
S302、滤波解调器通过不同的解调器分别对应不同的LED灯,对经过滤波处理的电流分别进行解调,从而获取不同LED灯对应的ID信息及其对应的能量Pk。
本实施例中,采用四个分别对应于四个LED灯的解调器,分别对经过滤波处理的电流进行解调,从而获取四个LED灯对应的ID信息及其对应的能量Pk。
S4、多层感知机定位模块利用不同LED灯的电流能量Pk,通过经预训练的多层感知机神经网络预测机器人等移动设备当前所在的三维位置坐标(x、y、z)。
其中,多层感知机神经网络,其数学表达形式如下:
第一个隐藏层与输入层的连接公式:
H1=act(W1P+b1)
其中,H1为第一个隐藏层的输出,是一个n1维的列向量,n1代表第一个隐层的神经元数目,P=[P1,P2,...,PN]T为N个LED灯能量的向量形式,W1为n1×N的矩阵,b1为n1维的列向量,act为激活函数;
隐层与隐层间的连接公式:
Hl+1=act(Wl+1Hl+bl+1)
其中,Hl+1为第l+1个隐层的输出,是一个nl+1维的列向量,Hl为第l个隐层的输出,是一个nl维的列向量,Wl+1为nl+1×nl的矩阵,bl+1为nl+1维的列向量;
最后一个隐层与输出层的连接公式:
O=WoHL+bo
其中,O为多层感知机的输出,是一个3维的列向量,HL为最后一个隐层的输出,是一个nL维的列向量,Wo为3×nL的矩阵,bo为3维的列向量。
其中,多层感知机神经网络需要进行预训练,预训练过程如下:
根据实验测试到的真实位置与多层感知机神经网络预测到的位置的差距设计惩罚函数,然后采用反向传播算法对多层感知机各层的权重及偏置进行调整,直到真实位置与预测位置的差距小于判断阈值,其中,所述的惩罚函数如下:
其中,x、y、z为真实位置的三维坐标值,为预测位置的三维坐标值;
权重W的更新公式为:
偏置b的更新公式为:
实施例二
本实施例公开了一种基于多层感知机的室内三维可见光指纹定位系统,所述的室内三维可见光指纹定位系统包括LED发光调制器、LED灯光接收及光电转换模块、滤波解调器、多层感知机定位模块,其中,
所述的LED发光调制器包括依次连接的STM32单片机、LED驱动电路、成正方形排列的LED灯阵列;
其中,STM32单片机采用CDMA调制方式对流入LED驱动电路的电流进行调制,LED驱动电路用于驱动LED灯阵列按照经过CDMA调制的电流发射光信号。
其中,LED灯阵列中LED灯按正方形排列且所有LED灯在同一水平面上。
所述的LED灯光接收及光电转换模块包括依次连接的由光电二极管组成的光电转换电路、一级放大电路、二级放大电路。
所述的光电转换电路通过光电二极管将接收到的LED灯光能量转换为电流,所述的一级放大电路和二级放大电路对电流进行级联放大,以免后续的电路由于损耗而将电流耗尽。
所述的滤波解调器包括依次连接的带通滤波器、自适应滤波器、解调器;
带通滤波器和自适应滤波器对放大后的电流进行滤波处理,滤除非LED灯光线而引起的电流干扰以及电路内部的不稳定引起的电流干扰,提取出有用的电流分量,然后通过解调器进行解调,获取不同LED灯对应的ID信息及其对应的能量Pk。
其中,自适应滤波器和解调器是分别对应于每一个LED灯,即每一个LED灯都有一个与之对应的自适应滤波器和解调器。
所述的多层感知机定位模块利用不同LED灯的电流能量Pk,通过经预训练的多层感知机神经网络获取机器人当前所在的三维位置坐标(x、y、z)。
其中,多层感知机神经网络包括依次连接的输入层、隐藏层、输出层。多层感知机神经网络通过训练阶段调整参数后再由预测阶段进行定位,其中训练阶段需要实际测试的LED灯能量和位置信息对其权重和偏置进行调整以不断提高定位的精度。
实施例三
如图1所示,本实施例公开了一种基于多层感知机的室内三维可见光指纹定位系统,室内三维可见光指纹定位系统涉及对机器人等移动设备的精确定位。
如图2,通过对STM32单片机编程,使其管脚发送经过CDMA调制后的电流信号,再经过LED驱动电路进行功率放大后驱动LED灯发光,使得LED灯具有不同的ID信息,这种ID信息蕴含在LED灯的发光频率中。本实施例中,LED灯阵列由四个LED灯组成。
如图3,光电二极管接收到LED灯发出的光线后转换为电流,由于电流很小,所以其后级联了两个放大电路,对电流进行放大,放大后的电流经过带通滤波器,滤除特定频率范围外的电流成分,而后分成四路,经过自适应滤波器及解调器后获得每个LED灯对应的ID信息及其电流能量Pk。
如图4,机器人在图示位置,获得每一个LED灯对应的电流能量Pk后,发送到多层感知机定位模块,多层感知机定位模块将电流能量值输入到图5所示的多层感知机神经网络,最终输出机器人此时刻所在的位置。具体过程可以用一下方程表示:
第一个隐藏层输出:
H1=relu(W1P+b1)
第二个隐藏层输出:
H2=relu(W2H1+b2)
第二个隐藏层输出:
H3=relu(W3H2+b3)
最后的输出为:
[x,y,z]T=WoH3+bo
其中,relu(x)=max{0,x}为本实用新型采用的激活函数。
上述实施例为本实用新型较佳的实施方式,但本实用新型的实施方式并不受上述实施例的限制,其他的任何未背离本实用新型的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本实用新型的保护范围之内。