GNSS RTK 千寻位置 LG69T

前言

主要总结些定位相关的概念性东西, 方便自己看, 如有错误, 请指正.

GNSS

GNSS: Global Navigation Satellite System, 全球卫星导航系统, 能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统.

4大全球系统: 美国GPS, 俄罗斯GLONASS, 欧盟GALILEO, 中国北斗卫星导航系统
区域系统有日本的QZSS和印度的IRNSS. 此外还有增强系统.
各个系统的比较(图自Satellite navigation Wiki):
在这里插入图片描述
反应在轨道上(图自 https://upload.wikimedia.org/wikipedia/commons/b/b4/Comparison_satellite_navigation_orbits.svg):
在这里插入图片描述
至少4颗卫星才能较为准确的定位(可以去搜下那个熟悉的方程…), 多个系统混起来用可以增加可视卫星的数量, 提高定位精度, 减少平均收敛时间.

以前手机只用GPS L1频段, 定位精度令人抓狂, 受建筑物影响, 定位误差往往1~200米. 去年开始, 手机纷纷上了双频GPS(L1+L5), 剔除建筑物影响, 可达到误差3~5米或更为精确的定位.

RTK

RTK(Real - time kinematic,实时动态)载波相位差分技术, 是实时处理两个测量站载波相位观测量的差分方法, 将基准站采集的载波相位发给用户接收机, 进行求差解算坐标.

RTK(real time kinematic)是以载波相位观测值进行实时动态相对定位的技术。其原理是将位于基准站上的GPS接收机观测的卫星数据,通过数据通信链(无线电台)实时发送出去,而位于附近的移动站GPS接收机在对卫星观测的同时,也接收来自基准站的电台信号,通过对所收到的信号进行实时处理,给出移动站的三维坐标,并估其精度。

利用RTK测量时,至少配备两台GPS接收机,一台固定安放在基准站上,另外一台作为移动站进行点位测量。在两台接收机之间还需要数据通信链,实时将基准站上的观测数据发送给流动站。对流动站接收到的数据(卫星信号和基准站的信号)进行实时处理还需要RTK软件,其主要完成双差模糊度的求解、基线向量的解算、坐标的转换。

RTK技术可以在很短的时间内获得厘米级的定位精度,广泛应用于图根控制测量、施工放样、工程测量及地形测量等领域。但RTK也有一些缺点,主要表现在需要架设本地参考站,误差随移动站到基准站距离的增加而变大。

可以去了解下D-GPS(Differential GPS), A-GPS(Assisted GPS or Augmented GPS)等的原理.

这个基准站可以自己去建, 然后通过UHF/4G等和移动设备建立联系, 一次投入, 长久受益, 在固定的范围比较合适.

如果今天到这, 明天到那, 百十上千公里, 自己建基站可能就不划算了, 这就牵涉到跨域资源共享Cross-Origin Resource Sharing (CORS), 国家各地的测绘院有这个, 自己用的话, 国内用的比较多的有千寻位置.

千寻

铁老大建基站, 用户手机联网需要收费, 千寻建基站也不是无本生意, 也要收费. 如厘米级定位千寻知寸套餐, 400元/月, 3600元/年, 对于个人而言比手机话费贵多了, 对于搞测绘或者自动驾驶来说, 这个钱掏就掏了:
在这里插入图片描述
买回来后, 有两种使用方法, 一种是appkey+appSecret(密钥)的方式, 一种是自己设置的差分账号+差分密码的方式, 前者用官方的SDK开发起来比较方便, 后者用在通用的设备如4G DTU里面比较合适.
在这里插入图片描述
在这里插入图片描述
想自己开发硬件或者写代码就看SDK集成指南, 想直接买了其他家4G DTU然后就用的, 看差分账号指南.

差分帐号好不好使可以用Lefebure NTRIP Client, NtripDTU等软件查看, 前者功能强大, 我们来用后者试试:
在这里插入图片描述

SDK集成

帮助中心: https://help.qxwz.com/ 可以看到各种集成方式:
在这里插入图片描述
也就是说, 可以直接在Android/iOS/PC上集成千寻SDK, 也可以简单的拿 嵌入式Linux或者单片机(如STM32)+2G/4G模块撸一个出来.

点进去嵌入式差分数据SDK, 可以看到原理:
在这里插入图片描述
下载里面:
在这里插入图片描述
更新的还是挺频繁的, 然而这个版本拉下来短时间内并不知道怎么用, 论坛半遮半掩, 总是私信, 前人走错的路后人也必须趟一遍的感觉. 半年前下载过1.3版本的:
在这里插入图片描述
只需要main.c里面填入上面买的appKey(出错的话, 几个不同名字的号都试试)+appSecrect(很长很长), deviceId和deviceType可以自定义:

int main(int argc, const char * argv[]) {
    //设置appKey和appSecret
    //apapKey申请详细见说明文档
    config.appkey="";
    config.appSecret="";
    config.deviceId="";
    config.deviceType="";

    //[1] Set sdk configs
    qxwz_setting(&config);
    //[2] Start rtcm sdk
    qxwz_rtcm_start(qxwz_rtcm_response_callback,qxwz_status_response_callback);

    //[3] Send gga every second, gga is hard code in this demo
    int i;
    for (i = 0; i < 120000; i++) {
        qxwz_rtcm_sendGGAWithGGAString("$GPGGA,000001,3112.518576,N,12127.901251,E,1,8,1,0,M,-32,M,3,0*4B\r\n");
        QXLOGI("Send GGA done\r\n");
        sleep(1);
    }
    QXLOGI("qxwz_rtcm_stop here\r\n");
    //[4] Stop rtcm sdk
    qxwz_rtcm_stop();
    QXLOGI("qxwz_rtcm_stop done\r\n");
    return 0;
}

然后gcc -g -o main main.c -lrtcm -L. -Wl,-rpath=. -std=c99编译, ./main运行.

代码中"$GPGGA,000001,3112.518576,N,12127.901251,E,1,8,1,0,M,-32,M,3,0*4B\r\n"换成GPS芯片传来的数据就可以了.

差分账号差分密码

直接买其他厂家开发好的硬件如4G DTU, 一般是单片机+4G模块搞的, 都实现好了Ntrip协议进行通信, 插个手机卡/物联卡, 再稍微设置, 接上惯导等就可以用了, 设置的几个选项如下:

①地址域名:rtk.ntrip.qxwz.com 或IP(60.205.8.49)
②端口
端口:8001 对应坐标框架ITRF2008 参考历元2016.0
端口:8002 对应坐标框架WGS84 参考历元2005.0
端口:8003 对应坐标框架CGCS2000 参考历元2000.0
③mountpoint/源/挂载点
RTCM32_GGB 或 RTCM30_GG
④差分账号
⑤差分密码

移远LG69T模组

http://47.254.43.90/cn/infocenter/news/551.htm
前段时间传出一款很中国特色的芯片移远LG69T模组:
在这里插入图片描述

此次推出的移远LG69T模组为汽车提供了现阶段最高水平的定位能力,在开阔环境下可以输出精度10CM的定位数据。这一结果主要通过千寻位置终端智能算法,基于意法半导体最新车规级双频高精度定位芯片STA8100GA和惯性测量单元ASM330的原始数据,结合千寻位置智能驾驶专有服务FindAUTO数据进行解算而实现的。

传言2020年中交付, 确定的话还是很不错的.

微信公众号

欢迎扫描二维码关注本人微信公众号, 及时获取或者发送给我最新消息:
在这里插入图片描述

发布了203 篇原创文章 · 获赞 105 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/weifengdq/article/details/103318427