基于北斗卫星导航系统的差分定位实验设计与实现_第1页
基于北斗卫星导航系统的差分定位实验设计与实现_第2页
基于北斗卫星导航系统的差分定位实验设计与实现_第3页
基于北斗卫星导航系统的差分定位实验设计与实现_第4页
基于北斗卫星导航系统的差分定位实验设计与实现_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

[16]。现如今的大多数研究都是集中于对移动站的算法运算,都只集成于移动站而并未体现差分定位过程,对于初学者来说缺乏明确而直观的过程体验,难以深入理解差分定位的原理,学习者需要对差分定位的过程有直接的了解与学习,才能更好掌握差分定位的原理及应用。针对需要直观体现实验原理与过程的需求,本文对此进行了实验设计。本文基于北斗导航系统位置差分定位新技术,通过对差分定位技术原理分解,进而做出实验设计,让学习者能够理解通过本实验掌握差分定位技术。4.2北斗差分定位实验的总体设计方案通过对北斗导航系统的差分定位实验的需求分析,本文总体上分为基准站、显示界面、移动站三个部分分别进行分解设计,对移动站采取嵌入单片机开发板中,实现移动站的独立工作与可移动性,基站选择由学校实验室提供的精密基准站,界面显示采用Qt开发。实验设计先将三部分分开实现再结合一起,完成整个实验设计。实验的总体设计方案如下图所示:

4.3本章小结本章主要介绍了对北斗导航系统的差分定位实验进行需求分析,现如今的差分定位多数是集成在移动站中进行算法运算,缺乏直观过程,故本文通过实现差分定位逆过程来设计实验。最后对实验的设计进行总要概述,主要分成基准站、移动站和界面显示三大部分进行实验设计。第5章北斗差分定位实验的硬件与软件实现5.1实验的硬件设计硬件是构成本次实验的基础,位置定位信息的获取,数据的传输,都是由硬件所提供的。基于北斗导航系统的位置差分定位所需要用到的硬件组成如下:图5.1实验硬件结构设计5.1.1移动站硬件模块设计由图5.1可知基于北斗导航系统的差分定位的移动站硬件主要包括:GPS/BDS定位模块、STM32单片机卫星控制器、EC800M4G通信模块、移动电源供电模块。其中GPS/BDS定位模块是实验的关键。GPS/BDS的定位数据来自于GPS/BDS定位模块,GPS/BDS获取到的定位数据需要经过数据提取,提取出其中需要的经纬度数据,再经过转化,传输,从而完成移动站的任务。移动站的定位模块采用的是EC800M模块,天线是配套的GPS/北斗双模单频天线,再将定位模块与STM32单片机连接。EC800M内集成了卫星导航数据接收模块,同时也集成了4G通信模块,使得移动站可以接受来自北斗导航系统发来的定位信息并且通过4G模块实时发送定位数据信息到服务器。EC800M通过AT指令开启导航定位功能,开始接收定位信息。卫星是以NMEA-0183协议输出定位数据,接收到的数据需要通过解析才能获取定位信息,故需要与单片机连接,单片机通过编写代码程序解析NMEA-0183协议的语句,提取出相应语句中需要用到的定位信息。获取到的定位信息通过4G通信模块进行发送。4G模块需要插入SIM卡,才能通过TCP协议传输数据,单片机中编写相应代码,通过AT指令开启TCP传输模式,配置好源端口与目的端口,目标服务器IP地址,完成与阿里云云服务器连接,程序会一直检查是否插入SIM卡,当插入SIM卡后,校验无误,开始进行数据的接收与发送。在云服务器端,通过远程访问,打开网络调试助手,协议类型选择为TCPServer,配置好本地端口号,点击连接便可开启定位数据与PC端无线通信,实现软件与硬件的连接。具体各硬件模块展示图如下图所示。图5.1STM32单片机模块图5.2EC800M定位模块图5.3移动电源模块5.1.2基准站硬件模块设计基准站采用的是UniStrong北斗地面高精度基准站。基准站的天线固定在信息楼顶楼,精确位置为23.103946°N,113.473930°W,基准站能够较精确测量出实时的定位信息。UniStrong北斗地面高精度基准站输出的测量数据的格式有两种,一种是NMEA-0183协议语句,另一种为RTCM3.0协议或者RTCM3.2协议。本实验是基于北斗导航系统的位置差分定位,选择输出的是NMEA-0183协议语句。在输出的NMEA-0183协议语句中,需要获取的GPRMC语句的内容,基准站输出的RMC语句主要是GPRMC语句,不同于移动站所获取的GNRMC语句,基准站中的GPMRC语句中也包含了北斗导航信息。GPRMC语句是推荐的最小导航数据,GPRMC语句中数据包含经纬度、UTC时间、航向角等基础卫星定位信息。实验时,基准站有两种连接网页应用的方法,一种是以太网端口登录,一种是WIFI登录。本文选择了用以太网登录的方法。用一条带有RJ45接头的数据线,RJ45一端连接设备,另外一端连接计算机,然后打开计算机的浏览器,在浏览器地址栏输入:192.168.10.1,输入后浏览器会跳转至登录界面。配置完账户密码后,便进入了主界面,可以查看基准站接收机的位置信息、网口参数、WIFI参数、GPRS参数等设备信息。打开界面后,在参考站设置里获取收敛后的天线所在精确位置,这是接收机经过内置算法计算后得到的精准数据,作为基准站本地坐标。如图5.5所示。图5.4参考站坐标基准站接收机连接好接收天线、RJ45线与数据传输线后,开启电源会自动实现定位功能,测量值实时显示在显示屏中,可通过屏幕直观观测到实时的位置信息。如图5.6所示。图5.5基准站差分数据与定位信息的输出需要在浏览器主界面中的端口设置中设置输出方式。点击数据传输设置,会显示各串口与Ntrip客户端、服务器的状态。根据自己所需要接收到的数据选择相应输出的格式,本文实现的是基于北斗的位置差分,故选择输出的语句为NMEA协议。端口可以选择COM1、COM2和COM3,端口间并无本质区别,本文选用的是COM1。开启COM1,波特率选择为115200bps,功能选择为NMEA(Output),NMEA中勾选GGA、GSA、GSV和RMC语句,并设置接收频率为1HZ,点击提交便完成了数据输出的端口设置。如图5.7所示。图5.6端口设置PC电脑端对基准站数据的接收是通过串口接收的,将USB串口端与电脑端相连接,通过串口助手打开串口连接便能获得相应的定位数据。如图5.8所示。图5.7基站串口数据接收基准站传输过来的NMEA协议中,需要提取的是GPRMC语句,GPMC语句是推荐的最小导航数据,基准站中传输的GPRMC语句实际上蕴含的包括GPS、北斗、伽利略等几种导航系统的定位信息。本实验所需要用到的数据为经纬度数据,只需提取的是GPRMC语句中的经纬度信息。通过编写串口读取程序,代码中设计检测关键语句“$GPRMC”,再对GPRMC后跟着的经纬度信息位数进行判定,提取出来,数据中的经纬度的度分单位数据,需要转换为度单位数据,显示在编写的显示界面中。5.2实验的软件设计实验软件部分分为三部分,分别为显示界面、阿里云云服务器ECS与EC800M模块的代码实现。三部分互相联系,密不可分。5.2.1阿里云云服务器ECSEC800M定位模块接收到的定位信息,需要通过4G模块传送给阿里云云服务器,实现无线传输。本文采用的方法是通过TCP将北斗定位数据传输到阿里云云服务器。EC800M在这里作为TCP客户端,连接到的阿里云云服务器就是服务器端,此时的云服务器是一个公网IP。首先对串口1以及串口2进行初始化,并将波特率设置为115200。对EC800M开机并进行初始化的流程判断,保证EC800M一切正常,发送AT+CREG指令检查SIM卡是否在位,查看是否返回ready;再发送AT+CGREG指令,查看是否注册GSM网络,查看返回的是1还是5,返回1代表正常,返回5代表漫游;接着发送AT+CGREG指令检查是否已注册GPRS网络,查看返回的是1还是5,这一步很重要,只有返回的是1才代表注册成功,才可以进行GPRS数据传输;最后发送AT+QIACT=1激活场景,让基站为设备分配个IP地址,然后通过AT+QIACT?指令查询到设备的IP地址,将模式设置为指令模式,最后检查是否登陆成功,完成初始化。一切准备就绪后,第一步就是先建立一个SOCKET,如果服务器那边正常开启,就会返回+QIOPEN:0,0.如果最后一位不是0,表明连接失败。连接成功后就可以开始正常的发送数据,发送成功后会返回SENDOK。对应的单片机代码如下所示:printf("AT+QIOPEN=1,0,\"TCP\",\"8.138.161.176\",22,0,1\r\n");delay_ms(500);strx=strstr((constchar*)RxBuffer,(constchar*)"+QIOPEN:0,0");while(strx==NULL){strx=strstr((constchar*)RxBuffer,(constchar*)"+QIOPEN:0,0");delay_ms(100);}云服务器登陆成功后,用户就可以发送数据到云服务器了。主函数调用TCP发送函数来进行数据发送,分为字符型数据和十六进制数据。//字符型数据printf("AT+QISEND=0\r\n");delay_ms(100);printf("%s",bufferdata);delay_ms(100); USART_SendData(USART2,(u8)0x1a);//·¢ËÍÍê³Éº¯Êýwhile(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET){}delay_ms(100);strx=strstr((char*)RxBuffer,(char*)"SENDOK");//ÊÇ·ñÕýÈ··¢ËÍwhile(strx==NULL){strx=strstr((char*)RxBuffer,(char*)"SENDOK");//delay_ms(10);}delay_ms(100);Clear_Buffer();//十六进制数据printf("AT+QISENDEX=0,\"%s\"\r\n",bufferdata);delay_ms(100);strx=strstr((char*)RxBuffer,(char*)"OK");//ÊÇ·ñÕýÈ··¢ËÍwhile(strx==NULL){strx=strstr((char*)RxBuffer,(char*)"OK");//delay_ms(10);}delay_ms(100);Clear_Buffer();EC800M将数据传输到云服务器之后,在服务器端需要下载一个接收数据的软件进行数据接收。本文通过使用网络调试助手来对数据进行接收,网络调试助手需要将协议类型配置为TCPServer进行接收数据,并更改本地端口号。图5.8网络调试助手5.2.2EC800M定位模块EC800M使用前,需要先开机,发送开机指令,因为GNSS定位模块是独立的,需要先对其开机才能使其工作。EC800M发送AT+QGPS=1对GNSS开机,这里担心设备没有开启,此处多写了一步开启判断,确保开启成功。printf("AT+QGPS=1\r\n");//delay_ms(300);("AT+QGPS?\r\n");//delay_ms(300);Clear_Buffer();定位数据获取采用的是QGPSNMEA的指令,获取的是RMC参数,RMC是推荐的最小导航数据,其中包含了最基本的经纬度数据,由此获取的数据是原始数据,需要将原始数据转换为度单位数据,才可以使用。定位数据原始数据格式为度分单位:经度DDDMM.MMMM,纬度DDMM.MMMM,需要将其转化为度单位数据,对应的解析格式为经度=DDD+(MM.MMMM)/60,纬度=DD+(MM.MMMM)/60。这样便将原始数据转换成地图可以识别的数据了,再将数据上传到云服务器中。5.2.3显示界面开发本文是基于北斗导航系统的位置差分定位实验设计与实现,是差分定位的逆过程,差分定位正过程是在基准站获得差分数据,得出差分校正值,差分校正值无线传输到移动站,移动站接收到差分校正值后,在移动站内部进行差分运算,得到校正后的精确经纬度,完成位置差分定位的过程。本文设计的实验刚好是位置差分定位的逆过程,是将基准站的位置信息与差分信息读取,在PC端显示出来,将移动站的定位数据通过4G传输模块无线传输到PC端显示出来,这就需要一个显示界面将这些定位数据与差分数据显示出来,完成移动站上的差分运算迁移到显示界面中,让学习者能够体会差分定位的过程与原理,具体是如何实现差分的。本文对显示界面的开发选用Qt软件作为开发工具。界面的设计采用的是UI界面设计,通过自定义空间设计出需要的界面,再通过信号与槽机制,将代码与自定义控件的互通。设计的显示界面如下图所示:图5.7显示界面界面主体由各个QGroupBox控件组成,每个相应QGroupBox控件中区分出相应功能区,分别为基站测量数据、移动站测量数据、基站精确位置、串口调试、基站NMEA-0183数据以及位置差分过程六大功能区。串口调试区中使用的是ComboBox控件,设计端口ComboBox按键,运用串口库,读取接入电脑端的所有串口,设置波特率ComboBox按键,设置4800、9600、115200的波特率,当有串口接入电脑端时便可以读取到,选择需要使用的串口,并设置相应的波特率,完成串口调试。基准站NMEA-0183数据区是将基准站接收到的NMEA-0183协议的定位信息用串口读取后显示在TextEdit文本框中,并设置连接和断开的PushButton按钮,当点击连接按钮时启动串口读取功能,将串口读取到的信息显示在TextEdit文本框,当点击断开按钮时,停止串口读取,连接与断开串口的状态会显示旁边的Label中,当串口连接,Label会显示“读取中”,断开后显示“串口断开”,让使用者能直观了解串口读取是否成功。TextEdit文本框中显示的NMEA-0183协议数据要进行选取,选取以“$QPRMC”语句中的数据,通过判断经纬度的位数,并通过代码解析将原始数据转化为度格式的经纬度,方便在地图上显示。将转化后的经纬度信息分别显示在基站测量数据区的LineEdit文本框中。图5.8数据读取移动站测量数据区与基准站精确数据区设置了LineEdit文本框,可以让学习北斗差分定位的学习者自行输入,移动站的测量数据由4G通信模块通过TCP发送至阿里云云服务器中获得,将获取到的定位信息输入。位置差分过程区是让学习北斗差分定位的学习者体会位置差分的过程,先将测量得到的基站经纬度和基准站精确经纬度输入LineEdit文本框中,按下“-”的PushButton按钮,实现差分数据的运算,得出的差分校正值显示在“=”号右侧的LineEdit文本框。再将得到的校正值输入到“+”PushButton的左侧,移动站的经纬度输入到左侧,按下“+”PushButton按钮,实现了差分校正,得出的即是差分运算后较为精准的移动站经纬度,至此,完成位置差分定位的实验。5.3实验结果移动电源接入移动站,移动站上电后开始工作,实验将移动站放置于信息楼的三楼空旷处,指令开启后,移动站开始接收定位信息,并通过4G通信模块将自己获取的经纬度定位信息无线传输到阿里云云服务器,在PC端通过远程访问云服务器,通过网络调试助手观测实时定位数据。图5.9移动站的放置5.3本章小结本章具体介绍了基于北斗卫星导航系统的差分定位实验的硬件和软件组成。硬件部分包括基准站与移动站,并介绍了端口的设置以及如何通过硬件获取定位信息,硬件组成主要目的是为软件系统提供数据。软件部分主要介绍了实验系统界面的开发与整体功能模块,并详述了实验系统界面实现差分运算的过程,这是实验的核心部分。最后对实验整体与结果进行了总体介绍。图5.10数据传输与界面显示PC端连接基站,通过串口读取NMEA-0183数据,打开串口连接按钮,NMEA-0183数据开始读取显示,并提取出定位信息实时显示在基站测量数据区的LineEdit文本框中。基准站精确位置为23.103946°N,113.473930°W,将精确位置输入基站精确位置区。将基站测量经纬度填入“-”号左侧,将基站精确经纬度填入“-”号右侧,点击“-”号,即可得到差分校正值,再将差分校正值与移动站测量经纬度相加,及得到移动站经过差分校正后的较为精确的经纬度,完成位置差分定位的实验过程。图5.11实验过程结论该实验分析了差分定位技术的原理与意义,设计出了基于北斗卫星导航系统的差分定位实验。实验中完成了移动站的开发,并且能够通过4G通信模块将定位信息实时发送,通过Qt开发软件开发了实验的显示界面,实现了差分数据的显示与运算。设计最终达到了预期的效果,所实现的功能包括:(1)移动站:移动站能够独立工作,移动站通过EC800M模块实现定位功能,通过集成的4G通信模块,实时发送定位数据,并且通过TCP协议将定位数据传输到阿里云云服务器中,实现定位信息的无线传输。(2)基准站:基准站实现差分数据的串口传输,基准站采用的是UniStrong北斗高精度地面基站,基准站通过配置端口,与PC端通过串口进行数据传输,基准站通过配置输出语句来输出NMEA-0183数据,运用Qt编写代码解析,提取所需要的$GPRMC数据,将原始数据转化为度单位数据,显示在Qt所开发的显示界面中。(3)显示界面:使用Qt开发软件开发实验的显示界面,界面显示基准站的测量经纬度数据、基准站的精准经纬度数据、移动站的测量经纬度数据、基准站的NMEA-0183数据以及位置差分运算过程,让学习者通过对位置差分过程的差体验,掌握位置差分定位的原理。实验设计过程中,由于实验器材以及个人理论知识的局限,使得实验设计水平远不足,存在改进空间:(1)界面尚且简陋,功能实现过于简单,未能得到优化,应继续深入学习Qt开发软件相关知识,优化界面,改进功能。(2)差分定位有三大类型,实验中仅实现了位置差分,未实现伪距差分与载波相位差分,应该学习伪距差分与载波相位差分,增设剩下的两个差分定位,才算是完整的差分定位实验设计。

参考文献MontenbruckO,SteigenbergerP,PrangeL,etal.TheMulti-GNSSExperiment(MGEX)oftheInternationalGNSSService(IGS)–Achievements,prospectsandchallenges[J].AdvancesinSpaceResearch,2017,59(7):1671-1697.MahajanSM,SingareddyUM.AReal-TimeConductorSagMeasurementSystemUsingaDifferentialGPS[J].IEEETransactionsonPowerDelivery,2012,27(2):475-480.刘若林.基于北斗卫星导航系统的差分定位应用的研究[J].通信电源技术,2020,37(08):4-6.余梦洋.BDS/GPS网格伪距差分服务及移动终端实时定位算法研究与实现[D]:[硕士学位论文].青岛:山东科技大学,2020.CaiC,GaoY.ModelingandassessmentofcombinedGPS/GLONASSprecisepointpositioning[J].GpsSolutions,2013,17(2):223-236.曹翔,史誉州,刘雅奇,等.北斗三号/GPS组合导航系统全球定位性能分析[J].珠江水运,2024,04:24-29.

温馨提示

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

评论

0/150

提交评论