You need to have a unique name in the node
part of all of your nodes, or put your nodes in a namespace.
You can see what your nodes are named with the command rosnode list
So either change the name
of your nodes to something like this(add arguments for the second sensor if you want or hard code the correct values):
just to be clear, edit the name: 'node pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala"'
<?xml version="1.0"?>
<launch>
<arg name="frame_id" default="ibeo_scala0" />
<arg name="ip_address" default="10.152.42.111" />
<arg name="port" default="12004" />
<arg name="is_fusion" default="false" />
<arg name="publish_raw_data" default="false" />
<node pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala0">
<param name="sensor_frame_id" value="$(arg frame_id)" />
<param name="ip_address" value="$(arg ip_address)" />
<param name="port" value="$(arg port)" />
<param name="is_fusion" value="$(arg is_fusion)" />
<param name="publish_raw_data" value="$(arg publish_raw_data)" />
</node>
<node pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala1">
<param name="sensor_frame_id" value="ibeo_scala1" />
<param name="ip_address" value="10.152.42.112" />
<param name="port" value="12005" />
<param name="is_fusion" value="$(arg is_fusion)" />
<param name="publish_raw_data" value="$(arg publish_raw_data)" />
</node>
</launch>
rosnode list
would output something like
/rosout
/ibeo_scala0
/ibeo_scala1
You could also add a namespace to the node, so the relevant lines would be something like
....
<node ns="sensor0" pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala">
....
</node>
<node ns="sensor1" pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala">
....
</node>
rosnode list
output in this case would be something like
/rosout
/sensor0/ibeo_scala
/sensor1/ibeo_scala
After getting the nodes running in either way you will also need to configure rviz to use the correct names
Regarding both nodes publishing to the same topic:
If you ran the nodes with different names instead of namespaces then this is expected and you would need to add remaps to the node. Something like:
....
<node ns="sensor0" pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala">
<remap from="as_tx/point_cloud" to="as_tx0/point_cloud"/>
....
</node>
<node ns="sensor1" pkg="ibeo_scala" type="ibeo_scala" name="ibeo_scala">
<remap from="as_tx/point_cloud" to="as_tx1/point_cloud"/>
....
</node>
if you run the nodes in different namespaces and the node is coded sensibly you shouldn't need to remap them, the topics should appear in the namespaces like
/sensor0/as_tx/point_cloud
/sensor1/as_tx/point_cloud
If they don't appear in the namespace you would need to change the code of the node or add remaps.