JP7492440B2 - ロボット制御システム、ロボット制御方法及びプログラム - Google Patents

ロボット制御システム、ロボット制御方法及びプログラム Download PDF

Info

Publication number
JP7492440B2
JP7492440B2 JP2020186988A JP2020186988A JP7492440B2 JP 7492440 B2 JP7492440 B2 JP 7492440B2 JP 2020186988 A JP2020186988 A JP 2020186988A JP 2020186988 A JP2020186988 A JP 2020186988A JP 7492440 B2 JP7492440 B2 JP 7492440B2
Authority
JP
Japan
Prior art keywords
robot
learning
output
environmental sensor
environmental
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020186988A
Other languages
English (en)
Other versions
JP2022076572A5 (ja
JP2022076572A (ja
Inventor
哲司 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020186988A priority Critical patent/JP7492440B2/ja
Priority to PCT/JP2021/031322 priority patent/WO2022102207A1/ja
Priority to US18/033,814 priority patent/US20230390935A1/en
Publication of JP2022076572A publication Critical patent/JP2022076572A/ja
Publication of JP2022076572A5 publication Critical patent/JP2022076572A5/ja
Application granted granted Critical
Publication of JP7492440B2 publication Critical patent/JP7492440B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37555Camera detects orientation, position workpiece, points of workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボット制御システム、ロボット制御方法及びプログラムに関する。
従来、産業用ロボットに代表されるロボット装置は、記憶された作業対象物の位置のみに対する動作を繰り返し行うため、ロボット装置に作業を実行させるためには作業内容に則した位置を指定するプログラミングが必要である。しかし、ロボット装置は作業対象物の位置ずれや作業内容の変更に対して対応できない場合があった。そこで、ニューラルネットワークを含む機械学習技術を用いてロボット装置に所定の作業を実行させるように制御する技術が知られている。この技術では、作業対象物の位置等が異なる複数の作業場面における、カメラ等の環境センサの情報からロボット装置の動作指令を生成するように機械学習した学習器(学習済みモデル)を用いる。そして、機械学習した学習器に環境センサの出力を入力して生成した動作指令を用いてロボット装置を制御することで、異なる作業場面においてもロボット装置に作業を実行させることができる。
例えば、特許文献1に、学習済みモデル又はそれと同等のモデルを含む学習モジュールを用いて、所定のタスクを実行するシステムが開示されている。特許文献1に記載のシステムは、複数の動作候補、カメラで撮影した画像、及びロボットの姿勢に基づいて、学習済みモデルで構成される予測器が把持成功率と制約充足度を出力し、動作決定部において把持成功率と制約充足度に基づいて評価値を算出し、評価値に基づいて動作候補の中から次の動作を決定する。把持成功率は、各動作候補を実施したときに成功する確率である。制約充足度は、ユーザーが指定した制約条件を満たすか否かを表す。このシステムによれば、カメラの撮影画像をもとにロボットの動作を決定するとともに、ユーザーからの制約条件などの入力に応じて動作を調整することができ、いくつかの作業場面においてロボットに作業を実行させることができる。
特開2018-190241号公報
ところで、機械学習した学習器(学習済みモデル)は基本的には統計に基づく近似推論器であり、学習器が機械学習した状況に近い状況で入力がされた場合は精度良く推論できるが、学習器が機械学習した時と異なる状況における入力がされた場合は学習器の推論精度が低下する。
特許文献1に記載のシステムでは、作業対象物周辺の明るさが学習器による学習時の明るさと異なるといった、カメラの撮影画像に影響を与える環境条件では、ロボット装置を適切に動作させられないことがある。また、ユーザーの制約条件の入力に応じて動作を調整する場合、ユーザーが環境の変化を正しく認識し、認識した内容を制約条件に正しく変換する必要がある。しかし、ユーザーが高精度に制約条件を指定できないことがあり、ロボット装置を適切に動作させられないことがある。
本発明は、上記の状況に鑑みてなされたものであり、学習器を用いたロボット装置の現在の環境条件が、当該学習器が機械学習した時の環境条件と異なっていることを検知した場合に、ロボット装置が適切に作業を実行できるようにすることを目的とする。
上記課題を解決するために、本発明の一態様のロボット制御システムは、ロボット装置と、当該ロボット装置の環境条件を取得する環境センサと、当該環境センサの出力に対応するロボット装置の動作指令を生成するための機械学習を行った学習済みモデルに環境センサの現在の出力を入力して、学習済みモデルから出力される環境センサの現在の出力に対応したロボット装置の動作指令を生成し、ロボット装置の動作を制御する制御装置と、を備えるロボット制御システムである。
上記制御装置は、環境センサの現在の出力に基づいて、学習済みモデルがロボット装置の動作指令を機械学習した時のロボット装置の環境条件と、ロボット装置の現在の環境条件との一致度を演算する環境条件一致度演算部と、当該環境条件一致度演算部の演算結果に基づいて、ロボット装置の動作指令の内容、及び/又は環境センサの設定を調整する調整部と、を備える。
本発明の少なくとも一態様によれば、学習器を用いたロボット装置の現在の環境条件が、当該学習器が機械学習した時の環境条件と異なっていることを検知した場合に、現在の環境条件と学習時の環境条件との一致度に基づいて、ロボット装置の動作指令の内容、及び/又は環境センサの設定を調整する。それゆえ、ロボット装置は、このような調整がなされたロボット装置の動作指令、及び/又は環境センサの設定に従って、適切に作業を実行することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の第1の実施形態に係るロボット制御システムの全体構成の例を示す概略図である。 本発明の第1の実施形態に係るロボット制御システムのソフトウェアを実行するためのハードウェア構成の例を示す概略図である。 ロボット装置による作業の一例を示す外観図である。 本発明の第1の実施形態に係るロボット制御システムにおいて、学習型制御装置が実行する学習プログラムのソフトウェア構成の例を示す模式図である。 本発明の第1の実施形態に係る学習プログラムが学習用データを収集する手順の例を示すフローチャートである。 本発明の第1の実施形態に係る学習プログラムが学習器に機械学習させる手順の例を示すフローチャートである。 本発明の第1の実施形態に係るロボット制御システムにおいて、学習型制御装置が実行する学習器演算プログラムのソフトウェア構成の例を示す模式図である。 本発明の第1の実施形態に係るロボット制御システムにおいて、学習器演算プログラムがロボット装置の環境条件の一致度を演算し制御量を調整する方法の手順例を示すフローチャートである。 本発明の第1の実施形態に係るロボット制御システムにおいて、環境条件一致度演算部がロボット装置の環境条件の一致度を演算する方法を示す概略図である。 本発明の第2の実施形態に係るロボット制御システムにおいて、学習型制御装置が実行する学習器演算プログラムのソフトウェア構成の例を示す模式図である。 本発明の第2の実施形態に係るロボット制御システムにおいて、機械学習した複数の学習器から学習器演算プログラムが一つの学習器を選択する方法の手順例を示すフローチャートである。 本発明の第3の実施形態に係るロボット制御システムにおいて、学習型制御装置が実行する学習プログラム及び学習器演算プログラムのソフトウェア構成の例を示す模式図である。
以下、本発明を実施するための形態の例について、添付図面を参照して説明する。本明細書及び添付図面において実質的に同一の機能又は構成を有する構成要素については、同一の符号を付して重複する説明を省略する。
<第1の実施形態>
まず、本発明の第1の実施形態に係るロボット装置の構成、及びロボット装置を制御するロボット制御システムの構成について、図1及び図2を参照して説明する。
[ロボット制御システムの全体構成]
図1は、第1の実施形態に係るロボット制御システムの全体構成の例を示す概略図である。ロボット制御システム100において、ロボット装置1の各部と接続したロボット制御装置5が、インターネット又はLAN等のネットワーク3を介して学習型制御装置2と通信可能に接続されている。なお、ロボット装置1はロボット制御システム100の制御対象であり、ロボット制御システム100がロボット装置1を含まない構成としてもよい。
ロボット装置1は、作業対象物4に対して指示された作業を実行する。ロボット装置1は、作業用ロボット6(ロボット本体)と、照明装置7と、照明装置7の位置を変更する照明装置移動機構13と、カメラ8と、カメラ8の位置を変更するカメラ移動機構14とを有する。ロボット装置1を構成するこれらの要素は透明なカバー体16に収容されている。カバー体16は必須ではない。照明装置7、照明装置移動機構13、カメラ8、及びカメラ移動機構14は、作業用ロボット6の周辺機器である。カメラ8は、ロボット装置1が扱う作業対象物4を含む光学像の画像信号を得る機能を有する。カメラ8は、ロボット装置1の作業環境(環境条件)を計測する環境センサでもある。本明細書において、作業用ロボット6と周辺機器を区別しない場合、又はそれらを総称する場合には、「ロボット装置」と記載する。
作業用ロボット6は、ロボットアーム10と、ロボットアーム10の先端に取り付けられたエンドエフェクタ12とで構成される。ロボットアーム10は複数の関節を有し、各関節に設けられたモータ(図示略)などのアクチュエータが駆動することで自在に動作可能である。ロボットアーム10の各関節には角度計11が取り付けられている。作業用ロボット6は、ロボットアーム10の姿勢演算によりエンドエフェクタ12の位置を演算できるように構成されている。本実施形態では、垂直多関節型ロボットの例を示しているが、直交座標型ロボット、水平多関節型ロボット、パラレルリンクロボット等であってもよい。
ロボット装置1の作業用ロボット6、照明装置7、照明装置移動機構13、カメラ8、及びカメラ移動機構14は、ロボット制御装置5に接続されている。作業用ロボット6及び各周辺機器は、ロボット制御装置5からの制御指令(作業用ロボット6のモータ電流、照明装置7の印加電圧、カメラ8の制御信号等)を受けて動作するとともに、ロボット装置1の状態を表す情報をロボット制御装置5に送信する。
ロボット装置1の状態を表す情報とは、例えば作業用ロボット6の関節角度、照明装置7の照明光の明るさ、照明装置移動機構13による照明装置7の位置、カメラ8で撮影した画像(カメラ画像)、及びカメラ移動機構14によるカメラ8の位置などである。照明装置7の照明光の明るさは、例えば光束(ルーメン)を用いて表される。照明装置7の照明光の光束が変わることで、ロボット装置1内部又はロボット装置1周辺の照度が変化し、その変化がカメラ画像の明度及び彩度に表れる。作業用ロボット6の関節角度は、関節により連結されている要素同士(土台、アーム、ハンド等)がなす角度である。以下では、ロボット装置1の状態を表す情報を、「ロボット装置1の状態」と簡略して呼ぶことがある。
ロボット制御装置5は、ネットワーク3を介して学習型制御装置2に接続されている。ロボット制御装置5は、ロボット装置1から得られたロボット装置1の状態を表す情報を、ネットワーク3を介して学習型制御装置2に送信する。また、ロボット制御装置5は、学習型制御装置2が出力する動作指令(作業用ロボット6の目標関節角度、照明装置7の目標光束等)と、ロボット装置1から入力したロボット装置1の状態とを基に、ロボット装置1に対する制御指令を演算する。
ここで、作業用ロボット6の動作原理について説明する。
学習型制御装置2は、エンドエフェクタ12が所望の位置に移動するように、作業用ロボット6の各関節の目標関節角度を動作指令としてロボット制御装置5へ出力する。ロボット制御装置5は、学習型制御装置2から受信した目標関節角度に対して、作業用ロボット6から受信した角度計11の角度情報に基づいて、各関節の角度が目標関節角度と一致するように、作業用ロボット6のモータ電流を制御指令として出力する。
なお、学習型制御装置2が出力する動作指令は、各関節の目標角度に限定されるものではなく、例えばエンドエフェクタ12のX、Y、Z位置とヨー、ピッチ、ロール角に代表される位置/姿勢情報であってもよい。その場合、ロボット制御装置5は、内部で作業用ロボット6の逆運動学の解を演算し、作業用ロボット6のモータ電流を制御指令として出力するように構成されていてもよい。
[ロボット制御システムのハードウェア構成]
図2は、ロボット制御システム100のソフトウェアを実行するためのハードウェア構成の例を示す概略図である。なお、図2ではインタフェースを「I/F」と記載している。
(ロボット制御装置)
ロボット制御装置5は、システムバスを介して、制御装置51、通信インタフェース52、制御インタフェース53、及び記憶装置54が相互に電気的に接続されたコンピューターである。制御装置51は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を含み、本実施形態に係る機能を実現するプログラム及び各種データに基づいて、情報処理を実行するように構成される。CPUに代えて、MPU(Micro Processing Unit)等の他の処理装置を用いてもよい。
通信インタフェース52は、学習型制御装置2と接続して、ロボット装置1への動作指令とロボット装置1の状態に関するデータを送受信するためのインタフェースである。通信インタフェース52は、ネットワーク3を介して学習型制御装置2の通信インタフェース22と通信する。
制御インタフェース53は、ロボット装置1と接続して、ロボット装置1への制御指令とロボット装置1の状態に関するデータを送受信するためのインタフェースであり、ロボット装置1を構成する機器に応じて適宜構成される。制御インタフェース53に接続されるロボット装置1の構成については図1を参照して説明済みであるため、ここでは説明は省略する。
記憶装置54は、ハードディスクドライブ又は半導体メモリ等の補助記憶装置であり、制御装置51が実行する制御プログラム521等を記憶する。ROM及び記憶装置54は、制御装置51のCPUが動作するために必要なプログラムやデータ等を永続的に記録しており、CPUによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体の一例として用いられる。ロボット制御装置5は、電源の投入等により起動すると、記憶装置54に記憶されている制御プログラム521を制御装置51のRAMに展開して実行する。
制御プログラム521は、通信インタフェース52から入力される学習型制御装置2で生成された動作指令及び/又はカメラ8の設定と、制御インタフェース53から入力されるロボット装置1の状態を表す情報とに基づいて、ロボット装置1に対する制御指令を生成する。そして、制御プログラム521は、制御インタフェース53からロボット装置1へ制御指令を出力する。また、制御プログラム521は、制御インタフェース53から入力されるロボット装置1の状態を表す情報を通信インタフェース52から学習型制御装置2へ出力する。
(学習型制御装置)
学習型制御装置2は、システムバスを介して、制御装置21、通信インタフェース22、入力装置23、及び記憶装置24が相互に電気的に接続されたコンピューターである。制御装置21は、CPU、RAM、及びROM等を含み、本実施形態に係る機能を実現するプログラム及び各種データに基づいて情報処理を実行するように構成される。
通信インタフェース22は、ロボット制御装置5と接続して、ロボット制御装置5へのロボット装置1の動作指令とロボット装置1の状態を送受信するためのインタフェースである。通信インタフェース22は、ネットワーク3を介してロボット制御装置5の通信インタフェース52と通信する。
入力装置23は、マウスやキーボード等のユーザーからの入力を取り込む装置であり、学習型制御装置2のプログラムの実行等を制御する。
記憶装置24は、ハードディスクドライブ又は半導体メモリ等の補助記憶装置であり、制御装置21が実行する学習プログラム251、学習器演算プログラム261、学習用データ252、及び学習器重みデータ262等を記憶する。ROM及び記憶装置24は、制御装置21のCPUが動作するために必要なプログラムやデータ等を永続的に記録しており、CPUによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体の一例として用いられる。学習型制御装置2は、電源の投入等により起動すると、記憶装置24に記憶されている学習プログラム251及び学習器演算プログラム261を制御装置21のRAMに展開する。
学習プログラム251は、入力装置23を介してユーザーから学習の実行が指示されると、通信インタフェース22から入力されるロボット装置1の状態や環境等の情報を用いて、学習用データ252を生成して記憶装置24に記録する。そして、学習プログラム251は、この学習用データ252を用いて、後述する学習器256(図4参照)に機械学習させ、学習済みパラメータとして学習器重みデータ262を生成する。学習器256は、いわゆる教師あり学習モデルである。例えば、学習器重みデータ262はニューラルネットワークの重みである。
学習器演算プログラム261は、入力装置23を介してユーザーからロボット装置1の制御の実行が指示されると、学習器重みデータ262を読み込む。そして、学習器演算プログラム261は、通信インタフェース22から得られるロボット装置1の状態と後述する学習済みの学習器264(図7参照)とを用いて、ロボット装置1の動作指令やカメラ8の設定を演算する。学習器264は、学習器256による学習の結果(学習済みパラメータ)が反映された学習済みモデル(推論プログラム)である。学習器演算プログラム261は、生成したロボット装置1の動作指令やカメラ8の設定を通信インタフェース22からロボット制御装置5に出力する。ロボット制御装置5は、学習型制御装置2から入力されたロボット装置1の動作指令及び/又はカメラ8の設定に基づいて、ロボット装置1に制御指令を出力してその動作を制御する。
なお、ロボット制御装置5と学習型制御装置2は、ネットワーク3を介して接続されている構成に限らない。ロボット制御装置5と学習型制御装置2は、通信インタフェース52と通信インタフェース22が専用線等で直接接続されている構成であってもよい。また、制御インタフェース53と通信インタフェース52が同一であってもよく、ロボット制御装置5は、ネットワーク3を介してロボット装置1に制御指令を出力するように構成されていてもよい。
また、学習プログラム251と学習器演算プログラム261は、同一の学習型制御装置2に記憶されていなくてもよく、それぞれが異なる学習型制御装置に記憶されていてもよい。例えば、異なる学習型制御装置間で、ネットワーク3を介して学習用データ252や学習器重みデータ262を通信するように構成されていてもよい。
また、学習型制御装置2とロボット制御装置5は、同一のハードウェアで構成してもよい。すなわち、制御プログラム521、学習プログラム251及び学習器演算プログラム261が同一のハードウェア上で実行されるように構成されていてもよい。
次に、ロボット制御システム100において、学習型制御装置2がロボット装置1の動作指令を学習した時の環境条件と、環境センサの現在の出力(環境条件)との比較に基づいて、ロボット装置1の動作指令を調整する方法を図3乃至図8を用いて説明する。
[ロボット装置が実行する作業の例]
図3は、ロボット装置1によって実行される作業の一例を示す外観図である。図3を用いてロボット装置1の作業例を説明する。
作業用ロボット6は、所定の作業を繰り返し実行する工程に対して特に有用である。例えば、図3には、作業用ロボット6が、搬入トレイ32にバラ積みされた作業対象物4を搬出トレイ35に移し替える作業を繰り返す工程が示されている。作業用ロボット6は、搬入ライン31から搬入された搬入トレイ32にバラ積みされた作業対象物4をエンドエフェクタ12で1つずつ掴み、搬出トレイライン33から搬入される搬出トレイ35に整列して配置する。そして、作業用ロボット6は、作業対象物4が配置された搬出トレイ35を把持して搬出ライン34に移動する。作業用ロボット6は、これらの作業を繰り返し実行する。
作業用ロボット6が搬入トレイ32から作業対象物4を把持して移動する動作では、作業用ロボット6がランダムに配置されている複数の作業対象物4の中から把持可能な作業対象物4を1つだけ選択し、選択した作業対象物4のみを把持するように、作業用ロボット6を制御する必要がある。このような動作を予め定められたエンドエフェクタ12の位置指定のみで対応させることは難しい。そこで、バラ積みされた作業対象物4を把持する動作を、作業対象物4の位置や向き(姿勢)を変更した複数の作業場面で機械学習し、機械学習した学習型制御装置2が生成した作業用ロボット6の動作指令を用いて作業用ロボット6を制御する。これにより、作業対象物4の配置(位置、姿勢)がランダムであっても、作業用ロボット6が作業対象物4をエンドエフェクタ12で確実に把持できることが期待される。
また、搬出トレイライン33の搬出トレイ35は、図3に示すように、搬出トレイ35の位置や向きがずれて搬入されることがある。このため、搬出トレイ35に作業対象物4を配置する際に、搬出トレイ35の位置や向きに合わせて作業対象物4を配置する必要がある。このような動作を予め定められたエンドエフェクタ12の位置指定のみで対応させることは難しい。そこで、ロボット制御システム100では、作業対象物4を搬出トレイ35に配置する動作を、搬出トレイ35の位置や向きを変更した複数の作業場面で機械学習し、機械学習した学習器が推論した作業用ロボット6の動作指令を用いて作業用ロボット6を制御する。これにより、搬出トレイ35の位置や向きがずれて搬入された場合であっても、適切に作業対象物4を搬出トレイ35に整列して配置させられると期待できる。
上記のような機械学習した学習器を用いた制御を実行するために、搬入トレイ32にバラ積みされた作業対象物4の状態を把握するためのカメラ8aと、搬出トレイ35の位置や向きを把握するためのカメラ8bを設置することがある。また、カメラ8a,8bの取得画像の明暗を調整するための照明装置7a,7bを設置することがある。このとき、図示しないロボット装置1の周囲環境の影響で、ある時点でのカメラ8a,8bの取得画像の状態(例えば明度、彩度など)が、学習器により機械学習した時のカメラ8a,8bの取得画像の状態と同一にならないことがある。
例えば、ロボット装置1付近の窓を通して外部から差し込む光の影響や、ロボット装置1が設置されている建物の天井に備えられた照明の影響等がある。これらの影響は現場によって変化するため、同一の工程を異なる現場で実行させた場合、学習器が機械学習した時の環境条件が現在の環境条件と異なってしまい、適切な制御を実行できないことがある。そのため、作業用ロボット6に適切な制御を実行させるためには、ロボット装置1の制御時の環境条件を、学習器が機械学習した時の環境条件と同一にすることが望ましい。
[動作指令を学習する方法]
次に、学習型制御装置2がロボット装置1の動作指令を学習する方法について図4~図6を用いて説明する。
図4は、ロボット制御システム100において、学習型制御装置2が実行する学習プログラム251のソフトウェア構成の例を示す模式図である。
図5は、学習プログラム251が学習用データ252を収集する手順の例を示すフローチャートである。
図6は、学習プログラム251が学習器256を機械学習させる手順の例を示すフローチャートである。
なお、図5のすべての処理ステップは、学習型制御装置2において予め定められたサンプリングタイミング毎に実行される。また、制御装置21のRAMには、後述するステップS15(図6参照)において学習器256が更新された回数が保存され、ステップS14において更新回数の判定時に更新回数がRAMから呼び出される。また、学習プログラム251は、制御装置21のRAMに展開されてCPUにより実行されるときに、データ収集部253及び学習処理部255をソフトウェアモジュールとして備えるように構成される。
まず、図4を参照して学習プログラム251のデータ収集部253が、学習器256に機械学習させるための複数の作業場面の学習用データ252を収集する方法について説明する。データ収集部253は、入力装置23を介したユーザーの指示に基づいて学習用データ252の収集期間を判定する収集期間判定部254を備える。ユーザーは、入力装置23により学習用データ252の取得の開始と終了を指示する。
データ収集部253は、収集期間判定部254が判定した収集期間のカメラ8のカメラ画像、作業用ロボット6の関節角度、及び作業用ロボット6の動作指令である目標関節角度を、通信インタフェース22を介して取得し、1つの作業場面における学習用データ252として記憶装置24に保存する。
例えば、予めロボット制御装置5の制御プログラム521に、作業用ロボット6の関節角度を複数指定し、所定の時間で指定した関節角度になるようにプログラミングしておく。そして、データ収集部253は、制御プログラム521により作業を実行している際の、サンプリングタイミング毎のデータをロボット装置1から取得し、時系列データを1つの学習用データ252として記憶装置24に保存する。データ収集部253は、入力装置23が指示する数の作業場面における学習用データ252を収集する。例えば、作業場面として作業用ロボット6が搬入トレイ32にバラ積みされた作業対象物4をつかむ作業を何回も学習することにより、作業対象物4の位置や姿勢が異なる複数の学習用データ252を収集できる。
図5において、はじめにデータ収集部253の収集期間判定部254は、入力装置23を介してユーザーからデータ収集指示が入力されたか否かを判定する(S1)。そして、収集期間判定部254は、データ収集指示があった場合は(S1のYES)、処理をステップS2に進め、データ収集指示がなかった場合は(S1のNO)、ステップS1の判定処理を再度実行してデータ収集指示の入力を監視する。
次いで、データ収集部253は、データ収集指示が入力されたと判定した場合(S1のYES)、1サンプリング分のカメラ画像、作業用ロボット6の関節角度、及び作業用ロボット6の動作指令を1つの作業場面における学習用データ252に記録し(S2)、ステップS3に進む。
次いで、データ収集部253は、入力装置23を介してユーザーから指定された収集期間のデータが記録されたか否かを判定する(S3)。そして、データ収集部253は、指定された収集期間のデータが記録されていない場合には(S3のNO)、処理をステップS2に戻し、データの記録を継続する。一方、データ収集部253は、指定された収集期間のデータが記録された場合は(S3のYES)、1つの作業場面における学習用データ252が取得されたとして、処理をステップS4に進める。
次いで、データ収集部253は、入力装置23を介して指示された数以上の作業場面における学習用データ252を収集したか否かを判定する(S4)。そして、データ収集部253は、指示された数以上の作業場面における学習用データ252の収集が完了していない場合は(S4のNO)、処理をステップS1の前に戻し、異なる作業場面における学習用データ252を収集するよう処理を継続する。一方、データ収集部253は、指示された数の作業場面における学習用データ252の収集が完了した場合は(S4のYES)、一連の処理を終了する。
なお、ステップS1におけるデータ収集開始の判定や、ステップS3における収集期間終了の判定は異なる方法であってもよい。例えば、作業用ロボット6のエンドエフェクタ12が所定の位置に達した瞬間からデータの記録を開始し、入力装置23を介してユーザーが指示した時点までのデータを記録するように構成されてもよい。また、収集する学習用データ252の内容は、カメラ画像、作業用ロボット6の関節角度、及び作業用ロボット6の動作指令と異なる内容であってもよく、カメラ画像と作業用ロボット6の動作指令のみで構成されていてもよい。また、ロボット装置1の動作指令は作業用ロボット6の目標関節角度に限定されず、エンドエフェクタ12のX、Y、Z位置とヨー、ピッチ、ロール角に代表される位置情報及び姿勢情報であってもよい。
(学習器の機械学習)
続いて、図4に戻り学習プログラム251の学習処理部255が、データ収集部253により収集された複数の作業場面における学習用データ252を用いて、学習器256に機械学習させる方法について説明する。
学習処理部255は、学習器256と、重み更新量演算部257を備える。
学習器256は、学習用データ252のカメラ画像とロボット関節角度を入力すると、学習時のカメラ画像を再現(ノイズ除去等の処理を実施)した推定画像と、作業用ロボット6の目標関節角度である推定動作指令とを出力する。推定画像は、環境センサの出力に基づいて生成される再現信号の一例である。例えば、学習器256には、複数の層で構成されるニューラルネットワークを適用できる。ニューラルネットワークを構成する各ニューロンには、重みとバイアスが設定されている。複数のニューロンで一つの層が形成され、入力層と出力層との間には、中間層が設定される。
重み更新量演算部257は、作業場面ごとに学習用データ252のカメラ画像と学習器256から出力される推定画像、並びに、学習用データ252の動作指令と学習器256から出力される推定動作指令をそれぞれ比較する。そして、重み更新量演算部257は、学習用データ252の内容と学習器256の出力が一致するように、学習器256の重み(ニューラルネットワークの各ニューロン間の結合度や各ニューロンの発火(活性化)閾値等の重み)の更新量を演算する。ここでは、重みの更新量を演算する構成としているが、重みの更新量に加えてバイアスの更新量を演算する構成としてもよい。
そして、学習処理部255は、予め定められた条件に達するまで学習器256の重みを、重み更新量演算部257が演算する更新量に従い更新し続け、予め定められた条件に達した場合、その時の学習器256の重みを学習器重みデータ262として保存する。
ここで、図6を参照して学習処理部255が学習器256の重みを更新する処理の手順について説明する。
はじめに、学習処理部255は、学習器256の重みを初期化する(S11)。続いて、学習処理部255は、重み更新量演算部257により学習器256の出力と教師データとの誤差を演算する(S12)。具体的には、重み更新量演算部257は、学習器256が出力する推定画像と学習用データのカメラ画像との誤差、及び、学習器256が出力する推定動作指令と学習用データの動作指令との誤差を演算し、処理をステップS13に進める。
次いで、学習処理部255は、ステップS12で重み更新量演算部257が演算した誤差が所定値以下であるか否かを判定する(S13)。そして、学習処理部255は、誤差が所定値以下である場合(S13のYES)、学習器256の推定結果が十分正しいとして処理をステップS16に進め、誤差が所定値を超える場合は(S13のNO)、処理をステップS14に進める。
例えば、画像の誤差と動作指令の誤差とを含む誤差関数を定義し、誤差関数がゼロ又は最小となるようにニューラルネットワークの重みが決定される。あるいは、カメラ画像の学習と動作指令の学習を別々に行ってもよく、学習(誤差算出、重み決定)の方法は種々の方法が考えられる。
判定ステップS13がNO判定の場合、学習処理部255は、後述するステップS15での学習器256の重みの更新を所定回数実行したか否かを判定する(S14)。そして、学習処理部255は、学習器256の重みを所定回数更新した場合は(S14のYES)、学習器256の重みの更新が収束しているとして処理をステップS16に進める。また、学習処理部255は、学習器256の重みを所定回数更新していない場合は(S14のNO)、処理をステップS15に進める。
次いで、判定ステップS14がNO判定の場合、学習処理部255は、ステップS12で重み更新量演算部257により演算された誤差の大きさに基づいて学習器256の重みの更新量を演算する。そして、学習処理部255は、重み更新量演算部257が演算した学習器256の重み更新量に従い学習器256の重みを更新し(S15)、RAMに記録している更新回数を1つ増やす。ステップS15の処理後、学習処理部255は、処理をステップS12に戻し、更新処理を繰り返すことで学習器256を最適化する。
判定ステップS13がYES判定の場合、又は判定ステップS14がYES判定の場合は、学習処理部255は、学習器256(ニューラルネットワーク)の重みを学習器重みデータ262として記憶装置24に保存して(S16)、一連の処理を終了する。
なお、図4ではニューラルネットワークは単純な多層パーセプトロン(MLP:Multi Layer Perceptron)を図示しているが、異なるネットワークを用いてもよく、例えば畳み込みネットワーク(CNN:Convolutional Neural Network)や再帰型ネットワーク(RNN:Recurrent Neural Network)等を用いる構成にしてもよく、さらにこれらのネットワークを組み合わせた構成としてもよい。また、学習器256の学習方法は、ニューラルネットワークを用いた深層学習による機械学習に限らず、他の学習方法であってもよい。
上述したように、学習器256は、作業対象物4の状態を写したカメラ画像と作業用ロボット6の状態であるロボット関節角度とを入力したときの、作業用ロボット6の動作指令を学習し、推定動作指令として出力する。ニューラルネットワークが適用された学習器256では、各ニューロンが結合されることで、カメラ画像の情報とロボット関節角度の情報が結びつき、結果として作業対象物4の状態に対する作業用ロボット6の動作を紐づけて学習する。このため、後述する学習器演算プログラム261の実行時に、カメラ画像が学習用データ252を取得した時のカメラ画像と異なる状況では作業用ロボット6の動作が正しく実行されなくなる。
本実施形態では、学習器256は、推定動作指令と同時にカメラ画像を再現した推定画像を出力するよう学習するが、上述したように各ニューロンの結合により、学習器256に入力されるカメラ画像と作業用ロボット6の動作が紐づけられて学習される。すなわち、学習器256は、推定動作指令と推定画像もまた紐づくように学習する。そのため、推定画像がカメラ画像と一致しているときは、推定動作指令も学習用データ252の動作指令と一致すると判断することができる。
また、学習器256は、ある作業場面について複数の学習用データ252のカメラ画像と推定画像が一致するように学習するため、カメラ画像のノイズが平滑化された推定画像を出力するよう学習する。そのため、学習器256が学習する推定画像は、瞬間的な外乱が除かれた作業対象物4の状態のみを反映した画像となる。
[動作指令を生成する方法]
次に、学習型制御装置2がロボット装置1の動作指令を生成する方法について図7~図9を用いて説明する。
図7は、ロボット制御システム100において、学習型制御装置2が実行する学習器演算プログラム261のソフトウェア構成の例を示す模式図である。図7に示すように、学習型制御装置2は、制御装置21のCPUが記憶装置24に記憶された学習器演算プログラム261をRAMに展開し実行する。学習器演算プログラム261は、制御装置21のRAMに展開されてCPUにより実行されるときに、演算処理部263、環境条件一致度演算部265、制御量調整部266、停止指令出力部267、及び出力切替部268をソフトウェアモジュールとして備えるように構成される。
演算処理部263は、通信インタフェース22を介してカメラ画像とロボット関節角度が入力されると、そのカメラ画像を再現した推定画像と、作業用ロボット6の目標関節角度を推定した推定動作指令とを出力する学習器264を備える。学習器264には、学習器256と同様にニューラルネットワークを適用することができる。演算処理部263は、入力装置23を介してユーザーからロボット装置1の動作開始の指示があると、図4の学習プログラム251によって生成された学習器重みデータ262の重み値を学習器264に適用する。学習器264は、カメラ画像とロボット関節角度とに基づいて演算処理(推論)を行い、推定動作指令を生成する。そして、演算処理部263は、学習器264が推論した推定動作指令を、作業用ロボット6の制御信号として出力切替部268に出力するとともに、推定画像を環境条件一致度演算部265に出力する。
環境条件一致度演算部265は、カメラ8のカメラ画像に基づいて、学習器256がロボット装置1の動作指令を機械学習した時のロボット装置1の環境条件と、ロボット装置1の現在の環境条件との一致度を演算し、演算結果を制御量調整部266へ出力する。
制御量調整部266(調整部の一例)は、環境条件一致度演算部265の演算結果に応じて、ロボット装置1の動作指令の内容、及び/又はカメラ8の設定を調整し、調整結果を通信インタフェース22を介してロボット制御装置5へ出力する。また、制御量調整部266は、学習器256が出力するカメラ8のカメラ画像を再現した推定画像と、カメラ8の現在のカメラ画像との差分に基づいて、出力切替部268に切替信号を出力する。
出力切替部268は、制御量調整部266の切替信号に基づいて、学習器264が推定する動作指令(推定動作指令)と、停止指令出力部267が出力する停止指令のいずれかを、ロボット動作指令として通信インタフェース22を介してロボット制御装置5へ出力する。
(環境条件の一致度に基づく制御量の調整)
図8は、ロボット制御システム100において、学習器演算プログラム261がロボット装置1の環境条件の一致度を演算して制御量を調整する方法(演算工程、調整工程)の手順例を示すフローチャートである。
図9は、ロボット制御システム100において、環境条件一致度演算部265がロボット装置1の環境条件の一致度を演算する方法を示す概略図である。図9には、搬入トレイ32にバラ積みされた作業対象物4の画像が記載されている。
図8のすべての処理ステップは、学習型制御装置2において予め定められたサンプリングタイミング毎に実行される。また、制御装置21のRAMには、ステップS22、及びステップS27,S28のそれぞれで設定された照明装置7の照明光の光束補正量が保存される。制御装置21は、後述するロボット装置1の環境条件としてロボット装置1の作業位置周辺の明るさ(照度)を調整する際に、RAMに保存された照明光の光束補正量を呼び出す。
図8において、はじめに学習器演算プログラム261の制御量調整部266は、作業用ロボット6への停止指令が停止指令出力部267の出力となるように、出力切替部268に切替指示を出力し、作業用ロボット6を停止させる(S21)。後述するステップS22乃至ステップS29で変更する照明装置7の明るさ調整が完了するまでは、学習器264の推定動作指令が不適切なために作業用ロボット6が不適切に動作してしまう。これを防ぐために、学習器演算プログラム261は、通信インタフェース22に停止指令を出力して作業用ロボット6を停止させておく。
次いで、制御量調整部266は、照明装置7の照明光の光束を現在より予め定められた量だけ明るくするように、光束変更量を正に設定する(S22)。例えば、正の光束変更量に基づいて照明装置7に対する印加電圧を所定量大きな値に設定することで、照明装置7の照明光が明るくなる。照明装置7の照明光の光束と印加電圧との関係は、相関式又は参照テーブルの形で予めROM又は記憶装置24に記憶されている。
次いで、環境条件一致度演算部265は、カメラ8から取得したカメラ画像と学習器264が出力する推定画像との誤差を演算する(S23)。例えば、学習器264に適用される学習器重みデータ262を機械学習した時のカメラ8が取得するカメラ画像の環境条件が、図9上段に示す画像Im1のような環境条件(周囲が明るい条件)の場合、学習器264が出力する推定画像は図9上段の画像Im1と同様に明るい画像になる。一方で、学習器256が機械学習した時の作業対象物4周辺が暗い場合、カメラ8が取得するカメラ画像は図9中段の画像Im2のように少し暗い画像になる。
本実施形態では、このような環境条件下であっても、ニューラルネットワークは機械学習したカメラ画像を再現するように推定するため、学習器264が出力する推定画像は、図9上段の画像Im1と同様に明るい画像になる。
ここで、図9上段に示すような画像Im1に相当する推定画像と図9中段に示すような実際のカメラ画像(画像Im2)の差分を取ると、図9下段のような差分画像Imdになる。差分がない場合は全体(すべての画素)が黒の画像となる。しかし、現在の環境条件が、学習器256が機械学習した時の環境条件と異なると、図9下段に示すように、環境条件の差分が画像として現れる。環境条件一致度演算部265は、図9下段に示すような差分画像Imdにおける各画素の出力値(誤差量)の合計を、カメラ画像と推定画像の誤差として演算し出力する。差分画像Imdにおける各画素の出力値の合計が小さいほど、カメラ画像と推定画像の一致度が高い。
図8に戻って説明を続ける。次いで、制御量調整部266は、ステップS23で環境条件一致度演算部265が演算した誤差が所定値以下であるか否かを判定する(S24)。そして、誤差が所定値以下である場合には(S24のYES)、制御量調整部266は、推定動作指令を生成時の環境条件が学習器264に適用される学習器重みデータ262を機械学習した時とほぼ同一であると判断して、処理をステップS30に進める。一方、誤差が所定値を超える場合には(S24のNO)、制御量調整部266は、学習器256が機械学習した時と学習器264が推論する時とで環境条件が同一ではないとして、処理をステップS25に進める。
判定ステップS24がNO判定の場合、制御量調整部266は、ステップS23で演算した誤差が、それ以前(例えば前回のサンプリングタイミング)に演算した誤差よりも拡大したか否かを判定する(S25)。そして、誤差が拡大した場合には(S25のYES)、制御量調整部266は、ステップS22で設定した光束変更量を照明装置7に適用したこと(照明装置7を明るくする又は暗くする)によって、現在の環境条件が学習器重みデータ262を機械学習した時の環境条件から乖離したと判断し、処理をステップS26に進める。一方、ステップS22で設定した光束変更量で誤差が拡大しない場合には(S25のNO)、制御量調整部266は、処理をステップS29に進める。
判定ステップS25がYES判定の場合、制御量調整部266は、光束変更量が正か否か、すなわち照明光を明るくする方向又は暗くする方向に補正していたかを判定する(S26)。そして、光束変更量が正である場合には(S26のYES)、制御量調整部266は、光束変更量を負、すなわち予め定められた光束変更量だけ照明装置7の照明光を暗くするように設定する(S27)。
一方、光束変更量が負である場合には(S26のNO)、制御量調整部266は、光束変更量を正、すなわち予め定められた光束変更量だけ照明装置7の照明光を明るくするように設定する(S28)。ステップS27又はS28の処理後、制御量調整部266は、処理をステップS29に進める。
次いで、制御量調整部266は、ステップS22,S27又はS28で設定した光束変更量の分だけ照明装置7の照明光の明るさが変化するように、通信インタフェース22を介してロボット制御装置5に光束変更指令を出力する(S29)。ステップS29の処理後、制御量調整部266は、処理をステップS23に戻し、現在の環境条件と学習器256が機械学習した時の環境条件が一致するように照明装置7の明暗の調整を継続する。
判定ステップS24においてカメラ画像と推定画像との誤差が所定値以下の場合(S24のYES)、現在の環境条件が学習器264に適用される学習器重みデータ262を機械学習した時とほぼ同一であると判断できる。そこで、カメラ画像と推定画像との誤差が所定値以下の場合には、制御量調整部266は、ロボット装置1への動作指令として学習器264の推定動作指令が出力されるように切替信号を設定し、出力切替部268へ切替信号を出力して一連の処理を終了する(S30)。
学習型制御装置2は、通信インタフェース22を介して調整後のロボット装置1の動作指令をロボット制御装置5へ出力する。ロボット制御装置5は、学習型制御装置2から受信した調整後のロボット装置1の動作指令に基づいて、ロボット装置1の制御指令を生成し、制御インタフェース53を介してロボット装置1へ出力する。ロボット装置1は、ロボット制御装置5から受信した、調整後の動作指令に基づいて生成された制御指令に従って動作する(動作工程)。
上述したように、学習器264を構成するニューラルネットワークの各ニューロンの結合によって、カメラ画像、ロボット関節角度、推定画像、及び推定動作指令は相互に紐づいている。このため、学習器264が出力する推定画像がカメラ画像と一致している(誤差が所定値以下である)場合は、学習器264が出力する推定動作指令の内容は学習用データ252の動作指令と同様であると判断できる。一方で、学習器264の推定画像がカメラ画像と一致していない場合は、学習器264の推定動作指令の内容は学習用データ252の動作指令と同様ではないと判断できる。この場合、学習型制御装置2が、学習器256の学習時の環境条件と現在の環境条件が一致するように、照明装置7の照明光の明るさを変更することで、作業用ロボット6が正しく動作するようになる。
また、学習用データ252を取得した際のカメラ画像を記憶しておき、そのカメラ画像と現在のカメラ画像を比較する場合、瞬間的な外乱(ノイズ等)により偶然、両画像の誤差が小さくなることがある。しかし、上述したように学習器264が出力する推定画像は、瞬間的な外乱が除かれた作業対象物4の状態のみを反映した画像となるため、瞬間的な外乱の影響を受けない。そのため、現在のカメラ画像(環境条件)が学習器256の学習時の推定画像(環境条件)と一致する場合、環境条件一致度演算部265は、より精度よく、推定動作指令の内容が学習用データ252の動作指令と同様であると判断できる。
ただし、上述した実施形態では、学習器256が学習時のカメラ8のカメラ画像に基づいて推定画像を出力する例を説明したが、学習時の環境を表す情報(特徴情報)は学習器256が出力する推定画像に限らない。例えば、学習時の環境を表す情報として、学習時にカメラ8で得られるカメラ画像又は後述する測距装置の測距データを用いてもよい。すなわち、環境条件一致度演算部265は、学習器264(学習済みモデル)がロボット装置1の動作指令を学習した時の環境センサ(カメラ8、測距装置)の出力と、環境センサの現在の出力とを比較し、学習時のロボット装置1の環境条件と、ロボット装置1の現在の環境条件との一致度を演算する構成としてもよい。例えば、学習時の環境を表す情報としてカメラ画像を使用する場合、複数のカメラ画像の各画素の情報に基づいて、複数のカメラ画像の中から複数のカメラ画像の平均に最も近いカメラ画像や、複数のカメラ画像の中央値に相当するカメラ画像を使用することができる。
このように構成した場合でも、学習型制御装置2は、現在の環境条件を学習時の環境条件と一致させるように動作指令の内容、及び/又は環境センサの設定を調整することが可能である。これにより、環境センサの出力に応じてロボット装置1の動作指令を生成するように機械学習した学習済みモデルの動作指令の推論精度が向上し、学習型制御装置2はロボット装置に適切な動作指令を出力することができる。
なお、図8のステップS22,S27又はS28で設定する光束変更量の大きさは固定値ではなく、例えばカメラ画像と推定画像の誤差の大きさに比例して光束変更量の大きさを設定するように構成してもよい。また、制御量調整部266は、照明装置7による照明光の明るさを物理的に変更する指令を出力することで、カメラ8の取得画像の明暗(明度)や色彩(彩度)を調整するが、他の方法でもよい。例えば、制御量調整部266は、カメラ8の設定値をソフトウェアにより変更し、カメラ8の取得画像の画質(明暗や色彩)を調整するように構成してもよい。
また、制御量調整部266が出力する指令は、照明装置7の照明光の明暗の変更指令(変更量)だけでなく、照明装置7の位置を変更する照明装置移動機構13の移動量や、カメラ8の位置を変更するカメラ移動機構14の移動量であってもよい。この場合、制御量調整部266が、推定画像とカメラ画像との誤差の大きさの勾配を用いて、照明装置移動機構13又はカメラ移動機構14の移動方向と移動量を指令する構成としてもよい。
また、制御量調整部266がカメラ移動機構14に指令を出して、作業対象物4からカメラ8までの距離を物理的に変更する構成に限定されない。例えば、制御量調整部266は、カメラ8のズーム機能(ズームイン又はズームアウト)の設定、すなわち、光学系の焦点距離を変更することで、カメラ画像に写る作業対象物4の大きさを調整するようにしてもよい。あるいは、カメラ移動機構14によるカメラ8の移動量変更とカメラ8のズーム機能の設定変更を併用してもよい。
また、上述した要素(制御量)の変更量は、図8に示す方法で調整するだけでなく、変更量を学習及び演算するための学習器を学習器264とは別に用意してもよい。例えば、制御量調整部266が内部に学習器(図示略)を備え、学習器に学習用データ252と変更量との関係を学習させ、学習器の学習結果を用いて、光束補正量、照明装置移動機構13によるカメラ8の移動量、又はカメラ設定値を調整するように構成してもよい。また、制御量調整部266内部の学習器によって、カメラ移動機構14によるカメラ8の移動量やカメラ8の遠近設定(拡大/縮小)を調整するように構成してもよい。
また、図8のステップS23,S24に示したカメラ画像と推定画像との誤差の大きさの判定は、作業用ロボット6の動作前に実行する構成に限定されない。例えば、ステップS30で出力切替部268の出力を学習器264側に切り替えた後、定期的にステップS23~S29の処理を行うように構成し、作業用ロボット6の動作中も環境条件を変更するように構成してもよい。
なお、ロボット装置1の環境条件を計測する環境センサとしてカメラ8に限らず、光学や電波を利用した測距装置を用いてもよい。例えば、レーザーを利用するLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)を用いて、作業対象物4やその周囲の物体の形状(反射信号)を計測することで環境条件を測定するように構成してもよい。作業対象物4の周囲の物体の形状とは、例えば、作業対象物4を収納するトレイ、搬送ラインなどの形状である。環境センサに測距装置を用いる場合、学習器256,264は、測距装置が物体に投光して受信した反射信号(測距データ)に所定の外乱除去処理(ノイズ除去等)を行った推定測距データを、再現信号として出力する。測距データは、物体から得られる反射信号と当該反射信号が得られた位置とが対応づけられた点群データである。
また、本実施形態では、ロボット本体として作業用ロボット6を例に挙げたが、ロボット本体はサービスを提供する移動可能な自立型ロボットであってもよい。自立型ロボットは、環境センサを備える。また、自立型ロボットでは、周辺機器は自立型ロボット自身に取り付けられている。なお、環境センサは、自立型ロボットが移動する環境(建物)に設置されていてもよい。
以上のとおり、第1の実施形態に係るロボット制御システム(ロボット制御システム100)は、ロボット装置(ロボット装置1)と、ロボット装置の環境条件を取得する環境センサ(カメラ8、測距装置)と、環境センサの出力に対応するロボット装置の動作指令を生成するための機械学習を行った学習済みモデル(学習器264)に環境センサの現在の出力を入力して、学習済みモデルから出力される環境センサの現在の出力に対応したロボット装置の動作指令を生成し、ロボット装置の動作を制御する制御装置(学習型制御装置2)と、を備えるロボット制御システムである。
上記制御装置は、環境センサの現在の出力に基づいて、学習済みモデルがロボット装置の動作指令を機械学習した時のロボット装置の環境条件と、ロボット装置の現在の環境条件との一致度を演算する環境条件一致度演算部(環境条件一致度演算部265)と、環境条件一致度演算部の演算結果に基づいて、ロボット装置の動作指令の内容、及び/又は環境センサの設定を調整する調整部(制御量調整部266)と、を備えて構成される。
上記のように構成された第1の実施形態に係るロボット制御システムでは、制御装置の調整部が、ロボット装置の動作指令を生成する学習済みモデルが機械学習した時の環境条件と、現在の環境条件とを比較して、双方の環境条件の一致度(差分)を演算する。そして、制御装置の調整部は、一致度の演算結果に基づいて、現在の環境条件と学習時の環境条件の誤差が所定値以下となるようにロボット装置の動作指令の内容、及び/又は環境センサの設定を調整する。これにより、現在の環境センサの出力に応じてロボット装置の動作指令を生成するように機械学習した学習済みモデルの推論精度を向上させ、ロボット装置に適切な動作指令を出力することができる。それゆえ、学習済みモデルを用いたロボット装置の現在の環境条件が、学習時の環境条件と異なっていることを検知した場合に、ロボット装置が適切に作業を実行することができる。
また、上記の構成により、同一の作業内容(例えば、あるトレイにバラ積みされた作業対象物4を把持する作業)で環境条件が異なる作業場面における学習モデル(学習器256)の機械学習が不要となり、少ない作業場面による機械学習でロボット装置を制御できるようになる。このため、学習モデルの機械学習に要する手間を削減することができる。
さらに、本実施形態に係るロボット制御システム(ロボット制御システム100)において、学習済みモデル(学習器264)は、環境センサ(カメラ8、測距装置)の出力に対応するロボット装置の動作指令に加えて、環境センサの出力の再現信号(推定画像、推定測距データ)を生成するように機械学習を行った学習済みモデルであって、環境センサの現在の出力が入力されると、環境センサの現在の出力に対応したロボット装置(ロボット装置1)の動作指令と、学習時の環境センサの出力の再現信号と、を生成するように構成される。
そして、環境条件一致度演算部(環境条件一致度演算部265)は、学習済みモデルが出力する学習時の環境センサの出力の再現信号と、環境センサの現在の出力との差分を、環境条件の一致度として演算する。
また、調整部(制御量調整部266)は、学習済みモデルが出力する学習時の環境センサの出力の再現信号と、環境センサの現在の出力との差分が予め定められた所定値以下になるように、ロボット装置の動作指令の内容、及び/又は環境センサの設定を調整する。
上記のように構成されたロボット制御システムでは、学習済みモデルは、環境センサの出力に対応するロボット装置の動作指令に加えて、環境センサの出力の再現信号を生成するよう学習している。再現信号は、瞬間的な外乱が除去された信号であるため、学習済みモデルは、環境センサの出力に基づいて、瞬間的な外乱が除かれた作業対象物の状態のみを反映した情報を出力する。それゆえ、環境条件一致度演算部は、より精度よく、学習時のロボット装置の環境条件とロボット装置の現在の環境条件との一致度を演算することができる。
また、本実施形態に係るロボット制御システム(ロボット制御システム100)では、ロボット装置(ロボット装置1)は、ロボット本体(作業用ロボット6)と、当該ロボット本体又はその周辺に配置された周辺機器とを有し、周辺機器は、ロボット装置内部又は当該ロボット装置周辺の照度を変更する機器(照明装置7)であり、環境センサ(カメラ8)は、ロボット装置が扱う作業対象物を含む光学像の画像信号を得る機能と、当該画像信号に基づく撮影画像(カメラ画像)の明度若しくは彩度、又は撮影画像に写る作業対象物の大きさを変更(画質変更、光学系の焦点距離変更)する機能とを有するように構成される。
そして、環境条件一致度演算部(環境条件一致度演算部265)は、学習時の環境センサの出力の再現信号として学習済みモデル(学習器264)が学習時の複数の画像信号から推定した推定画像と、環境センサの現在の出力としての撮影画像(カメラ画像)とを比較し、推定画像と撮影画像との明度、彩度、又は撮影画像に写る作業対象物の大きさの差分を演算する。
また、調整部(制御量調整部266)は、推定画像と撮影画像との明度、彩度、又は撮影画像に写る作業対象物の大きさの差分が所定値以下となるように、周辺機器に対する動作指令の内容、及び/又は環境センサの設定を調整する。
上記のように構成されたロボット制御システムによれば、学習済みモデルで生成された学習時の推定画像と、環境センサの現在の撮影画像との明度、彩度、又は撮影画像に写る作業対象物の大きさの差分が所定値以下となるように、周辺機器に対する動作指令の内容、及び/又は環境センサの設定が調整される。したがって、作業時における環境センサの撮影画像の明度、彩度、又は撮影画像に写る作業対象物の大きさが、学習時の内容と一致する方向に変更される。このため、学習済みモデルの動作指令の推論精度が向上し、制御装置(学習型制御装置2)は周辺機器に対して適切な動作指令を出力、及び/又は環境センサを適切に設定することができる。
また、本実施形態に係るロボット制御システム(ロボット制御システム100)では、ロボット装置(ロボット装置1)は、ロボット本体(作業用ロボット6)と、当該ロボット本体又はその周辺に配置された周辺機器とを有し、周辺機器は、ロボット装置内部又は当該ロボット装置周辺の照度を変更する機器(照明装置7)の位置を変更する第1の移動機構(照明装置移動機構13)、又は、環境センサ(カメラ8)の位置を変更する第2の移動機構(カメラ移動機構14)であり、環境センサ(カメラ8)は、ロボット装置が扱う作業対象物を含む光学像の画像信号を得る機能を有するように構成される。
そして、環境条件一致度演算部(環境条件一致度演算部265)は、学習時の環境センサの出力の再現信号として学習済みモデル(学習器264)が学習時の複数の画像信号(学習用データ252)から推定した推定画像と、環境センサの現在の出力として画像信号に基づく撮影画像(カメラ画像)とを比較し、推定画像と撮影画像との明度若しくは彩度の差分、又は作業対象物とロボット装置との位置関係の差分を演算する。
また、調整部(制御量調整部266)は、推定画像と撮影画像との明度若しくは彩度の差分、又は作業対象物とロボット装置との位置関係の差分が所定値以下となるように、周辺機器に対する動作指令の内容を調整する。
上記構成のロボット制御システムによれば、学習済みモデルで生成された学習時の推定画像と、環境センサの現在の撮影画像との明度若しくは彩度の差分、又は作業対象物とロボット装置との位置関係の差分が所定値以下となるように、周辺機器に対する動作指令の内容が調整される。したがって、作業時における環境センサの撮影画像の明度若しくは彩度、又は作業対象物とロボット装置との位置関係が、学習時の内容と一致する方向に変更される。このため、学習済みモデルの動作指令の推論精度が向上し、制御装置(学習型制御装置2)は周辺機器に対して適切な動作指令を出力することができる。
<第2の実施形態>
本発明の第2の実施形態として、現在の環境条件と学習時の環境条件の一致度に応じて、ロボット制御システムが制御内容を調整する方法について、図10及び図11を用いて説明する。
図3に示したような工程では、現場の制約により搬送ラインの配置が変更されることがある。例えば、搬入ライン31と搬出トレイライン33の配置が図3と入れ替わっている場合(搬入ライン31が作業用ロボット6の前方、搬出トレイライン33が作業用ロボット6の左方にある場合)を考える。このとき、作業用ロボット6は、搬入ライン31上の搬入トレイ32にバラ積みされた作業対象物4を作業用ロボット6の前方で把持する。そして、作業用ロボット6は、作業用ロボット6の左方に搬出される搬出トレイ35に作業対象物4を整列して配置し、搬出トレイ35を作業用ロボット6の左方から作業用ロボット6の右方にある搬出ライン34に運搬する。
このような工程に対応できるように、図4~図6で示した動作指令の機械学習において、作業用ロボット6の左方で作業対象物4を把持する動作と、作業用ロボット6の前方で作業対象物4を把持する動作で、別々に学習用データ252を取得し、それぞれで学習器256の重みを機械学習する。このように機械学習する理由は、動作が大きく異なる作業を1つの学習器256に機械学習させると、ニューラルネットワークの構成が高次(ニューロン数や中間層の層数が多数)になるからである。ニューラルネットワークの構成が高次になるほどロバスト性がなくなり、学習器256が適切な動作指令を出力できなくなる可能性がある。
ニューラルネットワークは、その構成が高次になると過学習(教師データのみに適合)しやすいと言われている。また、作業の動作が大きく異なる場合、すべての動作に対して平均的な動作指令を出力することも懸念される。そのため、それぞれの動作毎に学習器256を機械学習し、得られた複数の学習器重みデータ262を現在の環境条件に応じて適切に切り替えられることが望ましい。
[学習器の切替方法]
次に、第2の実施形態に係るロボット制御システム100において、学習型制御装置2が機械学習した複数の学習器から一つの学習器を選択して切り替える方法について図10及び図11を用いて説明する。
図10は、学習型制御装置2が実行する学習器演算プログラムのソフトウェア構成の例を示す模式図である。
図11は、機械学習した複数の学習器から学習器演算プログラムが一つの学習器を選択する方法の手順例を示すフローチャートである。
図10に示す学習器演算プログラム261Aは、図7の学習器演算プログラム261と比べて、複数の学習器が用意された演算処理部263Aを備える点で異なる。図10では、異なる複数の学習器が示されている。以下では、2つの学習器について、それぞれに適用された学習器重みデータごとに符号を変えて記載している。
演算処理部263Aは、学習器重みデータ262aを学習器264aに適用し、学習器重みデータ262bを学習器264bに適用する。それぞれの学習器264a,264bは、通信インタフェース22を介して複数のカメラ画像とロボット関節角度を入力すると、複数のカメラ画像を再現した推定画像と、作業用ロボット6の推定動作指令とを出力するように構成されている。学習器264a,264bについては、学習器264と同様にニューラルネットワークを用いて構成することができる
ここで、図11を参照して機械学習した複数の学習器264a,264bから学習器演算プログラム261Aが一つの学習器を選択する方法の手順例について説明する。図11において、はじめに制御量調整部266は、作業用ロボット6への動作指令が停止指令出力部267の出力となるように、出力切替部268に切替指示を出力する(S41)。
次いで、環境条件一致度演算部265は、各学習器264a,264bが出力する推定画像とカメラ画像の誤差をそれぞれ演算する(S42)。例えば、先述したように作業用ロボット6の左方でバラ積みされた作業対象物4を把持する動作についての学習結果を適用した学習器が学習器264a、作業用ロボット6の前方でバラ積みされた作業対象物4を把持する動作についての学習結果を適用した学習器が学習器264bとする。
この場合、図3に示した環境では、学習器264aが出力する推定画像とカメラ8aのカメラ画像の誤差は小さくなるが、学習器264bが出力する推定画像とカメラ8aのカメラ画像の誤差は大きくなる。他方で、図3における搬入ライン31と搬出トレイライン33の配置が入れ替わっている環境では、学習器264aが出力する推定画像とカメラ8bのカメラ画像の誤差は大きくなるが、学習器264bが出力する推定画像とカメラ8bのカメラ画像の誤差は小さくなる。
制御量調整部266は、作業用ロボット6への動作指令がステップS42で演算した各学習器264a,264bにおけるカメラ画像と推定画像の誤差が最も小さい学習器の出力となるように設定し、出力切替部268に切替指示を出力して一連の処理を終了する(S43)。例えば、図3に示した環境では、制御量調整部266は、出力切替部268の出力が学習器264aの出力となるように、出力切替部268のスイッチを切り替える。また、図3における搬入ライン31と搬出トレイライン33の配置が入れ替わっている環境では、制御量調整部266は、出力切替部268の出力が学習器264bの出力となるように、出力切替部268のスイッチを切り替える。
なお、学習用データ252の収集、及び学習器264に適用させる学習器重みデータ262の機械学習は、作業対象物4の位置や姿勢の違い以外の環境条件に基づいて別々に実施させるように構成してもよい。例えば、照明装置7の照明光の明るさを調整し、明るい環境と暗い環境の双方で学習用データ252を収集し、機械学習して得られた2つの学習器重みデータ262を用いるように構成してもよい。また、作業対象物4の種類(色、形状等)の違い毎に学習用データ252を収集し、作業対象物4の種類に応じて機械学習して得られた学習器重みデータ262を用いるように構成してもよい。
また、制御量調整部266の調整内容は、学習器264a,264bの切替えに限定されるものではない。例えば、学習器264a,264bの切替えと併せて、図7に図示したように照明装置7の照明光の明るさを変更するように調整してもよい。このように、作業用ロボット6の周辺機器への動作指令を調整しつつ、環境条件が最も一致する学習器を選択するように構成してもよい。
このように、ロボット制御システム100は、複数の環境条件において機械学習した複数の学習器を有し、各学習器が機械学習した時の環境条件と現在の環境条件とを比較し、複数の学習器の中から最も環境条件が一致している学習器を選択するように制御する。これにより、現在の環境に最も適したロボット装置1の動作指令、及び/又は環境センサの設定を出力することができ、ロボット装置1に適切な動作を実行させることができる。
以上のとおり、第2の実施形態に係るロボット制御システム(ロボット制御システム100)では、制御装置(学習型制御装置2)は、異なる環境条件ごとに環境センサ(カメラ8、測距装置)の出力に対応するロボット装置(ロボット装置1)の動作指令を生成するための機械学習を行った複数の学習済みモデル(学習器264a~264b)を備えるように構成される。
そして、環境条件一致度演算部(環境条件一致度演算部265)は、学習時の環境センサの出力に基づく複数の学習済みモデルの出力と、環境センサの現在の出力とを比較し、複数の学習済みモデルが機械学習を行った時のロボット装置の環境条件と、ロボット装置の現在の環境条件との一致度を演算する。
また、調整部(制御量調整部266)は、環境条件一致度演算部の演算結果に基づいて、複数の学習済みモデルの中から、環境条件の一致度が最も高い学習済みモデルから出力される動作指令がロボット装置へ送信されるように制御する。
上記のように構成された第2の実施形態に係るロボット制御システムによれば、複数の学習済みモデルの中から現在の環境条件にもっとも近い学習済みモデルで生成される動作指令を用いて、ロボット装置の動作を制御することができる。したがって、ロボット制御システムは、現在の環境条件にもっとも近い学習済みモデルを用いて、ロボット装置に対して適切に動作を実行させることができる。このため、ロボット装置の作業精度が向上する。
<第3の実施形態>
本発明の第3の実施形態として、過去に機械学習した複数の学習器に対して、新たに取得する学習用データの環境条件を自動で分類する方法について、図12を参照して説明する。
図12は、第3の実施形態に係るロボット制御システムにおいて、学習型制御装置が実行する学習プログラム及び学習器演算プログラムのソフトウェア構成の例を示す模式図である。図12に示す学習型制御装置2Bは、環境条件ラベル付加部258が追加された学習プログラム251Bと、学習器演算プログラム261Bを備える。学習型制御装置2Bのその他の構成は、学習型制御装置2と同様の構成を採用できる。
図12に示すように、学習器演算プログラム261Bでは、学習器264a~264cに適用される各学習器重みデータ262a~262cのそれぞれには、予め固有情報(ラベル)が付加されている。例えば、固有情報は、ロボット装置1の固有番号や環境条件を表す情報が記録されたメタデータ等である。図12では、固有情報を「環境(1)」~「環境(3)」と示す。学習器重みデータ262a~262c、及び学習器264a~264cについてそれぞれを区別しない場合には、学習器重みデータ262、及び学習器264と記載する。学習器演算プログラム261Bの制御量調整部266、停止指令出力部267、及び出力切替部268については、詳細な説明の記載を省略する。
そして、学習プログラム251Bが学習用データ252を収集する際に、並行して学習器演算プログラム261Bが実行される。学習器演算プログラム261Bは、固有情報が付加されている学習器重みデータ262a~262cを適用した学習器264a~264cの各々を演算し、各学習器264a~264cで再現される複数の推定画像を環境条件一致度演算部265に出力する。
環境条件一致度演算部265は、各学習器264a~264cが機械学習した時における環境条件と、データ収集部253Bが収集している学習用データ252の環境条件との一致度を演算し、最も環境条件が一致している学習器重みデータ262を特定する。そして、環境条件一致度演算部265は、特定した学習器重みデータ262の固有情報をデータ収集部253の環境条件ラベル付加部258に出力する。例えば、図12に示すように、環境条件一致度演算部265は、「環境(1)」~「環境(3)」の固有情報を付加された3つの学習器重みデータ262a~262cそれぞれの推定画像と現在のカメラ画像とを比較する。そして、環境条件一致度演算部265は、最も環境条件が一致していた推定画像に対応する学習器重みデータが学習器重みデータ262aであると判断した場合には、学習器重みデータ262aの固有情報「環境(1)」を出力する。
学習プログラム251Bの環境条件ラベル付加部258は、収集した学習用データ252を記憶装置24に記録する際に、環境条件一致度演算部265が出力した固有情報(ラべル)を学習用データ252に付加する。
学習処理部255は、新たに記録された学習用データ252の中から同一の固有情報を有する複数の学習用データ252Bを用いて、再度、学習器256(図4)の学習を行い、その固有情報に対応する学習器重みデータ262を更新する。例えば、図12に示したように、「環境(1)」の固有情報が付加された複数の学習用データ252Bを用いて、再度学習器256を機械学習させ、得られた学習器256の重みを「環境(1)」の固有情報が付加された学習器重みデータ262aに適用する。
このようにすることで、過去に機械学習した複数の学習器264に対して、新たに取得する学習用データ252の環境条件を自動で分類できるようになり、環境条件の分類に要する手間を削減できる。
また、追加した学習用データ252で再度学習器256を機械学習して学習器重みデータ262を更新させることで、学習器264の推論精度が向上し、さらにロボット装置1を適切に動作させることができる。なお、このように得られた学習用データ252や学習器重みデータ262を、ネットワーク3を介して、他の現場における学習型制御装置と共有するように構成してもよい。
初期には、ユーザーが入力装置23により、学習器256により機械学習した時のロボット装置1の固有情報を、学習器重みデータ262に紐づけて記憶装置24に記録する。あるいは、ロボット装置1の固有情報を学習型制御装置2Bに予め登録しておき、学習処理部255が学習器256により機械学習した時に作成した学習器重みデータ262と固有情報を紐づけて記憶装置24に記録してもよい。ある程度の分量の学習器重みデータ262が作成されたら本実施形態の固有情報を用いた方法により学習用データの分類を自動化することで、効率よく学習器重みデータ262を更新することができる。
さらに、本発明は上述した各実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した各実施形態は本発明を分かりやすく説明するためにロボット制御システムの構成を詳細かつ具体的に説明したものであり、必ずしも説明したすべての構成要素を備えるものに限定されない。また、ある実施形態の構成の一部を他の実施形態の構成要素に置き換えることが可能である。また、ある実施形態の構成に他の実施形態の構成要素を加えることも可能である。また、各実施形態の構成の一部について、他の構成要素の追加又は置換、削除をすることも可能である。
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。ハードウェアとして、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などを用いてもよい。
1…ロボット装置、 2,2B…学習型制御装置、 4…作業対象物、 5…ロボット制御装置、 6…作業用ロボット(ロボット本体)、 7,7a,7b…照明装置(周辺機器)、 8,8a,8b…カメラ(周辺機器、環境センサ)、 10…ロボットアーム、 11…角度計、 12…エンドエフェクタ、 13…照明装置移動機構(周辺機器)、 14…カメラ移動機構(周辺機器)、 21…制御装置、 51…制御装置、 100…ロボット制御システム、 251,251B…学習プログラム、 252,252B…学習用データ、 253,253B…データ収集部、 254…収集期間判定部、 255…学習処理部、 256…学習器、 257…重み更新量演算部、 258…環境条件ラベル付加部、 261,261A,261B…学習器演算プログラム、 262,262a~262b…学習器重みデータ、 263,263A…演算処理部、 264,264a~264b…学習器、 265…環境条件一致度演算部、 266…制御量調整部、 267…停止指令出力部、 268…出力切替部、 521…制御プログラム

Claims (9)

  1. ロボット装置と、
    前記ロボット装置の環境条件を取得する環境センサと、
    前記環境センサの出力に対応する前記ロボット装置の動作指令と前記環境センサの出力の再現信号とを生成するように機械学習を行った学習済みモデルに前記環境センサの現在の出力を入力して、前記学習済みモデルから出力される前記環境センサの現在の出力に対応した前記ロボット装置の動作指令と、学習時の前記環境センサの出力の再現信号とを生成し、前記ロボット装置の動作を制御する制御装置と、
    を備えるロボット制御システムであって、
    前記制御装置は、
    前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分を、前記学習済みモデルが機械学習した時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度として演算する環境条件一致度演算部と、
    前記環境条件一致度演算部の演算結果に基づいて、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する調整部と、を備える
    ロボット制御システム。
  2. 前記調整部は、前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分が予め定められた所定値以下になるように、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する
    請求項1に記載のロボット制御システム。
  3. 前記ロボット装置は、ロボット本体と、前記ロボット本体又はその周辺に配置された周辺機器と、を有し、
    前記周辺機器は、前記ロボット装置内部又は当該ロボット装置周辺の照度を変更する機器であり、
    前記環境センサは、前記ロボット装置が扱う作業対象物を含む光学像の画像信号を得る機能と、前記画像信号に基づく撮影画像の明度若しくは彩度、又は前記撮影画像に写る前記作業対象物の大きさを変更する機能と、を有し、
    前記環境条件一致度演算部は、学習時の前記環境センサの出力の前記再現信号として前記学習済みモデルが学習時の複数の前記画像信号から推定した推定画像と、前記環境センサの現在の出力としての前記撮影画像とを比較し、前記推定画像と前記撮影画像との明度、彩度、又は前記撮影画像に写る前記作業対象物の大きさの差分を演算し、
    前記調整部は、前記推定画像と前記撮影画像との明度、彩度、又は前記撮影画像に写る前記作業対象物の大きさの差分が所定値以下となるように、前記周辺機器に対する動作指令の内容、及び/又は前記環境センサの設定を調整する
    請求項2に記載のロボット制御システム。
  4. 前記ロボット装置は、ロボット本体と、前記ロボット本体又はその周辺に配置された周辺機器と、を有し、
    前記周辺機器は、前記ロボット装置内部又は当該ロボット装置周辺の照度を変更する機器の位置を変更する第1の移動機構、又は、前記環境センサの位置を変更する第2の移動機構であり、
    前記環境センサは、前記ロボット装置が扱う作業対象物を含む光学像の画像信号を得る機能を有し、
    前記環境条件一致度演算部は、学習時の前記環境センサの出力の前記再現信号として前記学習済みモデルが学習時の複数の前記画像信号から推定した推定画像と、前記環境センサの現在の出力として前記画像信号に基づく撮影画像とを比較し、前記推定画像と前記撮影画像との明度若しくは彩度の差分、又は前記作業対象物と前記ロボット装置との位置関係の差分を演算し、
    前記調整部は、前記推定画像と前記撮影画像との明度若しくは彩度の差分、又は前記作業対象物と前記ロボット装置との位置関係の差分が所定値以下となるように、前記周辺機器に対する動作指令の内容を調整する
    請求項2に記載のロボット制御システム。
  5. 前記制御装置は、
    異なる環境条件ごとに複数の前記学習済みモデルを備え、
    前記環境条件一致度演算部は、複数の前記学習済みモデル出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力とを比較し、複数の前記学習済みモデルが機械学習を行った時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度を演算し、
    前記調整部は、前記環境条件一致度演算部の演算結果に基づいて、複数の前記学習済みモデルの中から、前記環境条件の一致度が最も高い学習済みモデルから出力される動作指令が前記ロボット装置へ送信されるように制御する
    請求項1に記載のロボット制御システム。
  6. ロボット装置の環境条件を取得する環境センサの出力に対応する前記ロボット装置の動作指令と前記環境センサの出力の再現信号とを生成するように機械学習を行った学習済みモデルに前記環境センサの現在の出力を入力して、当該学習済みモデルから出力される前記環境センサの現在の出力に対応した前記ロボット装置の動作指令と、学習時の前記環境センサの出力の再現信号とを生成し、前記ロボット装置の動作を制御する制御装置、を備えるロボット制御システムであって、
    前記制御装置は、
    前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分を、前記学習済みモデルが機械学習した時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度として演算する環境条件一致度演算部と、
    前記環境条件一致度演算部の演算結果に基づいて、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する調整部と、を備える
    ロボット制御システム。
  7. ロボット装置と、
    前記ロボット装置の環境条件を取得する環境センサと、
    前記環境センサの出力に対応する前記ロボット装置の動作指令と前記環境センサの出力の再現信号とを生成するように機械学習を行った学習済みモデルに前記環境センサの現在の出力を入力して、当該学習済みモデルから出力される前記環境センサの現在の出力に対応した前記ロボット装置の動作指令と、学習時の前記環境センサの出力の再現信号とを生成し、前記ロボット装置の動作を制御する制御装置と、
    を備えるロボット制御システムのロボット制御方法であって、
    前記制御装置が、前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分を、前記学習済みモデルが機械学習した時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度として演算する演算工程と、
    前記制御装置が、前記環境条件の一致度の演算結果に基づいて、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する調整工程と、
    前記制御装置が、前記調整工程で調整された前記ロボット装置の動作指令、及び/又は前記環境センサの設定に基づいて、前記ロボット装置を動作させる動作工程と、を含む
    ロボット制御方法。
  8. ロボット装置の環境条件を取得する環境センサの出力に対応する、前記ロボット装置の動作指令と前記環境センサの出力の再現信号とを生成するように機械学習を行った学習済みモデルに前記環境センサの現在の出力を入力して、当該学習済みモデルから出力される前記環境センサの現在の出力に対応した前記ロボット装置の動作指令と、学習時の前記環境センサの出力の再現信号とを生成し、前記ロボット装置の動作を制御する制御装置、を備えるロボット制御システムのロボット制御方法であって、
    前記制御装置が、前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分を、前記学習済みモデルが機械学習した時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度として演算する演算工程と、
    前記制御装置が、前記環境条件の一致度の演算結果に基づいて、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する調整工程と、を含む
    ロボット制御方法。
  9. ロボット装置の環境条件を取得する環境センサの出力に対応する、前記ロボット装置の動作指令と前記環境センサの出力の再現信号とを生成するように機械学習を行った、学習済みモデルに前記環境センサの現在の出力を入力して、当該学習済みモデルから出力される前記環境センサの現在の出力に対応した前記ロボット装置の動作指令と、学習時の前記環境センサの出力の再現信号とを生成し、前記ロボット装置の動作を制御する制御装置が備えるコンピューターに、
    前記学習済みモデルが出力する学習時の前記環境センサの出力の前記再現信号と、前記環境センサの現在の出力との差分を、前記学習済みモデルが機械学習した時の前記ロボット装置の環境条件と、前記ロボット装置の現在の環境条件との一致度として演算する手順と、
    前記環境条件の一致度の演算結果に基づいて、前記ロボット装置の動作指令の内容、及び/又は前記環境センサの設定を調整する手順と、
    を実行させるためのプログラム。
JP2020186988A 2020-11-10 2020-11-10 ロボット制御システム、ロボット制御方法及びプログラム Active JP7492440B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020186988A JP7492440B2 (ja) 2020-11-10 2020-11-10 ロボット制御システム、ロボット制御方法及びプログラム
PCT/JP2021/031322 WO2022102207A1 (ja) 2020-11-10 2021-08-26 ロボット制御システム、ロボット制御方法及びプログラム
US18/033,814 US20230390935A1 (en) 2020-11-10 2021-08-26 Robot control system, robot control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020186988A JP7492440B2 (ja) 2020-11-10 2020-11-10 ロボット制御システム、ロボット制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2022076572A JP2022076572A (ja) 2022-05-20
JP2022076572A5 JP2022076572A5 (ja) 2023-06-14
JP7492440B2 true JP7492440B2 (ja) 2024-05-29

Family

ID=81601054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020186988A Active JP7492440B2 (ja) 2020-11-10 2020-11-10 ロボット制御システム、ロボット制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20230390935A1 (ja)
JP (1) JP7492440B2 (ja)
WO (1) WO2022102207A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024111303A1 (ja) * 2022-11-22 2024-05-30 パナソニックIpマネジメント株式会社 学習システム、学習方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006320997A (ja) 2005-05-18 2006-11-30 Nippon Telegr & Teleph Corp <Ntt> ロボット行動選択装置及びロボット行動選択方法
JP2018136211A (ja) 2017-02-22 2018-08-30 オムロン株式会社 環境認識システム及び学習装置
JP2019136807A (ja) 2018-02-08 2019-08-22 ファナック株式会社 制御装置及び機械学習装置
JP2020110894A (ja) 2019-01-16 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006320997A (ja) 2005-05-18 2006-11-30 Nippon Telegr & Teleph Corp <Ntt> ロボット行動選択装置及びロボット行動選択方法
JP2018136211A (ja) 2017-02-22 2018-08-30 オムロン株式会社 環境認識システム及び学習装置
JP2019136807A (ja) 2018-02-08 2019-08-22 ファナック株式会社 制御装置及び機械学習装置
JP2020110894A (ja) 2019-01-16 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム

Also Published As

Publication number Publication date
WO2022102207A1 (ja) 2022-05-19
JP2022076572A (ja) 2022-05-20
US20230390935A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US10293483B2 (en) Apparatus and methods for training path navigation by robots
Zhang et al. Towards vision-based deep reinforcement learning for robotic motion control
US11691274B2 (en) Software compensated robotics
JP3855812B2 (ja) 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置
JP5806301B2 (ja) ロボットシステムにおける物理的な物体の選択のための方法
CN114080583B (zh) 视觉教导和重复移动操纵系统
CN110480637B (zh) 一种基于Kinect传感器的机械臂零件图像识别抓取方法
JP7458741B2 (ja) ロボット制御装置及びその制御方法及びプログラム
CN113172629B (zh) 一种基于时序触觉数据处理的物体抓取方法
WO2020241037A1 (ja) 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム
CN111319039B (zh) 机器人
JP2020104216A (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
WO2020071174A1 (ja) 学習装置、制御装置、学習方法、及び学習プログラム
US11679496B2 (en) Robot controller that controls robot, learned model, method of controlling robot, and storage medium
JP7492440B2 (ja) ロボット制御システム、ロボット制御方法及びプログラム
JP2021010970A (ja) ロボットシステム及びロボット制御方法
KR102332314B1 (ko) 로봇과 카메라 간 좌표값 보정 장치 및 보정 방법
CN116529033A (zh) 细粒度工业机器人组件
Maeda et al. View-based teaching/playback for industrial manipulators
CN115890744A (zh) 一种基于td3的机械手臂6-dof物体操纵训练方法及系统
JPH06106490A (ja) 制御装置
KR102432370B1 (ko) 피킹 로봇을 위한 비젼 분석 장치
JP2022076572A5 (ja)
JP4193098B2 (ja) トラッキング装置、トラッキング装置のトラッキング方法及びロボット装置
Maeda et al. Lighting-and occlusion-robust view-based teaching/playback for model-free robot programming

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240517

R150 Certificate of patent or registration of utility model

Ref document number: 7492440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150