Spinnaker SDK:マシンビジョン用に構築されたAPIライブラリ

さまざまなTeledyne GigEおよびUSB3エリアスキャンカメラに対応しているため、エンジニアはSpinnakerを使用して、ビジョンアプリケーション用のソフトウェアソリューションをすばやく開発することができます。カメラを完全に制御するオプションにより、ユーザーは画像パイプラインの各レイヤーにアクセスして管理することもできます。さらに、カメラ機能がコンピューターに動的にロードされます。コードを再コンパイルすることなくカメラを追加できるため、システムの将来性を確保することができます。

SpinView GUI

Spinnakers SpinView GUIという直感的なインターフェイスを使用して、ユーザーはすべてのカメラを制御することができます。SpinViewのデモアプリケーションを使うと、ユーザーはコードを記述することなくすべてのカメラ機能を検索し、評価できます。 つまり、開発者に頼らずに、ビジョンシステムの機能をすばやく理解することができます。

SpinViewには、Teledyneカメラで画像を簡単に取得できるさまざまな機能があります。ユーザーはSpinnakerのシンプルなフレームワークを利用して、同日中に概念実証のデモを作成することができます。ディスプレイのレンダリング時にコンピュータープロセッサー(CPU)やグラフィックカード(GPU)を使って、シームレスに操作できます。このようにして、Spinnakerは利用可能なハードウェアに適応し、使用されているシステムに関係なくシームレスに動作するようになります。

追加機能:

画像をディスクに保存する

動画をディスクに録画する

ヒストグラムと十字線を表示する

カスタマイズ可能なレイアウト

機能検索

カスタマイズ可能なログ記録

既存のプロジェクトをベースに構築

TeledyneのSpinnakerは、簡単に開発を行えるように設計された、シンプルで直感的なAPIを提供します。C++、C#、C、VB.NET、Python 2.7、Python 3.10、ActiveX、DirectShowをサポートしているため、開発者は使いやすいプログラム言語やアプリケーションに最適なプログラミング言語を使用して、アプリケーションを構築できます。すぐに習得できるAPIを使用して、コードのトラブルシューティングとデバッグを簡単に行えます。

SDKを初めて使用する開発者でも、サンプルコードを利用することで、SDKの各種機能の使用方法についてのガイダンスを得ることができます。これらのサンプルは、さまざまなシナリオでSDKを使用する方法を示しているため、開発者がSDKを独自のプロジェクトに適用する方法を理解するのに役立ちます。

幅広いカメラオプション

ビジョンシステムが拡張したり、新しいカメラを導入したりした場合でも、Spinnakerではさまざまなイメージングソリューションを継続的に提供しているため、安心できます。サポートされているカメラのインターフェイスには、USB3、1GigE、5GigE、10GigEが含まれす。Blackfly S、Firefly S、Genie Nano、Ltシリーズ、Forge、Oryxなどのモデルも含まれており、今後もサポートを拡大する予定です。

このように、カメラのマシンビジョンポートフォリオ全体で継続的にサポートが提供されるため、開発者はアプリケーションを作成し、将来のアップグレードを見据えてアプリケーションを再利用し続けることができます。柔軟なシステムはさまざまなカメラに利用できるため、開発者は複数のカメラモデルを含む複雑なプロジェクトを作成し、将来的にビジョンシステムのカメラをアップグレードしたり交換したりすることができます。アプリケーションは、今後何年にもわたって新しいハードウェアとの互換性が保たれます。ビジョンソリューションを開発するエンジニアは、開発リソースを無駄にしてしまうことなく、将来につながる1回限りの投資を行うことができます。

アプリケーションツール

 

Spinnakerのさまざまな視覚化とデバッグのツールを使うと、開発者はさまざまなビジョンアプリケーション向けにシステムのトラブルシューティングと最適化を行うことができます。最新バージョンのAdapterConfigツールにより、5GigEカメラや10GigEカメラなど、Teledyneの各種製品ラインでGigEカメラを簡単にセットアップできます。このプロセスは自動的に行われ、各GigEカメラでプラグアンドプレイ体験を利用できます。また、各カメラを最適化し、予測できないコンピューター動作の発生を減らすことができます。

DriverInstallerツールを使用すると、ユーザーはTeledyneドライバーとサードパーティ製ドライバーを柔軟切り替えることができます。Teledyneソフトウェアを簡単に使えるだけでなく、システムを統合して多くのサードパーティ製ソフトウェアソリューションを使うことも可能になります。また、特定のソフトウェアに依存するシステムでも、既存のツールを管理しながら、システムを更新してSpinnakerと連携させることができます。

さらに、SpinPixelCorrectionによって欠陥ピクセルを修正したり、ログツールでデバッグの時間を節約したり、GigEネットワーク調整ツールによってLinuxシステムのソケットパラメーターを最適化したりすることもできます。

OSサポート

Teledyneは、Spinnakerと簡単に統合できるよう、各種オペレーティングシステムのサポートに優先的に取り組んでいます。サポートされているオペレーティングシステムは、Ubuntu 22.04、Windows 10、MacOS、Linux ARMなどです。Teledyneのビジョンシステムのユーザーが使用しているアプリケーションはさまざまです。そのため、複数のプラットフォームがサポートされているなら、開発者は業界標準に幅広く対応する柔軟なアプリケーションを構築することができます。

 

ユーザーはさまざまなオペレーティングシステムやシステムを使用しているため、Teledyneは、アプリケーションのニーズに最適なオペレーティングシステム上で実行できるSpinnakerを開発しました。アプリケーションで複数のシステムを使用する場合でも、Spinnakerはネットワーク全体でコラボレーションできるように設計されているため、さまざまなマシンでTeledyneのビジョンソリューションを使用することができます。

数分でコーディングを開始可能

ビジョンシステムには多くの構成要素があります。一部のシステムが複雑になると、統合にさらに多くの時間がかかることがあります。Spinnakerの主な目標は、効率的な作業環境を構築して、開発に費やす時間を短縮することでした。

TeledyneはSpinnakerとのシームレスな統合を実現するため、一般的に使われているVisual Studio環境に簡単に追加できるようにしました。カメラの設定やノードマップ名を覚えていなくても、Visual Basic開発を始めることができます。コーディングの際に機能名を予測するインテリジェンスを活用できます。

T2IRサポート

Trigger-to-Image Reliability(T2IR)は、ソフトウェアとハードウェアの機能を組み合わせて信頼性の高い検査システムを作成するフレームワークです。T2IRを使用すると、Teledyneカメラのユーザーは、Spinnakerの使用中にシステムが予測どおりに動作することを信頼できます。カメラとコンピューターシステムとの接続を最適化することで、画像取得中に発生することの多い典型的なエラーを事前に防ぐことができます。

ビジョンシステムがより高度になるにつれて、システムのパフォーマンスを監視できることが重要になってきます。T2IRを使用すると、システムは制御された方法で例外を管理することができます。問題が発生した場合、Teledyneはすばやくトラブルシューティングを行うためのデバッグツールとトレースツールを提供します。デバッグを行う簡単な方法は、デバイスとストリームの診断を使用してパケット損失が発生している場所を特定することです。Spinnakerにデフォルトで含まれている、簡単に構成可能なファイルを使用して、デバッグメッセージを指定のディレクトリに直接記録し、重要なデータを安全な場所に保管することができます。

ユーザーにイベントを通知し、リソースを消費するポーリングコードを削除するイベント処理機能を使用して、コードを最適化します。バッファ管理機能により、ホストデバイスに負荷がかからないようにします。カメラとホストの両方のバッファを正確に制御することで、画像を保持し、送信することができます。また、フレームトリガー待機機能により、カメラが新しいフレームをキャプチャするたびにホストと通信してフレーム落ちを防止し、画像キャプチャが最適化されます。  このような堅牢なツールにより、T2IRはアプリケーション全体のレスポンスを向上させながらダウンタイムを削減します。

GigE Multiplicity

Spinnaker 3.0のリリースでは、GigE Multiplicityと呼ばれるT2IRの新しいレイヤーをベースに、さらなるアップデートが行われました。これらの機能グループは、ビジョンシステム内の複数のGigEカメラを最適化するように設計されています。

主な機能の1つは、Multicore GigE Optimizerです。この機能により、GigEネットワークトラフィックが複数のプロセッサコアに分散されるため、システムはトラフィックをより効率的に処理できるようになります。Multicore GigE Optimizerは、大量のデータがネットワーク上に送信される場合のシステムの過負荷を防ぐのに役立ちます。

トラフィックが複数のCPUコアで管理され、ホストデバイスのリソースを効率よく使用できます。各コアがトラフィックストリームの異なる部分を処理できます。T2IRの一部として、ネットワークトラフィックの速度が低下した時にテキストと視覚情報をログに記録することで、予測できない動作のトラブルシューティングを行い、ボトルネックの増加を防ぐことができます。

多くのマシンビジョンシステムにとって重要なのはスケーラビリティです。Multicore GigE Optimizerは、必要に応じてシステムを拡張できるようにすることで、トラフィック負荷が増加しても過大にならないように管理します。これは、システムに新しいカメラを追加したり、追加のネットワークトラフィックを管理するために未使用のコアを予約したりするうえで重要な役割を果たします。