利用ROS多机将PX4_sitl的各个模块分布到不同计算机

本文详细介绍了如何在ROS多机环境中配置px4_sitl与Mavros的连接。通过设置参数paramset MAV_BROADCAST1,启动px4_sitl和mavros,利用udp和tcp端口进行通信。主机通过rcs文件设定udp端口号,并通过roslaunch指令启动px4_sitl和mavros。从机连接时需指定fcu_url参数,确保正确连接到主机。完成连接后,通过rostopic list和echo命令验证mavros的连接状态。整个过程涉及了ROS、px4_sitl、Gazebo、Mavros和UDP/TCP通信的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

px4仿真官网链接
首先明确px4_sitl与各个模块的连接方式,包括API/offboard(MAVROS),GCS(qgc)是通过udp端口连接,仿真器(gazebo)是通过tcp端口连接。
在这里插入图片描述

测试一:ROS多机下,主机启动px4_sitl ,从机启动Mavros
具体操作步骤:

  1. 首先配置ROS多机
  2. 进入主机的px4_sitl脚本文件rcs
    设置参数 param set MAV_BROADCAST 1
  3. 在主机启动 roslaunch px4 posix_sitl.launch (px4_sitl)
  4. 在从机端启动 roslaunch mavros px4.launch (mavros)
    注意:
    参数arg name=“fcu_url” default=“udp://:14500@192.168.3.112:14557”
    14500为主机rcs文件中的udp端口号,可以自定义(默认是14540)udp_offboard_port_remote=$((14500+px4_instance))。
    192.168.3.112是ROS多机下的主机ip

至此,连接完成。可在主机端rostopic list ,rostopic echo /mavros/state 查看mavros是否连接上。在这里插入图片描述
注意:在从机端启动roslaunch mavros px4.launch 后,
主机终端会输出从机IP,INFO [mavlink] partner IP: 192.168.3.113
在这里插入图片描述

launch文件分析:

1.roslaunch px4 posix_sitl.launch
在这里插入图片描述
调用mavlink_sitl_gazebo功能包下的iris.sdf文件,iris.sdf文件定义了mavlink的端口号,
在这里插入图片描述
2.roslaunch mavros px4.launch
在这里插入图片描述

参考链接

学习笔记:Linux下的Gazebo与jMAVSim仿真
关于rcS文件的UDP端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值