多机控制中区分每个无人机,获取其信息并发送控制指令,可以在.launch文件中使用标签来定义个命名空间,这样在每个命名空间下运行的mavros节点就可以相互独立。
<?xml version="1.0"?>
<launch>
<!-- namespace UAV1 -->
<group ns="uav1">
<!-- MAVROS and vehicle configs -->
<arg name="fcu_url" default="/dev/ttyACM0:921600"/>
<arg name="gcs_url" default="udp://:14540@192.168.43.12:14550"/>
<arg name="fcu_system_id" default="201"/>
<!-- MAVROS -->
<include file="$(find mavros)/launch/px4.launch">
<arg name="fcu_url" value="$(arg fcu_url)"/>
<arg name="gcs_url" value="$(arg gcs_url)"/>
<!-- setup FCU's system ID base on MAV_SYS_ID param showed in QGC -->
<arg name="tgt_system" value="$(arg fcu_system_id)"/>
<arg name="tgt_component" value="1"/>
</include>
</group>
</launch>
说明:上面这个xxx.launch文件需要放置到你的ROS工作空间下launch文件夹中,也就是你首先需要在机载计算机上创建workspace和package。