mavros中的gcs_url和fcu_url的含义

mavros中的gcs_url和fcu_url的含义

参考:mavros中的gcs_url:="udp://:14556@192.168.1.106:14551"含义
MAVLink 实战一:通过UDP发送MAVLink消息

1.参数的含义

UDP URL 通用配置说明

bash 复制代码
udp://[bind_host][:port]@[remote_host][:port][/?ids=sysid,compid]
  • bind_host :本地绑定 IP(默认 0.0.0.0 ,建议留空)
  • port:本地监听端口(自定义,但需避免冲突)
  • remote_host :目标主机 IP(localhost 为本地,192.168.1.106 为远程设备)
  • remote_port:目标端口(需与对端程序配置一致)
  • 可选参数?ids=sysid,compid 用于指定 MAVLink 系统 ID 和组件 ID

1. GCS_URL 配置:udp://:14556@192.168.1.106:14550

bash 复制代码
udp://[bind_host][:port]@[remote_host][:port]
↓             ↓                ↓
udp://:14556@192.168.1.106:14550
  1. FCU_URL 配置:udp://:24540@localhost:34580
bash 复制代码
udp://:24540@localhost:34580
↓             ↓                ↓
本地端口24540  远程主机localhost  远程端口34580
  1. FCU_URL 配置::/dev/ttyTHS0:230400
bash 复制代码
/dev/ttyTHS0:230400
↓            ↓
串口设备路径   波特率

2. 配置示例(launch 文件)

xml 复制代码
<launch>
  <!-- 配置MAVROS节点 -->
  <node pkg="mavros" type="mavros_node" name="mavros" clear_params="true">
    <param name="gcs_url" value="udp://:14556@192.168.1.106:14550" />
    <param name="fcu_url" value="udp://:24540@localhost:34580" />
    <!-- 其他参数... -->
  </node>
</launch>

三种连接配置对比表

配置类型 示例 URL / 参数 协议 结构解析 适用场景 波特率 / 端口 特点
串口连接 fcu_url:/dev/ttyTHS0:230400 串口 /dev/ttyTHS0(设备路径):230400(波特率) 本地硬件直连(如 Jetson) 230400 bps 稳定低延迟,需物理线缆
UDP 连接 1 gcs_url:="udp://:14556@192.168.1.106:14550" UDP udp://(协议):14556(本地端口)@192.168.1.106(目标 IP):14550(目标端口) 远程 GCS 连接(如地面站) 14556/14550 无线通信,适合局域网内控制
UDP 连接 2 <arg name="fcu_url" default="udp://:24540@localhost:34580"/> UDP udp://:24540(本地端口)@localhost(本地 IP):34580(目标端口) PX4 SITL 仿真(本地) 24540/34580 仿真环境专用,无需硬件

2.gcs_url 参数的非必须性

在硬件在环仿真的时候,USB 直连电脑和飞控时, gcs_url 参数并 "不重要" 。

  1. QGC 的自动检测机制
    QGC 通过系统串口枚举(如 Linux 下的 /dev/ttyUSB* 设备)自动发现飞控硬件,无需依赖启动命令中的 gcs_url 配置。只要飞控通过 USB 正确连接电脑并被系统识别,QGC 即可直接建立通信。
  2. gcs_url 的适用场景
    gcs_url 主要用于 非 USB 通信场景 (如 UDP 网络通信),例如:
    • 飞控与地面站通过无线数传模块通信时,需配置 gcs_url 为数传的 UDP 地址(如 `udp://:14556@192.168.1.106:14550)。
    • 仿真环境中通过网络模拟飞控与地面站的通信链路时,需明确 gcs_url 的网络地址。

3.在QGC中创建udp连接

注意,一般QGC在启动的时候会自动监听14550端口,不需要自己创建udp连接,如果需要的话可按此操作建立udp与别的端口的通信。

相关推荐
想放学的刺客44 分钟前
单片机嵌入式试题(第27期)设计可移植、可配置的外设驱动框架的关键要点
c语言·stm32·单片机·嵌入式硬件·物联网
李永奉1 小时前
杰理芯片SDK开发-ENC双麦降噪配置/调试教程
人工智能·单片机·嵌入式硬件·物联网·语音识别
wotaifuzao2 小时前
STM32多协议网关-FreeRTOS事件驱动架构实战
stm32·嵌入式硬件·can·freertos·uart·modbus·spi
llilian_162 小时前
信号发生器 多通道多功能脉冲信号发生器应用解决方案 多功能脉冲发生器
功能测试·单片机·嵌入式硬件·测试工具
yuanmenghao3 小时前
Classic AUTOSAR深入浅出系列 - 【第十六篇】MCAL:为什么 MCU 换了,上层几乎不用动
单片机·嵌入式硬件·autosar
czwxkn5 小时前
3STM32(stdl)外部中断
stm32·单片机·嵌入式硬件
羽获飞5 小时前
从零开始学嵌入式之STM32——6.与GPIO相关的7个寄存器--重要知识
stm32·单片机·嵌入式硬件
Evand J5 小时前
【MATLAB例程】无人机三维路径规划|A*,RRT(快速随机树算法), APF(人工势场法)算法对比|可自定义起终点、障碍物坐标。附下载链接
算法·matlab·无人机·astar·路径规划·rrt·apf
棒子陈5 小时前
使用cursor移植单片机的串口驱动(DMA+队列式串口驱动,APM32F103移植到PY32F071)
单片机·嵌入式硬件·cursor·py32f071
VALENIAN瓦伦尼安教学设备6 小时前
镭射对心仪在联轴器找正作用
大数据·数据库·人工智能·嵌入式硬件