(57)【要約】【課題】複数のロボットが複数の工程を実行するために要する時間を短縮できる計画作成装置を提供する。【解決手段】計画作成装置は、複数の工程を分担して実行する複数のロボットにおける行動計画を作成する。計画作成装置は、情報取得ユニットと、制約記憶ユニットと、状況推定ユニットと、候補抽出ユニットと、待ち時間算出ユニットと、次工程決定ユニットと、を備える。候補抽出ユニットは、前記複数の工程から、前記第１ロボットが前記第１工程の次に実行可能な次工程候補を抽出する。待ち時間算出ユニットは、前記第１工程の完了時点から、前記次工程候補の開始時点までの待ち時間を算出する。次工程決定ユニットは、前記待ち時間が最小となる前記次工程候補を、前記第１ロボットが前記第１工程の次に実行する工程とする。【選択図】図１
2019197367.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程を分担して実行する複数のロボットにおける行動計画を作成するように構成された計画作成装置であって、
前記複数のロボットのそれぞれから、前記工程の実行状況を表す実行情報を取得するように構成された情報取得ユニットと、
前記複数の工程に属する工程間の、実行に関する制約を記憶した制約記憶ユニットと、
前記複数のロボットのうちの１つである第１ロボットが、前記複数の工程のうちの１つである第１工程を完了した時点において、前記複数のロボットのうち、前記第１ロボット以外のロボットである第２ロボットが実行中の工程である第２工程の種類と、前記第２工程が完了するまでの予測時間とを、前記実行情報に基づき推定する状況推定ユニットと、
前記複数の工程から、前記第１ロボットが前記第１工程の次に実行可能な工程である次工程候補を抽出する候補抽出ユニットと、
前記候補抽出ユニットが抽出した前記次工程候補のそれぞれについて、前記第１工程の完了時点から、前記次工程候補の開始時点までの待ち時間を、前記第２工程の種類と、前記第２工程が完了するまでの予測時間と、前記制約とに基づき算出するように構成された待ち時間算出ユニットと、
前記次工程候補のうち、前記待ち時間が最小となる前記次工程候補を、前記第１ロボットが前記第１工程の次に実行する工程とするように構成された次工程決定ユニットと、
を備える計画作成装置。
【請求項２】
請求項１に記載の計画作成装置であって、
前記待ち時間算出ユニットが算出した前記待ち時間のうちの最小値が、予め設定された閾値以上であるか否かを判断する待ち時間判断ユニットと、
前記最小値が前記閾値以上であると前記待ち時間判断ユニットが判断した場合、前記複数の工程の少なくとも一部の工程をさらに分割する工程分割ユニットと、
をさらに備え、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記候補抽出ユニットは、分割後の前記複数の工程から前記次工程候補を抽出し、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記待ち時間算出ユニットは、分割後の前記複数の工程から抽出された前記次工程候補のそれぞれについて、前記待ち時間を算出し、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記次工程決定ユニットは、分割後の前記複数の工程から抽出された前記次工程候補のうち、前記待ち時間が最小となる前記次工程候補を、前記第１ロボットが前記第１工程の次に実行する工程とする計画作成装置。
【請求項３】
複数の工程を分担して実行する複数のロボットにおける行動計画を作成するように構成された計画作成装置であって、
前記複数のロボットのそれぞれから、前記工程の実行状況を表す実行情報を取得するように構成された情報取得ユニットと、
前記複数の工程に属する工程間の、実行に関する制約を記憶した制約記憶ユニットと、
前記複数のロボットのうちの１つである第１ロボットが、前記複数の工程のうちの１つである第１工程を完了した時点において、前記複数のロボットのうち、前記第１ロボット以外のロボットである第２ロボットが実行中の工程である第２工程の種類と、前記第２工程が完了するまでの予測時間とを、前記実行情報に基づき推定する状況推定ユニットと、
前記第１ロボットが前記第１工程の次に実行可能な少なくとも１つの工程である第１の次工程候補と、前記第２ロボットが前記第２工程の次に実行可能な少なくとも１つの工程である第２の次工程候補と、から構成される次工程候補群を前記複数の工程から抽出する候補抽出ユニットと、
前記次工程候補群のそれぞれについて、前記第１工程の完了時点から前記第１の次工程候補の完了時点までにおける前記第１ロボットの待ち時間と、前記第２工程の完了時点から前記第２の次工程候補の完了時点までにおける前記第２ロボットの待ち時間との合計待ち時間を、前記第２工程の種類と、前記第２工程が完了するまでの予測時間と、前記制約とに基づき算出するように構成された待ち時間算出ユニットと、
前記工程候補群のうち、前記合計待ち時間が最小となる前記次工程候補群に含まれる前記第１の次工程候補を、前記第１ロボットが前記第１工程の次に実行する少なくとも１つの工程とするように構成された次工程決定ユニットと、
を備える計画作成装置。
【請求項４】
請求項３に記載の計画作成装置であって、
前記待ち時間算出ユニットが算出した前記合計待ち時間のうちの最小値が、予め設定された閾値以上であるか否かを判断する待ち時間判断ユニットと、
前記最小値が前記閾値以上であると前記待ち時間判断ユニットが判断した場合、前記複数の工程の少なくとも一部の工程をさらに分割する工程分割ユニットと、
をさらに備え、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記候補抽出ユニットは、分割後の前記複数の工程から前記次工程候補群を抽出し、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記待ち時間算出ユニットは、分割後の前記複数の工程から抽出された前記次工程候補群のそれぞれについて、前記合計待ち時間を算出し、
前記工程分割ユニットが前記少なくとも一部の工程をさらに分割した場合、前記次工程決定ユニットは、分割後の前記複数の工程から抽出された前記次工程候補群のうち、前記合計待ち時間が最小となる前記次工程候補群に含まれる前記第１の次工程候補を、前記第１ロボットが前記第１工程の次に実行する少なくとも１つの工程とする計画作成装置。
【請求項５】
請求項３又は４に記載の計画作成装置であって、
前記次工程決定ユニットが、前記第１工程の次に実行する工程として、工程Ａ、及び前記工程Ａに続いて実行される工程Ｂを決定し、前記工程Ａの完了時点から前記工程Ｂの開始時点までの推定待ち時間が予め設定された閾値以上であり、前記工程Ａが前記第１ロボットの移動を行う工程である場合、前記工程Ａにおいて前記第１ロボットを目標位置に移動させるときの経路を、前記目標位置に最短距離で移動させる経路に比べて、前記工程Ａが失敗した場合の目標位置寄りの経路とする経路設定ユニットをさらに備える計画作成装置。
【請求項６】
請求項１〜５のいずれか１項に記載の計画作成装置であって、
既成の行動計画を予め記憶するように構成された行動計画記憶ユニットと、
前記第１工程の実際の処理時間から、前記第１工程の標準処理時間を差し引いた差分を算出するように構成された差分算出ユニットと、
前記差分が予め設定された閾値未満であるか否かを判断する差分判断ユニットと、
をさらに備え、
前記差分が前記閾値未満であると判断した場合、前記次工程決定ユニットは、前記既成の行動計画に基づき、前記第１ロボットが前記第１工程の次に実行する工程を決定する計画作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は計画作成装置に関する。
【背景技術】
【０００２】
複数の工程を、複数のロボットで分担して実行するシステムが知られている。複数のロボットは、それぞれ、予め作成された行動計画に従って、割り当てられた工程を実行する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２８２３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工程の実行に要する時間は変動することがある。特許文献１に記載されているように、固定された行動計画を用いる場合、一部の工程の実行に要する時間が変動すると、工程と工程との間の待ち時間が長くなってしまうことがある。その結果、複数の工程を実行するために要する時間が長くなってしまう。
【０００５】
本開示は、複数のロボットが複数の工程を実行するために要する時間を短縮できる計画作成装置を提供する。
【課題を解決するための手段】
【０００６】
本開示の一局面は、複数の工程を分担して実行する複数のロボットにおける行動計画を作成するように構成された計画作成装置であって、前記複数のロボットのそれぞれから、前記工程の実行状況を表す実行情報を取得するように構成された情報取得ユニットと、前記複数の工程に属する工程間の、実行に関する制約を記憶した制約記憶ユニットと、前記複数のロボットのうちの１つである第１ロボットが、前記複数の工程のうちの１つである第１工程を完了した時点において、前記複数のロボットのうち、前記第１ロボット以外のロボットである第２ロボットが実行中の工程である第２工程の種類と、前記第２工程が完了するまでの予測時間とを、前記実行情報に基づき推定する状況推定ユニットと、前記複数の工程から、前記第１ロボットが前記第１工程の次に実行可能な工程である次工程候補を抽出する候補抽出ユニットと、前記候補抽出ユニットが抽出した前記次工程候補のそれぞれについて、前記第１工程の完了時点から、前記次工程候補の開始時点までの待ち時間を、前記第２工程の種類と、前記第２工程が完了するまでの予測時間と、前記制約とに基づき算出するように構成された待ち時間算出ユニットと、前記次工程候補のうち、前記待ち時間が最小となる前記次工程候補を、前記第１ロボットが前記第１工程の次に実行する工程とするように構成された次工程決定ユニットと、を備える計画作成装置である。
【０００７】
本開示の一局面である計画作成装置は、待ち時間が最小となるように、第１ロボットが次に実行する工程を決定することができる。そのことにより、複数のロボットが複数の工程を実行するために要する時間を短縮することができる。
【０００８】
本開示の別の局面は、複数の工程を分担して実行する複数のロボットにおける行動計画を作成するように構成された計画作成装置であって、前記複数のロボットのそれぞれから、前記工程の実行状況を表す実行情報を取得するように構成された情報取得ユニットと、前記複数の工程に属する工程間の、実行に関する制約を記憶した制約記憶ユニットと、前記複数のロボットのうちの１つである第１ロボットが、前記複数の工程のうちの１つである第１工程を完了した時点において、前記複数のロボットのうち、前記第１ロボット以外のロボットである第２ロボットが実行中の工程である第２工程の種類と、前記第２工程が完了するまでの予測時間とを、前記実行情報に基づき推定する状況推定ユニットと、前記第１ロボットが前記第１工程の次に実行可能な少なくとも１つの工程である第１の次工程候補と、前記第２ロボットが前記第２工程の次に実行可能な少なくとも１つの工程である第２の次工程候補と、から構成される次工程候補群を前記複数の工程から抽出する候補抽出ユニットと、前記次工程候補群のそれぞれについて、前記第１工程の完了時点から前記第１の次工程候補の完了時点までにおける前記第１ロボットの待ち時間と、前記第２工程の完了時点から前記第２の次工程候補の完了時点までにおける前記第２ロボットの待ち時間との合計待ち時間を、前記第２工程の種類と、前記第２工程が完了するまでの予測時間と、前記制約とに基づき算出するように構成された待ち時間算出ユニットと、前記工程候補群のうち、前記合計待ち時間が最小となる前記次工程候補群に含まれる前記第１の次工程候補を、前記第１ロボットが前記第１工程の次に実行する少なくとも１つの工程とするように構成された次工程決定ユニットと、を備える計画作成装置である。
【０００９】
本開示の別の局面である計画作成装置は、合計待ち時間が最小となるように、第１ロボットが第１工程の次に実行する少なくとも１つの工程を決定する。そのことにより、複数のロボットが複数の工程を実行するために要する時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】ロボットシステム１の構成を表すブロック図である。
【図２】計画作成装置３の機能的構成を表すブロック図である。
【図３】複数の工程の例を表す説明図である。
【図４】計画作成装置３が実行する処理を表すフローチャートである。
【図５】第２工程が完了するまでの残り時間を推定する方法を表す説明図である。
【図６】待ち時間の算出例を表す説明図である。
【図７】分割された工程の例を表す説明図である。
【図８】計画作成装置３の機能的構成を表すブロック図である。
【図９】計画作成装置３が実行する処理を表すフローチャートである。
【図１０】次工程候補群の例を表す説明図である。
【図１１】ロボットを目標位置に移動させるときの経路を設定する方法を表す説明図である。
【発明を実施するための形態】
【００１１】
本開示の例示的な実施形態を、図面を参照しながら説明する。
＜第１実施形態＞
１．ロボットシステム１の構成
ロボットシステム１の構成を図１〜図３に基づき説明する。図１に示すように、ロボットシステム１は、計画作成装置３と、ロボット５、７と、を備える。
【００１２】
計画作成装置３は、ＣＰＵ９と、例えば、ＲＡＭ又はＲＯＭ等の半導体メモリ（以下、メモリ１１とする）と、を有するマイクロコンピュータを備える。計画作成装置３の各機能は、ＣＰＵ９が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ１１が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、計画作成装置３は、１つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
【００１３】
計画作成装置３は、図２に示すように、情報取得ユニット１３と、状況推定ユニット１５と、候補抽出ユニット１７と、待ち時間算出ユニット１９と、次工程決定ユニット２１と、待ち時間判断ユニット２３と、工程分割ユニット２５と、差分算出ユニット２７と、差分判断ユニット２９と、出力ユニット３１と、を備える。
【００１４】
計画作成装置３に含まれる各部の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。
【００１５】
計画作成装置３はロボット５、７の行動計画を作成する。行動計画とは、それぞれのロボットが、どの工程をどのような順番で実行するのかを規定する計画である。行動計画には、既成の行動計画と、動的な行動計画とがある。既成の行動計画は、ロボット５、７が最初の工程の実行を開始する前に予め作成されている。既成の行動計画は、全ての工程について、ロボット５、７のどちらによって実行されるかを予め規定している。また、既成の行動計画は、全ての工程について、実行の順番と、工程間の待ち時間とを予め規定している。既成の行動計画は予めメモリ１１に記憶されている。メモリ１１は行動計画記憶ユニットに対応する。
【００１６】
動的な行動計画とは、ロボット５、７のうちの一方のロボットが１つの工程を完了した時点で、そのロボットが次に実行する工程を、その時点の状況に応じて決定する方法で作成する行動計画である。動的な行動計画は、ロボット５が次に実行する工程を決定することもあるし、ロボット７が次に実行する工程を決定することもある。
【００１７】
ロボット５、７は同様の構成を有する。ここではロボット５を例に挙げて説明する。ロボット５は、制御部３３と動作部３５とを備える。制御部３３は動作部３５を制御して、行動計画が指定する工程を実行する。
【００１８】
ロボット５、７は複数のロボットに対応する。ロボット５、７は複数の工程を分担して実行する。複数の工程の例を図３に示す。図３に示す例では、工程１〜６が存在する。任意の工程は、ロボット５、７のうちのどちらかにより１回実行される。
【００１９】
工程１〜６に属する工程間には、実行に関する制約がある。実行に関する制約として、順番の制約と、競合の制約とがある。順番の制約とは、Ｘの工程が完了していなければ、Ｙの工程を実行できないという制約である。Ｘ、Ｙは複数の工程の一部である。
【００２０】
図３に示す例では、工程４〜６は順番の制約を受ける。工程４は工程１が完了していなければ実行できない。また、工程５は、工程２、４が完了していなければ実行できない。また、工程６は、工程３、５が完了していなければ実行できない。
【００２１】
競合の制約とは、２つの工程を同時に実行できないという制約である。図３に示す例では、任意の工程は、作業領域ａ〜ｃのいずれかと、使用工具Ａ〜Ｃのいずれかとを使用して実行される。そのため、作業領域又は使用工具が共通する２つの工程は同時に実行できない。例えば、工程１、２は、作業領域が共通するため、同時に実行できない。よって、工程１、２は、競合の制約を受ける。また、工程３、４は、使用工具が共通するため、同時に実行できない。よって、工程３、４は、競合の制約を受ける。
【００２２】
上記の実行の制約は、予めメモリ１１に記憶されている。メモリ１１は制約記憶ユニットに対応する。各工程について、実行に要する標準的な処理時間（以下では標準処理時間とする）が定められている。各工程の標準処理時間は予めメモリ１１に記憶されている。
【００２３】
２．計画作成装置３が実行する処理
計画作成装置３が所定時間ごとに繰り返し実行する処理を図４〜図８に基づき説明する。図４のステップ１では、情報取得ユニット１３が、ロボット５、７のそれぞれから実行情報を取得する。実行情報とは、ロボット５、７におけるリアルタイムの工程の実行状況を表す情報である。ロボット５から取得した実行情報は、ロボット５が実行中である工程の種類と、その工程の進捗状況を表す情報とを含む。ロボット７から取得した実行情報は、ロボット７が実行中である工程の種類と、その工程の進捗状況を表す情報とを含む。工程が、例えば、ロボットの移動やネジ締めを行う工程である場合、進捗状況を表す情報は、実行済みの移動の距離や実行済みのネジ締めの回転数を表す情報である。
【００２４】
ステップ２では、状況推定ユニット１５が、前記ステップ１で取得した実行情報に基づき、ロボット５、７のいずれかが、工程完了状態であるか否かを判断する。工程完了状態とは、１つの工程を完了し、次の工程を未だ開始していない状態を意味する。
【００２５】
ロボット５、７のいずれかが工程完了状態である場合、本処理はステップ３に進む。ロボット５、７のいずれもが工程完了状態ではない場合、本処理は終了する。
なお、ロボット５、７のうち、工程完了状態にあるロボットを以下では第１ロボットとする。また、第１ロボットが直前に完了した工程を以下では第１工程とする。また、ロボット５、７のうち、第１ロボット以外のロボットを以下では第２ロボットとする。
【００２６】
ステップ３では、差分算出ユニット２７が、繰り返し取得した実行情報から、第１工程の開始時刻と完了時刻とを取得する。次に、差分算出ユニット２７は、第１工程の開始時刻と完了時刻とから、第１工程の実際の処理時間を算出する。次に、差分算出ユニット２７は、第１工程の実際の処理時間から、第１工程の標準処理時間を差し引いた差分を算出する。
【００２７】
ステップ４では、前記ステップ３で算出した差分が予め設定された閾値未満であるか否かを差分判断ユニット２９が判断する。差分が閾値以上である場合、本処理はステップ５に進み、差分が閾値未満である場合、本処理はステップ１１に進む。
【００２８】
ステップ５では、状況推定ユニット１５が、第２ロボットが実行中の工程（以下では第２工程とする）の種類と、第２工程が完了するまでの予測時間とを、前記ステップ１で取得した実行情報に基づき推定する。
【００２９】
なお、状況推定ユニット１５は、第２工程が完了するまでの残り時間ｔを、例えば、図５に示す方法で推測することができる。第２工程３７は、複数の要素３７Ａ〜３７Ｈから構成される。複数の要素３７Ａ〜３７Ｈは、３７Ａ、３７Ｂ、３７Ｃ、３７Ｄ、３７Ｅ、３７Ｆ、３７Ｇ、３７Ｈの順で実行される。現時点で、第２ロボットは、要素３７Ｃの途中まで実行済みであるとする。要素３７Ｃは、移動やネジ締めを行う要素である。状況推定ユニット１５は、要素３７Ｃの全体における移動距離やネジ締めの回転数と、既に実行済みの移動の距離や既に実行済みのネジ締めの回転数との比率に基づき、要素３７Ｃが完了するまでの残り時間ｔαを推測する。状況推定ユニット１５は、要素３７Ｃが完了するまでの残り時間ｔαと、未だ実行していない要素３７Ｄ〜３７Ｈの標準処理時間ｔβとの和を、第２工程が完了するまでの残り時間ｔγとする。
【００３０】
ステップ６では、候補抽出ユニット１７が、複数の工程の中から、次工程候補を複数抽出する。次工程候補は、第１ロボットが第１工程の次に実行可能な工程である。次工程候補は、複数の工程のうち、未だ実行されていない工程である。また、次工程候補は、複数の工程のうち、現時点で、順番の制約を受けない工程である。ただし、第２工程が完了すれば、順番の制約を受けなくなる工程は、次工程候補に含まれる。候補抽出ユニット１７は、次工程候補になり得る全ての工程を抽出する。
【００３１】
例えば、図３に示す例において、工程１が第２工程であり、工程２〜６は未だ実行されていないとする。この場合、工程２〜４は、順番の制約を受けないため、次工程候補となる。一方、工程５、６は、順番の制約を受けるため、次工程候補にならない。
【００３２】
ステップ７では、待ち時間算出ユニット１９が、前記ステップ６で抽出した次工程候補のそれぞれについて、待ち時間を算出する。待ち時間とは、第１工程の完了時点から、次工程候補の開始時点までの時間である。待ち時間算出ユニット１９は、第２工程の種類と、第２工程が完了するまでの予測時間と、実行の制約とに基づき、待ち時間を算出する。
【００３３】
待ち時間の算出例を図６に基づき説明する。次工程候補３９は、第２工程３７から、競合の制約を受けない。そのため、次工程候補３９の場合、第１工程４０の終了直後に開始することができ、待ち時間は０である。一方、次工程候補４１は、第２工程３７から競合の制約を受ける。そのため、次工程候補４１は、第２工程３７が完了するまで開始できない。よって、次工程候補３９の場合、待ち時間は、第２工程３７が完了するまでの予測時間ｔγである。
【００３４】
ステップ８では、前記ステップ７で算出した待ち時間のうちの最小値が、予め設定された閾値以上であるか否かを待ち時間判断ユニット２３が判断する。最小値が閾値以上であると判断した場合、本処理はステップ９に進む。最小値が閾値未満であると判断した場合、本処理はステップ１０に進む。
【００３５】
ステップ９では、工程分割ユニット２５が、複数の工程のそれぞれをさらに分割する。図７に、工程１を工程１−１〜１−３に分割した例を示す。分割後の工程も、順番の制約及び競合の制約を受けることがある。工程１以外の工程も、同様に分割される。ステップ９の後、ステップ６に進む。
【００３６】
ステップ９で工程を分割した場合、前記ステップ６では、候補抽出ユニットは、分割後の複数の工程から次工程候補を抽出する。ステップ９で工程を分割した場合、前記ステップ７では、待ち時間算出ユニット１９は、分割後の複数の工程から抽出された次工程候補のそれぞれについて、待ち時間を算出する。
【００３７】
ステップ１０では、次工程決定ユニット２１が、次工程候補のうち、待ち時間が最小となる次工程候補を、第１ロボットが第１工程の次に実行する工程（以下では第１ロボットの次工程とする）に決定する。なお、前記ステップ９で工程を分割した場合、次工程決定ユニット２１は、分割後の複数の工程から抽出された次工程候補のうち、待ち時間が最小となる次工程候補を、第１ロボットの次工程に決定する。
【００３８】
ステップ１１では、次工程決定ユニット２１が、既成の行動計画に基づき、第１ロボットの次工程を決定する。
ステップ１２では、出力ユニット３１が、第１ロボットの次工程を第１ロボットに出力する。出力する第１ロボットの次工程は、前記ステップ１０又は前記ステップ１１で決定した工程である。第１ロボットは、出力された工程を第１工程の次に実行する。
【００３９】
３．計画作成装置３が奏する効果
（１Ａ）計画作成装置３は、待ち時間が最小となるように、第１ロボットの次工程を決定することができる。そのことにより、ロボットシステム１が複数の工程を実行するために要する時間を短縮することができる。
【００４０】
（１Ｂ）計画作成装置３は、待ち時間の最小値が閾値以上である場合、複数の工程の少なくとも一部の工程をさらに分割する。工程の分割を行った場合、計画作成装置３は、分割後の複数の工程から次工程候補群を抽出する。工程の分割を行った場合、計画作成装置３は、分割後の複数の工程から抽出された次工程候補のそれぞれについて、待ち時間を算出する。工程の分割を行った場合、計画作成装置３は、分割後の複数の工程から抽出された次工程候補のうち、待ち時間が最小となる次工程候補を、第１ロボットの次工程とする。そのことにより、待ち時間を一層短くすることができる。
【００４１】
（１Ｃ）計画作成装置３は、第１工程の実際の処理時間から、第１工程の標準処理時間を差し引いた差分を算出する。計画作成装置３は、差分が予め設定された閾値未満であるか否かを判断する。計画作成装置３は、差分が閾値未満であると判断した場合、既成の行動計画に基づき、第１ロボットの次工程を決定する。そのことにより、計画作成装置３が第１ロボットの次工程を決定するために要する時間を抑制できる。
＜第２実施形態＞
１．第１実施形態との相違点
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。図８に示すように、第２実施形態では、計画作成装置３は、経路設定ユニット４３をさらに備える。
【００４２】
２．計画作成装置３が実行する処理
計画作成装置３が実行する処理を、図９〜図１１に基づき説明する。図９のステップ２１〜２５の処理は、第１実施形態におけるステップ１〜５の処理と同様である。
【００４３】
ステップ２６では、候補抽出ユニット１７が、複数の工程から、次工程候補群を複数抽出する。次工程候補群は、図１０に示すように、少なくとも１つの第１の次工程候補４５、４７と、少なくとも１つの第２の次工程候補４９、５１と、により構成される。第１の次工程候補４５、４７は、第１ロボットが第１工程４０の次に実行可能な工程である。第２の次工程候補４９、５１は、第２のロボットが第２工程３７の次に実行可能な工程である。
【００４４】
第１の次工程候補４５、４７及び第２の次工程候補４９、５１は、それぞれ、未だ実行されていない工程である。また、第１の次工程候補４５、４７及び第２の次工程候補４９、５１は、順番の制約を受けない工程の組み合わせである。候補抽出ユニット１７は、次工程候補群になり得る全てを次工程候補群として抽出する。
【００４５】
ステップ２７では、待ち時間算出ユニット１９が、次工程候補群のそれぞれについて、合計待ち時間ｔａを算出する。合計待ち時間ｔａは、第１工程４０の完了時点から、全ての第１の次工程候補４５、４７の完了時点までにおける第１ロボットの待ち時間ｔ１と、第２工程３７の完了時点から、全ての第２の次工程候補４９、５１の完了時点までにおける第２ロボットの待ち時間ｔ２との合計である。
【００４６】
図１０に示す例において、待ち時間ｔ１は、第１工程４０の完了時点から第１の次工程候補４５の開始時点までの待ち時間ｔ１ｘと、第１の次工程候補４５の完了時点から第１の次工程候補４７の開始時点までの待ち時間ｔ１ｙとの和である。また、待ち時間ｔ２は、第２工程３７の完了時点から第２の次工程候補４９の開始時点までの待ち時間ｔ２ｘと、第２の次工程候補４９の完了時点から第２の次工程候補５１の開始時点までの待ち時間ｔ２ｙとの和である。なお、第１の次工程候補４５、４７及び第２の次工程候補４９、５１の開始時点は、それぞれ、実行の制約を受けない範囲で、最も早いタイミングである。
【００４７】
待ち時間算出ユニット１９は、各工程の種類と、第２工程３７が完了するまでの予測時間と、第１の次工程候補４５、４７及び第２の次工程候補４９、５１の標準処理時間と、各工程間の実行の制約とに基づき、合計待ち時間ｔａを算出する。
【００４８】
ステップ２８では、前記ステップ２７で算出した合計待ち時間のうちの最小値が、予め設定された閾値以上であるか否かを待ち時間判断ユニット２３が判断する。最小値が閾値以上であると判断した場合、本処理はステップ２９に進む。最小値が閾値未満であると判断した場合、本処理はステップ３０に進む。
【００４９】
ステップ２９では、工程分割ユニット２５が、複数の工程のそれぞれをさらに分割する。分割の態様は第１実施形態と同様である。
ステップ２９の後、ステップ２６に進む。ステップ２９で工程を分割した場合、前記ステップ２６では、候補抽出ユニットは、分割後の複数の工程から次工程候補群を抽出する。ステップ２９で工程を分割した場合、前記ステップ２７では、待ち時間算出ユニット１９は、分割後の複数の工程から抽出された複数の次工程候補群のそれぞれについて、合計待ち時間を算出する。
【００５０】
ステップ３０では、次工程決定ユニット２１が、次工程候補群のうち、合計待ち時間が最小となる次工程候補群を選択する。次工程決定ユニット２１は選択した次工程候補群に含まれる第１の次工程候補を、第１ロボットが第１工程の次に実行する少なくとも１つの工程に決定する。
【００５１】
なお、前記ステップ２９で工程を分割した場合、次工程決定ユニット２１は、分割後の複数の工程から抽出された次工程候補群のうち、合計待ち時間が最小となる次工程候補群を選択する。
【００５２】
ステップ３１では、前記ステップ３０で決定した、第１工程の次に実行する少なくとも１つの工程が経路設定条件を充足するか否かを経路設定ユニット４３が判断する。経路設定条件を充足するとは、以下のＪ１〜Ｊ３の全てを充足することである。
【００５３】
Ｊ１：第１工程の次に実行する少なくとも１つの工程の中に、続いて実行される工程Ａ、Ｂが存在する。
Ｊ２：工程Ａの完了時点から工程Ｂの開始時点までの推定待ち時間が予め設定された閾値以上である。
【００５４】
Ｊ３：工程Ａがロボットの移動を行う工程である。
経路設定条件を充足する場合、本処理はステップ３２に進み、経路設定条件を充足しない場合、本処理はステップ３４に進む。
【００５５】
ステップ３２では、経路設定ユニット４３が、工程Ａを延長する。経路設定ユニット４３は、工程Ａのうち、延長した部分（以下では延長部とする）においてロボットを目標位置に移動させるときの経路を、目標位置に最短距離で移動させる経路に比べて、工程Ａが失敗した場合の目標位置寄りの経路とする。この処理を図１１に基づき説明する。Ｐ１は、延長前の工程Ａにおける最終的なロボットの位置である。Ｐ２は、工程Ｂの開始時点におけるロボットの目標位置である。Ｐ３は、工程Ａが失敗した場合のロボットの目標位置である。
【００５６】
経路設定ユニット４３は、延長部においてロボットを目標位置Ｐ２に移動させるときの経路５３を、目標位置Ｐ２に最短距離で移動させる経路５５に比べて、目標位置Ｐ３寄りの経路とする。図１１示すｍ、ｎから算出される値であるｎ／（ｍ+ｎ）が大きいほど、ロボットの位置は、目標位置Ｐ３寄りである。ロボットが経路５３に沿って位置Ｐ１から目標位置Ｐ２に移動するとき、初期においては、ｎ／（ｍ+ｎ）の値は１であり、徐々に小さくなってゆく。ロボットが目標位置Ｐ２に到着したとき、ｎ／（ｍ+ｎ）の値は０である。
【００５７】
ステップ３３では、次工程決定ユニット２１が、既成の行動計画に基づき、第１ロボットの次工程を決定する。
ステップ３４では、出力ユニット３１が、第１ロボットが第１工程の次に実行する少なくとも１つの工程を第１ロボットに出力する。出力する、第１ロボットが第１工程の次に実行する少なくとも１つの工程は、前記ステップ３０又は前記ステップ３３で決定した工程である。また、前記ステップ３２で経路を設定した場合は、その経路も第１ロボットに出力する。
３．計画作成装置３が奏する効果
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１Ｂ）、（１Ｃ）を奏し、さらに、以下の効果を奏する。
【００５８】
（２Ａ）計画作成装置３は、合計待ち時間が最小となる次工程候補群を選択する。そして、計画作成装置３は、選択した次工程候補群に含まれる第１の次工程候補を、第１ロボットが第１工程の次に実行する少なくとも１つの工程に決定する。そのことにより、ロボットシステム１が複数の工程を実行するために要する時間を短縮することができる。
【００５９】
（２Ｂ）計画作成装置３は、前記ステップ３２のようにして、延長部におけるロボットの経路を設定する。そのため、工程の失敗からの復帰を迅速に行うことができる。
＜他の実施形態＞
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００６０】
（１）第１実施形態及び第２実施形態において、ロボットの数は３台以上であってもよい。この場合、第２ロボットが２台以上になる。第１実施形態において第２ロボットが２台以上である場合、前記ステップ６では、２台以上の第２ロボットにおける第２工程との間の実行の制約を考慮して、次工程候補を抽出する。
【００６１】
また、第２実施形態において第２ロボットが２台以上である場合、前記ステップ２６では、２台以上の第２ロボットにおける第２工程との間の実行の制約を考慮して、次工程候補群を抽出する。また、次工程候補群は、２台以上の第２ロボットのそれぞれについて抽出された第２の次工程候補を含む。
【００６２】
（２）第２実施形態において、第１の次工程候補は１のみの工程であってもよいし、３以上の工程であってもよい。また、第２の次工程候補も、１のみの工程であってもよいし、３以上の工程であってもよい。
【００６３】
（３）第１実施形態において、前記ステップ２で肯定判断した場合、常に前記ステップ５に進んでもよい。また、第２実施形態において、前記ステップ２２で肯定判断した場合、常に前記ステップ２５に進んでもよい。
【００６４】
（４）第１実施形態において、前記ステップ７の後、常に前記ステップ１０に進んでもよい。また、第２実施形態において、前記ステップ２７の後、常に前記ステップ３０に進んでもよい。
【００６５】
（５）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００６６】
（６）上述した計画作成装置の他、当該計画作成装置を構成要素とするシステム、当該計画作成装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、行動計画作成方法、ロボット制御方法等、種々の形態で本開示を実現することもできる。
【符号の説明】
【００６７】
１…ロボットシステム、３…計画作成装置、５、７…ロボット、９…ＣＰＵ、１１…メモリ、１３…情報取得ユニット、１５…状況推定ユニット、１７…候補抽出ユニット、１９…待ち時間算出ユニット、２１…次工程決定ユニット、２３…待ち時間判断ユニット、２５…工程分割ユニット、２７…差分算出ユニット、２９…差分判断ユニット、３１…出力ユニット、３３…制御部、３５…動作部、３９、４１…次工程候補、４０…第１工程、４３…経路設定ユニット、４５、４７…第１の次工程候補、４９、５１…第２の次工程候補
【図１】
2019197367.tif 000003
【図２】
2019197367.tif 000004
【図３】
2019197367.tif 000005
【図４】
2019197367.tif 000006
【図５】
2019197367.tif 000007
【図６】
2019197367.tif 000008
【図７】
2019197367.tif 000009
【図８】
2019197367.tif 000010
【図９】
2019197367.tif 000011
【図１０】
2019197367.tif 000012
【図１１】
2019197367.tif 000013