用語と概念
ここでは、ビジョンアプリケーションの構築や RVS 2.0 の利用時によく登場する用語と概念について説明します。
ソリューション、プロジェクト、ステップ関連
1 つまたは複数のプロジェクトを含む単位です。特定のアプリケーションシーン(例:混合デパレタイズ)に対する、全体的なビジョン処理戦略を表します。ソリューションは .VisionSln 形式で保存されます。
典型的な用途(例:標準的なワーク位置決め、空コンテナ検出)に合わせて、あらかじめ構成された論理フレームワークです。テンプレートを使うことで、ユーザーはソリューションをすばやく作成でき、最初から構築する必要がありません。
通常は特定のビジョンタスク(例:把持ポーズの計算)に対応します。プロジェクトは .VisionProject 形式で保存され、ワークフローの実際の担い手です。
ビジョンフローを構成する最小の機能単位です。各ステップは、点群フィルタやポーズ計算などの特定の処理を担当します。
入力ポート: ステップ上部にあり、前段のステップから渡されたデータを受け取ります。
出力ポート: ステップ下部にあり、処理結果を後続のステップへ渡します。
特定の処理ロジックを持つ複数のステップをまとめて、1 つのモジュールとして扱う機能です。これにより、メイン画面の表示を簡潔に保ちつつ、複数のプロジェクト間で処理ロジックを再利用しやすくなります。
線で各ステップを接続して構成される論理図です。RVS 2.0 はデータフロー駆動方式を採用しており、矢印の向きは画像、点群、またはポーズデータの流れを表します。
ワークフロー内の分岐、ループ、条件判定などの制御ロジックを指します。If-Else や Switch などの論理ステップを使って、認識結果に応じて異なる処理経路を実行できます。
ロボットと通信
3D 空間内における物体の 6 自由度状態を表すデータです。位置情報(X、Y、Z)と姿勢情報(四元数またはオイラー角)で構成されます。
[qx, qy, qz, qw] の 4 つの数値で姿勢を表す方法です。ジンバルロックを効果的に回避できます。
[Rx, Ry, Rz]の3つの角度で姿勢を記述する方法。異なるブランドのロボット(例:ファナック、安川、川崎)の回転順序の定義は異なります(例:XYZまたはZYX)。
姿勢角度の正負定義。通常は右手の法則に従いますが、協調調整時には、ロボット末端座標系の正方向がビジョンソフトウェアの設定と一致していることを確認する必要があります。
TCP/IP ネットワークプロトコルに基づくデータ通信方式です。
TCP サーバー (TCP Server): 接続を待ち受ける側のデバイスです。
TCP クライアント (TCP Client): 接続を開始する側のデバイスです。ロボットは通常クライアントとして動作します。
6 軸ロボット: 最も一般的な産業用ロボットで、6 自由度を持ち、空間内のさまざまな位置と姿勢に到達できます。
5 軸ロボット: 通常は末端の回転自由度が一部省かれており、特定の搬送や積載用途で使用されます。
4 軸ロボット: SCARA ロボットや 4 軸パレタイジングロボットなどが該当し、末端姿勢は主に水平面内で回転します。
ガントリーロボット (Gantry Robot): デカルト座標系に基づく門型構造のロボットで、X、Y、Z の直線軸と末端回転を組み合わせて搬送を行います。
キャリブレーション関連
数学モデルに基づいて、カメラ座標系とロボット座標系、または外部参照座標系との幾何変換関係を求めるプロセスです。ビジョンガイドによる把持を実現するうえで重要な要素です。
カメラがロボットの先端に取り付けられている構成です。このモードではカメラがロボットと一緒に動作するため、キャリブレーション時にはカメラとロボット先端フランジとのポーズ関係を求める必要があります。
カメラがロボット外部の固定ブラケットに取り付けられている構成です。このモードではカメラ位置が固定されるため、キャリブレーション時にはカメラとロボットベースとのポーズ関係を求めます。
カメラ自身の撮像特性を表すパラメータです。焦点距離、主点座標、歪み係数などを含みます。通常は出荷時または使用前のカメラキャリブレーションによって決まり、カメラを移動しても変化しません。
外部座標系におけるカメラのポーズを表すパラメータです。回転行列 (R) と並進ベクトル (T) で構成され、カメラの位置と向きを定義します。
キャリブレーションを補助する標準ツールです。Percipio 専用キャリブレーションボードなどが該当し、表面の高精度な特徴点を利用して、カメラの内部・外部パラメータを計算します。
ビジョン処理フロー
深度マップから変換された3D空間座標の集合。3Dビジョン処理のコアキャリアであり、物体の形状、サイズ、空間位置情報(X、Y、Z)を含む。
点群に対して行われる一連の最適化操作。
ピクセル値が距離情報を表す 2D 画像です。通常はグレースケール画像として表示され、各ピクセル値はカメラから見た Z 軸方向の深さを示します。RVS 2.0 が 3D 点群を生成する際の元データになります。
カメラで取得した RGB の 2D 画像です。主に深層学習による対象検出や、点群へのテクスチャマッピングに使用され、認識結果を視覚的に確認するのに役立ちます。
2D画像または深度マップのどのピクセルが「有効」かを指定するバイナリ画像(通常は白黒)。マスクステップを通じて、画像内の反射領域または非作業領域を正確にマスキングできます。
2D カラー画像または深度画像上に設定する関心領域です。アルゴリズムの処理対象を特定範囲に限定することで、CPU 負荷を下げ、背景ノイズによる誤認識を抑えられます。
3D空間内に設定された直方体またはカスタム形状領域。直接点群に作用し、ワークコンテナの外側、高すぎるまたは低すぎる点群データをフィルタリングするために使用されます。
ビジョン位置決めのコアアルゴリズム。
2D マッチング: エッジやテクスチャに基づいて 2D 画像内の対象を探索します。
3D マッチング: 物体の 3D モデル (CAD) または教示点群を基にシーン内を探索し、対象の 6 自由度ポーズを計算します。
ディープラーニング
畳み込みニューラルネットワーク (CNN) などのアルゴリズムを用いて、大量のサンプルから特徴を学習し、対象の自動検出、インスタンスセグメンテーション、分類などを行う技術です。表面テクスチャが複雑で、形状のばらつきや重なりが大きい対象の認識に適しています。
Percipio のアノテーションおよび学習用ソフトウェアを使用し、収集した元画像にラベル付けを行って、サーバー上でモデルを生成するプロセスです。
AI 学習完了後に出力されるファイルです。ニューラルネットワークのパラメータと推論ロジックを含み、RVS 2.0 では深層学習推論ステップで読み込んで高精度な認識を行えます。
データ型
ポーズ。空間位置(X、Y、Z)と姿勢(四元数またはオイラー角)を含み、3D 空間内における物体の 6 自由度状態を表します。
数値。整数または浮動小数点数を含み、スコア、距離、角度、カウント数などを表します。
ブール値。「真」または「偽」の 2 つの状態のみを持ち、制御フローの条件トリガーによく使用されます。
インデックス。整数型で、リスト内の特定の要素の位置を指定したり、特定のワークを識別したりするために使用されます。
文字列。テキストデータで、ログ出力や通信プロトコル内の文字情報によく使用されます。
XYZ 点群。空間の幾何学的な位置情報のみを含む点の集合です。
法線ベクトル付き点群。各点は位置情報に加えて、その点の表面の法線方向情報を含みます。
点。空間内の特定の 3D 座標を表します。
深度画像。ピクセル値が距離情報を表す画像データです。
カラー画像。赤、緑、青の 3 チャンネルの画像データです。
グレースケール画像。単一チャンネルの画像データです。
リスト。上記の任意のタイプのデータ集合(例:PoseList、NumberList)をカプセル化し、バッチ処理をサポートします。