AGVネットワークに関する主要な概念

AGVシステムをシミュレーションする理由

FlexSimのAGVオブジェクトとツールは、無人搬送車(AGV)を使用するビジネスシステムをシミュレーションするために設計されています。AGVとは、ある目的地から別の目的地へ商品を輸送するように設計された携帯型ロボットです。

次の画像は、AGVを使用して医療用品、洗濯物、廃棄物を輸送する病院の仮説例を示しています。

AGVシステムは現在、材料のハンドリング、製造などの分野でさまざまな用途に使用されています。AGVシステムは実装に費用がかかるため、シミュレーションプロジェクトに最適です。さまざまなAGVシステムの設定をシミュレーションモデルで試し、ニーズに合う最も効率的なシステムを探すことができます。

AGVシミュレーションモデルは、実装フェーズに入るとコミュニケーションツールとしても機能します。そのモデルをAGVのプログラミング担当者に引き継ぐことで、システムでAGVのプログラミングを行う際に必要なロジックを把握してもらうこともできます。

AGVネットワークを構築する前に

AGVシミュレーションプロジェクトを開始する前に、システムが使用するAGVのタイプを調べておくと良いでしょう。プロジェクト開始前にAGVシステムに関する情報を得ることができない場合は、作業モデルを構築し、使用するAGVのより詳細な情報を得てから、作業モデルに変更を加えることも可能です。

このことを踏まえて、システムで使用するAGVに関してベンダーに尋ねるべき質問のリストを次に示します。

  • ナビゲーション - AGVが使用するナビゲーションシステムはどのようなものですか?ワイヤレスですか?車両はどのようにシステムに出入りしますか?オペレーターはAGVを呼び出す必要がありますか?もしくは作業を探して連続システムでループしますか?
  • ルーティング - AGVはどのようにしてある場所から別の場所にルーティングされますか?システムでは一元化されたAGVコントローラーが使用されますか?衝突を回避するために、AGVトラフィックはどのように制御されますか?
  • 車両の仕様 - AGVのロード容量はどれぐらいですか?ロードとアンロードにかかる時間はどれぐらいですか?減速時や旋回時のAGVの移動速度はどれぐらいですか?荷物運送中に速度は変化しますか?バッテリー寿命と充電レートはどれぐらいですか?

AGVオブジェクトとツールの概要

次のセクションでは、FlexSimでAGVモデルを構築する際に使用される3Dオブジェクトとツールの概要を示します。

ライブラリオブジェクト

ライブラリのTaskExecuter 3Dオブジェクトは、外観と動きがAGVのように設計されており、AGVモデルでの使用に最適なオブジェクトです。このオブジェクトは、ライブラリのタスク実行者のカテゴリにあります。

ライブラリのAGVのカテゴリには次のオブジェクトがあります。

名前とアイコン 説明
直線パス
ある場所から別の場所に移動するためにAGVが使用する直線パスを描画します。
曲線パス
ある場所から別の場所に移動するためにAGVが使用する曲線パスを描画します。
結合パス
結合パスは、オブジェクトというよりもツールのように機能します。これを使用し、2つのAGVパスを接続する曲線のAGVパスを作成します。
コントロールポイント
コントロールポイントは、AGVネットワーク内で多数のロジックを処理します。AGVとフローアイテムは、コントロールポイントを通してネットワークに出入りする必要があります。AGVをさまざまなフロアにルーティングする必要がある場合は、コントロールポイントを使用して、エレベーターオブジェクトと通信します。コントロールポイントは他のコントロールポイントに接続することも可能です。これによりAGVは、さまざまな場所でタスクを検索しながらネットワークをループする作業検索システムを作成できます。
コントロールエリア
AGVネットワークのセクションにコントロールエリアを追加することで、衝突を回避できます。このコントロールエリアでは、AGVネットワークのセクションへのアクセスが制限されており、一度に一定数のAGVのみエリアにアクセスできます。

処理フローテンプレート

AGVシミュレーションをさらに簡単にするために、FlexSimにはAGVシミュレーションプロジェクトで使用できる2つの事前に作成されたAGV処理フローテンプレートがあります。これらの処理フローテンプレートには、ほとんどのAGVシステムに必要な基本ロジックがすでに用意されています。3DモデルにAGVを添付し、ご使用のAGVシステムに固有の設定を調整するだけで済みます。

FlexSimにおけるAGVの仕組み

基本的にAGVは、主に1つの固定リソースから別の固定リソースにアイテムを輸送する特殊なタスク実行者です。AGVは、FlexSimのすべてのタスク実行者が使用するのと同じ基本的なロジックを使用して、ロード、アンロード、移動などのタスクを処理します。そのため、具体的にAGVについて読む前に「タスクロジックに関する主要な概念」を参照してください。そのトピックで説明されているように、AGVのようなタスク実行者にタスクを完了させることに関連して、4つの異なる論理的な問題が存在しています。

どのAGVシステムにも、4つの論理的問題すべてが関係しています。次のセクションでは、特にAGVが関連するこの4つの問題を解決するために使用するツールと方法の概要を説明します。

タスクの生成

AGVは、ほぼ例外なく輸送タスクを処理し、1つの固定リソースから別の固定リソースにフローアイテムを輸送します。そのため、輸送タスクは固定リソース、または固定リソースでイベントをリッスンする処理フローから生成される傾向にあります。

次の例に示すように、AGV輸送を使用してフローアイテムを輸送する固定リソースは、AGVネットワークのコントロールポイントに接続する必要があります。

この例では、2つのプロセッサがAGVネットワーク上の「PickUpControl」という近くのコントロールポイントに接続されています。これらは、このコントロールポイントに場所として接続されるため、接続は青色です。

その後、「PickUpControl」ポイントは他の複数のコントロールポイントに接続されます。ピックアップポイントとして接続されるため、接続は緑色です。

プロセッサは、「PickUpControl」ポイントにフローアイテムを渡した後、いずれかのピックアップポイントにアイテムをルーティングします。アイテムはAGVにピックアップされるまでこのポイントで待機します。フローアイテムを受け取ることができるピックアップポイントがない場合、アイテムはプロセッサに残ります。

タスクの送付

AGVシステムにおいて、タスクの送付ロジックは、コントロールポイント、AGV処理フローテンプレート、「AGVWork」というグローバルリストの組み合わせにより処理されます(このグローバルリストは、メインのAGV処理フローテンプレートを使用するたびに自動で作成されます)。固定リソースがフローアイテムのAGV輸送をリクエストする必要がある場合、そのアイテムを「AGVWork」グローバルリストにプッシュし、処理フローテンプレートは残りのロジックを処理します。

留意すべき重要な点として、タスクの送付はほとんどが3DシミュレーションモデルにおけるAGVの場所によって決まります。AGVはコントロールポイントを通過する際に、ロードするアイテムなど利用可能なタスクがあるかを確認します。作業するタスクがあれば作業を開始し、適切なコントロールポイントへと移動して、フローアイテムをロードまたはアンロードします。

引き続き前のセクションと同じ例を使用すると、2つのプロセッサはフローアイテムを「PickUpControl」ポイントにプッシュするだけでなく、[輸送を使用]プロパティを使用して、アイテムを「AGVWork」グローバルリストにもプッシュします。AGVは、「PickUpControl」ポイントを通過する際、そのエリアにあるタスクを確認します。次の画像に示すように、ロードできるアイテムがある場合、AGVはピックアップエリアに入り、いずれかのピックアップポイントでアイテムをロードします。

いずれのピックアップポイントでもロードできるアイテムがなかった場合、AGVはピックアップエリアに入らず、次のエリアに移動します。

アイテムフローとルーティング

アイテムフローとルーティングは、3Dモデルの固定リソースによってすべて処理され、他のいかなるAGV関連のツールにも影響されません。つまり、標準のシミュレーションモデルで3Dオブジェクトフローを接続する際に使われるのと同じ方法が、AGVシミュレーションモデルにも適用されます(詳細については、「3Dオブジェクトフローを接続する」を参照してください)。

AGVモデルでは、通常、ポート接続またはリストのいずれかを使用して、3Dオブジェクトフローに接続します。ポート接続には設定が簡単という利点があります。しかし、AGVは通常アイテムを長距離輸送するため、遠く離れたオブジェクト間に接続を描画するのは難しいこともあります。その場合は、代わりにリストを使用すると便利です。リストを使用すると、さまざまな始点とさまざまな目的地を持つモデルで、多対多のポートルーティングを単純化することもできます。

前のセクションと同じ例を使用すると、このモデルには、医療用品(白い箱型のもの)ときれいな洗濯物(茶色い箱型のもの)という2つのタイプのフローアイテムがあります。トラックはアンロードドックに到着し、医療用品またはきれいな洗濯物のいずれかを降ろします。2つのプロセッサは、従業員がAGVにピックアップされる荷物を準備する時間を表します。2つのプロセッサは、[ポートに送信]プロパティを使用して、処理が終了したアイテムを「ReadyForDelivery」グローバルリストにプッシュします。

AGVが医療用品またはきれいな洗濯物のいずれかを引き渡す場所には、複数の下流シンクがあります。これらのシンクは「ReadyForDelivery」リストからアイテムをプルし、運送中の特定の荷物の引き渡し場所をAGVに指示します。

AGVは、運送中の特定のフローアイテムをプルするシンクに到達すると、輸送中のフローアイテムをアンロードします。

輸送または移動

FlexSimでは、AGVが移動する特定のパスを作成するのは非常に簡単です。AGVが移動に使用するパスを作成したら、方向が正しく設定されていることを確認してください。次に、コントロールポイントへのパークポイント接続を使用し、AGVオブジェクトをネットワークパスに接続します。

引き続き前のセクションと同じ例を使用すると、このシステムのAGVは、シミュレーションモデル全体で連続ループ上を移動するよう設計されています。AGVが特定のコントロールポイントに到達すると、その場所でロードまたはアンロードする必要のあるアイテムがあるかどうか、作業を確認します。アイテムがない場合、AGVはメインループに進みます。作業がある場合、AGVはアイテムをロードまたはアンロードする必要のある特定の場所へと分岐されます。