(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175488
(43)【公開日】2024-12-18
(54)【発明の名称】ロボット動作制御装置、ロボット動作制御システム、及びロボット動作制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20241211BHJP
【FI】
B25J13/08 A
B25J13/08 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023093317
(22)【出願日】2023-06-06
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】清水 自由理
(72)【発明者】
【氏名】徳田 勇也
(72)【発明者】
【氏名】伊藤 潔人
(72)【発明者】
【氏名】伊藤 洋
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707CS08
3C707DS01
3C707JS03
3C707JS07
3C707JU03
3C707JU14
3C707KS06
3C707KS16
3C707KS20
3C707KS34
3C707KT01
3C707KT05
3C707KW03
3C707KX07
3C707KX10
3C707LS15
3C707LV14
3C707LW12
3C707LW15
3C707MT04
3C707WA14
3C707WA16
3C707WA17
(57)【要約】 (修正有)
【課題】ロボットによる作業の失敗の要因や作業の継続が困難となった要因を、オペレータが容易に分析可能なロボット動作制御装置を提供する。
【解決手段】本発明によるロボット動作制御装置110は、センサ105を備えるロボット100の動作指令を入力する入出力部121と、着目データ抽出部115と動作選択確率算出部116を有しロボット100の動作を生成する動作生成部112を備える。着目データ抽出部115は、動作指令とセンサ105の検出値から、ロボット100の動作の生成における着目データを抽出する。動作選択確率算出部116は、着目データに基づき、ロボット100の動作内容と動作内容を選択すべき確率を、動作選択の確率として算出する。動作生成部112は、算出された動作内容のうち選択すべき確率の高い動作内容に基づいて、ロボット100の動作を生成する。入出力部121は、着目データと動作選択の確率を表示部に出力する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
センサを備えるロボットに対する動作指令を入力する入出力部と、
着目データ抽出部と動作選択確率算出部を有し、前記ロボットの動作を生成する動作生成部と、
を備え、
前記着目データ抽出部は、前記動作指令と前記センサの検出値から、前記ロボットの動作の生成において着目する特徴を持ったデータである着目データを抽出し、
前記動作選択確率算出部は、前記着目データに基づき、前記ロボットが次に実行すべき動作内容と、前記動作内容を選択すべき確率とを、動作選択の確率として算出し、
前記動作生成部は、前記動作選択確率算出部が算出した前記動作内容のうち前記選択すべき確率の高い前記動作内容に基づいて、前記ロボットの動作を生成し、
前記入出力部は、前記着目データと前記動作選択の確率を、オペレータが参照する表示部に出力する、
ことを特徴とするロボット動作制御装置。
【請求項2】
前記ロボットの前記動作内容の、前記ロボットが既に実行した前記動作内容に対する近似度である確度を算出する動作確度算出部を備え、
前記入出力部は、前記確度を出力する、
請求項1に記載のロボット動作制御装置。
【請求項3】
前記着目データを保存する着目データ保存部と、
前記動作選択の確率を保存する動作選択確率保存部と、
前記確度を保存する動作確度保存部と、
を備える、
請求項2に記載のロボット動作制御装置。
【請求項4】
前記動作選択確率算出部は、前記ロボットの予め設定された複数の動作候補に対して、前記動作選択の確率を算出する、
請求項1に記載のロボット動作制御装置。
【請求項5】
外部装置に接続され、
前記確度を用いて前記ロボットの動作が成功したか失敗したかを判断する動作結果判定部を備え、
前記入出力部は、前記ロボットの動作が失敗したと前記動作結果判定部が判断した場合に、前記着目データと、前記動作選択の確率と、前記確度を前記外部装置に出力する、
請求項2に記載のロボット動作制御装置。
【請求項6】
前記入出力部は、オペレータが前記外部装置を用いて変更した、前記着目データと前記ロボットの前記動作内容を入力可能であり、
前記動作生成部は、前記入出力部が入力した前記着目データと前記ロボットの前記動作内容の少なくとも一方に基づいて、前記ロボットの動作を再生成する、
請求項5に記載のロボット動作制御装置。
【請求項7】
請求項1に記載のロボット動作制御装置と、
前記センサを備える前記ロボットと、
前記ロボット動作制御装置に接続された外部装置と、
を備えることを特徴とするロボット動作制御システム。
【請求項8】
センサを備えるロボットに対する動作指令を入力する入力ステップと、
前記動作指令と前記センサの検出値から、前記ロボットの動作の生成において着目する特徴を持ったデータである着目データを抽出する着目データ抽出ステップと、
前記着目データに基づき、前記ロボットが次に実行すべき動作内容と、前記動作内容を選択すべき確率とを、動作選択の確率として算出する動作選択確率算出ステップと、
前記動作選択確率算出ステップで算出した前記動作内容のうち前記選択すべき確率の高い前記動作内容に基づいて、前記ロボットの動作を生成する動作生成ステップと、
前記着目データと前記動作選択の確率を、オペレータが参照する表示部に出力する出力ステップと、
を備えることを特徴とするロボット動作制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの動作を制御するロボット動作制御装置、ロボット動作制御システム、及びロボット動作制御方法に関する。
【背景技術】
【0002】
近年、労働人口の低下に伴い、従来人の手で行われていた業務を自動化するニーズが高まり、ロボットによる作業代替が進んでいる。
【0003】
ロボットによる作業代替では、ロボットが環境によらず完全に自律して作業を完遂することが望ましい。しかし、変化する作業現場の全ての状況に柔軟に対応するロボットを構築するのは困難である。そこで、ロボットによる自動化を前提としつつ、ロボットが自律的に対応できない状況ではオペレータによる操作介入を伴う半自律ロボットが検討されている。
【0004】
従来の半自律ロボットの例は、特許文献1に記載されている。特許文献1に記載された半自律ロボットシステムでは、ロボットに対して第1~第4のいずれかのサポート処理を適切に選択して実行することにより、オペレータによるサポート負担を軽減しつつ、ロボットの作業継続性を実現する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、ロボットの状況に応じて適切なサポートを提供可能であるが、なぜロボットがサポートを必要とする状態になったかという要因の分析は行っていない。今後、ロボットの自律性を改善するためには、ロボットが作業を継続できない状況に至った要因や作業を失敗した要因を分析し、これらの要因に対してロボットが自律的に対応できる機能を開発する必要がある。
【0007】
本発明は、上記の実情に鑑みてなされたものである。本発明の目的は、ロボットによる作業の失敗の要因や作業の継続が困難となった要因を、オペレータが容易に分析可能なロボット動作制御装置、ロボット動作制御システム、及びロボット動作制御方法を提供することである。
【課題を解決するための手段】
【0008】
本発明によるロボット動作制御装置は、センサを備えるロボットに対する動作指令を入力する入出力部と、着目データ抽出部と動作選択確率算出部を有し、前記ロボットの動作を生成する動作生成部とを備える。前記着目データ抽出部は、前記動作指令と前記センサの検出値から、前記ロボットの動作の生成において着目する特徴を持ったデータである着目データを抽出する。前記動作選択確率算出部は、前記着目データに基づき、前記ロボットが次に実行すべき動作内容と、前記動作内容を選択すべき確率とを、動作選択の確率として算出する。前記動作生成部は、前記動作選択確率算出部が算出した前記動作内容のうち前記選択すべき確率の高い前記動作内容に基づいて、前記ロボットの動作を生成する。前記入出力部は、前記着目データと前記動作選択の確率を、オペレータが参照する表示部に出力する。
【0009】
本発明によるロボット動作制御システムは、本発明によるロボット動作制御装置と、前記センサを備える前記ロボットと、前記ロボット動作制御装置に接続された外部装置とを備える。
【0010】
本発明によるロボット動作制御方法は、センサを備えるロボットに対する動作指令を入力する入力ステップと、前記動作指令と前記センサの検出値から、前記ロボットの動作の生成において着目する特徴を持ったデータである着目データを抽出する着目データ抽出ステップと、前記着目データに基づき、前記ロボットが次に実行すべき動作内容と、前記動作内容を選択すべき確率とを、動作選択の確率として算出する動作選択確率算出ステップと、前記動作選択確率算出ステップで算出した前記動作内容のうち前記選択すべき確率の高い前記動作内容に基づいて、前記ロボットの動作を生成する動作生成ステップと、前記着目データと、前記動作選択の確率をオペレータが参照する表示部に出力する出力ステップとを備える。
【発明の効果】
【0011】
本発明によると、ロボットによる作業の失敗の要因や作業の継続が困難となった要因を、オペレータが容易に分析可能なロボット動作制御装置、ロボット動作制御システム、及びロボット動作制御方法を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施例によるロボット動作制御装置が制御するロボットの例を示す図である。
【
図2】本発明の実施例によるロボット動作制御システムが備える外部装置の例を示す図である。
【
図3】本発明の実施例によるロボット動作制御システムの構成を示す機能ブロック図である。
【
図4】本発明の実施例によるロボット動作制御方法のフローチャートである。
【
図5】本発明の実施例によるロボット動作制御システムのネットワーク構成を示す図である。
【
図6A】本発明の実施例1において、ロボットの作業対象である電源盤を示す図であり、電源盤のドアが閉じている状態を示す図である。
【
図6B】本発明の実施例1において、ロボットの作業対象である電源盤を示す図であり、電源盤のドアが開いている状態を示す図である。
【
図7A】実施例1において、ロボットが動作を実行した状態を示す図である。
【
図7B】実施例1において、ロボットが動作を実行した状態を示す図である。
【
図7C】実施例1において、ロボットが動作を実行した状態を示す図である。
【
図7D】実施例1において、ロボットが動作を実行した状態を示す図である。
【
図8】実施例1において、オペレータによる修正指示で、外部装置の表示部に表示される画面の例を示す図である。
【
図9】実施例2において、オペレータによる修正指示で、外部装置の表示部に表示される画面の例を示す図である。
【
図10A】実施例2において、ロボットが動作を実行した状態を示す図である。
【
図10B】実施例2において、ロボットが動作を実行した状態を示す図である。
【
図10C】実施例2において、ロボットが動作を実行した状態を示す図である。
【
図10D】実施例2において、ロボットが動作を実行した状態を示す図である。
【
図11】実施例3において、オペレータによる修正指示で、外部装置の表示部に表示される画面の例を示す図である。
【発明を実施するための形態】
【0013】
本発明は、オペレータによる操作介入を伴う半自律ロボットの動作制御に関し、ロボットが作業に失敗した場合または作業の継続が困難となった場合に、その状況に至るまでの判断と動作の履歴を見える化することができる。これにより、作業が失敗した要因または作業の継続が困難となった要因を、オペレータが容易に分析することができる。
【0014】
以下、本発明の実施例によるロボット動作制御装置、ロボット動作制御システム、及びロボット動作制御方法を、図面を参照して説明する。なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。
【0015】
以下の実施例では、一例として、移動して物体を把持可能なロボットを制御する例について説明する。
【0016】
図1は、本実施例によるロボット動作制御装置が制御するロボット100の例を示す図である。ロボット100は、本体104、移動機構103、アーム101、ハンド102、センサ、及び送受信部106を備える。
図1には、ロボット100が備えるセンサの一例として、物体を撮像する視覚センサ105を示している。
【0017】
移動機構103は、本体104の下部に設けられ、ロボット100を平面上の全方向に移動させることができる。移動機構103は、脚部、クローラー、及び車輪など、任意の構成を備えることができる。
図1には、一例として、4脚で構成された移動機構103を示している。
【0018】
アーム101は、本体104に設けられ、例えばシリアルリンク機構を備える。
【0019】
ハンド102は、アーム101の先端に設けられ、把持部を備えて物体を把持可能である。
【0020】
視覚センサ105と送受信部106は、本体104に設けられている。
【0021】
図1には示していないが、本体104の内部には、ロボット100の動作を制御するロボット動作制御装置と、ロボット100の位置と姿勢を検出する位置・姿勢センサが設けられている。また、アーム101の関節部とハンド102の把持部には、力覚センサが設けられている。
【0022】
図2は、本実施例によるロボット動作制御システムが備える外部装置200の例を示す図である。外部装置200は、表示部201、入力部202、及び送受信部203を備え、ロボット100と通信可能である。
【0023】
外部装置200は、送受信部203とロボット100の送受信部106により、ロボット100と通信することができる。ロボット100のオペレータは、外部装置200を用いて、ロボット100への動作指令の入力や、ロボット100の状態の把握や確認などが可能である。
【0024】
なお、外部装置200は、ロボット100に設けられていてもよい。
【0025】
図3は、本実施例によるロボット動作制御システムの構成を示す機能ブロック図である。本実施例によるロボット動作制御システムは、ロボット100と、ロボット動作制御装置110と、外部装置200を備える。ロボット動作制御装置110は、外部装置200に接続可能であり、ロボット100の動作を制御する。また、上述したように、ロボット動作制御装置110は、ロボット100の内部に設けられている。
【0026】
ロボット100は、上述したように、移動機構103、アーム101、ハンド102、視覚センサ105、位置・姿勢センサ107、力覚センサ108、及び送受信部106を備える。視覚センサ105は、撮像した物体の画像データを取得することができる。位置・姿勢センサ107は、ロボット100の位置・姿勢データを取得することができる。力覚センサ108は、ハンド102が物体を把持したときの反力データを取得することができる。
【0027】
ロボット動作制御装置110は、センサ信号処理部111、動作生成部112、動作実行部113、動作結果判定部114、及び入出力部121を備える。動作生成部112は、着目データ抽出部115、動作選択確率算出部116、着目データ保存部117、及び動作選択確率保存部118を備える。動作結果判定部114は、動作確度算出部119と、動作確度保存部120を備える。入出力部121は、ロボット100の送受信部106を介して、外部装置200に対してデータの入出力が可能である。
【0028】
外部装置200は、上述したように、表示部201、入力部202、及び送受信部203を備える。外部装置200は、さらに、着目データ保存部204と、動作選択確率保存部205を備える。
【0029】
本実施例によるロボット動作制御装置110とロボット動作制御システムの構成と、本実施例によるロボット動作制御方法について、
図3と
図4を参照して説明する。
【0030】
図4は、本実施例によるロボット動作制御方法のフローチャートである。ロボット動作制御システムの作業が開始すると、目標作業指示F11が実行される。
【0031】
目標作業指示F11では、オペレータによって、外部装置200の入力部202にロボット100への動作指令が入力される。オペレータは、ロボット100に対する任意の作業の動作指令(例えば、物体の操作、運搬、及び加工など)を入力部202から入力する。ロボット動作制御装置110の入出力部121は、この動作指令を、外部装置200の送受信部203とロボット100の送受信部106を介して、ロボット動作制御装置110に入力する。この動作指令は、入出力部121によって、ロボット動作制御装置110の動作生成部112に入力される。
【0032】
動作生成部112は、動作指令で指示された作業を実現するためのロボット100の動作を、既存の方法で生成する。動作生成部112は、例えば、移動や把持などのロボット100の個別の動作を、動作の実行順に生成する。
【0033】
次に、センサ情報処理F12が実行される。センサ情報処理F12では、センサ信号処理部111は、ロボット100が備えるセンサの検出値を取得する。例えば、センサ信号処理部111は、ロボット100の視覚センサ105、位置・姿勢センサ107、及び力覚センサ108の電気信号の値を物理値に変換処理して、これらのセンサが検出した物理値の集合であるセンサデータセットを生成する。
【0034】
着目データ抽出&保存F13では、動作生成部112の着目データ抽出部115は、動作生成部112に入力されたロボット100への動作指令と、ロボット100のセンサの検出値(センサデータセット)から、ロボット100の動作の生成において着目するデータ(着目データ)を抽出する。着目データ抽出部115は、抽出した着目データを着目データ保存部117に保存する。着目データは、センサデータセットの中で、ロボット100の動作に関して着目すべき特徴を持ったデータのことである。この着目すべき特徴は、着目データ抽出部115が、例えば機械学習により自ら獲得することができる。
【0035】
動作選択確率算出&保存F14では、動作生成部112の動作選択確率算出部116は、着目データ抽出部115が抽出した着目データに基づき、ロボット100が次に実行すべき動作内容と、この動作内容を選択すべき確率を、動作選択の確率として算出する。動作選択確率算出部116は、動作選択の確率(算出した動作内容とその確率)を動作選択確率保存部118に保存する。なお、動作選択確率算出部116は、ロボット100の予め設定された複数の動作候補に対して、動作選択の確率を計算することができる。
【0036】
着目データ抽出部115と動作選択確率算出部116の機能は、例えば機械学習により実現することができる。本実施例では、一例として、ロボット100に対する作業の動作指令が、ドアを開けることであるとする。ロボット100の動作は、ドアの種類に応じて異なる。すなわち、ドアの種類によって動作内容(動作選択の確率)が異なる。
【0037】
着目データ抽出部115と動作選択確率算出部116に対し、引き戸(手前に引いて開ける開き戸)、押し戸(奥に押して開ける開き戸)、及びスライドドア(横に移動させて開けるドア)の3種類のドアについて、ドアの種類とドアの画像データとの組み合わせを学習させておく。この学習により、着目データ抽出部115と動作選択確率算出部116は、視覚センサ105が撮像したドアの画像データを入力すると、このドアがどの種類のドアであるかの確率を計算することができる。
【0038】
また、機械学習にニューラルネットワークモデルを用い、画像データの特徴量を抽出するようにネットワーク構造を構成することにより、着目データ抽出部115と動作選択確率算出部116は、この特徴量で定まる着目領域を着目データとして画像データの中から抽出することができる。本実施例では、このようなニューラルネットワークモデルを用いることで、センサデータセット(画像データ)から着目データを抽出する着目データ抽出部115や、動作選択確率算出部116を構成することができる。
【0039】
本実施例では、後述するように、視覚センサ105が撮像したドアの画像データからドアノブの形状に着目し、着目データをドアノブとする。この着目データから、ドアがどの種類のドアであるかの確率を計算することができる。そして、ドアの種類の確率に基づき、次に実行する動作選択の確率を求めて動作パターンを選択することができる。動作選択の確率(確率的な動作内容)は、本実施例では、引き戸の確率(すなわちドアを手前に引く確率)、押し戸の確率(すなわちドアを奥に押す確率)、及びスライドドアの確率(すなわちドアを横に移動させる確率)である。
【0040】
なお、着目データ抽出部115と動作選択確率算出部116の機能は、機械学習以外の方法によっても実現することができる。例えば、着目データ抽出部115の機能は、力覚センサ108のデータを使う場合には、力の変化率やピーク値を抽出する方法により実現することができる。
【0041】
動作生成F15では、動作生成部112は、外部装置200から受信した動作指令と、着目データ抽出部115が抽出した着目データと、動作選択確率算出部116が算出した動作内容のうち確率の高い動作内容に基づいて、ロボット100の動作(本実施例では、例えば後述するように、ドアを手前に引いて引き戸を開ける動作)を生成する。
【0042】
動作実行F16では、動作実行部113が、ロボット100のアーム101、ハンド102、及び移動機構103を制御し、動作生成F15で生成された動作をロボット100に実行させる。
【0043】
動作確度算出&保存F17では、動作結果判定部114の動作確度算出部119は、ロボット100の動作の確度を算出する。確度とは、ロボット100が実行する動作内容の、ロボット100が既に実行して経験・学習した動作内容に対する近似度である。既に実行して経験・学習した動作内容とは、現在実行中の作業の内、既に実行した作業と、現在実行中の作業開始前に学習した作業とを含む。確度が高い動作は、近似度が高い動作、すなわち、ロボット100が過去に実行した動作により似ている動作である。動作確度算出部119は、算出した確度を動作確度保存部120に保存する。
【0044】
動作実行部113と動作確度算出部119の機能は、例えば機械学習により実現することができる。本実施例では、一例として、ロボット100は、3種類のそれぞれのドアを開ける動作時の、視覚センサ105による画像データ、位置・姿勢センサ107によるロボット100の位置・姿勢データ、及び力覚センサ108による反力データを、事前に学習している。
【0045】
機械学習では、例えばニューラルネットワークモデルを用い、画像データから、ドアを開けるために必要なロボット100の姿勢を算出するとともに、ドアを開ける動作を実施したときの画像の変化や発生する反力を予測するように学習させる。この学習により、ロボット100は、例えば、引き戸を開ける際に引き戸のドアノブをつかんで開くためのロボット100の姿勢の時系列変化を計算するとともに、ロボット100がこのドアを開ける動作を実施した結果として、ドアが開くときのドアの画像の時系列変化と、反力の時系列変化を計算する。本実施例では、このようにニューラルネットワークモデルを構成することで、動作実行部113の機能を実現することができる。
【0046】
また、上記のニューラルネットワークモデルには、ドアの種類やロボット100の初期位置などが異なる様々な状況下において、ロボット100がドアを開ける動作を事前に学習させておくことができる。このニューラルネットワークモデルは、入力された画像データがこれまでに学習した画像データにどの程度近いかを表す近似度を計算できるように構成することができる。動作確度算出部119は、このようなニューラルネットワークモデルを利用することにより、この近似度を確度として算出する。このように動作確度算出部119を構成することで、確度が高い場合は、これまでに学習した状況と近い状況であり、ロボット100の動作の成功率が高いことが期待できる。
【0047】
または、動作確度算出部119は、このニューラルネットワークモデルにより算出され、ロボット100が動作を実施した結果として予測された、ドアの画像と反力の時系列変化と、ロボット100が実際に動作を実施した結果として計測された、ドアの画像と反力の時系列変化とを比較し、これらの一致度に基づき確度を算出することができる。このように動作確度算出部119を構成することで、確度が高い場合には、ニューラルネットワークモデルが予測した通りにロボット100が動作しており、ロボット100の動作の成功率も高いことが期待できる。
【0048】
本実施例では、ロボット100の姿勢の時系列データ、ドアが開くときのドアの画像の時系列データ、及びドアを開ける動作を実施したときに発生した反力の時系列データを計算するニューラルネットワークモデルを利用する例について説明したが、ロボット動作制御装置110は、ロボット100の姿勢とドアの画像の時系列データのみを予測するように構成してもよい。また、ロボット動作制御装置110は、ロボット100の姿勢とドアの画像と発生した反力の時系列データ以外の任意のデータを予測するように構成してもよい。
【0049】
動作結果判定F18では、動作結果判定部114は、動作実行部113がロボット100に実行させた動作が成功したか失敗したかを判断する。動作結果判定部114は、例えば、動作確度算出部119が動作確度算出&保存F17で算出した確度を用いて、ロボット100の動作が成功したか失敗したかを判断することができる。例えば、動作結果判定部114は、ロボット100が実行した動作の確度が予め定めた閾値より大きいと、ロボット100の動作が成功したと判断し、ロボット100が実行した動作の確度がこの閾値以下であると、ロボット100の動作が失敗したと判断する。
【0050】
動作成功の判定F19では、ロボット100の動作が成功した場合には、ロボット動作制御装置110は、目標作業指示F11で入力されたロボット100の作業における個別の動作が終了したと判定する。そして、ロボット動作制御装置110は、作業終了の判定F20を実行する。一方、ロボット100の動作が失敗した場合には、ロボット動作制御装置110は、動作履歴送信F21を実行する。
【0051】
作業終了の判定F20において、ロボット動作制御装置110は、目標作業指示F11で入力された作業が終了したか否かを判定し、作業が終了したと判定した場合は、ロボット100の作業を終了する。ロボット動作制御装置110は、作業が終了していないと判定した場合は、次の動作を生成するために、センサ情報処理F12から処理フローを実行する。
【0052】
動作履歴送信F21では、入出力部121は、ロボット100の送受信部106と外部装置200の送受信部203を介して、ロボット動作制御装置110の判断結果、着目データ保存部117に保存された着目データ、動作選択確率保存部118に保存された動作選択の確率(ロボット100の動作内容とその選択すべき確率)、及び動作確度保存部120に保存された確度を、外部装置200に出力する。
【0053】
オペレータによる修正指示F22では、外部装置200の表示部201に、ロボット100の動作履歴と着目データが表示される。ロボット100の動作履歴には、動作選択の確率と、実行した動作とその確度が含まれる。表示部201に表示された情報により、オペレータは、ロボット100による作業の失敗の要因や作業の継続が困難となった要因を分析して特定することができる。
【0054】
オペレータによる修正指示でF22では、オペレータは、表示部201に表示された情報に基づき、外部装置200の入力部202を用いて、ロボット100に対する動作の修正指示を入力する。動作の修正指示には、例えば、着目データの修正指示と、ロボット100が次に実行すべき動作内容の修正指示が含まれる。オペレータによる修正指示は、外部装置200に保存される。例えば、着目データについての修正指示は、着目データ保存部204に保存され、動作内容についての修正指示は、動作選択確率保存部205に保存される。
【0055】
動作再生成F23では、外部装置200は、オペレータによる修正指示F22で修正されたロボット100に対する動作指示(例えば、着目データや動作内容についての指示)を、外部装置200の送受信部203とロボット100の送受信部106を介して、ロボット動作制御装置110に送信する。ロボット動作制御装置110の入出力部121が、修正された動作指示を入力すると、ロボット動作制御装置110の動作生成部112は、修正された動作指示に基づき、ロボット100の動作を再生成する。
【0056】
動作再生成F23の処理が実行された後は、動作実行F16が実行され、ロボット動作制御方法の処理が継続される。
【0057】
図4のフローチャートに示した本実施例によるロボット動作制御方法に従うと、一般的にブラックボックスモデルとなる機械学習を利用した制御装置や制御システムを使用する場合でも、ロボット100やロボット動作制御装置110の判断経緯を顕現化することができる。このため、オペレータは、ロボット100による作業の失敗の要因や作業の継続が困難となった要因を、容易に分析して特定することができる。
【0058】
図3に示すように、本実施例では、外部装置200が、着目データ保存部204と動作選択確率保存部205を備え、オペレータによる修正指示を保存する。この構成により、ロボット100の機能を機械学習で実現する場合には、オペレータによる修正指示を教師データとして活用可能である。
【0059】
図5は、本実施例によるロボット動作制御システムのネットワーク構成500を示す図である。ロボット100と外部装置200は、ネットワーク400を介して互いに接続され、各種データを互いに送受信することができる。
【0060】
本実施例によるロボット動作制御システムは、ネットワーク400に接続されたストレージ兼外部処理装置300を備えることもできる。ロボット100と外部装置200は、ネットワーク400を介してストレージ兼外部処理装置300と通信可能である。ストレージ兼外部処理装置300を備えることにより、ロボット100とロボット動作制御装置110と外部装置200が保存したデータを、ロボット100の外部に保存することができる。特に、ロボット100が作業に失敗した場合のデータをストレージ兼外部処理装置300に蓄えることにより、ロボット100の機能を機械学習によって構築する場合には、作業に失敗した場合のデータを学習データとして活用可能である。
【0061】
さらに、ロボット100が備えるロボット動作制御装置110で処理の実行が困難である場合には、ロボット100の外部に設置されたストレージ兼外部処理装置300が、ロボット動作制御装置110では実行困難な処理を実行することを期待できる。
【実施例0062】
実施例1では、ロボット100が電源盤のドアを開ける動作を実施し、この動作に失敗した例について説明する。
【0063】
図6Aと
図6Bは、本実施例において、ロボット100の作業対象である電源盤600を示す図である。
図6Aは、電源盤600のドア602が閉じている状態を示す。
図6Bは、電源盤600のドア602が開いている状態を示す。
【0064】
電源盤600は、電源盤本体604と、電源盤本体604の外側に設けられたドア602を備える。ドア602は、スライドドアであり、ドアノブ601と注意書き603を備える。注意書き603は、ドアノブ601に近い大きさを持つ。電源盤本体604の内部には、スイッチセット605が実装されている。ドア602がスライドして開くと、電源盤600の外部からスイッチセット605を視認することができる。
【0065】
本実施例では、ロボット100に対して、電源盤600のドア602を開くことを指示する。
【0066】
図7A~
図7Dは、本実施例において、ロボット100が動作を実行した状態を示す図である。ロボット100が実行した動作は、
図7A~
図7Dの順に示されている。
【0067】
図4に示したフローチャートに従い、作業が実行される。ロボット100の動作について、
図4と
図7A~
図7Dを参照して説明する。
【0068】
目標作業指示F11で、オペレータは、ロボット100に電源盤600のドア602を開くことを指示する。ロボット100は、初期状態において、
図7Aに示す位置にいるとする。
【0069】
センサ情報処理F12で、位置・姿勢センサ107によりロボット100の位置・姿勢データが取得され、視覚センサ105により電源盤600の画像データが取得される。
【0070】
着目データ抽出&保存F13から動作生成F15の処理により、ロボット100の動作が生成される。
【0071】
動作実行F16でロボット100が実行した動作は、
図7B~
図7Dに示されている。
図7Bと
図7Cに示すように、ロボット100は、ドア602に向かってハンド102を伸ばし、ドアノブ601ではなく、注意書き603をつかんでドア602を開けようとしている。
図7Dに示すように、ロボット100は、注意書き603をつかめず、ドア602を開けるのに失敗している。
【0072】
動作結果判定F18でロボット100の動作が失敗であると判断され、オペレータによる修正指示F22が実行される。
【0073】
図8は、オペレータによる修正指示F22(
図4)で、外部装置200の表示部201に表示される画面の例を示す図である。表示部201には、画面の左側にロボット100の動作履歴が表示され、画面の右側に電源盤600の画像(視覚センサ105が取得した画像データ)が表示される。ロボット100の動作履歴には、動作選択の確率と、実行した動作とその確度が含まれる。電源盤600の画像には、着目データが含まれる。
【0074】
図8に示す例では、動作選択の確率として、「引き戸」に対する動作の確率が50%、「押し戸」に対する動作の確率が30%、及び「スライド」(スライドドア)に対する動作の確率が20%と表示されている。また、動作の確度として、「ドアに手を伸ばす」動作の確度が90%、「ドアノブをつかむ」動作の確度が20%、及び「ドアノブを引く」動作の確度が5%と表示されている。
【0075】
図8に示すように、本実施例では、着目データとして注意書き603が抽出され、この着目データを基にして引き戸に対する動作が選択され、ドア602に手を伸ばす動作とドアノブ601をつかむ動作とドアノブ601を引く動作が実行された。
【0076】
オペレータは、表示部201に表示された画面を参照して、ロボット100による作業の失敗の要因を分析して特定することができる。
【0077】
画面の左側に表示されたロボット100の動作履歴を下から上に(すなわち、時間経過の逆に)たどると、「ドアノブを引く」動作の確度が5%と極めて低く、その前の「ドアノブをつかむ」動作の確度も20%と低い。これは、ロボット100が注意書き603をドアノブ601と間違えて認識し、ロボット100の過去の経験(動作)との一致度に基づいて確度が低く算出されたためである。具体的には、ロボット100が「ドアノブをつかむ」動作を実行したときに、過去に「ドアノブをつかむ」動作で経験していた反力が発生しなかったことと、ロボット100が「ドアノブを引く」動作を実行したときに、過去に「ドアノブを引く」動作で経験したようにドア602の画像が変化しなかったことから、ロボット100のこれらの動作は、ロボット100の過去の経験との一致度が低くなり、低い確度が算出された。
【0078】
さらに、ロボット100の動作履歴を上にたどると、「引き戸」に対する動作が選択されている。すなわち、ドア602は、実際にはスライドドアであるのに引き戸と誤認識されており、引き戸に対する動作が選択され、引き戸用の動作が計画されている。すなわち、ドア602に対する動作選択が間違いである。
【0079】
そこで、オペレータは、動作選択を間違えた原因を特定するために、表示部201の画面に着目データを表示する。
図8に示すように、表示部201には、着目データ(着目領域)が注意書き603であることが示される。この表示により、ロボット100は、ドアノブ601ではなく、注意書き603に着目していることがわかる。このような分析により、オペレータは、ロボット100の作業の失敗の要因を、着目データが正しくないことであると特定することができる。
【0080】
オペレータは、以上のようにしてロボット100の動作履歴を調べることにより、表示された動作の確度の変化や動作選択の確率を参照して、ロボット100が作業に失敗した要因を容易に分析して明らかにすることができる。
【0081】
外部装置200の表示部201に表示される画面では、
図8に示すように、確度が予め定めた閾値以下の動作については、確度がこの閾値より大きい動作と異なる表示をしてもよい。例えば、確度が予め定めた閾値以下の動作については、色を変えたり文字の太さを変えたりして表示してもよい。このような表示により、オペレータは、動作履歴からロボット100の作業失敗の要因を分析するときに、着目すべき動作が分かりやすくなり、作業失敗の要因の特定に要する時間を短くすることができる。
実施例2では、実施例1でロボット100の動作が失敗した要因が明らかになった後に、オペレータがロボット100に動作の修正指示を与え、電源盤600のドア602を開ける動作をロボット100が再試行する例について説明する。
オペレータは、このようにして、外部装置200を用いて、着目データとロボット100の動作内容を変更することができる。ロボット動作制御装置110の入出力部121は、オペレータにより変更された動作指示を入力する。ロボット動作制御装置110の動作生成部112は、変更された動作指示に基づき、ロボット100の動作を再生成する。
本実施例では、ロボット100が、電源盤600のドア602を開ける動作のみを実施する例を説明した。ロボット100が実施する動作は、このような単純な動作に限らない。例えば、電源盤600から離れた場所にいるロボット100が、電源盤600まで移動してドア602を開けて、スイッチセット605を操作し、ドア602を閉めて、元の場所まで戻るというような、複数の動作を含む指示についても、ロボット100は対応可能である。