AGVネットワークロジックの構築
AGVネットワークロジックの概要
次の画像に、AGVパス上のコントロールポイントの例を示します。
AGV処理フローテンプレートに加えて、AGVコントロールポイントはAGVネットワークのロジックと機能を作成するための重要な鍵となります。
- AGVネットワークに出入りするには、AGVをコントロールポイントに接続する必要があります。
- AGVがコントロールポイントを通過するとき、そのコントロールポイントは、どのコントロールポイントがその次の目的地になるかに関する指示をAGVに与えられます(ピックアップポイント、ドロップポイント、AGVが作業を探す別のコントロールポイントなど)。
- AGVネットワークを介してアイテムを輸送するには、固定リソースをコントロールポイントに接続する必要があります。
- コントロールポイントはトラフィックコントロールに影響を与え、潜在的な衝突やデッドロックを防ぐのに役立ちます。
- AGVを複数のフロアに輸送するためにエレベーターを使用する場合は、そのロジックを処理するためにコントロールポイントを組み合わせる必要があります
パスにコントロールポイントを追加する
パスにコントロールポイントを追加するには:
- ライブラリの[AGV]グループで、[コントロールポイント]をモデルにドラッグします。
- AGVパス上になるようにコントロールポイントを配置します。次の画像に示すように、AGVパスに接続すると、コントロールポイントは十字線付きのひし形のようになります。
AGVネットワークに固定リソースを接続する
固定リソース内のアイテムをAGVネットワーク経由で輸送する必要がある場合は、その固定リソースをネットワーク上の特定のコントロールポイントに関連付け、AGVがネットワーク上の固定リソースへの移動方法を認識できるようにする必要があります。
固定リソースをコントロールポイントに接続するには、次のようにします。
- Aキーを長押しして接続モードに入ります。接続モードに入ると、マウスポインターが、チェーンリンクシンボルが横に付いたプラス記号(
)に変わります。
- コントロールポイントに接続したい固定リソースをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
- ハイライト表示されるように、コントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[場所]を選択します。固定リソースがコントロールポイントに接続されたことを示す青い線が表示されます。
- 固定リソースをクリックして、右側でプロパティを開きます。[出力]セクションで、適切な目的地にアイテムを送るように[ポートに送信]プロパティを設定します。
- ポート接続を使用して、アイテムを目的地に送ることができます。上流の固定リソースが下流の固定リソースに入出力ポート接続(A接続)で接続されていることを確認してください。次に、ビジネスシステムに必要なフローロジックを使用するようにポート接続を設定します。詳細については、「3Dオブジェクトフローの概要」を参照してください。
- アイテムをリストにプッシュできます。下流の固定リソースが同様にリストからアイテムをプルするように設定されていることを確認してください。
- また、[出力]セクションで、[輸送を使用]ボックスをオンにします。このチェックボックスの隣にあるボックスで、このプロパティを設定してAGVを割り当て、アイテムを目的地に輸送します。
- AGV処理フローテンプレートを使用している場合は、[リストを使用]を選択し、AGV処理フローテンプレートを使用したときに自動で生成されるAGVWorkリストを選択する必要があります。
- 1台のAGVでシンプルなAGVネットワークシステムを使用している場合は、センターポート接続(S接続)を使用して固定リソースをAGVに接続します。
- 複数のAGVを使用している場合は、センターポート接続(S接続)を使用して固定リソースをディスパッチャーに接続します。次に、入出力接続(A接続)を使用して、ディスパッチャーをシステム内のすべてのAGVに接続します。
シミュレーションが実行されると、AGVが接続されているコントロールポイントに到達するまで固定リソースがそのアイテムを保持します。アイテムが転送されるとすぐにAGVに表示されます。
AGVをAGVネットワークに接続する
AGVがAGVパスネットワーク上を移動するためには、AGVを移動者AGVとしてAGVネットワーク上のコントロールポイントに接続する必要があります。メインのAGVネットワーク上にあるコントロールポイントを選択します。コントロールポイントはAGVに入ってほしいエリアの近くにある必要があります。
AGVをコントロールポイントに接続するには:
- Aキーを長押しして接続モードに入ります。接続モードに入ると、マウスポインターが、チェーンリンクシンボルが横に付いたプラス記号(
)に変わります。
- AGVをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
- ハイライト表示されるように、コントロールポイントの上にカーソルを置きます。コントロールポイントをクリックしてメニューを開きます。[トラベラーAGV]を選択します。AGVがコントロールポイントに接続されたことを示す赤い線が表示されます。モデルをリセットすると、AGVはこのコントロールポイントから移動し始めます。
- 前の手順を繰り返して、複数のAGVをコントロールポイントに接続します。
シミュレーションモデルをリセットすると、このコントロールポイントに接続されているすべてのAGVがそのポイントに表示されます。複数のAGVがそのポイントに接続されている場合、そのコントロールポイントで重なり合う可能性があります。
コントロールポイントの接続
コントロールポイントはAGVネットワークの基本的な構成要素です。これらは、移動の「エンドポイント」でもあり、AGV先読み割り当ての「足掛かり」でもあります。加えて、コントロールポイントは、コントロールポイント接続を通して、論理的に相互に関連付けることができます。コントロールポイント接続は、AGVモデルのロジックの高速化を容易にする非常に強力な機能です。
その最も基本的なレベルでは、コントロールポイント接続は、あるコントロールポイントから別のオブジェクトまたはコントロールポイントへの名前付き接続にすぎません。接続は一方向にも双方向にもできます。また、コントロールポイントは同じ名前の複数の接続を有することができます。たとえば、コントロールポイントCP1にそれぞれコントロールポイントのCP2とCP3へのDropoffPoints接続が2つあるとします。
コントロールポイント接続それ自体は、固有の決め打ちされた意味合いを持っていません。つまり、前述のCP1からCP2とCP3へのDropoffPoints接続を作成しても、AGVシステムの特殊な内部ロジックがトリガーされることはありません。これらの接続を作成しただけでは、モデルの挙動は何も変わりません。
ただし、AGV処理フローテンプレートやAGVエレベーター処理フローなどの処理フローを使用することにした場合またはAGVオフセット移動を追加することにした場合は、さまざまなコントロールポイント接続に意味合いを持たせることになります。たとえば、AGV処理フローでは、Location、PickupPoints、DropoffPoints、ParkPoints、LookForWork、およびNextLookForWork接続の特定の意味合いを定義します。AGVエレベーター処理フローでは、ElevatorFloorCP、ElevatorRedirectCP、およびElevatorEntryCP接続の特定の意味合いを定義します。
3Dビューでコントロールポイント接続を作成する
コントロールポイント接続を作成するには:
- Aキーを長押しして接続モードに入ります。接続モードに入ると、マウスポインターが、チェーンリンクシンボルが横に付いたプラス記号(
)に変わります。
- 接続の始点になるコントロールポイントをクリックします。マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます。
- 接続の終点になるコントロールポイントの上にカーソルを置いて、強調表示します。コントロールポイントをクリックしてメニューを開きます。作成するコントロールポイント接続の名前を選択します。
プロパティでコントロールポイント接続を作成する
コントロールポイントが地理的に離れているために、3Dビューでは接続を作成しにくい場合があります。この場合は、コントロールポイントの[プロパティ]ペインを介してコントロールポイント接続を作成することもできます。
- 接続の始点になるコントロールポイントをクリックします。
- [プロパティ]の[接続]で、ドロップダウンを押して、追加する接続の名前(PickupPointsなど)を選択します。
- [追加]ボタン
を押すと、ポップアップが表示されます。
- ビューで接続する必要のあるコントロールポイントに移動するか、検索/絞り込みコントロールにコントロールポイントの名前を入力します。ターゲットコントロールポイントを見つけたら、それをクリックまたは選択して青色で強調表示します。
- [選択]を押します。
コントロールポイント接続を削除する
コントロールポイント接続を削除するには:
- コントロールポイントをクリックして選択します。
- [プロパティ]で、[接続]メニューを探して、削除する接続のタイプを選択します。
- このメニューの下のボックスで、接続を削除したいオブジェクトの名前をクリックします。
- [削除]ボタン
をクリックして、接続を削除します。
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が取得できるようにコントロールポイントをリリースしたとき。AGVが次のコントロールポイントに到達したときに割り当て解除するようにコントロールポイントを設定することも、AGVが通過した後でコントロールポイントを割り当て解除するように設定することもできます。または、コントロールポイントとコントロールエリアを割り当て解除タイプを使用して割り当て解除する場合の独自のルールを作成します。
コントロールポイントは、AGVパス上の「足掛かり」として機能します。AGVがコントロールポイント(CP1)に到着すると、事前に次のコントロールポイント(CP2)を割り当てようとします。CP2を割り当てられない場合は、減速してCP1で停止し、先に進む前にCP2を割り当てられるまで待機します。
コントロールエリア
コントロールエリアは、エリア全体へのアクセスを制限するための追加の割り当てツールとして機能します。すでに述べたように、AGVがコントロールポイントに到着すると、事前に次のコントロールポイントを割り当てます。そのコントロールポイントまでのパスの一部としてコントロールエリアに入る必要がある場合は、そのようなコントロールエリアのすべてを割り当ててから、先に進む前にコントロールポイントを割り当てる必要もあります。すべてのコントロールエリアとコントロールポイント自体を割り当てられない場合は、それらのいずれも割り当てないことに注意してください。これにより、デッドロックが回避されます。
AGVネットワークのエリアの周囲にコントロールエリアを配置すると、AGVが互いに衝突するのを防ぐことができます。コントロールエリアは、設定された数のAGVしか一度にそのエリアを占有できないように、AGVネットワークのエリアへのアクセスを制限します。デフォルトでは、1度に1つのAGVしかエリアを占有できませんが、必要に応じてコントロールエリアプロパティでそのエリアにアクセスできるAGVの数を変更できます。
シミュレーションモデルを実行して衝突やデッドロックが発生した場合、問題の原因はおそらくコントロールポイントの割り当てと割り当て解除の方法にあります。このセクションでは、このような問題を解決するためのいくつかの方法を説明します。
コントロールポイントをさらに追加する
デッドロックを修正するためのシンプルな解決策の1つは、AGVパスに沿ってコントロールポイントをさらに追加することです。コントロールポイントを増やすことで、AGVは迅速に割り当て解除しやすくなります。
割り当て解除タイプを変更する
デフォルトでは、AGVが次のコントロールポイントに到達したときにコントロールポイントの割り当てが解除されるように設定されています。コントロールポイントの割り当て解除タイプを変更して、厳密性を低くすることができます。
- コントロールポイントをクリックして選択します。
- [プロパティ]で、[割り当て解除タイプ]メニューをクリックし、[現ポイント通過時に割り当て解除]を選択します。
コントロールエリアを追加する
コントロールエリアを追加するには:
- ライブラリの[AGV]グループで、[コントロールエリア]をクリックしてコントロールエリア構築モードに入ります。
- AGVネットワークのコントロールエリアを追加する部分の右上隅の外側にカーソルを置きます。クリックしてコントロールエリアボックスの描画を開始します。AGVネットワークの制限したい部分の周りにコントロールエリアボックスを描画します。
- Escを押してコントロールエリア構築モードを終了します。
- コントロールエリアのサイズを変更する必要がある場合は、コントロールエリアをクリックし、サイズ調整矢印を使用します。
- 新しく追加したコントロールエリアが選択されている間は、必要に応じて[プロパティ]パネルでそのプロパティを編集できます。