多くの場合、複数のカメラを使用する必要がありますが、どのように設定すればよいでしょうか?
Turtlesim での 2 匹の小さなカメ (turtle1 と Turtle2) の表示に似ており、推奨読書: ros への優しい入門。
2 つの名前空間を作成するだけでよいことがわかりました。
ROS で Basler を構成する方法については、次を確認できます。
上記のパスで、default.yaml のコピーを 2 つ作成し、上記のような名前を付けます。
2 つの yaml ファイルを開き、デバイスの ID を設定します (ID は手動で設定する必要があることに注意してください)
device_id の設定方法(最新版では write-xxxxxxxx の cpp ドキュメントが変更され、ノード名も変更されます):
上記の方法は直感的ではないため、pylon の IP 構成を通じて直接割り当てることができます。
それぞれ 01 と 02 (または.yaml ファイルと一致する必要がある他の名前)を指定します。
次に、起動ファイルを変更し、pylon_camera_node.lauch を次のように変更します。
<?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>
名前空間 (ns) のうち 2 つは、異なっていれば自由に選択できます。
変更後、起動を実行します
roslaunch pylon_camera pylon_camera_node.launch
rviz または rqt の image_view に表示するトピックを選択します。
表示されない場合は、一連の tf 変換を追加するだけです。
rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link pylon_camera 50