CompactRIOSingle-Board RIO使用したマシンビジョン

内容

CompactRIOプラットフォームは、ビジョン機能を内蔵し、完全統合された効率的な設計によりサイズを小型化して製品の早期市場投入を実現した初のプログラマブルオートメーションコントローラ(PAC)の1つです。ボードレベルのオプションと堅牢なモジュール式コントローラにより、USBとGigabit Ethernet経由でのカメラ接続が可能となっています。CompactRIOプラットフォームを使用すると、リアルタイムプロセッサとFPGAの両方で実行可能な多くの画像処理関数を含むVision Development Moduleにより、組込ビジョンアプリケーションを迅速に開発することができます。

図1:CompactRIOプラットフォームでビジョン機能と高精度の制御/監視を統合できます。

 

アプリケーション

CompactRIOプラットフォームの画像サポートは、ミックスドI/Oに関連する様々な制御/計測アプリケーションに利用できます。例えば以下のようなアプリケーションがあります。

    • 自律型ロボット
      CompactRIOプラットフォームにカメラを接続することで、センサ接続、ビジョン、モーション、制御関数を1つのシステムで統合できるため、プロフェッショナルなロボットプロジェクトの開発に利用できます。
    • 組込医療機器
      画像集録機能と小型のフォームファクタは、スライドスキャナや自動顕微鏡などに最適なプラットフォームで、リアルタイムOSのオプションならFDAバリデーションも取得しやすくなります。
    • 工業用監視
      また、エリアスキャンやサーマルカメラなどのビジョン製品をCompactRIOプラットフォームに接続できるため、機械状態監視や船舶監視などの工業用アプリケーションに利用できます。

図2. サーマル画像をトレンドホットスポットに追加することで、さらに役立つデータが機械状態監視アプリケーションに追加されます。

 

カメラ接続

画像データを追加すると、システムは周囲の環境をより正しく理解できるようになります。多くの機械では、ビジョンシステムはメインの機械コントローラから分離されており、結果のデータはシリアル/Ethernet通信によりやり取りされます。ただし多くの最新アプリケーションでは、さらなる低遅延時間、小型サイズ、低電力が求められています。CompactRIOの高度な制御機能にオンボード画像集録/処理機能を統合することで、ビジョンとI/Oの緊密な同期が可能となります。 CompactRIOハードウェアは、Gigabit EthernetとUSBによるカメラ接続が可能で、数千種類に及ぶ工業用カメラと通信できます。

Intel AtomおよびIntel Core i7プロセッサを搭載したCompactRIOコントローラの高性能ラインナップは、GigE Visionカメラをサポートしているため、最長400メートルのケーブルと最大1 Gb/秒の帯域幅に対応します。監視アプリケーションでは、Ethernetポートを持つ任意のCompactRIOターゲットに接続されたIPカメラから圧縮画像を取り込むことができます。USBポートを備えた全てのCompactRIOおよびSingle-Board RIOターゲットは、互換性のあるUSB3 Visionカメラから画像を集録できます。USB 2.0ポートでなぜUSB3 Visionカメラが使えるのでしょうか?USB3 Visionは、カメラインタフェースの業界標準となっているもので、NI画像入力ソフトウェアはこれを使用して多数のUSB3 Visionカメラに接続することができます。マシンビジョンカメラのメーカーはこの規格を早くも導入しており、USB3 VisionカメラもGigE Visionカメラと同様に出回っています。USB3 Visionカメラの中にはUSB2.0と互換性があるものとないものがあります。そのためCompactRIOに搭載されたUSB 2.0ポートでも、使用可能なUSB3 Visionカメラがあります。USB 2.0ポートに下位互換性のあるUSB3 Visionカメラのほか、Basler USB3 Visionカメラも互換性があります。USB3 Vision、GigE Vision、IPなど多彩なカメラに接続できるため、現在のCompactRIOターゲットのユーザにとっても様々なイメージングオプションをすぐに利用できます。

NI-IMAQdxドライバのおかげでソフトウェアの操作性は一貫しているので、どのCompactRIOターゲットやカメラインタフェースを選ぶかによってアプリケーションの要件が変更しても、コードを編集する必要はありません。

 

FPGA画像プロセッシング

多くの画像処理アルゴリズムは、FPGAの並列特性を利用して、ビジョンアプリケーションのプロセッサに負荷のかかる部分を軽減するので、プロセッサは解放されて他のタスクを処理できるようになります。Vision Development Moduleには、50種類を超えるFPGA画像処理関数のほか、プロセッサとFPGAの間の画像転送を効率的に行うAPIが含まれています。そのためFPGAは、処理された画像をホストに戻すか、画像処理をFPGAの他の処理やI/Oと緊密に結合するコプロセッサとして使用することができます。そのため、視覚的サーボ制御などのアプリケーションで、高性能のソリューションを構築できます。

図3. 画像処理をFPGAに任せることでビジョンタスクを迅速化

Vision Development Moduleに含まれているVision Assistantを使用して、FPGAビジョンアプリケーションをすばやく試作・開発できます。Vision Assistantは構成形式の試作ツールで、画像処理アルゴリズムを反復的に実行して、パラメータの変更が画像にどう影響するかを確認することができます。Vision Assistantが生成するFPGAコードは、パフォーマンスを向上させるために並列実行にも対応できるよう最適化されています。

 

推奨ソフトウェア/ハードウェア

推奨ハードウェア: CompactRIO高性能コントローラ
画像入力用推奨ドライバ:  Vision Acquisitionソフトウェア 2014年9月以降に含まれるNI-IMAQdx
画像処理用の推奨ソフトウェア: Vision Development Module