En muchos casos, necesitamos usar varias cámaras, entonces, ¿cómo debemos configurarlas?
De manera análoga a la visualización de dos pequeñas tortugas en Turtlesim (tortuga 1 y tortuga 2), lectura recomendada: Una introducción suave a ros;
Sabemos que solo necesitamos crear dos espacios de nombres.
Para saber cómo configurar Basler en ROS, puede consultar:
En la ruta anterior, haga dos copias de default.yaml y asígneles el nombre anterior.
Abra dos archivos yaml y configure la identificación del dispositivo (tenga en cuenta que la identificación debe configurarse manualmente)
método de configuración de device_id (la última versión ha cambiado el documento cpp de write-xxxxxxxx, y el nombre del nodo también ha cambiado):
El método anterior no es intuitivo y se puede asignar directamente a través de la configuración de IP de pylon
Proporcione 01 y 02 respectivamente (u otros nombres que desee, que deben ser coherentes con el archivo .yaml )
A continuación, cambie el archivo de inicio y modifique pylon_camera_node.lauch para:
<?xml version="1.0"?>
<launch>
<arg name="respawn" default="false" />
<arg name="debug" default="false" />
<arg name="node_name" default="pylon_camera_node" />
<arg name="mtu_size" default="1500" />
<arg name="startup_user_set" default="CurrentSetting" />
<arg name="enable_status_publisher" default="true" />
<arg name="enable_current_params_publisher" default="true" />
<arg unless="$(arg debug)" name="launch_prefix" value="" />
<arg if="$(arg debug)" name="launch_prefix" value="gdb -ex run --args" />
<group ns ="01">
<arg name="config_file" default="$(find pylon_camera)/config/01.yaml" />
<node name="$(arg node_name)" pkg="pylon_camera" type="pylon_camera_node" output="screen"
respawn="$(arg respawn)" launch-prefix="$(arg launch_prefix)">
<rosparam command="load" file="$(arg config_file)" />
<param name="gige/mtu_size" value="$(arg mtu_size)"/>
<param name="startup_user_set" value="$(arg startup_user_set)"/>
<param name="enable_status_publisher" value="$(arg enable_status_publisher)"/>
<param name="enable_current_params_publisher" value="$(arg enable_current_params_publisher)"/>
</node>
</group>
<group ns ="02">
<arg name="config_file" default="$(find pylon_camera)/config/02.yaml" />
<node name="$(arg node_name)" pkg="pylon_camera" type="pylon_camera_node" output="screen"
respawn="$(arg respawn)" launch-prefix="$(arg launch_prefix)">
<rosparam command="load" file="$(arg config_file)" />
<param name="gige/mtu_size" value="$(arg mtu_size)"/>
<param name="startup_user_set" value="$(arg startup_user_set)"/>
<param name="enable_status_publisher" value="$(arg enable_status_publisher)"/>
<param name="enable_current_params_publisher" value="$(arg enable_current_params_publisher)"/>
</node>
</group>
</launch>
Dos de los espacios de nombres (ns) se pueden elegir a voluntad, siempre que sean diferentes.
Después de la modificación, ejecute el lanzamiento
roslaunch pylon_camera pylon_camera_node.launch
Seleccione el tema para mostrar en image_view de rviz o rqt:
Si no se muestra, simplemente agregue un conjunto de transformaciones tf.
rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link pylon_camera 50