(57)【特許請求の範囲】
【請求項１】
自走式の産業装置と、
１のセルにおける作業を終えた前記産業装置が次のセルに到着する前に、前記産業装置に、次の作業で使用する作業プログラムと設定データのダウンロードの少なくとも一部を開始させる準備制御部と、
前記産業装置が前記次のセルに到着し、かつ、前記ダウンロードが完了した場合に、前記産業装置に前記次の作業をさせる作業制御部と、
を有する生産システム。
【請求項２】
前記次のセルに向けて前記産業装置が移動している間に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第１準備制御部を有する、
請求項１に記載の生産システム。
【請求項３】
前記１のセルにおける前記産業装置の現在の作業が完了したか否かを判定する判定部と、
前記現在の作業が完了したと判定された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第２準備制御部と、
を有する請求項１又は２に記載の生産システム。
【請求項４】
前記産業装置に前記次のセルへの移動を指示する指示部と、
前記次のセルへの移動が指示された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第３準備制御部と、
を有する請求項１〜３の何れかに記載の生産システム。
【請求項５】
前記産業装置が前記次のセルに到着する前に、前記次の作業の準備として、前記産業装置に、前記次の作業で使用する機器の装着の少なくとも一部を開始させる装着制御部と、
前記次のセルに前記産業装置が到着し、かつ、前記機器の装着が完了した場合に、前記産業装置に前記次の作業をさせる第２作業制御部と、
を有する請求項１〜４の何れかに記載の生産システム。
【請求項６】
前記次のセルには、他の産業装置が配置されており、
前記次のセルに前記産業装置が到着した場合に、前記産業装置と前記他の産業装置とを同期させる同期制御部を有する、
請求項１〜５の何れかに記載の生産システム。
【請求項７】
前記次のセルに前記産業装置が到着した場合に、前記他の産業装置の状態に関する情報、前記次のセルにおける作業対象物の状態に関する情報、及び前記次のセルにおける周辺機器の検出情報の少なくとも１つを、前記産業装置に取得させる取得制御部を有する、
請求項６に記載の生産システム。
【請求項８】
前記産業装置が前記次のセルに到着する前に、前記次のセルに配置された他の産業装置に、前記次の作業の前又は後に行われる作業で使用するデータのダウンロードの少なくとも一部を開始させる前後準備制御部、
を有する請求項１〜７の何れかに記載の生産システム。
【請求項９】
前記次のセルには、他の産業装置と、有線通信用の通信機器と、が配置されており、
前記産業装置が前記次のセルに向けて移動している間は、前記産業装置に無線通信をさせ、前記次のセルに前記産業装置が到着した場合に、前記産業装置に、前記通信機器を介して有線通信をさせる通信制御部を有する、
請求項１〜８の何れかに記載の生産システム。
【請求項１０】
前記次のセルに前記産業装置が到着した場合に、前記産業装置の現在の位置及び向きの少なくとも一方に基づいて、前記次の作業のためのキャリブレーションを行う設定部を有する、
請求項１〜９の何れかに記載の生産システム。
【請求項１１】
前記産業装置は、
無人搬送車と、
前記次の作業を行うロボットと、
を有する請求項１〜１０の何れかに記載の生産システム。
【請求項１２】
前記生産システムは、
生産計画のスケジューリングを行うスケジュール装置と通信可能に接続され、前記スケジューリングに基づいて個々の作業の指示を行う指示装置と、
前記産業装置の現在の作業が完了した場合に、前記指示装置に対し、所定の作業完了通知を送信する送信部と、
を有し、
前記指示装置は、
前記所定の作業完了通知を受信する受信部と、
前記作業完了通知を受信した場合に、前記産業装置に前記次のセルへの移動を指示する指示部と、
を有し、
前記生産システムは、前記指示装置により前記次のセルへの移動が指示された場合に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第４準備制御部を有する、
請求項１〜１１の何れかに記載の生産システム。
【請求項１３】
１のセルにおける作業を終えた自走式の産業装置が次のセルに到着する前に、前記産業装置に、次の作業で使用する作業プログラムと設定データのダウンロードの少なくとも一部を開始させ、
前記産業装置が前記次のセルに到着し、かつ、前記ダウンロードが完了した場合に、前記産業装置に前記次の作業をさせる、
生産方法。
【請求項１４】
前記１のセルにおける前記産業装置の現在の作業が完了したか否かを判定し、
前記現在の作業が完了したと判定された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる、
請求項１３に記載の生産方法。
【請求項１５】
前記産業装置に前記次のセルへの移動を指示し、
前記次のセルへの移動が指示された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる、
請求項１３又は１４に記載の生産方法。
【請求項１６】
前記産業装置が前記次のセルに到着する前に、前記次のセルに配置された他の産業装置に、前記次の作業の前又は後に行われる作業で使用するデータのダウンロードの少なくとも一部を開始させる、
請求項１３〜１５の何れかに記載の生産方法。
【請求項１７】
１のセルにおける作業を終えた自走式の産業装置が次のセルに到着する前に、前記産業装置に、次の作業で使用する作業プログラムと設定データのダウンロードの少なくとも一部を開始させる準備制御部、
前記産業装置が前記次のセルに到着し、かつ、前記ダウンロードが完了した場合に、前記産業装置に前記次の作業をさせる作業制御部、
としてコンピュータを機能させるためのプログラム。
【請求項１８】
前記１のセルにおける前記産業装置の現在の作業が完了したか否かを判定する判定部、
前記現在の作業が完了したと判定された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第２準備制御部、
として前記コンピュータを機能させるための請求項１７に記載のプログラム。
【請求項１９】
前記産業装置に前記次のセルへの移動を指示する指示部、
前記次のセルへの移動が指示された場合に、前記産業装置が前記次のセルに到着する前に、前記産業装置に前記ダウンロードの少なくとも一部を開始させる第３準備制御部、
として前記コンピュータを機能させるための請求項１７又は１８に記載のプログラム。
【請求項２０】
前記産業装置が前記次のセルに到着する前に、前記次のセルに配置された他の産業装置に、前記次の作業の前又は後に行われる作業で使用するデータのダウンロードの少なくとも一部を開始させる前後準備制御部、
として前記コンピュータを機能させるための請求項１７〜１９の何れかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産システム、生産方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、自動搬送車に搭載されたロボットアームと、動力供給源に接続及び離脱される接続部を通じて供給される動力を蓄積し、ロボットアームに動力を供給する動力蓄積部と、を有する自走式の産業装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３２００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示により解決しようとする課題の１つは、例えば、生産システムにおける生産効率を向上させることである。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る生産システムは、自走式の産業装置と、前記産業装置が次の場所に到着する前に、前記産業装置に次の作業の準備をさせる準備制御部と、前記産業装置が前記次の場所に到着し、かつ、前記次の作業の準備が完了した場合に、前記産業装置に前記次の作業をさせる作業制御部と、を有する。
【０００６】
本発明の一側面に係る生産システムは、前記次の場所に向けて前記産業装置が移動している間に、前記産業装置に前記次の作業の準備をさせる第１準備制御部を有する。
【０００７】
本発明の一側面に係る生産システムは、前記産業装置の現在の作業が完了したか否かを判定する判定部と、前記現在の作業が完了したと判定された場合に、前記産業装置に前記次の作業の準備をさせる第２準備制御部と、を有する。
【０００８】
本発明の一側面に係る生産システムは、前記産業装置に前記次の場所への移動を指示する指示部と、前記次の場所への移動が指示された場合に、前記産業装置に前記次の作業の準備をさせる第３準備制御部と、を有する。
【０００９】
本発明の一側面に係る生産システムは、前記次の場所の準備として、前記産業装置に、前記次の作業で使用するデータをダウンロードさせるダウンロード制御部と、前記次の場所に前記産業装置が到着し、かつ、前記データのダウンロードが完了した場合に、前記産業装置に前記次の作業をさせる第１作業制御部と、を有する。
【００１０】
本発明の一側面に係る生産システムは、前記次の場所の準備として、前記産業装置に、前記次の作業で使用する機器を装着させる装着制御部と、前記次の場所に前記産業装置が到着し、かつ、前記機器の装着が完了した場合に、前記産業装置に前記次の作業をさせる第２作業制御部と、を有する。
【００１１】
本発明の一側面に係る生産システムは、前記次の場所には、他の産業装置が配置されており、前記次の場所に前記産業装置が到着した場合に、前記産業装置と前記他の産業装置とを同期させる同期制御部を有する。
【００１２】
本発明の一側面に係る生産システムは、前記次の場所に前記産業装置が到着した場合に、前記他の産業装置の状態に関する情報、前記次の場所における作業対象物の状態に関する情報、及び前記次の場所における周辺機器の検出情報の少なくとも１つを、前記産業装置に取得させる取得制御部を有する。
【００１３】
本発明の一側面に係る生産システムは、前記次の場所には、他の産業装置が配置されており、前記産業装置が前記次の場所に到着する前に、前記他の産業装置に、前記次の作業の前又は後に行われる作業の準備をさせる前後準備制御部を有する。
【００１４】
本発明の一側面に係る生産システムは、前記次の場所には、他の産業装置と、有線通信用の通信機器と、が配置されており、前記産業装置が前記次の場所に向けて移動している間は、前記産業装置に無線通信をさせ、前記次の場所に前記産業装置が到着した場合に、前記産業装置に、前記通信機器を介して有線通信をさせる通信制御部を有する。
【００１５】
本発明の一側面に係る生産システムは、前記次の場所に前記産業装置が到着した場合に、前記産業装置の現在の位置及び向きの少なくとも一方に基づいて、前記次の作業の設定を行う設定部を有する。
【００１６】
本発明の一側面に係る生産システムは、前記産業装置は、無人搬送車と、前記次の作業を行うロボットと、を有する。
【００１７】
本発明の一側面に係る生産システムは、生産計画のスケジューリングを行うスケジュール装置と通信可能に接続され、前記スケジューリングに基づいて個々の作業の指示を行う指示装置を有し、前記指示装置は、前記産業装置の現在の作業が完了した場合に、所定の作業完了通知を受信し、前記指示装置は、前記作業完了通知を受信した場合に、前記産業装置に前記次の場所への移動を指示し、前記指示装置により前記次の場所への移動が指示された場合に、前記産業装置に前記次の作業の準備をさせる第４準備制御部を有する。
【００１８】
本発明の一側面に係る生産システムは、自走式の産業装置と、他の産業装置が配置された次の場所に前記産業装置が到着した場合に、前記産業装置と前記他の産業装置とを同期させる同期制御部と、前記他の産業装置と同期された前記産業装置に、次の作業をさせる作業制御部と、を有する。
【００１９】
本発明の一側面に係る生産システムは、前記次の場所に前記産業装置が到着した場合に、前記他の産業装置の状態に関する情報、前記次の場所における作業対象物の状態に関する情報、及び前記次の場所における周辺機器の検出情報の少なくとも１つを、前記産業装置に取得させる取得制御部を有する。
【００２０】
本発明の一側面に係る生産システムは、前記次の場所に前記産業装置が到着した場合に、情報収集装置に対し、前記産業装置に関する情報を送信させる送信制御部を有する。
【００２１】
本発明の一側面に係る生産方法は、自走式の産業装置が次の場所に到着する前に、前記産業装置に次の作業の準備をさせ、前記産業装置が前記次の場所に到着し、かつ、前記次の作業の準備が完了した場合に、前記産業装置に前記次の作業をさせる。
【００２２】
本発明の一側面に係る生産方法は、他の産業装置が配置された次の場所に自走式の産業装置が到着した場合に、前記産業装置と前記他の産業装置とを同期させ、前記他の産業装置と同期された前記産業装置に、次の作業をさせる。
【００２３】
本発明の一側面に係るプログラムは、自走式の産業装置が次の場所に到着する前に、前記産業装置に次の作業の準備をさせる準備制御部、前記産業装置が前記次の場所に到着し、かつ、前記次の作業の準備が完了した場合に、前記産業装置に前記次の作業をさせる作業制御部、としてコンピュータを機能させる。
【００２４】
本発明の一側面に係るプログラムは、他の産業装置が配置された次の場所に自走式の産業装置が到着した場合に、前記産業装置と前記他の産業装置とを同期させる同期制御部、前記他の産業装置と同期された前記産業装置に、次の作業をさせる作業制御部、としてコンピュータを機能させる。
【発明の効果】
【００２５】
本開示によれば、例えば、生産システムにおける生産効率を向上させることができる。
【図面の簡単な説明】
【００２６】
【図１】実施形態１に係る生産システムの全体構成の一例を示す図である。
【図２】自走ロボットの詳細な構成の一例を示す図である。
【図３】生産システムにおけるセルの一例を示す図である。
【図４】生産システムにおけるセルの一例を示す図である。
【図５】生産システムにおけるセルの一例を示す図である。
【図６】生産システムにおけるセルの一例を示す図である。
【図７】生産システムで実現される機能を示す機能ブロック図である。
【図８】スケジュールデータのデータ格納例を示す図である。
【図９】生産システムで実行される処理を示すフロー図である。
【図１０】生産システムで実行される処理を示すフロー図である。
【図１１】生産システムで実行される処理を示すフロー図である。
【図１２】実施形態２の機能ブロック図である。
【図１３】変形例の機能ブロック図である。
【発明を実施するための形態】
【００２７】
［１．実施形態１］
発明者達は、自走式の産業装置に、複数の場所の各々を順番に移動させて作業させることを検討している。この場合、自走式の産業装置に、各場所における作業の準備をさせる必要がある。例えば、自走式の産業装置が各場所に到着した後に、その場所における作業の準備を開始させたとすると、準備が完了するまで作業を開始することができず、生産システムにおける生産効率が低下する。そこで、発明者達は、生産システムにおける生産効率を向上させるために鋭意研究開発を行った結果、新規かつ独創的な生産システム等に想到した。以降、本生産システムの実施形態（以降、実施形態１）を説明する。
【００２８】
［１−１．生産システムの全体構成］
図１は、実施形態１に係る生産システムの全体構成の一例を示す図である。図１に示すように、生産システムＳは、スケジュール装置１０、指示装置２０、情報収集装置３０、シミュレーション装置４０、セルコントローラ５０、ロボットコントローラ６０、ロボット７０、及び自走ロボット８０等を含む。図１では、これらの装置を１つずつ示しているが、各装置は複数台存在してもよい。また、生産システムＳには、他の装置が含まれていてもよいし、一部の装置については省略してもよい。
【００２９】
スケジュール装置１０は、生産システムＳ全体のスケジュールを管理するコンピュータである。スケジュールは、いつ何の作業をすべきかを示す計画であり、生産計画又は作業計画ということもできる。本実施形態では、生産システムＳに複数のセルが存在し、スケジュール装置１０は、各セルのスケジュールを管理する。例えば、スケジュール装置１０は、各セルでいつ何の作業をするかといった大まかなスケジュールを管理し、指示装置２０が具体的な作業内容を決定する。
【００３０】
セルとは、生産システムＳにおけるグループであり、ラインと似た概念である。本実施形態では、セルは、ラインよりも小さな単位とするが、セルの概念はこれに限られない。セルは、１つだけ存在してもよい。セルには、少なくとも１つの産業装置が属する。同じセルに属する産業装置は、互いに協力して作業を行う。本実施形態では、自走ロボット８０がセルに加わったり離脱したりするので、セルに属する産業装置の数は、流動的に変化する。
【００３１】
産業装置は、人間に代わって作業を行うための装置である。産業装置は、作業対象物に対する作業を行う。例えば、セルコントローラ５０、ロボットコントローラ６０、ロボット７０、及び自走ロボット８０は、産業装置に相当する。産業装置は、これらに限られず、任意の種類の装置であってよい。例えば、産業装置は、工作機械、搬送装置、モータコントローラ、又はＰＬＣ（Programmable Logic Controller）であってもよい。また例えば、産業装置は、モータエンコーダなどのセンサ類、Ｉ／Ｏ機器、又はビジョンカメラであってもよい。
【００３２】
作業は、産業装置により行われる物理的な動作であり、工程と呼ばれることもある。例えば、作業は、作業対象物の加工、検出、搬送、又は検査である。作業対象物とは、いわゆるワークであり、例えば、自動車やバイクなどの部品、電気製品、セラミックスや樹脂などの材料、又は食品などである。例えば、作業対象物は、ベルトコンベアなどの搬送装置に載せられて移動し、加工が行われる。また例えば、作業対象物は、ロボット７０又は自走ロボット８０によって把持され、加工が行われる。
【００３３】
例えば、スケジュール装置１０は、サーバコンピュータ又はパーソナルコンピュータである。スケジュール装置１０は、ＣＰＵ１１、記憶部１２、及び通信部１３を含む。ＣＰＵ１１は、circuitryと呼ばれる構成の一例であり、例えば、少なくとも１つのプロセッサを含む。記憶部１２は、ＲＡＭ、ＥＥＰＲＯＭ、及びハードディスクを含む。記憶部１２は、プログラムやデータを記憶する。ＣＰＵ１１は、これらプログラムやデータに基づいて処理を実行する。通信部１３は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。通信部１３は、これらの両方を含んでもよいし、何れか一方だけを含んでもよい。
【００３４】
指示装置２０は、スケジュール装置１０が管理するスケジュールに基づいて、具体的な作業内容を指示するコンピュータである。例えば、指示装置２０は、スケジュール装置１０から受信した大まかなスケジュールに基づいて、個々の作業に必要なプログラム等を作成する。別の言い方をすれば、指示装置２０は、スケジュール装置１０から受信した大まかな指示をかみ砕いて、各セルに対して具体的な指示を与える。
【００３５】
例えば、指示装置２０は、サーバコンピュータ又はパーソナルコンピュータである。指示装置２０は、ＣＰＵ２１、記憶部２２、及び通信部２３を含む。ＣＰＵ２１、記憶部２２、及び通信部２３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００３６】
情報収集装置３０は、生産システムＳにおける各種情報を収集するコンピュータである。例えば、情報収集装置３０は、各セルに属する産業装置の動作結果が時系列的に格納されたトレースデータを取得する。トレースデータには、後述するセンサ７１等により検出された物理量の時系列的な変化が示される。また例えば、情報収集装置３０は、カメラ７２により撮影された画像又は動画を取得してもよい。更に、情報収集装置３０は、自身が収集した情報を解析してもよい。例えば、情報収集装置３０は、収集した情報に基づいて、アラームの発生要因を解析したり、加工対象物又は最終的な製品の品質を評価したりしてもよい。
【００３７】
例えば、情報収集装置３０は、サーバコンピュータ又はパーソナルコンピュータである。情報収集装置３０は、ＣＰＵ３１、記憶部３２、及び通信部３３を含む。ＣＰＵ３１、記憶部３２、及び通信部３３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００３８】
シミュレーション装置４０は、生産システムＳ全体の作業をシミュレーションするコンピュータである。例えば、シミュレーション装置４０は、各産業装置に対して入力された指示内容を公知のシミュレータに入力し、作業のシミュレーション結果を得る。シミュレーション装置４０は、情報収集装置３０が取得した実際の動作結果と、シミュレーション結果と、を比較する。シミュレーション装置４０は、これらの結果が乖離しているか否かを判定し、これらが乖離していれば、プログラムを変更したり管理者に通知したりする。乖離とは、シミュレーション通りの結果（想定通りの結果）が得られないことを意味する。
【００３９】
例えば、シミュレーション装置４０は、サーバコンピュータ又はパーソナルコンピュータである。シミュレーション装置４０は、ＣＰＵ４１、記憶部４２、及び通信部４３を含む。ＣＰＵ４１、記憶部４２、及び通信部４３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００４０】
セルコントローラ５０は、セルを制御する産業装置である。本実施形態では、各セルに１台のセルコントローラ５０が含まれる場合を説明するが、セルには複数のセルコントローラ５０が含まれていてもよい。また、セルには、セルコントローラ５０よりも上位の産業装置が存在してもよい。セルコントローラ５０は、自身のセルに属する産業装置を制御する。自走ロボット８０がセルに到着してセルコントローラ５０に接続された場合には、セルコントローラ５０は、この自走ロボット８０を制御する。自走ロボット８０がセルから離脱すると、この自走ロボット８０は、セルコントローラ５０の制御下から外れる。
【００４１】
例えば、セルコントローラ５０は、ＣＰＵ５１、記憶部５２、及び通信部５３を含む。ＣＰＵ５１、記憶部５２、及び通信部５３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００４２】
ロボットコントローラ６０は、ロボット７０を制御する産業装置である。例えば、ロボットコントローラ６０は、セルコントローラ５０からの指示に基づいて、ロボット７０内のモータに対する電力を制御し、ロボットアームを移動させたりロボットハンドを開閉させたりする。本実施形態のロボット７０は、固定式であり、ロボットアームやロボットハンドは移動するが、ロボット７０自体は移動しない。
【００４３】
例えば、セルには、ロボット７０以外にも、センサ７１、カメラ７２、及び通信機器７３が配置される。センサ７１は、物理量を検出可能なセンサであればよく、例えば、モータエンコーダ、トルクセンサ、温度センサ、モーションセンサ、又は感圧センサなどである。図１では、センサ７１を１つだけ示しているが、セルには、複数のセンサ７１が含まれていてよい。センサ７１によって得られたデータは、センシングデータと呼ばれることもある。
【００４４】
カメラ７２は、セルの様子を撮影するカメラである。カメラ７２は、人間による目視確認の代わりに利用され、ビジョンカメラ（ビジョンセンサ）と呼ばれることもある。例えば、カメラ７２は、セル内のロボット７０及び作業対象物の各々を撮影し、画像又は動画を生成する。例えば、カメラ７２は、情報収集装置３０、セルコントローラ５０、又はロボットコントローラ６０といった他の装置に対し、撮影した画像又は動画を送信する。カメラ７２自身に画像解析機能を持たせる場合には、カメラ７２は、解析結果を送信する。解析結果は、ロボット７０の現在の状態であってもよいし、作業対象物の現在の状態であってもよい。
【００４５】
通信機器７３は、有線通信用の通信インタフェースである。通信機器７３は、自身のセルに到着した自走ロボット８０と接続される。例えば、自走ロボット８０は、移動先のセルの通信機器７３に接近し、後述する有線通信部８５Ｂを通信機器７３に接続させる。これにより、自走ロボット８０と移動先のセルとの有線通信が実現される。通信機器７３は、任意の通信規格の機器を利用可能であり、例えば、ＩＯ−Ｌｉｎｋ（登録商標）などの専用の通信規格を利用してもよいし、イーサネット（登録商標）などの一般的な通信規格を利用してもよい。例えば、通信機器７３は、通信ケーブルを挿入可能な通信コネクタを有していてもよいし、赤外線等を利用した疑似的な有線通信（挿入式ではなく接触式の有線通信）を実現してもよい。
【００４６】
自走ロボット８０は、自走式の産業装置である。自走とは、自身の動力によって走行することである。自走式の産業装置は、自走機能を有する産業装置であればよく、自走ロボット８０に限られない。例えば、自走式の産業装置は、自走式の工作機械、自走式の搬送装置、自走式のモータコントローラ、自走式のＰＬＣ、自走式のセンサ、又は自走式のカメラであってもよい。
【００４７】
本実施形態では、自走ロボット８０は、任意の場所に対して自由に移動可能である。例えば、自走ロボット８０は、あるセルと他のセルとの間を移動する。なお、自走ロボット８０は、セル間の移動に限られず、セル内で移動してもよいし、セルとは関係のない場所に移動してもよい。また、本実施形態では、自走ロボット８０が床の上を自由に移動する場合を説明するが、自走ロボット８０は、レール上を移動してもよい。例えば、セル間にレールを配置しておき、自走ロボット８０は、レール上を移動することによってセル間を移動してもよい。
【００４８】
図２は、自走ロボット８０の詳細な構成の一例を示す図である。図２に示すように、自走ロボット８０は、ロボット部８１と、ＡＧＶ（Automated guided vehicle）部８９と、を含む。なお、自走ロボット８０は、ロボット部８１とＡＧＶ部８９に分かれていなくてもよく、これらが一体となり、互いに区別されなくてもよい。
【００４９】
ロボット部８１は、自走ロボット８０が移動したセルにおける作業を行う。例えば、ロボット部８１は、ロボットコントローラ８２、ロボット８６、センサ８７、及びカメラ８８を含む。図２では、これらを１つずつ示しているが、これらは複数台含まれていてもよい。また、ロボット部８１には、他の装置が含まれていてもよい。例えば、ロボット部８１は、予備のエンドエフェクタやバッテリーが含まれていてもよい。
【００５０】
ロボットコントローラ８２、ロボット８６、センサ８７、及びカメラ８８の物理的構成は、それぞれロボットコントローラ６０、ロボット７０、センサ７１、及びカメラ７２と同様であってよい。なお、カメラ８８は、作業対象物の検出だけではなく、通信機器７３の検出にも利用される。
【００５１】
例えば、ロボットコントローラ８２は、ＣＰＵ８３、記憶部８４、及び通信部８５を含む。ＣＰＵ８３、記憶部８４、及び通信部８５の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００５２】
なお、ロボットコントローラ８２は、自走ロボット８０に搭載されなくてもよい。この場合、セルコントローラ５０に、自走ロボット８０用のロボットコントローラ８２を接続しておき、自走ロボット８０がセルに到着した場合に、このロボットコントローラ８２によって、自走ロボット８０に搭載されたロボット８６が制御されるようにすればよい。自走ロボット８０にロボットコントローラ８２を搭載しない場合には、自走ロボット８０を軽量化することができる。
【００５３】
本実施形態では、自走ロボット８０の移動中は無線通信が行われ、自走ロボット８０がセルに到着すると、有線通信に切り替わる。このため、自走ロボット８０がセルに到着した後に行われる作業は、信頼性・即時性・スループットが不十分な無線通信ではなく、これらが十分に担保される有線通信によって、細かな制御周期でのデータ同期を取ることができるようになっている。例えば、通信部８５は、無線通信用の通信インタフェースである無線通信部８５Ａと、有線通信用の通信インタフェースである有線通信部８５Ｂと、を有する。
【００５４】
無線通信部８５Ａは、無線通信用の通信カード及びアンテナ等を含む。無線通信部８５Ａは、任意の通信規格を利用可能であり、例えば、無線ＬＡＮ、ＷｉＦｉ（登録商標）、又はＢｌｕｔｈｏｏｔｈ（登録商標）を利用可能である。有線通信部８５Ｂは、有線通信用の通信カード及びコネクタ等を含む。有線通信部８５Ｂも任意の通信規格を利用可能であるが、本実施形態では、セル内の通信機器７３を利用して有線通信が実現されるので、有線通信部８５Ｂは、通信機器７３と同じ通信規格を利用するものとする。この通信規格は、先述した通りである。
【００５５】
ＡＧＶ部８９は、いわゆる無人搬送車又は走行台車である。例えば、ＡＧＶ部８９は、ＡＧＶコントローラ９０、センサ９４、カメラ９５、モータ９６、タイヤ９７、及びバッテリー９８を含む。図２では、これらを１つずつ示しているが、これらは複数台含まれていてもよい。
【００５６】
ＡＧＶコントローラ９０は、自走ロボット８０の移動を制御するコンピュータである。ＡＧＶコントローラ９０は、所定の移動経路に基づいて、自走ロボット８０の移動を制御する。自走ロボット８０の移動制御自体は、公知の種々の手法を利用可能であり、例えば、掃除用ロボット等で採用されている自走制御アルゴリズムを利用してもよいし、自動車等で採用されている自動運転技術を利用してもよい。また例えば、自走ロボット８０の移動制御は、ＲＯＳと呼ばれるオープンソースにより実現されてもよい。
【００５７】
例えば、ＡＧＶコントローラ９０は、パーソナルコンピュータ、タブレット端末、又はスマートフォンである。例えば、ＡＧＶコントローラ９０は、ＣＰＵ９１、記憶部９２、及び通信部９３を含む。ＣＰＵ９１、記憶部９２、及び通信部９３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様であってよい。
【００５８】
センサ９４は、自走ロボット８０の周囲の様子を検出するためのセンサである。例えば、センサ９４は、深度センサ、超音波センサ、赤外線センサ、物体検出センサ、屋内ＧＰＳセンサ、ビーコンセンサ、ＲＦＩＤセンサ、地磁気センサ、ジャイロセンサ、又はモーションセンサなどである。カメラ９５は、自走ロボット８０の周囲の様子を撮影するカメラである。カメラ９５の物理的構成は、カメラ７２，８８と同様であってよく、いわゆるビジョンセンサと呼ばれるものであってもよい。
【００５９】
例えば、ＡＧＶコントローラ９０は、指示装置２０から所定の移動指示を受信すると、移動指示に含まれる移動先までの移動経路を作成する。ＡＧＶコントローラ９０は、センサ９４及びカメラ９５の各々から得られる情報に基づいて、作成された移動経路に沿って移動するように、バッテリー９８からの電力をモータ９６に供給してタイヤ９７の回転を制御する。
【００６０】
なお、ＡＧＶコントローラ９０は、自走ロボット８０に搭載されなくてもよい。この場合、自走ロボット８０は、他のコンピュータ（例えば、指示装置２０）からの指示を受信し、その指示に基づいて移動すればよい。例えば、ＡＧＶコントローラ９０と同等の機能を有する他のコンピュータを施設内に配置し、自走ロボット８０は、当該他のコンピュータと通信することによって、セル間を移動する。自走ロボット８０にＡＧＶコントローラ９０を搭載しない場合には、自走ロボット８０を軽量化することができる。
【００６１】
また、スケジュール装置１０、指示装置２０、情報収集装置３０、シミュレーション装置４０、セルコントローラ５０、ロボットコントローラ６０、及び自走ロボット８０の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されてもよい。また、これらのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢ端子）が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されるようにしてもよい。また、ＡＳＩＣと呼ばれる特定用途向けの集積回路が含まれていてもよい。
【００６２】
［１−２．生産システムの概要］
本実施形態では、いわゆる多品種少量生産が実現される場合を例に挙げて、生産システムＳの処理を説明する。多品種少量生産では、各セルで生産される物が流動的に変わるので、各セルで必要な産業装置の台数も流動的に変わる。例えば、ある時間帯は、セルに固定されている固定式のロボット７０だけで作業可能であるが、他の時間帯は、固定式のロボット７０だけでは足りないことがある。
【００６３】
この点、全てのセルに対し、そのセルで必要な最大数の固定式のロボット７０を配置したとすると、スケジュール通りの作業は可能になるが、生産システムＳにおけるコストが増大する。即ち、少ないロボット７０で作業可能な時間帯において、何もしないロボット７０が存在して無駄が生じる。このため、生産システムＳでは、必要に応じて自走ロボット８０をセルに移動させ、固定式のロボット７０の台数を減らすようにしている。
【００６４】
図３〜図６は、生産システムＳにおけるセルの一例を示す図である。これらの図では、セルを２つとして説明するが、セルは３つ以上であってもよい。また、自走ロボット８０を１台として説明するが、自走ロボット８０は２台以上であってもよい。図３に示すように、セルＸには、固定式のロボット７０Ａ〜７０Ｃが配置されており、セルＹには、固定式のロボット７０Ｄ，７０Ｅが配置されている。なお、図３〜図６では、指示装置２０等の他の装置は省略している。
【００６５】
図３の状態では、自走ロボット８０は、セルＸ，Ｙから離れた場所にいて、どのセルにも属していない。例えば、自走ロボット８０は、無線通信によって指示装置２０と接続されており、その場で待機する。この無線通信は、ロボットコントローラ８２の無線通信部８５Ａと、ＡＧＶコントローラ９０の通信部９３と、の少なくとも一方によって実現されていればよい。これらの両方で無線通信接続されていてもよいし、何れか一方のみで無線通信接続されてもよい。
【００６６】
自走ロボット８０が何れかのセルに移動すべきタイミングが訪れると、指示装置２０は、自走ロボット８０に対して移動指示を送信する。移動指示には、自走ロボット８０の移動先のセルにおける具体的な位置が含まれているものとする。本実施形態では、自走ロボット８０は、移動先のセルに到着すると無線通信から有線通信に切り替えるので、移動先の位置は、移動先のセルの通信機器７３付近の位置となる。
【００６７】
ここでは、自走ロボット８０に対し、セルＹへの移動が指示された場合を例に挙げて説明する。自走ロボット８０が指示装置２０からセルＹへの移動指示を受信すると、ＡＧＶコントローラ９０は、セルＹへの移動経路を作成する。ＡＧＶコントローラ９０は、作成した移動経路上を移動するように、モータ９６を制御する。
【００６８】
図４に示すように、自走ロボット８０は、セルＹに向けて移動している間に、指示装置２０から、次の作業（セルＹにおける作業）で必要なデータを無線通信でダウンロードする。自走ロボット８０は、ダウンロードしたデータを、自身のロボットコントローラ８２の記憶部８４に記録する。これにより、自走ロボット８０がセルＹに到着した後にデータをダウンロードする必要がなくなる。
【００６９】
自走ロボット８０は、セルＹの通信機器７３付近に到着すると、センサ８７とカメラ８８を利用して通信機器７３を検出し、自身の有線通信部８５Ｂを接続させる。即ち、プラグインが行われる。これらが接続されると、自走ロボット８０は、無線通信から有線通信に切り替えて、セルＹのセルコントローラ５０等と通信する。自走ロボット８０は、有線通信接続を確立すると、セルＹにおける作業に必要な処理を実行する。この処理の一例としては、セルＹの他のロボット７０Ｄ，７０Ｅと同期するための処理と、自走ロボット８０のキャリブレーションと、が挙げられるが、これらの処理の詳細は、後述する実施形態２及び変形例で説明する。
【００７０】
自走ロボット８０は、セルＹへの移動中に、次の作業で必要なデータを無線通信でダウンロード済みなので、セルコントローラ５０との間で実行される上記処理が完了すると、セルＹにおける作業をすぐに開始できる状態になる。自走ロボット８０は、ダウンロード済みのデータと、有線通信でセルコントローラ５０から受信する指示と、に基づいて、セルＹにおける作業を実行する。
【００７１】
自走ロボット８０は、セルＹにおける作業が完了すると、セルＹの通信機器７３から離脱し、ダウンロードしたデータを消去する。なお、このデータは、消去されずに保持されてもよい。自走ロボット８０は、セルＹから離脱すると、有線通信を切断して無線通信に切り替える。自走ロボット８０は、指示装置２０との無線通信を確立させると、次の移動指示の受信を待機する。自走ロボット８０は、その場で待機してもよいし、セルＹから離れた場所に移動してもよい。
【００７２】
ここでは、セルＸへの移動が指示された場合を例に挙げて説明する。図５に示すように、自走ロボット８０が指示装置２０から移動指示を受信すると、ＡＧＶコントローラ９０が移動経路を作成し、自走ロボットはセルＸに向けて移動を開始する。図６に示すように、自走ロボット８０は、セルＸに向けて移動している間に、指示装置２０から、セルＸにおける作業で必要なデータをダウンロードする。これにより、自走ロボット８０がセルＸに到着した後にデータをダウンロードする必要がなくなる。
【００７３】
自走ロボット８０は、セルＸの通信機器７３付近に到着すると、センサ８７とカメラ８８を利用して通信機器７３を検出し、自身の有線通信部８５Ｂを接続させる。以降、自走ロボット８０は、セルＹに到着した場合と同様の手順を実行し、セルＸにおける作業を開始する。自走ロボット８０は、その日の作業が全て完了するまで、スケジュール通りに移動して作業を行う。なお、自走ロボット８０は、セル間の移動だけではなく、充電等の目的で所定の待機場所に移動してもよい。このような移動についても、スケジュール装置１０によってスケジューリングされるものとする。
【００７４】
以上のように、本実施形態の生産システムＳは、自走ロボット８０が次のセルに到着する前に、自走ロボット８０に次の作業の準備をさせることによって、次の作業を早く開始させ、生産システムＳにおける生産効率を向上させるようにしている。以降、生産システムＳの詳細な構成について説明する。
【００７５】
［１−３．生産システムで実現される機能］
図７は、生産システムＳで実現される機能を示す機能ブロック図である。以降、スケジュール装置１０、指示装置２０、情報収集装置３０、シミュレーション装置４０、セルコントローラ５０、ロボットコントローラ６０、及び自走ロボット８０の各々で実現される機能を説明する。
【００７６】
［１−３−１．スケジュール装置で実現される機能］
スケジュール装置１０では、データ記憶部１００と、スケジュール制御部１０１と、が実現される。データ記憶部１００は、記憶部１２を主として実現され、スケジュール制御部１０１は、ＣＰＵ１１を主として実現される。
【００７７】
［データ記憶部］
データ記憶部１００は、生産システムＳ全体のスケジュールに関するスケジュールデータを記憶する。図８は、スケジュールデータのデータ格納例を示す図である。図８に示すように、スケジュールデータには、作業順、作業ＩＤ、セルＩＤ、産業装置ＩＤ、及び作業内容が格納される。作業順は、１日における作業の順番である。作業ＩＤは、作業を一意に識別するＩＤである。セルＩＤは、セルを一意に識別するＩＤである。産業装置ＩＤは、産業装置を一意に識別するＩＤである。作業内容は、産業装置ＩＤが示す産業装置が行うべき作業の内容である。先述したように、本実施形態では、大まかな作業内容だけがスケジュールされるので、スケジュールデータに格納される作業内容は、大まかな内容となる。スケジュールデータは、生産システムＳの管理者によって作成される。
【００７８】
［スケジュール制御部］
スケジュール制御部１０１は、スケジュールデータに基づいて、生産システムＳのスケジュールを制御する。例えば、スケジュール制御部１０１は、ある作業の順番が訪れた場合に、指示装置２０に対し、その作業のセルＩＤ、産業装置ＩＤ、及び作業内容を送信する。また例えば、スケジュール制御部１０１は、現在行われている作業の作業完了通知を指示装置２０から受信した場合に、スケジュールデータを参照して次の作業順の作業を特定し、その作業のセルＩＤ、産業装置ＩＤ、及び作業内容を取得する。スケジュール制御部１０１は、指示装置２０に対し、これら取得した情報を送信する。以降、スケジュール制御部１０１は、１日の作業が全て終了するまで、スケジュールデータに定められたスケジュール通りになるように、指示装置２０に対して作業の指示を行う。
【００７９】
［１−３−２．指示装置で実現される機能］
指示装置２０では、データ記憶部２００、指示部２０１、及び受信部２０２が実現される。データ記憶部２００は、記憶部２２を主として実現され、指示部２０１及び受信部２０２の各々は、ＣＰＵ２１を主として実現される。
【００８０】
［データ記憶部］
データ記憶部２００は、各産業装置に種々の指示をするためのデータを記憶する。指示装置２０は、主に、自走ロボット８０に対する移動指示と、セルコントローラ５０に対する具体的な作業内容の指示と、を行うので、データ記憶部２００は、これらに必要なデータを記憶する。例えば、データ記憶部２００は、各セルの位置情報と、生産システムＳの施設内の地図データと、を記憶する。本実施形態では、自走ロボット８０がセル内の通信機器７３付近に移動するので、データ記憶部２００は、各セルの通信機器７３の位置情報を記憶する。
【００８１】
また例えば、データ記憶部２００は、セルコントローラ５０及び自走ロボット８０の各々に送信する作業プログラム及び設定データを記憶する。作業プログラムは、作業の手順が定義されたプログラムである。作業プログラムには、作業の開始から終了までの手順が時系列的に示されている。作業プログラムは、ラダー言語又はロボット言語などの任意の言語で作成可能である。本実施形態では、指示装置２０が作業プログラムを作成する場合を説明するが、作業プログラムは、指示装置２０に予め記憶されていてもよい。作業プログラム自体は、公知の手法によって作成可能である。
【００８２】
設定データは、作業内容の設定に関するデータである。例えば、設定データは、トルク値などのパラメータである。ロボット制御におけるティーチングデータも設定データの一例である。後述する変形例のように、自走ロボット８０の到着後の位置や向きなどによって、設定データが調整されてもよい。
【００８３】
［指示部］
指示部２０１は、各産業装置に指示を送信する。例えば、指示部２０１は、自走ロボット８０に対し、移動先の位置を含む移動指示を送信する。また例えば、指示部２０１は、セルコントローラ５０及び自走ロボット８０の各々に、作業指示として、データ記憶部２００に記憶された作業プログラム及び設定データを送信する。本実施形態では、指示部２０１は、作業完了通知を受信した場合に、自走ロボット８０に次の場所への移動を指示する。指示部２０１は、作業完了通知を受信したことを条件として、自走ロボット８０に次の場所への移動を指示する。指示部２０１は、作業完了通知を受信していない場合、自走ロボット８０に次の場所への移動を指示せず、作業完了通知を受信したことに応じて、走ロボット８０に次の場所への移動を指示する。
【００８４】
［受信部］
受信部２０２は、所定の作業完了通知を受信する。作業完了通知は、作業が完了したことを示す通知であり、所定形式のデータが送信されることによって行われる。例えば、作業完了通知には、作業を完了した産業機器の作業ＩＤ、完了した作業の作業ＩＤといった情報が含まれる。本実施形態では、受信部２０２は、セルコントローラ５０から作業完了通知を受信する場合を説明するが、受信部２０２は、ロボットコントローラ６０，８２等の他の装置から作業完了通知を受信してもよい。
【００８５】
［１−３−３．情報収集装置で実現される機能］
情報収集装置３０では、データ記憶部３００と、情報収集部３０１と、が実現される。データ記憶部３００は、記憶部３２を主として実現され、情報収集部３０１は、ＣＰＵ３１を主として実現される。
【００８６】
［データ記憶部］
データ記憶部３００は、生産システムＳに関する種々のデータを記憶する。例えば、データ記憶部３００は、ロボットコントローラ６０，８２の各々が作成したトレースデータを記憶する。また例えば、データ記憶部３００は、カメラ７２により撮影された画像又は動画を記憶する。また例えば、データ記憶部３００は、これらを画像解析して得られた産業装置の状態や加工対象物の状態を記憶する。また例えば、データ記憶部３００は、自走ロボット８０が各セルに到着した場合に送信した情報を記憶する。
【００８７】
［情報収集部］
情報収集部３０１は、生産システムＳに関する種々のデータを収集する。例えば、情報収集部３０１は、セルコントローラ５０から、トレースデータ、カメラ７２により撮影された画像又は動画を収集する。また例えば、セルコントローラ５０によって画像解析が実行される場合には、情報収集部３０１は、セルコントローラ５０から画像解析の解析結果（産業装置の状態や加工対象物の状態）を収集する。また例えば、情報収集部３０１は、自走ロボット８０が各セルに到着した場合に送信した情報を収集する。
【００８８】
［１−３−４．シミュレーション装置で実現される機能］
シミュレーション装置４０では、データ記憶部４００と、シミュレーション実行部４０１と、が実現される。データ記憶部４００は、記憶部４２を主として実現され、シミュレーション実行部４０１は、ＣＰＵ４１を主として実現される。
【００８９】
［データ記憶部］
データ記憶部４００は、シミュレーションの実行に必要なデータを記憶する。例えば、データ記憶部４００は、シミュレータを記憶する。シミュレータは、産業装置のシミュレーションのために開発されたプログラムである。シミュレータ自体は、公知の種々のシミュレータを利用可能であり、例えば、産業装置メーカから提供されているロボットシミュレータ等を利用すればよい。また例えば、データ記憶部４００は、シミュレータによるシミュレーション結果を記憶する。
【００９０】
［シミュレーション実行部］
シミュレーション実行部４０１は、シミュレーションを実行する。例えば、シミュレーション実行部４０１は、指示装置２０、情報収集装置３０、又はセルコントローラ５０から作業の指示内容を取得する。シミュレーション実行部４０１は、取得した指示内容をシミュレータに入力し、シミュレーション結果を取得する。シミュレーション結果としては、例えば、産業装置の状態が取得されてもよいし、作業対象物の状態が取得されてもよい。シミュレーション実行部４０１は、シミュレーション結果と、情報収集装置３０に記憶されたトレースデータ等と、を比較し、これらの乖離度を検証する。
【００９１】
［１−３−５．セルコントローラで実現される機能］
セルコントローラ５０では、データ記憶部５００、セル制御部５０１、及び送信部５０２が実現される。データ記憶部５００は、記憶部５２を主として実現され、セル制御部５０１及び送信部５０２は、ＣＰＵ５１を主として実現される。
【００９２】
［データ記憶部］
データ記憶部５００は、セル内の各産業装置（即ち、セルコントローラ５０の管理対象となる産業装置）を制御するために必要なデータを記憶する。例えば、データ記憶部５００は、指示装置２０から受信した作業プログラムと設定データとを記憶する。また例えば、データ記憶部５００は、セル内の各産業装置の各種情報が格納されたデータを記憶する。この情報としては、セル内の産業装置の産業装置ＩＤ、ＩＰアドレス、産業装置のシリアル番号、又は型番などである。また例えば、データ記憶部５００は、指示装置２０から受信したものではなく、予め管理者等により作成された作業プログラムと設定データを記憶してもよい。
【００９３】
［セル制御部］
セル制御部５０１は、データ記憶部５００に記憶されたデータに基づいて、セル内の各産業装置を制御する。例えば、セル制御部５０１は、作業プログラムを実行し、設定データを引数等に利用して、ロボットコントローラ６０に対する指示を決定する。セル制御部５０１は、ロボットコントローラ６０に対し、この指示を送信する。セル制御部５０１は、ロボットコントローラ６０から応答を受信し、データ記憶部５００に時系列的に記録する。
【００９４】
セル制御部５０１は、自走ロボット８０がセルに到着して作業を開始した場合には、固定式のロボット７０を制御するロボットコントローラ６０と同様に、自走ロボット８０のロボットコントローラ８２に対して指示を送信する。セル制御部５０１は、これらのロボットコントローラ６０，８２から応答を受信したりトレースデータを受信したりする。例えば、作業内容の指示や応答は同期通信によって行われ、トレースデータの送信は非同期通信によって行われる。通信は、予め定周期通信によって行われてもよいし、特に周期が定められていなくてもよい。
【００９５】
セル制御部５０１は、情報収集装置３０に対し、ロボットコントローラ６０及び自走ロボット８０の各々から収集したトレースデータ等を送信する。セル制御部５０１が情報収集装置３０に対してトレースデータ等を送信するタイミングは、任意であってよく、例えば、情報収集装置３０に逐一データがアップロードされてもよいし、管理者が所定の操作をしたことをもってアップロードされてもよい。更に、トレースデータ等は、ロボットコントローラ６０及び自走ロボット８０の各々から情報収集装置３０に対して直接的に送信されてもよい。
【００９６】
［送信部］
送信部５０２は、ロボット７０，８６の現在の作業が完了した場合に、指示装置２０に対し、所定の作業完了通知を送信する。送信部５０２は、ロボット７０，８６の現在の作業が完了したことを条件として、指示装置２０に対し、作業完了通知を送信する。送信部５０２は、ロボット７０，８６の現在の作業が完了していない場合には、指示装置２０に対し、作業完了通知を送信せず、ロボット７０，８６の現在の作業が完了したことに応じて、指示装置２０に対し、作業完了通知を送信する。
【００９７】
［１−３−６．ロボットコントローラで実現される機能］
ロボットコントローラ６０では、データ記憶部６００と、作業制御部６０１と、が実現される。データ記憶部は、記憶部６２を主として実現され、作業制御部６０１は、ＣＰＵ６１を主として実現される。
【００９８】
［データ記憶部］
データ記憶部６００は、ロボット７０を制御するために必要なデータを記憶する。例えば、データ記憶部６００は、セルコントローラ５０から受信した作業プログラムと設定データとを記憶する。また例えば、データ記憶部６００は、セルコントローラ５０から受信したものではなく、予め管理者等により作成された作業プログラムと設定データを記憶してもよい。また例えば、データ記憶部６００は、送信前のトレースデータを記憶する。
【００９９】
［作業制御部］
作業制御部６０１は、データ記憶部６００に記憶されたデータに基づいて、ロボット７０を制御する。例えば、作業制御部６０１は、作業プログラムを実行し、設定データを引数等に利用して、ロボット７０が所望の動作をするように、ロボット７０内のモータに対する電圧を制御する。作業制御部６０１は、ロボットコントローラ６０からの指示を完了すると、セルコントローラ５０に対し、応答を送信する。
【０１００】
［１−３−７．自走ロボットで実現される機能］
図７に示すように、自走ロボット８０では、データ記憶部８００、移動制御部８０１、通信制御部８０２、準備制御部８０３、及び作業制御部８０４が実現される。
【０１０１】
［データ記憶部］
データ記憶部８００は、セルに移動して作業をするために必要なデータを記憶する。例えば、データ記憶部８００は、第１データ記憶部８００Ａと第２データ記憶部８００Ｂとを含む。
【０１０２】
第１データ記憶部８００Ａは、ロボットコントローラ８２の記憶部８４を主として実現される。第１データ記憶部８００Ａは、セルに到着した後の作業で必要なデータを記憶する。本実施形態では、このデータが移動中にダウンロードされる場合を説明するが、このデータは、予め第１データ記憶部８００Ａに記憶されていてもよい。本実施形態では、このデータの一例として、作業プログラムと設定データとについて説明する。先述したように、作業プログラムと設定データとの各々は、指示装置２０によって作成される。また例えば、第１データ記憶部８００Ａは、自走ロボット８０の作業に応じたトレースデータを記憶してもよい。
【０１０３】
第２データ記憶部８００Ｂは、ＡＧＶコントローラ９０の記憶部９２を主として実現される。第２データ記憶部８００Ｂは、セルに移動するために必要なデータを記憶する。本実施形態では、このデータが後述する移動制御部８０１によって作成される場合を説明するが、このデータは、指示装置２０から受信してもよいし、予め第２データ記憶部８００Ｂに記憶されていてもよい。このデータの一例として、移動経路データについて説明する。第２データ記憶部８００Ｂは、移動経路データを作成するための経路探索アルゴリズムも記憶する。
【０１０４】
移動経路データは、自走ロボット８０の現在位置から移動先までの経路を示すデータである。移動経路データは、自走ロボット８０が移動すべき位置が時系列的に示される。例えば、移動経路データは、工場などの施設を示す地図上における座標によって示される。なお、地図のデータは、第２データ記憶部８００Ｂに予め記憶されているものとする。また、移動経路データは、特に地図上に示されていなくてもよい。
【０１０５】
［移動制御部］
移動制御部８０１は、ＡＧＶコントローラ９０のＣＰＵ９１を主として実現される。移動制御部８０１は、自走ロボット８０の移動を制御する。本実施形態では、指示装置２０によって移動指示が送信されるので、移動制御部８０１は、移動指示に含まれる移動先の位置に基づいて、自走ロボット８０の移動を制御する。本実施形態では、移動先は、次のセルなので、移動制御部８０１は、移動指示に含まれる次のセルの位置に基づいて、自走ロボットの移動を制御する。なお、移動を制御するとは、移動方向及び移動速度の少なくとも一方を制御することである。
【０１０６】
例えば、移動制御部８０１は、通信部９３の通信結果、センサ９４の検出信号、及びカメラ９５により撮影された画像又は動画のうちの少なくとも１つに基づいて、現在位置を取得する。現在位置の検出方法自体は、公知の手法を利用可能であり、例えば、屋内測位で利用される位置検出方法を利用すればよい。この位置検出方法としては、屋内に配置されたマークを画像で検出する方法、ビーコン測位方法、ＲＦＩＤによる測位方法、超音波による測位方法、地磁気による測位方法、又は無線通信による測位方法を利用可能である。
【０１０７】
移動制御部８０１は、現在位置と移動先の位置とを経路探索アルゴリズムに入力し、移動経路データを生成する。経路探索アルゴリズム自体は、公知の手法を利用可能であり、例えば、ダイクストラ法又はエースター法を利用してもよい。移動制御部８０１は、移動経路データに基づいて、自走ロボット８０の移動を制御する。例えば、移動制御部８０１は、先述した方法によって自走ロボット８０の現在位置を取得し、移動経路データが示す移動経路上を現在位置が通過するように、自走ロボット８０を移動させる。移動制御部８０１は、移動経路上の最終地点である次のセルに到着するまで、現在位置の取得と自走ロボット８０の移動制御を繰り返す。
【０１０８】
［通信制御部］
通信制御部８０２は、ロボットコントローラ８２のＣＰＵ８３を主として実現される。通信制御部８０２は、自走ロボット８０の通信を制御する。本実施形態では、通信制御部８０２は、自走ロボット８０が次の場所に向けて移動している間は、自走ロボット８０に無線通信をさせ、次の場所に自走ロボット８０が到着した場合に、自走ロボット８０に、通信機器を介して有線通信をさせる。
【０１０９】
次の場所とは、自走ロボット８０の移動先である。本実施形態では、自走ロボット８０は、セル間を移動するので、移動先である次のセルが次の場所に相当する。このため、本実施形態で次のセル又は移動先と記載した箇所は、次の場所と読み替えることができる。自走ロボット８０が同じセル内の違う場所に移動する場合には、次の場所は、お当該同じセルの違う場所を意味する。
【０１１０】
次の場所に向けて移動している間とは、次の場所に到着するまでの間であり、例えば、自走ロボット８０の移動中である。自走ロボット８０は、移動し続けなければならないわけではなく、途中で一時停止してもよい。途中で一時停止している時間も、次の場所に向けて移動している間に含まれる。例えば、通信制御部８０２は、自走ロボット８０の移動中は、無線通信部８５Ａを利用して、自走ロボット８０に無線通信をさせる。本実施形態では、無線通信時の通信相手が指示装置２０である場合を説明するが、無線通信時の通信相手は、情報収集装置３０又はセルコントローラ５０等の他の装置であってもよい。
【０１１１】
通信制御部８０２は、次の場所に自走ロボット８０が到着した場合に、この場所にある通信機器７３に有線通信部８５Ｂを接続し、無線通信から有線通信に切り替える。自走ロボット８０の到着は、移動制御部８０１により検出されるものとする。例えば、通信制御部８０２は、無線通信部８５Ａをオフにして、通信機器７３に近づくように有線通信部８５Ｂを移動させる。
【０１１２】
例えば、通信制御部８０２は、無線通信部８５Ａの通信結果、センサ８７の検出信号、及びカメラ８８により撮影された画像又は動画のうちの少なくとも１つに基づいて、通信機器７３の具体的な位置を特定する。通信制御部８０２は、特定した通信機器７３の位置に近づくように、有線通信部８５Ｂを移動させる。有線通信部８５Ｂの移動は、ロボット８６の制御と同様にして、ロボット部８１内のモータを制御することによって実行されるようにすればよい。なお、ＡＧＶコントローラ９０の制御により自走ロボット８０自体を移動させることによって、有線通信部８５Ｂを移動させてもよい。
【０１１３】
例えば、赤外線を利用した接触型の通信機器７３であれば、通信制御部８０２は、通信機器７３に有線通信部８５Ｂが接触するまで、有線通信部８５Ｂを移動させる。また例えば、通信ケーブルを挿入する通信機器７３であれば、通信制御部８０２は、通信機器７３に有線通信部８５Ｂの通信ケーブルが挿入されるまで、有線通信部８５Ｂを移動させる。有線通信の確立は、通信規格に則った手順で実行されるようにすればよい。本実施形態では、有線通信時の通信相手がセルコントローラ５０である場合を説明するが、有線通信時の通信相手は、指示装置２０、情報収集装置３０、又はロボットコントローラ６０等の他の装置であってもよい。
【０１１４】
通信制御部８０２は、自走ロボット８０が作業を完了した後に、有線通信から無線通信に切り替える。有線通信から無線通信に切り替えるタイミングは、作業完了後の任意のタイミングであってよく、例えば、作業完了後すぐであってもよいし、ある程度の時間が経過してからであってもよい。自走ロボット８０の作業完了は、作業制御部８０４によって検出されるものとする。通信制御部８０２は、通信機器７３から有線通信部８５Ｂが外れるように、有線通信部８５Ｂを移動させて無線通信部８５Ａをオンにする。無線通信の確立についても、通信規格に則った手順で実行されるようにすればよい。
【０１１５】
なお、本実施形態では、有線通信と無線通信の切り替えは、ロボットコントローラ８２の通信部８５が対象であり、ＡＧＶコントローラ９０の通信部９３は、この切り替えの対象とはならないものとする。このため、通信制御部８０２によって無線通信から有線通信に切り替わったとしても、ＡＧＶコントローラ９０の無線通信機能は有効であり、自走ロボット８０全体から見れば、指示装置２０と無線通信可能な状態となる。
【０１１６】
［準備制御部］
準備制御部８０３は、ＣＰＵ８３を主として実現される。準備制御部８０３は、自走ロボット８０が次の場所に到着する前に、自走ロボット８０に次の作業の準備をさせる。本実施形態では、準備制御部８０３が自走ロボット８０によって実現される場合を説明するが、後述する変形例のように、準備制御部８０３は、指示装置２０等の他のコンピュータによって実現されてもよい。
【０１１７】
次の場所に到着する前とは、自走ロボット８０が次の場所に到着するよりも前の任意の時点である。本実施形態では、次の場所に向けた移動中が、次の場所に到着する前に相当する場合を説明するが、後述する変形例のように、他の時点であってよい。次の作業とは、次の場所で行うべき作業である。本実施形態では、指示装置２０から具体的な作業内容が指示されるので、指示装置２０から指示された作業は、次の作業に相当する。
【０１１８】
準備とは、次の作業をするうえで必要な用意である。準備制御部８０３は、電子的な準備をしてもよいし、物理的な準備をしてもよい。本実施形態では、データをダウンロードすることによって電子的な準備が行われる場合を説明するが、電子的な準備は、データのダウンロードに限られない。例えば、電子的な準備は、情報記憶媒体からデータを読み出すこと、作業プログラムを起動させること、データをＲＡＭに展開すること、初期設定を完了させること、又はロボットコントローラ８２やセンサ８７等を起動させることであってもよい。
【０１１９】
本実施形態では、準備制御部８０３は、第１準備制御部８０３Ａとダウンロード制御部８０３Ｂを含む。第１準備制御部８０３Ａは、次の場所に向けて自走ロボット８０が移動している間に、自走ロボット８０に次の作業の準備をさせる。即ち、第１準備制御部８０３Ａは、自走ロボット８０の移動中に、自走ロボット８０に次の作業の準備をさせる。第１準備制御部８０３Ａは、自走ロボット８０の移動中の全ての期間を準備に費やさなければならないわけではなく、途中で準備が完了することもある。
【０１２０】
ダウンロード制御部８０３Ｂは、次の場所の準備として、自走ロボット８０に、次の作業で使用するデータをダウンロードさせる。本実施形態では、ダウンロード制御部８０３Ｂは、指示装置２０から、作業プログラムと設定データをダウンロードし、第１データ記憶部８００Ａに記録する。自走ロボット８０は、移動中は無線通信を行うので、ダウンロード制御部８０３Ｂは、無線通信を利用して、これらのデータをダウンロードする。
【０１２１】
なお、自走ロボット８０が次の場所に到着する前に、次の作業の準備が少なくとも開始されるようにすればよく、自走ロボット８０が次の場所に到着した時に、準備が完了していなければならないわけではない。例えば、作業プログラムと設定データのサイズが大きかったり、次の場所までの移動距離が短かったりした場合には、次の場所への到着時に準備が完了していないこともある。この場合、自走ロボット８０が到着した後に、引き続き準備が継続される。この場合、有線通信に切り替わっていれば、ダウンロード制御部８０３Ｂは、有線通信を利用して、続きのダウンロードを行ってもよい。また、次の作業だけではなく、次の次以降の作業（２つ以上先の作業）についても決定されている場合には、準備制御部８０３は、次の次以降の作業の準備をしてもよい。
【０１２２】
［作業制御部］
作業制御部８０４は、ＣＰＵ８３を主として実現される。作業制御部８０４は、自走ロボット８０が次の場所に到着し、かつ、次の作業の準備が完了した場合に、自走ロボット８０に次の作業をさせる。本実施形態では、作業制御部８０４が自走ロボット８０によって実現される場合を説明するが、後述する変形例のように、作業制御部８０４は、セルコントローラ５０等の他のコンピュータによって実現されてもよい。
【０１２３】
作業制御部８０４は、自走ロボット８０が次の場所に到着すること、及び、次の作業の準備が完了することを条件として、自走ロボット８０に次の作業をさせる。例えば、次の場所への到着は、移動制御部８０１により検出される。また例えば、作業制御部８０４が次の場所に到着したか否かを判定してもよい。本実施形態では、次の場所には、ロボットコントローラ６０と、有線通信用の通信機器７３と、が配置されているので、作業制御部８０４は、ロボットコントローラ６０との有線接続が確立された否かを判定してもよい。有線接続が確立することは、自走ロボット８０が次の場所に到着したことを意味する。
【０１２４】
なお、自走ロボット８０の到着は、任意の方法によって判定可能である。例えば、無線通信部８５Ａの通信内容、ＡＧＶ部８９のセンサ９４の検出信号、及びカメラ９５により撮影された画像又は動画のうちの少なくとも１つに基づいて判定されてもよい。この場合、次の場所に所定の信号を発する発信機を配置したり、所定のマークを付与したりすればよい。作業制御部８０４は、この信号を検出したり、このマークを検出したりした場合に、次の場所に到着したと判定する。
【０１２５】
また例えば、作業制御部８０４は、次の作業の準備が完了したか否かを判定する。準備の完了は、任意の方法によって判定可能であり、例えば、準備制御部８０３による準備の進行状況を参照し、準備が完了したか否かを判定すればよい。作業制御部８０４は、準備制御部８０３により完了した準備に基づいて、自走ロボット８０に次の作業をさせる。作業の実行方法自体は、公知の手法を利用可能であり、例えば、セルコントローラ５０と、自走ロボット８０のロボットコントローラ８２と、が通信することによって、次の作業が実行される。
【０１２６】
本実施形態では、作業制御部８０４は、第１作業制御部８０４Ａを含む。第１作業制御部８０４Ａは、次の場所に自走ロボット８０が到着し、かつ、データのダウンロードが完了した場合に、自走ロボット８０に次の作業をさせる。例えば、第１作業制御部８０４Ａは、ダウンロード制御部８０３Ｂによるデータのダウンロードが完了したか否かを判定する。データのダウンロードが完了することは、次の作業の準備が完了したことを意味する。第１作業制御部８０４Ａは、ダウンロード済みのデータに基づいて、次の作業を実行する。
【０１２７】
［１−４．生産システムで実行される処理］
図９〜図１１は、生産システムＳで実行される処理を示すフロー図である。図９〜図１１に示す処理は、ＣＰＵ１１，２１，３１，４１，５１，６１，８３，９１が、それぞれ記憶部１２，２２，３２，４２，５２，６２，７２，８４，９２に記憶されたプログラムに従って動作することによって実行される。以降説明する処理は、図４に示す機能ブロックにより実行される処理の一例である。
【０１２８】
図９に示すように、スケジュール装置１０は、記憶部１２に記憶されたスケジュールデータに基づいて、指示装置２０に対し、生産計画における大まかな作業内容を送信する（Ｓ１）。Ｓ１においては、スケジュール装置１０は、スケジュールデータに格納されたセルＩＤ、産業装置ＩＤ、及び作業内容を、大まかな作業内容として送信する。なお、スケジュール装置１０が送信する大まかな作業内容には、産業装置ＩＤは含まれていなくてもよい。
【０１２９】
指示装置２０は、大まかな作業内容を受信すると、作業に必要なデータを作成する（Ｓ２）。Ｓ２においては、指示装置２０は、セルコントローラ５０、ロボットコントローラ６０、及び自走ロボット８０のうちの少なくとも１つにより使用されるデータを作成する。本実施形態では、このデータは、作業プログラムと設定データである。データの作成アルゴリズムは、予め記憶部２２に記憶されているものとする。この作成アルゴリズムには、作業内容とデータの作成方法との関係が定められている。
【０１３０】
指示装置２０は、Ｓ２で作成したデータの送信先を特定し、送信先に自走ロボット８０が含まれるか否かを判定する（Ｓ３）。この送信先は、次の作業の実行主体である。本実施形態では、Ｓ２で受信した大まかな作業内容に含まれる産業装置ＩＤが示す産業装置が送信先になる場合を説明するが、指示装置２０は、自身でデータの送信先を決定してもよい。例えば、スケジュール装置１０が送信する大まかな作業内容に産業装置ＩＤが含まれていない場合、指示装置２０は、作業内容に基づいて適切な産業装置を特定し、当該産業装置をデータの送信先として決定してもよい。
【０１３１】
データの送信先に自走ロボット８０が含まれないと判定された場合（Ｓ３；Ｎ）、指示装置２０は、セルコントローラ５０に対し、Ｓ２で作成したデータを含む作業指示を送信する（Ｓ４）。作業指示は、作業の開始を指示するものであり、所定形式のデータが送信されることによって行われる。
【０１３２】
セルコントローラ５０は、指示装置２０から作業指示を受信すると、作業指示に含まれるデータを記憶部５２に記録し（Ｓ５）、自身のセルのロボットコントローラ６０に対し、作業を指示する（Ｓ６）。Ｓ６においては、ロボットコントローラ６０は、セルコントローラ５０からの指示に応じてロボット７０を制御する。なお、セルコントローラ５０とロボットコントローラ６０との間で、作業プログラムと設定データが各ロボットコントローラ６０に展開され、ＩＰアドレスの交換等の処理は、事前に実行されているものとする。
【０１３３】
ロボットコントローラ６０は、セルコントローラ５０からの指示に基づいて、作業を実行する（Ｓ７）。Ｓ７においては、ロボットコントローラ６０は、セルコントローラ５０に対し、応答として作業の実行結果を送信する。また、ロボットコントローラ６０は、自身に接続されたセンサ７１の検出信号に基づいて、トレースデータを送信してもよい。また、セルコントローラ５０は、ロボットコントローラ６０からの応答を受信する。セルコントローラ５０は、受信したトレースデータと、カメラ７２により撮影された画像又は動画と、についても記憶部５２に記録する。セル内は同期が取れており、これらのデータの時間軸は互いに整合しているものとする。
【０１３４】
セルコントローラ５０は、指示装置２０から指示された作業が完了したか否かを判定する（Ｓ８）。作業が完了したと判定されない場合（Ｓ８；Ｎ）、Ｓ６の処理に戻り、作業が継続される。一方、作業が完了したと判定された場合（Ｓ８；Ｙ）、セルコントローラ５０は、指示装置２０に対し、作業完了通知を送信する（Ｓ９）。
【０１３５】
指示装置２０は、セルコントローラ５０から作業完了通知を受信すると、スケジュール装置１０に対し、作業完了通知を転送する（Ｓ１０）。なお、Ｓ１０の処理は省略してもよい。また、指示装置２０は、一定数の作業が完了した場合に、スケジュール装置１０に対して通知をしてもよい。指示装置２０は、スケジュール装置１０から受信した大まかな作業内容又はＳ２で作成したデータに基づいて、次の作業があるか否かを判定する（Ｓ１１）。次の作業があると判定された場合（Ｓ１１；Ｙ）、Ｓ３の処理に移行し、次の作業のデータの送信先が参照される。
【０１３６】
一方、Ｓ３において、指示装置２０のデータの送信先に自走ロボット８０が含まれると判定された場合（Ｓ３；Ｙ）、図１０に移り、指示装置２０は、セルコントローラ５０に対し、Ｓ２で作成したデータを含む作業指示を送信し（Ｓ１２）、自走ロボット８０に対し、移動指示を送信する（Ｓ１３）。Ｓ１２の処理は、Ｓ４の処理と同様である。Ｓ１３で送信される移動指示は、次の場所に移動する旨の指示であり、所定形式のデータが送信されることによって行われる。移動指示には、移動先の位置を識別する情報が含まれているものとする。先述したように、移動先は、次のセルの通信機器７３付近の位置となる。
【０１３７】
セルコントローラ５０によって実行されるＳ１４の処理は、Ｓ５の処理と同様である。セルコントローラ５０は、自身のセルに自走ロボット８０が到着したか否かを判定する（Ｓ１５）。自走ロボット８０が到着したと判定されない場合（Ｓ１５；Ｎ）、再びＳ１５の処理に戻り、自走ロボット８０の到着が待ち受けられる。
【０１３８】
自走ロボット８０は、移動指示を受信すると、ＡＧＶコントローラ９０を利用して、移動指示に含まれる移動先への移動経路を作成する（Ｓ１６）。Ｓ１６においては、自走ロボット８０は、公知の経路探索アルゴリズムに基づいて、移動経路を作成すればよい。自走ロボット８０の現在位置から移動先に向けて、固定式のロボット７０や他の自走ロボット８０等の邪魔にならないような移動経路が作成される。
【０１３９】
自走ロボット８０は、Ｓ１６で作成した移動経路に基づいて、移動先である次のセルに向けた移動を制御する（Ｓ１７）。Ｓ１７においては、自走ロボット８０は、センサ９４の検出信号と、カメラ９５により撮影された画像又は動画と、に基づいて、周囲の様子を解析する。自走ロボット８０は、解析結果に基づいて、モータ９６を回転させて移動経路上を走行する。
【０１４０】
自走ロボット８０は、次のセルに向けて移動している間に、指示装置２０から、無線通信部８５Ａを利用してＳ２で作成されたデータをダウンロードする（Ｓ１８）。移動中にダウンロードが完了した場合、Ｓ１８の処理は実行されない。
【０１４１】
自走ロボット８０は、無線通信部８５Ａの通信内容、センサ９４の検出信号、及びカメラ９５により撮影された画像又は動画のうちの少なくとも１つに基づいて、移動先である次のセルに到着したか否かを判定する（Ｓ１９）。例えば、通信機器７３の付近に所定のマークを配置し、自走ロボット８０が当該マークを検出した場合に、次のセルに到着したと判定されるようにしてもよい。次のセルに到着したと判定されない場合（Ｓ１９；Ｎ）、Ｓ１７の処理に戻り、自走ロボット８０による移動制御が継続される。
【０１４２】
一方、次のセルに到着したと判定された場合（Ｓ１９；Ｙ）、自走ロボット８０は、そのセルの通信機器７３と、自身の有線通信部８５Ｂと、を有線接続する（Ｓ２０）。Ｓ２０においては、自走ロボット８０は、無線通信部８５Ａの通信内容、センサ９４の検出信号、及びカメラ９５により撮影された画像又は動画のうちの少なくとも１つに基づいて、通信機器７３の位置を特定し、自身の有線通信部８５Ｂを接続させる。接触式の通信機器７３であれば、通信機器７３に有線通信部８５Ｂを接触させることによって、これらが有線接続される。自走ロボット８０は、通信機器７３を介して、セルコントローラ５０との有線通信を確立し、到着したセルで作業をするための初期設定を実行する。後述する実施形態２のように、このセルのロボット７０と同期した動作が可能になる。
【０１４３】
自走ロボット８０との有線通信が確立されると、Ｓ１５において、自走ロボット８０が到着したと判定された場合（Ｓ１５；Ｙ）、セルコントローラ５０は、ロボットコントローラ６０及び自走ロボット８０の各々に対し、作業を指示し（Ｓ２１）、セルコントローラ５０と、ロボットコントローラ６０及び自走ロボット８０と、の間で通信が行われ、指示装置２０から指示された作業が実行される（Ｓ２２）。Ｓ２２の処理は、Ｓ７の処理と同様である。Ｓ２２の処理では、自走ロボット８０のロボットコントローラ８２は、ロボットコントローラ６０と同様に扱われることになる。
【０１４４】
セルコントローラ５０は、指示装置２０から指示された作業が完了したか否かを判定する（Ｓ２３）。作業が完了したと判定されない場合（Ｓ２３；Ｎ）、Ｓ２１の処理に戻り、作業が継続される。一方、作業が完了したと判定された場合（Ｓ２３；Ｙ）、セルコントローラ５０は、自走ロボット８０に対し、自身のセルからの離脱指示を送信する（Ｓ２４）。離脱指示は、セルからの離脱の指示であり、所定形式のデータが送信されることによって行われる。その後、セルコントローラ５０は、図９に示すＳ９の処理に移行し、指示装置２０に対し、作業完了通知を送信する。
【０１４５】
自走ロボット８０は、離脱指示を受信すると、通信機器７３と、自身の有線通信部８５Ｂと、の有線接続を解除し（Ｓ２５）、自身の無線通信部８５Ａを利用した無線接続に切り替える（Ｓ２６）。Ｓ２６においては、自走ロボット８０は、センサ９４の検出信号と、カメラ９５により撮影された画像又は動画と、に基づいて、通信機器７３の位置を特定し、自身の有線通信部８５Ｂの接続を解除する。接触式の通信機器７３であれば、通信機器７３から有線通信部８５Ｂを離すことによって、接続が解除される。
【０１４６】
図１１に移り、セルコントローラ５０は、情報収集タイミングが訪れたか否かを判定する（Ｓ２７）。情報収集タイミングは、情報収集装置３０に対し、トレースデータ等の情報を提供するタイミングである。情報収集タイミングが訪れたと判定されない場合（Ｓ２７；Ｎ）、トレースデータ等は送信されない。一方、情報収集タイミングが訪れたと判定された場合（Ｓ２７；Ｙ）、セルコントローラ５０は、情報収集装置３０に対し、記憶部５２に記録したトレースデータ等を送信する（Ｓ２８）。
【０１４７】
情報収集装置３０は、トレースデータ等を受信すると、記憶部３２に記録し（Ｓ２９）、シミュレーション装置４０に対し、シミュレーションの実行要求を送信する（Ｓ３０）。実行要求は、記憶部３２に記録された情報に基づくシミュレーションを実行するための要求であり、所定形式のデータが送信されることによって行われる。実行要求には、シミュレーションの対象となるトレースデータとその時の指示内容とが含まれるものとする。
【０１４８】
シミュレーション装置４０は、実行要求を受信すると、シミュレーションを実行する（Ｓ３１）。Ｓ３１においては、シミュレーション装置４０は、指示装置２０からの指示内容をシミュレータに入力し、シミュレーション結果を取得する。
【０１４９】
シミュレーション装置４０は、シミュレーション結果と、トレースデータが示す実際の作業結果と、を比較して、これらの乖離が閾値以上であるか否かを判定する（Ｓ３２）。乖離が閾値以上であると判定された場合（Ｓ３２；Ｙ）、情報収集装置３０は、作業プログラムの変更等の処理を実行する（Ｓ３３）。
【０１５０】
以上説明した処理は、次の作業のスケジュールが無くなるまで実行される。図９に示すＳ１１において、次の作業のスケジュールがあると判定されない場合（Ｓ１１；Ｎ）、その日の全ての作業が完了したことになるので、本処理は終了する。
【０１５１】
実施形態１の生産システムＳによれば、自走式の自走ロボット８０が次の場所に到着する前に、自走ロボット８０に次の作業の準備を開始させることによって、次の作業を早く開始できるので、生産システムＳにおける生産効率を向上させることができる。例えば、自走ロボット８０が次の場所に到着してから次の作業の準備を開始したとすると、当該次の場所におけるロボットコントローラ６０は、準備完了まで待機する必要がある。実施形態１の生産システムＳによれば、このような待機時間を無くす又は短縮することができるので、生産効率を向上させることができる。
【０１５２】
また、生産システムＳは、次の場所に向けて自走ロボット８０が移動している間に、次の作業の準備をさせることによって、より早い段階で作業の準備をさせ、生産システムＳにおける生産効率を効果的に高めることができる。
【０１５３】
また、生産システムＳは、次の場所の準備として、次の作業で使用するデータをダウンロードさせることによって、次の作業で使用するデータが自走ロボット８０に記録されていなかったとしても、より早い段階でデータをダウンロードし、生産システムＳにおける生産効率を向上させることができる。また、自走ロボット８０がその日に行う全ての作業のデータを予め記録させておくと、メモリ消費量が増大するが、次の場所に到着する前にダウンロードさせることにより、メモリ消費量を軽減することができる。
【０１５４】
また、生産システムＳは、自走ロボット８０が次の場所に向けて移動している間は、自走ロボット８０に無線通信をさせ、次の場所に自走ロボット８０が到着した場合に、自走ロボット８０に、有線通信用の通信機器７３を介して有線通信をさせることによって、その時の状況に応じた方式で通信させることができる。例えば、自走ロボット８０が次の場所で作業をするときには、安定した有線通信によって作業をさせることができる。また例えば、自走ロボット８０が次の場所に向けて移動している間は、無線通信をさせることにより、次の場所の作業の準備をさせることができる。また例えば、自走ロボット８０が次の場所に向けて移動している間に有線通信をさせると、ケーブルが邪魔になり移動に支障をきたす可能性があるが、移動中は無線通信に切り替えることで、自走ロボット８０の移動に支障をきたす可能性を低減することができる。また例えば、自走ロボット８０が作業を開始する場合に有線通信に切り替えることで、トレースデータの時間軸をセルコントローラ５０等の他の装置と合わせることができる。これにより、自走ロボット８０のトレースデータが示す個々の状態がいつの時点のものなのかを特定することができる。
【０１５５】
また、生産システムＳは、ＡＧＶ部８９とロボット８６を有する自走ロボット８０が次の場所に到着する前に、次の作業の準備をさせることによって、生産システムＳにおける生産効率を向上させることができる。
【０１５６】
［２．実施形態２］
次に、生産システムＳの別実施形態（以降、実施形態２）を説明する。実施形態１で説明したように、自走ロボット８０が移動した次のセルには、そのセルに属する固定式のロボット７０が配置されている。次の場所の作業では、自走ロボット８０とロボットコントローラ６０を同期して作業をさせなければ、これらが互いに接触する等して作業に支障をきたすことがある。このため、実施形態２の生産システムＳは、自走ロボット８０が次の場所に到着した場合に、これらを同期させるようにしている。
【０１５７】
図１２は、実施形態２の機能ブロック図である。図１２に示すように、実施形態２では、実施形態１で説明した機能に加えて、自走ロボット８０で同期制御部８０５が実現される。例えば、同期制御部８０５は、ロボットコントローラ８２のＣＰＵ８３を主として実現される。同期制御部８０５は、次の場所に自走ロボット８０が到着した場合に、自走ロボット８０とロボットコントローラ６０とを同期させる。
【０１５８】
同期とは、ある産業装置の動作と他の産業装置の動作を連携させることである。別の言い方をすれば、同期は、ある産業装置が他の産業装置の状態を検出し、他の産業装置の状態に応じた動作をすることである。同期は、同期制御と呼ばれることもあり、同期通信によって実現されてもよい。他の産業装置が所定の状態になるまで待機することも同期に相当する。
【０１５９】
同期制御部８０５は、固定式のロボット７０の動作に応じて、自走ロボット８０を動作させる。例えば、同期制御部８０５は、固定式のロボット７０と一定の距離を置くように（ロボット７０と接触しないように）、自走ロボット８０を動作させる。また例えば、同期制御部８０５は、固定式のロボット７０が作業対象物を把持している場合に、自走ロボット８０のロボットハンドが作業対象物に近づくように動作させる。また例えば、同期制御部８０５は、自走ロボット８０が作業対象物を把持している場合に、作業対象物が固定式のロボット７０に近づくように動作させる。
【０１６０】
例えば、同期制御部８０５は、取得制御部８０５Ａを含む。取得制御部８０５Ａは、次の場所に自走ロボット８０が到着した場合に、ロボットコントローラ６０が制御するロボット７０の状態に関する情報、次の場所における作業対象物の状態に関する情報、及び次の場所における周辺機器の検出情報の少なくとも１つを、自走ロボット８０に取得させる。
【０１６１】
ロボット７０の状態に関する情報とは、ロボット７０の位置、姿勢、向き、及び速度の少なくとも１つの情報である。ロボット７０を制御するロボットコントローラ６０が実行するジョブも、ロボット７０の状態に関する情報の一例である。例えば、センサ７１又はカメラ７２によって検出される情報（センシングデータ、画像、又は動画）についても、ロボット７０の状態に関する情報の一例である。
【０１６２】
作業対象物の状態に関する情報とは、作業対象物の形状、位置、姿勢、向き、及び速度の少なくとも１つの情報である。この情報は、センサ７１又はカメラ７２によって検出される。周辺機器とは、ロボットコントローラ６０やロボット７０以外の機器であり、例えば、センサ７１及びカメラ７２の少なくとも一方である。例えば、周辺機器の検出情報は、温度センサやトルクセンサ等により検出された物理量である。
【０１６３】
上記説明した情報は、同期に必要な情報である。取得制御部８０５Ａは、これらの全ての情報を自走ロボット８０に取得させてもよいし、何れか１つ又は２つだけを自走ロボット８０に取得させてもよい。本実施形態では、セルコントローラ５０がこの情報を送信する場合を説明するが、情報収集装置３０等の他の装置がこの情報を送信してもよい。ロボットコントローラ６０も同期に必要な情報を取得する。
【０１６４】
なお、上記説明した情報に対応する自走ロボット８０の行動を示すプログラムは、記憶部８４に記憶されているものとする。このプログラムは、ロボット７０との同期に必要なプログラムである。このプログラムは、移動中の無線通信によって取得されてもよいし、セルに到着した後の有線通信によって取得されてもよい。自走ロボット８０は、このプログラムに基づいて、取得された情報に応じた行動を取ることによって、ロボット７０と同期することができる。
【０１６５】
例えば、自走ロボット８０は、自身のロボット８６のロボットアームの付近に他のロボット７０のロボットアームがある場合に、そのロボット７０のロボットアームから遠ざかるように、自身のロボット８６を制御する。また例えば、自走ロボット８０は、作業対象物が所定の状態に達していない場合には、他のロボット７０の作業が終了するまで待機する。また例えば、自走ロボット８０は、センサ７１によって検出された物理量に応じて自身の作業内容を変更してもよい。また例えば、自走ロボット８０は、カメラ７２によって検出された作業対象物の状態又は他のロボット７０の状態に応じて自身の作業内容を変更してもよい。
【０１６６】
実施形態２の生産システムＳによれば、次の場所に自走ロボット８０が到着した場合に、自走ロボット８０とロボットコントローラ６０とを同期させることによって、自走式の自走ロボット８０をロボットコントローラ６０と同期させ、生産システムＳの生産効率を高めることができる。また、自走式の自走ロボット８０とロボットコントローラ６０と同期させることによって、これらが作業中に接触する等によって、互いの作業の邪魔になることを防止できる。
【０１６７】
また、生産システムＳは、次の場所に自走ロボット８０が到着した場合に、ロボットコントローラ６０の状態に関する情報、次の場所における作業対象物の状態に関する情報、及び次の場所における周辺機器により検出された情報の少なくとも１つを、自走ロボット８０に取得させることにより、生産システムＳの生産効率を高めることができる。例えば、自走式の自走ロボット８０にロボットコントローラ６０の状態を提供することによって、ロボットコントローラ６０の作業の邪魔になることを防止できる。また例えば、次の場所における作業対象物の状態を提供することによって、次の場所における自走ロボット８０の作業精度を上げることができる。また例えば、次の場所における周辺機器の検出情報を自走ロボット８０に提供することによって、次の場所における作業効率を上げることができる。
【０１６８】
なお、実施形態２の生産システムＳは、実施形態１の機能を有していなくてもよい。例えば、生産システムＳは、実施形態１で説明した移動中の準備を自走ロボット８０にさせることなく、自走ロボット８０が次のセルに到着した場合に、そのセルの他のロボット７０と同期させる処理を実行してもよい。この場合、自走ロボット８０は、次のセルにおける作業の準備を次のセルに到着してから行ってもよい。
【０１６９】
［３．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１７０】
図１３は、変形例の機能ブロック図である。図１３に示すように、以降説明する変形例では、実施形態１で説明した機能に加えて、前後準備制御部５０３、第２準備制御部８０３Ｃ、第３準備制御部８０３Ｄ、装着制御部８０３Ｅ、第４準備制御部８０３Ｆ、第２作業制御部８０４Ｂ、判定部８０６、設定部８０７、及び送信制御部８０８が実現される。なお、図１３では、実施形態２で説明した同期制御部８０５は省略するが、以降の変形例でも同期制御部８０５が実現されてもよい。
【０１７１】
（１）例えば、自走ロボット８０が次の作業の準備をするタイミングは、実施形態１及び２で説明したような移動中に限られない。図３〜図６の例であれば、自走ロボット８０がセルＹにおける作業が完了した場合に、次のセルＸにおける作業の準備が開始されてもよい。
【０１７２】
本変形例の生産システムＳでは、判定部８０６が実現される。判定部８０６は、ＣＰＵ８３を主として実現される。判定部８０６は、自走ロボット８０の現在の作業が完了したか否かを判定する。現在の作業とは、自走ロボット８０が現在いるセルにおける作業である。現在の作業は、このセルで自走ロボット８０が行う作業を意味してもよいし、このセル全体の作業を意味してもよい。例えば、現在の作業が完了した場合に、セルコントローラ５０が、自走ロボット８０に対し、所定の作業完了通知を送信するのであれば、判定部８０６は、作業完了通知を受信したか否かを判定する。作業完了通知を受信することは、現在の作業が完了したことを意味する。
【０１７３】
本変形例の準備制御部８０３は、第２準備制御部８０３Ｃを含む。第２準備制御部８０３Ｃは、現在の作業が完了したと判定された場合に、自走ロボット８０に次の作業の準備をさせる。第２準備制御部８０３Ｃは、現在の作業が完了したことを条件として、自走ロボット８０に次の作業の準備をさせる。第２準備制御部８０３Ｃは、現在の作業が完了していない場合には、自走ロボット８０に次の作業の準備をさせず、現在の作業が完了した場合に、次の作業の準備を許可する。自走ロボット８０の準備方法自体は、実施形態１で説明した通りである。
【０１７４】
変形例（１）によれば、自走ロボット８０の現在の作業が完了したと判定された場合に、次の作業の準備をさせることによって、より早い段階で作業の準備を開始させ、生産システムＳにおける生産効率を効果的に高めることができる。
【０１７５】
（２）また例えば、図３〜図６の例において、自走ロボット８０がセルＹにおける作業が完了し、次のセルＸに向けた移動が指示された場合に、次の作業の準備が開始されてもよい。
【０１７６】
本変形例の準備制御部８０３は、第３準備制御部８０３Ｄを含む。第３準備制御部８０３Ｄは、次の場所への移動が指示された場合に、自走ロボット８０に次の作業の準備をさせる。第３準備制御部８０３Ｄは、次の場所への移動が指示されたことを条件として、自走ロボット８０に次の作業の準備をさせる。第３準備制御部８０３Ｄは、次の場所への移動が指示されていない場合には、自走ロボット８０に次の作業の準備をさせず、次の場所への移動が指示された場合に、次の作業の準備を許可する。自走ロボット８０の準備方法自体は、実施形態１で説明した通りである。
【０１７７】
変形例（２）によれば、次の場所への移動が指示された場合に、次の作業の準備をさせることによって、より早い段階で作業の準備をさせ、生産システムＳにおける生産効率を効果的に高めることができる。
【０１７８】
（３）例えば、実施形態１及び２では、自走ロボット８０の準備の一例として、データのダウンロードを説明したが、先述したように、準備は、物理的な準備であってもよい。例えば、自走ロボット８０のロボット８６のロボットハンドが着脱可能な場合に、次の作業の準備として、次の作業で必要なロボットハンドに付け替えさせてもよい。
【０１７９】
本変形例の準備制御部８０３は、装着制御部８０３Ｅを含む。装着制御部８０３Ｅは、次の場所の準備として、自走ロボット８０に、次の作業で使用する機器を装着させる。機器とは、自走ロボット８０に装着可能であり、かつ、作業で使用可能な機器であればよい。例えば、機器は、いわゆるエンドエフェクタである。機器は、任意の種類の機器であってよく、ロボットハンドに限られない。例えば、機器は、はんだごてなどの工具、工作機械、センサ、又はカメラであってもよい。
【０１８０】
なお、機器の装着自体は、種々の手法によって実現可能である。例えば、装着制御部８０３Ｅは、センサ８７又はカメラ８８によって装着する機器を検出し、ロボット８６の先端等の所定の位置に装着させるようにすればよい。機器は、自走ロボット８０の台車の上等に配置されていてもよいし、施設内の所定の場所に配置されており自走ロボット８０に取りに行かせてもよい。例えば、装着制御部８０３Ｅは、現時点でロボット８６に装着されている機器を取り外し、次の作業で使用する機器を装着させる。取り外された機器は、自走ロボット８０の台車の上等に配置されてもよいし、自走ロボット８０を所定の場所に移動させてその場所に配置してもよい。
【０１８１】
本変形例の作業制御部８０４は、第２作業制御部８０４Ｂを含む。第２作業制御部８０４Ｂは、次の場所に自走ロボット８０が到着し、かつ、機器の装着が完了した場合に、自走ロボット８０に次の作業をさせる。第２作業制御部８０４Ｂは、次の場所に自走ロボット８０が到着すること、及び、機器の装着が完了することを条件として、自走ロボット８０に次の作業をさせる。装着された機器が使用されるという点で実施形態１及び２と異なるだけであり、作業の制御方法自体は、実施形態１及び２で説明した通りである。
【０１８２】
変形例（３）によれば、次の場所の準備として、次の作業で使用する機器を装着させることによって、次の作業で使用する機器が自走ロボット８０に装着されていなかったとしても、より早い段階で機器を装着させ、生産システムＳにおける生産効率を向上させることができる。
【０１８３】
（４）また例えば、自走ロボット８０が次の場所に到着する前に、その場所のロボットコントローラ６０と固定式のロボット７０に準備をさせてもよい。図３〜図６の例であれば、自走ロボット８０がセルＹに到着する前に、セルＹのロボットコントローラ６０と固定式のロボット７０Ｄ，７０Ｅに準備をさせてもよい。同様に、自走ロボット８０がセルＸに到着する前に、セルＸのロボットコントローラ６０と固定式のロボット７０Ａ〜７０Ｃに準備をさせてもよい。
【０１８４】
本変形例の準備制御部８０３は、前後準備制御部５０３を含む。前後準備制御部５０３は、ＣＰＵ５１を主として実現される。前後準備制御部５０３は、自走ロボット８０が次の場所に到着する前に、ロボットコントローラ６０に、次の作業の前又は後に行われる作業の準備をさせる。次の作業の前又は後に行われる作業とは、自走ロボット８０が次の場所で行う作業の前工程又は後工程の作業である。別の言い方をすれば、次の作業の前又は後に行われる作業は、自走ロボット８０と協力して固定式のロボット７０が行う作業である。
【０１８５】
なお、次の場所に到着する前、及び、準備の意味は、実施形態１で説明した通りである。例えば、ロボットコントローラ６０に電子的な準備をさせる場合には、前後準備制御部５０３は、次の作業の前又は後の作業で必要なデータをロボットコントローラ６０に送信する。また例えば、ロボットコントローラ６０に物理的な準備をさせる場合には、前後準備制御部５０３は、ロボット７０のロボットアーム等の機器を付け替えさせる。これらの準備自体は、自走ロボット８０の準備と同じである。
【０１８６】
変形例（４）によれば、次の場所に自走ロボット８０が到着する前に、その場所にいるロボットコントローラ６０に準備をさせることによって、次の作業を早く開始できるので、生産システムＳにおける生産効率を向上させることができる。例えば、自走式の自走ロボット８０が次の場所に到着してから、ロボットコントローラ６０が準備を開始したとすると、全ての自走ロボット８０の準備が完了するまで作業を開始することができないが、このような待機時間を無くす又は短縮することができるので、生産効率を向上させることができる。
【０１８７】
（５）また例えば、自走ロボット８０が次の場所に到着したとしても、その場所に想定通りの位置や向きで停車しない可能性がある。この場合、自走ロボット８０がダウンロードしたデータに基づいて次の作業をしようとしても微妙な誤差が発生し、次の作業に支障をきたす可能性がある。このため、自走ロボット８０が次の場所に到着したときの状態に基づいて、誤差を補正するためのキャリブレーションが実行されてもよい。
【０１８８】
本変形例の生産システムＳでは、設定部８０７が実現される。設定部８０７は、ロボットコントローラ８２のＣＰＵ８３を主として実現される。設定部８０７は、次の場所に自走ロボット８０が到着した場合に、自走ロボット８０の現在の位置及び向きの少なくとも一方に基づいて、次の作業の設定を行う。本変形例では、位置及び向きの両方が利用される場合を説明するが、これらの何れか一方のみが利用されてもよい。
【０１８９】
例えば、セル内の通信機器７３の付近に、基準となるマークが配置される。設定部８０７は、カメラ８８でマークを検出し、マークに対する相対的な位置及び向きのずれ（本来いるべき位置や本来向くべき向きとのずれ）を特定する。設定データは、位置及び向きのずれがないものとして作成されているので、設定部８０７は、特定したずれの分だけ設定データを補正する。例えば、設定部８０７は、当該ずれに基づいて、制御用座標系の基準位置合わせを行う。また例えば、設定部８０７は、設定データが示すティーチングデータを、特定したずれの分だけ補正してずれを吸収させる。
【０１９０】
変形例（５）によれば、次の場所に自走式の自走ロボット８０が到着した場合に、現在の位置及び向きの少なくとも一方に基づいて、次の作業の設定を行うことによって、作業精度を高めることができる。例えば、自走ロボット８０の位置及び向きのずれがなくなるように自走ロボット８０を移動させることも考えられるが、移動に時間がかかるので、キャリブレーションによって補正する方がより早く作業を開始することができる。
【０１９１】
（６）また例えば、自走ロボット８０が次の作業の準備をするタイミングは、指示装置２０により次の場所への移動が指示された場合であってもよい。実施形態１及び２で説明したように、指示装置２０は、生産計画のスケジューリングを行うスケジュール装置１０と通信可能に接続され、スケジューリングに基づいて個々の作業の指示を行う。生産計画は、生産システムＳにおける全体的な計画である。例えば、生産計画は、生産すべき製品、その数、及び作業期間の少なくとも１つを示す。生産計画は、スケジュールデータに示された内容である。
【０１９２】
なお、本変形例においても、セルコントローラ５０の送信部５０２は、ロボット７０，８４の現在の作業が完了した場合に、指示装置２０に対し、所定の作業完了通知を送信する。指示装置２０の受信部２０２は、作業完了通知を受信すると、自走ロボット８０に次の場所への移動を指示する。これらの流れは、図９及び図１０で説明した通りである。
【０１９３】
本変形例の準備制御部８０３は、第４準備制御部８０３Ｆを含む。第４準備制御部８０３Ｆは、指示装置２０により次の場所への移動が指示された場合に、自走ロボット８０に次の作業の準備をさせる。第４準備制御部８０３Ｆは、次の場所への移動が指示されたことを条件として、自走ロボット８０に次の作業の準備をさせる。第４準備制御部８０３Ｆは、次の場所への移動が指示されていない場合には、自走ロボット８０に次の作業の準備をさせず、次の場所への移動が指示された場合に、次の作業の準備を許可する。自走ロボット８０の準備方法自体は、実施形態１及び２で説明した通りである。
【０１９４】
変形例（６）によれば、スケジュール装置１０に生産計画のスケジューリングをさせ、指示装置２０に具体的な作業指示をさせることにより、生産システムＳにおける各装置の役割分担をすることができ、生産システムＳを効率化することができる。
【０１９５】
（７）また例えば、自走ロボット８０が次の場所に到着した場合に、自走ロボット８０に、情報収集装置３０に対し、自身に関する情報を送信させてもよい。
【０１９６】
本変形例の生産システムＳは、送信制御部８０８を含む。送信制御部８０８は、ロボットコントローラ８２のＣＰＵ８３を主として実現される。送信制御部８０８は、次の場所に自走ロボット８０が到着した場合に、情報収集装置３０に対し、自走ロボット８０に関する情報を送信させる。送信制御部８０８は、次の場所に自走ロボット８０が到着したことを条件として、情報収集装置３０に対し、自走ロボット８０に関する情報を送信させる。実施形態１及び２で説明したように、次の場所に自走ロボットが到着した場合には有線通信に切り替わるので、送信制御部８０８は、有線通信を利用して、自走ロボット８０に関する情報を送信させる。
【０１９７】
自走ロボット８０に関する情報は、任意の情報であってよく、例えば、自走ロボット８０の名前やＩＰアドレス、自走ロボット８０が有する機能、自走ロボット８０に蓄積されたトレースデータ、センサ８７，９４により検出された情報、カメラ８８，９５で撮影された画像若しくは動画、又は自走ロボット８０の現在の状態である。現在の状態とは、自走ロボット８０の位置、姿勢、バッテリー残量などである。情報収集装置３０に送信される情報は、これらの例に限られず、任意の情報が送信されてもよい。
【０１９８】
変形例（７）によれば、次の場所に自走ロボット８０が到着した場合に、情報収集装置に対し、自走ロボット８０に関する情報を送信させることにより、例えば自走ロボット８０の動作状態の解析に活用し、生産効率を高めることができる。
【０１９９】
（８）また例えば、上記変形例を組み合わせてもよい。
【０２００】
また例えば、自走ロボット８０は、実施形態１及び２で説明した機能を有さずに、通信を切り替える機能を有してもよい。即ち、自走ロボット８０は、移動中における次のセルの準備と、次のセルへの到着後の同期と、を実行せずに、移動中に無線通信を行い、次のセルへの到着後に有線通信に切り替えてもよい。例えば、自走ロボット８０は、移動中に無線通信によってトレースデータを情報収集装置３０に送信し、次のセルに到着した場合に有線通信に切り替えてもよい。
【０２０１】
また例えば、指示装置２０が移動指示を行う場合を説明したが、移動指示は、他のコンピュータによって行われてもよい。例えば、その日の走行計画をＡＧＶコントローラ９０に予め記録させておく場合には、自走ロボット８０は、当該走行計画に基づいて、セルへの移動タイミングを判定してもよい。
【０２０２】
また例えば、自走ロボット８０のロボット部８１とＡＧＶ部８９の各々に通信機能を持たせる場合を説明したが、何れか一方のみに通信機能を持たせてもよい。例えば、ロボット部８１のみに通信機能を持たせておき、ＡＧＶ部８９は、ロボット部８１を介して移動指示を受信してもよい。また例えば、ＡＧＶ部８９のみに通信機能を持たせておき、ロボット部８１は、ＡＧＶ部８９を介して移動指示を受信してもよい。
【０２０３】
また例えば、十分信頼できる無線通信を利用可能なのであれば、自走ロボット８０は、無線通信と有線通信を切り替える機能を有さなくてもよい。例えば、自走ロボット８０は、無線通信によってセルコントローラ５０と通信し、次の作業を実行してもよい。この場合、自走ロボット８０は、有線通信の機能を有さずに、無線通信が常時行われてもよい。これとは逆に、自走ロボット８０の移動の際に通信ケーブルが邪魔にならないのであれば、自走ロボット８０は、有線通信によって次のセルの準備をしてもよい。この場合、自走ロボット８０は、無線通信の機能を有さずに、有線通信が常時行われてもよい。
【０２０４】
また例えば、自走ロボット８０がどのセルにも自由に移動可能な場合を説明したが、自走ロボット８０が担当するセルが決められていてもよい。例えば、ある自走ロボット８０はセルＸ，Ｙを担当し、他の自走ロボット８０は他のセルを担当するといったようにしてもよい。また例えば、自走ロボット８０は、ある１つのセル内を移動してもよい。この場合、自走ロボット８０は、ある１つのセルの作業を完了した後に、そのセルで行われる後工程の作業場所に移動し、当該後工程を実行する。その際には、実施形態１で説明した処理によって移動中に後工程の準備が実行されてもよいし、実施形態２で説明した処理によって移動後に同期が行われてもよい。
【０２０５】
また例えば、多品種少量生産の場面を例に挙げて生産システムＳの処理を説明したが、生産システムＳは、他の任意の場面に適用可能である。例えば、生産システムＳは、同一品種大量生産の場面にも適用可能である。この場合、上記説明した処理と同様の処理が実行されることによって、自走ロボット８０がセル間を移動して作業をすればよい。例えば、あるセルの固定式のロボット７０に障害が発生した場合に、そのロボット７０の代わりに作業をするために、自走ロボット８０がそのセルに移動してもよい。
【０２０６】
また例えば、固定式のロボット７０がセルに配置される場合を説明したが、セルに配置されるロボット７０は、多少は移動してもよい。例えば、ロボット７０は、セル内に設けられたレールの上を移動してもよい。
【０２０７】
また例えば、図９のＳ１の処理では、スケジュール装置１０がその日のスケジュールを指示装置２０に送信する場合を説明したが、スケジュール装置１０は、その日の一部のスケジュールだけを指示装置２０に送信してもよい。この場合、指示装置２０は、当該一部のスケジュールが完了したことを確認すると、スケジュール装置１０に対し、その旨を通知する。スケジュール装置１０は、通知を受信すると、スケジュールデータを参照し、次のスケジュールの有無を確認する。スケジュール装置１０は、次のスケジュールが存在すると判定した場合、指示装置２０に対し、当該次のスケジュールの大まかな作業内容を送信する。以降、図９のＳ２以降の処理が実行され、次のスケジュールの作業が行われる。スケジュール装置１０は、次のスケジュールが存在しないと判定した場合、その日の作業が全て完了したことになるので、処理を終了すればよい。例えば、指示装置２０は、作業ごとに、スケジュール装置１０に作業完了通知を送信し、次の作業のスケジュールを受信してもよい。
【０２０８】
また例えば、生産システムＳには、自走ロボット８０だけで構成されるセルが存在してもよい。この場合、複数の自走ロボット８０の各々が集結して作業を実行する。例えば、各自走ロボット８０は、実施形態１で説明した処理を実行し、セルに割り当てられた作業スペースに到着する前に、このセルで行う作業の準備をする。また例えば、各自走ロボット８０は、実施形態２で説明した処理を実行し、セルに到着した後に、他の自走ロボット８０と同期する。このセルの作業スペースには、セルコントローラ５０が配置されていてもよいし、特にセルコントローラ５０は配置されなくてもよい。同様に、この作業スペースには、通信機器７３が配置されていてもよいし、特に通信機器７３は配置されなくてもよい。このセルにおける作業が終了した場合には、各自走ロボット８０は次の作業に向かうので、セルは消滅することになる。更に、このセルは、１台の自走ロボット８０だけで構成されてもよい。
【０２０９】
また例えば、自走ロボット８０で主な機能が実現される場合を説明したが、自走ロボット８０で実現されるものとして説明した機能は、他の装置で実現されてもよい。例えば、移動制御部８０１、通信制御部８０２、及び準備制御部８０３の各々は、指示装置２０又は他の装置によって実現されてもよい。また例えば、作業制御部８０４は、セルコントローラ５０又は他の装置によって実現されてもよい。また例えば、同期制御部８０５は、セルコントローラ５０又は他の装置によって実現されてもよい。他の機能についても同様に、生産システムＳにおける何れかの装置によって実現されるようにすればよい。また例えば、生産システムＳ内に記憶されるものとして説明したデータは、他のシステムから取得されてもよい。また例えば、生産システムＳの構成は、図１の例に限られない。生産システムＳは、少なくとも１台の自走ロボット８０を含めばよい。
【０２１０】
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【０２１１】
Ｓ  生産システム、１０  スケジュール装置、１１，２１，３１，４１，５１，６１，８３，９１  ＣＰＵ、１２，２２，３２，４２，５２，６２，８４，９２  記憶部、１３，２３，３３，４３，５３，６３，８５，９３  通信部、２０  指示装置、３０  情報収集装置、４０  シミュレーション装置、５０  セルコントローラ、６０  ロボットコントローラ、７０  ロボット、７１，８７，９４  センサ、７２，８８，９５  カメラ、７３  通信機器、８０  自走ロボット、８１  ロボット部、８２  ロボットコントローラ、８４  無線通信部、８５Ａ  無線通信部、８５Ｂ  有線通信部、８６  ロボット、８９  ＡＧＶ部、９０  コントローラ、９６  モータ、９７  タイヤ、９８  バッテリー、１００  データ記憶部、１０１  スケジュール制御部、２００  データ記憶部、２０１  指示部、２０２  受信部、３００  データ記憶部、３０１  情報収集部、４００  データ記憶部、４０１  シミュレーション実行部、５００  データ記憶部、５０１  セル制御部、５０２  送信部、５０３  前後準備制御部、６００  データ記憶部、６０１  作業制御部、８００  データ記憶部、８００Ａ  第１データ記憶部、８００Ｂ  第２データ記憶部、８０１  移動制御部、８０２  通信制御部、８０３  準備制御部、８０３Ａ  第１準備制御部、８０３Ｂ  ダウンロード制御部、８０３Ｃ  第２準備制御部、８０３Ｄ  第３準備制御部、８０３Ｅ  装着制御部、８０３Ｆ  第４準備制御部、８０４  作業制御部、８０４Ａ  第１作業制御部、８０４Ｂ  第２作業制御部、８０５  同期制御部、８０５Ａ  取得制御部、８０６  判定部、８０７  設定部、８０８  送信制御部。
【要約】
【課題】生産システムにおける生産効率を向上させる。
【解決手段】生産システム（Ｓ）は、自走式の産業装置（８０）を含む。準備制御部（８０３）は、産業装置（８０）が次の場所に到着する前に、産業装置（８０）に次の作業の準備をさせる。作業制御部（８０３）は、産業装置（８０）が次の場所に到着し、かつ、次の作業の準備が完了した場合に、産業装置（８０）に次の作業をさせる。
【選択図】図７【図１】
0006825686.tif 000002
【図２】
0006825686.tif 000003
【図３】
0006825686.tif 000004
【図４】
0006825686.tif 000005
【図５】
0006825686.tif 000006
【図６】
0006825686.tif 000007
【図７】
0006825686.tif 000008
【図８】
0006825686.tif 000009
【図９】
0006825686.tif 000010
【図１０】
0006825686.tif 000011
【図１１】
0006825686.tif 000012
【図１２】
0006825686.tif 000013
【図１３】
0006825686.tif 000014