安装mavros
系列文章目录
安装UBUNTU系统与ROS Noetic:https://blog.csdn.net/weixin_70411664/article/details/157024148?fromshare=blogdetail&sharetype=blogdetail&sharerId=157024148&sharerefer=PC&sharesource=weixin_70411664&sharefrom=from_link
安装 RealSense SDK (驱动层):https://blog.csdn.net/weixin_70411664/article/details/157033528?fromshare=blogdetail&sharetype=blogdetail&sharerId=157033528&sharerefer=PC&sharesource=weixin_70411664&sharefrom=from_link
目录
二、安装地理数据集 (GeographicLib) —— 【最重要的一步】
前言
MAVROS 是连接你的 NUC(机载电脑) 和 飞控(Pixhawk/PX4) 之间的桥梁。在 Ubuntu 20.04 上安装它非常简单,但有一个隐藏的步骤(安装地理数据集)90% 的新手都会忘记,导致最后运行报错。
提示:以下是本篇文章正文内容,下面案例可供参考
一、直接安装二进制包
不需要编译源码,直接用
apt安装最稳。我们安装标准版和扩展包(Extras),因为 VINS 和 Ego-Planner 通常需要扩展包里的插件(如 Vision Pose)。打开终端,输入:
sudo apt install ros-noetic-mavros ros-noetic-mavros-extras
二、安装地理数据集 (GeographicLib) —— 【最重要的一步】
MAVROS 需要地图数据来进行经纬度转换。如果没有这一步,启动时会直接报错或者卡死。
复制并执行下面这段脚本(需要联网,下载速度取决于网速):
# 1. 下载安装脚本 wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh # 2. 赋予执行权限 chmod +x install_geographiclib_datasets.sh # 3. 运行脚本 (这一步需要输入密码,并等待下载完成) sudo ./install_geographiclib_datasets.sh(如果
wget下载不下来,说明网络不通,可以尝试找国内的镜像脚本,或者多试几次)如果还是不行就自己手动下载egm96-5.tar.bz2
假设你已经把这个压缩包下载到了你的 “下载” (Downloads) 文件夹里。
1. 创建目标文件夹 系统默认可能没有这个文件夹,我们需要先手动建一个:
sudo mkdir -p /usr/share/geographiclib/geoids2. 进入你存放压缩包的目录
cd ~/Downloads # 或者 cd 你的文件路径3. 解压文件
tar -xjf egm96-5.tar.bz2 # 注意:如果你的文件名是 GeographicLib-geoids-egm96-5.tar.bz2,请替换上面的文件名
4. 拷贝文件到系统目录 解压后,你应该能看到一些
.pgm或.xml文件(或者一个文件夹)。我们需要把核心数据文件移进去。 (根据解压出来的结构,执行下面最适合的一条):情况 A(解压后直接是文件):
sudo cp egm96-5.* /usr/share/geographiclib/geoids/情况 B(解压后是一个叫
geoids的文件夹):sudo cp geoids/* /usr/share/geographiclib/geoids/✅ 最终验证
执行这一行命令,如果能看到文件,说明安装成功:
ls /usr/share/geographiclib/geoids/
三、解决串口权限问题
你的 NUC 将通过 USB 线(或串口线)连接飞控。Ubuntu 默认不允许普通用户读取 USB 串口数据,所以我们需要给自己“授权”。
# 把当前用户加入 dialout 组 sudo usermod -a -G dialout $USER注意:执行完这一步后,最好重启一下电脑,或者注销重新登录,权限才会生效。
四、修改mavros的launch文件
先跳转目录(这一步是关键):
roscd mavros然后再打开文件:
sudo gedit找到launch文件,并进入
sudo gedit px4.launch此时就可以修改了。
如果你是用 USB 线直接插飞控:
接口通常是
/dev/ttyACM0。波特率建议保持
57600或者改成115200/921600(取决于你飞控参数SER_TEL1_BAUD的设置,VINS 推荐用高波特率 921600 以保证 IMU 数据不延迟)。

更多推荐



所有评论(0)