导航与定位课程报告_第1页
导航与定位课程报告_第2页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1、导航与定位课程实验报告学生姓名: 韩宁班 学号:116092-29指导教师:黄鹰中国地质大学信息工程学院2011 年 7 月实习一【内容】GPS 设备的使用要求:(1)熟悉 GPS 设备使用(2)使用 GPS 设备对地物进行静态绝对定位和对运动物体进行动态绝对定位。【实习过程】实习第一天,我们认识到了 GPS 定位所用到的仪器,并使用手持 GPS 设备完成了点线面 定位测量的一系列操作。刚开始老师就给我们演示了 GPS 设备的安装过程,以及各个部分的作用。 首先,我们需 要选择一个开阔的地段来进行操作。这样接收到的 GPS 卫星的监测数目会比较多,至少要得到四颗卫星数目才能够满足我们的需求。然

2、后确定了一个基准点作为参考点,当时老师在相应的位置做了个标志, 开始安装第一个 GPS 设备,在把仪器拼接好一起之后, 我们需要对仪 器做一定的调整,开始是对三脚架的高度和间距做调整,使仪器尽量保持平稳, 然后调整水准仪,使通过视镜可以看到我们做标记定位的点,这样我们就可以确定坐标点的位置了。然后就是组装天线,把天线和我们刚刚组建的 GPS 仪器连接,这个天线的作用就是发送和接受 GPS 卫星的信息,最后就是和基准站差不多的方法来组装流动站。做好安装的工作后,启动 基准站接收机,我们需要用手持 GPS 通过蓝牙和 GPS 设备相连,打开配置菜单,测量形式/RTK 基准站,测量类型: RTK设置

3、坐标类型及天线类型的导入完成基本的设置,然后打开测量 菜单 RTK 测量点的获得初始化,导入高程数据,利用相应的软件就可以开始测量当前GPS接收机的经纬度坐标了。 同样的方式测得流动站的位置,先设置接收机端口和波特率,连接电台,新建一个任务,输入任务名,参数等,完成基本的设置后就可以进行测量了。需要注 意的是流动站的配置要和基准站的相配对。流动站测量数据的时候会出现数据不断跳动的现象,从列表中得到测量的点,完毕后还要进行点校正。这三台设备的工作原理是:基准站通过天线发送当前位置的信号给GPS 卫星,卫星获得当前位置的坐标后又通过天线接收数据传送给接收机,通过手持 GPS 读出基准站的坐标。基准

4、站的测量利用的是相对定位的原理。同理得出流动站的坐标信息,不同的是流动站利用的是相对定位的原理,得到的是相对基准站的坐标。下午,我们利用手持 GPS 装置完成了点线面的测量操作。在 GPS 首选项中定义好协议和 端口,在实时设置里可以看到卫星的状态,在 GPS 机上的分布,然后激活这个 GPS 设备做好初步的设置之后,需要进行数据采集。先以流动站的类型新建一个文件,写上我们组名,然后在选项里面记录间隔的时间,创建要素,即点,线,面,这样我们就开始做相应的测量操 作了,点要素的时候就是一个点的信息,线要素的时候就是点的集合,面要素也是点的集合,但是他的首尾点的坐标是一样的,这样就形成了一个面。

5、GPS 手持设备里显示我们并没有完 成面的信息,是因为我们在画面的时候没有保证起始点和终点的重合, 所以最后显示的还只 是一条线。以下就是在 GPS 手持设备里读出的关于数据。点数据:IDXY114 2330 310 33.68 30.41099976200066名称a备注 高程26.205线数据:名称 备注咼程0长度17.164083114 23 30 3132.93 31.21000031199989 114 23 30 3132.93 31.20199921299911114 23 30 3132.93 31.15000031900040114 23 30 3132.93 31.1099

6、9863499954114 23 30 3132.93 31.04199921700089114 23 30 3132.92 30.99300034099922ffff114 23 30 3132.93 30.87600082100029ffff114 23 30 3132.93 30.81199921299973ffff114 23 30 3132.92 30.75499924099945ffff114 23 30 3132.93 30.69299866899940ffff114 23 30 3132.93 30.65299866999985 面数据:X丫名称 备注咼程0长度39.03126

7、1300034099922 114 23 30 3132.93 30.93299866000031 114 23 30 3132.93 30.87600082100029 114 23 30 3132.92 30.75499924099945 114 23 30 3132.93 30.69299866899940 114 23 30 3132.93 30.65299866999985 114 23 30 3132.38 31.18299942499947114 23 30 3132.93 31.21000031199989114 23 30 3132.93 31.201999212999111

8、14 23 30 3132.93 31.15000031900040114 23 30 3132.93 31.04199921700089114 23 30 3132.92 30.99 测量图形:实习二【内容】GPS 信号解析:编写小程序读取 GPS 言号并进行解析,将解析结果以一定形式展现出来。【要求】1 使用语言不限: C,C+,C#,JAVA2、 对于获取信号可采用以一定时间间隔读取文件中GPS 信号的形式代替从串口中读取信号。3、 该实验基本要求能解析出空间信息(即解析 GPRM 格式的 GPS 言号),其他信号格式的解 析以及星历图的绘制可在完成基本要求之后进行扩展。【解析流程图】喪

9、字节读取串口发出的字符切始化串口设蚩莽打开雷口機所得到的字為序接为字符串【设计思想】GPS 设备通过对接收到的导航电文进行分析处理,计算出设备所在的经纬度、海拔、航速、航向等空间信息,并按照规定的协议将空间信息以及卫星信息进行组织,按照一定的波特率通过串口通讯(按位发送)提供给GPS 设备使用者或者在 GPS 设备上进行显示。但是由于资源的不足, 我们不能得到 GP 毀备,只能由 tob.txt 文档里的导航电文代替设备中 的数据输入,实现对不同类型导航电文的解析。这就需要打开和读取文件里的内容,方法是:CStdioFile fp ;fp. Open( tob.txt , CFile : mo

10、deRead;然而卫星信息共有六种,包括GPGGAGPGLL GPGSA GPRMC GPGSV GPVTG 他们之间的导航电文转换格式也不一样,这样我们需要一次读出每行的信息。CString temp;fp . ReadString (temp);不同的卫星信息解析后的信息也就不一样了。这样我们就需要对每种类型的信息做解析例:$GPRMC,*hhUTC 时间,hhmmss(时分秒)格式定位状态, A=有效定位, 2=无效定位纬度 ddmm.mmmm 度分)格式纬度半球 N (北半球)或 S (南半球)经度 dddmm.mmmm 度分)格式经度半球 E (东经)或 W(西经)地面速率(000.

11、0999.9 节,前面的0 也将被传输)地面航向(000.0359.9 度,以真北为参考基准,前面的0 也将被传输)UTC 日期,ddmmyy (日月年)格式 磁偏角(000.0180.0 度)磁偏角方向,E 或 W模式指示(A=自主定位,D= 差分,E= 古算,N=数据无效)如:$GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,*21解析出来的信息:时间:19 点 19 分 34.767 秒定位状态:有效纬度:北纬 47 度 38.0173 分经度:西经 122 度 11.1874 分速度:0.109624

12、节航向:北方 12.14 度日期:04 年 10 月 29 日类似的 GPGGA GPGL L GPGSA GPGSV GPVTG按它们自己的格式调用相应的解析函 数进行解析。具体解析时的思想是定义一个时间函数,OnTimer(),设置每次读取一行的时间,SetTimer (1,100, NULL;这样实现自动调用读出数据。确定了时间之后,具体到每一行的操作,就是要从卫星类型之后开始读,直到“,”的地方为止,定义一个字符串,把读到的信息存在里面,与每个卫星类型相比较,找到匹配的 类型,调用这种类型的解析函数。对于各种卫星类型解析的具体思路是先定义一个大小适合的数组,把每行数据分解,两个逗号之间

13、的内容存在相应的数组中,对每个数组做相应的处理实现解析的功能。对于画出相应的轨迹图就需要运用VC 画图的具体方法,画一个圆模拟地球的模型,标出 N,S,W,E 四个方向,确定中心点,然后也是运用时间函数自动的读出每个点的实时坐标, 主要运用Moveto()和 Lineto()函数实现实现画轨迹图的目的。【代码】CStdioFile fp;CString temp;void CGpsDlg:Onstar()SetTimer(1,100,NULL );if (m_bstate=1) fp.Open(tob.txt ,CFile :modeRead);void CGpsDlg :OnTimer(UI

14、NT nIDEvent)CString temp;int i;CString head=;fp.ReadStri ng(temp);Star|StopQuit【调试结果】|东经度 23 一的 13 分经度:纬度:w口IU 航向:北方 255 TE 度航速:博纬勿度 si.號 tn 分int a=temp.GetLength();for (i=0;ia+1; i+)while (tempi!=,) / 读协议类型head+=tempi;i+;if (head=$GPGGA ) /解析 $GPGGAexplainGPGGA (temp,i +1);break;if (head = $GPRMC)解

15、析 $GPGMCexplainGPGMC (temp,i+1);break;if (head =$GPGSA) /解析 $GPGSAexplainGPGSA (temp,i+1);break;if (head =$GPGSV) /解析 $GPGSVexplainGPGSV (temp,i+1);break;CDialog :OnTimer(nIDEvent);void CGpsDlg :explainGPGMC (CString data ,int current) UpdateData (true);int len=data.GetLength();CString strTemp;CStri

16、ng strData14;int j = 0;for (int i = current;j 12;/*j +,*/ i+)if (j = 11) while (datai != * & i len) strTemp+=datai;i+;elsewhile (datai != , & i len) strTemp+=datai;i+;strDataj+ = strTemp; strTemp = _T();GPGMC g2;CString temp;if (!strDataO. IsEmpty ()temp = strData0. Left (2);temp +=时”;temp +

17、= strData0. Mid (2,2);temp +=分”;temp += strData0. Mid (4);temp +=秒”;g2.time = temp;if (!strData1. IsEmpty ()if (strData1 = A)g2.state =有效;elseg2.state =无效;if (!strData2. IsEmpty ()temp = strData2. Left (2);temp +=度”;temp += strData2. Mid (2);temp +=分”;g2.l atitude = temp;x=atoi(strData2. Mid)100;if

18、(!strData3. IsEmpty ()if (strData2 = N)g2.latihaif =北纬;elseg2.latihaif =南纬”;if (!strData4. IsEmpty ()temp = strData4. Left (3);temp +=度”;temp += strData4. Mid (3);temp +=分”;g2.lon gitude = temp;y=atoi(strData4. Mid)100;if (!strData5. IsEmpty ()if(strData5 = E)g2.lo ngihaif =东经; elseg2.lo ngihaif =西经

19、;if (!strData6. IsEmpty () g2.speed = strData6 + 节;if (!strData7. IsEmpty ()temp =北方;g2.dic = temp + strData 7 + 度; if (!strData8. IsEmpty ()temp = strData8. Right (2);temp +=年;temp += strData8. Mid (2,2);temp +=月;temp += strData8. Left (2);temp +=日;g2.data = temp;if (!strData9. IsEmpty () g2.declib

20、ati on = strData9 + 度;if (!strData10. IsEmpty ()if(strData1O = E)g2.decdic =东”;elseg2.decdic =西;if (!strData 11. IsEmpty ()if (strData11 = A) g2.modtype =自主定位 ;else if(strData11 = D) g2.modtype =差分;else if(strData11 = E) g2.modtype =估值;elseg2.modtype =数据无效;m_data=g2.data;m_time=g2.time;m_longitude =g2.Iongihaif + g2.longitude ; m_latitude=g2

温馨提示

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

评论

0/150

提交评论