QGC地面站PC桥接px4(QGC+wifi+机载计算机+px4)


用px4做的无人机,由于手头没有数传,需要进行无人机姿态环和位置环调参,通过QGC地面站PC桥接px4实现读取飞控状态参数的功能。

1 在机载计算机上安装ubuntu

根据自己的需求16.04和18.04都可以(20.04没试过,应该也可以)

2 安装ros

ros根据不同的ubuntu版本安装对应的就可以,不同版本间安装过程大同小异,可以参考这两篇博客
https://blog.csdn.net/weixin_45810108/article/details/109112673
https://blog.csdn.net/weixin_45810108/article/details/109849828

3 机载计算机上安装mavros

1安装mavros

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras

注意这条命令是基于melodic版本的ros

2 安装安装mavros相关的 geographiclib dataset

cd /opt/ros/melodic/lib/mavros
sudo ./install_geographiclib_datasets.sh

如果安装速度没反应,可以打开sh文件并自行下载相关的文件,解压到对应文件夹里即可

4 安装ssh服务

要将运行qgc的电脑连接到机载计算机,需要让这两个系统连接到同一个wifi下,并安装ssh服务,将机载计算机端的ssh服务设为ie开机启动,安装可以参考下面这篇博客
https://blog.csdn.net/weixin_45810108/article/details/112783548

5 连接px4和机载计算机

参考官方教程

6 地面站PC用ssh控制机载计算机

7 QGC上建立通讯连接

在地面站pc用ssh控制机载计算机后,运行mavros px4.launch

roslaunch mavros px4.launch

如果报错基本就是fcl_url没有匹配,打开终端(根据ROS版本置换melodic和kinetic):

cd /opt/ros/melodic/share/mavros/launch
sudo gedit px4.launch

找到
arg name=“fcu_url” default="/dev/ttyACM0:57600"
问题就在这儿.因为是USB连接的,所以得改为:
arg name=“fcu_url” default="/dev/ttyUSB0:57600"
然后就可以运行了.运行过程中运行指令

rostopic echo /mavros/state

会发现问题,显示connected :false;mavros更根本没有和飞控连接上,这里主要由以下几个原因:

串口有没有接对
波特率是否正确
机载计算机是否设置了串口

这里要去QGC端设置,QGC连上飞控以后,
设置MAV_1_CONFIG为TELEM2
将波特率设置为上面/dev/ttyUSB0:57600的57600.

现在去运行mavros就可以显示connected True了.
但你又会发现一个新的问题:
他会显示:
TTL的速度异常
这里就再次:

cd /opt/ros/melodic/share/mavros/launch

找到px4_config.yaml文件

sudo vi px4_config.yaml

将timesync_rate:设置为0.0即可.至此,就可以实现QGC读取到飞控状态了

  • 6
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值