realsenseとmatlabの接続エラー(エラー: librealsense_mex Frame didn't arrive within 15000)
10 ビュー (過去 30 日間)
古いコメントを表示
matlab R2021aを用いて、RealSense D435iからデータ・画像を取得しようとしましたが、以下のようなエラーが出てしまい困っています。
エラー: librealsense_mex
Frame didn't arrive within 15000
エラー: realsense.pipeline/wait_for_frames (line 48)
out = realsense.librealsense_mex('rs2::pipeline', 'wait_for_frames', this.objectHandle);
エラー: a_trial_01 (line 7)
fs = pipe.wait_for_frames();
Intel RealSense SDK for Windows10 を以下のURLからダウンロード、インストールした後、下記コード参考サイトのように画像取得を試みたところ、このようになりました。このエラーメッセージで検索すると、+realsense packageにmatlabのバージョンが合っていないことが原因と書かれていたので、推奨されるmatlab R2017bをインストールし直して再度試しましたが、結局、同じエラーが出ました。
【追記】
念のため、 which depth_example で確認したところ、なぜかパスが通っていなかったので、パスを通そうとすると、「+から始まるフォルダにパスを通すことはできません。」と表示されてしまいました。仕方なく「+realsense」から「realsense」に名前を変更して実行したところ、
%R2021aの場合
名前 realsense.pipeline を解決できません。
エラー: a_trial_01 (行 1)
pipe = realsense.pipeline();
%R2017bの場合
変数 "realsense" またはクラス "realsense.pipeline" は未定義です。
エラー: a_trial_01 (line 1)
pipe = realsense.pipeline();
という異なるエラーが発生しました。
後者のエラーはこちらにあるのと同じもので、フォルダ名を「+realsense」に戻したら正常に動いたと書かれています。しかし、先にも述べたように、「+」から始まるフォルダにはパスは通せないというmatlabからのメッセージがあり、どうしたものか困っています。
解決策をお持ちの方はどうぞご教授ください。
1 件のコメント
Atsushi Ueno
2021 年 11 月 3 日
MATLABが「+」から始まるフォルダにパスを通せない理由は、それが特別な意味を持つからです。
MATLABにとって「+」から始まる名前のフォルダはパッケージであり、その下にパッケージやクラス以外のフォルダはありません。(あったとしてもMATLABにとっては無意味でパスを通す事も出来ません)
% The leading + means, that the contents of the folder is a package and has e.g. its own name space.
% パッケージ フォルダーは常に + 文字で始まります。
% 最上位のパッケージ フォルダーの親フォルダーは、MATLAB パス上になければなりません。
採用された回答
Atsushi Ueno
2021 年 11 月 3 日
Windows InstallerはパッケージをC:\Program Files (x86)\Intel RealSense SDK 2.0\matlab\+realsense\にインストールするそうなので、
- 3.の指示通りにパッケージ(+realsenseフォルダ)をMATLABのパスが通った場所に移動するか
- C:\Program Files (x86)\Intel RealSense SDK 2.0\matlabにMATLABのパスを通すか
どちらかを実施すれば良いと思います(動作確認はしていません)
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!