前言
最近在Jetson设备上折腾MAVROS无人机环境,被网上各种老旧教程坑惨了。光是egm96相关的地理数据配置,就卡了很久,遇到一堆无解报错。网上90%的教程链接失效、资源残缺、步骤错误,没人讲清楚真实踩坑点。我亲自实测排错,整理出这篇纯干货避坑指南,专门解决 egm96-5、egm96、emm2015 三类MAVROS必备地理数据的所有问题,同时附上自己实测完好的完整资源包,大家直接抄作业就行。
主要踩坑点集中在这4个:
1. 官方源无科学上网下载速度极慢,基本下载失败;
2. 各大国内镜像站资源全部404,根本下不到完整文件;
3. 网上流传的压缩包大多是残缺文件,解压必报错;
4. 新手容易被误导,多余执行安装脚本,完全白费功夫。
一、实际踩坑报错汇总
坑点1:官方源下载巨慢,无科学上网几乎下不动
GeographicLib官方自带数据源服务器在境外,国内裸连状态下,下载速度几十KB甚至直接超时中断。很多人用官方脚本自动下载,要么等几个小时下不完,要么下载一半断开,最后得到残缺文件,为后续解压报错、MAVROS缺数据埋下隐患。这也是我做这篇教程、分享完整离线资源的核心原因,直接绕过官方源,全程本地部署,彻底解决网速问题。
坑点2:国内镜像全部失效,照搬教程必404
之前跟着各路教程,尝试中科大、中科院的GeographicLib镜像链接,全部打不开、404报错。
这也是绝大多数人后续解压报错、MAVROS缺数据的根本原因:从源头就下不到完整资源。
下面这些旧链接直接放弃,不用再试,纯浪费时间:
-
中科大 geographiclib 旧镜像路径
-
中科院iscas 旧资源路径
坑点3:残缺压缩包,解压直接报错
很多人下载的 egm96-5.tar.bz2 文件不完整,解压时会弹出经典错误:
zip2: Compressed file ends unexpectedly;
perhaps it is corrupted?
tar: 归档文件中异常的 EOF
tar: Error is not recoverable: exiting now
这里重点说一句:不是你命令输错了,是文件本身坏了/没下完。网上很多网盘、老旧博客的资源都是残缺版,根本用不了。
坑点4:最大误区:地理数据不需要安装
很多新手跟着教程,解压完就跑去执行 ./install.sh,完全没必要!
egm96、egm96-5、emm2015 全部都是纯静态资源文件,不是程序,不需要编译、不需要安装、不需要配置环境。
唯一需要做的:放到MAVROS认可的固定路径即可。
二、实测可行的正确部署方案
2.1 我的运行环境
设备:NVIDIA Xavier NX 16G(本人实测设备)
系统:Ubuntu 20.04
ROS:Noetic
MAVROS:官方最新编译版
2.2 前置准备:清理旧残缺文件(必看)
很多小伙伴之前跟着其他教程下载过残缺、损坏的资源包,残留文件会导致后续部署依旧报错。所以在使用我提供的完整资源前,建议先清理本地旧文件,保证部署纯净无冲突。没有下载过旧文件的新手,可跳过这一步。
通过网盘分享的文件:Mov地理信息三剑客.7z
链接: https://pan.baidu.com/s/1TW83d3HdH9pxvLxmEoZThQ?pwd=7i6i 提取码: 7i6i
cd ~/Downloads
rm -rf egm96-5.tar.bz2 egm96.zip emm2015.zip
2.3 核心部署:附件包解压+放置规范(新手必看)
本次部署全程使用我提供的三套完整无损附件资源,彻底规避官方源下载慢、镜像404、文件残缺所有问题。MAVROS 识别地理数据有唯一固定路径:/usr/share/GeographicLib/,只有放到这个系统目录,软件才能自动识别、正常加载,无需修改任何配置文件。
所有地理数据必须放在这个目录,软件才能自动识别,不用改任何配置文件。
我整理的三份可用资源(文章附件可直接下载):
-
egm96-5.tar.bz2:大地水准面高程数据,解决无人机高度定位异常
-
egm96.zip:重力场校准数据
-
emm2015.zip:地球磁场校准数据
大家将文章附件下载完成后,默认保存到电脑 Downloads 文件夹即可,无需手动改路径。直接复制下方一键命令,完成解压、自动归类部署,全程无多余操作、无需联网下载:
# 创建识别目录
sudo mkdir -p /usr/share/GeographicLib
# 解压高程数据到系统目录
sudo tar -xjf ~/Downloads/egm96-5.tar.bz2 -C /usr/share/GeographicLib
# 解压重力、磁场数据
sudo unzip -o ~/Downloads/egm96.zip -d /usr/share/GeographicLib
sudo unzip -o ~/Downloads/emm2015.zip -d /usr/share/GeographicLib
2.4 检查是否部署成功
执行下面命令,不报错、能查到文件,就说明部署完成:
最终正确目录结构如下:
/usr/share/GeographicLib/
├── geoids/ # 高程数据
├── gravity/ # 重力数据
└── magnetic/ # 磁场数据
三、部署完成运行效果
三套数据全部部署完成后,重新启动 MAVROS,不会再弹出地理数据缺失、文件损坏相关报错,所有定位、解算相关插件正常加载。
看到以下日志,就代表环境完全没问题,可以正常用于无人机真机、仿真开发:
[INFO] MAVROS started. MY ID 1.240, TARGET ID 1.1
此时无人机高度定位、重力磁场校准、姿态解算功能全部正常,无任何资源报错。
四、附件资源说明(亲测可用)
为了让大家不再到处找资源踩坑,彻底摆脱官方源慢速下载、镜像失效的问题,我上传了自己调试通过的全套完整资源,全部本地校验无误、解压零报错、大小正常:
1. egm96-5.tar.bz2(完整2.2MB,无损坏、解压一次性成功)
2. egm96.zip(完整重力场数据)
3. emm2015.zip(完整2015版磁场校准数据)
优势:彻底避开全网失效镜像、官方源下载慢、文件残缺问题,适配 NVIDIA Xavier NX 16G + Ubuntu20.04 + Noetic + MAVROS 全套环境,下载后直接离线解压部署,零报错、零调试成本。
五、最终避坑总结
1. 境外官方源国内裸连下载极慢、易中断,不推荐使用,优先用离线完整资源;
2. 网上老旧国内镜像链接全部失效,不要盲目照搬旧教程下载资源;
3. egm96-5解压报错,百分百是文件残缺/损坏,不是操作命令问题;
4. 这三类都是纯资源文件,只解压不安装、不编译,别做无用功;
5. 资源必须放入固定路径 /usr/share/GeographicLib/,否则MAVROS无法识别。
结语
其实MAVROS地理定位的报错,大多不是环境配置问题,而是官方源下载困难、资源老旧残缺、路径错误导致的。这三套数据是无人机ROS开发的必备文件,网上靠谱资源极少。
本次分享的全套资源和操作步骤,均是本人在 NVIDIA Xavier NX 16G、Ubuntu20.04、ROS Noetic 环境下实测通关,适配绝大多数Jetson设备ROS无人机开发场景,直接离线部署,完美解决下载慢、下载失败、解压报错等问题,希望能帮各位开发小伙伴少走弯路!
&spm=1001.2101.3001.5002&articleId=161616221&d=1&t=3&u=eb13b302ed4c4a6d8f43e7f4e360b58e)
450

被折叠的 条评论
为什么被折叠?



