导读

DR:(英文为Dead Reckoning,航迹推算)。用于推算的传感器大致有:陀螺仪、四轮速、车速脉冲、3D加速度计等。在车载导航中,航位推算是使用先前确定的位置,通过测量移动的距离和方位,计算出经过的时间后的位置。航位推算受累加误差影响,随着时间推移,推算出的位置误差会越来越大,需要配合GNSS位置修正。

高德车载导航和业内主流的汽车厂商有很多合作,在前装项目中,汽车厂商为了能更好地为用户提供更为准确的导航定位功能,大多都会选择DR+GNSS的定位方案,而这种定位方案数据源除了GNSS信号外,还有传感器的信号(陀螺、加速度计和车速等)。市面上现有的GPS回放APP和方案只有针对GNSS的,这样车载导航内部在进行需求验证、问题修复验证时就需要实车路测,需要占用很大的人力投入和时间。但在真实的业务场景中,不是每个项目都能满足有实车的条件。

本文将介绍目前高德车载导航Android平台的DR+GNSS回放方案。

高德车载导航DR模式

前端融合模式

DR又分为前端融合和后端融合。前端融合指的是信号融合的工作是由系统方/硬件方负责的,高德车载导航只负责地图匹配工作。也就是车载导航收到系统传过来的信号是经过系统方/芯片融合计算后的信号,与纯GPS的区别在于未定位状态下也会有信号传到HMI层。前端融合模式也包含前端融合+MMF模式,MMF是指地图匹配反馈信息,由于GPS和陀螺仪等信号都不能保证百分百准确,前端融合的推算也会产生偏航,尤其在隧道场景,所以需要MMF在适当时机纠正融合信号。

融合信号是将GPS信号、陀螺仪、加速度计和脉冲等信息综合处理后得到的轨迹信号。

后端融合模式

简单点说是指融合信号的生成工作是在车载导航定位引擎内部实现的。对于定位引擎来说,后端融合模式的输入信息是GPS、陀螺仪、脉冲、加速度计等原始信号。

所谓“后端融合”是指惯导系统推算出的融合信号,是与地图数据和导航引擎通过通信协议紧密配合的,导航系统仅在汽车启动时使用GPS信号进行定位,车辆行驶过程中始终以惯导系统推算出的融合经纬度信息为主进行导航,只有当导航出现偏差时,才选用GPS信号精准时的数值进行实时校正。因此,在GPS信号出现折射、反射、衍射、漂移、甚至失去GPS信号时仍能精准导航。

之前了解到的Android平台信号回放都是通过记录的经纬度等信息,通过调用Android原生模拟信号接口进行设置,而应用从原生接口接收到的定位信号就是模拟信号。

缺点

依赖原生模拟信号的方式只支持GPS模式,对于DR定位模式还需要依赖传感器信号的输入,目前Android原生还未支持这块数据的模拟。

在DR回放工具之前车载导航定位相关场景问题验证流程如下图:

DR回放工具前的QA验证流程

对于DR定位模式项目,之前都是上路验证测试,人力和时间成本高。

解决方案设计

高德车载导航信号输入方案大部分都是跨进程通讯,所以回放工具设计最大化模拟了原来车载导航数据获取的方式,使用了独立进程进行回放。

回放工具分为前端融合、后端融合模式,目前两种模式回放的通讯方式都是通过自定义AIDL协议。

回放文件选择

回放文件的选择有两种,一种是车载导航HMI将收到的信息自定义格式保存到文件中;另一种是使用定位引擎已有的定位信息日志文件。

综合考虑到两种回放文件的优缺点,决定复用引擎的定位信息文件,车机性能比较吃紧,不能因为这个功能增加车机消耗。

回放方案选择

实现回放有两种方式:

一是通过跨进程方式,外部程序通过AIDL传输数据给到车载导航。

另一种是将回放功能集成到车载导航中,做为车载导航中的一个彩蛋功能。

以下为两种方案的优缺点:

综合以上问题,我们最终选择了独立进程回放的方式。

该方案是通过模拟跨进程传输信号方式,自定义的JSON格式复用了高德车载导航标准的后端融合传输方案的格式,最大程度还原了后端融合高德车载导航APP端接收、解析的流程。

工具回放实现流程如下图:

从上图可知,DR工具实现了DR项目台面回放验证问题能力,大大缩短了QA同学验证定位场景问题的时间,如原本实车路测需要2个小时,而现在只需要0.5小时则可以实现从打包到回放查看。而对于外地路测发现的问题复现和问题修复验证则从无法验证到本地实现验证。

旧方案反馈和新的优化

旧方案反馈

以前的工具已经在Android平台高德车载导航项目上广泛使用,带来便利的同时,也发现了一些需要优化改进的地方,该工具在后端融合回放时存在几个问题:

1、人为操作步骤多,需要操作5步才会开始回放。

2、恢复定位上下文经常失败,且失败原因没法快速调查定位到。

3、前装车机自定义数据存储路径情况较多,导致每次使用工具回放都需要先去了解车机具体路径再进行修改。

优化规划

针对以上问题,对工具执行步骤进行缩减,将5步缩减至一键回放,对于车机自定义路径问题,通过已有AIDL通道新增获取车机自定义数据路径,去掉人为填写必要。至于恢复定位上下文经常失败问题,目前总结多是因为自定义数据路径没有权限导致,可通过命令方式尝试赋值权限,如果失败则做个原因提醒。

优化后的方案如下:

小结

通过回放工具的推广使用,大大缩短了高德车载导航Android平台的定位问题修复验证、路测问题的回放复现等工作量,大大减少了实车路测带来的时间成本和人力消耗,提高了研发和QA团队的效率。

高德车载导航Android平台DR回放技术方案相关推荐

  1. html怎么添加导航图片格式,高德车载导航自研图片格式的探索和实践

    背景 随着近年来车内多媒体设备从无屏向有屏的发展,市场上出现了各种形状.尺寸和分辨率的车机屏幕,其丰富程度远远超过Android适配的手机屏幕. 高德车载导航过去采用的多套UI 图片资源,通过拉伸.缩 ...

  2. 高德车载导航自研图片格式的探索和实践

    背景 随着近年来车内多媒体设备从无屏向有屏的发展,市场上出现了各种形状.尺寸和分辨率的车机屏幕,其丰富程度远远超过Android适配的手机屏幕. 高德车载导航过去采用的多套UI 图片资源,通过拉伸.缩 ...

  3. android平台短视频技术之 视频编辑的经验分享

    android平台短视频技术之 视频编辑的经验分享. 提示一: 各位看官,这里分享的是视频编辑,即剪切/拼接/分离/合并/涂鸦/标记/叠加/滤镜等对视频的编辑操作.不是流媒体网络播放等功能,请注意. ...

  4. Android平台数据抓取方案分享

    说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 Android平台数据抓取方案分享直接点击即可前往访问. ...

  5. Android APK加壳技术方案----代码实现

    本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/8746917 作者:Jack_Jia    邮 ...

  6. Android 平台的Python——CLE方案实现(三)

    Android 平台的Python--基础篇(一) Android 平台的Python--JNI方案(二) Android 平台的Python--CLE方案实现(三) Android 平台的Pytho ...

  7. 车载导航android音频策略,Android车载导航全局声控装置及方法

    Android车载导航全局声控装置及方法 [技术领域] [0001]本发明涉及智能Android车载系统领域,尤其涉及一种Android车载导航全局声控装置及方法. [背景技术] [0002]在行车过 ...

  8. GB/T28181-2016传输要求和Android平台设备接入技术实现

    相关协议规范 GB/T28181-2016公共安全视频监控联网系统 信息传输.交换.控制技术要求相关的传输要求如下: 5.1 网络传输协议要求 联网系统网络层应支持IP协议,传输层应支持 TCP和 U ...

  9. android导航地图,地图导航-Android平台-开发指南-高德地图车机版 | 高德地图API

    直接导航 传入终点,以用户当前车位为起点直接发起导航. 参数说明 参数说明是否必填类型 ActionAUTONAVI_STANDARD_BROADCAST_RECV是String KEY_TYPE协议 ...

最新文章

  1. How does SGD weight_decay work?
  2. JavaEE路径陷阱之getRealPath
  3. 机器学习的9个基础概念和10种基本算法总结
  4. 葡萄城报表介绍:交叉报表
  5. Google使用人工智能压缩图片,效果优于JPEG
  6. WinForm 里面ListBox的问题
  7. Kafka常见痛点及优化方案
  8. win10系统崩溃怎么修复_新手怎么重装系统win10
  9. Spring框架 初步入门猜想
  10. 精选 | 2018年3月R新包推荐
  11. Java虚拟机类加载器--双亲委派模型
  12. 异速联服务器配置系统管理员,金万维异速联服务器配置单.docx
  13. ca盘显示无证书_ca证书提示没有正确的安装驱动程序
  14. 在Mac使用终端命令安装DMG
  15. js中如何获取font标签中的内容
  16. 2021年的学习Flag:只争朝夕,不负韶华
  17. mysql的msi文件下载
  18. JDK11下J2Cache序列化器反射异常及--illegal-access解决方案
  19. 关于暗影骑士擎重装win10纯净版遇到的问题(使用的u盘作为系统盘)
  20. echarts 饼状图 (数据为0或很小的扇形显示问题、扇形间隔)

热门文章

  1. 分布式人工智能:基于TensorFlow RTOS与群体智能体系(文末留言赠书)
  2. 一个博士的深度调查:中国农村男青年“高价娶妻”研究
  3. access violation at address 异常
  4. 个人思考:中台建设-用户中台-V2
  5. java时间格式大全
  6. 机器学习排序算法:RankNet to LambdaRank to LambdaMART
  7. github学生认证——申请学生开发包
  8. 如何向外行解释,Bug是如何产生的?
  9. 二叉树:广义表搭建二叉树
  10. Muti-bin的一些相关函数和设置