高専向けmyRIO組込開発コンテスト用コミュニティページ

返信
これは自由参加グループです。 グループメンバーとして参加し、投稿を開始するには、サインインして [グループへ参加] をクリックしてください。
Highlighted

FPGAを用いて図心が求まらない

コンテストに参加しようと思っている初心者です。

FPGAを用いて図心(重心)を求めようとVIを作ってみましたが,表示には最初の一瞬に図心が

表示されますが,その後変な表示が続き,その内また図心が表示され,その後また表示がおかしく

なることを繰り返します。

このVIは赤色を追いかけることを考えてデモを作ってみたものです。

何が問題なのか分かる方おられませんか。

0 件の賞賛
メッセージ1/4
2,999件の閲覧回数
3 件の返信

Re: FPGAを用いて図心が求まらない

morit様

日本ナショナルインスツルメンツ技術部の荒深です。

ご質問頂きました図心を求める件ですが、弊社技術部でのサポートはお客様のVIのデバッグや、サンプルコードの作成は行っておりませんので、それをご理解いただいた上で、デバッグするにあたり、何点かアドバイスだけさせていただきますので、何卒よろしくお願いします。

LabVIEW内のサンプルプログラムを元に修正を加えてVIを作られていると存じます。STMで始まるサブVIが見付からないため、こちらで実行することはできませんので、具体的にどのような動作をするかは確認できておりません。

最初の一瞬に図心が表示され、その後に変な表示がされ、再度、図心が表示され、また表示がおかしくなるとありますが、具体的にどのような「変な表示」と「おかしな」表示になりますでしょうか?画像など貼り付けていただけると、もう少し分かりやすいかと思います。

以下がデバッグのアドバイスになります。問題がどこにあるか分からず、要因が色々ありそうなので、小さな塊ごとに確認されるのが良いかと思います。そしてFPGAのVI ⇒ FPGAとRTとの通信部分 ⇒ RTのVI ⇒ RTとWindowsとの通信部分 ⇒ WindowsのVIというように確認されると良いかと思います。

(1)

FPGAのプログラム内にあるVision Assistant等のアルゴリズムはWindows上で動かした場合、希望する解析がされますでしょうか?もし、Windows上でも希望する解析がされるのであれば、FPGA上でも希望する解析がされると思いますが、Windows上でも希望する解析がされない場合は、まず、そこから見直し検討をするのが良いかと思います。

例えばVision Assistantで画像解析をしないで、そのままVision Assistantを通した場合にエラーが出るかどうかを確認するのもありだと思います。

(2)

FPGAのVI内でシングルサイクルタイミングループのストラクチャを使っていますが、図心の出力からX CentroidとY Centroidでフィードバックノードを使われていますが、ここにフィードバックノードを使う必要はありますでしょうか?ここの部分はフィードバックノードを使う必要はないのではと思います。

(3)

FPGAで取得した画像はデータ転送する上でレイテンシー(遅延)を考慮した上で、RTホスト側やWindowsホスト側のプログラムが書かれておりますでしょうか?画像サイズが大きく、希望した速度で送れなく、タイムアウトエラーが出て、表示がおかしくなっていることも考えれます。

(4)

現在、どれぐらいのフレームレートか分かりませんが、例えばフレームレートを下げた場合、希望する動きになるのでしょうか?

以上、宜しくお願いします。

日本NI 技術部

荒深 容好

0 件の賞賛
メッセージ2/4
2,620件の閲覧回数

Re: FPGAを用いて図心が求まらない

>(1)FPGAのプログラム内にあるVision Assistant等のアルゴリズムはWindows上で動かした場合、希望する解析がされますでしょうか? 同様のVIをRTのみを使って実行すると正しく動作しますが,図心を求める部分をFPGA上へ移すと正しい値が得られません。  >具体的にどのような「変な表示」と「おかしな」表示に なりますでしょうか? 最初に1秒ほど200や300くらいの正しい値が表示されますが,その後,値がどんどん大きくなり最大値の4095まで行って,しばらくすると 200くらいを表示した後どんどん大きくなることを繰り返します。カメラはLifeCam HD-300を使っています。  >(2)、図心の出力からX CentroidとY Centroidでフィードバックノードを使われていますが はい,必要ありません。Output Valid信号の使い方が分からず,色々と試してみた後が残っています。このノードを削除しても結果は同じです。  >STMで始まるサブVIが見付からないため、 STMはサンプルプログラムの中の「シンプルTCP/IPメッセージングライブラリ(STM)」の中のSTM Windows Installer(stm_202_installer.zip) をインストールしました。

0 件の賞賛
メッセージ3/4
2,620件の閲覧回数

Re: FPGAを用いて図心が求まらない

morit様

日本ナショナルインスツルメンツ技術部の荒深です。

RT上で上手く動作して、FPGA上では上手く動作しないということはありまして、

一番の要因はRT上でサポートされている全てのデータタイプはFPGA上ではサポートされておりませんので、

こういったところも影響しているかもしれません。

またFPGAとRT間のエラーとして多いのは、オーバーフローとタイミングエラーがあります。

下記サイトを紹介させていただきますので、参考にしていただければと思います。

■DMAアプリケーションでバッファエラーを回避する(FPGAモジュール)

http://zone.ni.com/reference/ja-XX/help/371599H-0112/lvfpgaconcepts/fpga_dma_fifo_buffer_size/

■タイミング違反を修正する(FPGAモジュール)

http://zone.ni.com/reference/ja-XX/help/371599H-0112/lvfpgaconcepts/fpga_fix_timing_violations/

こちらのCommunityサイトは弊社技術部による技術サポートは対象外のため、

何卒ご理解のほど、よろしくお願い申し上げます。

日本NI 技術部

荒深 容好

0 件の賞賛
メッセージ4/4
2,620件の閲覧回数
返信
これは自由参加グループです。 グループメンバーとして参加し、投稿を開始するには、サインインして [グループへ参加] をクリックしてください。