官方安装教程:ROS Package: mavros
官网只提供了在ubuntu20.04环境下mavros的安装教程,这里我决定直接从github上下载源码进行编译安装
问题1:geographic_msgs包缺失
解决方案:安装geographic_msgs包
sudo apt install ros-humble-geographic-msgs
问题2:pymavlink子模块缺失
解决方案:安装子模块pymavlink,在mavlink包下打开终端输入
git submodule update --init --recursive
问题3:ASIO库缺失
ASIO是一个用于网络和低层 I/O 编程的跨平台 C++ 库,libmavconn依赖它来实现MAVLink的网络通信功能
解决方案:安装ASIO库
sudo apt install libasio-dev
问题4:无法检测到mavlink包
解决方案:因为我是直接git clone的官方版本,并没有按照官方教程来,因此删除mavlink包,以官方教程的形式重新下载mavlink包。mavros包可以直接git clone官方版本,不需要重新下载。
先下载一些需要的依赖:
sudo apt install python3-rosinstall-generator python3-vcstool python3-rosdep2
在mavros_ws下再依次执行下述命令:
rosinstall_generator --format repos mavlink | tee /tmp/mavlink.repos
vcs import src < /tmp/mavlink.repos
rosdep update
rosdep install --from-paths src --ignore-src -y
删除原先build好的文件夹,准备重新编译:
colcon build --packages-select mavlink
colcon build