(57)【要約】【課題】ユーザーの環境に設置されたロボットシステムによるタスクの試行錯誤を伴わずに外部から取得したモデルをユーザーのロボットシステムに導入することを目的とする。【解決手段】ロボットを制御するロボット制御装置であって、ネットワークを介してロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する第１の取得手段と、センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき候補モデルの性能を評価する評価手段と、評価された性能に基づいて、実行用モデルを候補モデルで置換する置換手段と、を有する。【選択図】図４
2019206041.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するロボット制御装置であって、
ネットワークを介して前記ロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する第１の取得手段と、
センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき前記候補モデルの性能を評価する評価手段と、
前記評価された性能に基づいて、前記実行用モデルを前記候補モデルで置換する置換手段と、
を有するロボット制御装置。
【請求項２】
前記評価された性能と前記学習データとに基づき前記候補モデルを更新する更新手段を更に有する請求項１記載のロボット制御装置。
【請求項３】
前記評価手段による前記候補モデルの性能が一定の性能水準を満たさない場合、前記更新手段は、前記学習データに基づき前記候補モデルを更新する請求項２記載のロボット制御装置。
【請求項４】
前記置換手段は、前記評価手段により評価された前記候補モデルの性能が、タスクを実行する際に要求される性能として設定された性能を満たす場合、前記実行用モデルを前記候補モデルで置換する請求項１乃至３何れか１項記載のロボット制御装置。
【請求項５】
前記置換手段は、前記評価手段により評価された前記候補モデルの性能が前記実行用モデルの性能を満たす場合、前記実行用モデルを前記候補モデルで置換する請求項１乃至３何れか１項記載のロボット制御装置。
【請求項６】
ロボットを制御するロボット制御装置であって、
ネットワークを介して前記ロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する第１の取得手段と、
センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき前記候補モデルの性能を評価する評価手段と、
前記評価手段により評価された前記候補モデルの性能を示す情報を表示する表示手段と、
前記実行用モデルを前記候補モデルで置換するか否かの入力を受け付ける受付手段と、
前記入力に基づいて、前記実行用モデルを前記候補モデルで置換する置換手段と、
を有するロボット制御装置。
【請求項７】
対象物体に関するセンサー情報を取得する第２の取得手段と、
前記センサー情報に基づき前記実行用モデルが出力した認識情報に基づいて前記ロボットの動作を計画する計画手段と、
前記計画された前記ロボットの動作に基づいてロボットを制御する制御手段と、
前記制御されたロボットのタスクの成否を判定する判定手段と、
前記センサー情報と前記タスクの成否の判定結果とに基づいて前記学習データを生成し、管理する管理手段と、
を更に有する請求項１乃至６何れか１項記載のロボット制御装置。
【請求項８】
前記管理手段は、前記センサー情報の特徴の分散が大きくなるように前記学習データを選択し、管理する請求項７記載のロボット制御装置。
【請求項９】
前記管理手段は、設定された時刻よりも新しい学習データを、設定された割合、含むように複数の学習データを管理する請求項７記載のロボット制御装置。
【請求項１０】
前記タスクは、対象物体の把持タスクである請求項１乃至９何れか１項記載のロボット制御装置。
【請求項１１】
前記タスクは、対象物体を組み付け先物体に組み付ける組み付けタスクである請求項１乃至９何れか１項記載のロボット制御装置。
【請求項１２】
前記取得手段は、ネットワークを介して前記ロボット制御装置と通信可能な複数の外部装置より候補モデルを取得する請求項１乃至１１何れか１項記載のロボット制御装置。
【請求項１３】
前記外部装置は、サーバーである請求項１乃至１２何れか１項記載のロボット制御装置。
【請求項１４】
前記外部装置は、他のロボット制御装置である請求項１乃至１２何れか１項記載のロボット制御装置。
【請求項１５】
請求項１乃至１４何れか１項記載のロボット制御装置と、
前記ロボットと、
を有するロボットシステム。
【請求項１６】
ロボットを制御するロボット制御装置が実行する情報処理方法であって、
ネットワークを介して前記ロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する取得工程と、
センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき前記候補モデルの性能を評価する評価工程と、
前記評価された性能に基づいて、前記実行用モデルを前記候補モデルで置換する置換工程と、
を含む情報処理方法。
【請求項１７】
ロボットを制御するロボット制御装置が実行する情報処理方法であって、
ネットワークを介して前記ロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する取得工程と、
センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき前記候補モデルの性能を評価する評価工程と、
前記評価工程により評価された前記候補モデルの性能を示す情報を表示する表示工程と、
前記実行用モデルを前記候補モデルで置換するか否かの入力を受け付ける受付工程と、
前記入力に基づいて、前記実行用モデルを前記候補モデルで置換する置換工程と、
を含む情報処理方法。
【請求項１８】
コンピュータを、請求項１乃至１４何れか１項記載のロボット制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、機械学習による認識結果に基づいてタスクを実行するロボットシステムが研究されている。一般的にある環境に設置されたロボットが十分に高い成功率でタスクをこなせるようになるまでモデルを学習するには、実環境でロボットがタスクの試行錯誤を多数回繰り返す必要があり時間がかかる。
そこで非特許文献１では最初にシミュレーション環境でロボットがタスクの試行錯誤を仮想的に行うことでモデルを高速に学習する。次に学習したモデルを引き継ぐことで実環境のロボットで行う追加学習に要するタスクの試行錯誤の回数を比較的少ない回数で済ませる技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｆａｎｇｙｉ  Ｚｈａｎｇ，  Ｊurｇｅｎ  Ｌｅｉｔｎｅｒ，  Ｍｉｃｈａｅｌ  Ｍｉｌｆｏｒｄ，  Ｂｅｎ  Ｕｐｃｒｏｆｔ，  Ｐｅｔｅｒ  Ｃｏｒｋｅ，  "Ｔｏｗａｒｄｓ  Ｖｉｓｉｏｎ−Ｂａｓｅｄ  Ｄｅｅｐ  Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｒｏｂｏｔｉｃ  Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌ，"  ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ａｕｓｔｒａｌａｓｉａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ  （ＡＣＲＡ），  ２０１５，  ＡＮＵ，  Ｃａｎｂｅｒｒａ，  Ａｕｓｔｒａｌｉａ．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら工場で実運用中のロボットのように、常に稼働していなければならない環境に設置されているロボットシステムにおいては引き継いだモデルの追加学習のためにロボットでタスクを試行錯誤することは困難である。
【課題を解決するための手段】
【０００５】
本発明は、ロボットを制御するロボット制御装置であって、ネットワークを介して前記ロボット制御装置と通信可能な外部装置より、センサー情報を入力として認識情報を出力する候補モデルを取得する第１の取得手段と、センサー情報を入力として認識情報を出力する実行用モデルに基づいてタスクを実行することで得られた学習データに基づき前記候補モデルの性能を評価する評価手段と、前記評価された性能に基づいて、前記実行用モデルを前記候補モデルで置換する置換手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、ユーザーの環境に設置されたロボットシステムによるタスクの試行錯誤を伴わずに外部から取得したモデルをユーザーのロボットシステムに導入することができる。
【図面の簡単な説明】
【０００７】
【図１】実施形態１のロボットシステムの概要等の一例を示す図である。
【図２】ロボットシステムの外観等の一例を示す図である。
【図３】ロボット制御装置のハードウェア構成の一例を示す図である。
【図４】実施形態１のロボット制御装置の機能構成等を示す図である。
【図５】実施形態１の情報処理の一例を示すフローチャートである。
【図６】実施形態２のロボットシステムの概要等の一例を示す図である。
【図７】実施形態２のロボット制御装置の機能構成等を示す図である。
【図８】実施形態２の情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
本実施形態ではユーザーの工場に設置された、対象物体を吸着ハンドで吸着してピックアップする把持タスクを実行するロボットシステムを例に、ロボットシステムが外部サーバーで公開されている新しいモデル（以下、候補モデルという）を導入する方法を説明する。ここでいうモデルとは内部に学習パラメータを持つ関数の情報であり、本実施形態ではＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルである。本実施形態ではロボットシステムが現在保持しているモデル（以下、実行用モデルという）を用いてタスクを実行することで学習データを収集する。そして学習データを用いてバックグラウンドで新しく取得した候補モデルの追加学習を行い、候補モデルの性能が、ユーザーが設定した一定の水準を満たしたタイミングで実行用モデルを候補モデルで置き換える。こうすることで、特別なタスクの試行錯誤を伴わずにサーバーで公開されている候補モデルをユーザー固有の環境で稼働しているロボットシステムに導入することができる。
【００１０】
図１は、実施形態１のロボットシステムの概要及びロボットシステムと外部のサーバー等との関係を示す図である。ロボットシステム１０１は、ユーザーＡが使用しているロボットシステムである。ロボットシステム１０１は、ロボット制御装置１０２、ロボット制御装置１０２に接続されたロボット１０３、及び、センサー類１０４を含む。ロボット制御装置１０２は、内部に実行用モデル１０５を保持している。実行用モデル１０５は、センサー類１０４から取得した情報を入力として認識結果を出力する。ロボット制御装置１０２は、認識結果に基づいてロボット１０３（本実施形態においてはアームを備える６軸多関節ロボット）を制御してタスクを実行する。また、ロボット制御装置１０２は、インターネット１０８を介して外部のサーバー１０６に接続されている。サーバー１０６がモデル１０７を新たに公開すると、ロボット制御装置１０２は、ネットワークを介してモデル１０７を候補モデルとして取得する。そして、ロボット制御装置１０２は、候補モデルがユーザーの環境で十分な性能でタスクを実行できるように追加学習してから実行用モデル１０５を置き換える。サーバー１０６は、ユーザーＡが保有するロボット制御装置１０２以外にユーザーＢが保有するロボット制御装置や他のユーザーのロボット制御装置にも同様に接続されている。各ユーザーは自分の環境で稼働しているロボットシステムにサーバー上のモデル１０７を取り込んで使用することができる。実行用モデルと候補モデルとはモデルに入力する情報と出力する情報との形式が同じであれば内部に持つ学習パラメータの数やネットワーク構造が異なっていてもよい。サーバー１０６は、ネットワークを介してロボット制御装置１０２と通信可能な外部装置の一例である。
【００１１】
図２は、ロボットシステム１０１の外観及び本実施形態を説明する際に用いる座標系を示す図である。ロボット制御装置１０２は、ロボット１０３、インターネット１０８、及びセンサー類１０４に接続されている。本実施形態においてセンサー類１０４は、より具体的にはＲＧＢ−Ｄカメラ２０１と電子秤２０２とである。ロボット１０３のフランジには吸着ノズル２０３が装着されていてロボット制御装置１０２からの命令で空気の吸引の開始、終了をする。電子秤２０２の上にはロボット１０３がピックアップする対象物体２０４がランダムな位置姿勢で供給される。
次に座標系について説明する。ロボット座標系２０５はロボット１０３の土台の中心に原点を取るロボット座標系である。ロボット１０３は、ロボット制御装置１０２からロボット座標系２０５で表した吸着ノズル２０３の位置姿勢が指定されると、指定された位置姿勢に吸着ノズル２０３が来るようにアームを動かす。カメラ座標系２０６はカメラ座標系である。ＲＧＢ−Ｄカメラ２０１が撮影したＲＧＢ画像と距離画像とはカメラ座標系の原点からＺ軸正方向に見た画像である。ロボット座標系とカメラ座標系との相対座標変換は事前に算出済みでありロボットシステム１０１が保持している。
【００１２】
図３は、ロボット制御装置１０２のハードウェア構成の一例を示す図である。ロボット制御装置１０２は、ハードウェア構成として、ＣＰＵ１０と、メモリ１１と、通信Ｉ／Ｆ１２と、表示部１３と、入力部１４と、を含む。ＣＰＵ１０は、ロボット制御装置１０２の全体の処理を制御する。メモリ１１は、プログラム、ＣＰＵ１０がプログラムに基づき処理を実行する際に利用するデータ等を記憶する。通信Ｉ／Ｆ１２は、ロボット１０３、サーバー１０６、センサー類１０４との通信を制御する。表示部１３は、ディスプレイ等であり、ＣＰＵ１０の処理の結果等を出力する。入力部１４は、マウス及びキーボード等であり、ユーザー操作を受け付け、ＣＰＵ１０に通知する。ＣＰＵ１０が、メモリ１１に記憶されたプログラムを読み出し、読み出したプログラムに基づき処理を実行することによって後述する図４、図７に示すロボット制御装置１０２の機能構成が実現される。また、ＣＰＵ１０が、メモリ１１に記憶されたプログラムを読み出し、読み出したプログラムに基づき処理を実行することによって後述する図５、図８のフローチャートの処理が実現される。なお、表示部１３、入力部１４は、ロボット制御装置１０２の必須の構成要素ではない。
【００１３】
図４は、ロボット制御装置１０２の機能構成等を示す図である。
センサー情報取得部３０１は、センサー類１０４からセンサー情報を取得する。本実施形態においてセンサー情報とは、より具体的にはＲＧＢ−Ｄカメラ２０１から取得するＲＧＢ画像及び距離画像と、電子秤２０２から取得する秤量情報とである。ここでＲＧＢ画像と距離画像とは位置合わせ済みで画素単位で対応が取れているものとする。
ロボット動作計画部３０２は、センサー情報取得部３０１から得たＲＧＢ画像に対して実行用モデル保持部３０３が保持する実行用モデルを使ってＲＧＢ画像における対象物体の吸着位置を認識する。そして、ロボット動作計画部３０２は、センサー情報取得部３０１から得た距離画像においてＲＧＢ画像上で認識した吸着位置に対応する奥行値を取得することで、カメラ座標系で表される３次元空間における吸着位置姿勢を算出する。そして、ロボット動作計画部３０２は、算出した吸着位置姿勢にロボット１０３のアームを動かして対象物体をピックアップする一連のパスを生成する。
ロボット制御部３０４は、一連のパスに従ってロボット１０３を制御してロボット１０３にタスクを実行させる。
タスク成否判定部３０５は、ロボット１０３が対象物体のピックアップを実行する前後でセンサー情報取得部３０１から得た秤量情報の差分を取ることで対象物体２０４のピックアップに成功したか否かを判定する。
学習データ管理部３０６は、ロボット動作計画部３０２が対象物体の吸着位置を認識するときに入力とするセンサー情報、その情報に対して出力すべき認識情報、及び、その情報の生成時刻から構成される学習データを多数管理するデータベースである。この学習データは後に候補モデルを追加学習及び性能評価するために利用される。
【００１４】
サーバー１０６にあるモデル保持部３０７は、ユーザーに配布するためのモデルを保持する。
候補モデル取得部３０８は、サーバーのモデル保持部３０７が保持しているモデルを、インターネットを介して取得して保持する。
評価部３０９は、候補モデル取得部３０８が取得した候補モデルの性能を学習データ管理部３０６から得た学習データを使って評価し、その結果に応じて候補モデルを更新するか、又は実行用モデルを候補モデルで置き換えるかを判定する。
候補モデル更新部３１０は、候補モデル取得部３０８が取得した候補モデルの追加学習を行う。より具体的には、候補モデル更新部３１０は、候補モデル取得部３０８が取得した候補モデルの学習パラメータを学習データ管理部３０６から得た学習データを使って更新する。
候補モデル更新部３１０は、候補モデルの学習パラメータの更新処理を、評価部３０９が評価した結果が所定の性能水準よりも良くなるまで繰り返し行う。
実行用モデル置換部３１１は、実行用モデル保持部３０３が保持しているモデルを候補モデル取得部３０８が保持している候補モデルで置き換える。
【００１５】
図５は、ロボット制御装置１０２の情報処理の一例を示すフローチャートである。ロボット制御装置１０２では二つの処理フローが並列に実行されている。一つ目の処理フローは図５（ａ）に示すＳ４０１〜Ｓ４０８から構成されるタスク実行フローである。タスク実行フローはユーザーの工場等固有の環境においてロボット１０３が所望のタスクを繰り返し実行するフローである。更にロボット１０３がタスクを実行する傍ら、タスク実行に使ったセンサー情報とタスク成否の判定結果とから学習データを生成して管理するのもタスク実行フローの役割である。まずタスク実行フローの処理内容の詳細を説明する。
【００１６】
（Ｓ４０１）
Ｓ４０１では本実施形態に係るロボットシステム外の供給装置が対象物体２０４を電子秤２０２の台上に供給する。
（Ｓ４０２）
Ｓ４０２ではＲＧＢ−Ｄカメラ２０１が、ＲＧＢ画像、及び距離画像を計測する。そして、それらをセンサー情報としてセンサー情報取得部３０１が取得する。
（Ｓ４０３）
Ｓ４０３ではロボット動作計画部３０２が、ロボット動作として対象物体をピックアップする一連のパス、より具体的にはロボット座標系における吸着ノズルの吸着前経由位置姿勢、吸着時位置姿勢、吸着後経由位置姿勢を算出する。まず、センサー情報取得部３０１が、センサー情報としてＲＧＢ画像と距離画像とをＲＧＢ−Ｄカメラ２０１から取得する。そして、ロボット動作計画部３０２は、実行用モデルに基づいてＲＧＢ画像中における対象物体の吸着位置を算出する。本実施形態では実行用モデルは局所パッチ画像を入力として、局所パッチ画像の中央に写っている個所が吸着可能であるか否かを表す認識情報を出力するＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルである。出力値は吸着可能であることを表すクラスと吸着不可であることを表すクラスとに属する確率であり、これら２クラスの確率の総和は１になるよう正規化されている。このモデルを使って対象物体の吸着位置を算出するには、まずロボット動作計画部３０２は、ＲＧＢ画像の中を網羅的に走査して多数の局所パッチ画像を生成する。局所パッチ画像のサイズはＲＧＢ画像中に写っている対象物体の吸着位置を判定するのに過不足ない範囲を表すサイズ（例えば、所定の位置で対象物体を撮影した画像中において対象物体が占有する領域を所定のマージンをもって包含する正方形の一辺の画素数）である。局所パッチ画像のサイズは予めユーザーによって設定されている。そして、ロボット動作計画部３０２は、各局所パッチ画像を実行用モデルに入力することで認識情報、即ち、当該箇所が吸着可能である確率を得る。こうしてロボット動作計画部３０２は、算出した吸着可能である確率が最も高くなるパッチ画像の中心の元のＲＧＢ画像における位置を対象物体の画像中の吸着位置とする。次にロボット動作計画部３０２は、ＲＧＢ画像における対象物体の吸着位置における奥行値を距離画像から取得する。そしてロボット動作計画部３０２は、カメラ座標系２０６の原点からＲＧＢ画像中における吸着位置の方向に、奥行値で表される距離にある点をカメラ座標系２０６における三次元の吸着位置姿勢の位置成分とする。ロボット動作計画部３０２は、吸着位置姿勢の姿勢成分は距離画像から算出した、吸着位置周辺における対象物体表面の法線方向とする。以上により、ロボット動作計画部３０２は、吸着をするときに吸着ノズルがとるべきカメラ座標系２０６における吸着位置姿勢を算出できる。ロボット動作計画部３０２は、これを事前に算出してあるカメラ座標系とロボット座標系との間の相対座標変換によってロボット座標系における吸着位置姿勢に変換する。次に、ロボット動作計画部３０２は、ロボット座標系における吸着位置姿勢に基づいて、吸着を行う前後に経由すべき経由位置姿勢を算出する。経由位置姿勢は予めユーザーによって設定された固定のオフセット距離だけ吸着位置姿勢を物体から離れる方向に平行移動させた位置姿勢である。以上によりロボット１０３が吸着動作をする際のパス、即ちロボット座標系における吸着ノズルの吸着前経由位置姿勢、吸着時位置姿勢、吸着後経由位置姿勢が決定される。
【００１７】
（Ｓ４０４）
Ｓ４０４ではロボット制御部３０４が、Ｓ４０３で算出されたロボット動作に従ってロボット１０３を制御し、タスクを実行する。より具体的には、ロボット制御部３０４は、吸着ノズルを吸着前経由位置姿勢に移動する命令をロボット１０３に出して吸着ノズルを吸着前経由位置姿勢に移動させる。次に、ロボット制御部３０４は、吸着ノズルを吸着時位置姿勢に移動する命令をロボット１０３に出して吸着ノズルを吸着時位置姿勢に移動させる。次に、ロボット制御部３０４は、吸着ノズルの空気の吸引を開始する命令をロボット１０３に出して対象物体を吸着する。そして、ロボット制御部３０４は、吸着ノズルを吸着後経由位置姿勢に移動する命令をロボット１０３に出して吸着ノズルを吸着後経由位置姿勢に移動させる。
（Ｓ４０５）
Ｓ４０５ではタスク成否判定部３０５が、Ｓ４０４で実行したタスクの成否を判定する。より具体的にはセンサー情報取得部３０１が電子秤２０２からタスク実行後の秤量を取得する。タスク成否判定部３０５は、秤量が予め計測しておいたピックアップ前の対象物体が配置されている状態での秤量から対象物体一つ分の秤量の分だけ減少していればピックアップに成功したと判定し、そうでなければ失敗したと判定する。
【００１８】
（Ｓ４０６）
Ｓ４０６では学習データ管理部３０６が、センサー情報とＳ４０５で判定されたタスク成否とに基づいて学習データを生成して管理する。本ステップにおけるセンサー情報とはより具体的にはＳ４０３において吸着位置として決定された吸着可能な確率が最も高くなったＲＧＢ画像の局所パッチ画像である。学習データ管理部３０６は、局所パッチ画像をロボット動作計画部３０２から受け取る。学習データ管理部３０６は、Ｓ４０５で判定されたタスク成否結果が成功である場合はこの局所パッチ画像を認識して出力すべき正解ラベルは「吸着可能」であるとする。学習データ管理部３０６は、Ｓ４０５で判定されたタスク成否結果が失敗である場合は認識して出力すべき正解ラベルは「吸着不可」であるとする。そして、学習データ管理部３０６は、局所パッチ画像、吸着可否の正解ラベル、及び局所パッチ画像を抽出した元画像を撮像した時刻の組み合わせを一件の学習データとして学習データ管理部３０６に追加登録する。
（Ｓ４０７）
Ｓ４０７ではロボット制御部３０４が、ロボット１０３を制御してピックアップした対象物体に対して所望のタスクを行う。本実施形態では所望のタスクとは予め設定された所定の位置に対象物体を吸着した状態の吸着ノズルを移動し、空気の吸引を停止することで対象物体をリリースするタスクとする。
（Ｓ４０８）
Ｓ４０８ではロボット制御部３０４が、タスク実行の処理を終了するか否かを判定する。ロボット制御部３０４は、タスク実行の処理を終了しない場合はＳ４０１からの処理を繰り返し、タスク実行の処理を終了する場合は図５（ａ）に示すタスク実行フローを終了する。
【００１９】
以上の処理から成るタスク実行フローによって、ユーザーの工場でロボットシステムが稼働している間、繰返し所望のタスクを実行する傍らで、工場の最新の環境における学習データを収集・蓄積することができる。
【００２０】
二つ目の処理フローは図５（ｂ）に示すＳ４１１〜Ｓ４１７から構成されるモデル置換フローである。モデル置換フローでは、ロボット制御装置１０２は、サーバー上に新しいモデルが公開されているか否かを定期的に確認し、公開されていれば新しいモデルを候補モデルとして取得する。そしてロボット制御装置１０２は、ユーザーの環境で要求される水準を満たす性能になるよう追加学習を実行した後に実行用モデルを置き換える。以下、モデル置換フローの処理内容の詳細を説明する。
【００２１】
（Ｓ４１１）
Ｓ４１１では候補モデル取得部３０８が、サーバー１０６に新しいモデルが公開されているか否かを判定する。候補モデル取得部３０８は、公開されていなければＳ４１７に遷移し、公開されていればＳ４１２に遷移する。
（Ｓ４１２）
Ｓ４１２では候補モデル取得部３０８が、サーバー１０６のモデル保持部３０７に保持されている新しいモデルを、ネットワークを介して取得する。取得したモデルは候補モデルとして候補モデル取得部３０８が管理する保存領域に保持する。
（Ｓ４１３）
Ｓ４１３では評価部３０９が、学習データ管理部３０６が管理している学習データを用いて候補モデル取得部３０８が保持している候補モデルの性能を評価する。まず評価部３０９は、学習データ管理部３０６から評価用に用いる学習データを取得する。学習データ管理部３０６は、データベースに管理されている学習データを、評価に用いる学習データと、後で説明する追加学習に用いる学習データと、にランダムにシャッフルしてグループ分けする。そして、学習データ管理部３０６は、評価に用いる学習データを評価部３０９に渡す。次に評価部３０９は、取得した各学習データにおいて、学習データに含まれる局所パッチ画像を候補モデルに入力して吸着可能と吸着不可とを表す２クラスの確率を算出し、確率の高い方のクラスを認識結果とする。そして評価部３０９は、認識結果を学習データに含まれる吸着可否を表す正解ラベルと照合して認識結果の正誤を評価する。以上の評価を評価部３０９が受け取ったすべての学習データに対して行うことで認識の正答率を算出し、これを候補モデルの性能評価結果とする。
【００２２】
（Ｓ４１４）
Ｓ４１４では評価部３０９が、Ｓ４１３で算出した性能評価結果が所定の性能水準を満たすか否かを判定する。所定の性能水準とはユーザーがロボットシステムで実行しているタスクに要求する成功率に基づいて予めシステムに設定しておく固定値である。評価部３０９は、判定した結果、水準を満たさない場合はＳ４１５に遷移し、水準を満たす場合はＳ４１６に遷移する。なお、評価部３０９は、一定時間又は一定回数Ｓ４１５への遷移を繰り返しても水準を満たさない場合は候補モデルを破棄してＳ４１７に遷移する。
（Ｓ４１５）
Ｓ４１５では候補モデル更新部３１０が、候補モデル取得部３０８が保持している候補モデルを更新する。まず候補モデル更新部３１０は、学習データ管理部３０６から学習用に用いる学習データを取得する。そして候補モデル更新部３１０は、取得した各学習データにおいて、学習データに含まれる局所パッチ画像を候補モデルに入力して総和が１になる吸着可能及び不可能を表す２クラスの確率を表す出力値を得る。一方で、候補モデル更新部３１０は、本来候補モデルが出力すべき正解値は学習データに含まれる吸着可否の正解ラベルから取得する。より具体的には、候補モデル更新部３１０は、正解ラベルが吸着可能を表す場合は吸着可能である確率を１とし、正解ラベルが吸着不可能を表す場合は吸着可能である確率を０とする。そして、候補モデル更新部３１０は、候補モデルが出力した出力値と正解値との誤差を交差エントロピー（ｃｒｏｓｓ  ｅｎｔｒｏｐｙ）で定義する。そして、候補モデル更新部３１０は、確率的勾配降下法（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）によって誤差を最小化するように候補モデルの学習パラメータを更新する。
（Ｓ４１６）
Ｓ４１６では実行用モデル置換部３１１が、実行用モデル保持部３０３が保持している実行用モデルを候補モデル取得部３０８が保持している候補モデルで置き換える。
（Ｓ４１７）
Ｓ４１７では例えば候補モデル更新部３１０が、モデル置換の処理を終了するか否かを判定する。候補モデル更新部３１０は、モデル置換の処理を終了しない場合はＳ４１１からの処理を繰り返し、モデル置換の処理を終了する場合は図５（ｂ）に示すモデル置換フローを終了する。
【００２３】
以上の処理から成るモデル置換フローをタスク実行フローと並列に実行することによって、外部のサーバーが新しく公開したモデルをバックグラウンドで最新の学習データを使って追加学習して性能が所定の性能水準に達したタイミングで実行用モデルに置き換えることができる。こうすることで、ユーザーの工場で稼働しているロボット１０３のタスク成功率を落とすことなく、かつ、追加学習のためにロボット１０３を使ってタスクの試行錯誤をすることもなく、外部サーバーから取得したモデルで実行用モデルを置き換えることができる。
【００２４】
（変形例１）
本実施形態のＳ４０３においてロボット１０３の動作を計画する際に、ロボット動作計画部３０２は、認識情報を算出するためにモデルに入力する情報としてＲＧＢ画像から生成した局所パッチ画像を用いたが、このときの入力情報は局所パッチ画像に限らない。例えば、ロボット動作計画部３０２は、ＲＧＢ画像そのものを入力としてもよい。その場合、ロボット動作計画部３０２は、モデルとして、ＲＧＢ画像の全画素を入力として、画像上における把持可能な部位に該当する画素位置を出力するＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルを用いる。この場合、Ｓ４０６では学習データ管理部３０６が生成する学習データのセンサー情報はタスク成否判定の結果「成功」と判定されたときに取得したＲＧＢ画像の全画素であり、出力すべき認識情報の正解ラベルは画像上における把持可能な部位に該当する画素位置である。そしてＳ４１３では、評価部３０９は、モデルが出力した画素位置と正解ラベルの画素位置との距離が所定の距離より小さい場合に認識結果が正しいと判定する。以上の評価を評価部３０９が受け取ったすべての学習データに対して行うことで認識の正答率を算出し、これを候補モデルの性能評価結果とする。更にＳ４１５では、候補モデル更新部３１０は、各学習データに対して候補モデルが出力した画素位置と正解ラベルの画素位置との二乗距離の和を誤差として定義する。そして、候補モデル更新部３１０は、確率的勾配降下法（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）によって誤差を最小化するように候補モデルの学習パラメータを更新する。
【００２５】
（変形例２）
以上のようにモデルに入力する情報としてＲＧＢ画像の全画素を入力して本実施形態の処理を実施する方法を説明したがその他にもＲＧＢ画像の全画素と距離画像の全画素とのペアを入力としてもよい。その場合、ロボット動作計画部３０２は、モデルとして、ＲＧＢ画像と距離画像とを入力として、画像上における把持可能な部位に該当する画素位置を出力するＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルを用いる。あとの処理は上記で説明したＲＧＢ画像の全画素を入力とする場合の方法と同様である。このようにＳ４０３におけるセンサー情報はロボット１０３の動作計画をするための認識情報を算出できるセンサー情報であればいかなるセンサー情報でもよい。
【００２６】
（変形例３）
本実施形態のＳ４０５においてタスク成否判定部３０５は、タスクの成否判定を電子秤２０２から取得した秤量で判定したが、成否判定方法はこの方法に限らない。例えば、タスク成否判定部３０５は、空気圧値によって判定してもよい。その場合、センサー情報取得部３０１がセンサー類１０４の一つとして吸着ハンドに負圧の空気を供給する使用するイジェクタから空気圧値を取得できるようにしておく。そして、タスク成否判定部３０５は、空気圧値が、吸着ノズル２０３が吸着していない状態における値から一定量上昇したことをもって対象物体２０４を吸着していることを検知し、タスクに成功したと判定してもよい。その他に、タスク成否判定部３０５は、タスク成否を画像によって判定してもよい。その場合、センサー情報取得部３０１がセンサー類１０４として別途用意した成否判定用のカメラから画像を取得できるようにしておく。そして、ロボット制御部３０４は、対象物体２０４を吸着した後にロボットアームを所定の位置に移動して成否判定用のカメラで撮影する。そして、タスク成否判定部３０５は、画像中に対象物体が写っているか否かを画像処理によって検知して、対象物体が写っていることをもって対象物体２０４の吸着に成功したと判定してもよい。このようにＳ４０５におけるセンサー情報はタスクの成否を判定できるセンサー情報であればどのようなセンサー情報を使ってもよい。
【００２７】
（変形例４）
本実施形態の学習データ管理部３０６が管理する学習データは、現在の実行用モデルを使ってロボット１０３を動作させるＳ４０６で生成した学習データに限らない。学習データ管理部３０６が管理する学習データは、現在の実行用モデルに置き換わる前、つまり一世代前の実行用モデルで図５（ａ）のタスク実行フローを実行して管理対象に加えた学習データでもよい。同様に、学習データ管理部３０６が管理する学習データは、二世代以上前の実行用モデルを用いて図５（ａ）のタスク実行フローを実行して管理対象に加えた学習データでもよい。また、学習データ管理部３０６が管理する学習データは、ロボット制御装置１０２が学習データを生成するための特別な実行用モデルを保持しておき、そのモデルを用いて図５（ａ）のタスク実行フローを実行して管理対象に加えた学習データでもよい。更に、学習データ管理部３０６が管理する学習データは、上記で説明したような様々な実行用モデルを使って生成した学習データが混合されていてもよい。このように図５（ａ）のタスク実行フローで用いる実行用モデルは候補モデル以外のモデルであればいかなるモデルでもよい。
【００２８】
（変形例５）
本実施形態の評価及び候補モデルの追加学習に用いる学習データは、学習データ管理部３０６が管理している全ての学習データを用いていたが、一部の学習データを選択して用いてもよい。例えば、学習データに含まれるデータの生成時刻が設定された時刻よりも新しいものを設定された割合、含むように学習データを取捨選択してもよい。例えば、ユーザーの環境で一か月毎に照明のレイアウトを変更するような場合は一か月前以降の学習データを５割含むように学習データを取捨選択する。こうすることで、ユーザーがロボット１０３を使用している環境が変化した場合でも、取得した候補モデルに対して最近の環境に即した評価及び追加学習ができる。学習データを取捨選択する他の例として、学習データのセンサー情報の特徴に基づいて選択してもよい。実行用モデルがＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルの場合はモデルの特徴抽出層を使って学習データの局所パッチ画像の特徴ベクトルを抽出し、これらの特徴ベクトルの共分散行列が大きくなるように学習データを選択する。こうすることで、変動するユーザー環境の中で、より多様な状況に即して取得した候補モデルに対して評価及び追加学習することができる。また以上で説明したような学習データの取捨選択はＳ４０６で学習データ管理部３０６が新しい学習データを管理対象に追加するときに取捨選択して不要なものを削除してもよい。又はＳ４０６では全て管理対象に追加しておき、Ｓ４１３やＳ４１６で学習データ管理部３０６が評価部３０９や候補モデル更新部３１０に学習データを渡す際に取捨選択してもよい。
【００２９】
（変形例６）
本実施形態においてタスクはピッキングタスクを例に説明したが、タスクの種類はこれに限らない。例えば既に吸着している対象物体を組み付け先物体に組み付ける組み付けタスクでもよい。このような組み付けタスクにおいてはロボット１０３に装着された吸着ノズル２０３が対象物体を吸着しており、Ｓ４０２ではＲＧＢ−Ｄカメラ２０１は、対象物体と組み付け先物体とを計測したセンサー情報、より具体的には、二物体を俯瞰視点から撮影した俯瞰ＲＧＢ画像を取得する。そしてＳ４０３ではロボット動作計画部３０２は、ロボット１０３の動作を計画する際には、俯瞰ＲＧＢ画像を入力として対象物体と組み付け先物体との間の相対位置姿勢を出力するＮｅｕｒａｌ  Ｎｅｔｗｏｒｋのモデルを用いる。Ｓ４０５ではタスク成否判定部３０５は、タスク実行後の俯瞰ＲＧＢ画像を用いて組み付けタスクに成功したか否かを画像処理によって判定する。Ｓ４０６で学習データ管理部３０６が生成する学習データのセンサー情報はタスク成否判定の結果「成功」と判定されたときのロボット１０３の動作計画に用いた俯瞰ＲＧＢ画像である。また、出力すべき認識情報の正解ラベルは対象物体と組み付け先物体との間の相対位置姿勢である。そしてＳ４１３では、評価部３０９は、モデルが出力した二物体間の相対位置姿勢と正解ラベルが表す二物体間の相対位置姿勢との誤差が所定の値より小さい場合に認識結果が正しいと判定する。ここで相対位置姿勢の誤差とは位置姿勢の並進成分の差と姿勢成分の差との重み付き和である。以上の評価を評価部３０９が受け取ったすべての学習データに対して行うことで認識の正解率を算出し、これを候補モデルの性能評価結果とする。更にＳ４１５では候補モデル更新部３１０は、各学習データに対して候補モデルが出力した二物体間の相対位置姿勢と正解の相対位置姿勢との二乗距離の和を誤差として定義する。そして候補モデル更新部３１０は、確率的勾配降下法（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）によって誤差を最小化するように候補モデルの学習パラメータを更新する。このように本実施形態のタスクは、センサー情報を入力としてモデルを用いた認識処理によってロボット１０３の動作を計画できるタスクであればいかなるタスクでもよい。
【００３０】
（変形例７）
本実施形態においては、ロボット制御装置１０２はサーバー１０６からモデルを取得したがこのサーバーは他のユーザーが使用するロボット制御装置であってもよい。こうすることで、他のユーザーが開発、又は学習したモデルを、自分の環境でタスクの試行錯誤をすることなくそのまま実行用モデルとして導入することができる。
【００３１】
（変形例８）
本実施形態のＳ４１４では評価部３０９が、Ｓ４１３で算出した性能評価結果が所定の性能水準を満たすか否かを、予めユーザーが設定した固定値に基づいて判定した。しかし、ユーザーが所定の性能水準を満たすか否かを判定してもよい。その場合、評価部３０９は、ユーザーが性能評価の結果を把握できるような情報、より具体的にはＳ４１３で算出して認識した正解率と各学習データの局所パッチ画像を入力したときの候補モデルの出力値とを表示部１３に表示する。また、評価部３０９は、ユーザーが表示部１３に表示された内容を見てＳ４１３で算出した性能評価結果が所定の性能水準を満たすか否かを判定し、入力部１４を介して入力した判定結果を受け付ける。この処理は、実行用モデルを候補モデルで置換するか否かの入力を受け付ける受付処理の一例である。こうすることで、ユーザーが状況に応じて柔軟に候補モデルを置き換えるか否かを決定することができる。
【００３２】
＜実施形態２＞
本実施形態ではユーザーの工場に設置された、対象物体を吸着ハンドで吸着してピックアップするタスクを実行するロボットシステムを例に、ロボットシステムが複数の外部サーバーで公開されている候補モデルの中から最も性能のよいものを自動的に選択して導入する方法を説明する。本実施形態ではロボットシステムが現在保持している実行用モデルを用いてタスクを実行することで学習データを収集する。そして学習データを用いてバックグラウンドで新しく取得した複数の候補モデルの性能を評価し、最も性能のよい候補モデルの性能が、現在使用している実行用モデルの性能よりもよい場合に実行用モデルを候補モデルで置き換える。こうすることで、ロボット１０３が性能評価のためのタスクを実行することなくサーバーで公開されている複数のモデルから最も性能のよいモデルを選択してユーザーのシステムに導入することができる。
【００３３】
図６は、ロボットシステムの概要及びロボットシステムと外部のサーバー等との関係を示す図である。ロボットシステム５０１は、ユーザーＡが使用しているロボットシステムである。ロボットシステム５０１は、ロボット制御装置５０２、ロボット制御装置５０２に接続されたロボット１０３、及びセンサー類１０４を含む。ロボット制御装置５０２は、内部に実行用モデル１０５を保持している。ロボット１０３、センサー類１０４、及び実行用モデル１０５は実施形態１で説明したものと同様である。ロボット制御装置５０２は、認識結果に基づいてロボット１０３を制御してタスクを実行する。ロボット制御装置５０２は、インターネット１０８を介して外部の複数のサーバー、例えばサーバーＡ５０３とサーバーＢ５０５とに接続されている。サーバーＡ５０３がモデル５０４を新たに公開したり、サーバーＢ５０５がモデル５０６を新たに公開したりすると、ロボット制御装置５０２は、ネットワークを介して公開されたモデルを候補モデルとして取得する。そして、ロボット制御装置５０２は、候補モデルの性能を評価して所定の性能水準を満たしている場合は実行用モデル１０５を置き換える。各ロボット制御装置はそれぞれ複数のサーバーに接続されており任意のサーバーからモデルを取得することができる。
ロボットシステム５０１の外観及び座標系については図２において実施形態１に係るロボット制御装置１０２を本実施形態に係るロボット制御装置５０２で置き換えたものと同様である。また、ハードウェア構成も図３において実施形態１に係るロボット制御装置１０２を本実施形態に係るロボット制御装置５０２で置き換えたものと同様である。
【００３４】
図７は、ロボット制御装置５０２の機能構成等を示す図である。本実施形態に係るロボット制御装置５０２では図４で示した実施形態１に係るロボット制御装置１０２の構成要素から候補モデル更新部３１０が取り除かれている。そのため、候補モデルの学習パラメータの更新は行われない。また、候補モデル取得部３０８、評価部３０９の機能が変更されて候補モデル取得部６０１、評価部６０２になっている。ロボット制御装置５０２は、複数のサーバー、例えばサーバーＡ５０３とサーバーＢ５０５とに接続されている。ここでは実施形態１と機能が異なる候補モデル取得部６０１と評価部６０２とについて説明する。
候補モデル取得部６０１は、ロボット制御装置５０２が接続されているサーバーＡ５０３のモデル保持部６０３、又はサーバーＢ５０５のモデル保持部６０４が保持しているモデルを、インターネットを介して取得して保持する。
評価部６０２は、候補モデル取得部６０１が取得した候補モデルの性能を学習データ管理部３０６から得た学習データを使って評価し、その結果に応じて実行用モデルを候補モデルで置き換えるか否かを判定する。
【００３５】
次に本実施形態に係るロボット制御装置５０２のフローチャートに沿ってより具体的な処理内容を説明する。ロボット制御装置５０２では二つの処理フローが並列に実行されている。一つ目の処理フローは図５（ａ）のＳ４０１〜Ｓ４０８から構成されるタスク実行フローであり、実施形態１において説明した内容と同一である。二つ目の処理フローは図８のＳ７０１〜Ｓ７０６から構成されるモデル置換フローである。モデル置換フローではロボット制御装置５０２に接続されている複数のサーバー上に新しいモデルが公開されているか否かを定期的に確認し、公開されていれば新しいモデルを候補モデルとして取得する。そしてユーザーの環境で要求される水準を満たす性能であれば候補モデルで実行用モデルを置き換える。以下、モデル置換フローの処理内容の詳細を説明する。
【００３６】
（Ｓ７０１）
Ｓ７０１では候補モデル取得部６０１が、サーバーＡ５０３及びサーバーＢ５０５の何れかで新しいモデルが公開されているか否かを順に確認する。候補モデル取得部６０１は、何れのサーバーでも新しいモデルが公開されていなければＳ７０６に遷移し、何れかのサーバーで公開されているモデルを見つけたらその時点でＳ７０２に遷移する。
（Ｓ７０２）
Ｓ７０２では候補モデル取得部６０１が、Ｓ７０１で見つけた新しいモデルを当該サーバーからネットワークを介して取得する。取得したモデルは候補モデルとして候補モデル取得部６０１が管理する保存領域に保持する。
（Ｓ７０３）
Ｓ７０３では評価部６０２が、学習データ管理部３０６が管理している学習データを用いて候補モデル取得部６０１が保持している候補モデルの性能を評価する。まず評価部６０２は、学習データ管理部３０６から評価用に用いる学習データを取得する。学習データ管理部３０６は、データベースに管理されている学習データを、評価に用いる学習データと、追加学習に用いる学習データとにランダムにシャッフルしてグループ分けする。そして、学習データ管理部３０６は、評価に用いる学習データを評価部６０２に渡す。次に評価部６０２は、取得した各学習データにおいて、学習データに含まれる局所パッチ画像を候補モデルに入力して吸着可能と吸着不可とを表す２クラスの確率を算出し、確率の高い方のクラスを認識結果とする。そして評価部６０２は、認識結果を学習データに含まれる吸着可否を表す正解ラベルと照合して認識結果の正誤を評価する。以上の評価を評価部６０２が受け取ったすべての学習データに対して行うことで認識の正解率を算出し、これを候補モデルの性能評価結果とする。
【００３７】
（Ｓ７０４）
Ｓ７０４では評価部６０２が、Ｓ７０３で算出した性能評価結果が所定の性能水準を満たすか否かを判定する。所定の性能水準とは現在の実行用モデルに対してＳ７０３と同様の方法で評価を行った結果である。評価部６０２は、実行用モデルの評価結果よりも候補モデルの評価結果の方がよい場合は水準を満たすと判定してＳ７０５に遷移し、そうでない場合は水準を満たさないと判定してＳ７０６に遷移する。
（Ｓ７０５）
Ｓ７０５では実行用モデル置換部３１１が、実行用モデル保持部３０３が保持している実行用モデルを候補モデル取得部６０１が保持している候補モデルで置き換える。
（Ｓ７０６）
Ｓ７０６では例えば評価部６０２が、モデル置換の処理を終了するか否かを判定する。評価部６０２は、モデル置換の処理を終了しない場合はＳ７０１からの処理を繰り返し、モデル置換の処理を終了する場合は図８に示すモデル置換フローを終了する。
【００３８】
以上の処理から成るモデル置換フローをタスク実行フローと並列に実行することによって、外部の複数のサーバーで公開されているモデルの中から最も性能のよいモデルを選択して実行用モデルを置き換えることができる。このようにすることで、ユーザーの工場で稼働しているロボット制御装置５０２の実行用モデルとして、取得可能な中から、常に最も性能のよいモデルを選んで運用することができる。
【００３９】
（変形例）
本実施形態ではＳ７０１において候補モデル取得部６０１が、サーバーＡ５０３及びサーバーＢ５０５の何れかで新しいモデルが公開されているか否かを順に確認し、何れかのサーバーで公開されているモデルを見つけたらその時点でＳ７０２に遷移した。そしてロボット制御装置５０２は、順次Ｓ７０２以降の処理を行った。しかし、候補モデル取得部６０１は、一つ目の新しいモデルを見つけた時点ですぐにＳ７０２に遷移せずに、最初に全てのサーバーを確認して新しい候補モデルをすべて取得してもよい。その場合は、ロボット制御装置５０２は、Ｓ７０２、及びＳ７０３の処理を並列に行って各候補モデルの性能評価結果を算出する。そして、ロボット制御装置５０２は、その中から最も高い性能評価結果を示す候補モデルについてＳ７０４以降の処理を行う。こうすることで、より高速に最適な置き換えるべき候補モデルを探すことができる。
【００４０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４１】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、ロボット制御装置１０２は、通信Ｉ／Ｆを複数、有していてもよい。例えば、ロボット制御装置１０２は、ロボット１０３、サーバー１０６、センサー類１０４それぞれとの通信Ｉ／Ｆを有していていもよい。
また、ロボット制御装置１０２は、複数のＣＰＵ、メモリを有し、複数のＣＰＵがメモリに記憶されたプログラムに基づき、複数のメモリを使用しながら処理を実行するようにしてもよい。
また、図４、図７に示したロボット制御装置１０２の機能構成の一部、又はすべてをハードウェア構成としてロボット制御装置１０２に実装してもよい。
【００４２】
以上、上述した各実施形態によれば、ユーザーの環境に設置されたロボットシステムによるタスクの試行錯誤を伴わずに外部から取得したモデルをユーザーのロボットシステムに導入することができる。
【符号の説明】
【００４３】
１０    ＣＰＵ
１０１  ロボットシステム
１０２  ロボット制御装置
【図１】
2019206041.tif 000003
【図２】
2019206041.tif 000004
【図３】
2019206041.tif 000005
【図４】
2019206041.tif 000006
【図５】
2019206041.tif 000007
【図６】
2019206041.tif 000008
【図７】
2019206041.tif 000009
【図８】
2019206041.tif 000010