Adapterジェネレーター

本節では、Adapterジェネレーターと、Adapterジェネレーターを使用してAdapterプログラムをすばやく生成する方法について説明します。

Adapterジェネレーターの紹介

Adapterジェネレーターは、Mech-Centerに統合されたコンポーネントです。Adapterジェネレーターは、TCP/IP Socket通信を使用し、Mech-Visionのみを使用してビジョンポイントを提供する場合にのみ適しています。

Adapterジェネレーターは、以下のような場合に役立ちます。

  • Adapterプロジェクトをすばやく生成する場合。

  • 複雑なニーズを満たすために、Adapterプログラミングの開発をすばやく学ぶ場合。

ツール  AAdapterジェネレーター をクリックしてAdapterジェネレーターを起動して設定を行います。

adapter generator01
Adapterジェネレーターは、管理者モードでのみ使用できます。

Adapterジェネレーターを使用してAdapterプログラムをすばやく生成

コンポーネントにマウスを置くと詳細な説明が表示されます。

ネットワーク設定 - サーバー/クライアント

この手順で Adapter名Adapterの役割通信形式 を設定します。

adapter generator02

パラメータ説明:

  • Adapter名 :Adapterプロジェクトの名前を設定します。

  • Adapterの役割 :AdapterをTCP/IP Socket通信用のサーバー (Server) またはクライアント (Client) として設定します。Adapterがクライアントとして機能し、サーバーがクラ イアントに対してポート制限を持っている場合は、 ポートバインド にチェックを入れるする必要があります。

    通信先と正常に通信するために、Adapterプロジェクトを設定するときはホストIPアドレスとポートを正しく設定する必要があります。詳細については、 Adapterプロジェクトの設定 をご参照ください。
  • 形式 :通信時のデータ送信フォーマットを設定し、ASCII文字列またはHEX(16進数)をサポートします。「HEX」に設定されている場合、バイトオーダ(エンディアン)も「ビッグエンディアン」または「リトルエンディアン」で指定する必要があります。

Mech-Viz/Mech-Vision設定ー位置姿勢と関節角度

  • この設定を行う前に、Mech-Visionプロジェクトと衝突検出のためのMech-Vizプロジェクトを開いて自動読み込みに設定し、プロジェクトがMech-Centerに読み込まれていることを確認します。

  • Mech-Centerは、衝突検出のためのMech-Vizサンプルプロジェクト「check_collision」を提供しています。それは、Mech-Centerのインストールパスの「tool\\viz_project」フォルダに格納されています。

「check_collision」サンプルプロジェクトに示すように、プロジェクトは「ビジョン処理による認識」によってトリガーされて撮影し、非移動ステップを含める必要があります。また、notify_1、notify_2およびvisual_look_1などのステップ名を変更することはできません。

この手順でMech-VizおよびMech-Visionプロジェクトのパラメータを設定します。

adapter generator03

Mech-Vision関連のパラメータ

  • Mech-Visionプロジェクト名 :Mech-Visionプロジェクト名を選択します。ドロップダウンリストからAdapterと通信するためのMech-Visionプロジェクトを選択します。

  • 位置姿勢の数 :通信先に送信する位置姿勢の数を設定します。

  • 位置姿勢の形式 :四元数またはオイラー角を選択可能です。

  • 位置姿勢の単位 :一般的に、ミリメートルおよび度が使用されます。

  • カメラ :カメラの取り付け方法を選択します。ETHとEIHの2つの方法があります。

  • 位置姿勢の基準座標系 :送信する位置姿勢が基づく座標系を選択します。一般に、位置姿勢はロボットのベース座標系に基づいています。位置姿勢は、EIHモードでロボットがロボット先端の位置姿勢を提供できない場合にのみ、ツール座標系に基づきます。

  • 小数点以下の桁数を保持 :送信する位置姿勢の小数点以下の桁数を設定します。最大の桁数は10です。

Mech-Viz関連のパラメータ

  • Mech-Vizを使って衝突を検出 :チェックを入れたら、ビジョンポイントがMech-Vizによって検出・計算されます。それにより、計画に失敗した位置姿勢は除去され、衝突のない把持位置姿勢が選出されます。

  • Mech-Viz設定Mech-Vizを使って衝突を検出 にチェックを入れると有効になります。クリックすれば ジェネレーターのMech-Viz設定 画面が表示されます。設定が完了したら、右下隅にある 保存 をクリックします。

adapter generator04
  • 把持位置姿勢と配置位置姿勢を区別する必要あり :把持位置姿勢は「ビジョン処理による移動」の前のすべての位置姿勢(ビジョン処理による移動を含む)であり、配置位置姿勢は「ビジョン処理による移動」の後のすべての位置姿勢です。場合によっては、ロボットがステップによって把持動作と配置動作を区別する必要があります。

  • 把持位置姿勢と放置位置姿勢の数を送信する必要あり :把持位置姿勢の数が多い場合、数量フィールドをつけることができます。チェックを入れた後、デフォルトの位置姿勢の数が1以上であればこのフィールドをつけます。

  • 各位置姿勢の運動タイプを送信する必要あり :Mech-Vizでの移動ステップは、関節運動または直線運動と2種類があります。

  • コードをアップデート :デフォルトで、関節運動の対応コードは1で、直線運動の対応コードは2です。コードはカスタマイズ可能で、それを変更して コードをアップデート をクリックすると有効になります。

  • Jps/位置姿勢 :位置姿勢の送信形式で、デフォルトでJpsを使用します。

  • Jpsの単位/位置姿勢の単位 :通常、送信する位置姿勢の形式は Jps の場合、Jpsの単位が度に設定されます。送信する位置姿勢の形式は Pose の場合、位置姿勢の単位はメートルに設定されます。

  • ロボット名 :ロボットサービスの名前を設定します。Mech-Vizでロボットの動作をシミュレートするには、ロボット実機のサービスが必要です。このサービスは、生成されたAdapterによってシミュレートされます。ロボット名はこのサービスの名前であり、Mech-Vizでのロボット名と一致している必要があります。「ロボット名を取得」をクリックすれば、ロボット名が正常に追加されます。

  • 原点関節角度(ラジアン単位) :これは、Mech-Vizでロボット動作の基準原点を指します。単位はラジアンで、コンマで区切られます。Mech-Vizの 「移動」 ステップを編集して原点とし、原点の関節位置をコピーすることができます。

ストリームの受信設定 - 受信するフィールド

この手順で受信フィールドのフォーマットを設定する必要があります。画像取得コマンド、複数のプロジェクト、フィールド合計数、フィールドタイプ、フィールド区切り記号とサブフィールド区切り記号を設定する必要があります。設定が完了したら、右下隅にある 次へ をクリックします。

adapter generator06
  • フィールド合計数 :設定するパラメータの数によって異なります。その範囲を「1~10」に設定できます。また、フィールドに画像取得コマンドがなければなりません。

  • 画像取得コマンド :外部からMech-Mindソフトウェアシステムに画像取得コマンドを送信し、カメラで撮影します。ASCIIの場合、pのような文字を入力し、フィールド位置をデフォルトの1にすることをお勧めします。HEXの場合、0xffまたはffなどの16進数形式の整数を使用する必要があります。

  • フィールド区切り記号サブフィールド区切り記号 :ASCIIの場合は設定が必要です。2つ以上のフィールドがある場合は、フィールド区切り記号を入力する必要があります。追加情報で別のフィールド区切り記号が必要な場合は、サブフィールド区切り記号も必要です。また、サブフィールド区切り記号の開始範囲と終了範囲を指定できます。

  • フィールドタイプディスクリプション :HEXの場合は設定が必要です。CHAR、SHORT、INT、FLOATおよびDOUBLEが選択可能です。 ディスクリプション はフィールドの機能または意味を説明するために使用されます。

  • 複数のプロジェクト :この設定は選択可能です。1つの項目に複数のMech-Visionプロジェクトがある場合、外部からのコマンドによって異なるMech-Visionプロジェクトを呼び出す必要があります。その中、コマンドを設定することができます。

    プロジェクトごとに唯一のコマンドが対応します。また、フィールドの位置も唯一で、他のフィールドと重複してはいけません。

ロボットの設定 - Eye in Hand

Mech-Viz/Mech-Vision設定ー位置姿勢と関節角度 の手順で カメラEye In Hand に設定されている場合に使用できます。

この手順で、画像撮影時のロボットの位置姿勢の形式を設定してから、 次へ をクリックします。

adapter generator09

パラメータ説明:

  • ロボットから画像取得時の関節角度またはフランジ位置姿勢をAdapterに送信する必要あり :通信先はロボットベース座標系に基づいた位置姿勢を提供する必要がある場合、画像取得時のロボットからの関節角度またはフランジ姿勢が必要であるため、これにチェックを入れてください。チェックを入れたら、位置姿勢を関節角度またはオイラー角に設定することができます。

  • 関節角度の単位 :ラジアンまたは度を選択可能です。

  • フランジ位置姿勢の単位 :フランジ位置姿勢の単位(四元数またはオイラー角)を設定します。四元数の場合はメートルとミリメートルを選択可能で、オイラー角の場合は度とラジアンを選択可能です。

  • 関節角度/フランジ位置姿勢のフィールド位置 :全体フィールド内の関節角度または位置姿勢の開始フィールドと終了フィールドの位置を設定します。

    インデックス位置は1からカウントされ、他のフィールドと重複することはできません。例えば、インデックス位置「1」は画像取得コマンドです。
  • ロボット名 :ロボットサービスをマークする名で、Mech-Vizに使用されているロボットの名と一致させる必要があります。

  • ロボットの自由度 :現在は4軸と6軸のロボットに対応しています。実際の状況に応じて、対応するロボットの自由度を選択してください。

送信するストリームの設定-フィールド送信

下図に示すように、この手順で送信する位置姿勢の形式を設定してから、 次へ をクリックします。

adapter generator10

パラメータ説明:

  • フィールド区切り記号サブフィールド区切り記号 :区切り記号の形式を設定します。ASCIIの場合は設定が必要です。2つ以上のフィールドがある場合は、フィールド区切り記号を入力する必要があります。追加情報で別のフィールド区切り記号が必要な場合は、サブフィールド区切り記号も必要です。また、サブフィールド区切り記号の開始範囲と終了範囲を指定できます。

  • ステータスコード :送信形式を設定します。各ステータスが唯一のステータスコードに対応します。

  • 点群要確認 :チェックを入れれば、点群がAdapterによって確認されます。点群がない場合は、対応するステータスコードが出力されます。

  • 対象物のラベルを要送信 :対象物のラベルの送信は、Mech-Visionで認識されたラベルを通信先に送信することです。各ラベルは位置姿勢の後に付きます。通信先にとってラベルの文字列を解析するのが不便な場合は、対応のラベルのコードを指定することもできます。その中、すべてのラベルの文字列を含むラベルファイルを読み込む必要があります。ラベルファイルの形式はjson配列形式である必要があります。

  • 把持位置姿勢の数を要送信 :今回送信する位置姿勢の数を送信します。

  • 固定ボディーが必要 :ビジョン認識に失敗した場合、通信先にメッセージ(エラーコード後のメッセージ)を送信します。

  • 固定テールが必要 :チェックを入れれば、送信するデータの後にテールを固定する標識が追加されます。

通信形式を16進数(HEX)に設定する場合、ステータスコード、位置姿勢の数、位置姿勢のタイプを設定する必要があります。

上記の設定をすべて完了したら、「完了」または「名前を付けて保存」をクリックしてAdapterプロジェクトを保存します。Adapterプロジェクトを保存した後、 Adapterプロジェクトの設定 を参照してそれを実装することができます。

Adapterプログラミング開発に関する詳細情報については、以下の内容をお読みください。