AGV.AllocatableObject
Objectから継承します。
説明
AGVによって割り当て可能なオブジェクトです。
割り当て可能オブジェクトは、コントロールポイントとコントロールエリアのいずれかです。このオブジェクトに関して取得できる主なプロパティは、割り当てリクエストのセットと割り当てのセットです。
プロパティ
allocations | 現在オブジェクトを割り当てているAGVのセットを表すAGV.AllocationPointの配列状リスト。 |
requests | 現在オブジェクトを要求しているAGVのセットを表すAGV.AllocationPointの配列状リスト。 |
routingConstraint | ルーティングを計算するときにAGVがオブジェクトをどのように通過するか、または通過すべきかどうかを定義する値。 |
詳細
AGV.AllocatableObject.allocations
readonly allocations
説明
現在オブジェクトを割り当てているAGVのセットを表すAGV.AllocationPointの配列状リスト。
AGV.AllocatableObject.requests
readonly requests
説明
現在オブジェクトを要求しているAGVのセットを表すAGV.AllocationPointの配列状リスト。
AGV.AllocatableObject.routingConstraint
int routingConstraint
説明
ルーティングを計算するときにAGVがオブジェクトをどのように通過するか、または通過すべきかどうかを定義する値。
routingConstraintプロパティは、AGV.RoutingConstraintのいずれかの値をとります。この値を設定すると、AllocatableObjectはルーティング目的の動的バリアになります。デフォルト値(AGV.RoutingConstraint.None)は、AGVがオブジェクトを通過できることを意味します。他の値(例:AGV.RoutingConstraint.Blocked)に設定すると、AGVは使用された値に基づいてオブジェクトを迂回します。
なお、AGV.RoutingConstraintは、パスに対する条件付きのルールを補足します。違いは、条件付きのルールがルーティングテーブルのキャッシュを使用するのに対して、routingConstraintは使用しない点です。モデル内の任意のオブジェクトのroutingConstraintがAGV.RoutingConstraint.None以外に設定されている場合、AGVネットワークはキャッシュされたルーティングテーブルを無視し、パスを再計算します。そのため、routingConstraintを使用すると、移動オペレーションのたびにパスの再計算が必要になるため、実行速度に大きな影響を与えます。とはいえ、動的バリアが非常に多くなる可能性があり、ルートのキャッシュ(およびすべての条件付きルールの作成)が現実的でない場合、routingConstraintは有用です。
ルーティング制約が設定され、AGVネットワークがルートを動的に構築するとき、AGVネットワークは「A*モード」に切り替わり、出発地点から目的地までのパスを素早く見つけるためにA*検索アルゴリズムを使用します。最適なパスを見つけると、検索アルゴリズムを切り上げ、標準的なダイクストラ法で通常行われるルーティングテーブルへの完全な登録は行いません。これは、動的バリアを使用するときにパス検索をできるだけ効率化することが目的です。