AGVネットワークロジックの構築

AGVネットワークロジックの概要

次の画像に、AGVパス上のコントロールポイントの例を示します。

AGV処理フローテンプレートに加えて、AGVコントロールポイントはAGVネットワークのロジックと機能を作成するための重要な鍵となります。

  • AGVネットワークに出入りするには、AGVをコントロールポイントに接続する必要があります。
  • AGVがコントロールポイントを通過するとき、そのコントロールポイントは、どのコントロールポイントがその次の目的地になるかに関する指示をAGVに与えられます(ピックアップポイント、ドロップポイント、AGVが作業を探す別のコントロールポイントなど)。
  • AGVネットワークを介してアイテムを輸送するには、固定リソースをコントロールポイントに接続する必要があります。
  • コントロールポイントはトラフィックコントロールに影響を与え、潜在的な衝突やデッドロックを防ぐのに役立ちます。
  • AGVを複数のフロアに輸送するためにエレベーターを使用する場合は、そのロジックを処理するためにコントロールポイントを組み合わせる必要があります

このトピックの残りのセクションでは、AGV処理フローテンプレートを設定する方法と、コントロールポイントを使用してAGVネットワークのロジックを構築する方法について説明します。これらのセクションは、AGVネットワークのロジックを設定するおおよその順序で大まかに表示されています。

AGV処理フローテンプレートを設定する

必要に応じて、標準ロジックのみを使用してAGVネットワークを設定して使用できます。ただし、より複雑なAGVシミュレーションプロジェクトでは、AGV処理フローテンプレートを使用すると利点が得られます。

AGV処理フローテンプレートを設定するには:

  1. ツールバーで、[処理フロー]ボタンをクリックして、メニューを開きます。[タスク実行者処理フローを追加]をポイントし、[AGV]を選択して新しい処理フローテンプレートを作成します。
  2. 新しく作成された処理フローで、何も選択されないように空白の領域をクリックします。[クイックプロパティ]の[処理フローインスタンス]グループで、[エンティティの追加 (インスタンス)]ボックスを見つけます。このボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  3. 3DモデルでAGVをサンプリングします。これで[エンティティの追加]ボックスに表示されるようになります。
  4. 必要に応じて前の手順を繰り返し、さらにAGVを追加します。

処理フローを設定した後も、「次の作業を検索」ループの作成やAGVWorkグローバルリストを輸送として使用するための固定リソースの設定など、AGVネットワークの残りのロジックを設定する必要があります。これらのステップの残りの部分は、このトピックの以降のセクションで説明しています。

コントロールポイント接続のタイプ

コントロールポイントはAGVネットワークの基本的な構成要素です。ただし、コントロールポイントの実際のロジックは、他のコントロールポイントや3Dオブジェクトへの接続の性質によって異なります。コントロールポイントは必要に応じて複数のオブジェクトに接続でき、モデルのニーズに合わせてコントロールポイントの動作をカスタマイズできることに注意してください。

コントロールポイントには、以下の可能な接続タイプがあります。

タイプ 説明 外観
場所 位置コントロールポイントは、固定リソースをAGVネットワークに接続するためのものです。固定リソースが場所コントロールポイントに接続されると、コントロールポイントを介してフローアイテムを送受信できます。
ピックアップポイント ピックアップポイントを場所ポイントに接続して、AGVがフローアイテムをロードできる特定のポイントを作成できます。位置コントロールポイントは、上流の固定リソースからそれらを受け取ると、それらのポイントにフローアイテムをルーティングします。
ドロップポイント ドロップポイントを場所ポイントに接続して、AGVがフローアイテムをアンロードできる特定のポイントを作成できます。場所コントロールポイントは、ポイントの1つでアイテムをドロップするようにAGVをルーティングしてから、それを下流の固定リソースに送ります。
パークポイント パークポイントは、AGVのエントリポイントとして設定されているコントロールポイントに接続できます。シミュレーションモデルが開始されると、AGVがこのパークポイントに送られ、AGVはこのポイントでネットワークに入ります。AGVは、バッテリーの残量が少なくなったときにパークポイントでバッテリーを充電することもできます。
作業を検索 めったに使用されませんが、これらの種類の接続は、AGVが作業を検索するために次にどこへ進むべきかを判断するための一種の決定点として機能することがあります。AGVのための作業を含む、または含まないコントロールポイントのループがあると想像してください。このループで行うべき作業がある場合は、AGVをそれらのコントロールポイントにルーティングする必要があります。利用可能な作業がない場合、AGVはループをスキップしてAGVネットワークで続行する必要があります。AGVが作業をチェックする上流のコントロールポイントに戻って接続するループ内のコントロールポイントから、[作業を検索]接続を作成することになるでしょう。AGV処理フローテンプレートを使用している場合は、これらの種類のコントロールポイントは必要ないことに注意してください。
次の作業を検索 AGVがシステムの周りをループして作業を探すシステムを作成する場合は、AGVネットワーク内に一連の「次の作業を検索」接続が必要です。これらの接続は、AGVが作業を探している場合に次の目的地がどこになるかを伝えます。AGVが上流のコントロールポイントに到達すると、そのコントロールポイントで作業を確認します。利用可能な作業がない場合は、下流のコントロールポイントに移動します。
エレベーターフロア 詳細については、「AGVネットワークにエレベーターを追加する」を参照してください。
エレベーターのリダイレクト 詳細については、「AGVネットワークにエレベーターを追加する」を参照してください。
エレベーターのエントリ 詳細については、「AGVネットワークにエレベーターを追加する」を参照してください。

パスにコントロールポイントを追加する

パスにコントロールポイントを追加するには:

  1. ライブラリの[AGV]グループで、[コントロールポイント]をモデルにドラッグします。
  2. AGVパス上になるようにコントロールポイントを配置します。次の画像に示すように、AGVパスに接続すると、コントロールポイントは十字線付きのひし形のようになります。

AGVネットワークに固定リソースを接続する

アイテムがAGVネットワークに出入りできる唯一の方法は、AGVネットワークの場所として接続されている固定リソースを使用することです。このセクションでは、固定リソースを接続してピックアップポイントやドロップポイントを作成する方法について説明します。

固定リソースの接続

固定リソースをコントロールポイントに接続するには、次のようにします。

  1. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  2. コントロールポイントに接続したい固定リソースをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  3. ハイライト表示されるように、コントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[場所]を選択します。固定リソースがコントロールポイントに接続されたことを示す青い線が表示されます。
  4. 固定リソースをダブルクリックして、プロパティウィンドウを開きます。[フロー]タブで、適切な目的地にアイテムを送るように[ポートに送信]プロパティを設定します。
    • ポート接続を使用して、アイテムを目的地に送ることができます。上流の固定リソースが下流の固定リソースに入出力ポート接続(A接続)で接続されていることを確認してください。次に、ビジネスシステムに必要なフローロジックを使用するようにポート接続を設定します。詳細については、「3Dオブジェクトフローの概要」を参照してください。
    • アイテムをリストにプッシュできます。下流の固定リソースが同様にリストからアイテムをプルするように設定されていることを確認してください。
  5. また、[フロー]タブで[輸送を使用]チェックボックスをオンにします。このチェックボックスの隣にあるボックスで、このプロパティを設定してAGVを割り当て、アイテムを目的地に輸送します。
    • AGV処理フローテンプレートを使用している場合は、[リストを使用]を選択し、AGV処理フローテンプレートを使用したときに自動で生成されるAGVWorkリストを選択する必要があります。
    • 1台のAGVでシンプルなAGVネットワークシステムを使用している場合は、センターポート接続(S接続)を使用して固定リソースをAGVに接続します。
    • 複数のAGVを使用している場合は、センターポート接続(S接続)を使用して固定リソースをディスパッチャーに接続します。次に、入出力接続(A接続)を使用して、ディスパッチャーをシステム内のすべてのAGVに接続します。

シミュレーションが実行されると、AGVが接続されているコントロールポイントに到達するまで固定リソースがそのアイテムを保持します。アイテムが転送されるとすぐにAGVに表示されます。

ピックアップポイントを作成する

前の画像でわかるように、AGV輸送が到着するまで、フローアイテムは接続された固定リソースで待機します。代わりに、フローアイテムを1つ以上のピックアップポイントにプッシュするよう固定リソースを設定することもできます。

1つ以上のピックアップポイントを作成するには:

  1. ピックアップポイント領域へのAGVパスを作成します。必要に応じて、ピックアップポイント領域はメインAGVネットワークループから分離されたループ上か、メインAGVネットワークループからの小さな分岐点にできます。
  2. AGVがフローアイテムをピックアップするAGVパスにコントロールポイントを追加します。
  3. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  4. 固定リソースに接続されているコントロールポイントをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  5. それがハイライト表示されるように、ピックアップポイントになるコントロールポイントの上にカーソルを合わせます。コントロールポイントをクリックしてメニューを開きます。[PickupPoints]を選択します。位置コントロールポイントがピックアップコントロールポイントに接続されていることを示す緑色の線が表示されます。
  6. 必要に応じて前の手順を繰り返し、追加のピックアップコントロールポイントを作成します。

シミュレーションが実行されると、固定リソースはそのアイテムをピックアップポイントに転送し、そこでAGVによる輸送を待ちます。

ピックアップポイント用に別のループパスを作成した場合、AGVは場所コントロールポイントを通過して利用可能な作業が見つかった場合にのみそこを移動します。ピックアップポイントが空の場合は、別のピックアップポイントパスに移動せずに、代わりに「次の作業を検索」ポイントに進みます。

ドロップオフポイントを作成する

AGV輸送のピックアップポイントを作成できるのと同じ方法で、固定リソースのドロップオフポイントも作成できます。

ドロップオフポイントを作成するには:

  1. ドロップオフポイント領域へのAGVパスを作成します。必要に応じて、ドロップポイントエリアはメインAGVネットワークループから分離されたループ上か、メインAGVネットワークループからの小さな分岐点にできます。
  2. AGVがフローアイテムをドロップオフするAGVパスにコントロールポイントを追加します。
  3. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  4. 固定リソースに接続されているコントロールポイントをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  5. ハイライト表示されるように、ドロップポイントになるコントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[DropoffPoints]を選択します。水色の線が表示され、位置コントロールポイントがドロップオフコントロールポイントに接続されていることを示します。
  6. 必要に応じて前の手順を繰り返し、追加のドロップオフコントロールポイントを作成します。

シミュレーションが実行されると、AGVはアイテムをドロップポイントに輸送し、その後すぐに固定リソースに表示されます。

AGVをAGVネットワークに接続する

AGVがAGVネットワークに入るには、まずAGVを移動者AGVとしてメインAGVネットワークのコントロールポイントに接続する必要があります。メインのAGVネットワーク上にあるコントロールポイントを選択します。コントロールポイントはAGVに入ってほしいエリアの近くにある必要があります。

AGVをコントロールポイントに接続するには:

  1. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  2. AGVをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  3. ハイライト表示されるように、コントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[トラベラーAGV]を選択します。AGVがコントロールポイントに接続されたことを示す赤い線が表示されます。モデルをリセットすると、AGVはこのコントロールポイントから移動し始めます。
  4. 前の手順を繰り返して、複数のAGVをコントロールポイントに接続します。

シミュレーションモデルをリセットすると、このコントロールポイントに接続されているすべてのAGVがそのポイントに表示されます。複数のAGVがそのポイントに接続されている場合、そのコントロールポイントで重なり合う可能性があります。

パークポイントを作成する

パークポイントは、シミュレーションモデルが最初に実行を開始するときにAGVが出発する場所です。シミュレーションの実行中、AGVは、バッテリーの残量が少なくなった場合にパークポイントに戻ってバッテリーを充電できます。

  1. パークポイントを作成する前に、まずAGVを移動者AGVとしてメインAGVネットワークのコントロールポイントに接続する必要があります(手順については前のセクションを参照してください)。
  2. パークポイントへのAGVパスを作成します。通常、パークポイントパスはメインAGVネットワークループからの小さな分岐点です。
  3. 新しく作成したパスの1つをクリックして選択します。[クイックプロパティ]で、[双方向]チェックボックスをオンにして、AGVがこのパークポイントで双方向に移動できるようにします。
  4. 前のステップを繰り返して、すべてのパークポイントパスと、それらをメインAGVネットワークに結合するパスが双方向パスであることを確認します。
  5. AGVがパークするべきAGVパスにコントロールポイントを追加します。
  6. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  7. メインのAGVネットワークでAGVに接続されているコントロールポイントをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  8. ハイライト表示されるように、パークポイントになるコントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[ParkPoints]を選択します。位置コントロールポイントがパークコントロールポイントに接続されていることを示す濃い緑色の線が表示されます。
  9. 必要に応じて前の手順を繰り返し、追加のパークコントロールポイントを作成します。シミュレーションモデルの各AGVにパークポイントがあることを確認してください。

シミュレーションモデルをリセットすると、AGVは最初に、AGVが接続されているメインAGVネットワークのコントロールポイントに表示されます。ただし、シミュレーションモデルの実行が開始すると、AGVはただちにパークポイントに移動します。

「次の作業を検索」ループを作成する

AGV処理フローテンプレートは、AGVが施設内をループで移動しながら作業する輸送タスクを探す、やや一般的なAGVシステムを実装しています。このようなロジックを作成するには、AGVネットワークに「次の作業を検索」ループを作成する必要があります。「次の作業を検索」ループは、基本的にはループ内で互いに接続される一連のコントロールポイントです。

AGVがループ内のコントロールポイントの1つを通過する際に、その場所で利用可能な輸送タスクをチェックします。輸送するアイテムが見つかると、そのアイテムをロードして、アイテムの指定目的地までの最短距離を取ります。その場所で輸送するアイテムが見つからない場合は、「次の作業を検索」ループの次のコントロールポイントに移動し、そのポイントで作業を確認します。AGVは接続されているすべてのコントロールポイントをループして作業を探します。

「次の作業を検索」ループを作成するには:

  1. Aキーを長押しして接続モードに入ります。接続モードになると、マウスポインターはチェーン記号が横に付いたプラス記号に変わります()。
  2. AGVが「次の作業を検索」ループで通過する最初の上流コントロールポイントをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
  3. それがハイライト表示されるように、接続する2番目のコントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[NextLookForWork]を選択します。コントロールポイントが接続されたことを示す赤い線が表示されます。
  4. このプロセスを繰り返し、ループにさらにコントロールポイントを追加します。最後のコントロールポイントが最初のコントロールポイントに接続され、ループを作成していることを確認してください。

シミュレーションモデルを実行すると、輸送タスクが利用可能になり次第すぐにAGVがシステムに入ります。その後、それらはAGVネットワークを巡回し、「次の作業を検索」ループ内の各コントロールポイントに移動します。

コントロールポイント接続を削除する

コントロールポイント接続を削除するには:

  1. コントロールポイントをクリックして選択します。
  2. [クイックプロパティ]で[接続]メニューをクリックして、削除する接続のタイプを選択します。
  3. このメニューの下のボックスで、接続を削除したいオブジェクトの名前をクリックします。
  4. 削除]ボタン をクリックして、接続を削除します。

AGV設定を変更する

AGVネットワークの基本的なロジックを設定した後に、AGVの動作を変更したいと思う場合があります。AGVの移動速度、ロード容量、バッテリーの寿命、アイテムのロードとアンロードにかかる時間などをカスタマイズできます。このセクションでは、コントロールできるさまざまなプロパティとそれらの設定を調整する場所について説明します。

AGV処理フローテンプレート変数

AGV処理フローテンプレートを使用している場合は、AGV処理フローのいくつかの処理フロー変数に値を入力する必要があります。

  1. AGV処理フローテンプレートを開いた状態で、処理フローの空白スペースをクリックして、何も選択されていないことを確認します。
  2. [クイックプロパティ]の[処理フロー変数]グループで、次の3つの処理フロー変数の設定を入力します。
  • BatteryRechargeThreshold - AGVがこれ以上作業を実行しなくなり、ただちにパークして再充電するバッテリーの割合レベルを入力します。バッテリーの消耗/再充電をシミュレーションしない場合は、この変数に「-1」と入力してください。
  • BatteryResumeThreshold - AGVがパーク後に再開できるバッテリーの割合レベルを入力します。消耗/再充電をシミュレーションしない場合は、この変数に「-1」と入力してください。
  • DropoffRetrievalTime - AGVネットワークにドロップポイントを追加した場合、AGVは移動してドロップポイントでアンロードします。ドロップポイントでアンロードした後、AGVはアイテムを最終目的地に移動させる前にこのドロップポイントに留まります。AGVがドロップポイントに留まる時間の長さは、この変数に対して指定した時間の長さに基づきます。この時間遅延は、人が来てドロップポイントから荷物を回収するのにかかる時間をシミュレーションします。

AGVネットワークプロパティ

AGVネットワークのプロパティにアクセスするには、[ツールボックス]([AGVネットワーク]として表示)からアクセスするか、AGVパスをクリックして[クイックプロパティ]の[ネットワークプロパティ]ボタンをクリックします。

AGVネットワークのプロパティウィンドウを使用して、AGVネットワーク上のすべてのAGVのグローバル速度、バッテリー容量と充電率、累積動作、割り当て解除動作、一般的なビジュアル設定を設定できます。以下に、AGVネットワークのプロパティウィンドウにある2つの便利なタブを示します。

これらのプロパティの詳細については、参照セクションの「AGVネットワーク」を参照してください。

TaskExecuterのプロパティ

AGV(厳密にはTaskExecuterオブジェクト)をダブルクリックすると、そのプロパティが開かれ、そこで容量、最高速度、加速、減速などのプロパティを編集できます。

これらのプロパティの詳細については、参照セクションの「タスク実行者タブ」を参照してください。

衝突とデッドロックを防止する

AGVネットワークは、パス上の次のコントロールポイントが使用可能かどうかを判断することによってクラッシュを回避する高度な先読みメカニズムを備えています。次のコントロールポイントを使用できない場合、AGVは現在のコントロールポイントで待機します。

注意すべきいくつかの主な用語

  • 割り当て - AGVがコントロールポイントに移動している、またはこれを占有している場合、コントロールポイントはそのコントロールポイントを割り当てています。他のAGVが取得できないように、そのコントロールポイントを取得していると考えることができます。特定のコントロールポイントを任意の時点で割り当てられるAGVの数を設定できます。
  • 割り当て解除 - あるAGVを他のAGVが取得できるようにコントロールポイントをリリースしたとき。AGVが次のコントロールポイントに到達したときに割り当て解除するようにコントロールポイントを設定することも、AGVが通過した後でコントロールポイントを割り当て解除するように設定することもできます。

シミュレーションモデルを実行して衝突やデッドロックが発生した場合、問題の原因はおそらくコントロールポイントの割り当てと割り当て解除の方法にあります。このセクションでは、このような問題を解決するためのいくつかの方法を説明します。

コントロールポイントをさらに追加する

デッドロックを修正するためのシンプルな解決策の1つは、AGVパスに沿ってコントロールポイントをさらに追加することです。コントロールポイントを増やすことで、AGVは迅速に割り当て解除しやすくなります。

割り当て解除タイプを変更する

デフォルトでは、AGVが次のコントロールポイントに到達したときにコントロールポイントの割り当てが解除されるように設定されています。コントロールポイントの割り当て解除タイプを変更して、厳密性を低くすることができます。

  1. コントロールポイントをクリックして選択します。
  2. [クイックプロパティ]で[割り当て解除タイプ]メニューをクリックし、[現ポイント通過時に割り当て解除]を選択します。

コントロールエリアを追加する

AGVモデルの一部の周囲にコントロールエリアを追加すると、AGVが互いに衝突するのを防ぐことができます。コントロールエリアは、設定された数のAGVしか一度にそのエリアを占有できないように、AGVネットワークのエリアへのアクセスを制限します。デフォルトでは、1度に1つのAGVしかエリアを占有できませんが、必要に応じてコントロールエリアプロパティでそのエリアにアクセスできるAGVの数を変更できます。

コントロールエリアを追加するには:

  1. ライブラリの[AGV]グループで、[コントロールエリア]をクリックしてコントロールエリア構築モードに入ります。
  2. AGVネットワークのコントロールエリアを追加する部分の右上隅の外側にカーソルを置きます。クリックしてコントロールエリアボックスの描画を開始します。AGVネットワークの制限したい部分の周りにコントロールエリアボックスを描画します。
  3. Escを押してコントロールエリア構築モードを終了します。
  4. コントロールエリアのサイズを変更する必要がある場合は、コントロールエリアをクリックし、サイズ調整矢印を使用します。
  5. 新しく追加したコントロールエリアが選択されている間は、必要に応じて[クイックプロパティ]パネルでそのプロパティを編集できます。