(1.闽江学院图书馆,福建 福州 350108;2.南京智真电子科技股份有限公司,江苏 南京 210096)
图书馆是文献信息资源的集散地、也是传播文献信息资源的枢纽。当今社会文献的生产数量大、增长快、时效性强,图书馆的图书流通得越快,它发挥的作用就越大,因此图书流通率是衡量图书馆工作效率和社会效益的主要指标。在流通过程中,读者检索借阅直接面对的就是图书的排架,传统的排架一般由工作人员将文献按照本馆的分类细则排序,搬运至推车,人工移动到相应类目的书库由专门人员上架。随着自动控制、机器人等技术的不断发展,图书的管理也日益自动化、智能化,自动图书运载车的设计也应运而生,即安装有传感器的图书运载车接收数据后,能够自动行驶到相应位置,后台服务器能够监控运载车的实时位置和运动轨迹,不仅减少图书管理人员的工作量,而且通过对图书运载车的运行过程中收集的数据,能够为图书馆的合理布局与人员的高效调配提供参考,从而好地为读者服务。
自动图书运载车的核心在于如何在室内图书馆环境中获取准确有效的全局位置,有的学者提出利用蓝牙、RFID等无线技术解决图书馆内的定位问题[1-4]。邵波等提出将一项低耗能蓝牙技术iBeacon应用于图书馆服务,以高校图书馆为例对智能定位系统进行架构与硬件部署[1];胡国强等在高校具备IPv6网络的前提下,提出WLAN的位置指纹定位和6Lo WPAN的WSN定位相互融合的定位技术,基于该技术成功构建图书馆的智能定位系统[2];陆康等通过Wi-Fi追踪读者的空间行为,获取图书馆各区域读者人数信息与特定空间范围的读者行为轨迹数据[3];吕俊杰利用RFID的混合定位方法,应用实践于济南政法大学图书馆,实现图书馆的室内定位需求[4]。随着图像处理和机器视觉技术的发展,室内导航定位得到广泛的应用。文献[5] 结合基于视觉的二维码和基于激光的角点标签,设计实现了无人小车室内定位系统,有效地解决了无人车行驶路径定位精确度的问题。文献[6]利用智能手机中的传感器数据进行相对位置的计算,并实现了基于航位推算的室内定位。文献[7]提出了一种基于人工路标的室内视觉定位方法。文献[8]和[9]通过全景摄像机识别机器人周围环境的已知路标,全景视觉结合三角定位获取当前机器人所在的精确坐标。文献[10]在结构化环境中,针对室内机器人导航对精度和实时性的要求,提出一种融合航迹推演的红外路标室内定位方法,将单个大功率红外发射管作为路标,移动机器人上的红外摄像头作为接收传感器,采用改进的交互多模型无迹卡尔曼滤波算法进行融合。这些方法虽然各具特点,但对于图书运载车而言,都具有一定的不足,蓝牙、RFID和WLAN等无线室内定位方法应用广泛,但是定位精度相对不高;单纯的基于人工路标的视觉定位方法定位精度很高,但在大空间应用场合中,要获取连续准确定位信息,所需路标过多。因此,本文提出一种基于视觉定位/DR方法的图书馆图书运载车的室内定位定向系统,以摄像机和惯性元件为传感器,通过主控模块采集数据,通过联邦卡尔曼滤波方法,融合视觉定位方法获取的绝对位置,以及DR算法推算获得的相对位置,从而获得图书运载车辆连续准确的位置信息。
图1 图书运载车室内定位系统结构示意图Fig.1 The diagram of the indoor location system for book-carrying vehicle
提出的自动图书运载车室内定位系统(图1)包含图书运载车、摄像头、惯性采集模块、主控单元以及安装在天花板上的路标序列,其中摄像机、惯性采集模块,以及主控单元装于图书运载车上;摄像机光轴与天花板近似垂直,以减少图像畸变;路标放置于空旷,场景单一的图书馆天花板上,避免了路标遮挡问题。
图2 室内定位系统的信息框图Fig.2 The information diagram of the indoor location system
基于视觉/DR方法的图书运载车的图书馆室内定位系统的系统模块框图如图2所示。当图书运载车在图书馆中行进时,摄像机采集天花板上的路标图像,惯性信息采集模块获取车辆的加速度和角速度信息,视频图像和车辆运动信息最终由主控模块进行采集和处理,主控模块从视频图像中检测路标,识别路标位置,计算本车位置和航向;利用车辆运动信息进行航位推算;将两者信息进行融合,输出车辆最终位置和航向信息。
惯性信息采集模块为航位推算算法提供所必需的传感信息,主要由惯性传感器、单片机、电源和通讯模块组成,主要实现加速度和陀螺信号采集和串口输出的功能,其电路框图见图3,实物见图4。
图3 惯性信息采集模块电路Fig.3 The electrical diagram of the inertial information sample module
图4 惯性信息采集模块实物图Fig.4 The photo of the inertial information sample module
图5 ICM-20602电路原理图Fig.5 The schematic diagram of ICM-20602
系统中惯性传感器采用美国公司InvenSense的ICM-20602型六轴运动跟踪器件,其体积小,内部继承了三轴陀螺和三轴加速度计,可敏感高达±2 000 °/s的角速度和±16g的加速度,完全满足图书运载车低速行驶的要求;内部集成了一个16位的AD转换器采集角速度和加速度,可通过SPI或者I2C总线接口输出角速度和加速度值;同时还集成温度传感器,支持将温漂校正系数写入芯片寄存器,从而较好地解决MEMS惯性元件常见的零漂问题。其电路如图5所示。
图6 路标构造示意图Fig.6 The diagram of the landmark structure
用于定位路标必须具备如下特性:1)包含位置坐标信息;2)易于识别和判别;3)具有一定的纠错能力。借鉴二维条形码思想,设计一种具有一定纠错能力的人工路标[11],可用于车辆确定其位置和航向,其构造如图6所示。考虑到图像识别的可靠性,路标外廓设置为圆形。圆形路标内部为正方形,由分别代表二进制的0和1的黑白方块(10×10)组成,分别构成判别区和数据区,判别区用于判定路标特征,并规定了路标的数据读取规则,而数据区存放经过Hamming编码后的路标位置坐标(横坐标和纵坐标)。
路标识别的目的是从实时视频帧检测到路标,然后从中识别路标所在的全局坐标,其算法流程如图7所示。
图7 路标识别算法流程Fig.7 The flowchart of landmark recognition
1)由于路标颜色与背景存在较大差异,因此利用边缘提取能够较好保留路标的外廓形状。
2)在边缘图像中检测所有满足路标外圆内方形状特征的区域,具体算法如下:首先利用随机Hough圆检测算法检测圆形边缘;然后在从圆形边缘沿径向朝内寻找首先遇到的边缘点,构成边缘点集合;然后采用基于极值特征的不变性形状识别方法[16]判断每个边缘点集合的形状是否为正方形,如果都满足则说明该圆形边缘所在区域为可能的路标。
3)在可能路标区域中,利用路标判别区内黑白方块分布特性进一步确认是否是路标,同时通过判别区确定了数据读取方向。
4)识别路标数据区,并根据数据读取方向解析数据区包含的数据,利用Hamming码进行数据验证和纠错,最终获得路标的坐标信息。
为减少路标个数和位置标定工作量,实际使用时,有限的路标离散分布在天花板上,当载体位于两个路标之间区域时,摄像机无法拍摄到完整路标时,视觉定位失效,此时需要其它辅助定位手段以解决无路标时的室内定位问题。航位推算方法[12-13]根据惯性传感器获得的载体运动信息,实时推算出载体当前位移和航向,在短时内具有较高精度,但随着运行时间累积其推算误差逐渐增加。本文采用一种基于Kalman滤波的视觉定位/DR融合定位方法,综合视觉定位和DR算法特点,充分利用其定位信息的互补性,通过DR方法提供无路标时的实时定位,利用路标视觉定位方法补偿DR的累计定位误差,从而确保载体定位的可靠性、连续性和准确性性。
基于第3节所设计的路标,其视觉定位方法所依据的几何关系如图8所示[11]。
根据图8所示的几何关系,可通过式(1)计算获得载体的全局坐标(X2,Y2),其中,(X1,Y1)是路标所在的坐标;|AB|表示图像中路标中心点A和图像中心B之间的距离;角度α,β和θ的含义如图8示,α即为载体的航向角;S是比例因子,由于天花板平面和摄像机像平面近似平行,可通过S=L/M计算比例因子,M表示图像中路标边长,L表示实际路标长度。
(1)
图8 路标几何关系示意图Fig.8 The geometry of the landmark
图9 DR算法原理示意图Fig.9 The diagram of the DR algorithm
航位推算的基本原理如图9所示。其中,(x0,y0)和θ0为载体的初始位置坐标和航向角,(xi,yi)和θi为载体运动过程中的位置坐标和航向角,di是(xi,yi)到(xi-1,yi-1)的位移。由图9可知,在ti时刻,载体的位置(xi,yi)和航向角θi可由公式(2)推算获得:
(2)
其中,ωi和Ti分别表示载体在(xi,yi)和(xi-1,yi-1)两点之间的行驶方向角速率和时间间隔。
采用的视觉定位/DR融合定位算法基于联邦卡尔曼滤波方法[14],将视觉定位和航位推算的定位结果分别送到子滤波器进行处理,然后将各滤波器的处理结果送到主滤波器进行最优估计,从而获得融合后的定位结果,算法框图如图10所示。其中,子滤波器CV_KF采用标准卡尔曼滤波算法对视觉定位线性子系统进行滤波估计,子滤波器DR_EKF采用扩展卡尔曼滤波算法对DR非线性子系统进行滤波估计,采用 Singer 模型作为图书运载车的运动模型。
在此基础上,视觉定位/DR融合定位算法如下:
图10 融合定位算法框图Fig.10 The block diagram of the fusion algorithm
1)设定融合定位系统的初始状态Xg(0),和初始状态估计协方差Pg(0)。
2)分别设置视觉定位子滤波器CV_KF和DR子滤波器DR_EKF的初始状态Xi(0)和初始状态估计协方差Pi(0),其中Xi(0)=Xg(0),Pi(0)=βi-1Pg(0),i=1,2,βi是第i个子滤波器的信息分配系数,且β1+β2=1。
3)子滤波器CV_KF和DR_EKF在各自的更新周期内分别获取视觉定位数据和DR推算数据,分别按照标准卡尔曼滤波算法和扩展卡尔曼滤波算法,计算出第k时刻子滤波器的状态估计Xi(k)及状态估计协方差Pi(k)。
4)在主滤波器中,根据式(3)、式(4)融合子滤波器的状态估计和状态估计协方差,获得第k时刻的全局最优的状态估计和状态估计协方差:
P-1g(k)=P-11(k)+P-12(k),
(3)
Xg(k)=Pg(k)[P-11(k)X1(k)+P-12(k)X2(k)]。
(4)
5)将第k时刻的全局最优状态估计与状态估计协方差反馈至两个子滤波器,对其状态估计和状态估计协方差进行设置,即令Xi(k)=Xg(k),Pi(k)=βi-1Pg(k)。
上述算法步骤中,信息分配系数βi是联邦卡尔曼滤波方法自适应融合的关键参数,β1越大,则子滤波器CV_KF所占的比例就越大,联邦滤波器在性能上越接近于子滤波器CV_KF,反之亦然。通过对βi的对比实验,确定了一组较优βi参数,当摄像机视场中出现完整路标时,β1=0.95,表示联邦滤波器以视觉定位结果为主;当摄像机视场中路标不完整或者无路标时,令β2=0.95,表示联邦滤波器输出以DR推算结果为主。
图11 实验场景图Fig.11 The experimental scene
为验证本文方法,搭建了一个如下图所示的模拟实验场景。模拟场景中,为便于布置,将路标贴于地面,每个路标的坐标事先标定。为验证融合定位算法的有效性和精度,实验场景中路标在地面上规则且紧密排列,保证行进间摄像机视野中始终存在至少一个完整路标,从而通过路标定位方法获取载体的连续位置,并将其作为真值对融合定位结果进行评价。
实验中,图书运载车采用手动推车进行改造,摄像机为海康威视 DS-2CD864FWD-EW,惯性信息采集模块的敏感轴与推车纵向和横向平行。人推着图书运载车沿着贴着路标的地面行进,行进路线为近似矩形。行进中,主控模块实时采集路标图像并计算图书运载车连续位置,记为轨迹P1,同时利用DR方法推算第i-1和第i+1个路标之间的图书运载车位置,记为轨迹P2,然后计算轨迹P1和轨迹P2之间的误差,用于评价本文所提出的基于路标定位和航位推算的室内融合定位方法的精度。
图12 室内定位轨迹图Fig.12 The track of indoor location track
图12为某次实验中融合定位方法和连续路标定位方法的轨迹,其中横纵坐标分别表示车辆所在位置的横纵坐标,其坐标单位为mm;红色圆圈表示路标定位的结果,蓝色星状标记表示融合定位结果。从图12中可以看出,融合定位的位置与路标定位结果存在一定偏差,理论上,如果仅采用航位推算方法,则偏差会累积,误差越来越大,而融合定位算法由于每隔一段时间,用路标定位结果纠正一次,所以使得融合定位结果始终在合理误差范围内。表1为5次实验中每组轨迹的位置误差,其误差都在30 mm左右,这主要是由于采用低成本低精度的MEMS惯性传感器,其误差较大,导致航位推算和融合定位误差也较大,虽然并不能实现毫米级别的高精度室内定位需求,但完全满足室内图书运载车行驶轨迹的监视需求,且成本低。
表1 室内定位误差
提出的基于视觉定位/航位推算融合定位的室内定位系统,将基于路标的视觉定位结果和航位推算结果相融合,获得连续准确的室内定位位置。该系统安装在图书运载车上,并在图书馆场景中进行实验,实验结果验证了本方法的有效性。