APP下载

双目视觉敏感器的高可靠数据流设计

2017-12-20魏高乐牛和明陈朝晖

导航与控制 2017年6期
关键词:双目数据流中断

魏高乐,高 进,牛和明,陈朝晖

(北京控制工程研究所,北京100094)

双目视觉敏感器的高可靠数据流设计

魏高乐,高 进,牛和明,陈朝晖

(北京控制工程研究所,北京100094)

首先介绍了两机结构的航天器双目视觉敏感器(BVS),分析了其通信数据流。针对其内部串口、外部总线通信特性以及BVS特殊运行流程,对数据流进行了整合、优化,确保敏感器的高数据更新率可行性。同时针对复杂通信数据冲突问题,对BVS两个计算机嵌入式软件的流程进行了可靠性改进。实验结果证明,该方法能够确保BVS的长期稳定运行,实现了两套普通单目相机敏感器硬件不变的情况下,仅通过一个串口连接,搭建双目相机。该方法已用于在轨实验中,并可应用于后续所有航天器在轨双目图像实验任务中。

BVS;数据冲突;数据流;嵌入式软件

0 引言

双目视觉导航敏感器BVS逐渐成为各国航天最新领域的研制热点。双目立体视觉是由不同位置的两台或者一台摄像机经过移动或旋转拍摄同一幅场景,通过各种算法匹配出相应像点,从而计算出视差,然后基于三角测量原理恢复深度(距离)信息[1-2]。与单摄像机的情况相比较,利用双摄像机定位时,每个特征点都可以得到其唯一确定的位置坐标。由于线性方程存在解析解,故无需迭代运算。因此,立体视觉的模型要优于单摄像机的模型[3]。

然而,BVS的硬件结构比单目成像的敏感器复杂,且单目成像类敏感器起步较早,已成熟应用于在轨拍摄[4-5]、星敏感器定姿[6]、交会对接[7-8]等多项空间探索实验中,成为航天器的重要有效载荷[9]。本文基于单目成像敏感器的成熟硬件,使用通信串口连接两个单目成像敏感器搭建BVS,即每个探头后各有一个计算机,共同实现双目视觉。

此种结构设计的优势在于其硬件结构简单,使用两台普通星敏感器或交会对接成像敏感器(CRDS)硬件即可搭建,无需重新设计、调试硬件单机,然而该设计对串口的数据流要求较高。本文通过左右相机之间数据流的合理设计,保证了左右相机配合进行双目图像处理,并实现了上位机或地面测试设备对BVS的遥控通信功能。

1 两机BVS的数据流

1.1 两机BVS结构

本文所探讨的两机BVS组成结构与单机BVS对比如图1所示,两机结构的两个单目相机通过串口相连,左右探头后连着各自的计算机,运行各自的嵌入式软件。主相机计算机实时处理左探头图像,辅相机计算机处理右探头图像。主相机计算机通过总线与中央管理单元(CMU)相连,主辅相机之间通过串口相连。

图1 BVS的单机结构与两机结构Fig.1 Comparison between construction of BVS with one and two CPU

BVS的工作流程如图2所示,嵌入式软件每个周期从图像拍摄完成开始[10]。单机BVS软件流程简单,新图像到来后分别针对左右图像进行预处理,并将结果用于双目运算;而两机BVS的左右相机嵌入式软件需要分别针对各自图像完成预处理后,辅助相机通过串口将计算结果发送给主相机,主相机再根据两侧图像预处理结果进行双目图像处理计算。

1.2 主计算机与CMU的数据流

主计算机与CMU由总线相连,作为BVS与外界的唯一链路接口,担负着接收CMU遥控指令和发送BVS遥测数据的任务。BVS作为CMU的下位机,通过遥控指令中断接收遥控指令,通过勤务指令中断更新遥测数据。其数据流设计及实现流程如图3所示。

图2 单机与两机BVS的运行流程Fig.2 Comparison between flowcharts of BVS with one and two CPU

图3 主计算机与CMU的数据流实现Fig.3 Implementation of data flow between main computer and CMU

1.3 主辅之间数据流

两机获取图像后,分别完成图像预处理操作。控制右相机的辅计算机作为控制左相机的主计算机的下位机,响应左相机的串口中断,将预处理结果发送给左相机,左相机利用左右两个相机图像预处理结果进行双目图像运算。完成计算后,利用计算结果调整下周期的算法参数,通过串口将参数发送给右相机,实现双机算法同步。

为保证双机星时同步,左相机每个周期向右相机发送星时校时指令。同时,作为与CMU通信的中端接口,主计算机负责转发右相机的遥控指令和遥测数据。BVS两机之间内部串口的数据流如图4所示,为保证正常的双目图像测算,内部串口每个周期最多要实现7次数据通信操作。如表1所示,辅助计算机中断异常频繁,算法流程混乱,每个周期耗时过大。出于图像类敏感器的时间特性,软件耗时大于两图的拍摄间隙时,会出现测算结果漏数。

图4 BVS内部串口每周期数据流实现Fig.4 Implementation of data between main computerand assistant computer on port

表1 内部通信时机分析表Table 1 Occasion of data communication on port inside BVS

1.4 未加可靠性优化的两机BVS仿真结果

将图3、图4所描述的软件流程进行图像仿真测试,多次实验曲线如图5所示。结果可知,敏感器每周期计算均超时,无法建立图像跟踪并连续输出结果。且随着目标接近,动态图像光点位置变化加快,捕获成功更加困难。第40~80周期中,CMU持续发出对辅助相机的遥控指令,抢占了更多运行时间,并且引入数据冲突风险,造成双目无法正常识别,且辅助相机未成功响应遥控指令。

测算过程必须进行合理优化。

图5 仿真实验测算相对距离及测算耗时Fig.5 Curve of result and time consume from simulation

2 两机BVS数据流改进

2.1 数据流整合优化

基于通信时机,对表1中的7次通信进行2处整合:

1)将校时指令复用为预处理数据取数指令,辅助相机接收到校时中断,先响应校时后,直接发送预处理数据;

2)将算法同步参数复用为辅相机遥测数据取数指令,辅助相机在中断中接收到参数后,直接发送遥测数据。

通过以上整合优化,辅助相机计算机在一个周期内,通信次数缩短为5次,中断整合为最多3次。辅助相机串口中断服务程序流程如图6所示,较图 4(b)大大简化。

2.2 流程可靠性改进

整合后,主计算机每个周期在任务中固定向辅助计算机发起两次通信。为避免内部串口通信被总线中断打断,引发数据冲突错误,主计算机在任务中每次发起内部通信前将外部中断禁能并挂起,在完成内部通信操作后再重新使能外部中断。

图6 改进后的辅相机计算机串口中断流程Fig.6 Flowchart of port interrupt in assistant computer after improved

辅计算机每个运行周期响应两次内部串口中断,并在中断中回复相关数据。为避免数据打包过程中取数中断,出现通信数据错误,辅计算机在每个周期打包遥测数据前禁能、挂起内部串口中断,在打包完成后重新使能串口中断。

改进后的流程如图7所示。

3 改进后的仿真曲线分析

对改进后的软件进行仿真实验,BVS实验的目标相对距离测算结果和每个周期的总耗时曲线如图8所示。

由图8可知,改进后的BVS能够在一个周期内完成测算并输出结果,成功建立对目标的双目跟踪。在第40~70周期中,测试设备仿真CMU连续向BVS发送辅助相机取数、内存下传指令,故在此30个周期,软件的每个周期耗时有所增加,但图像跟踪始终保持正常。实验中所有数据下传正确,测算结果无误且无漏数,说明虽然总线遥控令增加了耗时,但未出现数据冲突且耗时未达到运行周期上线,确保了BVS的正常测算功能。

实验结果表明,这种分别针对主、辅计算机设计的高可靠双目视觉敏感器数据流能够有效实现BVS的长期稳定运行,在确保双目测算功能的同时,并能安全规避数据访问冲突,实现对CMU遥控指令的响应和反馈。

图7 流程可靠性改进Fig.7 Reliability improvement of flowchart

图8 改进后的仿真测试曲线Fig.8 Curve of simulate test after improved

4 总结

文章针对两机结构的BVS的内部串口、外部总线通信的特性,以及该系统的运行流程对敏感器数据流进行了系统的整合、优化,确保了敏感器高数据更新率的可行性。同时针对复杂通信数据冲突问题,对BVS两个计算机嵌入式软件的流程进行了可靠性改进。

该方法实现简单,仅通过软件层面的改进设计,实现了两台单目成像敏感器通过一个串口成功搭建双目成像敏感器。该方法已应用于某型号的在轨实验,并可应用于后续所有航天器在轨双目图像实验任务中。

[1]周星,高志军.立体视觉技术的应用与发展[J].工程图学学报,2010,31(4): 50-55.ZHOU Xing,GAO Zhi-jun.Application and future development of stereo vision technology[J].Journal of Engineering Graphics,2010,31(4): 50-55.

[2]杜晓东,高学海,徐文福,等.基于双目视觉的空间近距离交会半物理仿真系统[J].仪器仪表学报,2014,35(6): 1282-1291.DU Xiao-dong,GAO Xue-hai,XU Wen-fu,et al.Semiphysical simulation system for close-range rendezvous based on binocular vision[J].Chinese Journal of Scientific Instrument,2014,35(6): 1282-1291.

[3]张庆军,胡修林,叶斌,等.基于双目视觉的航天器间相对位置和姿态的测量方法[J].宇航学报,2008,29(1): 156-161.ZHANG Qing-jun,HU Xiu-lin,YE Bin,et al.Binocular vision-based relative position and attitude determination between spacecrafts[J].Journal of Astronautics,2008,29(1): 156-161.

[4]赵葆常,李春来,黄江川,等.嫦娥二号月球卫星CCD立体相机在轨图像分析[J].航天器工程,2012,21(5): 1-7.ZHAO Bao-chang,LI Chun-lai,HUANG Jiang-chuan,et al.Analysis on in-orbit CCD stereo camera images of Chang'e-2 lunar satellite[J].Spacecraft Engineering,2012,21(5): 1-7.

[5]Shi D L,Ye P J,Jia Y,et al.Research on lunar rover locating method based on lander stereo vision[J].Spacecraft Engineering,2007,16(6): 25-32.

[6]王海涌,赵彦武,周明远.基于精密时间的星敏感器绝对姿态基准的建立[J].空间控制技术与应用,2013,39(6): 6-11.WANG Hai-yong,ZHAO Yan-wu,ZHOU Ming-yuan.Construction of attitude reference benchmark of star sensor based on precise timing[J].Aerospace Control and Application,2013,39(6): 6-11.

[7]张昊,石磊,涂俊峰,等.基于交会对接CCD光学成像敏感器的双目测量算法[J].空间控制技术与应用,2011,37(6): 66-71.ZHANG Hao,SHI Lei,TU Jun-feng,et al.A CCD optical sensor based new binocular vision measurement algorithm for rendezvous and docking[J].Aerospace Control and Application,2011,37(6): 66-71.

[8]赵春晖,高文文,刘鲁,等.神舟八号飞船交会对接CCD光学成像敏感器[J].空间控制技术与应用,2011,37(6): 6-13.ZHAO Chun-hui,GAO Wen-wen,LIU Lu,et al.A vision guidance sensor for Shenzhou-8 spacecraft autonomous rendezvous and docking[J].Aerospace Control and Application,2011,37(6): 6-13.

[9]邹昕,邓湘金,张熇,等.月球探测器成像观测任务设计与验证[J].航天器工程,2015,24(5): 14-22.ZOU Xin,DENG Xiang-jin,ZHANG He,et al.Design and verification for imaging observation task of lunar explorer[J].Spacecraft Engineering,2015,24(5): 14-22.

[10]魏高乐,高进,陈朝晖.交会对接成像敏感器的光点筛选 改 进[J].飞 行 器 测 控 学 报,2016,35(4):270-275.WEI Gao-le,GAO Jin,CHEN Zhao-hui.Improvement of spot screening in rendezvous and docking image sensors[J].Journal of Spacecraft TT& C Technology,2016,35(4): 270-275.

Design of High Reliability Data Flow for Binocular Vision Sensor

WEI Gao-le,GAO Jin,NIU He-ming,CHEN Zhao-hui
(Beijing Institute of Control Engineering,Beijing 100094)

The construction of binocular vision sensor(BVS)with two CPU is introduced at first,and the data flow of which is analyzed.The characteristics of data communication through the inner port and the outer bus were focused on to integrate and optimize the data flow in BVS in order to ensure the feasibility of high data update rate.Considering the problem of data conflict within the process of complex communication,the flowcharts of embedded software in both two CPUs of BVS were also improved for high reliability.The result of experiment shows that the method could ensure the long term stable operation of BVS,and realize the combination of BVS by two single camera sensors with a port.The method has been used on-orbit and could be used in every space exploration test task of BVS in future.

BVS;data conflict;data flow;embedded software

V445.8/TP391.41

A

1674-5558(2017)03-01383

10.3969/j.issn.1674-5558.2017.06.009

2017-03-28

魏高乐,男,工程师,研究方向为星(船)载嵌入式软件、图像处理和模式识别。

猜你喜欢

双目数据流中断
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
汽车维修数据流基础(上)
汽车维修数据流基础(下)
基于XML的数据流转换在民航离港系统中应用
基于双目测距的卡尔曼滤波船舶轨迹跟踪
“单片机中断概述”微课教学设计
一种考虑GPS信号中断的导航滤波算法
Linux中断线程化分析及中断延时测试
AADL端对端数据流一致性验证方法