Fail to control two husky robots in Gazebo
I want to control two husky robots in Gazebo but only one of them can be controled. launch file 1:
<?xml version="1.0"?>
<launch>
<arg name="world_name" default="worlds/empty.world"/>
<arg name="laser_enabled" default="true"/>
<arg name="ur5_enabled" default="false"/>
<arg name="kinect_enabled" default="false"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(arg world_name)"/> <!-- world_name is wrt GAZEBO_RESOURCE_PATH environment variable -->
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>
<group ns="husky1">
<param name="tf_prefix" value="husky1_tf" />
<include file="$(find husky_gazebo)/launch/spawn_huskys.launch">
<arg name="laser_enabled" value="$(arg laser_enabled)"/>
<arg name="ur5_enabled" value="$(arg ur5_enabled)"/>
<arg name="kinect_enabled" value="$(arg kinect_enabled)"/>
<arg name="x" value="1.0"/>
<arg name="y" value="-1.0"/>
<arg name="robotNamespace" value="husky1"/>
<arg name="model" value="husky1"/>
</include>
</group>
<group ns="husky2">
<param name="tf_prefix" value="husky2_tf" />
<include file="$(find husky_gazebo)/launch/spawn_huskys.launch">
<arg name="laser_enabled" value="$(arg laser_enabled)"/>
<arg name="ur5_enabled" value="$(arg ur5_enabled)"/>
<arg name="kinect_enabled" value="$(arg kinect_enabled)"/>
<arg name="x" value="-3.0"/>
<arg name="y" value="-1.0"/>
<arg name="robotNamespace" value="husky2"/>
<arg name="model" value="husky2"/>
</include>
</group>
</launch>
another launch file:
<?xml version="1.0"?>
<launch>
<arg name="laser_enabled" default="true"/>
<arg name="ur5_enabled" default="false"/>
<arg name="kinect_enabled" default="false"/>
<!-- Robot pose -->
<arg name="x" default="10"/>
<arg name="y" default="10"/>
<arg name="z" default="0"/>
<arg name="roll" default="0"/>
<arg name="pitch" default="0"/>
<arg name="yaw" default="0"/>
<arg name="model" default="husky"/>
<arg name="robotNamespace" default="husky"/>
<param name="robot_description" command="$(find xacro)/xacro.py '$(env HUSKY_GAZEBO_DESCRIPTION)'
laser_enabled:=$(arg laser_enabled)
ur5_enabled:=$(arg ur5_enabled)
kinect_enabled:=$(arg kinect_enabled)
" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<!-- Load Husky control information -->
<include file="$(find husky_control)/launch/control.launch"/>
<!-- Include ros_control configuration for ur5, only used in simulation -->
<group if="$(arg ur5_enabled)">
<!-- Load UR5 controllers -->
<rosparam command="load" file="$(find husky_control)/config/control_ur5.yaml" />
<node name="arm_controller_spawner" pkg="controller_manager" type="spawner" args="arm_controller --shutdown-timeout 3"/>
<!-- Fake Calibration -->
<node pkg="rostopic" type="rostopic" name="fake_joint_calibration" args="pub calibrated std_msgs/Bool true" />
<!-- Stow the arm -->
<node pkg="husky_control" type="stow_ur5" name="stow_ur5"/>
</group>
<group if="$(arg kinect_enabled)">
<!-- Include poincloud_to_laserscan if simulated Kinect is attached -->
<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan" output="screen">
<remap from="cloud_in" to="camera/depth/points"/>
<remap from="scan" to="camera/scan"/>
<rosparam>
target_frame: base_link # Leave empty to output scan in the pointcloud frame
tolerance: 1.0
min_height: 0.05
max_height: 1.0
angle_min: -0.52 # -30.0*M_PI/180.0
angle_max: 0.52 # 30.0*M_PI/180.0
angle_increment: 0.005 # M_PI/360.0
scan_time: 0.3333
range_min: 0.45
range_max: 4.0
use_inf: true
# Concurrency level, affects number of pointclouds queued for processing and number of threads used
# 0 : Detect number of cores
# 1 : Single threaded
# 2->inf : Parallelism level
concurrency_level: 1
</rosparam>
</node>
</group>
<!-- Spawn robot in gazebo -->
<node name="spawn_husky_model" pkg="gazebo_ros" type="spawn_model ...
And I get nothing in rviz. I can collect sensor data when I run one husky robot.