(57)【要約】【課題】同一の製品を複数個製造する自動化システムのシーケンス制御で用いる繰り返し実行可能なシーケンスを自動的に生成する。【解決手段】開始状態を複数生成するステップＡと、生成された複数の開始状態に対して、繰り返し実行可能なシーケンスが作成されるように当該開始状態に対応する終了状態を生成するステップＢと、シーケンス制御の動作の前提条件と、各動作の効果と、動作に要する時間とを規定する動作条件に従って、生成した開始状態で開始し、開始状態に対応する終了状態で終了するシーケンスを生成するステップＣと、ステップＡからステップＣのステップを複数回繰り返すステップと、ステップＡ乃至ステップＣが複数回繰り返されることで、所定数の異なるシーケンスが生成されると、生成された複数の異なるシーケンスから、処理時間が最小のシーケンスを選択するステップとを有する。【選択図】図１
2016040665.tif 000002
【特許請求の範囲】
【請求項１】
同一の製品を複数個製造する自動化システムのシーケンス制御で用いる繰り返し実行可能なシーケンスを生成するシーケンス生成方法であって、
開始状態を複数生成するステップＡと、
生成された複数の開始状態に対して、繰り返し実行可能なシーケンスが作成されるように当該開始状態に対応する終了状態を生成するステップＢと、
シーケンス制御の動作の前提条件と、各動作の効果と、動作に要する時間とを規定する動作条件に従って、生成した開始状態で開始し、開始状態に対応する終了状態で終了するシーケンスを生成するステップＣと、
ステップＡからステップＣのステップを複数回繰り返すステップと、所定数の異なるシーケンスが生成されると、生成された複数の異なるシーケンスから、処理時間が最小のシーケンスを選択するステップと、
を有するシーケンス生成方法。
【請求項２】
前記ステップＡにおいて、組合せ最適化アルゴリズムを用いて開始状態を生成することを特徴とする請求項１に記載のシーケンス生成方法。
【請求項３】
前記ステップＣにおいて、汎用プランニングソフトウェアを用いてシーケンスを生成することを特徴とする請求項１又は２に記載のシーケンス生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は同一の製品を複数個製造するシステムにおいて利用可能なシーケンスを自動的に生成するシーケンス生成方法に関する。
【背景技術】
【０００２】
従来から、様々な分野でシーケンス制御を用いた自動化システムが利用されている。このようなシステムでは、目的を達成するために実行される複数の工程の順序を特定するシーケンス（各工程の順序）が予め作成され、このシーケンスに従って制御が実行される。また、そういったシステムは処理の効率化が課題となっている（例えば、特許文献１参照）。
【０００３】
シーケンス制御を用いた自動化システムの適用先として、同一の製品を複数個製造するための装置がある。同一の製品を複数個製造する場合、特定の動作パターンを作成することで製品の大量生産が可能になるため、自動化システムに向いているといえる。
【０００４】
同一の製品を複数個製造する自動化システムにおいて用いられるシーケンスを、開始から終了までを通して作成することは困難である。大量生産を行う場合は開始から終了までを通して実行される動作は非常に多く、作成および制御装置への入力が困難になる。また、動作が多いために組み合わせパターンも多くなり、最適なシーケンスを作成するのも困難になる。
【０００５】
よって、自動化システム等において開始から終了までを通したシーケンスを作成することは一般的ではなく、システムや状況に応じて様々な対応が行われている。例えば、シーケンス全体が長くなる場合に、繰り返し実行可能なシーケンス（以下、「自己同期化シーケンス」とする。）を予め作成し、自己同期化シーケンスを繰り返すことでシーケンス制御を行いながら製品の製造を行う。
【０００６】
近年、人工知能分野の1分野である自動計画において研究されている汎用プランニング手法を用いることで機器のシーケンスを自動生成することが可能になった。汎用プランニング手法は、装置の取りうる状態、装置の各動作の制約および効果、初期状態および終了状態が与えられた場合に、初期状態の装置を終了状態にするまでの動作と動作手順を求める手法である。本手法を、シーケンスを生成する自動化システムに適用することでシーケンスを自動生成することが可能である。（例えば、特許文献２参照）
【０００７】
また、ＣＰＴ４（Vincent Vidal）やＤＡＥＹＡＨＳＰ（Johann Dreo, Pierre Saveant, Marc Schoenauer, Vincent Vidal）等の時間・同時並行動作を考慮した動作手順を生成可能な汎用プランニングソフトウェアを用いることで、制御装置の動作時間を短くする制御シーケンスを得ることが可能となる。
【０００８】
具体的には、自動化システムの取りうる状態を装置の取りうる状態とし、自動化システムに含まれる各機器などの物理的な位置の移動や装置を用いて行われる作業を装置の動作とし、前提条件および効果は実機の仕様に従うものとする。開始状態は自動化システムで製品を製造する前の状態とし、終了状態は製品の製造が完了した状態とする。そうすることで、理論的には自動化システムのシーケンスを自動生成することが可能である。
【０００９】
しかしながら、同一製品を複数個製造する自動化システムの動作手順を求める場合、実行される動作が多く、組み合わせパターンも多いため効率の良いシーケンスを求めることは困難である。また、自己同期化シーケンスを求めるには、開始状態と終了状態を定める必要がある。しかし、自己同期化シーケンスは開始や終了の状態の選び方によって効率が変化するとともに、開始や終了の状態を選ぶ方法が存在しなかった。そのため、汎用プランニングソフトウェアのみを用いて最適なシーケンスを作成するのは困難であった。その結果、同一製品を複数個製造するシステムで用いる自己同期化シーケンスは、システムの設計者が試行錯誤を繰り返しながら手動で作成していた。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−２８５１２６号公報
【特許文献２】特開２００８−２９９８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、従来は、自己同期化シーケンスの生成は、システムの設計者が手動で行う必要があり、自動的に自己同期化シーケンスを生成することは困難であった。
【００１２】
上記課題に鑑み、自己同期化シーケンスを自動的に生成することを目的としている。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、請求項１記載の発明は、同一の製品を複数個製造する自動化システムのシーケンス制御で用いる繰り返し実行可能なシーケンスを生成するシーケンス生成方法であって、開始状態を複数生成するステップＡと、生成された複数の開始状態に対して、繰り返し実行可能なシーケンスが作成されるように当該開始状態に対応する終了状態を生成するステップＢと、シーケンス制御の動作の前提条件と、各動作の効果と、動作に要する時間とを規定する動作条件に従って、生成した開始状態で開始し、開始状態に対応する終了状態で終了するシーケンスを生成するステップＣと、ステップＡからステップＣのステップを複数回繰り返すステップと、所定数の異なるシーケンスが生成されると、生成された複数の異なるシーケンスから、処理時間が最小のシーケンスを選択するステップとを有する。
【００１４】
請求項２記載の発明は、複数の開始状態と、開始状態から生成されたシーケンスの動作時間に基づいて新規に開始状態を作成するステップにおいて、組合せ最適化アルゴリズムを用いる。
【００１５】
請求項３記載の発明は、前記基準のシーケンスを生成するステップにおいて、汎用プランニングソフトウェアを用いる。
【発明の効果】
【００１６】
本発明によれば、自己同期化シーケンスを自動的に生成することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係るシーケンス生成方法で利用する情報処理装置を説明するブロック図である。
【図２】汎用プランニングソフトウェアが生成する一般的なシーケンスの一例を説明する図である。
【図３】シーケンスの生成に利用する動作条件データの一例を説明する構成図である。
【図４】シーケンスの生成に利用する開始終了状態データの一例を説明する構成図である。
【図５】２つの状態の交叉について説明する図である。
【図６】自己同期化シーケンスとシーケンスの関係を説明する図である。
【図７】実施形態に係るシーケンス生成方法の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
実施形態に係るシーケンス生成方法は、目的を達成するための工程の順序を特定するシーケンスを生成する方法であって、シーケンス制御によって制御される同一の製品を複数個製造する自動化システムの設計において用いられる。具体的には、同一製品を２個以上製造する場合に、繰り返し実行することで目的を達成することが可能なシーケンスである「自己同期化シーケンス」を生成する方法である。
【００１９】
自己同期化シーケンスは、シーケンスの開始時点の装置の状態と、終了時点の装置の状態が一致しているシーケンスである。装置の状態が同じため、繰り返し実行することが可能となる。なお、装置以外に関しては考慮せず、作成する製品の在庫数や完成品の数などは変化する。
【００２０】
以下では、材料である木材を加工して製品である板を製造するために、のこぎりや清掃装置を有する製造装置（木材加工装置）をシーケンス制御する際のシーケンスを生成する例を用いて説明する。具体的には、以下で説明するシーケンス生成方法は、材料から製品の製造を複数回繰り返し、同一の製品を複数製造する場合に、製品１個あたりの製造時間が短い「自己同期化シーケンス」を生成する方法である。処理の材料及びこの材料が加工されて得られる製品を、以下では、「ワーク」として説明する。
【００２１】
図１に示すように、実施形態に係るシーケンス生成方法で自己同期化シーケンスを生成する情報処理装置１は、シーケンスの開始状態を生成する開始状態生成部１１、シーケンスの終了の状態を生成する終了状態生成部１２、開始状態と終了状態から自己同期化シーケンスを生成するシーケンス生成部１３、生成されたシーケンスの評価値を算出する算出部１４、自己同期化シーケンスの生成を継続するか否かを判定する判定部１５、生成された自己同期化シーケンスを利用して接続される製造装置を制御する制御部１６を有している。
【００２２】
情報処理装置１は、例えば、中央処理装置（ＣＰＵ）１０や記憶装置２０を備えるパーソナルコンピュータであって、記憶装置２０に記憶されるシーケンス生成プログラムＰが読み出されて実行されることで、図１に示すように、ＣＰＵ１０に開始状態生成部１１、終了状態生成部１２、シーケンス生成部１３、算出部１４及び判定部１５が実装される。また、情報処理装置１には、接続される製造装置を制御するためのプログラム（図示せず）を記憶しており、このプログラムの実行により、ＣＰＵ１０に制御部１６が実装される。
【００２３】
また、情報処理装置１は、図１に示すように、記憶装置２０にシーケンス生成プログラムＰの他、動作条件データ２１、開始終了状態データ２２及びシーケンスデータ２３を記憶している。
【００２４】
開始状態生成部１１は、例えば、入力装置（図示せず）を介してある目的を達成するための自己同期化シーケンスの生成を要求する操作信号を入力すると、記憶装置２０からこの目的に対応する動作条件データ２１を読み出し、読み出した動作条件データ２１を用いて目的を達成するための繰り返し可能なシーケンスである自己同期化シーケンスの開始状態を生成する。また、開始状態生成部１１は、生成した開始状態を終了状態生成部１２に出力する。
【００２５】
動作条件データ２１は、シーケンス制御で制御する動作（工程）の条件を規定するデータである。例えば、図３に示す動作条件データ２１では、「工程１」〜「工程６」の動作の前提条件と、各動作の効果（結果）と、各動作に要する時間とが関連付けられて記憶されている。「動作の前提条件」とは、動作の種別、動作に利用されるワークの数、動作に利用される道具等に関する条件である。「動作の効果」とは、動作の完了によってワークにもたらされる結果である。
【００２６】
図３に示す動作条件データ２１では、「工程１」は、「倉庫」において、加工対象のワークである「木材」を保管する工程であることを規定し、「工程２」は、「大型のこぎり」において、ワークである「木材」を「汚れた角材」に加工する工程であり、加工時間は「２０秒」であることを規定し、「工程３．１」は、「高速清掃装置」を使用してワークである「汚れた角材」を「角材」に加工（清掃）する工程であり、洗浄時間は「１５秒」であることを規定し、「工程３．２」は、「高速清掃装置」を使用してワークである「汚れた板」を「板」に加工（清掃）する工程であり、洗浄時間は「１５秒」であることを規定し、「工程４」は、「中型のこぎり」を使用してワークである「角材」を「汚れた板」に加工する工程であり、加工時間は「２０秒」であることを規定し、「工程５．１」は、「低速清掃装置」を使用してワークである「汚れた角材」を「角材」に加工（清掃）する工程であり、洗浄時間は、「２５秒」であることを規定し、「工程５．１」は、「低速清掃装置」を使用してワークである「汚れた板」を「板」に加工（清掃）する工程であり、洗浄時間は、「２５秒」であることを規定し、「工程６」は、「コンテナ」において、ワークである「板」を保管する工程であることを規定している。
【００２７】
例えば、図３に示す例の動作条件データ２１から、図２（ａ）乃至図２（ｃ）に示すように、複数種類のシーケンスが生成される。
【００２８】
開始状態は、対象の図４（ａ）に示す開始状態の一例では、加工対象のワーク１は、「工程６」の状態であり、ワーク２は「工程５．１」が「１０秒」経過した状態であり、ワーク３は「工程４」が５秒経過した状態であり、ワーク４は「工程２」が「１５秒」経過した状態であり、ワーク５及びワーク６は「工程１」の状態であることを規定している。
【００２９】
開始状態生成部１１は、いわゆる組合せ最適化アルゴリズムを利用し、動作条件データ２１で規定される各工程の順序や処理時間を考慮して自己同期化シーケンスの開始状態を生成する。自己同期化シーケンスは異なる複数の種類を作成可能であるが、開始状態生成部１１は、これら複数の自己同期化シーケンスのうち、いずれかのシーケンスの開始状態を生成する。また、開始状態生成部１１は、リクエストに応じて開始状態の生成が繰り返されるが、処理を繰り返す際には異なるシーケンスの開始状態を生成する。このため、開始状態生成部１１が利用する最適化アルゴリズムで利用する手法は限定されないが、例えば、未生成の開始状態をランダムに生成する手法、各シーケンスの開始状態を順に生成する手法、メタヒューリスティクス的な手法等を利用する。
【００３０】
メタヒューリスティクス的な手法の一つとして、ＧＡ（遺伝的アルゴリズム）を用いる手法が有る。評価関数として開始状態から生成されたプランの効率を用いる。２つの状態の交叉は、図５に一例を示すように、各ワークの工程及び経過時間を交換することで実行される。このとき、交叉の際に、交換する部分の作業工程を合わせておく、リソースの制約条件を満たすようにする（図５（ｃ）のワーク２）等の条件を設定しておく。
【００３１】
具体的には、図５（ａ）の開始状態と、図５（ｂ）の開始状態があるとする。このとき交叉方法では、図５（ａ）の開始状態のワーク１、ワーク２、ワーク３の状態と、図５（ｂ）の開始状態のワーク４、ワーク５、ワーク６の状態を組み合わせて新たに、図５（ｃ）に示す開始状態を作成する。また、図５（ａ）の開始状態のワーク４、ワーク５、ワーク６の状態と、図５（ｂ）の開始状態のワーク１、ワーク２、ワーク３の状態を組み合わせて新たに、図５（ｄ）に示す開始状態を作成する。
【００３２】
また、複数の開始状態があった場合にどの開始状態とどの開始状態を組み合わせるかについて、それぞれの開始状態を元に後述する方法で生成したシーケンスの効率を評価値として、効率の良いシーケンスを生成可能な開始状態が多くの組み合わせを生成できるようにする。
【００３３】
終了状態生成部１２は、開始状態生成部１１から開始状態を入力すると、入力した開始状態と、開始状態に対応する動作条件データ２１とを用いて終了状態を生成する。ここで、終了状態は、開始状態の各ワークの工程が次に進む状態である。また、終了状態生成部１２は、入力した開始状態と、生成した終了状態とを、記憶装置２０に記憶される開始終了状態データ２２に追加し、新たな開始状態及び終了状態を開始終了状態データ２２に追加した通知を出力する。
【００３４】
図４（ａ）の開始状態の場合に生成される終了状態は、図４（ｂ）に示すように、加工対象のワーク１及びワーク２は、「工程６」の状態であり、ワーク３は「工程５．１」が「１０秒」経過した状態であり、ワーク４は「工程４」が５秒経過した状態であり、ワーク５は「工程２」が「１５秒」経過した状態であり、ワーク６は「工程１」の状態であることを規定している。すなわち、開始終了状態データ２２は、図４（ａ）に示すような開始状態と図４（ｂ）に示すような終了状態を含んでいる。
【００３５】
シーケンス生成部１３は、新たな開始状態及び終了状態が開始終了状態データ２２に追加されたタイミングで、記憶装置２０から動作条件データ２１と開始終了状態データ２２とを読み出す。また、シーケンス生成部１３は、開始終了状態データ２２に新たに追加された開始状態で開始し、終了状態で終了するまで動作条件データ２１で指定された動作条件で動作する自己同期化シーケンスを生成し、生成した自己同期化シーケンスを記憶装置２０のシーケンスデータ２３に追加するとともに、算出部１４に生成した自己同期化シーケンスを出力する。
【００３６】
このシーケンス生成部１３は、いわゆる「汎用プランニングソフトウェア」で実現することが可能である。具体的には、記憶装置２０には、例えば、ＴＦＤ（G.Roger,P.Eywrich,R.Mattmuller）のようなタクトタイム最小で同時並行動作を扱うことのできるプログラムが予め記憶されており、このプログラムの実行により、ＣＰＵ１０にシーケンス生成部１３が実装される。
【００３７】
当然だが、汎用でないプランニングソフトウェアを用いて、シーケンスを生成しても良い。
【００３８】
例えば、図３の動作条件データ２１及び図４の開始終了状態データ２２を利用して生成されるシーケンスは、図６（ａ）に示すような自己同期化シーケンスであって、図６（ｂ）に示すシーケンスとして繰り返し実行することができる。
【００３９】
シーケンスデータ２３は、図６（ａ））に示すような自己同期化シーケンスを有するデータである。また、シーケンスデータ２３は、自己同期化シーケンスにこの自己同期化シーケンスに関する評価値を関連付けることができる。
【００４０】
算出部１４は、シーケンス生成部１３から新たな自己同期化シーケンスを入力すると、新たな自己同期なシーケンスの実行時間ｔ（ｍ）を算出する。ここで、ｍは、自己同期化シーケンス毎に設定される番号である。その後、算出部１４は、算出した実行時間を自己同期化シーケンスの評価値として対象の自己同期化シーケンスに関連付けて記憶装置２０で記憶されるシーケンスデータ２３に追加する。また、算出した実行時間を開始終了状態の評価値として、対象のシーケンス生成時に用いた開始・終了状態に関連付けて記憶装置２０で記憶される開始終了状態データ２２に追加する。その後、実行時間を算出した通知を判定部１５に出力する。
【００４１】
判定部１５は、算出部１４からシーケンスデータ２３に時間を算出した通知を入力すると、記憶装置２０からシーケンスデータ２３を読み出し、処理の繰り返しを終了するか否かを判定する。具体的には、判定部１５は、必要な数の自己同期化シーケンスがシーケンスデータ２３に含まれているか否かを判定する。判定部１５が使用する「必要な数」は、操作信号に含まれる。例えば、１００の自己同期化シーケンスを判定に必要とする場合、判定部１５は、シーケンスデータ２３に１００通りの自己同期化シーケンスが記憶されているか否かを判定する。
【００４２】
必要な数の自己同期化シーケンスがシーケンスデータ２３に含まれているとき、判定部１５は、処理の繰り返しを終了するタイミングであると判定してシーケンスデータ２３に含まれる評価値から最小の評価値が関連付けられる自己同期化シーケンスを抽出し、抽出した自己同期化シーケンスを出力する自己同期化シーケンスと決定して制御部１６に出力する。
【００４３】
一方、必要な数の自己同期化シーケンスが含まれていないとき、判定部１５は、処理の繰り返しを継続すると判定して新たな開始状態の生成を要求する通知を開始状態生成部１１に出力する。その場合、開始状態生成部１１は、開始終了状態データ２２に記憶された開始終了状態とその評価値と開始状態生成部１１で定められた手法に基づいて、新規に開始状態を生成する。
【００４４】
制御部１６は、判定部１５から入力した自己同期化シーケンスを利用して接続される製造装置を制御する。
【００４５】
続いて、図７に示すフローチャートを用いて、情報処理装置１において自己同期化シーケンスを生成する処理について説明する。
【００４６】
はじめに、開始状態生成部１１が、開始状態を生成し、生成した開始状態を出力する（Ｓ１）。続いて、終了状態生成部１２は、ステップＳ１で開始状態生成部１１が生成した開始状態を利用して終了状態を生成し、開始状態及び終了状態を記憶装置２０に記憶される開始終了状態データ２２に追加し、新たな開始状態及び終了状態を追加した通知を出力する（Ｓ２）。
【００４７】
その後、シーケンス生成部１３が、記憶装置２０から動作条件データ２１及び開始終了状態データ２２を読み出して自己同期化シーケンスを生成し、記憶装置２０のシーケンスデータ２３に追加するとともに、生成した自己同期化シーケンスを算出部１４に出力する（Ｓ３）。
【００４８】
続いて、算出部１４が、ステップＳ３でシーケンス生成部１３が生成した自己同期化シーケンスの実行時間ｔ（ｍ）を評価値として算出し、シーケンスデータ２３に含まれる対象の自己同期化シーケンスと、そのシーケンスの作成に用いた開始終了状態に、算出した実行時間ｔ（ｍ）を関連付けて記憶装置２０に記憶する（Ｓ４）。
【００４９】
次に、判定部１５は、処理の繰り返しを終了するか否かを判定する（Ｓ５）。すなわち、判定部１５は、記憶装置２０からシーケンスデータ２３を読み出し、規定の数（必要な数）の自己同期化シーケンスがシーケンスデータ２３に含まれているか否かを判定し、含まれている場合には、処理の繰り返しを終了すると判定する。
【００５０】
処理の繰り返しを継続する場合（ステップＳ５でＮＯ）、判定部１５は、開始状態生成部１１に新たな開始状態の生成を要求する通知を出力し、ステップＳ１の処理に戻ってステップＳ１〜Ｓ５の処理を繰り返す。
【００５１】
一方、処理の繰り返しを終了する場合（Ｓ５でＹＥＳ）、判定部１５は、シーケンスデータ２３から評価値が最小の自己同期化シーケンス抽出し、この自己同期化シーケンスを出力する自己同期化シーケンスと決定し、制御部１６に出力する（Ｓ６）。
【００５２】
上述したように、本発明に係るシーケンス生成方法では、異なる開始状態からそれぞれ自己同期化シーケンスを生成し、その処理時間が最小のシーケンスを装置で利用する自己同期化シーケンスとして使用することができる。したがって、汎用プランニングソフトウェアにより生成されたシーケンスを利用して、オペレータの判断を要することなく、自動的に動作効率の高い自己同期化シーケンスを生成することができる。
【００５３】
以上、実施形態を用いて本発明を詳細に説明したが、本発明は本明細書中に説明した実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲の記載及び特許請求の範囲の記載と均等の範囲により決定されるものである。
【符号の説明】
【００５４】
１  情報処理装置
１０  ＣＰＵ
１１  開始状態生成部
１２  終了状態生成部
１３  シーケンス生成部
１４  算出部
１５  判定部
１６  制御部
２０  記憶装置
２１  動作条件データ
２２  開始終了状態データ
２３  シーケンスデータ
Ｐ  シーケンス生成プログラム
【図１】
2016040665.tif 000003
【図２】
2016040665.tif 000004
【図３】
2016040665.tif 000005
【図４】
2016040665.tif 000006
【図５】
2016040665.tif 000007
【図６】
2016040665.tif 000008
【図７】
2016040665.tif 000009