官方安装指导教程
https://github.com/mavlink/mavros/blob/master/mavros/README.md#installation
直接安装
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
进入 mavros 文件夹
roscd mavros
下载脚本文件
sudo wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
执行脚本文件
chmod +x ./install_geographiclib_datasets.sh
sudo sh ./install_geographiclib_datasets.sh
如果执行报错,就直接去GeographicLib 官网下载(可能要挂梯子。。。)对应的三个包,下载得到三个文件夹。
1.GeographicLib geoids egm96-5 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm96-5.tar.bz2/download
2.GeographicLib gravity egm 96官网下载链接
https://sourceforge.net/projects/geographiclib/files/gravity-distrib/egm96.zip/download
3.GeographicLib magnetic emm2015 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/magnetic-distrib/emm2015.zip/download
在 /usr/share/ 路径下创建一个名为 GeographicLib 的文件夹,然后将上面下载的三个压缩包解压后放在这个文件夹内即可。
修改配置文件
sudo gedit ./launch/px4.launch
找到
<arg name="fcu_url" default="/dev/ttyACM0:57600" />
其中 ttyACM0 是飞控对应的串口,一般不需要修改,然后是要要修改冒号后面的波特率,将 57600 修改为 921600,波特率极限范围参考下文
USB转串口线的极限波特率_串口最大波特率_zsp_1的博客-CSDN博客
最终修改结果
然后启动 mavros 节点
roslaunch mavros px4.launch
如果连不上飞控的话就去 /dev/ 文件夹下查看有没有 ttyACM 或者 ttyUSB 文件,或者终端输入以下命令查看
ls /dev/tty*
然后换上显示的 ttyACM* 或者 ttyUSB*,如果出现报错
FCU: DeviceError:serial:open: Permission denied
则赋予权限
sudo chmod 777 /dev/ttyACM0
启动 mavros 节点
roslaunch mavros px4.launch
测试飞控与电脑是否连接
rostopic list
rostopic echo /mavros/local_position/pose
rostopic echo /mavros/state
如果打印话题信息就说明连接成功。