用于白车身检测的测量控制系统设计
2016-05-14李正辉郭寅张洪彬张宾
李正辉 郭寅 张洪彬 张宾
摘要:为实现白车身在线检测站中测量设备的统一管理与远程通信,提高测量系统的工作效率,设计了一种用于白车身检测的测量控制系统。采用STM32F407芯片为核心并移植μC/OSⅡ和LwIP,并搭建 Web Server实现远程通信;建立了多线程任务,实现串口、网口和USB之间的信息交互;分析了数据路由转发过程中存在的数据安全性问题,就通信过程中丢包现象展开讨论,并提出解决方案;采用二维归一化灰度互相关法处理图像的二维定位,提高了处理速度。实验结果表明,该系统能够提供远程通信功能,降低成本,且提高了设备管理的效率。
关键词:嵌入式Web;μC/OSⅡ;数据安全;模板匹配
中图分类号:TP274.2 文献标志码:A
Abstract:In order to achieve unified management and remote communication of measuring equipment in car bodyinwhite online visual inspection station, a measurement and control system for the car bodyinwhite detection was designed to improve the working efficiency. Using STM32F407 as the core, μC/OSⅡ and LwIP were transplanted to build a Web server, and the Web server was set up to realize remote communication. Multithreaded tasks were established to achieve the information interaction between serial port and net port. By analyzing the data security issue in the process of datas routing and discussing the phenomenon of packet loss on transmitting, a solution was proposed. 2D normalized crosscorrelation method was used to realize the image 2D positioning, and enhome the processing speed. The experimental results show that the system can provide remote communication function, reduce the cost, and improve the efficiency of equipment management.
Key words:embedded Web; μC/OSⅡ; data security; template matching
0 引言
白车身在线检测站作为车身在线生产的检测环节,基于视觉检测技术对白车身的关键部位的点、棱、面及功能尺寸进行测量,具有高精度且非接触的特点。检测站内部测量设备均通过测量工控机进行统一控制,对系统可靠的通信控制提出了很高的要求,实现系统的监控管理势在必行[1-2]。目前,国内现有系统的测量控制采取串行集中式处理模式,但其通信距离短,检测系统的通信控制须通过现场的工控机才能完成,对检测站的远程通信成为一种迫切需求;随着汽车产量的提高,工控机主要处理和分析测量数据,作为图像处理或其他用途势必会降低其工作效率;工控机通过分配I/O口对设备进行控制,传感器输出的视频信号进入图像采集卡,再由工控机处理,主机插卡包较多,导致现场布线复杂、故障率偏高、工作效率不高,且扩展能力差,所以检测站更高效的运行需要寻求一种新的方式。
随着互联网技术的广泛应用使得各种设备的数据通过以太网传输,其通信速度快、通信距离不受限制、组网灵活、管理高效。将现有的设备集中起来并接入以太网,将来自网络的数据经过TCP/IP协议解析后发往各个设备;或将各个设备发来的数据经过TCP/IP协议打包发往远程客户端[3]。采用灰度模板匹配算法分析和处理图像[4],得到图像坐标信息后通过以太网传给工控机,代替工控机完成测量环节。该系统集测量控制于一身,其成本低、故障率低,且管理高效。
1 总体方案设计
白车身测量控制系统包括多个视觉传感器和传感器微控制器,其中视觉传感器和微控器共同组成串行设备作为图像采集单元挂接在测量控制盒上,采用RS485作为系统通信总线实现测量信号与控制信号的传输。
本文设计的测量控制系统采用分布式系统处理方式,提供4路RS485串行接口,1路10M/100M以太网接口,1路B5Pin型的USB接口。远程客户端以网线接入测控系统的以太网接口实现连接,近程控制接口为USB接口。客户端是可以连入以太网的远程PC机,用户不用安装任何专用软件,利用测量控制系统中的Web Server,在浏览器输入系统的IP地址就可以调出Web界面来对系统进行远程配置和通信[5]。总体来看,系统由集中式处理方式变为分布式处理方式,具有优良的可扩展性。其总体结构框架如图1所示。
2 测量控制系统设计
本系统主要分为通信控制环节和测量环节。通信控制环节主要实现数据传输和控制信号的收发,并保证传输收发过程中的安全性;测量环节主要基于模板匹配算法,处理采集的图像后得出结果,最终传回工控机完成测量环节。
2.1 硬件设计
MCU采用高性能微处理器CortexM4芯片STM32F407,以168MHz高速运行时具有高达210DMIPS处理能力,硬件接口资源丰富,能够满足系统的要求;网口模块与串口模块作为系统的通信部分,共同实现测量设备与远程客户端的通信控制环节和测量环节中数据及指令的传输;选用USB2.0规范的B5Pin型接口作为近距离调试接口,存储芯片(E2PROM)采用ATMEL公司的AT24C04,主要存储配置阶段的数据和标志位。
硬件系统设计如图2所示。
2.2 通信控制环节设计
本系统的通信控制环节中,远程配置及监控依靠网口通信完成,近程控制通过USB通信实现。为了保证系统通信时的可靠性和实时性,对本系统植入μC/OSⅡ操作系统提供任务调度机制。同时考虑到嵌入式系统资源相当宝贵,选用LwIP(Light Weight IP)作为TCP/IP协议栈移植到该系统中。LwIP实现的重点是在保持了TCP/IP协议主要功能的基础上减少对RAM的占用,是一种轻量级IP协议,适合在一般的嵌入式系统中使用[6]。本系统的通信控制环节设计分为两个主要部分:远程参数配置和数据转发机制。
2.2.1 远程参数配置
为实现客户端对系统参数的远程配置,需采用动态网页技术。目前,能实现动态网页技术的有CGI(Common Gateway Interface)、ASP、PHP和JSP等。由于ASP、PHP、JSP等技术需要依赖相应的语言支持,而CGI程序可用任何语言编写,且没有和任何特定的服务器结构联系在一起。考虑到本系统编程语言限制、资源有限等因素,选用CGI技术[7-10]。本文采用Httpd Server作为嵌入式Web Server,在μC/OSⅡ嵌入式操作系统中移植LwIP的基础上,添加Httpd Server的源代码,CGI工作流程如图3所示。
2.2.2 数据转发机制
本系统参考了静态路由表的工作机制[11],并基于Modbus总线协议规定消息帧中包含目标设备的地址,将这些地址位分配给各个串口,配置串口号对应地址位的路由表。为保证数据的正确性和完整性,消息帧的末位校验采用循环冗余码校验(Cyclic Redundancy Check, CRC)方式,根据生成的CRC16校验码多项式可以计算得到一个16位的二进制数作为校验码附在帧结尾处。发送方在发送了带有校验码的指令后,接收方会通过该多项式来验证收到的CRC16校验码,当接收到的校验位与计算得到的校验位不一致时表明数据错误,需要提醒主机重发,提高了数据的安全性和识别错误的可靠性。其消息帧的帧格式如表1所示。
传统的控制系统中消息传输路径是固定的,一旦加入新的测量设备,需重新修改下位机程序,系统调整不灵活。本文采用CGI动态网页技术配置路由表,将预先分配好的设备地址位并存于E2PROM中,当有数据要转发时要先读取E2PROM中的地址位,判断该地址位所对应的串口号,再发往目标串口,实现数据的路由转发。数据路由转发流程如图4所示。
本文采用消息队列实现不同任务间的通信。对于通信过程中,主要会出现两种类型的数据丢包问题。假设当任务1在t1时刻向任务2发送msg1,但由于某些特殊原因使得任务2接收延时,这时在t2时刻任务1向任务2发送了msg2,那么msg1就可能被msg2覆盖,致使msg1丢失,这是由通信延迟造成的数据丢失问题[12]。
为解决上述数据丢失问题,在原有消息队列通信程序的基础上加入判断机制,即任务1在发送数据且任务2接收数据后需判断接收标志位是否为0才能发送下一包数据。采用共享全局变量作为判断标志位,与信号量和邮箱相比更加快捷有效,其通信过程如图5所示。在标志位判断及发送接收数据程序段的两端需要加入OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL(),这两句代码之间的程序是不可以被系统的中断打断或者进行任务切换的,对当前程序段加锁,确保变量在判断时不被其他任务或中断改变。
第二种数据丢包问题发生在速率非对等的数据传输过程中,将在后文中进行讨论。
3 测量环节灰度模板匹配算法
测量控制系统中的测量环节采用灰度模板匹配的方法对采集图像进行处理,得到图像特征的位置信息后通过以太网打包发送给工控机,完成系统的测量环节。
模板匹配过程中的匹配精度影响着对图片坐标信息的准确定位,为了准确得到图片特征的二维信息,匹配算法采用去均值二维归一化灰度互相关法作为相似性测度[13-14]。如图6所示,假设用行数*列数=m*n的模板图像T去匹配原始图像D,定义归一化灰度互相关系数ρ(u,v),如式(1)所示:
4 系统测试
4.1 消息指令丢包率实验
针对第1类数据丢包问题,修改延时函数OSTimeDly()使得串口任务每500ms向消息队列申请消息,网口任务每300ms向消息队列发送消息来模拟数据接收任务的延迟。传统程序和优化程序的对比如表2所示,没有加入判断机制的程序发送的msg3和msg6分别覆盖了msg2和msg5,导致了msg2和msg5数据的丢失。而修改后的程序在接收msg2和msg5时进行了标志位判断,只有当串口任务成功接收消息后,网口任务才能够继续发送数据,这样保证了数据的安全性。
5 结语
本文设计了一种应用在白车身检测中的智能测量控制系统,在μC/OSⅡ操作系统和LwIP协议栈的支持下,搭建Web Server,实现远程通信;定义协议的CRC16校验和多任务间通信的数据接收判断机制,保证了数据收发的安全性;采用基于二维归一化灰度互相关法的模板匹配算法对图像特征进行二维定位;最后完成系统设计的具体方案并在白车身在线检测站成功运用。实验表明,本系统提高了工作效率,减小了故障率,且易于维护,为搭建白车身在线测量检测站测量控制平台打下基础。
参考文献:
[1] 邾继贵, 杨学友, 叶声华. 车身三维尺寸视觉检测及其最新进展[J]. 汽车工艺与材料, 2002(3): 22-25.(ZHU J G, YANG X Y, YE S H. Body threedimensional visual detection and latest progress[J]. Automobile Technology & Material, 2002(3): 22-25.)
[2] 刘玥, 林嘉睿, 刘涛, 等. 白车身视觉检测系统中多类型传感器全局校准技术[J]. 计量学报, 2014, 35(3): 204-209. (LIU Y, LIN J R, LIU T, et al. Multisensor global calibration technology of vision sensor in car bodyinwhite visual measurement system[J]. Acta Metrologica Sinica, 2014, 35(3): 204-209.)
[3] 李伟, 余森. 使用轻便网络互连协议的嵌入式串口服务器[J]. 计算机系统应用, 2015, 24(9): 244-247. (LI W, YU S. Embedded Ethernet serial server using lightweight IP stack[J]. Computer Systems Applications, 2015, 24(9): 244-247.)
[4] 张青涛, 杨学友, 刘涛, 等. 基于快速模板匹配的智能视觉传感器设计[J]. 传感技术学报, 2013, 26(8): 1039-1044.(ZHANG Q T, YANG X Y, LIU T, et al. Design of a smart visual sensor based on fast template matching[J]. Chinese Journal of Sensors and Actuators, 2013, 26(8): 1039-1044.)
[5] 谢仕义, 徐兵. 嵌入式Web服务器的设计及CGI实现[J]. 计算机工程与设计, 2007, 28(7): 1598-1600.(XIE S Y, XU B. Design of embedded Web server and its implementation of CGI[J]. Computer Engineering and Design, 2007, 28(7): 1598-1600.)
[6] 肖利平. 基于LWIP的嵌入式串口服务器的设计与实现[J]. 电子科技, 2009, 22(5):11-13.(XIAO L P. Design and realization of an embedded serial server based on LWIP stack[J]. Electronic Science and Technology, 2009, 22(5): 11-13.)
[7] 潘琢金, 王秋实. 嵌入式Web服务器中动态Web技术的研究[J]. 计算机工程与设计, 2010, 31(18): 3975-3978.(PAN Z J, WANG Q S. Study on dynamic Web technique in embedded Web server[J]. Computer Engineering and Design, 2010, 31(18):3975-3978.)
[8] 周曼丽, 姜文刚. 基于嵌入式Web服务器的植物工厂远程监控系统研究与实现[J]. 中国农机化, 2011(5): 90-95. (ZHOU M L, JIANG W G. Research and implementation of remote monitoring system for plant factory based on embedded Web server[J]. Chinese Agricultural Mechanization, 2011(5): 90-95.)
[9] 马亮, 滕光辉, 李志忠. 嵌入式Web服务器在蛋鸡舍网络环境监测系统中的应用[J]. 中国农业大学学报, 2006, 11(3): 88-92.(MA L, TENG G H, LI Z Z. Application of embedded Web server to environmental information monitoring system for laying house[J]. Journal of China Agricultural University, 2006, 11(3): 88-92.)
[10] 翟玉石. 基于嵌入式Web的无线视频监控系统的研究与实现[J]. 吉林省教育学院学报, 2014, 30(11): 151-152. (ZHAI Y S. Research and implementation of wireless video surveillance system based on embedded Web[J]. Journal of Educational Institute of Jilin Province, 2014, 30(11): 151-152.)
[11] 宋丽静. 网络模拟中本地路由策略的研究与优化[D]. 哈尔滨: 哈尔滨工业大学, 2010. (SONG L J. Research and optimization of local route strategy in network simulation[D]. Harbin: Harbin Institute of Technology, 2010.)
[12] 曾蜀芳, 郭兵, 沈燕. μC/OSⅡ中消息队列通信的数据安全问题[J]. 计算机技术与发展, 2009, 19(8): 151-154. (ZENG S F, GUO B, SHEN Y. Data security of message queue communication in μC/OSⅡ[J]. Computer Technology and Development, 2009, 19(8): 151-154.)
[13] 高晶, 孙继银, 刘婧. 基于邻域灰度信息的Hausdorff距离图像匹配方法[J]. 计算机应用, 2011, 31(3): 741-744.(GAO J, SUN J Y, LIU J. Image matching method based on normalized grayscale variance Hausdorff distance[J]. Journal of Computer Applications, 2011, 31(3): 741-744.)
[14] 刘毅飞, 张旭明, 丁明跃. 归一化互相关灰度图相匹配的多核信号处理器实现[J]. 计算机应用, 2011, 31(12): 3334-3336. (LIU Y F, ZHANG X M, DING M Y. Multicore digital signal processor implementation of normalized crosscorrelation image matching[J]. Journal of Computer Applications, 2011, 31(12): 3334-3336.)
[15] 金勇俊, 李言俊, 张科. 一种透视变换图像金字塔匹配改进算法[J]. 计算机工程与应用, 2007, 43(24): 78-80. (JIN Y J, LI Y J, ZHANG K. Improve perspective transformation image pyramid registration method[J]. Computer Engineering and Applications, 2007, 43(24): 78-80.)