【VB开源代码栏目提醒】:网学会员在VB开源代码频道为大家收集整理了“TCA2003全站仪应用程序的三种开发途径 - 会议论文“提供大家参考,希望对大家有所帮助!
2003年全国测绘仪器综合学术年会
论文集 TCA2003全站仪应用程序的三种开发途径 范百兴夏治国 解放军信息工程丈学海绘学院,河南郑州,450052 摘要今站仪的_二次开发对于扩展和完善全站仪的功能、提高工作效率和测量自动化具有重要意义.本文论述, 对TCA2003测量机器人进行应用程序二次开发的三种不同开发工具.井比较了相互之间的优缺点。
关键词测量机器人,GeoBasic,GeoCOM,GSI,OSW 1.引 言 TCA2003是徕管测量系统公司推出的马达驱动、自动跟踪型全站仪,是高精度测距仪(1mm+lppm),绝对编码度盘电子经纬仪(±0.5”)和大容量计算机技术的结合.采用50MHz高频测尺,具有伺服马达驱动、自动目标识别和锁定跟踪等先进功能。
被称为测量机器人,在高精度的测量工程中有着』“泛地应用。
TCA2003采用的是“开放测量世界(Open Survey、Ⅳ0dd,OSW)”思想,即用统一的数据载体、数据接口和数据格式将各种各样的测量方法和数据处理系统联接起来,在统一的基础上,达到仪器间的数据共享,从而提高内、外业工作效率,适应于测量技术的不断发展。
同时徕卡公司还提供了丰富的开发J:具喇r对TI掣L2003进行二次开发,使测量人员既是仪器的操作者又是仪器的开发者。
2.GeoBas C机载程序的开发 GeoBasic是Leiea公司推出的用于TPS系列全站仪机载麻H|程序开发的编程语言,其基本语法介于BASIc和VB之间,采用UNICODE编码体系和MM/技术,使用户界面从应用程序中宠全分离出来,实现了可定制显示。
除基本的语法外.GeoBasic还提供了用丁文件管理和数据通信的函数,分为系统函数和标准函数两类。
系统函数根据功能的不同分为以下5种: MMI…一人机界面函数.主要用于创建菜单、对话框、输出信息等: BAP…….基本应川函数。
用于设置棱镜常数、测量角度距离及获取测量模式等; TMC….经纬仪测量和计算函数,用于测量模式设置、测罐观测量、仪器补偿状态等: GSI…一-主要I}j r文件管理,通常调用系统的一个对话框以完成某项操作或设置; CSV-一一中心服务函数,主要设置,获取TPS仪器的系统信息。
标准函数中,除了字符处理和数学计算函数外,还提供了测域专用的GM(Geodesy Mathematics,人地测簟数学计算函数)函数.主要是处理测量中特有的计算闷题,如计算方位角、坐标转换等。
利用GM函数编写机载程序,可以在野外实时地、方便地利Hj全站仪进行复杂测量计算,把全站仪变成测簧专州“计算器”。
GeoBasic一般不区分字符人小写,但在全局子函数名中则严格区分字符人小写.源
代码编写环境十分宽松和简单,可在文本编辑器中编写。
GeoBasic源
代码编写规则类似DOS环境F的QBasic,,f=引入了结构化概念。
应_l{j稃序的编写和调试要遵循以下步骤: 5) 在GBStudio域文本中编写程序源
代码,编写完成后依据版本的不同,采用GBxxx(DOS编译 环境.XXX为版本号)编译器进行编译,直至编译成功; 6)确保计算机和TCA2003的串口连接和通讯参数设置止确; 7) 关闭TCA2003.打开Leica Survey Office软件.即可按照软件的提示将程序上载到全站仪。
在程序上载过程中,不能因为计算机或全站仪断电或电压不足导致上载中断,或者通讯电缆中 断等破坏性事件导致通讯中断,这将导致全站仪的致命损害: 8) 在全站仪上运行程序,发现错误后在计算机中修改程序源
代码,然后再上载到全站仪试运行, 2003年全国测绘仪器综台学术年会
论文集 重复此过程直Ir实现程序最初
设计目标。
为了便于用户调试GeoBasie程序,徕}公司提供了TPSl000模拟器。
用户将程序编译成功后。
关 闭模拟器,将编译生成的*.gba文件上载到模拟器上进行调试,其余步骤和上述步骤相同。
但模拟器不 能执行ATR等全站仪行为功能,应先将此类指令屏蔽掉。
GeoBasic程序编译过程可以用下图表示: 包含文件 <+.gbi) _口J执行程序(+.gba) 丁PSl000 模拟器 语言文件(4Ing) 源文件 GBC.220 r.gbs) 编译器 调试信息(·gbd) TCA2003 膻用信息(。
.app) 全站仪 图1GeoBasic编译过程 但全站仪毕竟不是计算机,机载软件的开发必须考虑全站仪自身的特点,做好对程序流程的控制, 在开发过程中应考虑以卜儿个方面: 4)机载软件应尽可能简短,减少所^用的内存空间。
由丁I全站仪的内存容量常小丁.2MB, GeoBasic开发平台在计算机仿真环境卜能运行的
代码文件(+.gba)不能超过64kB; 51操作界面要符合用户的习惯,具有简明、易操作等优点。
这是由r全站仪的操作厩板的信息显 示量有限所决定的。
6) 专业化、智能化是机载应用
软件开发的主要目的。
结合专业测量的特点,按测量方法、步骤设 计
程序,使测量数据采集和管理变得方便,并使程序具有观测、记录、计算及检核等功能,及时发 现并改正错误: n全站仪的运算能力和存储容量有限,并且对变量的定义是静态的,即给每个变量分配固定内存 空间,不释放。
因此对数组的元素个数、字符串的和程序
代码的K度都有严格的限制.可在计 算机上编写后续软件对数据进行处理。
3.GeoCOM在线程序开发 GeoCOM(地理数据通讯接口)是基于SUN微系统公司的远程调用协议(RPc)而建立的,它属 于点对点通信协议,通信时由客户(外部设备,常为微机)发出请求信号,服务器(TPS系列全站仪)返回应答信号而完成。
由丁GeoCOM函数包需要实现的功能很多,因此其函数种类和数据类型数量庞大,按照功能分为】2类,130余个函数及丰富的数据类型。
GeoCOM有两种通信模式:低级模式,即ASCII码协议方式:高级模式,即函数调用模式,具体情况如F:3.1 ASCII码协议方式 ASCII码协议可以在不支持MS.Windows-的操作平台上对TCA2003进行控制操作,由请求和应答两部分组成:首先计算机发出请求,通过串口发送到全站仪,等待并解译应答信号。
ASCII码是线性协议。
它通过线性终端来区分不同的应答和请求,请求信号必须有结束标志符,最常采用的是…m做结束标志符。
ASCII码协议的请求格式如下: 【<LF>〕%R1Q,<RPC>【,<Trld>】:【(PO>Ⅱ,<P1>,..〕<Term>其中 《噼 初始他换行符.清空接收缓冲区 %R10 C,∞COM的第一类请求标志 《l冲(> 远程过程调用标识数值,从0到65535 <1Yld> 可选择的事务lD号,从1到7,应答数值相同 协议标题头和参数之间的分割符 !竺!兰全曼塑竺堡墨箜鱼兰查!叁堡苎叁 ASCN码协议的应答格式及各部分代表的含义如F %RlP G∞COM的第一类^女答标志 《GRC> Ge,oCOM返回
代码,0=RC OK表示通讯的成功(详情参阅附录中的GeoCOM返回
代码列表) 鼎Id> 可选择豹事务tD号,与清求数值耜同,从l到7.若请求事务没有ID号,则取0 协议标题头和参数之问的分割符 <RD 远程过程调用返回
代码,取0表示成功执行(详情参阅附录中的RPC返回
代码列表) 一个ASCH协议通讯动作必须包含发送请求字符串和接收应答字符串两步操作,虽然使用起 来比较麻烦,但由于它较高级的函数调用协议更底层,可以开发出用户自己需要的GeoCOM接口,无须在通过GeoCOMdll(或GeoCOM32.d11)接口,使用户具有了更大的自主开发权。
ASCII协议支持在收到应答信号前就发送下一个请求信号,但在并不鼓励这样做,因为请求信号暂时保存在缓冲区中,当数量超过缓冲区容量时,数据将会丢失。
采用Y型电缆进行通讯,通讯前全站仪要处丁.关闭状态,通讯过程中全站仪处于On.Line模式,全站仪和计算机的通讯参数必须一致。
ASCII协议只支持双精度犁、布尔型、字符串型等8种最基本的数据类型,不支持结构体和自定义数据类型,字符串的发送采用十八进制。
ASCII协议通讯是通过Terminal.exe来实现的,MS—Windows3.1/3.11和徕卡软件包都提供了终端仿真,在Terminal.oxe中,可以最多定义32个功能键。
定义完成后,只要点击该键,
工作区中就显示ASCII请求信号,指令执行完成后,将显示应答信号。
具体例子如F: %R1Q,5004: ‘请求指令,调用函数CSV Getlnstr.Name,发送字符串%RIQj004”:“m %RIR0,O:O,。
TCl500” ‘返同应答字符串。
得到仪器名称为TCl500 %R1Q,17017:2 ‘请求指令.调用函数BAP elgnAcatsiDeM_串符字送发, %R10,17017:2“m %R1 P,0,0:0,1.227735507254754,1.350089140743085,3 724029690178598,2‘返回应答字符串,得到 水平角、垂直角(弧度)和斜距。
3.2函数调用模式 GeoCOM高级模式是应}}j开发接口,GeoCOM函数包内封装了用户与徕卡全站仪进行通讯交互时调}{j仪器上的子系统所需要的客户端调用接口,这些接口类似于全站仪上的各个功能模块,被组织成一个个子系统的形式封装在GeoCOM.dll和STUBS32Ebas中,面在仪器端,相应的子
系统的底层已经实现.具体的实施过程和原理,Ⅲ户无法也无需了解。
这也止是GeoCOM函数包的意义,即用户无需了解具体的实施过程和原理,就可以在这些现有的功能基础上开发出合乎自己需要的高级功能。
GeoCOM.dn(或GeoCOM32.d11)作为接口的意义在于,它是
计算机客户端调用全站仪上已有子系统的一个入口,通过该接口发出的请求还需要在仪器端的GeoCOM服务器进行调度并将这些请求转交给相麻的子系统处理,处理结果或获取的数据再沿同样的路径返同给客户端。
这个过程是按照美国suN公司的RPC(RemoteProcedureCall,远程调用协议)技术标准来开发的。
在高级
通信模式下,GeoCOM提供了VB、vC++平“eVC的各种功能函数调用接口。
各干中操作通过调Hj相应的豳数来完成,在仪器处r On Line模式时,仪器上的按键将被禁止,操作只能通过计算机:}f∈控制,这就要求必须首先初始亿GeoCOM和通信端口参数的设置,使全站仪和计算机处r“:确的连接状态。
在VB t-调用GeoCOM函数,其形式如下: VB_COM_OpenConnection(ByVal Port As Integer,ByVal Baud As Integer,ByVal Retries AsInteger) 往程序中运行这个函数,即可实现打开一个通信接口的功能。
由于VB本身并没有提供GeoCOM函数的函数库,因此必须首先在一个VB翻鼙中建立一个类模扳,将所要用到的GeoCOM函数、常量、数据类型和返同量等进行声明,Leica公司已经提供了该模扳。
住Visual Basic中开发GeoCOM程序时, 2003年全国测绘仪器综合学术年会
论文集 ‘要遵循以下步骤: 1.将GCOMm5.DII添加到C:\Windows’,System路径Fi 2.打开缄新建一个Visual Basic 1:程,将Stubs32p.bas模板添加到该l:程中; 3.按照Visual Basic语法进行程序编译、调试,直至程序编译成功。
除去GeoCOM函数、常量、数据类型和返回量等进行声明外,其它语法完全符合V B的语法规则,甚至可以认为,GeoCOM模板就是VB卜进行的数据类型和公共函数的调tllj。
VB
代码模块是GeoCOM的一种封装形式,与GeoCOM,dll的功能相同,是针对VB开发的一个解决方案。
GeoCOM进行联机控制的最人优点是可以对测量的数据进行现场处理,并且可以对测耸数据进行复杂地处理,及时地获得观测结果,对r变形监测等移动性小、数据处理复朵和观测结果要求实时的测量‘1’作具有重要的意义。
4.Gsl通讯指令 GSI(Geodemiter Serial Interface,人地测量串行接口)是应_}fj最早的开发指令,徕异早期的全站仪,电子经纬仪,都向川户提供了丰富的GSl通讯指令。
可以通过RS一232C通讯方式实现计算机和仪器的数据和指令通讯。
它继承了T2000/T3000系列电子经纬仪通讯指令的形式简单等优点,由四种基本命令组成: 1. SET 设置仪器参数 格式:SET/<SEl”SPEC>/<Parameter><CR/LF> 其中:SETSPEC和Parameter的取值的含义和SETMODE……形式的含义基本一致 例子:SET/40/2 VBCRLF将仪器测量的角度单位设置为六十进制 2. CONF读取仪器内部的参数设置 格式:CONF/<CONF SPEC><CR/LF> ‘<CONF SPEC>取值31-182 例子:CONF/40 CRLF ‘读取仪器角度测量时的单位设置 返同值是0040/0002 ‘表示当前的角度测量单位是六十进制 3.PUT 往全站仪内写或者改变数值 格式:SET/<PUT SPEC>/<Parameter>.<CR/LF> 例子:PUT/21…2+10000000<CR/LF> ‘将水平角设置为”100,0000 gon” 4. GET 发送指令,扶全站仪中得劁观测值 格式;GET/nAVI<GET SPEC>/<Parameter><CR/LF> 例子:GETml,、v12I<CR/LF> 得到水平角的观测值 除上述四种基本指令外,对于不同型号的仪器,增加了新的GSI通讯指令,比如对于具有马达伺服驱动、无合作目标测量等功能的全站仪,GSI通讯指令也增加相应的指令功能。
对不同系列的全站仪所提供的错误信息也不尽相同,其基本格式是:@wxxx,比如@W100的含义是全站仪正处于繁忙状态,无暇应答其它请求信号。
无论是向全站仪发送指令或者数据,数据和指令的格式必须正确,指令串的字符个数个和个数都必须正确,发送的数据字符必须放在正确的位置,数据字符的长度必须正确。
总之,必须严格按照GSI指令说明书中所规定的格式。
比如,将水平角设置为100度整,则指令格式为:MSComml.Output=”PUT/21.324+01000000”&vbCrLf,零的个数不能省略,指令串结尾所指定的空格字符也不能省略,整个指令结束标志字符vbCrLf也不能省略。
执行此命令后,则全站仪的水平角将被设置为100度整。
但是随着TPS系列全站仪的发展,其功能发生了很大变化,GSI通讯指令已经无法满足对全站仪进行应用程序开发。
因此, GSI通讯指令必将迅速的被OeoBasic和GeoCOM所代替。
5.结束语 GeoBasic是一种编程语言,具有简单易学等优点,随着全站仪内存容量的进一步码 (下转50页) 57 2003年全国测绘仪器综合学术年会
论文集 26(1993),PP.1655‘1660 f6l S.Chert,W-Tsai,A systematic approach to analytic determination ofamera parameters by line features,Pattern Recognition 23(1990),pp.859·877 【7】C.c.Stama,C.Theurer,S.W Henriksen,Manual of Photogrammetry,4th Edition,American Society of Photogrammetry, Falls Church,VA,1980 【8】O,D.Faugeras,G Toscani.The calibration problem for stereo,Proceedings of the IEEE Computer Vision and Pattern Recognition,1986,pp 15—20 【9J R.Y Tsai,A versatile camera calibration technique for high—accuracy 3D machine vision metrofogy using off-the—shelf”IV ca,’neras andlenses,IEEEInt.J Robot Automat RA.3(1987),PP323-344 【10】J.Weng,P.Cohen,M Hemiou,Camera calibration with distortion models and accuracy evaluation,IEEE Trans,Pattern Anal,Mach,Intell,14(1992).PP 965—980 【111 F新华,三维T业物体识别‘i测量方法的研究,武汉测绘科技人学博}学位
论文,1997.4 【121周国清等,论CCD相机标定的内、外吲素:畸变模型’-信噪比,电了学报,1996.11 【13l江加和等,摄像机标定中一种约束条件选择方法.兆学精密丁程,V01.8,No.4 【14】衡 伟,用于高精度三维计算机视觉的图象系统标定和误差补偿,V01.6(A),No.10 Overview of Camera Calibration in Visual Measurement Hu Guoyuan,He Ping’an,Wang Baolong,Yun Jianping Electronic Information School of Wuhan University,Wuhan,China,430079 Abstract The concept of camera calibration in 3D visual measurement is presented in details,and then the present methods is discussed and is compared with each othen Some problems in practical camera calibration are represented.Finally the existing problems and the possible developments of camera calibration is pointed out. Keywords Visual measurement,Camera calibration,Distortion,Compensation 第一作者简介胡国元,男,(】974.11一).助教,扯职{{}f究生,主要研究方向:光学测试技术与说觉测量. (上接57页)增大,机载程序的开发将具有惯犯的应用前景。
但是,它仍然是结构化的编程语言,程 序的调试极为不便,对丁较大规模的机载程序很容易产生“软件危机“。
GeoCOM控制程序克服了GeoBasic程序不便于调试、维护等缺点,可以对测量数据进行实时地、复杂地处理,并把处理分析的 结果返回到全站仪中。
但其缺点是需要外部控制设备(计算机、便携机、掌上电脑等)对之进行控制操作,不便于野外
作业。
相比之r。
GSI通讯指令除了形式简单外,并不具备其它优点,但是在简单的实验和室内操作系统中有一定的廊朋前景。
以上二种TCA2003程序的开发途径各有优点,州户应根据需要进行选择应用程序开发环境。
参考文献 Leica for TPSll00User ManualVersionl.30Switzerland:Printed in Switzerland Leica【1I Corp.GeoBasic Copyright byGeosystems AG,Heerbrugg,Switzerland,2000f2l Leica Corp.GeoCOMl000_V220 ManualVersionl.30Switz.erland:Printed in Switzerland.COpyfight by Leica GeosystcmsAG Heerbrugg.Switzerland.2000f3J Lcica co币.1甲s—Online v100.Switzerland:Printed in Switzer-land Copyright by Leica Geosystems AC,Heerbrugg.Switzerland,2001作者简介范百兴(1978一)t男,河南郑州人,硕士研究生.研究方向:工程测量和仪器开发.fbxhr@etang.com,电话 135984124】1TCA2003全站仪应用程序的三种开发途径作者: 范百兴, 夏治国作者单位: 解放军信息工程大学测绘学院河南郑州相似文献10条1.期刊
论文 易庆林.卢书强.何祥 测量机器人在滑坡应急监测中的应用 -人民长江20094020 为了解决较危险滑坡加速变形阶段的监测
问题采用测量机器人TC2300全站仪对滑坡进行全自动应急监测.通过对测量机器人技术组成、系统应用及变形监测方法的分析针对三峡库区某滑坡的变形情况在原有的GPS监测系统的基础上建立了测量机器人全自动应急监测系统.重点阐述了该应急监测
方案的实施情况指出了测量机器人在滑坡应急监测中的广阔应用前景.2.期刊
论文 杨健健.饶国和.许昌.曹凯.YANG Jianjian.RAO Guohe.XU Chang.CAOKai 测量机器人GeoCOM接口技术的开发与应用 -水电自动化与大坝监测2008321 介绍了测量机器人TCA2003全站仪的一些强大功能分析了其自带的GeoCOM地理数据通信接口技术的高级模式在此基础上利用visual Basic 6.0语言和Access数据库通过GeoCOM接口对测量机器人进行了二次开发并应用于某水利枢纽加密控制网的自动观测.最后通过平差计算得出了一些参考性结论.3.学位
论文 张海玲 基于TCA2003全站仪的自动变形监测系统的研制 2005 本文主要是利用徕卡TCA2003系列全站仪测量机器人的ATRAutomaticTargetRecognition自动目标识别功能,在徕卡公司提供的二次开发环境GEOCOM下开发自动变形监测系统,将人工操作的测量工作利用计算机进行自动控制测量来完成,主要针对计算机与测量机器人之间的数据通讯、传输存储以及平差处理等领域进行了研制和开发。
在观测过程中采用了极坐标实时多重差分改正模型对原始数据进行差分处理和成果输出,并对TCA2003全站仪的ATR原理和精度进行了分析。
对于观测数据的事后差分处理方法进行了探讨,提出了使用平均间隙法来检验基准点的稳定性和用坐标转换法来处理测站点不稳定的情况下统一坐标系的数据处理方法。
拟稳平差的方法在事后数据差分处理中也得到了很好的应用,主要是解决了无冗余观测值情况下提高测量精度,这种方法可以对与基线方向大气折光系数相近的方向的变形点的观测数据进行较为有利的改正,从而提高了变形点观测数据的精度。
同时,利用VisualBasic语言开发了一系列的程序模块来实现自动测量的功能和简单的数据处理等,这对于野外观测条件恶劣和持续时间长以及重复性比较强的变形监测来说具有很大的意义,在进行相应的差分改正后,其观测精度能满足一般工程测量的要求,具有很重要的现实意义。
4.会议
论文 杨俊志 大地测量机器人的检定设备与方法 2003 本文论述了大地测量机器人自动目标识别ATR和跟踪的原理分析了仪器的误差源阐述了相应的检定设备和检定方法.5.学位
论文 范百兴 高性能全站仪的研究及其在动态测量中的应用 2004 本文针对TCA/TCRA全站仪动态洲量特性及其在FAST动态馈源舱测量中的应用,主要进行的研究工作如下:通过实验测试了在500m距离上气象参数对TCA2003的测距精度影响及其改正精度,分析了角度和距离观测值随气象参数的变化规律,为全站仪在FAST500米工程中的应用提供了可行性分析;测试了动态测量合作目标的定位误差;利用GeoBASIC语言丌发了全站仪动态测量机载应用程序;对全站仪的测量时间进行了定量分析,平均采样频率可以达到8HZ;通过实验定性分析了全站仪跟踪方向和目标运动状态对动态测量精度的影响;研究了动态噪声对全站仪跟踪测量的影响,提出了对测量数据进行粗差探测、滤波和曲线拟合及样条插.