(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072330
(43)【公開日】2024-05-28
(54)【発明の名称】ロボット制御システム、ロボット制御方法、及びロボット制御プログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20240521BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022183048
(22)【出願日】2022-11-16
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人情報通信研究機構「革新的情報通信技術研究開発委託研究/Beyond 5G研究開発促進事業/Beyond 5Gで実現する同期型CPSコンピューティング基盤の研究開発」産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】小向 祥実
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707KS03
3C707KS04
3C707KS12
3C707KS16
3C707KS20
3C707KT01
3C707KT02
3C707KT06
3C707LV12
(57)【要約】
【課題】よりロボットを効率的に運用することが可能なロボット制御システム、ロボット制御方法、及びロボット制御プログラムを提供する。
【解決手段】本開示に係るロボット制御システム10は、第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボット制御システムである。ロボット制御システム10は、取得部11と、制御部12と、を備える。取得部11は、第一タスク計画における、ロボットの位置の遷移を示す位置情報を取得する。制御部12は、位置情報によって特定される、第一タスクを実行中のロボットの位置のそれぞれが、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御システムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する取得部と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する制御部と、
を備えた、ロボット制御システム。
【請求項2】
前記第一タスクを実行中のロボットの位置が、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する、
請求項1記載のロボット制御システム。
【請求項3】
前記ロボットが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定する、
請求項1又は2に記載のロボット制御システム。
【請求項4】
前記環境情報の取得処理は、撮影処理であり、
前記環境情報を取得する処理の実行の妨げになるか否かは、前記ロボットが前記環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かである、
請求項1又は2に記載のロボット制御システム。
【請求項5】
前記対象は、複数種類の対象を含み、
前記制御部は、前記複数種類の対象のうち、いずれかの対象に関して前記環境情報を取得可能であると判定した場合に、当該環境情報の取得処理の実行タイミングとして決定する、
請求項4に記載のロボット制御システム。
【請求項6】
前記ロボットは、障害物を避けながらワークを目的地までに搬送するタスクを実行するものであり、
前記対象に前記ワーク、前記障害物、及び前記目的地のいずれか又は複数を含む、
請求項5に記載のロボット制御システム。
【請求項7】
前記制御部は、前記ロボットが前記第一タスクを実行中に、エラーが発生した場合、前記第二タスク計画を生成するための前記環境情報の再取得処理を実行する、
請求項4に記載のロボット制御システム。
【請求項8】
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御方法であって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得し、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定し、
判定結果に基づいて、当該環境情報の取得処理の実行タイミングを決定する、
ロボット制御方法。
【請求項9】
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御プログラムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する処理と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する処理と、
をコンピュータに実行させるロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御システム、ロボット制御方法、及びロボット制御プログラムに関する。
【背景技術】
【0002】
近年、倉庫や工場などにおいて、人手不足解消のため、自動で荷物の出し入れをおこなうロボットの開発がされている。
特許文献1には、倉庫作業にかかる作業時間を短縮できるピッキングロボットが記載されている。ピッキングロボットは、複数の物品を搬入箱から取り出して、収納箱に収納する動作を実行する。ピッキングロボットは、一つの物品を取り出し終えた後に、搬入箱を撮影して、次の収納動作をする対象物品を認識している。その後、ピッキングロボットは、実行計画を立案して次の物品を取り出している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した特許文献1に開示されたピッキングロボットでは、一つの物品を取り出し終えた後でなければ、搬入箱の撮影をすることができない。そのため、ピッキングロボットが動作実行中に対象物品を認識することができず、ロボットを効率的に運用するには不十分である。
【0005】
本開示の目的は、上述した課題に鑑み、よりロボットを効率的に運用することが可能なロボット制御システム、ロボット制御方法、及びロボット制御プログラムを提供することにある。
【課題を解決するための手段】
【0006】
本開示の一態様に係るロボット制御システムは、
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御システムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する取得部と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する制御部と、を備える。
【0007】
本開示の一態様に係るロボット制御方法は、
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットの制御方法であって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得し、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定し、
判定結果に基づいて、当該環境情報の取得処理の実行タイミングを決定する。
【0008】
本開示の一態様に係るロボット制御プログラムは、
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御プログラムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する処理と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する処理と、をコンピュータに実行させる。
【発明の効果】
【0009】
本開示により、よりロボットを効率的に運用することが可能なロボット制御システム、ロボット制御方法、及びロボット制御プログラムを提供できる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1に係るロボット制御システムの構成を示すブロック図である。
【
図2】実施形態1に係るロボット制御方法の流れを示すフローチャートである。
【
図3】実施形態2に係るロボット制御システムの構成を示すブロック図である。
【
図4】実施形態2に係るロボット制御システム20によって制御されるロボットの動きの一例を示した図である。
【
図5】表1に示したタスク計画において、環境情報取得可能期間と次のタスク計画生成期間とを示した図である。
【
図6】実施形態2に係るロボット制御システムによって制御されるロボットの動きを示した図である。
【
図7】実施形態3に係るロボット制御システムによって、制御されるロボットが撮影する環境情報の対象を示した図である。
【発明を実施するための形態】
【0011】
以下、実施形態を通じて本開示を説明するが、請求の範囲に係る開示を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
なお、当然のことながら、図面に示した右手系xyz直交座標は、構成要素の位置関係を説明するための便宜的なものである。通常、z軸正向きが鉛直上向き、xy平面が水平面である。
【0012】
<実施形態1>
以下、図面を参照して本開示の実施形態1について説明する。
図1は、実施形態1に係るロボット制御システムの構成を示すブロック図である。実施の形態1に係るロボット制御システム10は、取得部11、制御部12を備える。
【0013】
ロボット制御システム10は、第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットの制御システムである。タスクは、例えば、倉庫における荷物の搬送作業、工場における部品の出し入れ作業又は部品の組付け作業、である。
【0014】
取得部11は、第一タスク計画における、ロボットの位置の遷移を示す位置情報を取得する。タスク計画は、例えば、1秒毎に位置すべきロボットの位置が示され、順番に処理を実行すると、時々刻々とロボットの位置が遷移して、タスクを実行できる計画である。タスク計画は、ロボットの周囲における環境情報に基づいて生成される。
【0015】
制御部12は、位置情報によって特定される、第一タスクを実行中のロボットの位置のそれぞれが、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する。環境情報とは、ロボットの周囲に含まれる、タスク計画を生成するために必要な対象に関する情報である。例えば、部品を搬入箱から取り出して、収納箱に収納する出し入れ作業の場合、環境情報に含まれる対象は、部品、搬入箱、収納箱のことである。また、後述するように、ロボットが障害物を避けながらワークを目的地までに搬送するタスクを実行する場合、環境情報に含まれる対象は、ワーク、出発地、障害物、目的地のことである。
【0016】
環境情報は、例えば、ロボットの周囲に含まれる対象に関する位置、形状、色、模様などの情報である。
【0017】
続いて、実施形態1に係るロボット制御方法を説明する。
図2は、実施形態1に係るロボット制御方法の流れを示すフローチャートである。まず、第一タスク計画における、ロボットの位置の遷移を示す位置情報を取得する(ST1)。次に、位置情報によって特定される、第一タスクを実行中のロボットの位置のそれぞれが、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定する(ST2)。次に、判定結果に基づいて、当該環境情報の取得処理の実行タイミングを決定する(ST3)。
【0018】
このように、実施形態1に係るロボット制御システムは、第一タスク計画における、ロボットの位置が、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになる否かを判定して、当該環境情報の取得処理の実行タイミングを決定する。これにより、タスクを実行中にも関わらず、次のタスク計画に必要な情報を取得して、次のタスク計画をおこなえるため、タスク間の停止時間が省略できる。よって、ロボットがタスクを連続的に実行することが可能なため、タクトタイム及びリードタイムを削減でき、よりロボットを効率的に運用できる。
【0019】
<実施形態2>
以下、図面を参照しながら、本開示の実施形態2について説明する。
図3は、実施形態2に係るロボット制御システムの構成を示すブロック図である。実施形態2に係るロボット制御システム20は、取得部21、制御部22を備える。実施形態2に係るロボット制御システム20は、環境情報取得手段23に無線又は有線接続されている。
【0020】
実施形態2に係るロボット制御システム20は、実施形態1に係るロボット制御システム10の制御部12の変形例である。取得部21は、実施形態1に係るロボット制御システムの取得部11と同様であるため、説明を省略する。ここでは、ロボットの動きの一例を説明して、制御部22及び環境情報取得手段23について詳細に説明する。
【0021】
まず、
図4を参照しながら、実施形態2に係るロボット制御システム20によって制御されるロボットの動きの一例を説明する。
図4は、実施形態2に係るロボット制御システム20によって制御されるロボットの動きの一例を示した図である。
【0022】
ロボットR1は、ワークW1、W2、及びW3を、ピッキング部RP1を用いてピッキングして、搬入箱SP1から収納箱FP1に移動させるタスクを実行している。
図3に示した例では、1度のタスクでワークW1のみを搬入箱PS1から収納箱PF1に移動させている。すなわち、ロボットは、1度のタスクでワーク1つを移動させて、3回のタスクを実行する。しかし、これに限定されることはなく、1度のタスクでワークW1、W2、及びW3を移動させてもよい。
図4では、ワークW1を搬入箱PS1から収納箱PF1に移動させるタスクにおいて、0秒目、2秒目、4秒目のロボットの動きを示している。
【0023】
ロボットR1は、ワークW1を、ピッキング部RP1を用いてピッキングして搬入箱PS1から収納箱PF1に移動させる際、タスク計画に従ってタスクを実行する。表1は、
図4に示したロボットが、ワークW1を、ピッキング部RP1を用いてピッキングして搬入箱SP1から収納箱FP1に移動させる際のタスク計画である。表1に示したタスク計画の例では、タスクを実行する7秒間において、1秒毎に位置すべきピッキング部RP1の位置情報が示されている。ロボットは、0秒から7秒まで順番に処理を実行すると、時々刻々とピッキング部RP1の位置が遷移して、タスクを実行できる。
【0024】
【0025】
表1に示したタスク計画の例では、ピッキング部RP1の位置情報を示しているが、ロボットR1の腕の姿勢位置を示す情報、ピッキング部RP1におけるピッキング機能のON/OFF情報を含んでもよい。
【0026】
ここで、表1及び
図5を参照しながら、環境情報取得可能期間と次のタスク計画生成期間とについて説明する。
図5は、表1に示したタスク計画において、環境情報取得可能期間と次のタスク計画生成期間とを示した図である。
図5に示した例では、0秒目から7秒目までのタスク計画実行時間のうち、4秒目から7秒目までの期間が次のタスク計画生成期間である。よって、0秒目から7秒目までのタスク計画実行時間のうち、0秒目から4秒目までの期間が環境情報取得可能期間である。すなわち、タスク計画実行時間から、次のタスク計画生成期間を差し引いた時間が、環境情報取得可能期間となる。
【0027】
次に、制御部22及び環境情報取得手段23について説明する。制御部22は、第一タスクを実行中のロボットの位置が、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する。環境情報取得手段23は、制御部22が決定した環境情報の取得処理の実行タイミングに基づき、環境情報の取得処理を実行する。環境情報取得手段23は、例えば、レーザーを用いて環境情報に含まれる対象の位置、色、形状を取得する処理を実行する。しかし、これに限定されることはなく、環境情報取得手段23は、カメラを用いて撮影をおこない、環境情報に含まれる対象の位置、色、形状を取得する処理を実行してもよい。
【0028】
また、環境情報取得手段23がカメラである場合、環境情報を取得する処理の実行の妨げになるか否かは、ロボットが環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かである。
【0029】
続いて、
図6、及び表2、表3、表4を参照しながら、制御部22による環境情報の取得処理の実行タイミングの決定方法を詳細に説明する。
【0030】
図6は、実施形態2に係るロボット制御システムによって制御されるロボットの動きを示した図である。
図6に示した例では、ロボットR2は、ワークW11、W12、及びW13を、ピッキング部RP2を用いてピッキングして、搬入箱SP2から収納箱FP2に移動させるタスクを実行している。ロボットR2は、ワークW11、W12、及びW13の順番に、搬入箱SP2から収納箱FP2に移動させるタスクを実行している。また、ロボットR2は、一度のタスクで一つのワークを移動させるタスクを実行している。
図6に示した例では、環境情報に含まれる対象は、ワークW11、W12、及びW13、搬入箱SP2、収納箱FP2のことである。
【0031】
図6に示した例では、ロボットR2は、2回目のタスクを実行している。すなわち、
図6は、ロボットR2がワークW11を移動させる1回目のタスクを終え、ワークW12を移動させる2回目のタスクを実行する例を示している。
【0032】
ここでは、ロボットR2がワークW12を移動させる2回目のタスクが第一のタスクに該当する。また、ロボットR2がワークW13を移動させる3回目のタスクが第二のタスクに該当する。また、下記ではロボットR2が1回目のタスクを実行している際に、2回目のタスク計画に必要な環境情報が取得され、2回目のタスク計画が生成されていることを前提に説明する。
【0033】
まず、取得部は、第一タスク(2回目のタスク)計画における、ロボットR2の位置の遷移を示す位置情報を取得する。表2は、
図4に示したロボットR2の第一タスク(2回目のタスク)のタスク計画を示している。ロボットR2は、表1に示した0秒から7秒まで順番に処理を実行すると、時々刻々とピッキング部RP2の位置が遷移して、タスクを実行できる。ここでは、0秒目から7秒目までの第一タスク計画実行時間のうち、4秒目から7秒目までの期間が第二タスク(3回目のタスク)計画生成期間、0秒目から4秒目までの期間が環境情報取得可能期間とする。以下の説明では、0秒目から4秒目までの期間である、環境情報取得可能期間に着目する。
【0034】
【0035】
表2に示した第一タスク(2回目のタスク)計画は、1回目のタスクを実行している際に、取得された環境情報を基に作成されている。表3は、1回目のタスクを実行している際に得られた第一タスク(2回目のタスク)計画に必要な環境情報に含まれる対象の位置を示す情報である。すなわち、表2に示した第一タスク(2回目のタスク)計画は、表3に示した環境情報を基に作成されている。また、
図4に示した矢印は、表2に示した第一タスク(2回目のタスク)計画におけるピッキング部RP2の位置遷移を示したものである。
【0036】
【0037】
制御部は、第一タスク(2回目のタスク)を実行している際に、第二タスク(3回目のタスク)計画に必要な環境情報の取得処理の実行タイミングを決定する。より具体的には、制御部は、表2と表3とを比較して、表4を作成する。表4は、第一タスク(2回目のタスク)を実行する0秒目から4秒目までの期間に、第二タスク(3回目のタスク)計画に必要な環境情報の取得処理が可能か否かを示している。例えば、0秒目の時、表2に示したピッキング部RP2の位置が表3に示したワーク13の位置に重なっていないため、ワークの取得処理ができる。一方で、3秒目の時、表2に示したピッキング部RP2の位置が表3に示した搬入箱SP2の位置に重なっているため、ワークの取得処理ができない。
【0038】
【0039】
表4に示すように、制御部22は、第一タスク(2回目のタスク)を実行中のロボットの位置のそれぞれが、第二タスク(3回目のタスク)計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定している。制御部22は、判定結果(表4)に基づき、当該環境情報の取得処理の実行タイミングを決定する。
【0040】
すなわち、制御部22は第一タスク(2回目のタスク)実行中において、環境情報に含まれる対象が1回目のタスク実行中に得られた位置にあると仮定して、第二タスク(3回目のタスク)計画に必要な環境情報を取得する処理の実行の妨げになるか否かを判定している。
【0041】
表4に示した例では、ワークW13は0秒目から4秒目までの期間において、どのタイミングでも、ロボットR2の位置とワークの位置が重なっていない。そのため、制御部は、0秒目から4秒目までの期間がワークの取得処理の実行タイミングであると決定する。
【0042】
また、表4に示した例では、搬入箱SP2は、3秒目を除いて、どのタイミングでも、ロボットR2の位置と搬入箱PS2の位置が重なっていない。そのため、制御部は、0秒目から2秒目までの期間及び4秒目が搬入箱PS2の取得処理の実行タイミングであると決定する。
【0043】
さらに、表4に示した例では、収納箱FP2は、0秒目から2秒目までの期間において、どのタイミングでも、ロボットR2の位置と収納箱PF2の位置が重なっていない。そのため、制御部は、0秒目から2秒目までの期間が収納箱FP2の取得処理の実行タイミングであると決定する。
【0044】
このように、制御部は、第一タスク(2回目のタスク)を実行中のロボットの位置が、第二タスク(3回目のタスク)計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する。このような構成にすることによって、タスクを実行中にも関わらず、次のタスク計画に必要な情報を取得して、次のタスク計画をおこなえる。
【0045】
ここで、1回目のタスク計画は、事前に入力されたワークW11、SP1、FP1に関するデータを参照して、作成される。事前に入力されたワークW11、SP1、FP1に関するデータは、位置、形状、色、模様を含む情報である。例えば、環境情報取得手段23がカメラである場合、入力データの形状及び色と、カメラにより取得された画像における形状及び色と、を比較して、共通の色、形状を有するワークを同定する。これにより、ワークの位置座標が取得され、1回目のタスク計画が作成される。その他の例として、入力データの位置情報をそのまま取得して、1回目のタスク計画が作成されてもよい。
【0046】
また、制御部は、第一タスクを実行中のロボットの位置が、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定することができる。
【0047】
表4に示した例では、ワークは0秒目から4秒目までの期間において、どのタイミングでも、ロボットの位置とワークの位置が重なっていない。そのため、制御部は、0秒目から4秒までの期間のうち、より遅いタイミングである4秒目をワークの取得処理の実行タイミングであると決定する。
【0048】
また、表4に示した例では、搬入箱SP2は、3秒目を除いて、どのタイミングでも、ロボットの位置と搬入箱SP2の位置が重なっていない。そのため、制御部は、0秒目から2秒目までの期間及び4秒目のうち、より遅いタイミングである4秒目を搬入箱SP2の取得処理の実行タイミングであると決定する。
【0049】
さらに、表4に示した例では、収納箱FP2は、0秒目から2秒目までの期間において、どのタイミングでも、ロボットR2の位置と収納箱PF2の位置が重なっていない。そのため、制御部は、0秒目から2秒目までの期間のうち、より遅いタイミングである2秒目を収納箱FP2の取得処理の実行タイミングであると決定する。
【0050】
ここでは、制御部は、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、最も遅いタイミングを実行タイミングとして決定した。しかし、これに限定されることはなく、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングであれば、いずれのタイミングでもよい。例えば、表4に示した例では、制御部は、0秒目から4秒目までの期間のうち、3秒目をワークW13の取得処理の実行タイミングであると決定してもよい。
【0051】
このように、制御部は、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定することができる。このような構成にすることによって、例えば、第二タスク計画を生成するための環境情報に含まれる対象に人が接触して、位置がずれてしまうなどの環境が変化することを考慮できる期間が長くなる。
【0052】
このように、実施形態2に係るロボット制御システムは、第一タスクを実行中のロボットの位置が、第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する、これにより、タスクを実行中にも関わらず、次のタスク計画に必要な情報を取得して、次のタスク計画をおこなえるため、タスク間の停止時間が省略できる。よって、ロボットがタスクを連続的に実行することが可能なため、タクトタイム及びリードタイムを削減でき、よりロボットを効率的に運用できる。
【0053】
<実施形態3>
以下、図面を参照しながら、本開示の実施形態3について説明する。実施形態3に係るロボット制御システムは、取得部、制御部を備える。実施形態3に係るロボット制御システムは、実施形態1に係るロボット制御システム10の制御部12の変形例である。実施形態2に係るロボット制御システムの取得部は、実施形態1に係るロボット制御システムの取得部11と同様であるため、説明を省略する。また、実施形態3に係るロボット制御システムにおける環境情報の取得処理は、撮影処理である。ここでは、制御部がおこなう撮影処理の対象及び撮影処理の実行タイミングの決定について説明する。
【0054】
制御部は、位置情報によって特定される、第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かを判定する。制御部は、判定結果に基づき、当該環境情報の取得処理の実行タイミングを決定する。
【0055】
ここで、環境情報に含まれる対象は、複数種類の対象を含む。例えば、ロボットがワークを、障害物を避けながら出発地から目的地までに搬送する場合、環境情報に含まれる対象は、ワーク、出発地、障害物、目的地のことである。この場合、環境情報に含まれる対象は、ワーク、出発地、障害物、目的地のいずれか又は複数を含む。
【0056】
制御部は、複数種類の対象のうち、いずれかの対象に関して環境情報を取得可能であると判定した場合に、当該環境情報の取得処理の実行タイミングとして決定してもよい。表5を参照しながら、より詳細に説明する。表5は、第一タスクを実行する0秒目から4秒目までの期間に、第二タスク計画に必要なワーク、出発地、障害物、及び目的地の撮影処理が可能か否かを示している。例えば、表5に示した例では、3秒目において、ワークの撮影処理ができるが、出発地、障害物、及び目的地の撮影処理はできないことを示している。
【0057】
【0058】
制御部は、ワーク、出発地、障害物、及び目的地のすべてが同タイミングで撮影できる2秒目で環境情報の取得処理の実行タイミングとして決定しなくてもよい。すなわち、制御部は、ワークと出発地とを4秒目に撮影するタイミングであると決定し、障害物と目的地とを2秒目に撮影するタイミングであると決定してもよい。このような構成にすることによって、第一タスクを実行している際に、第二タスク計画に必要な環境情報に含まれる対象毎に異なるタイミングで取得することができる。
【0059】
このとき、環境情報に含まれる複数の対象を同じタイミングで撮影する際、対象を撮影する順番は変更可能である。表5に示した例では、4秒目において、ワークと出発地とはどちらの順番で撮影してもよい。
【0060】
ここで、制御部は、ロボットが第一タスクを実行中に、エラーが発生した場合、第二タスク計画を生成するための環境情報の再取得処理を実行してもよい。
図5を参照しながら、より詳細に説明する。
【0061】
図7は、実施形態3に係るロボット制御システムによって、制御されるロボットが撮影する環境情報の対象を示した図である。
図7(a)は、出発地S1に人が接触する前のロボットが撮影する環境情報の対象を示した図である。
図7(b)は、出発地S1に人が接触した後のロボットが撮影する環境情報の対象を示した図である。
【0062】
図7に示した例では、ロボットR3は、ワークW111をピッキング部RP3を用いてピッキングして、出発地S1から障害物H1を避けて目的地F1に搬送するタスクを実行している。
図7に示した例では、1度のタスクでワークW111のみを出発地S1から目的地F1に移動させている。ここでは、ロボットR3は、ワークW111、W112、及びW113の順番に出発地S1から障害物H1を避けて目的地F1に搬送するタスクを実行する。
【0063】
図7に示した例では、ワークW111を出発地S1から障害物H1を避けて目的地F1に搬送するタスクが第一タスクに該当する。ワークW112を出発地S1から障害物H1を避けて目的地F1に搬送するタスクが第二タスクに該当する。
【0064】
図7(b)では、
図7(a)に比べて、出発地S1に人が接触したことにより、出発地S1とワークW12及びワークW13との位置がずれている。ここでは、出発地S1に人が接触した時点では、第二タスク計画に必要なワークW112、出発地S1の撮影処理が終了しているとする。
【0065】
図7(b)に示すように、第一タスクを実行中に、出発地S1に人が接触した場合、撮影対象であるワークW112、出発地S1の位置がずれているため、第二タスクを実行する際に、エラーが発生する。エラーは、例えば、ワークW112の位置がずれたために、ロボットR3がピッキング部RP3を用いてピッキングすることができないことである。その他の例として、エラーは、出発地S1の位置がずれたために、ピッキング部RP3が出発地S1に接触してしまうことである。
【0066】
エラーが発生した場合、実施形態3に係るロボット制御システムは、ロボットR3を停止する。このとき、制御部は、エラーが発生したため、ロボットが停止した旨を管理者に報知してもよい。これにより、管理者は、手動でロボットの復旧作業をおこなう。
【0067】
また、制御部は、エラーが発生して、ロボットを停止した旨を管理者に報知することに合わせて、第二タスク計画を生成するための環境情報の再取得処理を実行してもよい。より具体的には、
図7(b)に示したワークW112、ワークW113、出発地S1、目的地F1、障害物H1を再度、撮影処理をおこなう。これにより、環境情報に含まれる対象の位置が更新され、第二タスクを実行することができる。
【0068】
このように、制御部はロボットが第一タスクを実行中に、エラーが発生した場合、第二タスク計画を生成するための環境情報の再取得処理を実行する。例えば、24時間対応の物流倉庫や工場において、無人で工場の稼働をさせる際に活用することができる。
【0069】
このように、実施形態3に係るロボット制御システムは、第一タスクを実行中のロボットの位置が、第二タスク計画を生成するための環境情報に含まれる対象と重なるかを判定し、当該環境情報の撮影処理の実行タイミングを決定する。これにより、タスクを実行中にも関わらず、次のタスク計画に必要な情報を取得して、次のタスク計画をおこなえるため、タスク間の停止時間が省略できる。よって、ロボットがタスクを連続的に実行することが可能なため、タクトタイム及びリードタイムを削減でき、よりロボットを効率的に運用できる。
【0070】
また、上述した実施形態1~3に係るロボット制御システムにおける処理の一部又は全部は、コンピュータプログラムとして実現可能である。このようなプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0071】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御システムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する取得部と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する制御部と、
を備えた、ロボット制御システム。
(付記2)
前記第一タスクを実行中のロボットの位置が、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する、
付記1に記載のロボット制御システム。
(付記3)
前記ロボットが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定する、
付記1又は2に記載のロボット制御システム。
(付記4)
前記環境情報の取得処理は、撮影処理であり、
前記環境情報を取得する処理の実行の妨げになるか否かは、前記ロボットが前記環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かである、
付記1又は2に記載のロボット制御システム。
(付記5)
前記対象は、複数種類の対象を含み、
前記制御部は、前記複数種類の対象のうち、いずれかの対象に関して前記環境情報を取得可能であると判定した場合に、当該環境情報の取得処理の実行タイミングとして決定する、
付記4に記載のロボット制御システム。
(付記6)
前記ロボットは、障害物を避けながらワークを目的地までに搬送するタスクを実行するものであり、
前記対象に前記ワーク、前記障害物、及び前記目的地のいずれか又は複数を含む、
付記5に記載のロボット制御システム。
(付記7)
前記制御部は、前記ロボットが前記第一タスクを実行中に、エラーが発生した場合、前記第二タスク計画を生成するための前記環境情報の再取得処理を実行する、
付記4に記載のロボット制御システム。
(付記8)
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御方法であって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得し、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定し、
判定結果に基づいて、当該環境情報の取得処理の実行タイミングを決定する、
ロボット制御方法。
(付記9)
前記第一タスクを実行中のロボットの位置が、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する、
付記8に記載のロボット制御方法。
(付記10)
前記ロボットが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定する、
付記8又は9に記載のロボット制御方法。
(付記11)
前記環境情報の取得処理は、撮影処理であり、
前記環境情報を取得する処理の実行の妨げになるか否かは、前記ロボットが前記環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かである、
付記8又は9に記載のロボット制御方法。
(付記12)
前記制御部は、前記複数種類の対象のうち、いずれかの対象に関して前記環境情報を取得可能であると判定した場合に、当該環境情報の取得処理の実行タイミングとして決定する、
付記11に記載のロボット制御方法。
(付記13)
前記ロボットは、障害物を避けながらワークを目的地までに搬送するタスクを実行するものであり、
前記対象に前記ワーク、前記障害物、及び前記目的地のいずれか又は複数を含む、
付記12に記載のロボット制御方法。
(付記14)
前記制御部は、前記ロボットが前記第一タスクを実行中に、エラーが発生した場合、前記第二タスク計画を生成するための前記環境情報の再取得処理を実行する、
付記11に記載のロボット制御方法。
(付記15)
第一タスクとその後の第二タスクとを含む複数のタスクを、それぞれのタスク計画に基づいて実行するロボットのロボット制御プログラムであって、
前記第一タスク計画における、前記ロボットの位置の遷移を示す位置情報を取得する処理と、
前記位置情報によって特定される、前記第一タスクを実行中のロボットの位置のそれぞれが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げになるか否かを判定することによって、当該環境情報の取得処理の実行タイミングを決定する処理と、
をコンピュータに実行させるロボット制御プログラム。
(付記16)
前記第一タスクを実行中のロボットの位置が、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない期間を、当該環境情報の取得処理の実行タイミングであると決定する、
付記15に記載のロボット制御プログラム。
(付記17)
前記ロボットが、前記第二タスク計画を生成するための環境情報を取得する処理の実行の妨げにならない位置にある期間において、より遅いタイミングを優先して実行タイミングとして決定する、
付記15又は16に記載のロボット制御プログラム。
(付記18)
前記環境情報の取得処理は、撮影処理であり、
前記環境情報を取得する処理の実行の妨げになるか否かは、前記ロボットが前記環境情報に含まれる対象と重なることによって、当該対象の撮影を妨げているか否かである、
付記15又は16に記載のロボット制御プログラム。
(付記19)
前記制御部は、前記複数種類の対象のうち、いずれかの対象に関して前記環境情報を取得可能であると判定した場合に、当該環境情報の取得処理の実行タイミングとして決定する、
付記18に記載のロボット制御プログラム。
(付記20)
前記ロボットは、障害物を避けながらワークを目的地までに搬送するタスクを実行するものであり、
前記対象に前記ワーク、前記障害物、及び前記目的地のいずれか又は複数を含む、
付記19に記載のロボット制御プログラム。
(付記21)
前記制御部は、前記ロボットが前記第一タスクを実行中に、エラーが発生した場合、前記第二タスク計画を生成するための前記環境情報の再取得処理を実行する、
付記18に記載のロボット制御プログラム。
【符号の説明】
【0072】
10、20 ロボット制御システム
11、21 取得部
12、22 制御部
23 環境情報取得手段
F1 目的地
FP1、FP2 収納箱
H1 障害物
R1、R2、R3 ロボット
RP1、RP2、RP3 ピッキング部
SP1、SP2 搬入箱
S1 出発地
W1、W2、W3、W11、W12、W13、W111、W112、W113 ワーク