Closed hama6767 closed 1 year ago
usb_camera_driver_nodeの生成を行わなかった場合も、症状は同じでしょうか?
はい、launchファイルのみの起動でusb_camera_driver_nodeの生成を行わない場合もログ、症状は同様になります。
StViewerで画像が取得できている状態とROS2で画像が取得できていない状態のログをWireSharkで取得し比較することで、どの時点(画像取得前? 画像取得後?)で問題が発生しているかがわかるかもしれません。 ※ 明日から夏季休業期間に入る為、1週間ほど回答出来ませんが、予めご了承ください。
@ose-support-ros 様 こちらの問題ですが、StViewerの再インストールにてROS2ノードはうまく起動するようになりました。 一方で、時々カメラ自体がUbuntuより接続が遮断されてしまう現象が発生しています。 こちらに関しては、StViewerでも下記画像のエラーが出てそれ以降認識されなくなります。 物理的に再接続することで再度認識可能になりますが、現在リモートを交えた開発を実施しており、対策が厳しい状態です。
icsiauto@icsiauto-ELSA-VELUGA:~$ ros2 launch stcamera_launch stcamera_launch.py
[INFO] [launch]: All log files can be found below /home/icsiauto/.ros/log/2023-08-31-17-49-22-359476-icsiauto-ELSA-VELUGA-591610
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [stcamera_launch-1]: process started with pid [591612]
[stcamera_launch-1] 1693471762.450767355 [stcamera_launch.stcameras] [INFO] Setting severity threshold to 20
[stcamera_launch-1] 1693471770.533060768 [stcamera_launch.stcameras] [ERROR] /home/icsiauto/dev_ws/src/stcamera_ros2/stcamera_components/src/stcamera_node_impl.cpp initSystemsAndInterfaces 198: Unable to initialize OMRON SENTECH GenTL Producer: -1011 = IFUpdateDeviceList(0x0x55de7a665030, 0x0x7ffcf1b6e7b3, 500) An operation timeout time expired before it could be completed.
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[stcamera_launch-1] 1693471789.264797325 [rclcpp] [INFO] signal_handler(signal_value=2)
[INFO] [stcamera_launch-1]: process has finished cleanly [pid 591612]
チケットの問題とは別である可能性が高そうです。 必要に応じて別のチケットをreopenか別所での対応としてください。
上記、お手数おかけしますがよろしくお願いいたします。
再現頻度はどの程度でしょうか? また、ケーブル長やその他のUSB機器の接続など再現環境に何か特徴的なことはありませんでしょうか?
再現頻度に関しては、数分〜2、3時間の使用で発生します。 こちらはまだ詳細な検証ができていませんが、ROS2ノードでの読み込みを実施した後での発生頻度が高い気がします。
他のUSB機器の接続等はありません。ハブも使用しておらず、PCのポートに直接接続しております。
情報ありがとうございます。 品質のよいケーブルを使用されているようなので、ケーブルの問題ではなさそうです。 コンピュータ名からして、使用されているPCはELSA VELUGA G5-ND 3100Lでしょうか?
@ose-support-ros PCについては、ノートタイプのELSA VELUGA A5000 G3-15になります
https://www.elsa-jp.co.jp/products/detail/veluga-a5000-g3-15-for-win/
情報ありがとうございます。 頂いたURLはWindowsのものでしたが、OSをLinuxに入れ替えて使用されているということでしょうか? それとも仮想環境で使用されているのでしょうか? あるいは購入されたのは、下記の製品でしょうか? ELSA VELUGA A5000 G3-15 for Linux
仮想環境は使っておらず、仰るとおり https://www.elsa-jp.co.jp/products/detail/elsa-veluga-a5000-g3-15-for-linux/ の製品を利用した直接インストールされたUbuntuを利用しております。
情報ありがとうございます。 こちらでも検証し、何かわかりましたらご連絡いたします。
続報がありますので報告いたします。
こちらですが、画像を3216x2208, 50FPS, 3000Mbps程度で転送していたため、ケーブルかOSかどこかでハングしていたようです。StViewer経由で解像度とFPSを調整したところ、ROS2Nodeもうまく動くようになりました。 3000MbpsはUSB3.0の実測値を大幅に上回っているようなので、注意を払う必要がありそうです。
ご連絡ありがとうございます。
USB 3.2 Gen1(Super Speed)は5GHzですが、カメラ内部で使用されているチップの制限により理論値で4000Mbpsですが、プロトコルのオーバーヘッド等やセンサーの制限等により、それを下回る速度(本カメラでは約364Mbps)となります。 USB 3.0が登場したばかりの頃のホストコントローラーやそのドライバではそこまで高速には動作しませんでした。最近の環境ではデータを受け取るだけなら問題はないようですが、その後の処理(ROSのトピック生成のためのデータのコピーなど)が追い付かなくなっているのかもしれません。 FPSを低下させても支障がないようでしたら、既にお試しのように解像度やFPSを下げたり、ソフトトリガーモードで使用(必要な時だけ画像データを取得)することで、問題を回避できると思われます。
承知しました、ビットレートを最適化する方針で利用します。
可能であれば参考までに伺いたいのですが、上記の条件でSTCさんの環境では問題なく動作しますでしょうか? 問題自体は解決しましたので、このチケットはCloseします。ご対応ありがとうございました。
弊社でもバスパワーで使用した場合に、環境によっては途中で映像が取得できなくなってしまう現象が確認できました。 本製品はフリーランモードで使用すると、900mAを超えてしまうため、外部電源のご利用を推奨しております。ただし、環境(PCおよびケーブル)によってはバスパワーでも正常に動作する場合もあります。 フレームレートを落とすことで消費電力を抑えられる(40FPS時およそ905mA, 30FPS時およそ860mA)ため、フレームレートを低下させることで現象が改善したのであれば、消費電力が原因だった可能性があります。
失礼いたします。
カメラモデル STC-MCS70BU3V Sentech SDK version 1.2.1
Linux環境のコンピュータにUSBカメラを接続した後、StViewerでカメラ画像の表示を確認できるのですが、ROS2 node として読み込んだ際に画像がPublishされません。arv-viewer等汎用USB3 Visionビューアーでも画像の表示ができています。 カメラは読み込まれているように見えるのですが、rqt_image_viewやros2 topic echo でコールしてもトピックに画像が流れていない現象が発生しています。以下ログになります
トリガーモードはOFFになっているようです
画像の読み込みは有効化されています。
以上になります。 お手数おかけしますが、よろしくお願いいたします。