1. PX4启动仿真的launch系列文件
1.1 单个launch文件解读
打开每个文件的开头,都有对它功能的描述。
px4.launch
Posix SITL PX4 launch script
Launches Only PX4 SITL. This can be used by external projects
加载px4_sitl仿真的节点
posix_sitl.launch
Posix SITL environment launch script
launches PX4 SITL, Gazebo environment, and spawns vehicle
在px4.launch基础上,打开GAZEBO环境并使用spawn_model加载sdf格式的飞机模型
mavros_posix_sitl.launch
在posix_sitl.launch基础上,加入mavros package里的px4.launch(注意不是px4下的px4.launch)。
即开启了sitl仿真后,飞机信息通过mavros来传递交互。那么交互的端口号fcu_url即飞机端udp端口由<arg name="fcu_url" default="udp://:14540@localhost:14557"/>确定。这个参数主要是为传入mavros使用。
single_vehicle_spawn.launch
Posix SITL environment launch script
launchs PX4 SITL and spawns vehicle
打开sitl节点,以及使用xacro加载urdf格式的飞机模型。注意加载模型有urdf和上述sdf两种方式。后文会对两种方式详细比较。
multi_uav_mavros_sitl.launch
是由前面几个launch文件中的部分内容拼接并且改编的。
模型的生成方式,调用了single_vehicle_spawn.launch,并传入不同的mavlink_udp_port和mavlink_tcp_port用于不同飞机mavlink连接。
每架飞机的mavros传入不同的fcu_url和tgt_system参数,便于启动不同的mavros
补充:gcs_url是指地面站端口,而我们在仿真中一般用不到地面站。
关于udp端口的含义可以参照PX4官网,也可以参照这篇博客PX4仿真中的UDP端口匹配
提示:使用group ns的方式可以为包含的节点创建前缀名,用来区分每架飞机的节点和话题。
-
新版本的PX4-Autopilot还增加了一些launch文件,主要是区分了urdf和sdf两种模型生成方式single_vehicle_spawn_sdf.launch指明了用后缀名.sdf模型生成。single_vehicle_spawn_xacro.launch指明了用后缀名.xacro模型生成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)