AGVネットワーク

概要と主要な概念

AGVネットワークは、自動誘導車両(AGV)や他のタスク実行者をシミュレートしながら移動経路を作成するのに役立ちます。

AGVモジュールは、自身のAGVオブジェクトタイプをライブラリに追加しません。代わりに、AGVネットワーク上のコントロールポイントにタスク実行者(タスクエグゼキューターオペレータートランスポーターなど)を接続でき、そのタスク実行者はAGV定義のロジックを使用して移動します。

[AGVタイプ]タブ

[AGVタイプ]タブについては、「AGVタイプ」を参照してください。

[コントロールポイントの接続]タブ

[コントロールポイントの接続]タブについては、「コントロールポイントの接続」を参照してください。

[累積タイプ]タブ

[累積タイプ]タブについては、「累積タイプ」を参照してください。

[割り当て解除タイプ]タブ

[割り当て解除タイプ]タブについては、「割り当て解除タイプ」を参照してください。

[条件付きのルール]タブ

[条件付きのルール]タブを使用すれば、さまざまなパス上のルーティングに関するブール条件を定義することができます。たとえば、AGVの特定のタイプ専用のパスもあります。特定のラベル値を持つAGVのみがパスを辿ることができるようにするために、AGVのラベル値が一致するかどうかをチェックする条件付きルールを定義できます。その後で、そのルールを参照するパスの[条件付きのルール]プロパティを設定します。設定したら、ラベル値が一致するAGVのみがそのパス上を移動します。

AGVが移動タスクを開始するたびに、それぞれの条件付きルールを評価し、必要な目的地へのルートのキャッシュされたマップへのキーとして機能するタプルを作成します。AGVネットワークは、速度上の理由でそのキャッシュを維持するため、AGVが移動する必要があるたびにルートを計算し直す必要がありません。シミュレーション実行中に必要に応じてルーティングテーブルが構築され、キャッシュされます。

AGVは、移動オペレーションの開始時点にしか条件付きルールを評価しないことに注意することが重要です。これは、移動オペレーションの途中で条件付きルールの値が変化した場合は、ユーザーがAGVをプリエンプトして、AGVが移動オペレーションを再起動し、条件付きルールと後続ルートを再評価するようにする必要があることを意味します。

[一般]タブ

[一般]タブには、次のプロパティがあります。

パスまたはコントロールポイントを右クリックし、[AGVネットワークプロパティ]を選択すると、[一般]ページが表示されます。

デッドロックを確認

チェックボックスをオンにすると、コントロールポイント/コントロールエリアの割り当てロジックはデッドロックサイクルがないか継続的に確認します。見つかった場合は、モデルを停止し、問題を通知します。デッドロック検出には追加の計算が必要であり、シミュレーションが遅くなる可能性があることに注意してください。そのため、デバッグ中にオンにして、デッドロック問題がすべて解決したら、オフに戻してください。

移動終了速度0は最高速度を意味する

チェックボックスをオンにすると、AGVでは、終了速度0の移動タスクが「AGVの最高速度で終了」と解釈されます。この動作は、ネットワークノードを使用する標準的なトラベルネットワークなど、他のFlexSim移動メカニズムではデフォルトです。しかしながら、AGVの場合、これはいつも望ましい動作であるとは限らないため、ここでこの設定を明示的に定義します。

内部目的地エラーを無視

オンにすると、輸送列本体内部の目的地としてAGV.BodyOffset.TrainLeadingEdgeまたはAGV.BodyOffset.TrainTrailingEdgeを使用しているときに発生した移動目的地エラーがシステムコンソールに出力されません。代わりに、AGVはすぐに移動タスクを終了します。

このエラーは、非常に特殊なケースで発生します。AGV輸送列の「前縁」をAGV輸送列の内部のAGVパスネットワーク上の目的地に移動させたい場合は、技術的にはその操作を正常に実行する方法はありません。これは、その目的地への輸送列移動の縁が何であっても「前縁」ではなく「後縁」になるためです。つまり、AGVを前提とすると、このようなタスクは技術的にエラーです。ただし、モデルによっては、このエラーを検出して回避するのは困難な場合があります。そのため、このボックスをオンにするはできますが、AGVは全く移動せずに移動タスクを終了するだけです。

線幅

基準となる幅をピクセルで定義します。モデル内のパスとコントロールポイントがこの幅で描画されます。

描画スケール

基準となするサイズを定義します。コントロールポイントとパスの方向矢印の描画をこのサイズで縮小拡大します。

パス描画、コントロールポイントの描画、コントロールエリアの描画

モデル内で個々のオブジェクトをどのように操作できるかを定義します。モデルの特定の部分を完了したとき、その中のオブジェクトに関して変更できるところを制限することがあります。オプションは次のとおりです。

  • 完全操作 - 必要に応じてこれらのオブジェクトをクリックし、動かすことができます。
  • クリックのみ可能 - これらのオブジェクトをクリックできますが、動かすことはできません。
  • クリック不可 - 3Dビューでオブジェクトを表示できますが、クリックできません。
  • 描画しない - 3Dビューでオブジェクトを表示できません。

コントロールポイント/エリアの割り当てを表示

主に、デバッグに使用されます。オンにすると、AGVネットワークが各AGVの現在の割り当てと要求された割り当てを3Dビューに描画します。これには、コントロールポイント、コントロールエリア、およびパス転送の割り当てが含まれます。現在の割り当てはオレンジ色で描画されますが、要求された割り当ては赤色で描画されます。

蓄積の関連付けを表示

主に、デバッグに使用されます。オンにすると、AGVネットワークが現在累積パス上を移動しているAGV間に線を描画します。各AGVからその前のAGVとその後ろのAGVまで青色の線を描画します。

ルートコスト

このコントロールのグループを使用すれば、AGVパスネットワークに沿ったルートを解析するときの移動コストの計算方法をカスタマイズすることができます。AGVネットワークでは、最適な移動ルートを決定するためにダイクストラ法が使用されます。このアルゴリズムは、ネットワークを走査するときに、パスの各セクションでの移動に関連付けられた「コスト」を計算します。その後で、AGVが合計コストが最小のルートを辿って目的地に到着します。

デフォルトで、パスの1セクションの移動コストはそのセクションの距離と一致します。または、[速度で分配]を選択した場合は、その距離を、指定されたAGVがそのパスに沿って移動する速度で除算します。その結果、AGVは、最も短いルートではなく、最も速いルートを移動することになります。

また、[カスタムパスコストで乗算]を選択して、パス依存の式を入力することもできます。その後で、アルゴリズムが、コストを式の結果で乗算します。この最も一般的な用途は、ネットワーク内のさまざまなパスにラベルを貼ってパスごとに優先順位を付けることです。そうすれば、アルゴリズムが特定のパス上の移動を優先します。ここで、式の結果が1の場合は、標準コストが使用され、式の結果が3の場合は、コストが3倍になり、式の結果が.5の場合は、コストが半分にカットされます。以下同様です。式の結果が0の場合は、標準コストが使用されることに注意してください。

パスベースのコスト計算は静的であることが前提です。システムが目的地までのルーティングテーブルを必要としている場合は、それを1回だけ構築してキャッシュオフします。以降のルーティングではキャッシュされたテーブルが使用されます。これは、シミュレーションの実行中にパス依存のコストを単純に変更するだけでは、それらのコストが機能すると想定できないことを意味します。このとき、テーブルが初めて構築されたときのパスベースのコストが使用され、以降の変更は無視されます。ただし、パス依存のコスト計算を条件付きルールと組み合わせて使用して、この目的を達成することができます。

システムは、移動タスクの開始時点で各条件付きルールを評価することによってタプルを作成します。このタプルは、ルーティングテーブルのマップへのキーになります。指定されたタプルキーのテーブルがすでに存在する場合は、システムがキャッシュされたテーブルを使用します。テーブルが存在しなかった場合は、システムが新しいルートを構築してキャッシュします。そのため、パスコストを動的にしたい場合は、特定のパスコスト構成を条件付きルールに関連付けることができます。このような構成を使用するには、すべてのパスコスト値を構成に設定してから、条件付きルールをオンにします。その後で、ルーティングテーブルの計算が完了したら、パスコストをデフォルト値にリセットして、条件ルールをオフにします。

ルートコストのデバッグ

AGVシステムは、ダイクストラ法による結果に関する情報を取得するためのツールも提供しています。目的地のコントロールポイントを右クリックして、[AGVルーティングの近接性を表示]を選択できます。その後で、モデル内の他のコントロールポイントとパス転送の上にカーソルを移動します。カーソルを移動したポイントから目的地までの移動に関連付けられたさまざまなコストが表示されます。

詳細については、「AGVルーティングアクセシビリティの表示」を参照してください。

ウェイポイント

ウェイポイントは、AGVがコントロールポイントを通過するときに発生するAGVコントロールロジックを定義するために使用されます。しかしながら、今後は、AGVコントロールについてはウェイポイントの代わりに処理フローを使用することをお勧めします。FlexSimはテンプレートAGVコントロール処理フローを提供します。これは、AGVコントロールロジックを定義するための出発点として使用できます。

[ウェイポイント]タブには次のプロパティがあります。

パスまたはコントロールポイントを右クリックし、[AGVネットワークプロパティ]を選択すると、[ウェイポイント]ページが表示されます。

ウェイポイントリスト

ここでは、各ウェイポイントを追加、削除、並べ替え、名前変更できます。

トリガーポイント

ウェイポイントロジックを起動するタイミングがこれで定義されます。オプションは次のとおりです。

  • 到着前 - ウェイポイントロジックは、AGVが減速を開始し、ウェイポイントで停止するタイミングで起動します。
  • 到着時 - AGVがウェイポイントに到着したときにウェイポイントロジックが起動します。トリガー要件が満たされ、このトリガーポイントが選択されている場合、ウェイポイントがAGVの最終宛先ではない場合でも、AGVは減速してこのウェイポイントで停止し、ウェイポイントを起動します。したがって、AGVを停止まで減速させない場合、[到着前]を使用してください。

トリガー要件

ウェイポイントを起動する場合は1を返し、起動しない場合は0を返すフィールド。

ウェイポイントロジック

ウェイポイントのコード。

ウェイポイントのメンバー

このウェイポイントの一部であるコントロールポイントのリスト。ここでは、メンバーリストを追加、削除、並べ替えできます。