图书馆图书自动盘点智能车的设计*
2022-09-01王晓刚郭俊俊
0 引言
在图书馆借阅服务中,为了保证归架图书的正确性,需要图书馆工作人员不停巡视书架上的所有图书,按照馆内排架规范(索书号和种次号)找出错架的图书,将其排放正确。此外,每隔一段时间,图书馆的工作人员就需要通过人工对整个图书馆图书的丢失情况进行逐一清点。在传统的清点工作中,通常是将书架上的所有图书与已有的数据库中的图书进行逐一比对。这种查对方法不仅需要耗费大量的时间和精力,与此同时,还常常存在图书清点不准、不能对图书在书架上摆放信息实时更新与完善的问题,使得管理员无法及时处理图书漏放、错放、丢失的情况
。为了满足日益增长的图书信息量的处理需求,减轻管理员理架、清点图书的工作负担,提高图书馆管理员的工作效率,本文针对传统人工管理方法的缺陷和RFID盘点模式的缺陷,基于STM32单片机,结合电磁感应模块,利用PID控制算法,深度学习式图像识别,设计与开发了一款图书馆图书自动盘点智能车。
1 图书馆自动盘点智能车的设计思路
为实现对书架上图书进行自动巡检和盘点工作,2002年,美国Johns Hopkins大学的Suthakom等研制了一种完整意义上的图书馆机器人实验装置,它由移动机器人、机械手及其升降装置、摄像头等几部分组成,可以实现图书的自动存取
。同年,新加坡国立大学Yuan等基于RFID定位技术,研究了无人化图书馆系统,以利用机器人完成图书存取工作
。陈黄飞等人通过SolidWorks软件对图书分类机器人进行了仿真测试并进行了相关机械学的调试
。然而上述研究仍存在不足,如Suthakom等研制设计的机器人体积较大,在书架间隔较小时难以移动和转弯,而Yuan、陈黄飞等学者仅仅进行了相关理论分析和仿真,并未进行实际的设计和测试。
借鉴上述的研究成果,本文考虑所设计的智能车更集实用性、综合性于一体,能在狭小书架之间进行快速移动和转向,实现自动循迹、自动拍摄、自动上传图像、自动分析图像,按照图书“索书号+种次号”排架规则,发现排架的错误信息,形成图书错架、丢失报告等功能。具体的自动盘点智能车的系统设计思路如图1所示。
2 系统的硬件与软件设计
为了提高图书馆管理员的工作效率和精确度,实现小车在狭小书架之间的快速移动和转向,本文设计的智能车为麦克纳姆轮小车,并让小车行驶在铺设通电的铜质引导线的地面上。具体设计是在智能车前端装设3个电感线圈来感应引导线周围的磁场强度,使用编码器采集车子实际速度,并使用ADC通道采集电感切割磁感线的感应电动势,最终分别在方向和速度上通过PID控制算法来闭环控制智能车中心顺着引导线平稳行进,并且通过抬升杆来调节摄像头的位置,实现对不同层书架上图书的拍摄,通过对照片的比对,实时获取图书错误排架和丢失情况的报告。
本系统控制策略是当智能车巡检从指定位置出发时,首先对系统进行初始化,升降杆处于未上升状态,摄像头开启;当智能车行驶到书架前,通过串口发送拍摄照片的指令给TX2开发板,TX2开发板控制摄像头拍摄书脊图像,交由后台进行盘点。盘点完成后,升降杆上升至高层,再次发送拍摄的命令给TX2开发板,TX2开发板控制摄像头拍摄书脊图像,交由后台进行盘点。盘点完成后,升降杆下降,车子继续沿着电磁线向前行驶一段距离,停下来再次进行图书书脊拍摄、盘点。如此反复循环,并且通过指定拍摄次数来决定小车什么时候结束拍摄。本文设计的图书馆图书自动盘点智能车的系统总控制流程如图2所示。
基于综合考虑系统的功能需求,笔者分别设计了搭载STM32f103ZET6单片机的最小系统电路板、主控电路板、电机驱动电路板以及电磁感应电路板。在STM32f103ZET6单片机的最小系统板中包含5个组成部分:电源、晶振、下载口、BOOT以及复位按键。在主控板上,除了电源电路外,还将设计了5路ADC采集引脚、TFT-LCD显示屏引脚、8路PWM信号引脚和8路编码器引脚。这些电路板都是分别被设计为独立的模块,方便后续的维护。
由于智能车需要进行全方位移动,因此其电机需要分别独立控制。本文选用驱动芯片BTN7971B来搭建H桥电路控制4个电机。为了能够适应图书馆的工作环境,减少外部环境的干扰,选用的路径导航信号为100mA、20kH正弦交变信号,该频率的信号能够与生活中常见的磁场频段很大程度地区分开,保护智能车不受环境因素的干扰。导线中的电流按一定规律变化时,导线周围的磁场也将发生变化,本系统使用电感线圈来切割磁感线,则线圈中将感应出一定的电动势。
在系统控制的定时器中断函数中(5ms定时中断),每次先采集编码器测得的电机实际转速值,再将电机的实际转速值与目标转速值一起传入增量式PI控制器,PI控制器根据实际转速与目标转速的偏差计算并返回下一次需要的PWM寄存器的值。相关控制器函数伪代码如下:
3 智能车速度和方向控制
通过现场管理制度的完善,提高管理工作的有效性。一是,完善整体管理工作制度,明确管理者的职责与管理内容。二是,完善、细化管理的具体内容,对每一项管理工作标准进行要求,提高管理规范性。如对环境的管理、对工艺与材料的管理及对施工人员的管理等。三是,制定严格的处罚措施,提升管理的力度。
2)数据建设。数据建设指对校园各类基础数据、业务数据、个人信息等数据资源进行融合,并提供数据存储、数据治理等融合服务,包括人员、设备、设施等基本数据。
食品安全大数据更新速度快[6],具有时效性,对数据及时分析处理要求高,但其数据量庞大且杂乱无章,对数据的管理、分析、应用带来极大的不利,因此应对其进行标准化处理,即统一数据编码。按照数据主体属性的不同进行分类,并在每一分类下建立统一编码,如建立食品分类及编码、食源性疾病分类及编码、地理分类及编码等,食品安全大数据标准化是智慧政府背景下,“互联网+”时代佛山市政府食品安全治理体系的重要技术基础。
PID的控制策略是给系统设定一个目标值,在系统的输入端输入一个值后,系统的测量元件就会测量出该输入值对应的实际输出值,并且将该值与标值进行比较,计算出它们之间的偏差,PID系统再根据该偏差值来重新调整系统的输入值,如此反复循环,直到系统测量的实际输出值与设定的目标值相等,即闭环控制
。
3.1 智能车的方向控制
本文采用位置式PID控制器闭环控制。位置式PID的输出值就是直接用于控制系统器件的信号输入值。控制器的结果直接用于控制执行器件的位置,被称为位置式PID
。其离散化公式如公式(1)所示。
Sensor_Left=After_filter[0]; //采集左边电感的数据
Sensor_Middle=After_filter[2]; //采集中间电感的数据
1.5 统计学分析 数据分析统一使用SPSS 19.00软件,独立样本t检验和χ2检验处理两组患者的一般资料,计量资料的表示方法为组间统计学比较使用方差分析中的SNK-q方法。计数资料的表示方法为例(%),组间比较实施χ2检验。P<0.05为差异有统计学意义。
sum = Sensor_ Left*1+Sensor _Middle*100+Sensor_Right*199;
Sensor=sum/(Sensor_Left+Sensor_Middle+Sensor_Right); //偏差和历史值
static float Bias,Last_Bias;
Bias=100-Sensor; //提取偏差
在得出小车分别在三个方向上的目标速度后,再将这三个目标速度同时传入麦克纳姆轮小车的运动学分析公式,即可计算出四个轮子的目标速度分别为多少。最后再将目标四个轮子的目标速度分别传入增量式PID控制器,即可得出PWM信号的值。分别直接控制四个轮子的速度,从而间接控制车子的运动方向。
图中Rk和Xk分别表示等值内电阻及内电抗;PakQak和Pdk分别表示交流有功、交流无功和直流有功;Vak和θak分别表示交流侧的电压幅值和相位;Vck和θck分别表示等值内电势的幅值和相位;Vdk表示直流侧电压幅值。潮流方程如下:
另一方面,和传统的课堂教学相比,生活化的教学对于学生的自主学习能力要求更高,学生在课堂学习的过程中对于教师的依赖更低。因此,对于学生学习能力的锻炼效果更加明显。在这个过程中,学生需要去主动地发现问题、提出问题、分析问题和解决问题。遇到难题时需要主动地寻求合作,主动地向教师求教。经过长期的训练,学生的思维能力必然会得到更好的锻炼,学习能力自然会水涨船高。
2004年,路虎发现迎来了自面世以来最为彻底的一次换代。第三代路虎发现拥有了全新的车身整合式底盘结构、全新的动力总成、全新的驱动系统,而一切都让这个已经诞生十余年的中型SUV得到了全面的进化与升级。
Sensor_Right=After_filter[4]; //采集右边电感的数据
Move_Y=10;//巡线速度
Last_Bias=Bias; //上一次的偏差
//得到控制目标值,进行运动学分析,计算各个轮子的速度该是多少。
Kinematic_Analysis(Move_X,M ove_Y,Move_Z);
倪凯煜(1991-6),男,汉,籍贯:临海,职称:二级教师,学位:学士,研究方向:机械,工作单位:临海市中等职业技术学校。
3.2 智能车的速度控制
为保证系统每次能够正常启动不报错,在每次开机启动的时候需要先对系统进行清零复位[3]。整个PLC程序分成上电初始化、上下料机构位置确立、自动上料、自动盖章、自动下料、输出线圈控制、调用报警ALM控制7个部分。 控制系统主程序如图3。
为了让智能车在行驶过程中保持一定的稳定性和方向性,本文利用PID算法对智能车的速度和方向进行控制,PID控制器的控制流程如图3所示。
Bias=Target-Encoder; //计算偏差
Pwm+=Velocity_KP*(Bias-Last_bias)+Velocity_KI*Bias+ Velocity_KD*(Bias-
Move_Z=Bias*1+(Bias-Last_Bias)*5; //PD 控制
2*Last_bias+ Before_Last_bias);//增量式 PID控制器
唐玉烟笑了笑,道:“有时候,人不逼自己一把,是不会知道自己有多大潜力的。”又道,“我们在鬼谷中布下阵法,躲过了唐门的搜查,并与谷中的野兽毒虫为伍,最初是很艰难,但后来也便适应了。而唐烈那边,则反咬一口,对门下弟子谎称唐琮欲篡夺门主之位,幸被其察觉,重伤了唐琮。正所谓成王败寇,门下弟子虽有明白人对此表示怀疑,却也无人胆敢说一个‘不’字。
if(Pwm>PWM_period)Pwm=PWM_period;
if(Pwm<-PWM_period)Pwm=-PWM_period;
Last_bias=Bias; //保存上一次偏差
return Pwm; //增量输出
经过反复试验,最终得出适合本系统的PID控制器参数分别为Velocity_ _KP=6, Velocity_KI=1, Velocity_ KD=0。
由于智能车是用于承载摄像头拍照,且每两次拍照之间的距离间隔较短,因此不需要为车子设置过高的速度。满速时编码器读取的值为100,本系统设置车子运行的速度为满速的10%,车子循电磁线前进时,通过PID控制器的调节,车子稳定运行时电机的实际转速为满速的10%,完全符合设定的目标速度。另外,ADC采集的感应电动势的值为左边ADC0=1144、右边为ADC4=1146、中间为ADC2=1395。两边的值几乎一致,中间的值明显高于两端,由此可见,引导线基本上已经处于车子的中心线位置,符合期望。
4 智能车系统应用及策略
在工作人员将图书按照馆内排架要求正确排架后,由图书智能盘点车全部拍照处理。此时,在调试系统进行初始化完成后,可由装设在车子升降杆上的高清摄像头对书架上的图书进行拍摄。每当智能车行驶一段固定距离之后,便调整升降杆且发送控制命令给摄像头拍摄书架上的图书,且将拍摄到的图片发送给后台,形成原始图书书名、顺序和架位号数据库,以便于以后的数据比对(可加初始化数据表,含书名、顺序、架位号),以满足后台图像分割和文字提取的基本要求。
4.1 采取深度学习式图像识别
本文利用计算机视觉和人工智能技术对采集到的书脊图像进行文字识别。由于单本书的书脊图像轮廓难以提取且书籍可能出现倾斜等问题,采取一种使用Mask R-CNN深度学习网络对书脊图像进行实例分割,再针对分割后的书脊图像提取书名和书架号所在位置并进行文字识别的方法。由于图像记录了每一本的具体位置关系,因此,本方法可实现对每一行图书是否严格按照索书号和种次号排架的判断,这是RFID模式所不能实现的。本文通过20多幅采集到的书脊图像进行实验测试,来验证本文算法的有效性。实验结果表明,书脊图像中字符的识别成功率可达90%以上,书架号的识别成功率可达98%以上。
4.2 每日形成错架、丢失图书报告
后台数据库根据提取的书名和书架号逐一与正确的数据进行比对,记录错架图书信息和图书丢失信息,并且记录不能识别的图书信息,供工作人员现场确认。图书智能盘点车可在晚上不间断运行,使图书馆工作人员每日及时获取错架、丢失图书情况,可使图书馆精细化管理更上一个台阶。
[ 1 ]周聪, 张德林. 基于机器学习的图书智能采编模式的构建[J]. 中华医学图书情报杂志, 2018,27(12): 43-49.
[ 2 ]刘汝翠. 基于自动能分类器的图书馆乱架图书检测[J]. 现代商贸工业, 2016, 37(25): 172-174.
[ 3 ]SUTHAKOM J. A robotic library system for an off site shelving facility[C]. Proc of 2002 IEEE International Conference on Robotics & Automation,2002:1010-1012.
[ 4 ]YUAN K H, HONG A C, ANG M, et a1. Unmanned library: an intelligent robotic books Retrieval &return system utilizing RFID tags[C]. Proc of 2002 IEEE International Conference on Systems, Man and Cybernetics, 2002:50-55.
[ 5 ]陈黄飞, 刘锐华, 陈彩艳. 智能图书分类机器人模型研究与设计[J].新技术新工艺, 2021 (6):28-31.
[ 6 ]祝相泉. 基于模糊PID 的矫平机控制系统的设计与研究[D]. 锦州:辽宁工业大学, 2020.
[ 7 ]王捍天. 基于PID 控制的机器人轨迹跟踪性能研究与比较[J]. 电子元器件与信息技术,2019(6):44-47.
[ 8 ]刘芬. 基于STM32 和增量式编码器的步进电机运动状态控制技术[J]. 自动化与仪器仪表,2021(5): 160-163,167.