(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-27
(45)【発行日】2023-04-04
(54)【発明の名称】ロボット制御システム及びロボット制御方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20230328BHJP
G05B 19/418 20060101ALI20230328BHJP
【FI】
B25J9/22 Z
G05B19/418
(21)【出願番号】P 2020566511
(86)(22)【出願日】2020-01-17
(86)【国際出願番号】 JP2020001599
(87)【国際公開番号】W WO2020149414
(87)【国際公開日】2020-07-23
【審査請求日】2021-09-01
(31)【優先権主張番号】P 2019007251
(32)【優先日】2019-01-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】半田 博幸
(72)【発明者】
【氏名】曽我部 光司
(72)【発明者】
【氏名】嶌本 慶太
(72)【発明者】
【氏名】足立 勝
(72)【発明者】
【氏名】平田 亮吉
【審査官】國武 史帆
(56)【参考文献】
【文献】米国特許第09802317(US,B1)
【文献】特開2014-081813(JP,A)
【文献】特開2018-171663(JP,A)
【文献】国際公開第2018/098490(WO,A1)
【文献】特開2016-062549(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
ロボットの環境情報に対応し
て前記ロボットの
作業内容を特定するための作業指示情報を出力する
ように機械学習により生成された作業モデルを記憶するモデル記憶部と、
前記モデル記憶部に記憶された前記作業モデルと、前記ロボットの環境情報とに基づいて前
記作業指示情報を導出する作業指示導出部と、
複数の教示者の情報を記憶する教示者記憶部と、
前記作業指示情報に基づいて前記ロボットに作業を継続させる
ことができない場合に、教示者記憶部が記憶する複数の教示者のいずれかを選択する選択部と、
前記選択部が選択した教示者に、ネットワーク回線を介して前記ロボットの環境情報を送信する環境情報送信部と、
前記選択部が選択した教示者からネットワーク回線を介して前記
ロボットの作業内容を特定するためのサポート情報を受信するサポート情報受信部と、
前記ロボットの環境情報と、前記作業指示情報に基づ
き特定される作業内容を前記ロボット
が実行した結果とを含む
第1学習用データと、前記ロボットの環境情報と、前記サポート情報に基づ
き特定される作業内容を前記ロボット
が実行した結果とを含む
第2学習用データと
を蓄積する学習データ蓄積部と、
前記学習データ蓄積部に蓄積された前記第1学習用データと前記第2学習用データとに基づく機械学習により、
前記モデル記憶部に記憶された前記作業モデルを更新するモデル更新部と、を備えるロボット制御システム。
【請求項2】
前記ロボットの環境情報と、前記作業モデルとに基づいて前記作業指示情報に基づく前記ロボットの作業可否を判定する作業可否判定部
を更に備え、
前記選択部は、前記作業可否判定部により前記作業指示情報に基づく前記ロボットの作業が不可であると判定された場合に
、前記複数の教示者のいずれかを選択する、請求項1記載のロボット制御システム。
【請求項3】
前記モデル更新部がいずれかの前記作業モデルを更新した場合に、当該作業モデルの更新内容を前記ロボットの他のロボットの作業モデルにも反映させる更新内容反映部を更に備える、請求項1又は2記載のロボット制御システム。
【請求項4】
前記サポート情報に基づく前記ロボットの作業前に、既存のデータに基づいて前記サポート情報の適正度を導出する事前評価部と、
前記事前評価部が導出した前記サポート情報の適正度に基づいて、当該サポート情報の採用可否を判定するサポート可否判定部と、を更に備える請求項1~3のいずれか一項記載のロボット制御システム。
【請求項5】
前記サポート情報に基づく前記ロボットの作業後に、前記ロボットの作業結果に基づいて前記サポート情報の適正度を導出する事後評価部と、
前記事後評価部が導出した前記サポート情報の適正度に基づいて、当該サポート情報の教示者のスコアを導出するスコア導出部と、を更に備え、
前記選択部は、前記スコア導出部が導出したスコアに基づいて前記複数の教示者のいずれかを選択する、請求項1~4のいずれか一項記載のロボット制御システム。
【請求項6】
前記教示者記憶部が記憶する前記教示者の情報は、教示可能な作業種別の情報を含み、
前記選択部は、前記教示可能な作業種別の情報と、前記ロボットの作業種別とに基づいて前記複数の教示者のいずれかを選択する、請求項1~5のいずれか一項記載のロボット制御システム。
【請求項7】
前記サポート情報が必要である場合に、前記教示者記憶部が記憶する前記複数の教示者にネットワーク回線を介して前記サポート情報の送信を要求する教示要求部を更に備え、
前記選択部は、前記教示要求部からの要求への応答の速さに基づいて前記複数の教示者のいずれかを選択する、請求項1~6のいずれか一項記載のロボット制御システム。
【請求項8】
前記教示者による前記サポート情報の教示実績値と、
前記教示者とを対応付けて記憶する教示実績記憶部と、
前記サポート情報に基づく前記ロボットの作業が実行される度に、当該作業に応じて当該サポート情報の教示者の前記教示実績値を更新する教示実績更新部と、を更に備える請求項5記載のロボット制御システム。
【請求項9】
前記ロボットによる前記サポート情報の利用実績値と、前記ロボットとを対応付けて記憶する利用実績記憶部と、
前記サポート情報に基づく前記ロボットの作業が実行される度に、当該作業に応じて当該ロボットの前記利用実績値を更新する利用実績更新部と、を更に備える請求項8記載のロボット制御システム。
【請求項10】
ロボットの環境情報に対応し
て前記ロボットの
作業内容を特定するための作業指示情報を出力する
ように機械学習により生成され、モデル記憶部に記憶された作業モデルと、前記ロボットの環境情報とに基づいて前
記作業指示情報を導出することと、
複数の教示者の情報を記憶することと、
前記作業指示情報に基づいて前記ロボットに作業を継続させる
ことができない場合に、前記複数の教示者のいずれかを選択することと、
選択した教示者に、ネットワーク回線を介して前記ロボットの環境情報を送信することと、
選択した教示者からネットワーク回線を介して前記
ロボットの作業内容を特定するためのサポート情報を受信することと、
前記ロボットの環境情報と、前記作業指示情報に基づ
き特定される作業内容を前記ロボット
が実行した結果とを含む
第1学習用データと、前記ロボットの環境情報と、前記サポート情報に基づ
き特定される作業内容を前記ロボット
が実行した結果とを含む
第2学習用データと
を学習データ蓄積部に蓄積することと、
前記学習データ蓄積部に蓄積された前記第1学習用データと前記第2学習用データとに基づく機械学習により、
前記モデル記憶部に記憶された前記作業モデルを更新することと、を備えるロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御システム及びロボット制御方法に関する。
【背景技術】
【0002】
特許文献1には、ロボットが予め登録された作業プログラムに基づく再生動作の途中で停止する第1段階と、ロボットのダイレクト操作を許可する第2段階と、ダイレクト操作によりロボットを誘導動作させる第3段階と、ロボットのダイレクト操作を禁止する第4段階と、ロボットが作業プログラムに基づく再生動作を継続起動する第5段階からなるロボット誘導方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、ロボットと人との効率的な協働に有効なシステムを提供する。
【課題を解決するための手段】
【0005】
本開示の一側面に係るロボット制御システムは、複数の教示者の情報を記憶する教示者記憶部と、ロボットに作業を継続させるためにサポート情報が必要である場合に、教示者記憶部が記憶する複数の教示者のいずれかを選択する選択部と、選択部が選択した教示者に、ネットワーク回線を介してロボットの環境情報を送信する環境情報送信部と、選択部が選択した教示者からネットワーク回線を介してサポート情報を受信するサポート情報受信部と、を備える。
【0006】
本開示の他の側面に係るロボット制御方法は、複数の教示者の情報を記憶することと、ロボットに作業を継続させるためにサポート情報が必要である場合に、複数の教示者のいずれかを選択することと、選択した教示者に、ネットワーク回線を介してロボットの環境情報を送信することと、選択した教示者からネットワーク回線を介してサポート情報を受信することと、を備える。
【発明の効果】
【0007】
本開示によれば、ロボットと人との効率的な協働に有効なシステムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】ロボット制御システムの全体構成を例示する模式図である。
【
図2】エッジコントローラの機能的な構成を例示するブロック図である。
【
図3】コラボレーションコントローラの機能的な構成を例示するブロック図である。
【
図4】エッジコントローラ及びコラボレーションコントローラのハードウェア構成を例示するブロック図である。
【
図5】動作指令の出力手順を例示するフローチャートである。
【
図6】作業モデルの更新手順を例示するフローチャートである。
【
図7】サポート情報の受信手順を例示するフローチャートである。
【発明を実施するための形態】
【0009】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0010】
〔ロボット制御システム〕
図1に示すロボット制御システム1は、ネットワーク回線を介したロボットと教示者との協働を可能にする制御システムである。ロボット制御システム1は、所定の作業を実行させるようにロボットを制御することと、ロボットに作業を継続させるためにサポート情報が必要である場合に、複数の教示者のいずれかを選択することと、選択した教示者に、ネットワーク回線を介してロボットの環境情報を送信することと、選択した教示者からネットワーク回線を介してサポート情報を受信することと、サポート情報に基づいて作業を継続させるようにロボットを制御することと、を実行するように構成されている。ロボットに実行させる作業に特に制限はない。ロボットに実行させる作業の具体例としては、加工、組み立て、搬送作業等が挙げられる。ロボットに実行させる作業は、工業分野における作業に限られない。例えばロボットに実行させる作業は、種まき、収穫、葉掻き及び農薬散布等の農作業であってもよい。
【0011】
例えばロボット制御システム1は、複数のロボット装置10と、複数の教示端末40との間に介在する。ロボット装置10は、ロボット20と、ロボットコントローラ30とを有する。ロボット20は、例えば垂直多関節ロボットであり、基台21と、先端部22と、多関節アーム23とを有する。基台21は、作業エリアに設置される。基台21は、作業エリア内を移動可能な車両に設置されていてもよい。先端部22は、作業用のツールを保持する。ツールの具体例としては、把持用のハンド及び各種工具等が挙げられる。多関節アーム23は、複数のアクチュエータ(例えば電動アクチュエータ)を動力源として基台21に対する先端部22の位置及び姿勢を変更する。
【0012】
ロボットコントローラ30は、動作指令に従って動作させるようにロボット20を制御する。動作指令は、例えば先端部22の移動指令と、先端部22の移動に応じたツールの動作指令とを含む。先端部22の移動指令は、先端部22の位置及び姿勢の変更指令であり、時系列に並ぶ複数の目標位置・姿勢(先端部22の目標位置・姿勢)を含む。教示端末40は、教示者が用いる端末であり、環境情報の受信及び表示と、サポート情報の入力及び送信が可能であればいかなる端末であってもよい。教示端末40の具体例としては、スマートフォン、タブレットコンピュータ、及びパーソナルコンピュータ等が挙げられる。
【0013】
例えばロボット制御システム1は、エッジコントローラ100と、コラボレーションコントローラ200とを備える。エッジコントローラ100は、有線又は無線によりロボットコントローラ30に接続されている。エッジコントローラ100は、ロボット20の環境情報に基づいて、ロボット20に所定の作業を実行させるための動作指令を生成し、ロボットコントローラ30に送信する。例えばエッジコントローラ100は、ロボット20の環境情報の入力に応じて、当該環境情報に対応したロボット20の作業指示情報を出力する作業モデルを記憶することと、ロボット20の環境情報と、作業モデルとに基づいてロボット20への作業指示情報を導出することと、ロボット20の環境情報と、作業モデルとに基づいて作業指示情報に基づくロボット20の作業可否を判定することと、作業指示情報に基づくロボット20の作業が不可であると判定した場合にサポート情報を要求することとを実行するように構成されている。
【0014】
作業指示情報に基づくロボット20の作業が可であると判定した場合、エッジコントローラ100は作業指示情報に基づく動作指令を生成してロボットコントローラ30に出力する。作業指示情報に基づくロボット20の作業が不可であると判定した場合、エッジコントローラ100はサポート情報に基づく動作指令を生成してロボットコントローラ30に出力する。
【0015】
コラボレーションコントローラ200は、ネットワーク回線50を介して複数の教示端末40と接続されている。コラボレーションコントローラ200は、有線又は無線の専用回線を介してエッジコントローラ100と接続されていてもよいし、ネットワーク回線50を介してエッジコントローラ100と接続されていてもよい。ネットワーク回線50は、ローカルエリアネットワークであってもよいし、ワイドエリアネットワーク(例えばインターネット)であってもよい。
【0016】
コラボレーションコントローラ200は、複数の教示者の情報を記憶することと、エッジコントローラ100からのサポート情報の要求に応じて、複数の教示者のいずれかを選択することと、選択した教示者の教示端末40にネットワーク回線50を介してロボット20の環境情報を送信することと、選択した教示者の教示端末40からネットワーク回線50を介して環境情報に基づくサポート情報を受信することと、受信したサポート情報をエッジコントローラ100に送信することとを実行するように構成されている。以下、エッジコントローラ100及びコラボレーションコントローラ200の具体的な構成を例示する。
【0017】
(エッジコントローラ)
図2に示すように、エッジコントローラ100は、機能上の構成(以下、「機能モジュール」という。)として、モデル記憶部111と、環境情報取得部112と、作業指示導出部113と、作業指示記憶部114と、信頼度導出部115と、作業可否判定部116と、サポート要求部117と、サポート情報受信部118と、動作指令生成部121と、動作指令送信部122とを有する。
【0018】
モデル記憶部111は、複数のロボット20にそれぞれ対応する複数の上記作業モデルを記憶する。上述したように、作業モデルは、ロボット20の環境情報の入力に応じて、当該環境情報に対応したロボット20の作業指示情報を出力する。環境情報は、ロボット20の周辺環境の状態を示す情報である。環境情報の具体例としては、二次元又は三次元の画像情報等が挙げられる。作業指示情報は、ロボット20の周辺環境における作業対象物等、作業内容の特定に必要な情報を含む。ロボット20の周辺環境に、作業対象となり得る複数の物体が存在している場合、作業指示情報は、複数の物体の作業対象物としての推奨度をそれぞれ示す複数の数値を含んでいてもよい。作業指示情報は、上記動作指令であってもよい。
【0019】
作業モデルは、機械学習により構築される。作業モデルの具体例としては、上記環境情報を入力ベクトルとし、上記作業指示情報を出力ベクトルとするニューラルネットワークが挙げられる。ニューラルネットワークは、入力層と、一層又は複数層の中間層と、出力層とを有する。入力層は、入力ベクトルをそのまま次の中間層に出力する。中間層は、一つ前の層からの入力を活性化関数により変換して次の層に出力する。出力層は、入力層から最も遠い中間層からからの入力を活性化関数により変換し、変換結果を出力ベクトルとして出力する。作業モデルは、少なくとも環境情報の入力に応じて作業指示情報を出力する限りいかなるものであってもよく、必ずしもニューラルネットワークに限られない。例えば作業モデルは統計的解析等に基づき導出された関数であってもよい。
【0020】
作業モデルは、上記動作指令を含む作業指示情報を出力するように構成されていてもよい。この場合、作業モデルは、シミュレーションのランダム試行により、ロボット20と周辺物体との衝突が生じない先端部22の移動指令を生成するアルゴリズムを含んでもよい。
【0021】
環境情報取得部112は、ロボット20の環境情報をロボットコントローラ30から取得する。作業指示導出部113は、環境情報取得部112が取得したロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいてロボット20への作業指示情報を導出する。例えば作業指示導出部113は、ロボット20の環境情報を作業モデルに入力し、これに応じて作業モデルが出力する作業指示情報を得る。作業指示記憶部114は、作業指示導出部113が導出した作業指示情報を記憶する。
【0022】
信頼度導出部115は、作業指示情報の信頼度を導出する。例えば信頼度導出部115は、上記作業対象物としての推奨度が最高である物体(以下、「本命物体」という。)と、他の物体との推奨度の差に基づいて信頼度を導出する。具体的に、信頼度導出部115は、本命物体と、他の物体との推奨度の差が大きくなるのに応じて(すなわち本命物体の推奨度が相対的に高くなるのに応じて)信頼度を高くする。
【0023】
作業指示情報が上記動作指令である場合、信頼度導出部115は、動作指令に従ったロボット20の動作に更に基づいて信頼度を導出してもよい。例えば信頼度導出部115は、動作指令に従ったロボット20の動作のシミュレーションに基づいて信頼度を導出してもよい。例えば信頼度導出部115は、動作中のロボット20と周辺物体とが最接近する時点におけるロボット20と周辺物体との間隔が小さくなるのに応じて信頼度を低くしてもよい。
【0024】
作業可否判定部116は、環境情報取得部112が取得したロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいて、作業指示情報に基づくロボット20の作業可否を判定する。例えば作業可否判定部116は、信頼度導出部115が導出する信頼度が所定の閾値を超えている場合には作業指示情報に基づくロボット20の作業を可とし(許可し)、信頼度が当該閾値を下回っている場合には作業指示情報に基づくロボット20の作業を不可とする(禁止する)。
【0025】
サポート要求部117は、作業可否判定部116により作業指示情報に基づくロボット20の作業が不可とされた場合に、コラボレーションコントローラ200にサポート情報の送信を要求する。サポート要求部117は、サポート情報の送信の要求に際して、ロボット20の環境情報をコラボレーションコントローラ200に送信する。サポート要求部117は、サポート情報の送信の要求に際して、更にサポート情報の提供の難易度をコラボレーションコントローラ200に送信してもよい。この場合、サポート要求部117は、信頼度に基づいて難易度を算出してもよい。例えばサポート要求部117は、信頼度が低くなるほど難易度を高くしてもよい。
【0026】
サポート情報受信部118は、サポート要求部117からの要求に応じてコラボレーションコントローラ200が送信したサポート情報を受信する。例えばサポート情報は、作業指示情報と同様に、作業内容の特定に必要な情報を含む。サポート情報が動作指令を含んでいてもよい。
【0027】
動作指令生成部121は、作業指示情報又はサポート情報に基づいて上記動作指令を生成する。例えば動作指令生成部121は、作業指示情報又はサポート情報により特定される作業内容を実行させるように、先端部22の移動指令と、先端部22の移動に応じたツールの動作指令とを生成する。作業指示情報及びサポート情報が動作指令を含む場合、動作指令生成部121は、作業可否判定部116による判定結果に基づいて、作業指示情報に基づく動作指令又はサポート情報に基づく動作指令を選択する。動作指令送信部122は、動作指令生成部121が生成した動作指令をロボットコントローラ30に送信する。
【0028】
エッジコントローラ100は、ロボット20の環境情報と、ロボット20の作業結果とを学習用データとして蓄積することと、蓄積した学習用データに基づく機械学習により、モデル記憶部111の作業モデルを更新することとを更に実行するように構成されていてもよい。また、エッジコントローラ100は、いずれかのロボット20の作業モデルを更新した場合に、当該作業モデルの更新内容を他のロボット20の作業モデルにも反映させるように構成されていてもよい。例えばエッジコントローラ100は、機能モジュールとして、実績情報取得部123と、学習データ蓄積部124と、モデル更新部125と、更新内容反映部126と、実績情報送信部127とを更に有する。
【0029】
実績情報取得部123は、ロボット20の作業結果に関する作業実績情報を取得する。例えば作業実績情報は、作業指示情報又はサポート情報と、作業指示情報又はサポート情報に応じて動作したロボット20による作業の成否を示す成否情報とを含む。成否情報の具体例としては、ロボットコントローラ30におけるアラームの有無を示す情報等が挙げられる。
【0030】
作業実績情報は、作業指示情報又はサポート情報に応じて動作したロボット20による作業の効率を示す効率情報を更に含んでもよい。効率情報の具体例としては、ロボットコントローラ30において計測されたロボット20の作業時間等が挙げられる。例えば実績情報取得部123は、作業指示情報又はサポート情報を動作指令生成部121から取得し、成否情報及び効率情報をロボットコントローラ30から取得する。
【0031】
学習データ蓄積部124は、ロボット20の環境情報と、当該環境情報に応じたロボット20の作業実績情報とを学習用データとして蓄積する。例えば学習データ蓄積部124は、ロボット20の環境情報を環境情報取得部112から取得し、当該環境情報に応じたロボット20の作業実績情報を実績情報取得部123から取得して蓄積する。学習データ蓄積部124は、ロボット20ごとに学習用データを蓄積してもよい。換言すると、学習データ蓄積部124は、複数のロボット20にそれぞれ対応する複数の学習用データセット(学習用データの集合)を蓄積してもよい。
【0032】
モデル更新部125は、学習データ蓄積部124が蓄積した学習用データに基づく機械学習(例えばディープラーニング)により、モデル記憶部111の作業モデルを更新する。例えばモデル更新部125は、環境情報の入力に応じて作業モデルが出力する作業指示情報の適正度を高めるように、学習用データに基づいて作業モデルのパラメータ(例えば上記活性化関数の重み)を更新する。より具体的に、モデル更新部125は、ロボット20の環境情報と、当該環境情報に応じたロボット20の作業実績とを作業モデルに繰り返しあてはめることで、作業モデルのパラメータを更新する。
【0033】
更新内容反映部126は、モデル更新部125がいずれかのロボット20の作業モデルを更新した場合に、当該作業モデルの更新内容を他のいずれかのロボット20の作業モデルにも反映させる。例えば更新内容反映部126は、モデル更新部125がいずれかのロボット20の作業モデルを更新した場合に、当該ロボット20と同種の作業を行う他のロボット20の作業モデルを、更新された作業モデルで上書きする。実績情報送信部127は、実績情報取得部123が取得した作業実績情報をコラボレーションコントローラ200に送信する。実績情報送信部127が送信する作業実績情報は、後述するように教示者の評価に用いられる。
【0034】
(コラボレーションコントローラ)
図3に示すように、コラボレーションコントローラ200は、機能モジュールとして、教示者記憶部211と、サポート要求取得部212と、教示要求部213と、選択部214と、環境情報送信部215と、サポート情報受信部216と、サポート情報送信部217とを有する。
【0035】
教示者記憶部211は、複数の教示者の情報を記憶する。教示者の情報は、例えば教示者の識別情報と、教示者へのアクセス情報とを含む。アクセス情報は、例えば電子メールアドレス等、教示者への情報送信先を示す情報である。教示者の情報は、当該教示者が教示可能な作業種別の情報を含んでもよい。教示者が教示可能な作業種別とは、ロボット20にいかなる手順で作業を遂行させるべきかを当該教示者が判断し得る作業種別を意味する。教示者が教示可能な作業種別は、教示者の専門知識又は技能等に応じて定まる。例えば切削加工の専門知識又は技能を有するが、溶接の専門知識又は技能を有しない教示者によれば、切削加工の教示が可能であるが、溶接の教示は不可能である。
【0036】
サポート要求取得部212は、エッジコントローラ100(サポート要求部117)からのサポート情報の送信要求を取得する。上述のように、サポート情報の送信要求は、ロボット20の環境情報を含む。サポート情報の送信要求は、サポート情報の提供の難易度を更に含んでいてもよい。教示要求部213は、サポート情報が必要である場合に、教示者記憶部211が記憶する複数の教示者にネットワーク回線50を介してサポート情報の送信を要求する。サポート情報が必要である場合とは、サポート情報がなければロボット20に作業を継続させられない場合を意味する。サポート情報が必要である場合の具体例としては、エッジコントローラ100において上記作業指示情報に基づくロボット20の作業が不可とされる場合が挙げられる。例えば教示要求部213は、サポート要求取得部212がサポート情報の送信要求を取得した場合に、サポート情報の送信を要求するメッセージを上記複数の教示者の教示端末40に配信する。
【0037】
選択部214は、モデル記憶部111が記憶する複数の教示者のいずれかを、サポート情報の送信者として選択する。選択部214は、教示者が教示可能な作業種別の情報と、ロボット20の作業種別とに基づいて複数の教示者のいずれかを選択してもよい。例えば選択部214は、上記複数の教示者から、ロボット20の作業種別を教示可能な教示者を選択してもよい。選択部214は、教示要求部213からの要求への応答の速さに基づいて複数の教示者のいずれかを選択してもよい。例えば選択部214は、教示要求部213からの要求への応答が速い教示者を優先して選択してもよい。また、選択部214は、複数の選択基準(例えば上記作業種別に基づく選択基準及び応答の速さに基づく選択基準)の組み合わせにより複数の教示者のいずれかを選択してもよい。
【0038】
環境情報送信部215は選択部214が選択した教示者(以下、「被選択教示者」という。)に、ネットワーク回線50を介してロボット20の環境情報を送信する。例えば環境情報送信部215は、エッジコントローラ100(サポート要求部117)から受信した環境情報を、被選択教示者の教示端末40に送信する。被選択教示者の教示端末40は、ロボット20の環境情報を表示し、当該環境情報に基づいて被選択教示者が入力したサポート情報をコラボレーションコントローラ200に送信する。
【0039】
サポート情報受信部216は、被選択教示者からネットワーク回線50を介してサポート情報を受信する。例えばサポート情報受信部216は、被選択教示者の教示端末40が送信したサポート情報を受信する。サポート情報送信部217は、サポート情報受信部216が受信したサポート情報をエッジコントローラ100に送信する。サポート情報送信部217が送信したサポート情報は、上述したサポート情報受信部118により受信される。
【0040】
コラボレーションコントローラ200は、サポート情報に基づくロボット20の作業前に、既存のデータに基づいてサポート情報の適正度を導出することと、当該適正度に基づいて当該サポート情報の採用可否を判定することとを更に実行するように構成されていてもよい。例えばコラボレーションコントローラ200は、機能モジュールとして、事前評価部221とサポート可否判定部222とを更に有する。
【0041】
事前評価部221は、サポート情報に基づくロボット20の作業前に、既存のデータに基づいてサポート情報の適正度(以下、「事前適正度」という。)を導出する。既存のデータの具体例としては、事前適正度の導出対象となるサポート情報自体、及び被選択教示者による過去のサポート情報の送信実績(例えば後述の事後適正度)等が挙げられる。例えば事前評価部221は、サポート情報が示す作業対象物が、作業対象として適切な物体であるか否か等に基づいて事前適正度を導出する。例えば空間に固定されていて明らかに搬送不可能な物体が搬送の作業対象物とされている場合、事前評価部221は事前適正度を低くする。
【0042】
サポート可否判定部222は、事前評価部221が導出したサポート情報の事前適正度に基づいて、当該サポート情報の採用可否を判定する。例えばサポート可否判定部222は、サポート情報の事前適正度が所定の採用閾値を超えている場合に、当該サポート情報を採用可とし、サポート情報の事前適正度が当該採用閾値を下回っている場合に、当該サポート情報を採用不可とする。サポート可否判定部222が、サポート情報を採用不可とした場合、サポート情報送信部217による当該サポート情報の送信は禁止される。
【0043】
コラボレーションコントローラ200は、サポート情報に基づくロボット20の作業後に、当該ロボット20の作業結果に基づいてサポート情報の適正度を導出することと、当該適正度に基づいてサポート情報の教示者のスコアを導出することとを更に実行し、スコアに基づいて複数の教示者のいずれかを選択するように構成されていてもよい。例えばコラボレーションコントローラ200は、機能モジュールとして、実績情報受信部231と、事後評価部232と、スコア導出部233とを更に有する。
【0044】
実績情報受信部231は、サポート情報に基づくロボット20の作業結果を示す作業実績情報を上記実績情報送信部127から受信する。事後評価部232は、実績情報受信部231が受信した作業実績情報に基づいてサポート情報の適正度(以下、「事後適正度」という。)を導出する。例えば事後評価部232は、上記成否情報がロボット20による作業の成功を示している場合に、成否情報がロボット20による作業の失敗を示している場合に比較して事後適正度を高くする。また、事後評価部232は、上記効率情報により示される作業効率が高くなるのに応じて事後適正度を高くする。
【0045】
スコア導出部233は、事後評価部232が導出した事後適正度に基づいて、当該サポート情報の教示者のスコアを導出する。例えばスコア導出部233は、事後適正度が高くなるのに応じて教示者のスコアを高くする。
【0046】
選択部214は、スコア導出部233が導出したスコアに基づいて複数の教示者のいずれかを選択してもよい。例えば選択部214は、スコア導出部233が導出したスコアの高い教示者を優先して選択してもよい。この場合、選択部214は、スコアの高さに基づく選択基準と、他の選択基準(例えば上記作業種別に基づく選択基準及び応答の速さに基づく選択基準)との組み合わせに基づいて複数の教示者のいずれかを選択してもよい。
【0047】
コラボレーションコントローラ200は、サポート情報の送信に対する教示者への報酬額の算出基準となる教示実績値と、教示者とを対応付けて記憶することと、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該サポート情報の教示者の教示実績値を更新することと、を更に実行するように構成されていてもよい。また、コラボレーションコントローラ200は、サポート情報の利用に応じた課金額の算出基準となる利用実績値と、ロボット20とを対応付けて記憶することと、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該ロボット20の利用実績値を更新することと、を更に実行するように構成されていてもよい。例えばコラボレーションコントローラ200は、機能モジュールとして、教示実績記憶部241と、教示実績更新部242と、利用実績記憶部243と、利用実績更新部244とを更に有する。
【0048】
教示実績記憶部241は、上記教示実績値と、教示者とを対応付けて記憶する。例えば教示実績値は、ロボット20に作業を継続させるために用いられたサポート情報の送信実績を示す値である。教示実績値は、事後評価部232による事後適正度の評価結果を含んでいてもよいし、事後適正度の累積値を含んでいてもよい。この場合、例えばスコア導出部233は、教示実績記憶部241を参照し、教示実績値に基づいて教示者のスコアを導出してもよい。スコア導出部233は、教示実績値自体を教示者のスコアとしてもよいし、教示実績値に所定の演算を施して教示者のスコアを算出してもよい。
【0049】
教示実績更新部242は、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該サポート情報の教示者の教示実績値を更新する。例えば教示実績更新部242は、事後評価部232がサポート情報の事後適正度を導出する度に、当該事後適正度に相関する値(以下、「加算値」という。)を当該サポート情報の教示者の教示実績値に加算する。このため、サポート情報に基づくロボット20の作業が実行される度に当該サポート情報の教示者の教示実績値が増加し、その増加幅は上記事後適正度が高いほど大きくなる。教示実績更新部242は、サポート情報の提供の難易度に基づいて、当該サポート情報の教示者の教示実績値に対する加算値を変化させてもよい。例えば教示実績更新部242は、サポート情報の提供の難易度が高くなるほど加算値を高くしてもよい。
【0050】
利用実績記憶部243は、上記利用実績値と、ロボット20とを対応付けて記憶する。利用実績値は、事後評価部232による適正度の評価結果を含んでいてもよい。利用実績更新部244は、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該ロボット20の利用実績値を更新する。例えば利用実績更新部244は、事後評価部232がサポート情報の事後適正度を導出する度に、当該サポート情報を利用したロボット20の利用実績値に、当該事後適正度に相関する値(以下、「加算値」という。)を加算する。このため、サポート情報に基づくロボット20の作業が実行される度に当該ロボット20の利用実績値が増加し、その増加幅は上記事後適正度が高いほど大きくなる。利用実績更新部244は、サポート情報の提供の難易度に基づいて、当該サポート情報を利用したロボット20の利用実績値に対する加算値を変化させてもよい。例えば利用実績更新部244は、サポート情報の提供の難易度が高くなるほど加算値を高くしてもよい。
【0051】
(エッジコントローラ及びコラボレーションコントローラのハードウェア構成)
図4は、エッジコントローラ100及びコラボレーションコントローラ200のハードウェア構成を例示するブロック図である。エッジコントローラ100は、回路190を備える。回路190は、少なくとも一つのプロセッサ191と、メモリ192と、ストレージ193と、通信ポート194とを含む。ストレージ193は、例えば少なくとも一つのハードディスク又は不揮発性メモリ等の記憶媒体である。例えばストレージ193は、ロボット20の環境情報の入力に応じて、当該環境情報に対応したロボット20の作業指示情報を出力する作業モデルを記憶することと、ロボット20の環境情報と作業モデルとに基づいてロボット20への作業指示情報を導出することと、ロボット20の環境情報と作業モデルとに基づいて作業指示情報に基づくロボット20の作業可否を判定することと、作業指示情報に基づくロボット20の作業が不可であると判定された場合にサポート情報を要求することとをエッジコントローラ100に実行させるプログラムを記憶している。例えばストレージ193は、上述したエッジコントローラ100の機能モジュールを構成するためのプログラムを記憶している。メモリ192は、ストレージ193からロードしたプログラム及びプロセッサ191による演算結果等を一時的に記憶する。プロセッサ191は、メモリ192と協働して上記プログラムを実行することで、エッジコントローラ100の各機能モジュールを構成する。通信ポート194は、プロセッサ191からの指令に応じ、ロボットコントローラ30及びコラボレーションコントローラ200との間でネットワーク通信を行う。
【0052】
コラボレーションコントローラ200は、回路290を備える。回路290は、少なくとも一つのプロセッサ291と、メモリ292と、ストレージ293と、通信ポート294とを含む。ストレージ293は、例えば少なくとも一つのハードディスク又は不揮発性メモリ等の記憶媒体である。ストレージ293は、複数の教示者の情報を記憶することと、エッジコントローラ100からのサポート情報の要求に応じて複数の教示者のいずれかを選択することと、選択した教示者の教示端末40にネットワーク回線50を介してロボット20の環境情報を送信することと、選択した教示者の教示端末40からネットワーク回線50を介して環境情報に基づくサポート情報を受信することと、受信したサポート情報をエッジコントローラ100に送信することとをコラボレーションコントローラ200に実行させるプログラムを記憶している。例えばストレージ293は、上述したコラボレーションコントローラ200の機能モジュールを構成するためのプログラムを記憶している。メモリ292は、ストレージ293からロードしたプログラム及びプロセッサ291による演算結果等を一時的に記憶する。プロセッサ291は、メモリ292と協働して上記プログラムを実行することで、コラボレーションコントローラ200の各機能モジュールを構成する。通信ポート294は、プロセッサ291からの指令に応じ、教示端末40及びエッジコントローラ100との間でネットワーク通信を行う。ストレージ293は、必ずしもコラボレーションコントローラ200に内蔵されていなくてもよい。例えばストレージ293は、ネットワーク回線50を介して通信ポート294に接続された外部のストレージ(例えばクラウド)であってもよい。
【0053】
〔ロボット制御手順〕
続いて、ロボット制御方法の一例として、ロボット制御システム1が実行する制御手順を説明する。この制御手順は、エッジコントローラ100が実行する動作指令の出力手順と、エッジコントローラ100が実行する作業モデルの更新手順と、コラボレーションコントローラ200が実行するサポート情報の受信手順とを含む。以下、各手順を詳細に例示する。
【0054】
(動作指令の出力手順)
動作指令の出力手順は、ロボット20の環境情報と、上記作業モデルとに基づいてロボット20への作業指示情報を導出することと、ロボット20の環境情報と、作業モデルとに基づいて作業指示情報に基づくロボット20の作業可否を判定することと、作業指示情報に基づくロボット20の作業が可であると判定した場合に、作業指示情報に基づく動作指令を生成してロボットコントローラ30に出力することと、作業指示情報に基づくロボット20の作業が不可であると判定した場合に、サポート情報を要求し、サポート情報に基づく動作指令を生成してロボットコントローラ30に出力することとを含む。
【0055】
図5は、一つのロボット20に対してエッジコントローラ100が実行する動作指令の出力手順を例示するフローチャートである。
図5に示すように、エッジコントローラ100は、まずステップS01,S02を実行する。ステップS01では、環境情報取得部112が、ロボット20の環境情報をロボットコントローラ30から取得する。ステップS02では、作業指示導出部113が、環境情報取得部112が取得したロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいてロボット20への作業指示情報を導出する。例えば作業指示導出部113は、ロボット20の環境情報を作業モデルに入力し、これに応じて作業モデルが出力する作業指示情報を得て作業指示記憶部114に書き込む。
【0056】
次に、エッジコントローラ100は、ステップS03,S04を実行する。ステップS03では、信頼度導出部115が作業指示情報の信頼度を導出する。ステップS04では、作業可否判定部116が、環境情報取得部112が取得したロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいて、作業指示情報に基づくロボット20の作業可否を判定する。例えば作業可否判定部116は、信頼度導出部115が導出する信頼度が所定の閾値を超えている場合には作業指示情報に基づくロボット20の作業が可であると判定し、信頼度が当該閾値を下回っている場合には作業指示情報に基づくロボット20の作業が不可であると判定する。
【0057】
ステップS04において作業指示情報に基づくロボットの作業が可であると判定した場合、エッジコントローラ100はステップS05を実行する。ステップS05では、動作指令生成部121が、作業指示情報に基づいてロボット20の動作指令を生成する。例えば動作指令生成部121は、作業指示情報により特定される作業内容を実行させるように、先端部22の移動指令と、先端部22の移動に応じたツールの動作指令とを生成する。
【0058】
ステップS04において作業指示情報に基づくロボットの作業が不可であると判定した場合、エッジコントローラ100は、ステップS06,S07,S08を実行する。ステップS06では、サポート要求部117が、コラボレーションコントローラ200にサポート情報の送信を要求する。また、サポート要求部117は、教示者に参照させるためのロボット20の環境情報をコラボレーションコントローラ200に送信する。ステップS07では、サポート情報受信部118が、サポート要求部117からの要求に応じてコラボレーションコントローラ200が送信したサポート情報を受信する。ステップS08では、動作指令生成部121が、サポート情報に基づいてロボット20の動作指令を生成する。例えば動作指令生成部121は、サポート情報により特定される作業内容を実行させるように、先端部22の移動指令と、先端部22の移動に応じたツールの動作指令とを生成する。
【0059】
ステップS05,S08の次に、エッジコントローラ100は、ステップS09を実行する。ステップS09では、動作指令生成部121が生成した動作指令を、動作指令送信部122がロボットコントローラ30に出力する。ロボットコントローラ30は、動作指令送信部122から出力された動作指令に従ってロボット20を制御する。これにより、作業指示情報又はサポート情報に基づく作業がロボット20により実行される。以上で動作指令の出力手順が完了する。エッジコントローラ100は、複数のロボット20のそれぞれに対して、以上の手順を繰り返す。
【0060】
(作業モデルの更新手順)
作業モデルの更新手順は、ロボット20の環境情報と、ロボット20の作業結果とを学習用データとして蓄積することと、蓄積した学習用データに基づく機械学習により、モデル記憶部111の作業モデルを更新することと、当該ロボット20の作業モデルの更新内容を他のロボット20の作業モデルにも反映させることとを含む。
【0061】
図6は、一つのロボット20の作業モデルに対してエッジコントローラ100が実行する更新手順を例示するフローチャートである。
図6に示すように、エッジコントローラ100は、まずステップS11,S12,S13を実行する。ステップS11では、実績情報取得部123が、動作指令生成部121による上記動作指令の生成を待機する。ステップS12では、実績情報取得部123が、上記動作指令に従ったロボット20の作業結果に関する作業実績情報を取得する。例えば実績情報取得部123は、作業指示情報又はサポート情報を動作指令生成部121から取得し、上記成否情報及び効率情報等をロボットコントローラ30から取得する。ステップS13では、実績情報送信部127が、実績情報取得部123が取得した作業実績情報をコラボレーションコントローラ200に送信する。
【0062】
次に、エッジコントローラ100は、ステップS14,S15を実行する。ステップS14では、学習データ蓄積部124が、ロボット20の環境情報と、当該環境情報に応じたロボット20の作業実績情報と上記学習用データとして蓄積する。例えば学習データ蓄積部124は、ロボット20の環境情報を環境情報取得部112から取得し、当該環境情報に応じたロボット20の作業実績情報を実績情報取得部123から取得し、これらを学習用データとして蓄積する。ステップS15では、モデル更新部125が、学習データ蓄積部124が蓄積したデータ数(ロボット20の環境情報及び作業実績情報の数)が、所定の学習可能数を超えたか否かを確認する。ここでのデータ数は、最新の作業モデル(モデル記憶部111が記憶している作業モデル)が得られた時点以降に蓄積されたデータ数である。
【0063】
ステップS15においてデータ数が所定の学習可能数を超えていないと判定した場合、エッジコントローラ100は、処理をステップS11に戻す。ステップS15においてデータ数が所定の学習可能数を超えたと判定した場合、エッジコントローラ100は、ステップS16,S17を実行する。ステップS16では、モデル更新部125が、学習データ蓄積部124が蓄積した学習用データに基づく機械学習により、モデル記憶部111の作業モデルを更新する。ステップS17では、更新内容反映部126が、ステップS16におけるロボット20の作業モデルの更新内容を、他のいずれかのロボット20の作業モデルに反映させる。エッジコントローラ100は、複数のロボット20のそれぞれの作業モデルに対して、以上の手順を繰り返す。
【0064】
(サポート情報の受信手順)
サポート情報の受信手順は、エッジコントローラ100からのサポート情報の要求に応じて、複数の教示者のいずれかを選択することと、選択した教示者の教示端末40にネットワーク回線50を介してロボット20の環境情報を送信することと、選択した教示者の教示端末40からネットワーク回線50を介して環境情報に基づくサポート情報を受信することと、受信したサポート情報をエッジコントローラ100に送信することとを含む。
【0065】
例えば
図7に示すように、コラボレーションコントローラ200は、ステップS21,S22,S23,S24を実行する。ステップS21では、サポート要求取得部212が、サポート要求部117からのサポート情報の送信要求を取得する。ステップS22では、教示要求部213が、サポート情報が対象とするロボット20の作業種別を教示可能な教示者を、教示者記憶部211が記憶する複数の教示者から抽出する。以下、教示要求部213が抽出した教示者を「候補教示者」という。ステップS23では、教示要求部213が、ステップS22において抽出された候補教示者に、ネットワーク回線50を介してサポート情報の送信を要求する。ステップS24では、スコア導出部233が、候補教示者からの応答を待機する。スコア導出部233は、複数の候補教示者からの応答を待機してもよい。
【0066】
次に、コラボレーションコントローラ200は、ステップS25,S26を実行する。ステップS25では、スコア導出部233が、教示要求に応答した候補教示者のスコアを、以前に事後評価部232が導出した上記事後適正度に基づいて導出する。例えばスコア導出部233は、教示実績記憶部241を参照し、上記教示実績値に基づいて候補教示者のスコアを導出する。ステップS26では、選択部214が、候補教示者のいずれかを、サポート情報の送信者として選択する。例えば選択部214は、スコア導出部233が導出したスコアに基づいて複数の教示者のいずれかを選択してもよい。
【0067】
次に、コラボレーションコントローラ200は、ステップS27,S28を実行する。選択部214は、スコアの高さに基づく選択基準と、他の選択基準(例えば上記作業種別に基づく選択基準及び応答の速さに基づく選択基準)との組み合わせに基づいて複数の教示者のいずれかを選択してもよい。ステップS27では、環境情報送信部215が、被選択教示者(選択部214が選択した教示者)に、ネットワーク回線50を介してロボット20の環境情報を送信する。ステップS28では、サポート情報受信部216が、被選択教示者からネットワーク回線50を介してサポート情報を受信する。
【0068】
次に、コラボレーションコントローラ200は、ステップS31,S32を実行する。ステップS31では、事前評価部221が、既存のデータに基づいてサポート情報の上記事前適正度を導出する。ステップS32では、サポート可否判定部222が、事前評価部221が導出した事前適正度に基づいて、当該サポート情報の採用可否を判定する。例えばサポート可否判定部222は、事前適正度が所定の採用閾値を超えているか否かを判定する。
【0069】
ステップS32においてサポート情報が採用不可であると判定した場合、コラボレーションコントローラ200は、処理をステップS24に戻す。以後、サポート可否判定部222によりサポート情報が採用可であると判定されるまで、サポート情報の取得と、事前適正度に基づく採用可否の判定とが繰り返される。
【0070】
ステップS32においてサポート情報が採用可であると判定した場合、コラボレーションコントローラ200は、ステップS33,S34を実行する。ステップS33では、サポート情報送信部217が、採用可と判定されたサポート情報をエッジコントローラ100に送信する。ステップS34では、実績情報受信部231が、サポート情報に基づくロボット20の作業結果を示す作業実績情報を上記実績情報送信部127から受信する。
【0071】
次に、コラボレーションコントローラ200は、ステップS35,S36を実行する。ステップS35では、事後評価部232が、実績情報受信部231が受信した作業実績情報に基づいてサポート情報の上記事後適正度を導出する。ステップS36では、教示実績更新部242が、サポート情報の事後適正度に相関する値を、当該サポート情報の教示者の教示実績値に加算し、利用実績更新部244が、サポート情報の事後適正度に相関する値を、当該サポート情報を利用したロボット20の利用実績値に加算する。以上でサポート情報の受信手順が完了する。コラボレーションコントローラ200は以上の手順を繰り返す。
【0072】
〔本実施形態の効果〕
以上に説明したように、ロボット制御システム1は、複数の教示者の情報を記憶する教示者記憶部211と、ロボット20に作業を継続させるためにサポート情報が必要である場合に、教示者記憶部211が記憶する複数の教示者のいずれかを選択する選択部214と、選択部214が選択した教示者に、ネットワーク回線50を介してロボット20の環境情報を送信する環境情報送信部215と、選択部214が選択した教示者からネットワーク回線50を介してサポート情報を受信するサポート情報受信部216と、を備える。
【0073】
このロボット制御システム1によれば、複数の教示者から、ネットワーク回線50を介してサポート情報の提供を受けることが可能である。このため、常時待機している教示者がいなくても、サポート情報を早期に取得してロボット20の作業を継続させることができる。また、各教示者は、ロボット20の近くに常時待機する必要がないので、各自の作業を遂行することが可能である。従って、ロボット20と人との効率的な協働に有効である。
【0074】
ロボット制御システム1は、サポート情報に基づくロボット20の作業前に、既存のデータに基づいてサポート情報の適正度を導出する事前評価部221と、事前評価部221が導出したサポート情報の適正度に基づいて、当該サポート情報の採用可否を判定するサポート可否判定部222と、を更に備えていてもよい。この場合、複数の教示者から幅広くサポート情報の提供を受けつつ、適正度の低いサポート情報を採用不可とすることで、サポート情報に基づくロボット20の作業の信頼性を向上させることができる。
【0075】
ロボット制御システム1は、サポート情報に基づくロボット20の作業後に、ロボット20の作業結果に基づいてサポート情報の適正度を導出する事後評価部232と、事後評価部232が導出したサポート情報の適正度に基づいて、当該サポート情報の教示者のスコアを導出するスコア導出部233と、を更に備え、選択部214は、スコア導出部233が導出したスコアに基づいて複数の教示者のいずれかを選択してもよい。この場合、複数の教示者から幅広くサポート情報の提供を受けつつ、適正度の高いサポート情報を提供する傾向のある教示者を優先することで、サポート情報に基づくロボット20の作業の信頼性を向上させることができる。
【0076】
教示者記憶部211が記憶する教示者の情報は、教示可能な作業種別の情報を含み、選択部214は、教示可能な作業種別の情報と、ロボット20の作業種別とに基づいて複数の教示者のいずれかを選択してもよい。この場合、複数の教示者から幅広くサポート情報の提供を受けつつ、サポート情報が対象とする作業種別に適した教示者を優先することで、サポート情報に基づくロボット20の作業の信頼性を更に向上させることができる。
【0077】
ロボット制御システム1は、サポート情報が必要である場合に、教示者記憶部211が記憶する複数の教示者にネットワーク回線50を介してサポート情報の送信を要求する教示要求部213を更に備え、選択部214は、教示要求部213からの要求への応答の速さに基づいて複数の教示者のいずれかを選択してもよい。この場合、応答の早い教示者を優先することで、より迅速なサポート情報の提供を教示者に促すことができる。このため、ロボット20の作業の効率を更に向上させることができる。
【0078】
ロボット制御システム1は、サポート情報の送信に対する報酬額の算出基準となる教示実績値と、教示者とを対応付けて記憶する教示実績記憶部241と、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該サポート情報の教示者の教示実績値を更新する教示実績更新部242と、を更に備えていてもよい。この場合、教示実績と報酬額とを相関させることで、より積極的なサポート情報の提供を教示者に促すことができる。このため、ロボット20の作業の効率を更に向上させることができる。
【0079】
ロボット制御システム1は、サポート情報の利用に応じた課金額の算出基準となる利用実績値と、ロボット20とを対応付けて記憶する利用実績記憶部243と、サポート情報に基づくロボット20の作業が実行される度に、当該作業に応じて当該ロボット20の利用実績値を更新する利用実績更新部244と、を更に備えていてもよい。この場合、利用実績に応じた合理的な課金によって、サポート情報の有効活用を促すことができる。
【0080】
ロボット制御システム1は、ロボット20の環境情報の入力に応じて、当該環境情報に対応したロボット20の作業指示情報を出力する作業モデルを記憶するモデル記憶部111と、ロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいてロボット20への作業指示情報を導出する作業指示導出部113と、ロボット20の環境情報と、モデル記憶部111が記憶する作業モデルとに基づいて作業指示情報に基づくロボット20の作業可否を判定する作業可否判定部116と、作業可否判定部116により作業指示情報に基づくロボット20の作業が不可であると判定された場合にサポート情報を要求するサポート要求部117と、を更に備えていてもよい。この場合、ロボット20の自律動作を活用し、サポート情報が必要となる状況を削減することで、教示者の負担を更に軽減することができる。
【0081】
ロボット制御システム1は、ロボット20の環境情報と、ロボット20の作業結果とを学習用データとして蓄積する学習データ蓄積部124と、学習データ蓄積部124が蓄積した学習用データに基づく機械学習により、作業モデルを更新するモデル更新部125とを更に備えていてもよい。この場合、機械学習によりロボット20の自律性を向上させることによって、教示者の負担を徐々に軽減することができる。
【0082】
ロボット制御システム1は、モデル更新部125がいずれかの作業モデルを更新した場合に、当該作業モデルの更新内容を上記ロボット20の他のロボット20の作業モデルにも反映させる更新内容反映部126を更に備えていてもよい。この場合、最新の作業モデルの共有により、各ロボット20の自律性を迅速に向上させることができる。
【0083】
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。
【符号の説明】
【0084】
1…ロボット制御システム、20…ロボット、50…ネットワーク回線、111…モデル記憶部、113…作業指示導出部、116…作業可否判定部、117…サポート要求部、124…学習データ蓄積部、125…モデル更新部、126…更新内容反映部、211…教示者記憶部、213…教示要求部、214…選択部、215…環境情報送信部、216…サポート情報受信部、221…事前評価部、222…サポート可否判定部、232…事後評価部、233…スコア導出部、241…教示実績記憶部、242…教示実績更新部、243…利用実績記憶部、244…利用実績更新部。