PX4仿真中的UDP端口匹配

2023-05-16

摘自: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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4仿真中的UDP端口匹配 的相关文章

随机推荐