基于LabVIEW的多传感器信息采集平台
时间:08-03
来源:互联网
点击:
引 言
车辆定位导航技术是智能交通系统( 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所示。
表1 IMU18字节定位信息
图4 为利用公式节点进行数据预处理框图。 其中x 和y 是输入的原始数据,z 为输出的实际测量值。 程序将18字节的字符串数据转换为数字数组后,在框图上可直接在公式节点中输入公式,完成原始信息到实际测量值的转换。
(2) 信息显示
软件采用友好和直观的界面呈现来自传感器的信息,分别对来自GPS和IMU的数据信息进行呈现。 其部分界面如图5、图6所示。
我们在设计过程中,特别采用了Tab控件,可以将IMU和GPS信息同时显示在同一面板的不同分页上,使我们能够很方便地交互地察看两个传感器的信息。
图5 IMU信息显示界面
图6 GPS信息显示界面
(3) 数据存储
在LabVIEW软件平台下,可以采用3种格式存储数据:文本文件,二进制文件和数据记录文件。数据存储的功能由一个写文件子VI和一个Case结构构成。 点击前面板上的存储控制按钮时,系统就会将IMU或者GPS数据进行存储,并且可以随时终止存储工作。 由于IMU信息中没有实际时间信息,为了实现多传感器信息的同步,以及存储文件的后处理需要,特在IMU存储信息中添加了同步的GPS时间信息。 为了方便用其它的程序来读取数据进行后处理工作,本文采用的是文本文件的存储格式。
(4) 数据回放
进行数据的回放工作,首先要将文件按照其存储格式识别出来,然后再将信息显示在界面上。 由于LabVIEW对文件进行读取的函数不是很多,而且一般对文件格式的要求比较严格,所以,我们采取了一种方法,就是先将文件中所有的字符串读出来,然后再利用LabVIEW中丰富的字符串操作函数,对所读取的字符串进行分离,识别和处理。对GPS信息进行读取、处理、显示、存储,以及回放的程序,与IMU相似,只是在数据格式方面有些不同,本文不再赘述。
车辆定位导航技术是智能交通系统( 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所示。
表1 IMU18字节定位信息
图4 为利用公式节点进行数据预处理框图。 其中x 和y 是输入的原始数据,z 为输出的实际测量值。 程序将18字节的字符串数据转换为数字数组后,在框图上可直接在公式节点中输入公式,完成原始信息到实际测量值的转换。
(2) 信息显示
软件采用友好和直观的界面呈现来自传感器的信息,分别对来自GPS和IMU的数据信息进行呈现。 其部分界面如图5、图6所示。
我们在设计过程中,特别采用了Tab控件,可以将IMU和GPS信息同时显示在同一面板的不同分页上,使我们能够很方便地交互地察看两个传感器的信息。
图5 IMU信息显示界面
图6 GPS信息显示界面
(3) 数据存储
在LabVIEW软件平台下,可以采用3种格式存储数据:文本文件,二进制文件和数据记录文件。数据存储的功能由一个写文件子VI和一个Case结构构成。 点击前面板上的存储控制按钮时,系统就会将IMU或者GPS数据进行存储,并且可以随时终止存储工作。 由于IMU信息中没有实际时间信息,为了实现多传感器信息的同步,以及存储文件的后处理需要,特在IMU存储信息中添加了同步的GPS时间信息。 为了方便用其它的程序来读取数据进行后处理工作,本文采用的是文本文件的存储格式。
(4) 数据回放
进行数据的回放工作,首先要将文件按照其存储格式识别出来,然后再将信息显示在界面上。 由于LabVIEW对文件进行读取的函数不是很多,而且一般对文件格式的要求比较严格,所以,我们采取了一种方法,就是先将文件中所有的字符串读出来,然后再利用LabVIEW中丰富的字符串操作函数,对所读取的字符串进行分离,识别和处理。对GPS信息进行读取、处理、显示、存储,以及回放的程序,与IMU相似,只是在数据格式方面有些不同,本文不再赘述。
传感器 虚拟仪器 LabVIEW GPS 陀螺仪 相关文章:
- 另类传感器观念:汽车传感器(2)(11-30)
- 满足汽车高温应用环境要求的传感器接口IC(01-10)
- 构建可靠的容性传感器汽车开关和控制接口(01-06)
- 汽车HVAC系统中的传感器(02-23)
- 新技术、新应用让传感器深入汽车电子设备的各个角落(05-11)
- 汽油发动机的传感器全面介绍(05-19)