PX4仿真中的UDP端口匹配

摘自:https://www.yuque.com/xtdrone/manual_cn/udp_matching

UDP端口匹配

图显示了对于任何支持的仿真器典型软件在回路(SITL) 仿真环境,系统的不同部分通过 UDP 端口连接,并且可以在同一台电脑或者同一网络上的不同电脑上运行。

1585662228475-2d721583-857e-4e11-8c11-7f6ed969893e.png

在多机仿真环境的配置中,具体要从这几个文件入手:

 

SITL 启动脚本:

/Firmware/ROMFS/px4fmu_common/init.d-posix/rcS #v1.9之后的PX4固件版本

多机 launch 文件:

/Firmware/launch/multi_uav_mavros_sitl.launch

以一架 UAV 为例,具体需要配置的参数如下(/Firmware/ROMFS/px4fmu_common/init.d-posix/rcS):

 

 

(1)多机 launch 文件需要配置的参数为:

 

    <!-- UAV0 -->
    <group ns="uav0">
        <arg name="ID" value="0"/>
        <arg name="fcu_url" default="udp://:14540@localhost:14580"/>
-------------------------------------------------------------------------
------------------------------------------------------------------------
            <arg name="mavlink_udp_port" value="14560"/>
            <arg name="mavlink_tcp_port" value="4560"/>

    </group>

 

(2)multi_uav_mavros_sitl.launch调用rcS脚本设置不同的ID和端口号

(此步骤由脚本自动完成,不需要手动更改)

param set MAV_SYS_ID 1

为每一个 UAV 设置一个 ID 号用来标识。

Param set SITL_UDP_PRT 14560

用于与 Gazebo 仿真器通信。

mavlink start -x -u 14556 -r 4000000
mavlink start -x -u 14557 -r 4000000 -m onboard -o 14540
mavlink stream -r 50 -s POSITION_TARGET_LOCAL_NED -u 14556 mavlink stream -r 50 -s LOCAL_POSITION_NED -u 14556 
······

关于 Mavlink 流的一系列端口设置(14556,14557,14540 等)可以使我们利用外部控制程序来控制 UAV 模型。

在 sdf 文件中要修改的 Gazebo 模型参数如下:

<mavlink_udp_port>14560</mavlink_udp_port>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值