はじめに

研究の背景

FMS(Flexible Manufacturing System)における搬送システムは製品の生産効率に深く関係している。これは製品および部品等を搬送するのにかかる時間を短くすることが、製品の完成までにかかる時間を短くすることにつながり、工場全体の生産効率を向上することになるからである。

 

本研究で対象とするのは、このFMSにおける自動搬送装置である。FMSにおける自動搬送装置としてはAGV(Automatic Guided Vehicle:自動搬送車)があげられる。このAGVは従来型の搬送設備であるベルトコンベアなどと比べると、連続的に物を搬送するには適していないが、レイアウトに捕らわれない自由な運用が可能である。また生産計画の変動に応じて台数、種別を自由に変更することができる。

 

現在このAGVの運用についてはオペレータの指示によるもの、中央制御システムによる集中制御、AGV自身による自律分散制御などがあるが、そのいずれもAGVの種別を考慮した制御には問題を抱えている。そこで本研究室で開発されたGlueLogicを用い、AGVごとに異なる特性を持たせ、それらの個性を生かしたタスク割当をしようと考えた。このとき入札と未来状態の推論という手法を用いることにより、AGVを効率良く運用できるかを検証することにした。

 

研究の目的

本研究では、同時に複数の種類のAGVを効率良く運用することを 目的とする。そのため、AGVに異なる特性を持たせ、それらのAGVによる入札を行わせる。そしてその結果を元にして未来状態の推論を行い、タスクの割当先を決定させる。このような機構を持つAGV制御システムを構築し、計算機上でシミュレーションを行う。そして与えるタスクごとに適切なAGVを選択し、搬送効率の向上を図ることができるかを検証する。

 

分散処理支援環境 GlueLogic

GlueLogicの概要

GlueLogicは複数のエージェントが並列に協調して動作するため の「場」を提供するインフラストラクチャ(基盤)システムであり、現在はGlueLogic APIとGlueLogic Serverという形で構成されている。制御の対象となるオブジェクトの属性値(状態)を集中管理し、状態が変更した事をあらかじめ変更通知要求を出しているエージェントに通知す るようなシステムとなっている。属性値は全てのエージェントに対してアクセス を許可しており、各エージェントは必要なデータをGlueLogicから得る事ができる。

 

GlueLogicではデータを階層構造を持つ「名前」とそれに1対1で対応する「値」で管理する。データはどのアプリケーションエージェントからも自由に読み書きができるようにしている。

 

変更通知機能

あるGlueLogic内のデータが変更された時、GlueLogic Sertverはあらかじめその データの変更通知要求を登録したエージェントに対して"Changed DataName" という形でデータの変更通知を行う。通知を受けたエージェントは手が空いている時に変更された値を読みに行き、それに応じた処理を行う。

 

エージェントの仮想化

各アプリケーションエージェントがデータを送ったり、取り込んで来る相手は常にGlueLogic Serverなので他のエージェントの存在が隠蔽される。各エージェントはどんな名前でデータを書き込めばよいのかだけを知っていれば良く、あとはそのデータを必要とするエージェントがその名前でデータを読みにくる。

 

システムの概要

大規模、複雑化した環境においては中央管理システムにおける 集中制御の仕組みでは実時間の制御が困難である。このため複数のサブシステムに制御を分散させた分散型システムの方が、制御効率が良いとされている。しかしながら情報も分散しているため各サブシステムが全体像を掴みにくく、連続性に欠け無駄が生じることがある。そこでGlueLogicを用いて情報を一元管理し、情報の解析のみ中央管理システムで行うようにする。これによりタスクの割当などにおいて連続性のある知的な運用が可能になる。このような形でシステムを実現した。システムの模式図をに示す。

 

構築したエージェント

AGVエージェント

上位のエージェントから指令を受けて、実際にAGVを制御する役割を果たすエージェントである。指令として受け取るものは単一の命令であるrequestとそのrequestの組合せによるtaskがある。

 

AGVの個性

AGVの個性はAGVのエージェントに、様々な特性を定めた設定ファイルを読み込ませることで実現した。AGVのエージェントは共通であるため、設定ファイルの内容により様々な個性を持ったAGVを運用することが可能である。与えることのできる特性としては移動速度、積載容量、積載速度、稼働時間、充電時間、寸法、移動可能場所、特別目的等の要素がある。

 

入札エージェント

入札エージェントは入札管理エージェントに提示されたタスクに対して、配下AGVの状態とタスクの内容を分析し入札値の計算を行い、入札を行うエージェントである。このエージェントはAGVエージェントと一対であり、AGVエージェントの上位エージェントとして動作する。

 

入札値の計算

入札値の計算は、まずタスクによって決められた搬送物の内容を分析し、配下のAGVに搬送が可能かどうかを調べる。搬送が出来ない場合には入札に参加しないことを入札管理エージェントに通知する。搬送が可能な場合、次の3つの値を計算し、(1)から(3)までを足し合わせて入札値とする。

 

重量変数:搬送物の重量と搬送可能重量の差を元に計算する。その差が少ないほど高い値となり、同じ重量差でも搬送可能重量の大きいAGVが高い入札値となる。

 

時間変数:搬送開始位置に到着するのに要する時間を元に計算する。搬送開始位置に早く到着できるAGVほど高い値をとる。現在値が同じ場合、移動速度の速いAGVほど高い値となる。

 

搬送変数:搬送開始位置から目的地までの移動に要する時間を元に計算する。稼働するAGVの平均移動速度を元に、移動速度の速いAGVほど搬送距離の長いタスクに高い値をとり、移動速度が遅いAGVほど搬送距離の短いタスクに高い値をとる。

 

入札管理エージェント

タスクが発生した際に入札エージェントにタスクを提示し、入札の受付を行う。全てのAGVから入札が行われたら、入札結果の絞り込みを行い、 推論・割当エージェントに通知する。

 

推論、割当エージェント

得られた入札結果を元に未来状態を推論し、タスクの割当先を決定する。未来状態の推論を行う際にはAGVからの入札された結果とタスク割当の組合せを考え、将来発生するタスクに対して適切なAGVが選択できる未来を多 く持つように、現在のAGVの選択を行う。

 

推論を用いたタスク割当

未来状態の推論は、まずタスクの入札結果を元にそれぞれのAGVにタスクを割り当てたとする。そして、その後のタスク割当が最も効率良く行えそうなものを選択する。このときの選択は、将来発生が予定されるタスクの待ち時間が一定時間以内に収めることの出来るAGVの台数を数えることで行われる。台数が多いほど将来が有望であると考えた。複数のタスクに入札が合った場合、その入札結果を用いてタスクの待ち時間の検証を行う。

 

システムの動作

構築したエージェントによるシステム全体の動作の流れをに示す。各エージェント間の通信はGlueLogicを介して行い、イベントの発生は全てGlueLogicからの変更通知によって伝えられる。

 

システムの検証

シミュレーション

構築したシステムを検証するため、シミュレーションを行い動作の確認をした。 さらにシステムの有効性を検証するため、入札、推論を行わず、タスクを発生した順に待ち時間最小となるような割当を行うモデルと、入札のみを行うモデル、入札と推論を行うモデルで比較した。レイアウトとしてを用い、タスクはあらかじめランダムに生成したものを発生させた。AGVの種類として標準型、高速型、重量型の3タイプを用い、それぞれの特性を以下の表のように定めた。

 

稼働させるAGVの台数を種類ごとに変えて次の3パターンを用いた。

 

シミュレーションの際の様相をに示す。

 

得られた結果

シミュレーションで得られた結果を元にAGVの回送時間の合計、タスクの待ち時間の合計、それぞれのパターンごとのタスクの待ち時間の合計をグラフに示す。

 

AGVの回送時間、タスクの待ち時間共に入札・推論を行わないモデルよりも、入札のみ、入札+推論のモデルと順に短縮した。特に推論を加えたことで大幅に短縮しているが、これはタスク割当の連続性が良くなり、タスク終了後、次のタスクへの移動距離が短くなったためである。これにより推論を行うことで全体の効率を向上させることができることが分かる。

 

高速型のAGVが多いパターン2の場合、全体の移動速度自体は速くなるのだが、割り当て可能な搬送物の重量に制限があるため、搬送を行えるAGVの数が減る。このためAGVの稼働率が悪くなりタスクの待ち時間が伸びてしまった。一方で、重量型のAGVが多いパターン3の場合、全体の移動速度は遅いのだが搬送物の重量に制限は少ないため、タスク割当の際にAGVの選択肢の数が広がる。これにより遅い重量型のAGVを効果的に運用し、タスクの待ち時間を短縮している。これは入札と推論により、それぞれのAGVの特性とその場の状況に応じて適切なタスク割当が行うことができること示している。

 

次に入札を用いなかった場合と用いた場合の、それぞれの場合のタスクの処理に要する時間の分布をグラフに表す。タスクの処理に要する時間はAGVがタスクに対する処理を開始した時間から終了するまでの時間で、積載に要する時間を除いたものである。

 

入札を行わない場合、タスクの処理に要する時間は様々な値をとり、その平均値も高くなる。入札を行うことでタスクの処理時間が均一化し、平均値も低くなる傾向が分かる。これは移動速度の速いAGVが全体の移動距離の長いタスクを多く割り当てられ、速度の遅いAGVが移動距離の短いタスクを多く割り当てられているからである。これにより局所的には悪くても全体としてタスクの処理時間を短縮していることが分かる。

 

シミュレーションのまとめ

 

入札による効果としては、タスクの処理時間を短縮させられることがあげられる。グラフの中では現れて来なかったが、搬送可能重量の特性については、搬送可能重量の高いAGVは距離的に優位であっても、軽量な搬送物のタスクはあまり割り当てられなかった。これらのことから、このシステムが効率の向上を平均値の向上として行っていることが分かる。

 

未来状態の推論については、現在の選択肢から先読みを行い、将来適切なAGVが選択できるモデルの数を数えることで行ったわけだが、良い結果を得ることができた。詳細な予測を行わず、最適解を探しているわけではないが、より良い解を選択することができた。

 

考察

入札方式の特性

入札という手法の機構的な利点として、GlueLogicのエージェントの仮想化によって、推論を行う際、搬送システムがどのような形態のものであるかを問うことなく処理が行えることがあげられる。これはAGVエージェントに与える特性値を変えたり、エージェントそのものを変えた場合にすぐに対応ができ、様々な搬送システムを同時に運用し、それら全てを考慮した上で最適化を図れることを示している。

 

入札値の計算

一般に入札を行う上で重要なことは、入札の参加者が全て同じ属性値で入札を行うことである。システムを構築する際にどのような意味を持たせて属性値を決定するかは、大変重要である。今回構築したシステムではAGVの無駄な運用を避けた上でタスクの処理に速やかに取り掛かるよう定めた。そのため発生するタスクの傾向が稼働するAGVの特性に適している場合、適切な入札が行われた。しかしその逆の場合には問題があったので改善する余地があると思われる。

 

全体の評価

入札方式と未来状態の推論を行うことで、AGVの搬送効率を上げ、タスクの待ち時間を短縮することができた。入札によってタスク割当の選択肢が絞り込まれ、推論によって将来、連続性のあるタスク割当の可能性が調べられる。推論については、現在はある程度、将来発生するタスクに基づいて推論を行っているが、今後予定が立ちにくいようなモデルで適切な解が選択できるような改良が必要である。

 

今回構築したシステムでは、複数の種類のAGVが混在し、タスクの傾向も様々であり、ある程度将来の予定に基づいてシステム全体が運用されるとき、効率の良い運用が行える。

 

結論

FMSにおけるAGV制御システムを開発し、シミュレーションを行った

AGVに特性を与えることで個性を持たせ、特性にしたがってAGVを制御することができた

入札方式に必要な入札値の計算を行う関数を定義し、AGVの個性と現在の状態、タスクの内容により入札値の計算を行った

未来状態の推論を行うための機構を定め、推論を行うことで現在の選択肢の中から有望な未来を多く持つものを選び出すことができた

入札と推論を行うことによって、AGVの搬送効率を高め、搬送物の待ち時間を減らすことで効率の良い運用を行うことができた

GlueLogicを用いたことで、AGVエージェントに様々な特性を与えるか、エージェントそのものを変えることによって、搬送システムを一元管理することができることを示した

 

今後の課題

様々な搬送システムに対応するため、入札値の算出方法の意義を柔軟に変更できるようにすること

タスクの優先度やトラブルなど予定の変更に柔軟に対応できるようにすること

大規模、複雑化したシステムで効率の良い運用が可能なAGVの個性を考えること