从零开始搭建 Apollo 自动驾驶系统(三)——定位模块配置

此部分分为导航设备配置、系统文件配置、定位文件配置三个模块。

最后一个模块相对简单,此处我们不叙述。而前两个模块中,较复杂的在于第二部分,涉及到很多玄学问题。

导航设备配置

首先,进行导航设备配置。基本按照官方文档的代码示例就可以完成,只是 copy-paste 的工作,最后一定记得输入保存语句然后重启。这里需要稍作解释的是网口配置里面的各种 IP。

每个路由器都有一个域名(在路由器上写着),比如是 192.168.0.1。用网线连上 IPC 之后会自动给 IPC 一个 IP,一般是 192.168.0.2。然后再用网线连上 M2 的网口,这时我们可以给 M2 指定 IP,比如 192.168.0.123注意此 IP 的最后一个数字不能和路由器一样

设置网关时可以直接使用路由器的 IP,子网掩码一般默认是 255.255.255.0,也可以登录路由器的局域网进行查看。设置完成后,我们可以检测一下 M2 的 IP 是否真的配置好了,可以在终端中对 M2 的 IP 地址 ping 一下,如 ping 192.168.0.123,检查是不是会有正常的反馈。

系统文件配置

下面就要进行最最搞心态的系统文件配置了。

首先要有一个千寻知寸账号,好像还不便宜。有了账号之后,只需要记住自己的差分账号、差分密码即可,因为 RTK 基站的 IP 地址、端口、挂载点这些参数,全国人民都是一样的,所以直接抄官方文档就可以。

然后需要修改配置文件,相关文件可以直接在 apollo 文件夹下搜索到,一般来说会有 2 个或者 4 个同名文件,修改前两个即可。

修改时可以参考官方文档最后常见问题的 Part b,同时把 +zone 选项也修改了。

修改好了之后你就要进入到“检查 GPS 信号”这一环节了(在这一环节我们卡了两天之久)。按照一些官方人士的说法,为了避免玄学问题,在执行 cyber_monitor 之前最好先将终端最大化。正常情况下在执行 cyber_monitor 之后会看到如下界面。

顺带一提,这里可以通过➡进入某个条目,通过⬅退出某个条目。这一操作细节在官方文档最最后也有提及。

这里可能会出现几个问题:

  • 界面中没有 /apollo/sensor/gnss/best_pose 条目。可以尝试在启动 bootstrap.sh 后,在 DreamView 的车型里面选择 Dev-kit,然后再启动 gps.shlocalization.sh 以解决。
  • 界面中可能没有 /apollo/sensor/gnss/imu 这一条目,这代表 M2 收不到数据,那就可能是因为 M2 该升级固件了。可以在 cutecom 里面执行 $cmd,get,sysinfo*ff,它会输出目前 M2 的版本信息,需要询问客服看看当前是不是最新版。这时有两种情况:
    • 如果不是最新版,那就得联系客服进行固件版本的更新。
    • 如果是最新版,那就得看看 M2 是不是内部损坏了(几率很小),详细步骤见文末。

一旦你看到了文中所说的 NARROW_INT,就说明 M2 已经差分上了,也就是说 GPS 已经连上了。一旦 /apollo/sensor/gnss/imu 条目里有了数据更新,那就说明 M2 收到了 GPS 传过来的数据,你的 GPS 模块配置成功了。

如果 /apollo/sensor/gnss/imu 没有数据,那么可能需要重新启动 Apollo 系统,或者检查 M2 的固件是否达到最新。还有一种可能是 gnss_conf.pb.txt 突然自行改变了,原来设置的帐号密码等信息消失了。这时再设置一次即可。

最后就是定位模块的配置,这里只需要根据官方文档改一下相关的参数。然后在 /apollo/localization/pose 条目下观察有没有数据更新。一般在出现 NARROW_INT 之后,需要等上两三分钟才能看到定位信息,此处需要耐心。

附录:关于 M2 不差分的问题总结

截至 2020.7.17,M2 的最新版本为 V2.8,如果遇到不差分,首先查看程序是不是最新版本,如果不是升级到最新版本再测试。

查看 M2 程序版本方法,通过升级口或者 USB 口,发送以下命令:$cmd,get,sysinfo*ff

程序没问题后,查看 M2 硬件设备是否正常。方法如下(在 windows 下):

  1. 调出 cmd,输入 ipconfig,看到自己电脑的 IPv4 地址,如下所示。

  1. 打开电脑以太网的 IPv4 的地址属性,不自动获得 IP 地址,并手动输入 IP 地址、子网掩码、默认网关等信息。如下所示。

  1. 设置 M2 的 localiplocalgate(网关),M2 的 localip 与电脑 IP 设置不一样即可。M2 的 localgate 和电脑相同。
  2. 用网线连接 M2 和电脑,在 cmd 中输入:ping localip –t,其中 localip 是之前设置的 M2 的 localip。ping 通 M2 后,如果看到连续输出,证明 M2 的程序以及硬件是好的。如果 ping 的时候,不输出,或者超时,证明 M2 硬件有损坏,需要返厂维修。ping 通的结果如下所示。

在 M2 硬件以及设置都没问题后,再不差分的情况,需要检查千寻的账号是否过期、4G 路由器、以及测试环境是否能定位。

关于千寻账号不断 log in 和 log out 的问题,可能有几种原因:

  1. 没定位。
  2. 用户处于千寻没有覆盖或者临界地区。
  3. 网络拥堵。
  4. 同一千寻账号,多台设备使用。

相关文章github地址:https://github.com/zqy1018/social_practice_with_apollo

(此系列文章为作者原创,如有引用,请注明出处。如有其他开发问题,欢迎大家在评论区讨论。)

Apollo-r5.5.0自动驾驶开发指南(三)——定位模块配置相关推荐

  1. Apollo 自动驾驶开发套件(D-KIT)

    Apollo 自动驾驶开发套件(D-KIT)

  2. Apollo自动驾驶开发笔记47——apollo编译报错this rule is missing dependency declarations for the following files

    Apollo自动驾驶开发笔记47--apollo编译报错this rule is missing dependency declarations for the following files 报错信 ...

  3. JFreeChart 1.0.6 用户开发指南(中文)

    JFreeChart 1.0.6 用户开发指南(中文) 草稿(0.9.0) 2007-10-25 2000-2007, Object Refinery Limited. All rights rese ...

  4. “当了十年IT程序员,我转型做自动驾驶开发的这五年”

    [CSDN 编者按]自动驾驶战场的火热,吸引了无数开发者和从业者融入其中.然而与传统互联网存在很大的不同,自动驾驶是汽车产业与人工智能.物联网.云计算等新一代信息技术深度融合的产物,因此,当很多开发者 ...

  5. 为什么自动驾驶使用linux,一旦用上,欲罢不能,为何ADiGO 3.0自动驾驶系统如此让人上瘾?...

    随着特斯拉汽车在国内的大卖,很多被忽视的问题也逐渐显现出来.比如对中国路况的"水土不服"的问题,特斯拉的Autopilot自动驾驶辅助系统是基于美国的实际交通情况所研发,而美国的地 ...

  6. 自动驾驶开发云平台业务分析

    自动驾驶开发云平台业务分析 自动驾驶车辆量产需积累大量里程经验,传统车端研发和测试方式,无法满足市场需求,业界普遍采用"云+端"研发迭代新模式,通过测试车队采集海量道路环境数据,在 ...

  7. 当了十年 IT 程序员,我转型做自动驾驶开发的这五年”_《新程序员》编辑部的博客-CSDN博客

    "当了十年 IT 程序员,我转型做自动驾驶开发的这五年"_<新程序员>编辑部的博客-CSDN博客

  8. 学习笔记14--其他自动驾驶开发平台

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  9. 线控性能比拼,MKZ与CRV作为自动驾驶开发平台的全面测评

    全球自动驾驶创业公司最主流的测试开发用车是林肯MKZ,这是因为其高性能高精度的线控能力表现,易于使用逆向工程实现改装,以及存在成熟的线控改造服务提供商AS和Dataspeed,共同为自动驾驶初创及辅助 ...

最新文章

  1. Ubuntu 12.04安装Sun JDK 6
  2. 综述:激光雷达全景分割的传统点云聚类方法的技术总结
  3. 10年测试工程师首谈测试前景,如何25天进入滴滴大厂
  4. centos 7 No package python-dev available
  5. 怎么用计算机拟合数据,数据拟合的几个应用实例-毕业论文.doc
  6. php实现单例模式类singletonv,php设计模式 singleton (单例模式)
  7. ECharts 常用图表一看即会「散点图」「饼图」「地图」「雷达图」「仪表盘」
  8. org.apache.subversion.javahl.ClientException: Working copy is not up-to-date
  9. 飘逸的python - yield简明教程
  10. 数据治理常见的误区有哪些
  11. linux下Cacti网络监控之监控华为quidway s2000交换机
  12. Python:导出QQ聊天记录-让我们看看逗比群友都在聊什么
  13. 制作字幕.html教程,手机拍的视频如何加字幕 字幕制作软件使用教程
  14. XCTF-Cat+Bug
  15. 【一日一logo_day_19】sos
  16. 商业综合体能耗在线监测管理系统_商场管理平台
  17. 【小程序】滚动到指定位置
  18. 论文投稿指南——中文核心期刊推荐(新闻事业)
  19. 杂记文件cs.txt
  20. Java从小白到大牛第1篇 Java基础-关东升-专题视频课程

热门文章

  1. 友盟iOS微信登陆为什么没有回调
  2. 计算今年和去年的时间,一个月的都是,用来计算同比
  3. Oracle删除用户drop user报错解决方案
  4. 【eNSP】vlan隔离
  5. 搬运:您的安全设置不允许将此应用程序安装到您的计算机上
  6. 2022北京老博会/北京养老展/北京智慧养老展/老年用品展
  7. u盘装机,UEFI模式下无法识别u盘的情况解决
  8. Java实现的LU分解,高斯消去法求线性方程组的解
  9. java常用类(一)
  10. 知识管理,让生活更美好