基于LabVIEW的多传感器信息采集平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW的多传感器信息采集平台
摘要:车辆定位中利用多传感器信息融合技术可以提高定位精度。系统中的传感器数量急剧增加,传统仪器很难满足整个系统的测量需求。本文开发了一种基于虚拟仪器软件开发环境LabVIEW的多传感器信息采集平台,将多传感器数据采集、预处理、信息显示、存储及数据回放集成在一起,解决了以往实现多传感器信息同步十分困难的问题,为将来进一步研究利用虚拟仪器测量多传感器信息及进行多传感器信息融合奠定了基础。
关键词:LabVIEW;数据采集;全球定位系统;惯性测量单元
引言
车辆定位导航技术是智能交通系统( ITS)中一个重要技术,而定位精度、定位数据的连续性和可靠性是导航系统性能的三个重要因素。车辆定位导航的精度直接取决于各个传感器的精度,而传感器精度的提高往往受技术、价格等因素的影响。目前广泛采用的基于多传感器融合的组合导航系统,能够有效提高导航定位精度,增强导航系统的可靠性,进而充分保证导航数据的连续性和可用性。传感器数量在系统中的需求增加,传统仪器不再适应系统要求。本文作者利用NI公司的虚拟仪器编程软件LabVIEW所设计的多传感器信息采集平台,为组合导航中的多传感器信息采集工作提供了一个通用的平台,克服了传统仪器功能单一,灵活性差,更新和维护费用高的缺点。并且将数据采集、预处理、信息显示、存储和回放集成在一起,形成统一格式的数据文件,方便与其它数据分析软件的接口,例如与Matlab的接口。在这个多传感器信息采集平台,各种传感器信息可以显示在同一界面上,可以很方便地在其它传感器的信息中添加GPS时间信息,解决了以往实现多传感器信息同步困难的问题。
软件开发平台LabVIEW及结构
LabVIEW全称是Laboratory Virtual InstrumentEngineering Workbench ,是目前十分流行的虚拟仪器的软件开发平台,是美国国家仪器公司(National Instrument) 推出的一种基于图形开发、调试和运行程序的集成化环境,是目前国际上唯一的编译型的图形化编程语言。
系统硬件结构
实现此平台的硬件结构如图1所示。各种传感器通过串行接口与计算机相连,实现与计算机的通信,计算机利用系统的LabVIEW程序对各种传感器发送控制命令,多传感器信息通过串口送入计算机,供LabVIEW程序进行数据的识别,读取,存储以及后处理工作。各种传感器信息分别通过各自接口与计算机通信之间是并行的。由于实验室条件有限,多传感器仅以IMU和GPS为例完成了系统的设计工作。
系统软件结构
系统的软件结构图如图2 所示。由图2 可以看到,整个系统完成了GPS/IMU的数
据采集、数据预处理、信息的同一界面显示、数据存储、数据回放的功能。
系统关键技术及其功能实现
系统关键技术
(1) LabVIEW的并行机制
LabVIEW软件应用程序采用了并行程序结构,分别实现对多传感器信息的测控。如
在多任务并行处理中,两个循环结构构成了两个并行的任务,每个任务体的执行顺序是互不相关的,甚至这两个任务执行的次数也是可以不一样的。
(2) 串行口通信子VI
串行口通信的子VI针对计算机标准的串行口。LabVIEW提供了一组(共5 个) 串行口通信子VI控件来承担对编程的支持,它们依次是:①串口初始化(Serial PortInit) ;②串
口读(Serial PortRead) ;③串口写(Serial PortWrite) ;④串口字节数(ByteSatSerialPort) ;
⑤串口中断(Serial PortBreak) 。
(3) 数据同步机制原理
多传感器信息融合中,要使误差最小,两个传感器数据的时间应该相匹配。然而在实际的传送到车辆中的基本定位信息只需要有限的时间信息,只要为传感器信息确定数据起始时间,然后可以根据传送的数据量以及通信波特率来确定时间。以GPS信息与惯性导航
系统( Inertial Navigation System,INS) 的组合为例,由于INS与GPS的采样率不同,INS 采样率一般为10 Hz ,而GPS的采样率为1Hz。如图3 所示,设t1时刻为IMU/INS及GPS信息开始可用时刻,首先从t1开始向缓存器中存储一系列的IMU/INS信息,由于GPS 采样率较低,此时的GPS信息可能并不是t1时刻而是前一秒内的信息。假设GPS信息在t1+Δt时刻更新,当接收到GPS的t1+Δt时间信息后,将缓存器的信息恢复到正确的时间并完成更新,取t1+Δt为两个传感器的数据起始时间,这样IMU/INS信息和GPS信息就达到了时间上的匹配,此后的时间信息就可以通过传送的数据量以及通信波特率来确定。
系统功能实现
(1) 数据的采集和预处理
此部分将传感器原始数据从串口连续正确地读进来之后,对数据进行预处理,通过格式的转换,数学计算等将原始数据转换为传感器实际测量信息,并实现了IMU转动角度的实时测量功能。其基本原理就是将角速度进行时间积分,得到角度的变化值。由于陀螺仪在不同的温度下有着不同程度的零点漂移,在积分的情况下其误差就会不断累加,所以在此模块中特别增加了一个实时计算陀螺仪各轴方向静止状态时平均漂移的子VI,用来对角速度积分的误差进行补偿,从而得到比较准确的角度变化值。下面以IMU为例,说明原始数据到实际测量值转换的实现过程。每个IMU信息包含18个字节信息,其定义如表1所示。
表1IMU18字节定位信息
图4 为利用公式节点进行数据预处理框图。其中x 和y 是输入的原始数据,z 为输出的实际测量值。程序将18字节的字符串数据转换为数字数组后,在框图上可直接在公
式节点中输入公式,完成原始信息到实际测量值的转换。
(2) 信息显示
软件采用友好和直观的界面呈现来自传感器的信息,分别对来自GPS和IMU的数据信息进行呈现。其部分界面如图5、图6所示。
我们在设计过程中,特别采用了Tab控件,可以将IMU和GPS信息同时显示在同一面板的不同分页上,使我们能够很方便地交互地察看两个传感器的信息。
图5 IMU信息显示界面