官网链接 下图显示了px4_sitl与各个模块的连接方式。 系统的API/Offboard,GCS部分通过 UDP 连接,可以在同一台计算机或同一网络上的另一台计算机上运行。 仿真器部分通过本地 TCP 端口 4560与PX4_sitl相连 。然后仿真器使用 Simulator MAVLink API 与 PX4 交换信息。
1. Gazebo 模型文件 1)gazebo模型被定义为xacro文件,xacro文件可用来生成urdf文件。路径如下: 每个gazebo模型应该有一个名为 mavlink_udp_port 的参数,它定义了 Gazebo 与 PX4 节点通信的 UDP 端口。 模型的 xacro 文件将用于生成包含您选择的 UDP 端口的 urdf 模型。 要定义 UDP 端口,请在启动文件中为每个车辆设置 mavlink_udp_port,请参见此处作为示例。
2. px4_sitl 1)px4_sitl 通过gazebo模型中定义的mavlink_udp_port与Gazebo仿真器通信。 2)在PX4 SITL app端设置UDP端口,需要在启动文件中设置SITL_UDP_PRT参数,匹配前面讨论的mavlink_udp_port。 每一个飞机对应一个启动文件rcs,rcs中包含了px4的参数,路径如下: param set SITL_UDP_PRT 14562
3)launch文件中启动文件rcs的路径是根据车辆和 ID 参数生成的,如下所示: arg name=“rcS” value="
(
f
i
n
d
p
x
4
)
/
p
o
s
i
x
?
c
o
n
f
i
g
s
/
S
I
T
L
/
i
n
i
t
/
(find px4)/posix-configs/SITL/init/
(findpx4)/posix?configs/SITL/init/(arg est)/KaTeX parse error: Expected group after '_' at position 14: (arg vehicle)_?(arg ID)"
3. MAVROS
- mavros节点可以被单独设置在launch文件中,如下所示:
2)如果你想用ROS控制无人机,你必须在启动文件rcs中设置独立的MAVLink stream端口号 这个端口号必须和启动mavros的launch文件中的端口号一致,
|