硕士学位论文--大型刚体构件的自动测量安装系统及三维显示.doc_第1页
硕士学位论文--大型刚体构件的自动测量安装系统及三维显示.doc_第2页
硕士学位论文--大型刚体构件的自动测量安装系统及三维显示.doc_第3页
硕士学位论文--大型刚体构件的自动测量安装系统及三维显示.doc_第4页
硕士学位论文--大型刚体构件的自动测量安装系统及三维显示.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号 密 级 u d c 编 号 10486 武 汉 大 学 硕 士 学 位 论 文 大型刚体构件的自动测量安装系统 及三维显示 研 究 生 姓 名: 指导教师姓名、职称: 学 科、专 业 名 称: 大地测量学与测量工程 研 究 方 向: 工 程 测 量 二零零六年五月 thethe automaticautomatic measurementmeasurement andand installationinstallation systemsystem forfor large-scalelarge-scale rigidrigid bodybody componentcomponent andand 3d3d displaydisplay wuhanwuhan universityuniversity may,may, 20062006 i 郑郑 重重 声声 明明 本人的学位论文是在导师指导下独立撰写并完成的,学位论文没有剽窃、 抄袭、造假等违反学术道德、学术规范和侵权行为,本人愿意承担由此而产生 的法律后果和法律责任,特此郑重声明。 学位论文作者(签名): 年 月 日 i 摘摘 要要 本论文详细的介绍了大型刚体构件的自动测量安装系统的设计原理,全站 仪的自动测量和数据通过 geocom 数据通讯接口实现数据通讯,并利用 gprs 无 线数传终端的传输给计算机,计算机再对数据处理,并传给同步顶升系统的进 行移动的过程,最后,通过计算机通过 opengl 模拟显示刚体构件的移动过程。 本文重点是研究如何利用全站仪的自动测量和数据通过 geocom 数据通讯接 口利用 gprs 无线数传终端,实现数据自动传输和计算。数据通讯接口及数据通 讯是本系统的一个关键,geocom 数据通讯接口,是实现全站仪与 gprs 无线数 传终端和计算机实现通讯的一个重要接口,本文对 geocom 数据通讯接口的基本 原理、常用函数及一些关键技术作了详细介绍。另外本系统是采用 gprs 无线数 传终端实现数据的无线传输。 坐标转换是本系统的另一个重要内容,通过刚体独立坐标系和现场施工 设计坐标系之间的坐标,求出转换参数,根据转换参数再对其他点进行坐标 转换。通过坐标转换可以分别计算出刚体构件的实际位置各特征点的坐标和 设计位置上各个特征点坐标,两者位置相互比较,可知千斤顶贴片位置的位 移量和位移方向。另外本论文也对 opengl 下的刚体构件的三维重建进行了较 为详细的论述。 关键词关键词:全站仪;坐标转换;geocom;opengl ii abstract in this paper, the theory of designing the automatic measurement and installation system for large-scale rigid body component has been introduced in detail. the data is automatic measured by the total station and transported into the computer by the gprs wireless data transportation terminal through the geocom data communication interface, then, the data is processed and transmitted to synchronic rising system by the computer. finally, the moving procedure of the rigid body component is displayed by the computer simulation. this paper focuses on how to use automatic measurement by the total station and data transportation through geocom data communication interface by the gprs wireless data transportation terminal to complement the automatic transportation and computation of the data. data communication interface and data communication are the keys in the paper. geocom data communication interface is an important interface for the complementation of wireless data transportation terminal between total station and gprs and the communication on computer, the basic theory for geocom data communication interface, some usual functions and key techniques have been introduced. in additional, the system discussed herein uses the gprs wireless data transportation terminal to complete the wireless transportation of the data. coordinate conversion is another key in the system. the conversion parameters can be obtained by the coordinated conversion between the rigid body independent reference frame and local construction reference frame, then, the coordinate conversion of other points are based on the conversion parameters. by the coordinate conversion, the coordinates of the feature points on the actual position and designed position of the rigid component can be calculated respectively, and the quantity and orientation of the displacement for the jack platform location. there are some detailed discussions about 3d reconstruction for the rigid body using opengl in this paper. keykey wordswords:total station;coordinate conversion;geocom;opengl iii 目录目录 摘摘 要要.i abstractabstract.ii 目录目录 .iii 第一章第一章 绪论绪论1 1.1 大型刚体构件自动测量安装系统的工程背景.1 1.2 大型刚体构件目前安装采用的方法及发展现状.1 1.3 系统的工作流程.2 1.4 本课题的研究内容.3 1.5 论文的内容组织.4 第二章第二章 坐标转换的基本原理坐标转换的基本原理6 2.1 三维坐标转换误差方程.6 2.2 三维坐标转换的线性模型的基本原理及应用范围.7 2.3 三维坐标转换的非线性模型.9 2.4 总结.10 第三章第三章 geocomgeocom 基本原理及数据接口和通讯基本原理及数据接口和通讯.12 3.1 geocom 基本原理.12 3.2 geocom 的实现构架和基本函数.14 3.3 用 geocom 开发实现某一指定方向进行自动测量的函数示例19 3.4 geocom 所涉及的一些技术细节.21 第四章第四章 数据通讯及数据通讯及 gprsgprs 无线数传终端无线数传终端23 4.1 gsi 数据格式23 4.2 大型刚体构件的自动测量安装系统中的统一数据结构.25 4.3 大型刚体构件自动测量安装系统中的数据接口模块.27 4.4 gprs 无线数传终端概述28 iv 4.5 gprs 无线数传终端基本结构34 4.6 gprs 无线数传终端使用设置35 第五章第五章 顶升系统顶升系统38 5.1 顶升系统的选择.38 5.2 同步顶升系统的特点.38 5.3 系统的组成元件.39 5.4 系统同步位移的基本原理.41 第六章第六章 用用 openglopengl 实现三维重建实现三维重建43 6.1 opengl 概述.43 6.2 opengl 的工作结构.44 6.3 opengl 的工作过程.44 6.5 opengl 的图形操作步骤.46 6.6 opengl 的建模技术.49 6.7 opengl 的变换技术.49 6.8 几种基本三维几何变换原理 .51 第七章第七章 总结与展望总结与展望57 7.1 总结.57 7.2 未来工作及研究方向.57 参考文献参考文献59 攻读硕士学位期间参加的主要项目攻读硕士学位期间参加的主要项目61 致致 谢谢62 1 第一章第一章 绪论绪论 1.1 大型刚体构件自动测量安装系统的工程背景大型刚体构件自动测量安装系统的工程背景 随着经济的快速发展,我国的基础设施建设和工业建设也发展迅猛,而且 施工的方法也发生很大变化,其中一些大型工程和工厂设备工程的预制大型刚 体构件越来越多的出现,大型刚体构件的测量安装,也越来越多的在工程中应 用,目前大型刚体构件安装还停留在逐点测量、逐点移动、逐点逼近、反复移 动的阶段,它的自动化程度很低,精度也相对较低,安装的速度更是很难适应 工程项目的需要,所以,原有安装方法的精度和安装的速度也越来越不能满足 工程建设的需要,也阻碍了我国的经济建设的发展。因此,迫切需要一套能够 自动安装调试的测量安装系统并能够模拟现场的显示系统。也就是能够把刚体 构件看成一个整体,一次测量,自动计算,整体平移的自动化较高的测量安装 系统。因此,对大型刚体构件自动测量安装系统的研究有着重要的实践意义和 工程价值。 1.2 大型刚体构件目前安装采用的方法及发展现状大型刚体构件目前安装采用的方法及发展现状 1.2.1 大型刚体构件目前安装采用的方法大型刚体构件目前安装采用的方法 对于大型刚体构件的安装,传统的方法是将大型构件的各个安装对中点逐 点测量,逐点纠正。在逐点测量逐点纠正过程中,每一点的纠正位移总会带动 其他点的位置的变化,所以需要反复测量反复纠正,经过许多次移动之后,才 能逐步逼近刚体构件预定的位置,而且其安装精度也很难满足精度要求。因为 测量是针对某一个对中点进行的,而且目前在工程中应用的千斤顶动力系统, 也几乎都是相互独立的,不是同时进行工作的,位移的距离很难控制,精度也 没有保障。每一次测量完以后,还要另外输入到计算机计算出对中点的偏差, 然后再控制动力系统进行逐点调试。这种方法效率很低、精度不高、安装速度 也相对较慢,因此,迫切需要一套能够自动安装调试的测量系统并能够模拟现 场的显示系统。就是把刚体构件看成一个整体,对其控制点一次测量,求出所 2 有对中点和各个千斤顶的贴片位置的位移量和位移方向。然后,动力系统可以 根据每一个千斤顶贴片位置的位移量和位移方向,同时进行移动。通过全站仪 的不断跟踪测量,可以很快而又准确的移至设计位置。这是工程建设的需要, 更重要的是它的自动化程度高,安装的速度快,精度也相对较高。 1.2.2 目前发展及现状目前发展及现状 随着全站仪的不断更新换代,其测量精度和自动化程度的不断提高,利用 全站仪可以很容易的快速获取大型刚体构件的一些控制点的三维坐标,也可以 通过一些嵌入式的程序和数据终端实时实现与计算机的实时通讯,也可以用计 算机来控制全站仪进行自动测量,并把测量结果自动的传输给计算机,计算机 再加以数据处理。比如tca2003就是一种高精度高性能的全站仪,它也是非常适 合于用来监测测量的全站仪。 gprs无线数传终端的应用,特别是通用分组无线业务的出现,也为我们能 在野外恶劣环境下,即使全站仪离我们再远,我们都可以自动的实现全站仪测 量数据和计算机系统之间自由无线通讯提供保障。它只需要gsm网络有通讯信号 的地方就可以实现数据传输,因此,它为大型刚体构件的自动测量安装系统提 供了数据传输的保障。 美国实用动力集团开发出的同步顶升系统,也为我们开发大型刚体构件的 自动测量安装系统,提供了动力支持,使得在一定的范围内,它可以同步移动 一步到位,实现了整体同步移动。所以我们可以利用这些已经有的一些资源, 通过开发一些程序和接口,实现数据自由传输与计算,从而建立一个自动控制 的测量安装系统。 另外,我们在计算机上用opengl软件包设计开发出一套模拟显示系统,实 现每一种刚体构件简单的三维重建,能够模拟显示出刚体构件的现场实时位置 和设计位置,不用在现场就可以了解刚体构件的移动信息,特别是可以很直观 的了解和查询到在现场也很难直接观察到的信息。 3 1.3.系统的工作流程系统的工作流程 首先,通过对大型刚体构件上的控制点、对中点、千斤顶的贴片点位置和 刚体构件的特征点进行测量,建立刚体坐标系,其坐标系可以是任一独立坐标 系,也可以直接用刚体的设计坐标系,可以利用刚体的几何中心,充分利用刚 体构件的几何尺寸,来建立刚体构件的坐标系统。 测量初始位置时,通过设站好的tca2003全站仪,对大型刚体构件上的固定 的控制点进行观测,获取各个控制点的位置坐标,以便实现以后的自动观测和 坐标转换,通过gprs无线业务,把测量数据直接传递给计算机进行数据处理, 计算机通过计算处理,可以得出刚体构件的控制点目前位置的坐标,然后计算 机再利用刚体构件的独立坐标系中控制点的坐标,计算出刚体构件的坐标转换 参数,并用编好的坐标转换软件对其余各点进行坐标转换,可以计算出刚体构 件上各个点的目前实际位置坐标。 同样,也可以利用对中点的设计坐标和独立坐标系坐标,计算出另外一组 转换参数,通过坐标转换,可以求出刚体构件上每一个点的设计位置的坐标, 计算机通过对千斤顶贴片位置点的两次求得的坐标相比较,就可以得出千斤顶 的贴片位置的移动距离和方向。 计算机再把各个千斤顶的贴片位置的移动距离和方向传输给同步顶升系统, 驱动千斤顶同步顶升系统进行首次同步移动。移动结束后,再由计算机通过 gprs发回的指令驱动tca2003全站仪,再次自动对刚体构件的控制点进行自动跟 踪观测,并再通过gprs无线数传终端,把数据传回到计算机,计算机通过数据 处理,再次得到刚体构件的最新位置,同样,计算机把计算出刚体构件的贴片 的最新位置,再次计算转换参数并进行坐标转换,也同时可以得出千斤顶位移 和方向,然后可以再次再传给千斤顶同步顶升系统自动的移动。 通过反复的跟踪测量,直到测得的刚体构件的最新位置坐标和设计位置坐 标比较,满足设计要求,就实现刚体构件的自动安装与调试。另外,计算机还 可以根据事先利用opengl开发三维重建应用系统。根据实时测量的刚体构件的 最新位置坐标,模拟现场的移动,实时的查看到刚体构件的状态和位置,使得 更加直观的了解现场信息和便于查看对中偏差。 4 1.4 本课题的研究内容本课题的研究内容 本论文首先对坐标转换程序的编写原理及转换方法进行了研究和探讨,从 而提出了精度较高的计算坐标转换参数的方法,即三维非线性模型。再编写通 过计算出的转换参数计算三维坐标转换程序。 本文另一个研究内容也是重点内容,就是系统各个部分之间的数据传输及 通讯。这其中最为关键的就是全站仪和计算机的数据传输与通讯,论文中是针 对徕卡全站仪的 geocom 平台下开发的一套数据传输软件,而又通过 gprs 数据终端实现数据通讯。文中对数据传输格式及调用的函数都进行了较为详细 的介绍。 最后本文还对利用 opengl 平台开发刚体构件的三维模拟显示进行了较为 详细的描述,并实现了简单的刚体构件的三维模拟显示和查询相关信息。对于 现场难以查看和测量的信息,通过三维模拟显示可以直观的查看和查询。 1.5 论文的内容组织论文的内容组织 本论文按章节分别对大型刚体构件自动测量安装系统的各个组成部分进行 了分别阐述,包括一些基本原理和一些设计的方法及技术,而又有重点的对系 统的通讯接口及数据通讯和三维显示进行了较为详细的阐述。 第一章绪论 对大型刚体构件自动测量安装系统的背景、意义、发展现状 和研究内容作了概要性阐述。并简要的介绍大型刚体构件自动测量安装系统的 组成和运行过程。 第二章三维坐标转换的基本原理 本章较为详细的介绍了三维坐标转换的 基本原理,并分别说明了线性模型和非线性模型的基本原理,并对两种方法进 行了分析和比较。 第三章 geocom 通讯接口 本章对 geocom 通讯接口的基本原理和通讯端口 设计的一些方法及关键技术进行了详细阐述,并对数据的通讯方式和格式进行 了详细的描述。 第四章 数据通讯及 gprs 无线数传终端 本章对数据通讯的格式进行了详 细阐述,并以 wyt1100 为例,详细介绍了 gprs 无线数传终端的工作原理和通讯 5 设置。 第五章 同步升降系统 本章介绍了美国实用动力生产的同步升降系统的基 本构成,各个部件的功能及工作方式,以及和本系统联合作业的数据传输和通 讯设置。 第六章大型刚体构件自动测量安装系统三维显示 本章介绍了通过 opengl 开发的三维模拟显示,实时动态的模拟现场,对 opengl 的基本原理和设计方法 进行了详细阐述。 6 第二章第二章 坐标转换的基本原理坐标转换的基本原理 2.1 三维坐标转换误差方程三维坐标转换误差方程 对于两个三维空间直角坐标系 o1-x1y1z1和 o2-x1y1z1,要实现空间直角坐标 系从 o1-x1y1z1到 o2- x2y2z2,首先通过坐标原点平移,使的原点从 o1坐标平移 (,)到 o2。 0 x 0 y 0 z 然后,再对于同原点的两个三维空间直角坐标系 o-x1y1z1和 o-x2y2z2,通 过三次旋转,可实现 o-x1y1z1到 o-x2y2z2的变换。如下图: 三次旋转矩阵分别为: 100 0cossin 0sincos )( 3zz zz z r 1 cos0sin ()010 sin0cos yy y yy r 2 100 ()0cossin 0sincos xxx xx r 7 则: 所以: 得: 所以: 式中, x y z ts表示原坐标系统下的坐标; x y ztt表示目标坐标系统 下的坐标 。 2.2 三维坐标转换的线性模型的基本原理及应用范围三维坐标转换的线性模型的基本原理及应用范围 2.2.1 三维坐标转换的线性模型的基本原理三维坐标转换的线性模型的基本原理 以空间右手直角坐标系为例,三维坐标转换模型为: (1) 式中, x y z ts表示原坐标系统下的坐标; x y ztt表示目标坐标 系统下的坐标;x y zt 为平移因子; m 为尺度因子; r 为坐标旋转 矩阵。平移因子x y z t 和尺度缩放因子与坐标之间为线性关系,因此,只 需考虑坐标旋转因子的线性化问题。 首先将坐标绕 z 轴旋转 ,得旋转矩阵 r1;再将坐标轴绕新的 y 轴旋转 (1)(1) t s xxx ymym r y zz z 123 ( )()()() xyz rrrr 0 0 0 1 1 1 2 2 2 )()1 ( z y x z y x rm z y x 2 2 2 22 22 22 x y sz v xx vyy zz v t cossinsinsincoscoscossinsinsinsincos ( )coscoscossinsin sinsincossinsinsincoscossinsincoscos xzxyzxzxyzxy yzyzy xzxyzxzxyzxy r 8 ,得旋转矩阵 r2;最后将坐标轴绕新 x 轴旋转 ,得旋转矩阵 r3 ,将以上 3 次旋转合并,则有: (2) 为了将模型线性化,将r 用麦克劳林级数展开,取0 = 0 = 0 = 0 , 则 =-0 =;=-0 =; = - 0 = ,则: (3) 将式(3) 代入式(1) ,得: (4) 式中, k = 1 + m , xyzt = (1 +m) xyzt。即将式(1) 化成了线性形式。式(4) 可简写为: xt = bx (5) 利用3个或3个以上公共点即可解算出7 个转换参数。 2.2.2 三维坐标转换的线性模型的应用范围三维坐标转换的线性模型的应用范围 上述线性模型依据的是微分相似变换原理,只有当旋转角(,) 为微 小量时,才能对旋转角参数作线性近似处理。若旋转角(,) 较大,采用线 性模型时,会引起较大的模型误差,使得解算的平移、旋转、尺度参数均严重偏 离其真值,以致无法使用该模型解算;且从式(5) 可看出,线性模型的模型误差不 0 1 1 1 rrr 1000 0100 0010 t x y xyzxz yxzy zyxz k cossinsinsincoscoscossinsinsinsincos coscoscossinsin sinsincossinsinsincoscossinsincoscos xzxyzxzxyzxy yzyzy xzxyzxzxyzxy r 9 但和旋转角有关,而且随公共点间的平均距离成比例增大。 2.3 三维坐标转换的非线性模型三维坐标转换的非线性模型 2.3.1 非线性模型的基本原理非线性模型的基本原理 非线性平差模型为: l = b ( x) + (6) e() = 0 将非线性函数在近似值处展开得: b ( x) = b ( x0) + bx + c (7) 式中, x = x0 + x ; c 为二阶及二阶以上余项。 若不考虑余项,则线性最小二乘估计为: (8) 现将模型误差c 视为误差方程常数项误差, 将式(7) 代入式(6) 得误差方 程为: (9) 式(9) 的最小二乘估计为: (10) 2.3.2 非线性模型非线性模型 将式(1) 简写为: xt = (1 + m)x + (1 + m) rxs (11) vbxl 0 llbx 1 () ttt xx xb pbb plq b pl ()vbxll lc _t xx xxq b p l 10 则模型的线性化误差为: l = - (1 + m) ( rq - rx) xs (12) 式中, rq表示旋转矩阵的原值, 见式(2) ; rx表示线性化的旋转矩阵,见 式(3) 。由式(5) 得三维坐标转换的误差方程为: 考虑模型误差l ,按式(10) 解为: (13) 式中, , p 为xt 的权阵。 1 () s t x qb pb 求解时, 可先求出 ( 即坐标转换的线性解) ,由求得的旋转角近似值x 代入式(12) 求出l ,再由式(13) 求 ,经过迭代运算,直到前后两次结果差x 小于某一微小量为止。经验算, 式(13) 收敛非常快, 并且趋近其真值,无跳跃。 所以,可以看出: 1) 当旋转角较大时,三维坐标转换的线性模型存在较大的模型误差,无法适 用。 2) 上文给出的三维坐标非线性转换模型是将非线性模型线性化产生的误差 作为函数模型的模型误差处理,算法简单而有效。 3)采用传统线性模型进行三维坐标转换时,要求旋转角为微小角(秒级) ,而 采用本文所提出的非线性模型,只要求3个旋转角均在50内,算法收敛,即可求 解。 2.4 总结总结 在求解参数的过程中,当旋转角度较小时,目前大家常用采用的方法是线 性模型,又叫布尔萨沃尔夫(bursawolf)模型法,但是采用布尔萨沃尔 夫(bursawolf)模型是采用近似计算,它仅仅适用与两种坐标系旋转角度很 小的转换。因为在本论文中,虽然大型刚体构件的刚体坐标系与设计坐标系之 间的旋转角度是一个不确定的角度,选择坐标系是已经做了考虑,所以一般不 t xt vbxx s sss ttt xtxxx xqb p xqb p lxqb p l 11 会太大,但考虑到安装精度要求,我们计算的旋转角全部采用非线性模型,采 用迭代计算的方法,首先计算出平移量、旋转角度和尺度因子,再进行坐标转 换,这样,可能使我们的转换精度大大提高。 另外,在 opengl 三维重建时,每次重新测量的数据也采用非线性模型进行 坐标转换计算,求出刚体构件的每一个特征点的坐标,再进行三维建模。 12 第三章第三章 geocom 基本原理及数据接口和基本原理及数据接口和 通讯通讯 3.1geocom 基本原理基本原理 geocom 开发环境,更确切的说是一种应用开发接口,这一点也可以从它的 英文含义中看出(地理数据通讯接口)。它是徕卡公司为用户开发提供的另一种 形式的支持。该函数包内封装了用户与徕卡全站仪进行通讯交互时调用仪器上 的子系统所需的客户端调用接口,例如控制全站仪动作、计算地理数据等,这 些接口也类似全站仪上的各个功能模块一样,被组织成一个个子系统的形式封 装在 geocom.dll(或 geocom32.dll,这两者的差别仅在于支持的操作系统的位 数,早在 dos 和 window3.1时就有 geocom.dll 了)和 visual basic 代码模块 中。而在仪器一端则是相应的这些子系统的底层实现,具体实施细节用户无法 也无需了解,这也是提供 geocom 客户端函数包的意义所在,用户既无须了解具 体的实施细节而又可以在这些现有的功能基础上开发合乎自己需要的高级功能。 其各个子系统的功能定义为: 1、aut 即自动化,主司自动化控制,例如目标自动照准、倒镜观测、望 远镜方向定位。 2、bap 即基本应用,例如获取测量数据的函数等。 3、bmm 即基本人机交互,主控基本的输入/输出功能,像发出报警声。 4、comf 通讯模块,处理基本通讯参数的设置与获取。 5、com 通讯模块,主要是与通讯密切相关的函数,他们既可以是与仪器 一方操作有关,也可以是与 pc 机一端的操作有关。 6、csv 即中心(基本)服务,该模块主要是获取或设置有关 tps (terrestrial positioning system 即徕卡的全站仪系列)的仪器信息。 7、ctl 即控制任务的意思,主司系统的控制任务,如开关次数计数器等。 8、edm 即电子测距仪,主司测距功能。 13 9、mot 马达驱动模块,负责控制仪器的动作和移动的速度. 10、sup 即监测者的意思,负责获取或设置像仪器最低温度之类的监测参 数。 11、tmc 经纬仪测量和计算功能,该模块最大,功能也最齐全,主要负责 获取测量数据的核心任务. 12、wir wi 登记模块,主要用来设置 gsi 的记录格式。 geocom.dll (或 geocom32.dll)作为接口的意义在于,它是在 pc 机客户端 调用这些在仪器上已有的子系统的一个入口,而通过该接口发出的请求还需要 在仪器一端的 geocom 服务器进行调度并将这些请求转交给相应的子系统处理, 处理后的结果或获取的数据再沿同样的路径返回给客户端,这一过程是按照美 国 sun 公司的 rpc (remote procedure call)技术标准来开发的。下图很好的 说明了这一通讯过程的框架和原理. 了解了 geocom.dll 的本质后,对于熟悉计算机编程的技术人员来说,接下 来的工作就是在一个选定的编程环境中,调用这些 geocom 的功能函数来完成你 想要全站仪完成的工作,不过首先你要确定将 geocom.dll 拷贝到系统的目录下, 并将 com-pub.hpp 文件包含在用户的代码头文件中。另外,也是最关键的一点, 14 用户可以在这个完全由用户自己设计开发的系统中设计完成其他自定义的功能, 而 geocom.dll 所提供的只不过是在系统中操作全站仪的手段而已。 3.2geocom 的实现构架和基本函数的实现构架和基本函数 上一节中谈到了封装 geocom 的另一种形式,即 visual basic 或 visual c 代码模块,它的功能与 geocom.dll 完全相同,只是针对 vb 或 vc 环境开发的一 个解决方案,通常在 vb (visual basic)环境中使用,而 geocom.dll 也适合于 以 c/c+语言为开发工具的开发环境。 vb 代码模块在使用上也基本与 geocom.dll 相同,不同的是 geocom.dll 通 过在 c/c 什程序包含 geocom 的函数说明头文件来调用 geocom 函数,而在 vb 的 project 中使用 geocom 更简单,只要将 vb 代码模块添加入工程中,就可以 在整个工程中调用 geocom 的函数了。 不过,这两种实现方式就技术路线上来说是相同的,都是通过函数调用协 议 (function call protocol)来实现与仪器服务端的接口。另一条技术路线也 是我们在传统的全站仪通讯中常用的方式,即发送与接收 ascii 字符串方式 (asciiprotocol)。 徕卡全站仪的命令字符串格式为: 发送串:lf%r1q,:, 初始化换行符清空缓冲区。 %riq geocom 的 i 类请求标志。 远程过程调用号,从0到65535。 可选的事务 id 号,一般从1到7,与接收串中的事务 id 相同。 :字串头与参数的分割符。 , 参数 i,参数2 字串终止符(默认为 cr/lf)可通过 com setterminator 来设定。 接收串:r1p,:, %rip geocom 的1类应答标志。 geocom 返回码,如果为0则表示命令执行成功,否则为出 15 错。(具体参考 geocom reference manual) 可选的事务 id 号,一般从 i 到7。 :字串头与参数的分割符 远程过程调用返回码,如果为0则表示命令执行成功,否 则为出错。(具体参考 geocom reference manual) ,. 参数 i,参数2, 字串终止符(默认为 cr/lf)可通过 com 一 setterminator 下面是几个常用的命令的函数调用形式和字符串调用形式,首先先来看一 看定义的几种重要数据结构; typedef enum /通讯串口定义 /use for pc-geocom only com 1 , / comi com 2 , / com2 com 3 , / com3: windows only com 4, / com4: windows only com port; typedef enum /数据传输率定义 / com baud 38400 , /38400 bps com baud 19200 , /19200 bps com baud 9600 , /9600 bps com baud 4800 , /4800 bps com baud 2400, /2400 bps com baud rate; enum aut posmode aut normal, aut precise; /目标照准模式 enum aut atrmode au position, au targetl; /自动目标识别模式 typedef enum 16 /* 测距模式*/ tmc stop = 0, /*测距停止*/ tmc def dist = 1, /*默认测距模式*/ tmc trk_dist = 2, /*跟踪测距模式*/ tmc clear = 3, /*清空测距值*/ tmc signal = 4, /*光电信号测量模式*/ tmc rtrk dist = 8, /*快速跟踪测距模式*/ tmc measure_prg; typedef enum /*倾斜补偿模式*/ tmc mea inc 0, /*传感器补偿模式*/ tmc auto inc 1, /*自动补偿模式*/ tmc plane inc 2, /*计算补偿模式*/ tmc incline prg; typedef struct double dhz; /*水平角*/ double dv, /*垂直角*/ tmc hz ves ang; enum boole /布尔类型 false, true ; 1、初始化 geocom: c/c+语言定义: com init(void) vb 中的定义: vb com init() ascii 的请求串: 无 ascii 的应答串: 无 2、退出 geocom: c/c 什语言定义: vb 中的定义:vbwe comes endo ascii 的请求串:无 17 ascii 的应答串:无 3、打开/关闭通讯串口: c/c+语言定义: com openconnection(com port eport,com baud rate case 8704: / aut 功能超时 hrc=aut_readtimeout(timeoutpar); /获得 aut 的超时参数 timeoutpar.adpostimeou0= min(timeoutpar.adpostimeout0+=5,60); timeoutpar.adpostimeout1= min(timeoutpar.adposrimeout1+=5,60); hrc=aut_settimeout(timeoutpar); break; case 8714: /若 atr 功能没有打开 hrc=aut getatrstatus(onoff); if (onoff=off) onoff=on; /打开 atr 功能 hrc=aut setatrstatus(onoft); break; default: repeat=false; viewerror(rc); /显示出错信息并做日志记录 bapplaborted=true; /放弃,停止测量 break; hrc=com settimeout(noidcomtimeout); /恢复原先参数设置 repeattrue; while (rc!=rc ok 11 repeat) 21 rc=tmc_domeasure(tmc_def dist,tmc auto inc); rc=tmc getsimplemea(3000,angle,dist,tmc auto_inc); switch (rc) /返回码处理 case rc ok: repeat=false; break; 其他出错情况处理 default: bmm b beepalarm(); /发出报普声 repeat=false; viewerror(rc); bapplaborted=true; break; 从上面的代码可以看出利用 geocom 函数来实现客户端控制仪器的操作非常 简单易行,可满足用户的广泛需要。问题是,使用者要想用 geocom 开发特殊的, 功能更强大的系统时,对 geocom 中的一些技术细节也要有一定的了解。 3.4geocom 所涉及的一些技术细节所涉及的一些技术细节 1、 tmc incline prg 各模式的含义 1)tmc mea inc 0, /*传感器补偿模式*/ 这是一种显式的,通过精密测量倾斜传感器的值来进行补偿的一种模 式,其特点是补偿精度高,但为此付出的是测量所需的时间大大增加。因 此,该模式适合于对精度要求高,对测量速度要求比较低的场合。 2) tmc plane inc = 2, /*计算补偿模式*/ 22 计算补偿模式,顾名思义是通过计算的方式来获取补偿信息的,因而 大大提高了测量的速度,但因为是计算得出的补偿值,实时性较 tmc mea inc 差一些,所以要保证精度,设站点必须要非常的稳定。 3) tmc auto inc = 1, /*自动补偿模式*/ 这是上两种模式的一个结合点,即让仪器自己来判断何时用传感器补 偿模式,何时又该用计算补偿模式,将难题留给仪器自己去解决,方便了 用户的使用,因此,该模式也是徕卡公司推荐使用的补偿模式。 2、tmc measurep rg 各模式的用途 1) tmc stop 0, /*测距停止*/ 该参数实时的停止测距操作。 2) tmc def dist 1, /*默认测距模式*/ 使用仪器上设定的默认测距模式 3) tmc trk dist 2, /*跟踪测距模式*/ 该模式主要配合徕卡全站仪的跟踪测距功能的一种模式,该模式下目 标可以以一定的速度移动,仪器会自动锁定目标并以一定的时间间隔进行 测量操作. 4) tmc clear 3, /*清空测距值*/ 该参数主要用来清空仪器上的数据池(类似于计算机上的缓冲区) 5) tmc signal 4, /*光电信号测量模式*/ 该参数主要用来进行一种叫激光信号强度的测量。 6) tmc rtrk dist 8, /*快速跟踪测距模式*/ 与3)类似,不过测量的速度更快,相应精度低一些。 3、wait(时间(微秒)的用途 这是一个实践中的实际问题,如果在表1-2-1则实际运行中会出指令解析错 误的代码中没有 wait(3500),问题关键就在于 aut makepositioning(hzangle,vangle,aut precise,aut targe,tfalse)需要一个 较长执行的时间,因为精密照准还需要考虑双轴补偿的因素,而此时间与普通 函数或代码执行的时间相差几个量级,仪器的内部代码解析机构无法正常运行 而产生错误.wait(3500)的作用是让代码执行到此停顿一下,解决了因代码执行 速度不匹配所造成的代码解析冲突。 23 4、用 geocom 的 ascii 协议可以开发使用更加灵活、功能更加强大的通讯数据 接口模块。 第四章第四章 数据通讯及数据通讯及 gprs 无线数传终端无线数传终端 数据接口和数据通讯顾名思义就是在各模块颐组件之间进行数据交换的一 种中介。广义的数据接口既应包括实现不同格式之间数据进行交换的模块程序, 还应包括实现数据交换的统一文件格式和数据结构。本节大型刚体构件测量系 统数据接口作一个分类介绍。 4.1gsi 数据格式数据格式 徕卡全站仪及其相配套的软件都支持一种统一的 gsi 文件格式,它是串行 地理数据接口(geoserial interface)的英文缩写。这种格式将我们测量领域用 到的各种数据,诸如点号、水平角、竖直角、斜距、平距、测站东、北、高程 坐标、目标东、北、高程坐标、测量时间(可以到毫秒)、测量日期、ppm (包含 干湿、温度和气压)等,分门别类的加以细化并标识以相应的统一代码,然后用 统一的字符串段,如16位的 gsi-8和24位的 gsi-16 (8和16指的是数据位),将 这些数据表示出来。这样做的好处是可以灵活的控制 gsi 文件中单记录项(即通 常的一个数据行)中数据项的个数,并可采用灵活的组合来表示更丰富的含义。 例如,一条测站的记录可以用下面的数据项根据需要组合来表示: 点名测站北坐标测站东坐标测站高程坐标仪器高ppm 而对于一个刚体控制点的测量数据则只需: 点名十水平角十竖直角十斜距十测量时间十测量日期 就足够了,而这些长短不一的数据记录可以保存在同一个 gsi 文件中管理。 通常一个 gsi 文件数据项是这样几部分构成的: 24 每一个数据行称一个测量块,块中每个数据项称一个字,测量块的标准结 束符是 cr/lf(回车/换行)。 字的结构中各位的含义下表:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论