一种iGPS测量系统和CATIA软件数据通信的方法

文档序号:6398561阅读:617来源:国知局
专利名称:一种iGPS测量系统和CATIA软件数据通信的方法
技术领域
本发明属于信息技术领域,涉及一种iGPS测量系统和CATIA软件数据通信的方法。
背景技术
在飞机大部件装配中,需要测量基准点以调整装配件的位置和姿态,而且需要满足很高的精度。室内测量定位系统iGPS是一种新型的三维数字化测量技术,具有量程空间大、整体测量、多任务、高效率的独特优点,很好地匹配了飞机数字化装配对于三维测量技术的需求。在国外先进的飞机制造技术中,iGPS测量技术已经成为数字化装配中最重要的技术手段之一,展现出广阔而又富有魅力的应用前景和价值。iGPS测量系统由激光发送器、接收器、接收中心和控制器组成。当一台iGPS系统安装在已校准的环境中时,它可以在一个新计量时段开始前轻易地启动。其接收器的探测针可以附在物件上也可以由使用者手握面向物件,一个单点检测只需要几秒钟就可以完成。矢量杆跟探测针连接,将获取的测量资料储存在一个坚固的手持控制器内,或以无线的方式传送给工作站。Metris公司的iGPS系统多供应航天、造船、汽车业等领域使用,Metris iGPS读取数据的软件是 Surveyor, Surveyor 软件提供了 SDK (Software Development Kit,软件开发工具包)供使用者实现自己需要的功能,其SDK支持Visual C++语言的二次开发,可以按照用户的需求实现不同的功能。我国航空企业大多数采用Dassault公司的CATIA软件实现航空产品的设计、建模、仿真等。CATIA软件提供了二次开发接口,可以通过两种方式与外部程序通信:进程内应用程序(In-process Application)方式和进程外应用程序(Out-Process Application)方式。进程内应用程序方式下,CATIA软件与脚本运行在同一进程地址空间,比如宏方式(Macro),这种方式比较简单,在CATIA环境中就可完成。进程外应用程序方式下,CATIA与外部应用程序在不同进程地址空间运行。在CATIA运行的情况下,外部进程可以通过接口驾驭CATIA,创建、修改CATIA环境和几何形体的数据、尺寸等,同时支持对象连接与嵌入(Object Linking and Enbedding, OLE)。基于 CAAV5 的 CATIA 的二次开发就是属于后者,其功能也比较强大。在实际用途中,将iGPS系统和CATIA软件结合使用中存在一些不足:(I) iGPS系统难以和三维模型结合现代航空企业的飞机产品模型基本上是在CATIA V5里实现建模和装配的,在实际装配过程中,需要观测实际装配件的变形,利用Surveyor读取的测量数据难以和三维数据模型结合,虽然Suveyor可以将数据传给SA (Spatial Analyzer)等支持三维模型的处理软件,但基于CATIA的数模必须转换为其允许的格式,如将CATIA零件的格式CATPart转换为igs格式,这样就增加了工作量,而且在数模转换的时候可能会丢失一些信息,不利于三维模型和实际测量数据的结合。
(2) CATIA软件与外界数据通信困难CATIA软件是基于Windows核心API编写的模块化程序,其三维造型、仿真、数控加工等能力很强,CATIA软件内部不同模块之间数据通信能力也很强,但外部程序和CATIA通信因为没有设置一个统一的接口,需要自行设计输入接口或者手工导入,这就造成了 CATIA软件与外界数据通信比较困难,如把iGPS的测量数据导入到CATIA中,或者提取CATIA软件中三维模型的信息等。(3) iGPS系统和飞机装配应用中缺乏通用方法现阶段,飞机大部件装配过程中,往往没有统一的软件装配平台,没有统一的数据传输方法,不同厂家的工作人员往往会从测量设备的数据读取软件里手动输入或者自动提取,不仅效率低而且缺乏通用性和可移植性。

发明内容
针对现有技术中存在的问题,本发明提出一种iGPS测量系统和CATIA软件数据通信的方法,本发明方法中提出了实时跟踪和单点测量跟踪的测量模式,将测量数据与三维实体模型结合,通过坐标转换将装配现场的实况反应在CATIA软件里,最终以文档的形式记录装配路线的曲线信息。本发明提出一种iGPS测量系统和CATIA软件数据通信的方法,包括以下几个步骤:第一步:加载product文件。利用CATIA 的函数库 CAA(Component Application Architecture)编写一个基于CATIA装配环境的模块,命名为VirtualAsseambly。进入VirtualAsseambly模块后,加载事先用CATIA装配环境编辑的虚拟装配件的product文件。第二步:在VirtualAssembly环境中建立虚拟全局坐标系。利用iGPS测量基准点来建立全局坐标系,基准点布置在装配车间内位置固定的地方。将建立的全局坐标系相对于iGPS系统坐标系的位置和转角传递给VirtualAssembly模块,在VirtualAssembly环境中建立对应实际装配现场的全局坐标系的虚拟全局坐标系,也就是装配环境坐标系,装配环境坐标系相对于iGPS系统坐标系的位置和转角等于全局坐标系相对于iGPS系统坐标系的位置和转角。第三步:初始化不同装配件的位姿。首先确定固定件,在固定件和装配件上分别设置基准点,测量基准点并获取固定件在全局坐标系中的位姿,位姿包括位置和角度,将获取的位姿数据传递给VirtualAssembly模块,更新虚拟装配件的位姿。第四步:判断是否是实时跟踪,若为实时跟踪,执行第五步,否则执行第十二步。第五步:获取第三步中设置的基准点相对于接收器坐标系的相对位置。可以利用iProbe单点测量,再经过坐标转换获取基准点相对于接收器坐标系的坐标,也可以借助其他精度较高的测量设备,例如激光跟踪仪和关节臂等测量设备,再将数据同一到全局坐标系下,进行坐标转换即可获得。第六步:向Surveyor发送实时数据流的请求命令。利用Surveyor提供的SDK开发一个介于Surveyor和CATIA之间的软件MySurveyor, VirtualAssembly模块发送实时数据流的请求命令给MySurveyor,MySurveyor根据请求数据内容,向Surveyor请求对应的数据。请求数据内容包括请求接收器的名称和请求数据的类型,请求数据的类型是指数据流数据或者是单点数据。第七步:建立数据流通道。MySurveyor在Surveyor和CATIA之间建立一个数据流通道,根据需要设置数据发送的频率。第八步:接收数据流并获取装配件设计坐标系在全局坐标系中的位姿。根据第三步设置好的基准点和iGPS接收器,Surveyor直接获得的数据是接收器组成的接收器坐标系的位置和转角,根据第五步确定好的相对位置获取基准点的实时坐标,根据多个基准点的位置信息和基准点相对于设计坐标系的理论值,可以利用最小二乘法拟合得到装配件设计坐标系在全局坐标系中的位姿。第九步:根据第八步的位姿更新CATIA软件中虚拟装配件的位姿。第十步:判断是否装配结束,若未结束返回第八步继续执行,若结束,转第十一步执行。第十一步:关闭数据通道记录装配路线,执行第二十步。第十二步:判断是否为单点测量,若是,执行第十三步,若不是则转第二十步执行。第十三步:布置好iProbe。iProbe是Metris iGPS系统的手持式接收器,其探针的位置相对于接收器坐标系的位置已知,因此在基准点处布置好iProbe后,根据测得接收器坐标系的位置和姿态就能够获得探针处基准点的位置。第十四步:通过中间软件MySurveyor向Surveyor请求单点数据,获取探针处基准点相对于全局坐标系的坐标。第十五步:判断所有基准点是否都测量完成,若是,执行第十六步,若否,转第十三步执行。第十六步:获取装配件的设计坐标系相对全局坐标系中的位姿。第十七步:根据所获取的位姿更新虚拟装配件的位姿。第十八步:判断是否装配完成,若未完成则返回第十三步执行,若完成则执行第十九步。第十九步:发送终止数据测量命令,并记录装配路线。第二十步:退出VirtualAssembly 模块。本发明的优点和积极效果在于:(I)本发明方法避免了 iGPS系统难以和三维模型结合以及CATIA软件与外界数据通信困难的问题,可将iGPS测量数据直接传递到CATIA V5环境里,实现实际装配件和数据模型结合,可实时观测装配过程中装配件的变形情况。(2)本发明方法利用CATIA的环境作为装配的虚拟平台,并能根据测量数据以及数据的在线处理控制,实现自动化控制。(3)本发明方法扩展了 CATIA的功能,同时为其他测量设备和CATIA软件间的数据
通信提出一种参考模式,具有一定的参考价值。


图1是本发明的iGPS测量系统和CATIA V5数据通信方法流程图;图2是中间软件MySurveyor实现的原理图;图3是中间软件MySurveyor实现实时数据流通信的流程图。
具体实施例方式下面将结合附图和实施例对本发明作进一步的详细说明。首先,说明一下本发明方法中涉及到的坐标系:全局坐标系:是指在实际装配现场建立的坐标系;装配环境坐标系:是指在VirtualAssembly环境中建立的对应实际装配现场的全局坐标系的虚拟全局坐标系;iGPS系统坐标系:是指iGPS系统坐标系;接收器坐标系:是指由iGPS的接收器组成的接收器坐标系;设计坐标系:是指在VirtualAssembly模块中设计待装配件的坐标系。本发明提出一种iGPS测量系统和CATIA软件数据通信的方法,如图1所示,包括以下几个步骤:第一步:加载product文件。利用CAA编写的VirtualAsseambly模块是基于CATIA装配环境的,其默认的功能等同于CATIA装配模块,因此可以直接加载product文件。product文件中保存着事先用CATIA装配环境编辑好约束关系的虚拟装配件,在后期的装配过程中将删除这些约束关系。启动 CATIA,进入 VirtualAsseambly 模块,加载 product 文件。由于 VirtualAsseambly 模块是基于CATIA装配环境,所以可以充分利用CATIA装配环境的功能。第二步:在VirtualAssembly环境中建立全局坐标系。利用iGPS测量基准点来建立全局坐标系,建立坐标系的方法有多种,有基于三点式、四点式等方法,这些基准点应布置在装配车间内位置固定的地方。建立全局坐标系后,将全局坐标系相对于iGPS系统坐标系的位置和转角传递给VirtualAssembly模块,在VirtualAssembly环境中建立对应的装配环境坐标系,使虚拟全局坐标系相对于iGPS系统坐标系的位置和转角,等于全局坐标系相对于iGPS系统坐标系的位置和转角。第三步:初始化不同装配件的位姿。第一步中加载的product文件是事先在CATIA装配环境建立的虚拟装配状态,首先确定固定件,在固定件和装配件上分别设置基准点,测量基准点并获得固定件在全局坐标系中的位姿,将位姿数据传递给VirtualAssembly模块,更新装配件三维模型的位姿。第四步:判断是否是实时跟踪,若为实时跟踪,则转第五步执行,否则转第十二步执行。第五步:获取第三步中设置的基准点相对于接收器坐标系的相对位置。可以利用iProbe单点测量,再经过坐标转换获取,也可以借助其他精度较高的测量设备,例如激光跟踪仪和关节臂等测量设备,再将数据同一到全局坐标系下,进行坐标转换即可获得。第六步:向Surveyor发送实时数据流的请求命令。
Surveyor提供了供用户二次开发SDK,利用SDK开发一个介于Surveyor和CATIA之间的软件MySurveyor。VirtualAssembly模块发送实时数据流请求给MySurveyor,MySurveyor根据请求数据内容,向Surveyor请求对应的数据。请求数据内容包括请求接收器的名称和请求数据的类型,请求数据的类型是指数据流数据或者是单点数据。第七步:建立数据流通道。MySurveyor判断出请求的数据类型是实时数据流,在Surveyor和CATIA之间建立一个数据流通道,并根据需要设置数据发送的频率。第八步:接收数据并计算位姿。根据第三步中设置好的基准点和iGPS的接收器,Surveyor直接获得的数据是接收器组成的接收器坐标系的位置和转角,根据第五步获取的相对位置可以获取基准点的实时坐标,根据多个基准点的位置信息和基准点相对于设计坐标系的理论值,可以利用最小二乘法拟合算出装配件设计坐标系在全局坐标系中的位姿。第九步:根据第八步获取的位姿更新VirtualAssembly环境中虚拟装配件的位姿。将VirtualAsseambly环境中的装配件设计坐标系相对于第二步建立的全局坐标系的位置和角度设置为第九步获取的位置和角度,这样虚拟装配件在VirtualAssembly环境中的位姿就能实时更新。VirtualAssembly模块是继承CATIA装配环境所有功能的,在装配过程中可以设定待装配件的设计坐标系相对于装配环境坐标系的位置和转角,这样就可以将待装配件定位在虚拟装配环境中。第十步:判断是否装配结束,若未结束返回第八步,若结束,转第i^一步。
`
第十一步:关闭数据通道记录装配路线,转第二十步。第十二步:判断是否为单点测量,若是则转第十三步,若不是则转第二十步。第十三步:在基准点处布置好iProbe。iProbe是Metris iGPS系统的手持式接收器,其探针的位置相对于接收器坐标系的位置已知,因此测得接收器坐标系的位置和姿态即可求得探针处基准点的位置,但由于它是通过手持定位的,所以不可避免有所抖动,测量的数据精度会受影响,所以测量之前一定要固定好iProbe的位置。第十四步:通过中间软件MySurveyor向Surveyor请求单点数据,获取探针处基准点相对于全局坐标系的坐标。当数据请求命令到达MySurveyor软件时,MySurveyor会为当前请求数据的客户端开辟一个单独的线程来处理数据请求,单点请求数据时,每一个点的获取都需要发送请求,由之前开辟的数据处理线程负责从Surveyor获取数据并发送给客户端。第十五步:判断基准点是否测量完成,若完成则转第十六步,若没完成则返回第
I ~- j_hi\ 二少ο第十六步:获取装配件的设计坐标系在全局坐标系中的位姿。单点测量跟踪时,需要完成多个基准点的测量后在确定装配件的设计坐标系在全局坐标系中的位置和角度,不同于动态数据流测量,可以实时获取多个点的数据,然后通过基准点的位置,和适当的算法求出装配件设计坐标系的位置和转角。第十七步:更新product文件中虚拟装配件的位姿。将VirtualAsseambly环境中的装配件设计坐标系相对于第二步建立的全局坐标系的位置和角度设置为第十六步获取的位置和角度,使得装配件的位姿能实时更新。第十八步:判断是否装配完成,若未完成则返回第十三步,若完成则转第十九步。第十九步:发送终止数据测量命令并记录装配路线。第二十步:退出VirtualAssembly 模块。中间软件MySurveyor的原理如图2所示。Surveyor程序SDK提供了很多数据读取的接口,包含在Surveyor程序内部,中间程序MySurveyor主线程从Surveyor中读取测量数据和消息通信,MySurveyor主线程同时创建一个等待数据请求的线程,当等待数据请求的线程收到数据请求命令时,为CATIA的客户端创建一个数据处理线程,由数据处理线程和CATIA客户端进行数据流通信。实现数据流通信主要分为以下几步,如图3所示:步骤I Jl^WtMySurveyor 软件。初始化服务端程序主要是MySurveyor从Surveyor获取一些iGPS的系统信息,包括发射器的个数,接收器的个数以及接收器的名称信息,为读取数据作准备。步骤2:判断Surveyor软件是否打开,若没有打开则提醒用户打开Surveyor程序并返回步骤I,若打开则转步骤3。

步骤3:读取配置文档。配置文档中记录有Surveyor软件中读取的数据单位和进行单位转换时用到的转换系数,以及MySurveyor软件需要的角度转换系数等。Surveyor软件中读取的数据是以英寸为单位的,转换成毫米单位需要乘以转换系数,同时MySurveyor还需要角度转换系数等参数,配置文档主要记录上述信息,这一步骤主要是读取配置文档里的这些参数,以用于数据处理。步骤4:判断是否有数据请求命令,若有执行步骤5,若没有则继续等待。

步骤5:创建新的数据处理线程来处理数据请求。步骤6:判断数据处理是否结束,若未结束则返回步骤4执行,若结束则执行步骤7。步骤7:记录日志文件并退出服务端。
权利要求
1.一种iGPS测量系统和CATIA软件数据通信的方法,其特征在于,包括如下步骤: 第一步:利用CATIA的函数库CAA编写基于CATIA装配环境的模块VirtualAsseambly,进入VirtualAsseambly模块,加载用CATIA装配环境编辑的虚拟装配件的product文件;第二步:利用iGPS测量基准点建立全局坐标系,基准点布置在装配车间内位置固定的地方,将建立的全局坐标系相对于iGPS系统坐标系的位置和转角传递给VirtualAssembly模块,在VirtualAssembly环境中建立对应实际装配现场的全局坐标系的装配环境坐标系,装配环境坐标系相对于iGPS系统坐标系的位置和转角,等于全局坐标系相对于iGPS系统坐标系的位置和转角; 第三步:确定固定件,在固定件和装配件上分别设置基准点,测量基准点并获取固定件在全局坐标系中的位姿,将获取的位姿数据传递给VirtualAssembly模块,更新VirtualAssembly环境中虚拟装配件的位姿; 第四步:判断是否是实时跟踪,若为实时跟踪,则执行第五步,否则执行第十二步; 第五步:获取第三步中设置的基准点相对于接收器坐标系的相对位置; 第六步:利用Surveyor提供的软件开发工具包SDK开发一个介于Surveyor和CATIA之间的软件MySurveyor, VirtualAssembly模块发送实时数据流的请求命令给MySurveyor,MySurveyor根据请求数据内容,向Surveyor请求对应的数据; 第七步:MySurveyor在Surveyor和CATIA之间建立一个数据流通道,根据需要设置数据发送的频率; 第八步:根据第三步设置好的基准点和iGPS接收器,Surveyor直接获得由接收器组成的接收器坐标系的位置和转角,根据第五步获得的相对位置获取基准点的位置,根据基准点的位置和基准点相对于设计坐标系的理论值,利用最小二乘法拟合获取装配件设计坐标系在全局坐标系中的位 置和角度; 第九步:根据所获取的位姿更新虚拟装配件的位姿; 第十步:判断是否装配结束,若未结束,执行第七步,若结束,执行第十一步; 第十一步:关闭数据通道,记录装配路线,执行第二十步; 第十二步:判断是否为单点测量,若是,执行第十三步,若不是,执行第二十步; 第十三步:在基准点处布置好Metris iGPS系统的手持式接收器iProbe,根据测得接收器坐标系的位置和姿态获得探针处基准点的位置; 第十四步:通过中间软件MySurveyor向Surveyor请求单点数据,获取探针处基准点相对于全局坐标系的坐标; 第十五步:判断所有基准点是否都测量完成,若完成,执行第十六步,否则,执行第十三I K少; 第十六步:获取装配件的设计坐标系相对全局坐标系中的位置; 第十七步:根据所获取的位姿更新虚拟装配件的位姿; 第十八步:判断是否装配完成,若未完成转第十三步执行,否则执行第十九步; 第十九步:发送终止数据测量命令,并记录装配路线; 第二十步:退出VirtualAssembly模块。
2.根据权利要求1所述的一种iGPS测量系统和CATIA软件数据通信的方法,其特征在于,所述的软件MySurveyor,其主线程从Surveyor中读取测量数据和消息通信,同时主线程创建一个等待数据请求的线程,当等待数据请求的线程收到数据请求命令时,MySurveyor为CATIA的客户端创建一个数据处理线程,由数据处理线程和CATIA客户端进行数据流通信,具体第七步中建立数据流通道,实现实时数据通信的步骤如下: 步骤I Jl^MtMySurveyor软件,MySurveyor从Surveyor获取iGPS的系统信息,包括发射器的个数、接收器的个数以及接收器的名称; 步骤2:判断Surveyor软件是否打开,若没有打开提醒用户打开Surveyor程序并返回步骤I,若打开执行步骤3 ; 步骤3:读取配置文档,配置文档中记录有:Surveyor软件中读取的数据单位以及单位转换时用到的转换系数,MySurveyor软件需要的角度转换系数; 步骤4:判断是否有数据请求命令,若有执行步骤5,否则继续等待; 步骤5:创建新的数据处理 线程来处理数据请求; 步骤6:判断数据处理是否结束,若未结束则返回步骤4执行,若结束则执行步骤7 ; 步骤7:记录日志文件并退出服务端。
全文摘要
本发明为一种iGPS测量系统和CATIA软件数据通信的方法,用CAA编写了基于CATIA装配模块的VirtualAsseambly模块,利用VirtualAsseambly加载虚拟装配件文件,开发了介于Surveyor和CATIA的中间软件MySurveyor,中间软件根据VirtualAssembly发送的请求数据内容,提供实时跟踪测量和单点测量,将测量数据与三维虚拟装配件的模型结合,通过坐标转换将装配现场的实况反应在CATIA软件里。本发明避免了iGPS系统难以和三维模型结合以及CATIA软件与外界数据通信困难的问题,可实时观测装配过程中装配件的移动情况,对飞机自动化装配有一定参考价值。
文档编号G06F17/50GK103116668SQ201310028808
公开日2013年5月22日 申请日期2013年1月25日 优先权日2013年1月25日
发明者闫光荣, 朱明浩, 孙涪龙, 范庆香 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1