树莓派ubuntu mate系统连接PX4并通过UDP连接至QGC地面站

1 篇文章 0 订阅
1 篇文章 0 订阅

前提条件:

  1. 树莓派安装了ubuntu mate 20.04系统
  2. ubuntu mate已经安装好ros(这里是noetic版本)系统,Mavros
  3. 安装好QGC地面站的PC
  4. USB数据线(确定能传输数据)

进入正题

  1. QGC设置相关参数

    PC端QGC连接PX4,进入Parameters,找到Standard下面的MAVLINK,MAV_1_CONFIG初始为Disable,不会出现MAV_1_MODE和MAV_1_RATE这些参数,只有选择MAV_1_CONFIG为TELEM 2之后,重启飞控板,才会出现MODE和TARE这两个参数。至于为什么这样设置,请参考PX4官方关于配置协同计算机的参考文档
    MAVLINK参数设置
    之后再Standard的Serial参数找到SER_TEL2_BAUD参数设置为921600
    Serial参数设置
    改完之后,请务必重启飞控,查看相应参数是否已经更改成功。

  2. 更改px4.launch参数
    sudo vim opt/ros/noetic/share/mavros/px4.launch
    

    更改下面两行,第一行是fcu_url参数,作用是ubuntu系统通过USB连接PX4,注意树莓派系统是ttyACM0,如果是别的嵌入式板子,去搜一下,可能是ttyUSB0;第二行是gcs_url参数,作用是PC端的QGC地面站通过UDP网络连接至树莓派的ubuntu系统,注意PC机与ubuntu系统需连接至同一个无线网,另外ubuntu系统的端口是14550,需要在系统中开放14550端口,具体操作可以百度搜一下。

     <arg name="fcu_url" default="/dev/ttyACM0:921600" />
     <arg name="gcs_url" default="udp://:14550@" />
    

    在这里插入图片描述
    将树莓派ubuntu系统与PX4通过USB数据线连接,在ubuntu终端输入以下命令测试,这里注意两点1)PX4连接树莓派之前,树莓派的USB接口不能插入任何别的设备,防止其他设备占用ttyACM0端口;2)如果出现serial0: receive: End of file错误,请插上航模电池,接入电源至px4飞控,解决方案来源这里
    终端输入以下命令,测试树莓派ubuntu系统与否PX4连通

    roslaunch mavros px4.launch
    

    测试成功界面
    在这里插入图片描述

  3. PC端QGC UDP设置

    1)添加Listening Port为14550,监听端口可以选择其他端口,务必保证端口不被占用且前后设置保持一致
    2)添加Target Host的地址为树莓派ubuntu系统所在的网络IP地址,与PC端应在同一局域网下PC端QGCUDP网络设置
    PC端QGC通过UDP与树莓派连接的PX4通信,必须是在ubuntu系统启动PX4.launch的前提下

  • 3
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值