目次

目次

ロボットのモーションパス

ロボットのモーションパス

ロボットのモーションパス

これは、ユーザーによるロボットがたどるパスの設計を可能にする最も高度なモードです。ロボットにはデフォルトで、複数のパラメータオプションを伴う2つのパス(ロードとアンロード)があります。

パスとは

パスは、一連のロボット位置によって定義される一連の動きです。ロボットはロボットの位置を表形式で保存します。各行は特定の位置を構成する6つのジョイント角度の記録です。たとえば、デフォルトのロードパスには2つの位置があります。ロボットがこのパスを実行すると、ロボットは現在位置から行1の位置に移動し、続いて行2の位置に移動します。[]ボタンを押すと、このパスに対するロボットの動きをプレビューできます。テーブル内の行をクリックし、[]ボタンを押してその行をロボットのジョイントに適用することで、個々の行の位置を直接表示することもできます。

パス移動のタイミングをコントロールするものは?

シミュレーションでパスの移動にかかる時間をコントロールするためのさまざまなオプションがあります。グリッパアクションタイムが移動の最後に追加されることに注意してください。

  • パスサイクルタイム > 0の場合 - ロボットが一連のパスの移動を完了するのにかかる時間を指定できます。この場合、位置テーブルの移動時間列は、次のようにパスサイクルタイムの遅延時間の分布に影響します。

    重み付けなし - 位置テーブルの移動時間列をすべてゼロまたは等しい値のままにすると、パスサイクルタイムはパス内の位置の数に均等に分割されます。

    重み付けあり - 各位置行に割り当てたいパスサイクルタイムの比率を表すように、移動時間列の値を調整します。

    - パスの移動時間列にそれぞれ1、1、2の3つの位置行があり、パスサイクルタイムが5.2秒でした。ARは、最初の位置に移動するのに1/(1+1+2)*5.2秒、最初の位置から2番目の位置に移動するのに最初の位置に移動するのと同じ時間、2番目の位置から3番目の位置に移動するのに2/(1+1+2)*5.2秒かかります。

  • パスサイクルタイム=0かつ移動時間列フィールド>0の場合 - パスサイクルタイムフィールドが0を返す場合、ロボットは移動時間列の値の合計をパスのサイクルタイムとして使用します。これにより、各位置から次の位置への移動時間を正確に管理できます。この方法は、移動に停止遅延を挿入するためにも使用できます。同じ位置に2行を順番に設定し、移動時間を遅延時間として使用します。
  • 負の移動時間はアニメーションのみに影響(相対速度) - パス内の特定の移動では、移動時間の値が負の値である場合でも、ロボットはそれを正の値として扱いますが、ジョイントの速度は、[ロボットジオメトリ]タブに入力された相対速度に比例するように調整されます。これは純粋にアニメーションの変更であり、移動サイクルタイムには影響しません。通常、(製造元が提示する)各ジョイントの実際の最大速度を相対速度に入力すると最良の結果が得られます。

自分のパスを作成する方法

  1. ウィンドウを重ねずにロボットのプロパティGUIとモデル内のロボットを表示できるように、モデルビューの位置とサイズを決めます。
  2. [パスを追加]をクリックします。これにより、現在選択されているパスの複製が作成されます。
  3. パスの名前フィールドに、パス用にわかりやすい名前を入力します。この名前は、ロボットの動作に機能上の影響はありません。
  4. 行が1行だけ残るまで[行を削除]ボタンを押して位置テーブルをクリアします。
  5. [プランナーアイテム]チェックボックスをクリックしてパスプランナーをオンにします。「PlanningItem」という名前のボックスが、ロボットのグリッパの3Dビューに表示されます。「PlanningItem」をマウスで移動して回転させると、それに応じてロボットも移動します。[オブジェクトのサイズ変更および回転]機能のチェックボックスをオンにする必要があります(Flexsimの[編集]メニューにあります)。また、先に進む前に[グリッドにスナップ]を無効にすることも検討できます。
  6. まず、最も重要な位置となるパスの終了位置を記録します。この場合、FlowItemをコンベヤからロードする前に、ロボットがたどる2番目のパスを記録します。つまり、コンベヤの端にFlowItemが来たときに、ロボットが終了位置でそれを掴むようにします。
    1. モデルの[ステップ]ボタン(シミュレーション実行パネル内)を押し、FlowItemがピックアップの準備が整ったコンベヤの端に来るまで、イベントごとにモデルの実行を進めるようにします。モデルがリセットされると、ロボットがアイテムを非表示にするため、モデルをリセットする場合は、[プランナーアイテム]チェックボックスを再度オンにする必要があります。
    2. [ロボットのプロパティ]ウィンドウで、[プランナーアイテム]チェックボックスの横にある[フローアイテムに同期][フローアイテムに同期サンプラー]ボタンをクリックします。カーソルが「サンプリング」カーソルに変わります。次に、モデルビューで[フローアイテム]をクリックします。
    3. [クランプの向き]ドロップダウンからオプションを選択して、クランプがフローアイテムを掴む向きを決定します。
    4. このパスに関連する閉じたグリップ幅を決定するために、適切な[閉じる幅]ドロップダウンオプションを必ず選択してください(オープングリッパ幅パラメータは[ジオメトリ]タブにあります)。
    5. 次に、ロボットが希望どおりにアイテムを握ったので、ロボットのジョイント位置をテーブルの行に保存します。テーブルの最初の行をクリックし、[テーブル行の更新]ボタンをクリックして、ロボットの現在のジョイント位置をその行に保存してください。
    6. 記録された位置は、実際にはロードタスクの終了時にロボットが保持する必要がある終了位置です(ピックアップ位置と呼びます)。技術的にはこれで十分ですが、多くの場合、ロボットがピックアップ位置に到達する方法をコントロールする位置行をこの行の上に挿入します。たとえば、ロボットを最初にフローアイテムの上の位置に移動し、次にドロップダウンしてそれを固定します。これを行うには、最初の行をクリックして[行を追加]ボタンをクリックし、新しい行を追加します。これにより、選択した行の前に行が追加されます。次に、[PlanningItem]をクリックし、マウスのスクロールホイールを使用して、ピックアップ位置の真上にとどまりながら[PlanningItem]のZ位置を変更します。次に、テーブル内に新しく作成された行をクリックし、[テーブル行の更新]ボタンをクリックしてその行を新しい位置に更新します。
    7. モデルをリセットして実行した場合、元のロードパスはまだ存在し、パスセレクターリストの上位にあるため、自動パス選択ではFlowItemをロードするための新しいパスを選択しない可能性があります。元のロードパスを選択して削除してください。
    8. モデルをリセットして実行します。

グリッパアクションタイムが適用される仕組み

ロードまたはアンロードのタスクの終了時に(パスの移動が完了した後)それぞれクローズまたはオープンのクランプアクションが実行されるため、グリッパアクションタイムがパスの移動時間に追加されます。

  1. [閉じる時間]フィールドに正の値を入力すると、ロボットはパスの移動の最後にクランプを閉じます。入力された値はこのアクションに関連する遅延時間になります。ロボットがFlowItemを含まないタスクに応答している場合、閉じたクランプ幅は0になります。
  2. [開く時間]フィールドに正の値を入力すると、ロボットはパスの移動の最後にクランプを開きます。入力された値はこのアクションに関連する遅延時間になります。クランプは[ジオメトリ]タブで指定された[オープングリッパ幅]まで開きます。
  3. [閉じる時間]フィールドと[開く時間]フィールドの両方が0の場合、クランプは動きません。
  4. [閉じる時間]フィールドまたは[開く時間]フィールドに負の値を入力すると、ロボットは0時間でアクションを実行します(FlexSim v5以降)。

ロボットが使用するパスを選択する仕組み

デフォルトでは、ロボットは終了位置(最後の位置の行)でパスを検索します。これにより、ロボットのエンドエフェクタと、ロボットが応答するタスクの要求に従い、x、y、zの位置との間の距離が最小になります。

ロボットが特定のタスクに使用するパスをコントロールする

ロボットの自動パス選択をオーバーライドするには2つの方法があります。固定リソースで[輸送を使用]チェックボックスがオンになっているときに生成されるデフォルトのタスクシーケンスには、ロボットが応答する2つのタスク(FRLOADタスクとFRUNLOADタスク)があることを理解しておくと便利です。

  1. カスタムタスクシーケンスを直接指定する - このセクションは、独自のカスタムタスクシーケンスを記述する知識があることを前提としています。タスクシーケンスを作成するときに負の終了速度変数を指定すると、この終了速度に一致するパス番号を使用するようにロボットに指示します(パス番号=終了速度)。ロボットが応答するタスクタイプは、終了速度変数の場所とともに以下に一覧表示されています。タスクシーケンスのユーザーマニュアルにある「タスクタイプクイックリファレンス」を参照してください。
  2. TASKTYPE_ 終了速度変数の場所
    LOADとFRLOAD
    UNLOADとFRUNLOAD
    var2
    TRAVELRELATIVE
    TRAVELTOLOC
    (FlowItemを含まない移動の場合)
    var4
  3. (FlexSim v5以降)パスを選択するために負の終了速度を持つTRAVELRELATIVEタスクタイプを使用する場合、パス全体で実行したくない場合に停止する位置行をロボットに指示するためにvar1(xパラメータ)を使用できるようになりました。
  4. 次のパス番号(パレタイズなどの既知のパスシーケンスに最適) - パレタイズは簡単に言うとLoadPath1-UnloadPath1-LoadPath2-UnloadPath2のシーケンスです。ロボットがパレット上の最後のFlowItemをアンロードすると、シーケンスが繰り返されます。すべてのパスには「次のパス番号」フィールドがあり、現在選択されているパスに続けて使用するパス番号を指定できます。ロボットが、次のパス番号(ゼロ以外)が指定されたパスを実行すると、次回のモデル実行時までこのパス番号がメモリに保存され、自動パス選択が必要なタスク(タスク自体にパスが指定されていない)が実行されます。適切なパスを検索する代わりに、ロボットはメモリに保存されているパス番号を選択します。
  5. モデル実行中にロボットの次のパス番号メモリをクリアしたい場合は、単にその「nextpathselected」変数をゼロに設定すると、ロボットは最適タスクパスの自動パス選択の実行に戻ります(タスクで指定されていない場合)。
  6. カスタムタスクシーケンスと次のパス番号を組み合わせると、時間を大幅に節約できます。
  7. パレットごとに4つのFlowItemを使用したパレタイズオペレーションの例を取り上げます。
    1. パレット上のFlowItemの位置を示すために、1つのロードパスと4つの一意のアンロードパスを作成します。ロードパスはパス番号1になり、アンロードパスはパス番号2〜5を占有します。「自分のパスを作成する方法」で学んだモデルの[ステップ]ボタンと[強調表示されたアイテムの一致]ボタンを使用する方法を思い出してください。
    2. 必要なパスシーケンスは、LoadPath 1 - UnloadPath 1 - LoadPath 1 - UnloadPath 2 - LoadPath 1 - UnloadPath 3 - LoadPath 1 - UnloadPath 4またはパス番号1-2-1-3-1-4-1-5です。LoadPath1は常にFRLOADタスクに使用されるので、このタスクではvar2を-1として指定できます。
    3. パスプランナーで、ロードパス(この例ではパス番号1)に移動し、これがサイクルの最初のアンロードパスであるため、次のパス番号 = 2を指定します。
    4. 最初のアンロードパス(この例ではパス番号2)に移動し、次のパス番号 = 3を指定します(-3も同様に機能します)。パス番号3には次のパス番号 = 4を持ち、パス番号4は次のパス番号 = 5を持つ必要があります。パス番号5は、サイクルを完了するために次のパス番号 = 2を持つ必要があります。