If you use the urdf_spawn. you can use this
<!-- AR_TAG Gazebo -->
<group ns="robot1">
<include file="$(find px4)/launch/urdf_spawn.launch">
<arg name="x" default="4" />
<arg name="y" default="0.0" />
<arg name="z" default="0.0" />
<arg name="urdf_robot_file" default="$(find px4)/urdf/ar_tag.urdf" />
<arg name="robot_name" default="ar_tag" />
</include>
</group>
<group ns="robot2">
<include file="$(find px4)/launch/urdf_spawn.launch">
<arg name="x" default="4.14" />
<arg name="y" default="0.0" />
<arg name="z" default="0.0" />
<arg name="urdf_robot_file" default="$(find px4)/urdf/ar_tag_s.urdf" />
<arg name="robot_name" default="ar_tag_s" />
</include>
</group>
Besides, the urdf_spawn file like this
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="x" default="0.0" />
<arg name="y" default="0.0" />
<arg name="z" default="0.0" />
<arg name="urdf_robot_file" default="$(find px4)/urdf/ar_tag.urdf" />
<arg name="robot_name" default="ar_tag" />
<!-- This Version was created due to some errors seen in the V1 that crashed GAzebo or went too slow in spawn -->
<!-- Load the URDF into the ROS Parameter Server -->
<param name="robot_description" command="cat $(arg urdf_robot_file)" />
<!-- Run a python script to the send a service call to gazebo_ros to spawn a URDF robot -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -x $(arg x) -y $(arg y) -z $(arg z) -model $(arg robot_name) -param robot_description"/>
</launch>
ref:
https://ubungmachtdenmeistersite.word...