JP2018190241A - タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 - Google Patents

タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 Download PDF

Info

Publication number
JP2018190241A
JP2018190241A JP2017093222A JP2017093222A JP2018190241A JP 2018190241 A JP2018190241 A JP 2018190241A JP 2017093222 A JP2017093222 A JP 2017093222A JP 2017093222 A JP2017093222 A JP 2017093222A JP 2018190241 A JP2018190241 A JP 2018190241A
Authority
JP
Japan
Prior art keywords
input
information
learning
output
user
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.)
Granted
Application number
JP2017093222A
Other languages
English (en)
Other versions
JP6951659B2 (ja
Inventor
義也 柴田
Yoshiya Shibata
義也 柴田
善久 湊
Yoshihisa Minato
善久 湊
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017093222A priority Critical patent/JP6951659B2/ja
Priority to CN201810332305.0A priority patent/CN108873768B/zh
Priority to US15/956,803 priority patent/US10706331B2/en
Priority to EP18168442.4A priority patent/EP3401847A1/en
Publication of JP2018190241A publication Critical patent/JP2018190241A/ja
Application granted granted Critical
Publication of JP6951659B2 publication Critical patent/JP6951659B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • G06F18/41Interactive pattern learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

【課題】学習モジュールを用いてシステムに所定のタスクを実行させる場合に、作業の条件に応じた調整をユーザが作業実行時に行うことのできる技術を提供する。
【解決手段】学習モジュールを用いて所定のタスクを実行させるシステムであり、一又は複数の外部システムから取得される情報を受け付けて、学習モジュールに入力される情報の少なくとも一部を生成する第1入力部と、学習モジュールから出力される情報を取得して、システムから出力される情報を生成する出力部であって、当該システムから出力される情報に基づいて所定のタスクが実行される、出力部と、ユーザからの入力を受け付ける第2入力部であって、ユーザからの入力に基づく情報が、第1入力部、学習モジュール又は出力部のうち少なくともいずれかに入力され、ユーザからの入力に基づいて出力部から出力される情報が変化する、第2入力部と、を備える。
【選択図】図1

Description

本発明は、タスクを実行させるシステム、タスクを実行させる方法、並びにその学習装置及び学習方法に関する。
従来より、ニューラルネットワークを含む機械学習の技術を用いてシステムに所定のタスクを実行させるように制御することが知られている。例えば、特許文献1には、ばら積み状態の把持対象物のピッキングに対して機械学習を適用し、把持成功率の高い対象物を学習してピッキングを行うことが記載されている。また、例えば、特許文献2には、撮像画像により試料の欠陥の有無を判別する分類処理に対して機械学習(ルールベース型の分類器)を適用し、分類器の構成を学習の事前にユーザが設定することが記載されている。
特開2017−20135号公報 特許第3978098号公報
ところで、作業の現場では、作業実行時に要求される精度、実行速度、失敗許容範囲などに応じて、現場ごとに固有の作業に関する要求や制約条件などの条件を作業実行時に調整することがある。しかしながら、学習済みモデルを用いて所定のタスク(以下「作業」ともいう。)を実行させるシステムにおいては、センサ等のデバイスからの入力をもとにシステムの動作が決定されて作業が行われるため、作業の条件に応じた調整をするためには、学習済みモデルを再学習させる必要があり、作業実行時に条件を調整することはできない。
そこで、本発明は、学習済みモデル又はそれと同等のモデルを含む学習モジュールを用いてシステムに所定のタスクを実行させる場合に、作業の条件に応じた調整をユーザが作業実行時に行うことのできる技術を提供することを目的とする。
機械学習により所定の学習がなされた学習済みモデル又は学習済みモデルと入出力関係が同等のモデルを含む学習モジュールを備え、所定のタスクを実行させるシステムであり、一又は複数の外部システムから取得される情報を受け付けて、学習モジュールに入力される情報の少なくとも一部を生成する第1入力部と、学習モジュールから出力される情報を取得して、システムから出力される情報を生成する出力部であって、当該システムから出力される情報に基づいて所定のタスクが実行される、出力部と、ユーザからの入力を受け付ける第2入力部であって、ユーザからの入力に基づく情報が、第1入力部、学習モジュール又は出力部のうち少なくともいずれかに入力され、ユーザからの入力に基づいて出力部から出力される情報が変化する、第2入力部と、を備える。
この態様によれば、学習済みモデル又はそれと同等のモデルを含む学習モジュールを用いてシステムに所定のタスクを実行させる際に、センサ等の外部システムから取得される情報に加えて、ユーザによって入力される情報に基づいて、出力される情報が変化する。これにより、ユーザは、作業実行時に、タスクに対する条件を入力することによって、学習モジュールを再学習させることなく、条件に応じて調整された出力を得ることができる。その結果、ユーザは所望する条件に沿ったタスクを高速に実行させることができる。
本実施形態に係るシステムにおいて、第2入力部は、ユーザから所定のタスクに対する条件を受け付け、出力部は、条件に基づいた情報を出力することによって、所定のタスクが実行されてもよい。この態様によれば、タスクに対する条件に応じて、ユーザが作業時に柔軟に条件を設定できるので、作業内容に応じた出力の調整が可能となる。これにより、例えば、作業の精度と処理速度にトレードオフの関係があるようなタスクを実行させる際に、作業内容に応じて、精度を重視したり、処理速度を重視したりといった調整を、学習モジュールを再学習させることなく作業時に柔軟に設定することができる。
本実施形態に係るシステムにおいて、出力部から出力される情報の一部に、条件に対応してユーザに提示される情報を含むものとしてもよい。この態様によれば、ユーザの入力した条件に応じた出力をユーザに提示でき、入力された条件に対応した出力を可視化させることができる。
また、本発明の一態様に係るシステムにおいて、一又は複数の外部システムはカメラを含み、第2入力部で受け付けられるユーザからの入力は、検査の基準に関する条件を含み、出力部は、カメラで撮影された対象物の画像から、ユーザが入力した基準に基づく対象物の検査結果を出力してもよい。この態様によれば、学習モジュールを用いて対象物の良不良等を検査する際に、ユーザの入力を考慮した検査を実行させることができる。
また、本発明の一態様に係るシステムは、出力部から出力される情報に基づいてロボットの動作を制御するシステムであって、一又は複数の外部システムはロボットの現在の姿勢を検知するセンサを含み、第2入力部で受け付けられるユーザからの入力は、ロボットの動作の制約に関する条件を含み、出力部は、ロボットの現在の姿勢と条件とを考慮して、ロボットの動作を制御するための情報を出力してもよい。この態様によれば、学習モジュールを用いてロボットの動作を制御する際に、ユーザの入力を考慮した動作を実行させることができる。
また、本発明の一態様に係るシステムは、出力部から出力される情報に基づいてロボットの動作を制御するシステムであって、一又は複数の外部システムはロボットの現在の位置及び姿勢の少なくともいずれか一方を検知するセンサを含み、第2入力部で受け付けられるユーザからの入力は、ロボットが障害物を回避する安全性に関する条件を含み、出力部は、ロボットの現在の位置と条件とを考慮して、ロボットの動作を制御するための情報を出力してもよい。この態様によれば、学習モジュールを用いてロボットに障害物を回避させる動作を制御する際に、ユーザの入力を考慮した回避動作を実行させることができる。
また、本発明の一態様に係る制御システムにおいて、一又は複数の外部システムはカメラを含み、第2入力部で受け付けられるユーザからの入力は、人の身体の部位に関する条件を含み、出力部は、カメラで撮影された人物の画像から、ユーザが入力した条件に基づいて特定の対象画像との一致度を判定し、当該判定結果を出力してもよい。この態様によれば、学習モジュールを用いて監視カメラ等に映った人物を検索する際に、ユーザの入力を考慮した検索を実行させることができる。
本発明の一態様に係る学習装置は、上記システムに含まれる学習モジュールを学習させるものであって、一又は複数の外部システムから取得された第1学習用データと、所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、学習モジュールを学習させる学習制御部を備える。この態様によれば、学習モジュールを用いて所定のタスクを実行させるシステムに用いられる学習モジュールの学習を行うことができる。
本発明の一態様に係る制御方法は、機械学習により所定の学習がなされた学習済みモデル又は学習済みモデルと入出力関係が同等のモデルを含む学習モジュールを備えるシステムにおいて、所定のタスクを実行させる方法であって、第1入力部が、一又は複数の外部システムから取得される情報を受け付けて、学習モジュールに入力される情報の少なくとも一部を生成する第1ステップと、学習モジュールが、少なくとも第1ステップで生成された情報に基づいて、所定の情報を出力する第2ステップと、出力部が、少なくとも第2ステップで出力された情報を取得して、システムから出力される情報を生成する第3ステップであって、当該システムから出力される情報に基づいて所定のタスクが実行される、第3ステップと、第1のステップ、第2のステップ、又は、第3のステップの少なくともいずれかと略並行に行われ、第2入力部がユーザからの入力を受け付ける第4ステップであって、ユーザからの入力に基づく情報が、第1入力部、学習モジュール又は出力部のうち少なくともいずれかに入力され、ユーザからの入力に基づいて出力部から出力される情報が変化する、第4ステップと、
を備える。この態様によれば、学習モジュールを用いてシステムに所定のタスクを実行させる方法において、学習モジュールを再学習させることなく、ユーザの入力を考慮した適切な出力を生成することができる。
また、本発明の一態様に係る学習方法は、上記システムに含まれる学習モジュールを学習させる方法であって、一又は複数の外部システムから取得された第1学習用データと、所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、学習モジュールを機械学習により学習させる。この態様によれば、学習モジュールを用いて所定のタスクを実行させるシステムに用いられる学習モジュールの学習を行う方法を提供できる。
本発明の一態様に係るプログラムは、機械学習により所定のタスクを実行させるための学習がなされた学習済みモデル又は学習済みモデルと入出力関係が同等のモデルからなる学習モジュールを含むコンピュータに、一又は複数の外部システムから取得された情報を受け付けて、学習モジュールに入力される情報の少なくとも一部を生成する第1ステップと、少なくとも第1ステップで生成された情報に基づいて、学習モジュールが所定の情報を出力する第2ステップと、少なくとも第2ステップで出力された情報を取得して、コンピュータから出力される情報を生成する第3ステップであって、当該システムから出力される情報に基づいて所定のタスクが実行される、第3ステップと、第1のステップ、第2のステップ、又は、第3のステップの少なくともいずれかと略並行に行われ、ユーザからの入力を受け付ける第4ステップであって、ユーザからの入力に基づく情報を、第1ステップ、第2ステップ又は第3ステップのうち少なくともいずれかのステップにおいて入力させることにより、ユーザからの入力に基づいて所定のタスクを実行させる情報を変化させる、第4ステップと、を実行させる。この態様によれば、学習モジュールを用いてシステムに所定のタスクを実行させるプログラムにおいて、学習モジュールを再学習させることなく、ユーザの入力を考慮した適切な出力を生成することができる。
また、本発明の一態様に係るプログラムは、コンピュータに、一又は複数の外部システムから取得された第1学習用データと、所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、学習モジュールを機械学習により学習させる機能を実現させる。この態様によれば、学習モジュールを用いて所定のタスクを実行させるシステムに用いられる学習モジュールの学習を行うプログラムを提供できる。
なお、本明細書等において、「部」とは、単に物理的手段ないし部分を意味するものではなく、その手段ないし部分が有する機能を、記憶装置に記憶されたソフトウェアをハードウェアプロセッサが実行することによって実現する場合も含む。また、1つの「部」が有する機能が2つ以上の物理的手段により実現されても、2つ以上の「部」の機能が1つの物理的手段により実現されてもよい。
本発明の所定の実施形態によれば、学習済みモデル又はそれと同等のモデルを含む学習モジュールを用いてシステムに所定のタスクを実行させる場合に、作業の条件に応じた調整をユーザが作業実行時に行うことが可能となる。
本発明の一実施形態に係る制御システム10を含む全体システム1の概念を示す図である。 本実施形態に係る制御システム10の機能構成の一例を示すブロック図である。 本実施形態に係るタスク実行システム10のハードウェア構成の一例を示す図である。 本実施形態に係る制御システム10における処理フローの一例を示す図である。 制御システム10を画像検査装置に適用した場合の機能構成の一例を示すブロック図である。 訓練データの一例を示す図である。 制御システム10を把持システムに適用した場合の機能構成の一例を示すブロック図である。 動作候補と把持成功率及び制約充足度の一例を示す図である。 動作決定ルールの一例である。 把持システム200の他の実施例を示す図である。 把持成功率と制約充足度の一例を示す図である。 把持システム200の他の実施例を示す図である。 条件を指定する際の一例を示す図である。 制御システム10を多関節ロボットにおける障害物回避システムに適用した場合の機能構成の一例を示すブロック図である。 本来の目標軌跡の候補と回避成功率及び目標逸脱率の一例を示す図である。 制御システム10をマルチエージェントにおける障害物回避システムに適用した場合の機能構成の一例を示すブロック図である。 マルチエージェントシステムの概略図である。 制御システム10を人物検索システムに適用した場合の機能構成の一例を示すブロック図である。 部位ごとの一致度と重みの一例を示す図である。 制御システム10を逆運動学モデルに適用した場合の機能構成の一例を示すブロック図である。 逆運動学において複数の解が存在する場合の一例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
図1は、本発明の一実施形態に係る所定のタスクを実行させるシステム10(以下「タスク実行システム10」ともいう。)を含む全体システム1の概念を示す図である。タスク実行システム10は、学習モジュール16を用いて、所定のタスクを実行させるシステムである。実行されるタスクとしては、例えば、製品の良不良を判定して検査結果を表示器に出力したり、ロボットに物体を把持させるための動作指令を出力したりすることが想定されるが、これらに限られるものではない。なお、学習モジュール16は、後述のように、機械学習によって学習する能力を備えた専用若しくは汎用のハードウェア又はソフトウェアの一単位、ないしこれらを任意に組み合わせた一単位を含むものである。すなわち、学習モジュール16は、機械学習によって学習する能力を備えた学習モデル、および、機械学習によって所定の能力を獲得した学習済みモデル、の少なくともいずれかを含むソフトウェアプログラムを含む。また、学習モジュール16は、当該ソフトウェアプログラムが保存された記憶装置、当該ソフトウェアを読み出し実行するハードウェアプロセッサ、を有する演算装置、を含む。また、所定のタスクを実行させるとは、外部システム50に所定のタスクを実行させることのほか、タスク実行システム10自身が所定のタスクを実行することも含み得る。また、タスク実行システム10は、実際のシステムにタスクを実行させることのみならず、仮想的なシステムであるシミュレータにタスクを実行させる場合にも適用可能である。この場合、仮想センサ、仮想ロボット、仮想システム等が制御の対象となる。
図1に示すように、タスク実行システム10は、センサや外部機器などの入力側の外部システム20(以下「入力側外部システム20」ともいう。)から入力される情報ISに加えて、ユーザ(人)Pから入力される情報IPを受け付けることができる。
入力側外部システム20から入力される情報ISの例としては、ビットマップ等の画像、点群(ポイントクラウド)、力(力覚センサの出力値)、距離(近接センサの出力値)、ロボット姿勢(エンコーダの出力値)などが挙げられるが、これらに限られない。ユーザから入力される情報IPの例としては、作業に対する要求や、作業の制約条件などが挙げられるがこれらに限られない。作業に対する要求とは、例えば、精度と速度のバランスなど、トレードオフの関係にある条件の選択を含み、作業の制約条件とは、例えば、対象物のうち触れてはいけない部分を指定するなど、禁止事項の設定を含む。当該タスクに対する要求や制約条件等の情報IPを、以下単に「条件(constraint)」ということがある。本発明の所定の実施形態に係るタスク実行システム10は、ユーザから入力される条件に基づいて、その挙動が変更される。すなわち、ユーザが入力する条件は、タスク実行システム10が所定のタスクを実行するときの、タスク実行システム10の挙動(例えば、出力される判断結果や動作指令等)を変動させる情報である。ユーザが入力する条件は、後述の第1入力部12に入力される場合には、第1入力部12を介して学習モジュール16に入力される情報を変動させる条件として使用され、後述の学習モジュール16に入力される場合には、学習モジュール16に含まれる学習済みモデルの内部パラメータを変動させる条件として使用され、後述の出力部18に入力される場合には、出力部18から出力される情報を変動させる条件として用いられる。ここで、情報の変動とは、情報の削除を含んでもよい。
タスク実行システム10は、受け付けられた情報ISと情報IPに基づいて、学習モジュール16を用いて所定のタスクを実行する、または、出力側の外部システム50(以下「出力側外部システム50」ともいう。)に対して所定のタスクを実行させるための情報OSを出力する。タスク実行システム10から出力された情報OSは出力側外部システム50に渡されて、所定のタスクが実行される。また、タスク実行システム10から出力される情報のうち一部に、ユーザPに対して提示される情報OPを含めてもよい。出力側外部システム50に出力される情報OSの例としては、モータへの指令値、ロボットハンドへの動作指令、最適な把持姿勢、画像検査結果などが挙げられるが、これらに限られない。ユーザに対して提示される情報OPは、例えばユーザPが入力した情報IPに含まれる条件に対応して可視化される情報であり、具体的には、タスクの達成率や中間結果などが挙げられるが、これらに限られない。また、情報IPを入力するユーザと、情報OPが提示されるユーザは、同一であっても、異なっていてもよい。ここで、情報OPは、ユーザが入力する条件に対応した情報であることが好ましい。例えば、ユーザが入力した条件に対応するデータであって、ユーザに対して前記条件の達成度合を示すデータを用いることができる。また、例えば、ユーザから入力される情報IPが、ロボットの動作制御における精度と速度とのバランスである場合には、情報OPは、ロボットの動作制御に関する指令情報(指令値)と、当該指令情報(指令値)に基づき動作するロボットの予測精度(取り得る動作の誤差範囲)、及び、当該動作の達成時間を情報OPとして提示することができる。
本実施形態では、入力側外部システム20から入力される情報ISに基づいて、タスク実行システム10が学習済みの学習モジュール16を用いて所定のタスクを実行させる際に、当該タスクに対する要求や制約条件等の情報IPをユーザが指定することができる。タスク実行システム10は、入力側外部システム20から入力される情報ISに加えて、ユーザPが指定した情報IPを考慮して出力を決定する。本実施形態によれば、実行させようとするタスクの精度、実行速度、失敗許容範囲などの要求や制約条件を現場や作業ごとに変えたいときに、学習モジュール16を再学習させることなく、ユーザが入力する情報IPを変更させることにより、要求や制約条件等の条件に応じた所望の出力を得ることができる。
また、タスク実行システム10が所定のタスクを実行させる際に期待していない動作が発生した場合に、ユーザPが入力する情報IP(例えば入力パラメータ)を調整することで、実行されるタスクの挙動を調整することができる。また、問題が起きたときに、ユーザPに対して提示される情報OPを用いることで、原因の特定が容易になることがある。
なお、入力側外部システム20から情報ISが入力されるたびに、ユーザPが情報IPを入力しなければならないというものではない。情報ISをユーザが入力する代わりに、実行されるタスクやタスクの対象となる対象物に応じて予め設定された値が適用されるようにしてもよい。この場合、条件が変化したり、特殊な現場に適用するときなどに、ユーザは状況に応じて、条件をタスク実行システム10に入力すればよい。このとき、予め設定される値は、後述するように、学習器70の学習に用いられる訓練データに基づいて決定してよい。すなわち、訓練データには、学習モジュール16を使用して所定のタスクを実行させるときに、ユーザPが入力し得る条件と同形式のデータが含まれる。したがって、訓練データに含まれる、タスク実行時にユーザPが入力する条件と同形式のデータに基づいて、値を設定することができる。
図2は、本実施形態に係るタスク実行システム10の機能構成の一例を示すブロック図である。図3は、本実施形態に係るタスク実行システム10のハードウェア構成の一例を示す図である。
図2に示すとおり、タスク実行システム10は、第1入力部12と、第2入力部14と、学習モジュール16と出力部18とを備える。また、図3に示すとおり、タスク実行システム10は、図2に示す機能を実現するために、演算装置61、記憶装置62、外部インタフェース(外部I/F)63、入力装置64及び出力装置65を備えている。
演算装置61は、ハードウェアプロセッサであるCPU(Central Processing Unit)611、RAM(Random Access Memory)612、ROM(Read Only Memory)613等を含み、情報処理に応じて各構成要素の制御を行う。記憶装置62は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、図2に示す学習モジュールに含まれる、学習済みモデルのパラメータや、学習済みモデルによる所定の処理を実行するためのプログラム等を記憶する。また、記憶装置62は、入力側外部システム20(例えばセンサ30)から入力される情報ISと、ユーザから入力される情報IPを記憶する。また、記憶装置62は、タスクを実行させるためのプログラムを記憶する。例えば、タスク実行システム10が、ロボットハンドを用いた把持システムを制御する事例では、ロボットハンドの経路演算プログラムやユーザから入力された姿勢に関する条件の初期値などが記憶装置62に記憶される。
外部インタフェース63は、入力側外部システム20又は出力側外部システム50と接続するためのインタフェースであり、接続する入力側外部システム20および出力側外部システム50に応じて適宜構成される。外部インタフェース63は、ネットワークを介して他のコンピュータと接続するための通信インタフェースであってもよい。図2に示す第1入力部12、第2入力部14及び出力部18は、ハードウェアとしての外部インタフェース63を含む。本実施形態において、タスク実行システム10は、外部インタフェース63を介して、入力側外部システム20及び出力側外部システム50に接続される。タスク実行システム10は、学習済みモデルに基づく演算処理を実行するためのプログラムを補助記憶装置から読出してRAM612に展開し、ハードウェアプロセッサにより解釈、実行する。
なお、タスク実行システム10は、さらに、例えば、マウス、キーボード等の入力を行うための入力装置64、および、例えば、ディスプレイ、スピーカ等の出力を行うための出力装置65を備えていてよい。
また、タスク実行システム10は、さらに、例えば、CDドライブ、DVDドライブ等の、記憶媒体に記憶されたプログラムを読み込むためのドライブ装置66を備えていてよい。
図2に戻り、第1入力部12と第2入力部14は、タスク実行システム10に対して情報を入力するためのインタフェースとしての機能を有する。第1入力部12は、センサ30や外部機器40など、人以外の外部システム20から入力される情報ISを受け付ける機能を有する。他方、第2入力部14は、人から入力される情報、すなわちタスク実行システム10のユーザから入力される情報IPを受け付ける機能を有する。
第2入力部14は、ユーザから受け付けた情報IPを、第1入力部12、学習モジュール16、出力部18の少なくともいずれかに渡す。このとき、ユーザから受け付けた情報の一部又は全部をそのまま各部に渡してもよいし、ユーザから受け付けた情報に基づいて生成ないし変換された情報を各部に渡してもよい。
また、第2入力部14はユーザから受け付けた情報IPを記憶するメモリを備えてもよい。これによれば、メモリに記憶された情報を各部に渡すことにより、ユーザPが情報を毎回入力する手間を省くことができる。このとき、情報IPを記憶するメモリは、情報IPに加えて、第1入力部12に入力される情報ISとの対応関係を保持していることが好ましい。これによれば、入力側外部システム20から取得される情報ISの内容に応じて、適切な情報IPを選択することができる。なお、メモリは、第2入力部14の内部に位置していてもよい。すなわち、タスク実行システム10がメモリを備えていればよい。
第1入力部12は、入力側外部システム20から受け付けた情報に基づいて、学習モジュール16に入力される情報を生成する。第2入力部14から第1入力部12に情報が渡されたとき、すなわち、ユーザからの入力に基づく情報を第1入力部が取得したときは、当該ユーザからの入力に基づく情報も考慮して、学習モジュール16に入力される情報が生成される。このとき、第1入力部12は、入力側外部システム20や第2入力部14から受け付けた情報の一部又は全部をそのまま学習モジュール16に渡してもよいし、入力側外部システム20や第2入力部14から受け付けた情報に基づいて生成ないし変換された情報を学習モジュール16に渡してもよい。
第1入力部12は、状態認識部121と情報生成部122を備えてもよい。状態認識部121および情報生成部122は、タスク実行システム10が有する演算装置が、記憶装置に記憶された状態認識プログラムに基づいた情報処理を実行することにより実現される。
状態認識部121は、センサ30や外部機器40から取得された観測情報をもとに、センサ30が観測する対象物の位置および/または姿勢の状態や外部機器40の内部状態等を認識し、認識された状態を認識結果として学習モジュール16に対して出力する。
情報生成部122は、センサ30、外部機器40、第2入力部14から取得された情報をもとに、新たな情報を生成したり、データの形式を変換したりする。なお、本明細書では、情報の生成ないし変換を、単に情報の生成ということもある。
なお、状態認識部121及び情報生成部122は、学習済みモデルを有していてもよい。すなわち、入力側外部システム20から取得された情報に基づく状態の認識や、入力側外部システム20から取得された情報の変換を、所定の機械学習に基づき生成された学習済モデルにより行ってよい。このとき、状態認識部121及び情報生成部122は、学習モジュール16により実行される所定のタスクを実現するためのサブ学習モジュールとして機能する。
学習モジュール16は、機械学習によって学習する能力を備えた専用若しくは汎用のハードウェア又はソフトウェアの一単位、ないしこれらを任意に組み合わせた一単位を含む。また、学習モジュール16は、学習済みモデルやその複製物または蒸留物を含む。ここで、学習済みモデルの複製物は、モデルの内部構造を複製したもののみならず、学習が完了した学習済みの学習モジュール又は当該学習済みの学習モジュールの複製物に対して追加学習を行ったものを含む。蒸留物とは、いわゆる蒸留によって得られる学習済みモデルを指す。なお、蒸留とは、学習済みモデルの機能を保つように、学習済みモデルと構造が異なる他の学習モデルを学習させ、学習済みの当該他の学習済みモデルを得ることを含む。ここで、当該他の学習済みモデル(蒸留物)は、その基となった学習済みモデルよりも内部構造が単純であり、よりディプロイに適したものであることが好ましい。なお、学習済みモデルの複製物や蒸留物は、必ずしも学習能力を備えることを要しない。学習モジュール16は、パラメータに従って入力を出力に変換する関数の機能を有する所定の構造を含む。そのような構造の一例は、ニューラルネットワークであるので、ここでは、学習モジュール16がニューラルネットワークによって構成される場合を想定して説明する。しかしながら、学習モジュール16は、ニューラルネットワークに限定されるものではない。
本実施形態において、学習モジュール16は、第1入力部12と第2入力部から情報が入力され得る。これにより、学習モジュール16において、センサ30や外部機器40などの入力側外部システム20から取得した情報とユーザ(人)から取得した情報とに基づく所定の演算が実行されて、演算結果が値やパターンなどの形式で出力される。出力された情報は出力部18に渡される。
学習モジュールが多階層のニューラルネットワークによって構成されるとき、第1入力部12から入力される情報、すなわち入力側外部システム20から取得された情報は、ニューラルネットワークの入力層に入力される。これに対し、第2入力部14から入力される情報、すなわちユーザから取得された情報は、ニューラルネットワークの入力層に入力されてもよいが、これに限られず、入力層以外の層、すなわち中間層や出力層に入力されてもよい。
学習モジュール16としては、機械学習によって、所定のタスクを実行する、または、外部システム50に対して所定のタスクを実行させることができるように訓練された学習済みモデルを適用することができる。この学習済みモデルは、学習器70において、センサ30や外部機器40などの入力側外部システム20から取得した情報とユーザ(人)から取得した情報とを含む訓練データを用いた機械学習によって獲得することができる。また、学習モジュール16として、学習済みモデルの複製物や蒸留物など、学習済みモデルと入出力関係が同等のモデルを適用してもよい。なお、本明細書では、これらをまとめて、単に学習済みモデルということがある。さらに、学習モジュール16は、複数の学習済みモデルを有するものであってもよい。
出力部18は、タスク実行システム10から情報を出力するためのインタフェースである。出力部18は、学習モジュール16から取得した情報に基づいて、タスク実行システム10から出力される情報OSとOPを生成する。なお、出力部18は、情報OSか情報OPのいずれかを生成してもよい。第2入力部14から出力部18に情報が渡されたとき、すなわち、ユーザからの入力に基づく情報を出力部18が取得したときは、当該ユーザからの入力に基づく情報も考慮して、タスク実行システム10から出力される情報OSとOPが生成される。このとき、出力部18は、学習モジュール16や第2入力部14から受け付けた情報の一部又は全部をそのまま出力してもよいし、学習モジュール16や第2入力部14から受け付けた情報に基づいて生成ないし変換された情報を出力してもよい。
出力部18から出力された情報、すなわちタスク実行システム10から出力された情報OSは、出力側外部システム50に入力され、出力側外部システム50において所定のタスクが実行される。また、出力部18から出力される情報のうち一部の情報OPは、ユーザPに対して提示される情報としてもよい。ここで、学習モジュール16が多階層のニューラルネットワークにより構成される場合には、当該ニューラルネットワークは、中間層と出力層とのいずれかに、ユーザPに対して提示する情報を出力するノードを有していることが好ましい。
学習器70は、学習モジュール16として用いられる学習済みモデルを獲得する機能を有する学習装置である。学習器70は、タスク実行システム10を構成する学習モジュール16を生成し得るものであるが、タスク実行システム10を直接構成するものではない。学習器70において、入力側外部システム20から入力される情報とユーザから入力される情報とを含む訓練データを用いて、所定のタスクを実行させるための機械学習が行われる。機械学習においては、ユーザが入力する条件に対応したデータである入力変数と、当該入力変数の値に対する出力の望ましさを示す出力値と、を含む訓練データが用いられる。例えば、入力変数に対する望ましい出力値を示す正解データを含む訓練データを学習モジュールに対して直接与えて学習を行わせる手法を採用することができる。また、学習モジュールに対して出力の望ましさを示す評価関数を与えて学習を行わせる手法を用いてもよい。例えば、評価関数として、入出力の組み合わせに対する評価値を決定することのできる関数が用いられる。学習器70によって獲得された学習済みモデル又はそのパラメータ(ニューラルネットワークの場合は結合の重みなど)に基づいて、学習モジュール16を生成することができる。
また、図2に示すように、タスク実行システム10は、通信ネットワークを介して、一又は複数のセンサ30や一又は複数の外部機器40などの入力側外部システム20に接続される。なお、個々のセンサ30や外部機器40がそれぞれ1つの入力側外部システム20とみなしてもよいし、任意のセンサ30や外部機器40を組み合わせたものを1つの入力側外部システム20とみなしてもよい。後者の一例はロボットである。さらに、タスク実行システム10は、通信ネットワークを介して、出力側外部システム50に接続される。そして、入力側外部システム20とユーザからタスク実行システム10に情報が入力され、タスク実行システム10から出力側外部システム50に情報が出力されることによって、所定のタスクが実行される。なお、タスク実行システム10を、所定のタスクを実行するためのサブシステムとして捉え、当該サブシステムと、当該サブシステムが出力する情報を使用する出力側外部システム50とを一体のシステムとして構成してもよい。
センサ30は、物理量を検出する物理量センサ、化学量を検出する化学量センサ、情報を検出する情報センサのいずれであってもよいが、これらに限られるものではなく、任意のセンサを含み得る。物理量センサは、例えば光を検出して画像データや動画データを出力するカメラや、人の心拍を検出して心拍データを出力する心拍センサ、人の血圧を検出して血圧データを出力する血圧センサ及び人の体温を検出して体温データを出力する体温センサ等のバイタルセンサを含み、その他任意の物理量を検出して電気的信号を出力するセンサを含む。化学量センサは、例えばガスセンサ、湿度センサ、イオンセンサを含み、その他任意の化学量を検出して電気信号を出力するセンサを含む。情報センサは、例えば統計データから特定のパターンを検出するセンサを含み、その他任意の情報を検出するセンサを含む。
外部機器40は、コンピュータシステム、ロボット、その他各種デバイスによって構成される。なお、外部機器40と、センサ30とは、一体に構成されていてもよい。例えば、外部機器40としての産業用ロボットは、複数のモータ(軸)と、当該モータ(軸)によって駆動する複数のリンク(構造体)とを有している。モータと、このモータによって駆動されるリンクとが、順次接続され、多関節の産業用ロボットが構成される。ここで、モータは、その回転角度を検出するセンサ30としてのエンコーダと一体に構成されていてよい。外部機器40は、動作計画部42と動作生成部44を含んでもよい。動作計画部42は、外部機器40が制御等する対象物又は外部機器40自体の動作を計画し、本来の目標となる動作軌跡を作成する機能を有する。動作生成部44は、動作の候補を生成したり、障害物への衝突等を回避するための回避行動の候補を生成する機能を有する。ここで、動作の候補、及び、回避行動の候補は、外部機器40の移動方向を示す所定の数値および/または数値ベクトルにより表現される。なお、動作計画部42と動作生成部44は、学習済みモデルを有していてもよい。すなわち、動作候補の生成、回避行動の候補の生成を、所定の機械学習に基づき生成された学習済モデルにより行ってよい。また、動作計画部42と動作生成部44とは、タスク実行システム10に設けられてもよい。すなわち、動作計画部42と動作生成部44とは、タスク実行システム10に設けられ、センサ30および/または外部機器40から取得される情報IPに基づいて、動作候補の生成、回避行動の候補の生成を行い、生成された候補を学習モジュール16に入力する。このとき、動作計画部42と動作生成部44とは、学習モジュール16により実行される所定のタスクを実現するためのサブ学習モジュールとして機能する。
なお、図2においては、入力側外部システム20と出力側外部システム50を別の構成として図示しているが、入力側外部システム20と出力側外部システム50は同一の構成であってもよい。例えば、タスク実行システム10によってロボットハンドを備えたロボットの制御をする場合、当該ロボットハンドは入力側外部システム20であり、かつ、出力側外部システム50でもあり得る。例えば、カメラ付きのロボットであれば、カメラやロボットの関節に設けられたエンコーダがセンサ30に相当し得る。また、エンコーダの値がロボットを介して出力される場合は、ロボットが外部機器40に相当し得る。さらに、タスク実行システム10から出力された動作指令に基づいてロボットが動作する場合、ロボットは出力側外部システム50に相当し得る。なお、本実施形態において、センサから出力されたセンシングデータは、センサ30自身からタスク実行システム10に直接的に入力されてよく、センサ30から外部機器40を介して、タスク実行システム10に間接的に入力されてよい。したがって、本明細書では、センサ30と外部機器40を特に区別せずに、入力側外部システム20ということがある。
なお、タスク実行システム10の構成は図示のものに限定されず、例えば、各ブロックのうち任意の部分を物理的ないし論理的に一体のものとして構成してもよいし、各ブロックを物理的ないし論理的に2以上の要素に分けて構成してもよい。
図4は、本実施形態に係るタスク実行システム10における処理フローの一例を示す図である。まず第1入力部12が、センサ30や外部機器40などの入力側外部システム20から情報を取得する(ステップS31)。第1入力部12は、第2入力部14から情報を取得することもある。第1入力部12は、取得した情報を、必要に応じて学習モジュールの処理に適した形式にデータ変換等した後に、学習モジュール16に出力する。
学習モジュール16は、第1入力部12から入力された情報に基づいて、学習済みモデルを用いた演算処理を行う(ステップS32)。学習モジュール16は、第2入力部14から情報が入力されることもあり、その場合は、第1入力部12から入力された情報と第2入力部14から入力された情報に基づいて演算処理が行われ、演算結果は出力部18に渡される。
出力部18は、学習モジュール16から入力された情報に基づいて、出力側外部システム50に所定のタスクを実行させるための情報を生成し、出力側外部システム50に出力する(S33)。出力部18は、第2入力部14から情報が入力されることもあり、その場合は、学習モジュール16から入力された情報と第2入力部14から入力された情報に基づいて、出力側外部システム50に所定のタスクを実行させるための情報を生成する。例えば、出力側外部システム50がロボット装置であり、所定のタスクが、ロボットに実行させる所定の動作である場合には、出力部18は、学習モジュール16から複数の動作候補を取得し、第2入力部14から入力された情報に基づいて、複数の動作候補から所定の動作候補を選択して、出力側外部システム50に対して情報を出力することができる。
ステップS31〜S33の処理と並行して、所定のタスクを実行するために必要な条件であって、ユーザPが指定したタスクの要件や制約条件等の条件を、第2入力部14が取得する(ステップS34)。第2入力部14は、取得した情報を、第1入力部12、学習モジュール16又は出力部18の少なくともいずれかに渡す。第1入力部12、学習モジュール16又は出力部18のいずれに情報が渡されるかは、出力側外部システム50に実行させるタスク等に応じて設定されることが好ましいが、この限りではない。
以下、タスク実行システム10を、画像検査装置、把持システム、障害物回避システム、人物検索システム及び逆運動学モデルに適用した実施例について説明する。
<実施例1:画像検査装置>
図5は、タスク実行システム10を画像検査装置に適用した場合の機能構成の一例を示すブロック図である。本実施例における画像検査装置100は、所定のタスクとしてカメラで撮像される画像を用いて製品等の対象物の良不良の判定を行う装置であり、タスク実行システム110と、カメラ130と、表示器150とを含むシステムを、ここでは画像検査装置と称するものとする。タスク実行システム110は、第1入力部112と、第2入力部114と、判定部116と、出力部118とを備える。なお、本実施例におけるタスク実行システム110、第1入力部112、第2入力部114、判定部116、出力部118、カメラ130及び表示器150は、それぞれ図2におけるタスク実行システム10、第1入力部12、第2入力部14、学習モジュール16、出力部18、センサ30及び出力側外部システム50に相当する構成である。すなわち、画像検査装置100の各構成に付与された符号の下2ケタは、図2において当該構成に対応する構成の符号に等しい。他の実施例についても同様である。
本実施例において、画像検査装置100は、カメラ130で撮影した検査対象物の画像が、第1入力部112を介して判定部116に入力される。これに加えて、ユーザPの入力した条件としての検査基準が、第2入力部114を介して判定部116に入力される。
判定部116は、学習済みモデル(例えば、学習済みのニューラルネットワーク)により構成されている。判定部116は、製品の外観が写った画像と検査基準とが入力されると、ユーザが指定した検査基準を考慮して、製品の検査結果を出力する。例えば、検査結果は「良」又は「不良」のいずれかである。判定部116が出力した検査結果は、出力部118を介して表示器150に検査結果が表示される。また、画像検査装置100は、検査結果に加えて、ユーザが指定した検査基準に基づく情報を表示器150に表示してもよい。検査基準としては、例えば、検査を行う対象物に関する基準、検査を行う環境に関する基準、検査の判定に関する基準、を入力することができる。検査を行う対象物の基準としては、例えば、対象物の材質、大きさ、色、反射度、透明度等の少なくともいずれかを入力することができる。また、検査が行われる環境の基準としては、例えば、環境の明るさの度合いを入力することができる。また、検査の判定基準として、出力すべき良不良の厳しさを示す基準を入力することができる。検査基準の例はこれらに限られず、また、複数の検査基準を組合せて使用してよい。
図6は、本実施例において、判定部116を構成する学習済みモデルを機械学習によって獲得する際に与えられる訓練データの一例を示す図である。同図に示すように、訓練データは、画像と判定基準ごとの検査結果の正解データとが対応付けられている。図6に示す例では、入力される各画像(画像1,画像2,・・・)は、検査対象物の画像である。ここでは、判定基準が3段階存在する。画像1は、基準1〜3のいずれでも検査結果を「良」と判定すべき画像である。画像2は、基準1と2では検査結果を「良」と判定し、基準3では「不良」と判定すべき画像である。画像3は、基準1では検査結果を「良」と判定し、基準2と3では「不良」と判定すべき画像である。画像4と5は、基準1〜3のいずれでも検査結果を「不要」と判定すべき画像である。
学習器に対し、図6に示すような、画像と、判定基準ごとの検査結果の正解データが対応付けられた訓練データを複数与えて教師あり学習を行うことにより、画像検査装置100に用いられる学習済みモデルを獲得することができる。
図6に示す訓練データによる学習の結果得られる学習済みモデルは、ユーザが基準1〜3のいずれかの判定基準を選択すると、選択された判定基準に従った検査結果を出力することができる。図6の例では、基準1,2,3はそれぞれ甘い基準、標準的な基準、厳しい基準であるといえる。
本実施例では、ユーザPが入力する基準が3段階の場合について説明したが、2段階あるいは4段階以上の基準を設けてもよいことはいうまでもない。また、基準1,2,3といった離散的な数値ではなく、−1から1までのような範囲をもった連続値によってユーザPが基準を指定できるようにしてもよい。さらに、数値ではなく、予め用意されたラベル(甘い、標準、厳しい等)からユーザPが基準を選択できるようにしてもよい。
このように、所望の検査基準の形式を含む訓練データを用いて機械学習を行うことで検査基準に応じて判断結果が変動する学習済みモデルを獲得し、獲得した学習済みモデルを有する学習モジュール16と、学習モジュール16に対してユーザPから任意に入力される検査基準と、を使用することで、用いて、検査実行時にユーザが検査の内容に応じて、その検査基準を柔軟に指定できる画像検査装置を実現することができる。
<実施例2−1:把持システム(1)>
図7は、タスク実行システム10を把持システムに適用した場合の機能構成の一例を示すブロック図である。本実施例における把持システム200は、ロボットにより物体を把持させるシステムであり、タスク実行システム210と、カメラやエンコーダなどのセンサ230と、ロボット240,250とを備える。図7ではロボット240とロボット250の符号を分けているが、実際には同じロボットを指しているものとする。また、センサ230の一部又は全部はロボット240に搭載されていてもよい。
タスク実行システム210は、第1入力部212と、第2入力部214と、予測器216と、動作決定部218とを備える。それぞれ、図2における、第1入力部12、第2入力部14、学習モジュール16及び出力部18に相当する構成である。
本実施例において、把持システム200は、カメラ230で撮影したロボットのハンド及び把持対象物を含む画像と、ロボットの関節に搭載されたエンコーダ230の出力値から得られるロボット240の現在の姿勢とが、第1入力部212を介して予測器216に入力されるように構成されている。また、タスク実行システム210は、ロボット240の動作生成部244が作成した複数の動作候補を取得し、取得された複数の動作候補が第1入力部212を介して予測器216に入力されるように構成されている。これらに加えて、ユーザPの入力した条件が、第2入力部214を介して予測器216に入力される。なお、動作生成部244は、タスク実行システム210に設けられていてもよく、ロボット230及び把持システム210とは別体に設けられていてもよい。また、動作生成部244は、学習済みモデルを有していてもよい。すなわち、動作候補の生成を、所定の機械学習に基づき生成された学習済みモデルを用いて行ってよい。このとき、動作生成部244は、学習モジュール16により実行される所定のタスクを実現するためのサブ学習モジュールとして機能する。
ユーザPが入力する条件としては、例えば、作業時の制約として把持対象物のうち「持たせたい場所」(把持推奨領域)や「持ってはならない場所」(把持禁止領域)などの制約条件を指定することが想定される。
予測器216は、ロボット240から取得された複数の動作候補を示す移動方向ベクトル、センサとしてのカメラ230から入力された画像や、センサとしてのエンコーダ230から入力された値に基いて算出されるロボットの現在の位置および/または姿勢と、ユーザが入力した制約条件と、をもとに、それぞれの移動方向ベクトルに従って移動した場合の把持達成率と、ユーザPが入力する制約条件に対応した制約充足度を予測する。動作決定部218は、予測器から出力された把持成功率と制約充足度に基づいて各動作候補の評価値を算出し、評価値をもとに動作候補の中から次の動作を決定する。そして、決定された動作を実行させるための動作指令を生成して、ロボット250に出力する。また、図示省略するが、予測器216によって予測された把持達成率と制約充足度に基づく情報をディスプレイ等に出力して、ユーザPに提示してもよい。
図8は、本実施例において、予測器216に入力される複数の動作候補(移動方向ベクトル)と、予測器216から出力される各動作候補の把持成功率及び制約充足度の一例を示す図である。同図では、(0,0,0)、(0,1,0)、(0,−1,0)、・・・などの移動方向ベクトルが次の動作の候補となっている。移動方向ベクトル(x,y,z)において、xはハンドの左右方向の移動量、yはハンドの上下方向の移動量、zはハンドの回転量を表している。例えば(0,0,0)は、次の動作として、ハンドを動かさないことを表し、(0,1,0)は上方向に1単位ハンドを動かすことをあらわしている。
把持成功率は、次にその動作をしたときに最終的に把持に成功する確率を表している。制約充足度は、次にその動作をしたときに、ユーザが指定した制約条件を満たすか否かを表している。制約充足度が「1」の場合は制約条件を満たすが、「0」の場合は制約条件を満たさないことを表す。例えば、把持禁止領域をユーザが指定したとき、動作候補の動作を行うことで対象物の把持禁止領域をハンドが触れてしまう場合、当該動作候補の制約充足度を「0」と判定する。
図8に示す例では、予測器216が、動作候補(0,0,0)に対して把持成功率「0.4」、制約充足度「1」を出力し、動作候補(0,1,0)に対して把持成功率「0.7」、制約充足度「0」を出力することを表している。つまり、ハンドを動かさないとき、把持成功率は0.4しかないが、禁止領域には入らないこと、他方、ハンドを上方向に1単位動かすと把持成功率が0.7になるが、把持が成功した場合には、禁止領域を把持してしまうため制約充足度が0になることを表している。
なお、予測器216を構成する学習済みモデルは、ハンドと作業対象が写った画像と、ロボットの関節のエンコーダ値から得られるロボットの現在姿勢と、移動方向ベクトルとを入力すると、当該移動方向ベクトルに従ってハンドを移動させたときの把持成功率と制約充足度を出力するように機械学習されたものである。このような学習済みモデルは、例えば、ハンドと作業対象が写った画像と、ロボットの関節のエンコーダ値から得られるロボットの現在姿勢と、動作候補となる移動方向ベクトルと、当該移動方向ベクトルに従ってハンドを移動させたときの把持成功率と制約充足度とが対応付けられた訓練データを用いた機械学習によって獲得することができる。
動作決定部218は、予測器216から出力された動作候補ごとの把持成功率と制約充足度に基づいて、評価値を算出する。図8では、評価値=把持成功率×制約充足度により算出しているが、評価値の算出手法はこれに限られるものではない。動作決定部218は、動作候補ごとの評価値にもとに、所定の動作決定ルールに従って、次にどの動作を行うかを決定する。
図9は、本実施例における動作決定ルールの一例である。図8の動作候補に図9の動作決定ルールを当てはめた場合、移動しない場合(0,0,0)の評価値が0.4<0.9であるから条件1が不成立であり、動作候補(0,0,0.5)の評価値が0.6>0.5であるから条件2も不成立であるから、条件3が成立し、「成功率が最大となる方向に移動」するという動作が選択される。したがって、次の動作として、移動方向ベクトル(0,0,0.5)が選択される。こうして、動作決定部218はハンドを90度回転させるための動作指令をロボット250に出力する。
なお、ここでは、予測器216が把持成功率と制約充足度を出力し、動作決定部218において把持成功率と制約充足度に基づいて評価値を算出し、評価値に基づいて動作を決定する実施例について説明したが、予測器216がユーザの制約条件を加味した評価値を出力し、動作決定部218は予測器216から受け取った評価値に基づいて動作を決定するものとしてもよい。この場合、予測器216を構成する学習済みモデルは、ハンドと作業対象が写った画像と、ロボットの関節のエンコーダ値から得られるロボットの現在姿勢と、移動方向ベクトルとを入力すると、当該移動方向ベクトルに従ってハンドを移動させたときの評価値を出力するように機械学習されたものを用いればよい。なお、本実施例においては、ユーザPが入力する条件として、把持推奨領域および/または把持禁止領域を入力することとしたが、これに加えて、動作決定を行うための評価値を入力するようにしてもよい。このとき、ユーザPが入力した評価値は、第2入力部214を介して動作決定部(出力部)218に入力される。これによれば、物体を把持するためのグリッパの開閉動作を行うか否かの判断の基準を、ユーザPが任意に設定できる。このとき、把持システム200は、設定された基準や判断された結果に基づく情報をディスプレイ等に出力して、ユーザPに提示してもよい。
<実施例2−2:把持システム(2)>
図10は、把持システム200の他の実施例を示す図である。実施例2−1では、把持成功率と制約充足度を1つの予測器216が出力するように構成したが、図10に示すように、把持成功率と制約充足度を出力する予測器を分ける構成とすることができる。
この実施例では、予測器216aは、ロボット240から取得された複数の動作候補に対して、カメラ230から入力された画像や、エンコーダ230から入力された値に基づいて算出されるロボットの現在の位置および/または姿勢をもとに、現在の状態でそれぞれの方向に移動した場合の把持達成率を予測する。また、予測器216bは、ロボット240から取得された複数の動作候補に対して、カメラ230から入力された画像や、エンコーダ230から入力された値に基づいて算出されるロボットの現在の位置および/または姿勢と、ユーザが入力した制約条件と、をもとに、現在の状態からそれぞれの方向に移動した場合の制約充足度を予測する。
図11は、予測器216aから出力される把持成功率と、予測器216bから出力される制約充足度の一例を示す図である。図11(A)は、予測器216aに入力される複数の移動方向ベクトル(動作候補)と、予測器216aから出力される各動作候補の把持成功率の一例を示す図である。図11(B)は、予測器216bに入力される複数の移動方向ベクトル(動作候補)と、予測器216bから出力される各動作候補の制約充足度の一例を示す図である。
図10に戻り、動作決定部218は、予測器216aから動作候補ごとの把持成功率を取得し、予測器216bから動作候補ごとの制約充足度を取得し、これらを合わせて、動作候補ごとの評価値を算出する。他の処理は、図6の実施例と同様であるので、説明を省略する。
把持成功率と制約充足度を予測する予測器を2つに分けることにより、把持成功率を予測するための学習済みモデルと、制約充足度を予測する学習済みモデルを、それぞれ分けて学習させることができるようになる。例えば、把持成功率を予測するための予測器216aは、従来からあるものを利用し、ユーザの入力した制約条件に基づく制約充足度を予測するための予測器216bについて、機械学習を行って学習済みモデルを獲得すればよい。このように、把持システム200を構成する予測器216を複数の予測器に分けて構成することにより、例えば種々の制約条件を追加しようとする場合に、予測器216をはじめから作り直す必要がなく、個々の制約条件に応じて個別に機械学習をすればよいため、機械学習を行うための訓練データを縮約できる。また、個々の制約条件に応じて獲得された学習済みモデルを追加すればよいため、予測器216を柔軟に構成することができるようになる。
この把持システム200のように、タスク実行システム10を所定のシステムに適用したときに、当該システムが複数の予測器216を有するとき、複数の予測器216は、少なくとも以下の2つの学習モジュールを含むことが好ましい。すなわち、外部システム20から取得されるセンシングデータなどの情報を入力データとして情報処理を行う第1の学習モジュールと、外部システム20から取得される情報とユーザPが入力する条件を学習モジュールでの演算に適したデータ形式に変換した情報とを入力データとして情報処理を行う第2の学習モジュールの2つである。
本実施例において、第1の学習モジュールは、センサ230から取得されるセンシングデータを入力データとし、把持成功率を出力する学習モジュール216aである。また、第2の学習モジュールは、センサ230から取得されるセンシングデータと、ユーザPが入力する条件としての把持推奨領域および/または把持禁止領域を示す情報と、を入力データとし、条件の充足度を出力する学習モジュール216bである。このように、複数の学習モジュールを含む構成によれば、ロボットにより対象物を把持するタスクを実行するために必須な学習モジュール216aと、タスクを実行するときの制約条件を考慮した制約充足度を示す情報を出力する学習モジュール216bとを別々に構成することができるので、タスクに課す制約条件に応じて、適切な学習モジュールの使い分けを容易にすることができる。
<実施例2−3:把持システム(3)>
図12は、把持システム200の他の実施例を示す図である。実施例2−1では、ユーザPが入力した条件が、第2入力部214を介して予測部216に入力される構成について説明したが、図12に示すように、ユーザPが入力した条件が、第1入力部212に入力される構成とすることができる。
この実施例において、第1入力部212は、ロボット240の動作生成部244が作成した複数の動作候補(当初の動作候補)を受け付ける。他方、第1入力部212は、ユーザPが入力した制約条件を、第2入力部214を介して受け付ける。第1入力部212の情報生成部2122は、ロボット240から取得した当初の動作候補のそれぞれが、ユーザPが入力した制約条件を満たすか否かを判別し、制約条件を満たす動作候補を予測部216に渡す。予測部216は、入力された複数の動作候補のそれぞれについて把持成功率を予測し、動作決定部318において、把持成功率に基づいて次の動作を決定する。これにより、ユーザPが入力した制約条件を満たさない動作候補については予測部216に入力する前に候補から外すことができるため、予測部216における演算時間を短縮できる。
図13は、実施例2−1乃至2−3に記載の把持システム200において、ユーザPが制約条件を指定する際の一例を示す図である。例えば、把持対象となる物体のうち、触れてはいけない領域(把持禁止領域)や、把持させたい領域(把持推奨領域)が存在するとき、ユーザPは、コンピュータの表示画面等に表示された把持対象物の3Dモデル上で、制約条件を指定することができる。ユーザが指定した制約条件を考慮した学習済みモデルを獲得する際、ユーザが入力した制約条件を、学習モデルに入力可能な、すなわち、学習モデルで行われる演算に適した形式に変換する必要がある。図13に示す例では、ユーザが指定した制約条件を特徴量ベクトルに変換することによって、ニューラルネットワークに入力可能な形式に変換させている。具体的には、第2入力部214に接続された所定の表示装置に、把持対象の2次元又は3次元形状を表示する。このとき把持対象物の形状を特定の大きさのボックス(ボクセル)で離散化したデータを保持しておく。第2入力部214に接続された所定の隆の句装置を介してユーザが指定した把持推奨領域および/または把持禁止領域に応じて、把持対象物を構成するボクセルに対し、把持可能である旨を示す数値ベクトルと、把持可能である旨を示す数値ベクトルとを対応付ける。これにより、生成された把持対象物をボクセルで離散化した数値ベクトルと、各ボクセルに対応づけられた把持可能または把持不可能である旨を示す数値ベクトルデータ、とに基づいて把持可能なセルと把持不可能なセルを識別可能であって、ニューラルネットワークに入力可能な形式のベクトルを生成すればよい。
<実施例3:障害物回避システム(多関節ロボット)>
図14は、タスク実行システム10を多関節ロボットにおける障害物回避システムに適用した場合の機能構成の一例を示すブロック図である。本実施例における障害物回避システム300は、ロボットが動的な環境において障害物を回避しつつ、作業を自律的に実行するシステムである。ユーザPが入力する作業に対する要求に関する条件として、障害物を回避する実現性と作業効率との優先度合いを使用することができる。すなわち、タスク実行システム10は、ユーザPが、条件として、障害物を回避する実現性としての障害物を回避する確率と作業効率としての作業速度とのバランス、を指定できるように構成されている。また、ユーザPが入力する条件として、例えば、障害物を回避する実現性、作業速度、に加え、「移動に係る消費エネルギー」などを含む、複数の指標に対する重要度や優先度を指定することができる。
障害物回避システム300は、タスク実行システム310と、センサ330と、ロボット340,350とを備える。センサ330の一部または全部はロボット340に搭載されてもよい。図14ではロボット340とロボット350の符号を分けているが、実際には同じロボットを指しているものとする。
タスク実行システム310は、第1入力部312と、第2入力部314と、予測部316と、動作決定部318とを備える。それぞれ、図2における、第1入力部12、第2入力部14、学習モジュール16及び出力部18に相当する構成である。
本実施例において、障害物回避システム300は、センサ330がセンシングしたロボット周辺に存在する障害物に関する情報としての点群が、第1入力部312を介して予測部316に入力されるように構成されている。なお、障害物に関する情報としては、センサ330によりセンシングされた障害物の形状を、多面体や点群により近似して数値ベクトルとして表現されていることが好ましい。また、タスク実行システム310は、ロボット340の動作計画部342が作成した、障害物の存在を加味しない動作経路である本来の目標軌跡を取得し、第1入力部312を介して予測部316に入力する。さらに、ロボット340の動作生成部344が生成した障害物を回避するための回避行動の候補を取得し、第1入力部312を介して予測部316に入力する。これらに加えて、ユーザPの入力した条件である安全係数が、第2入力部314を介して予測部316に入力される。なお、動作生成部344は、障害物を回避するための回避行動の候補を送信する代わりに、ロボット340の現在の姿勢からいずれの方向に移動すべきかを示す動作候補を送信してもよい。
予測部316は、複数の回避行動の候補のそれぞれについて、回避成功率と目標逸脱率を予測し、ユーザの指定した安全係数を考慮した評価値を出力する。動作決定部318は、評価値に基づいて回避行動を決定し、決定された回避行動を実現させるための動作指令をロボット350に出力する。ロボット350は、タスク実行システム310から受け取った動作指令に基づいて回避行動を実行する。加えて、障害物回避システム300は、ユーザの指定した安全係数に基づく情報をディスプレイ等に表示して、ユーザに提示してもよい。
また、予測部316は、複数の回避行動の候補のそれぞれについて、回避成功率と目標逸脱率を予測して、動作決定部318に出力してもよい。このとき、ユーザが指定した安全係数は、第2入力部314から動作決定部318に入力される(図14の破線矢印)。動作決定部318において、回避成功率と目標逸脱率をもとに、複数の回避行動の候補のそれぞれについて、ユーザの指定した安全係数を考慮した評価値を算出し、評価値に基づいて回避行動を決定してもよい。
図15は、本実施例において、予測部316に入力される本来の目標軌跡の候補と、予測器316から出力される目標軌跡の候補ごとの回避成功率及び目標逸脱率の一例を示す図である。同図において、軸1、2、・・・、6は、6軸多関節ロボットの各関節を構成するモータの番号である。v1、v2、・・・、vnは、ロボットの動作候補(目標軌跡)の種別を示す記号である。各動作を表現する記号のうち、矢印はモータの回転方向を表し、φはモータが動かないこと表している。具体的には、「↑」はモータを正方向に回転させ、「↓」はモータを逆方向に回転させ、「φ」はモータを動かさない。また、モータの回転方向を矢印ではなく数値ベクトル(−1〜+1)で表現して、回転方向と合わせて回転量を連続的に表してもよい。また、数値ベクトルをモータの回転方向としてではなく、モータの加速度(角加速度)として表してもよい。
回避成功率Pは、ロボットが動作vnを行った場合に、障害物を回避できる確率を示す。目標逸脱率Qは、ロボットが動作vnを行った場合に、障害物が無かった場合の通常経路(目標軌跡)にどれほど近いかを示す指標である。例えば、障害物がなかった場合の動作軌跡と完全一致している場合を1とし、始点と終点のみが一致しており中間軌跡が一切一致していない場合を0とした指標である。
例えば、図15において、動作候補v1は、軸1の関節を正方向に回転させ、残りの軸2〜6の関節は動かさないという動作を示しており、次の動作として動作候補v1が実行されたときの回避成功率と目標逸脱率は、それぞれ0.2と0.8であることを示している。すなわち、予測器316は現在の状態において、動作候補v1の回避成功率と目標逸脱率として、それぞれ0.2と0.8を出力する。
本実施例において、ユーザPは、安全係数αを入力する。この安全係数によって、いずれの動作候補vnを選択するかが決定される。例えば、動作の評価値Kを、評価式:K=回避成功率×α(安全係数)+目標逸脱率×(1−α) によって算出する場合、ユーザが安全係数αを調整することによって、回避成功率と目標逸脱率のいずれを重視するかを調整することができる。図15の例では、例えば、安全係数αを1とすれば、回避成功率の高い動作候補v2が選択され、安全係数αを0とすれば、目標逸脱率の高い動作候補v1が選択される。このように、本実施例では、人による入力を追加することで、安全性と効率のトレードオフをユーザがその場で指定することができるようなる。
なお、予測部316は学習済みモデルによって構成される。学習器においては、回避行動の候補を実行した場合の回避成功率と、本来の目標軌跡(作業目標動作)からの逸脱率の比が、人による入力の値に近づくほど高い報酬が得られるような報酬関数を用いて訓練を行うことで、所望の出力を行う学習済みモデルを獲得することができる。
<実施例4:障害物回避システム(マルチエージェント)>
図16は、タスク実行システム10をマルチエージェントにおける障害物回避システムに適用した場合の機能構成の一例を示すブロック図である。本実施例における障害物回避システム400は、複数の移動ロボット(エージェント)が、工場や倉庫などの共通の空間内でそれぞれの目的地に衝突せずに最短時間で到達する経路を決定するシステムであり、タスク実行システム410と、移動ロボット440,450とを備える。移動ロボット440には、カメラ430が搭載されている。図16では移動ロボット440と移動ロボット450の符号を分けているが、実際には同じ移動ロボットを指しているものとする。
タスク実行システム410は、第1入力部412と、第2入力部414と、予測部416と、動作決定部418とを備える。それぞれ、図2における、第1入力部12、第2入力部14、学習モジュール16及び出力部18に相当する構成である。また、本実施例において、第1入力部412は、状態認識部4121を含む。これは図2における、状態認識部121に相当する構成である。
本実施例において、障害物回避システム400は、カメラ430が撮影した移動ロボット周辺の画像が、第1入力部412の状態認識部4121に入力される。状態認識部4121は、カメラ430から取得した画像に基づいて移動ロボット440の状態を認識し、状態ベクトルを予測部416に出力する。また、タスク実行システム410は、ロボット440の動作計画部442が作成した本来の目標軌跡(目標ベクトル)を取得し、第1入力部412を介して予測部416に入力する。さらに、ロボット440の動作生成部444が生成した他の移動ロボットとの衝突を回避するための回避行動の候補を取得し、第1入力部412を介して予測部416に入力する。
図17は、本実施例におけるマルチエージェントシステムの概略図である。同図に示す例では全部で5台の移動ロボットがあり、それぞれの位置と速度を示す状態ベクトル(p,v)を有する。また、移動ロボットは目標妃を示す目標ベクトル{u0}を有する。
図16に戻り、予測部416は、第1入力部412から入力された目標ベクトル{u0}と、状態ベクトル{p0,v0,p1,v1,p2,v2,p3,v3}と、複数の回避動作の候補{↑,↓,←,→,φ}に基づいて、複数の回避行動の候補のそれぞれについて評価値を算出し、動作決定部418に出力する。
動作決定部418には、評価値に加えて、ユーザPの入力した安全係数が、第2入力部414を介して入力される。動作決定部418は、評価値と安全件数に基づいて回避動作を決定し、動作指令をロボット450に出力する。また、障害物回避システム400は、ユーザの入力した安全係数に基づく情報をディスプレイ等に表示して、ユーザに提示してもよい。
各移動ロボットは、自身の現在状態と、周囲の移動ロボットの現在状態をもとに、最適な行動を決定する必要があり、そのような行動ポリシーを機械学習により獲得することができる。
<実施例5:人物検索システム>
図18は、タスク実行システム10を人物検索システムに適用した場合の機能構成の一例を示すブロック図である。本実施例における人物検索システム500は、監視映像から、見本で示された特定の人物を抽出するシステムである。本実施例では、重視したい体の部位をユーザPが指定することにより、効果的な絞り込みを可能にしたものである。
人物検索システム500は、タスク実行システム510と、動画を撮影してフレーム画像を取得する監視カメラ530と、見本画像が格納された外部システム540と、処理結果を表示するための表示器550とを備える。タスク実行システム510は、第1入力部512と、第2入力部514と、判定部516と、出力部518とを含む。
本実施例において、人物検索システム500は、監視カメラ530が撮影した動画フレーム画像が、第1入力部512を介して判定部516に入力される。また、外部システム540に格納された見本画像が、第1入力部512を介して判定部516に入力される。
判定部516は、取得された動画フレーム画像と見本画像から、特定の人物が映っているか否かを判定する。本実施例では、判定部516は複数の学習モジュールによって構成される。各学習モジュールはそれぞれ身体の所定の部位を比較して一致度を判定することができるように機械学習されている。ここでは、判定部は4つの比較部により構成され、それぞれ、目、口、髪型及び輪郭を比較するためのニューラルネットワークにより構成さえれている。4つの判定部は、カメラ530から入力された画像に映っている人物と、見本画像の人物とを比較して、各部位(目、口、髪型、輪郭)ごとに一致度を判定し、部位ごとの一致度を出力する。
出力部518は、部位ごとの一致度を判定部516から取得する。他方、出力部518は、ユーザPが入力した部位ごとの重みを第2入力部514から受け取り、部位ごとの重み付けを考慮した総合的な一致度を算出し、表示器550に出力する。また、人物検索システム500は、ユーザPが入力した部位ごとの重みに基づく情報を、表示器550に出力してもよい。
図19は、本実施例における、部位ごとの一致度と重みの一例を示す図である。各部位の重みは、ユーザが入力したものである。出力部518は、判定部から出力された各部位の一致度と、ユーザの入力した各部位の重みとに基づいて、総合的な一致度を所定のロジックで算出する。
<実施例6:逆運動学モデル>
図20は、タスク実行システム10を逆運動学モデルに適用した場合の機能構成の一例を示すブロック図である。図21は、逆運動学において複数の解が存在する場合の一例を示す図である。
本実施例における逆運動学制御システム600は、ハンドやグリッパなどのエンドエフェクタの姿勢が与えられたときに、その姿勢を実現するジョイント角を出力することのできるシステムである。エンドエフェクタの姿勢を与えた時に、図21に示すように、それを実現するジョイント角が複数存在する場合がある。本実施例では、現在姿勢からの移動距離が最小になるものなど、ユーザが指定した条件に基づいて、適切な解を出力する。
図20に示すように、本実施例における逆運動学制御システム600は、タスク実行システム610と、センサ630と、ロボット640,650とを備える。センサ630の一部又は全部は、ロボット640に搭載されてもよい。図20ではロボット640とロボット650の符号を分けているが、実際には同じロボットを指しているものとする。タスク実行システム610は、第1入力部612と、第2入力部614と、予測器616と、動作決定部618とを含む。
本実施例において、タスク実行システム610は、エンコーダなどのセンサ630からロボット640の現在姿勢を取得し、第1入力部612を介して予測器616に入力する。また、エンドエフェクタの目標姿勢を、ロボット640の動作計画部(不図示)から取得し、第1入力部612を介して予測器616に入力する。タスク実行システム610はこれらに加えて、ユーザPの入力した条件を取得し、第2入力部を介して予測器616に入力する。
予測器616は、学習済みモデルによって構成され、ロボットの現在姿勢とエンドエフェクタの目標姿勢とに基づいて、目標姿勢を実現するためのジョイント角を出力する。複数の解が存在するときは、ユーザPによって入力された条件に基づいて、適切な解を選択し、選択された解(ジョイント角)を出力する。
動作決定部618は、予測器616から受け取ったジョイント角に基づいて動作指令を生成し、ロボット650に出力する。ロボット650は、受信した動作指令に基づいて動作することにより、ユーザが指定した条件に沿った形でエンドエフェクタの姿勢を制御することができる。また、逆運動学制御システム600は、ユーザPによって入力された条件に基づく情報を、ディスプレイ等に出力して、ユーザPに提示してもよい。
本実施例において、予測器616を構成する学習済みモデルは、学習器において、エンドエフェクタの姿勢とそれに対応するジョイント角のセットを訓練データとして与えて教師あり学習を行うことで、逆運動学のモデルを獲得することができる。具体的には、様々なジョイント角の組み合わせを生成し、それに対応するエンドエフェクタの姿勢を順運動学により計算することで、正解となる訓練データのセットを生成できる。
さらに、エンドエフェクタの姿勢に対するジョイント角の組み合わせが複数存在するとき、所定の評価指標を設定し、評価指標が最大となるものを正解とする訓練データを生成する。このように生成された訓練データを用いた教師あり学習により、指定された評価関数を最大化するような解を出力する学習済みモデルを得ることができる。評価関数は、例えば、位置決め精度と移動コストの組み合わせなどにより表現できる。位置決め精度は、要求されたエンドエフェクタの姿勢とジョイント角の姿勢との差であり、移動コストは現在姿勢からの移動量として計算することができる。また、他にも、特異点からの距離などを評価指標としてもよい。
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で処理ステップの一部を省略したり、各処理ステップの順番を任意に変更して又は並列に実行することができる。また、各実施形態における機能構成及びハードウェア構成は一例にすぎず、図示したものに限定されるものではない。
本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。例えば、コンピュータに、上記プログラムをインストールすることによって、当該コンピュータをタスク実行システム10として機能させることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は特に限定されないが、例えば、CD−ROM等の記録媒体であってもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
少なくとも1つのメモリと、前記メモリと接続された少なくとも1つのハードウェアプロセッサとを備え、機械学習により所定の学習がなされた学習済みモデル又は前記学習済みモデルと入出力関係が同等のモデルを含む学習モジュールを用いて所定のタスクを実行させるシステムであって、
前記ハードウェアプロセッサが、
第1入力部において、一又は複数の外部システムから取得される情報を受け付けて、前記学習モジュールに入力される情報の少なくとも一部を生成し、
出力部において、前記学習モジュールから出力される情報を取得して、前記システムから出力される情報であって、当該情報に基づいて所定のタスクが実行される情報を生成し、
ユーザからの入力を受け付けて、前記ユーザからの入力に基づく情報が、前記第1入力部、前記学習モジュール又は前記出力部のうち少なくともいずれかに入力され、前記ユーザからの入力に基づいて前記出力部から出力される情報が変化する、
システム。
(付記2)
機械学習により所定の学習がなされた学習済みモデル又は前記学習済みモデルと入出力関係が同等のモデルからなる学習モジュールを用いて所定のタスクを実行させるシステムを制御する方法であって、
少なくとも1つ以上のハードウェアプロセッサによって、第1入力部において、一又は複数の外部システムから取得される情報を受け付けて、前記学習モジュールに入力される第1情報の少なくとも一部を生成し、
前記ハードウェアプロセッサによって、前記学習モジュールにおいて、少なくとも前記生成された第1情報に基づいて、所定のタスクが実行される第2情報を出力し、
前記ハードウェアプロセッサによって、出力部において、少なくとも前記出力された第2情報を取得して、前記システムから出力される第3情報を生成し、
前記ハードウェアプロセッサによって、前記第1情報の生成、前記第2情報の出力、又は、前記第3情報のせ生成の少なくともいずれかと略並行に行われ、ユーザからの入力を受け付けて、前記ユーザからの入力に基づく情報を、前記第1入力部、前記学習モジュール又は前記出力部のうち少なくともいずれかに入力し、前記ユーザからの入力に基づいて前記出力部から出力される情報を変化させる、
方法。
1…全体システム、10…タスク実行システム、12…第1入力部、121…状態認識部、122…情報生成部、14…第2入力部、16…学習モジュール、18…出力部、20…入力側外部システム、30…センサ、40…外部機器、42…動作計画部、44…動作生成部、50…出力側外部システム、70…学習器、100…画像検査装置、200…把持システム、300…障害物回避システム、400…障害物回避システム、500…人物検索システム、600…逆運動学制御システム。

Claims (14)

  1. 機械学習により所定の学習がなされた学習済みモデル又は前記学習済みモデルと入出力関係が同等のモデルを含む学習モジュールを備え、所定のタスクを実行させるシステムであって、
    前記システムは、
    一又は複数の外部システムから取得される情報を受け付けて、前記学習モジュールに入力される情報の少なくとも一部を生成する第1入力部と、
    前記学習モジュールから出力される情報を取得して、前記システムから出力される情報を生成する出力部であって、当該システムから出力される情報に基づいて所定のタスクが実行される、出力部と、
    ユーザからの入力を受け付ける第2入力部であって、前記ユーザからの入力に基づく情報が、前記第1入力部、前記学習モジュール又は前記出力部のうち少なくともいずれかに入力され、前記ユーザからの入力に基づいて前記出力部から出力される情報が変化する、第2入力部と、
    を備えるシステム。
  2. 前記第2入力部は、前記ユーザから、前記所定のタスクに対する条件を受け付け、
    前記出力部は、前記条件に基づいた情報を出力する、
    請求項1記載のシステム。
  3. 前記出力部から出力される情報の一部に、前記条件に対応してユーザに提示される情報を含む、請求項2記載のシステム。
  4. 前記学習モジュールはニューラルネットワークによって構成される、
    請求項1乃至3のいずれか1項に記載のシステム。
  5. 前記学習モジュールは、前記第1入力部から入力される情報と、前記第2入力部から入力される情報とに基づいて、前記出力される情報が生成される、
    請求項1乃至4のいずれか1項に記載のシステム。
  6. 前記一又は複数の外部システムはカメラを含み、
    前記第2入力部で受け付けられる前記ユーザからの入力は、検査の基準に関する条件を含み、
    前記出力部は、前記カメラで撮影された対象物の画像から、ユーザが入力した前記基準に基づく前記対象物の検査結果を出力する、
    請求項1乃至5のいずれか1項に記載のシステム。
  7. 前記出力部から出力される情報に基づいてロボットの動作を制御するシステムであって、
    前記一又は複数の外部システムは前記ロボットの現在の姿勢を検知するセンサを含み、
    前記第2入力部で受け付けられる前記ユーザからの入力は、前記ロボットの動作の制約に関する条件を含み、
    前記出力部は、前記ロボットの現在の姿勢と前記条件とを考慮して、前記ロボットの動作を制御するための情報を出力する、
    請求項1乃至5のいずれか1項に記載のシステム。
  8. 前記出力部から出力される情報に基づいてロボットの動作を制御するシステムであって、
    前記一又は複数の外部システムはロボットの現在の位置及び姿勢の少なくともいずれか一方を検知するセンサを含み、
    前記第2入力部で受け付けられる前記ユーザからの入力は、前記ロボットが障害物を回避する安全性に関する条件を含み、
    前記出力部は、前記ロボットの現在の位置と前記条件とを考慮して、前記ロボットの動作を制御するための情報を出力する、
    請求項1乃至5のいずれか1項に記載のシステム。
  9. 前記一又は複数の外部システムはカメラを含み、
    前記第2入力部で受け付けられる前記ユーザからの入力は、人の身体の部位に関する条件を含み、
    前記出力部は、前記カメラで撮影された人物の画像から、ユーザが入力した前記条件に基づいて特定の対象画像との一致度を判定し、当該判定結果を出力する、
    請求項1乃至5のいずれか1項に記載のシステム。
  10. 請求項1乃至9のいずれか1項に記載のシステムに含まれる学習モジュールを学習させる学習装置であって、
    一又は複数の外部システムから取得された第1学習用データと、前記所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、前記学習モジュールを学習させる学習制御部を備える、
    学習装置。
  11. 機械学習により所定の学習がなされた学習済みモデル又は前記学習済みモデルと入出力関係が同等のモデルを含む学習モジュールを備えるシステムにおいて、所定のタスクを実行させる方法であって、
    第1入力部が、一又は複数の外部システムから取得される情報を受け付けて、前記学習モジュールに入力される情報の少なくとも一部を生成する第1ステップと、
    前記学習モジュールが、少なくとも前記第1ステップで生成された情報に基づいて、所定の情報を出力する第2ステップと、
    出力部が、少なくとも前記第2ステップで出力された情報を取得して、前記システムから出力される情報を生成する第3ステップであって、当該システムから出力される情報に基づいて所定のタスクが実行される、第3ステップと、
    第2入力部が、前記第1のステップ、第2のステップ、又は、第3のステップの少なくともいずれかと略並行に行われ、ユーザからの入力を受け付ける第4ステップであって、前記ユーザからの入力に基づく情報が、前記第1入力部、前記学習モジュール又は前記出力部のうち少なくともいずれかに入力され、前記ユーザからの入力に基づいて前記出力部から出力される情報が変化する、第4ステップと、
    を備える方法。
  12. 請求項11に記載のシステムに含まれる学習モジュールを学習させる方法であって、
    一又は複数の外部システムから取得された第1学習用データと、前記所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、前記学習モジュールを機械学習により学習させる方法。
  13. 機械学習により所定のタスクを実行させるための学習がなされた学習済みモデル又は前記学習済みモデルと入出力関係が同等のモデルからなる学習モジュールを含むコンピュータに、
    一又は複数の外部システムから取得された情報を受け付けて、前記学習モジュールに入力される情報の少なくとも一部を生成する第1ステップと、
    少なくとも前記第1ステップで生成された情報に基づいて、前記学習モジュールが所定の情報を出力する第2ステップと、
    少なくとも前記第2ステップで出力された情報を取得して、前記コンピュータから出力される情報を生成する第3ステップであって、当該コンピュータから出力される情報に基づいて所定のタスクが実行される、第3ステップと、
    前記第1のステップ、第2のステップ、又は、第3のステップの少なくともいずれかと略並行に行われ、ユーザからの入力を受け付ける第4ステップであって、前記ユーザからの入力に基づく情報を、前記第1ステップ、前記第2ステップ又は前記第3ステップのうち少なくともいずれかのステップにおいて入力させることにより、前記ユーザからの入力に基づいて前記所定のタスクを実行させる情報を変化させる、第4ステップと、
    を実行させるためのプログラム。
  14. 請求項13に記載のコンピュータに含まれる学習モジュールを学習させるプログラムであって、
    コンピュータに、
    一又は複数の外部システムから取得された第1学習用データと、前記所定のタスクを実行させるときにユーザが入力する条件と同形式のデータを含む第2学習用データと、を含む学習用データに基づいて、前記学習モジュールを機械学習により学習させる機能を実現させるためのプログラム。
JP2017093222A 2017-05-09 2017-05-09 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 Active JP6951659B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017093222A JP6951659B2 (ja) 2017-05-09 2017-05-09 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
CN201810332305.0A CN108873768B (zh) 2017-05-09 2018-04-13 任务执行系统及方法、学习装置及方法、以及记录介质
US15/956,803 US10706331B2 (en) 2017-05-09 2018-04-19 Task execution system, task execution method, training apparatus, and training method
EP18168442.4A EP3401847A1 (en) 2017-05-09 2018-04-20 Task execution system, task execution method, training apparatus, and training method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017093222A JP6951659B2 (ja) 2017-05-09 2017-05-09 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法

Publications (2)

Publication Number Publication Date
JP2018190241A true JP2018190241A (ja) 2018-11-29
JP6951659B2 JP6951659B2 (ja) 2021-10-20

Family

ID=62044544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017093222A Active JP6951659B2 (ja) 2017-05-09 2017-05-09 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法

Country Status (4)

Country Link
US (1) US10706331B2 (ja)
EP (1) EP3401847A1 (ja)
JP (1) JP6951659B2 (ja)
CN (1) CN108873768B (ja)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019153246A (ja) * 2018-03-06 2019-09-12 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6644191B1 (ja) * 2018-12-26 2020-02-12 三菱電機株式会社 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
WO2020148998A1 (ja) * 2019-01-18 2020-07-23 オムロン株式会社 モデル統合装置、方法及びプログラム並びに推論、検査及び制御システム
JP2020110894A (ja) * 2019-01-16 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム
WO2020158557A1 (ja) * 2019-01-29 2020-08-06 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ
WO2020157863A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 制御装置、制御方法および記録媒体
WO2020157862A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法および記録媒体
WO2020158201A1 (ja) * 2019-01-31 2020-08-06 三菱電機株式会社 加工条件解析装置、レーザ加工装置、レーザ加工システムおよび加工条件解析方法
JP2020149096A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
JP2020149097A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
JP2020149095A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
WO2020203596A1 (ja) * 2019-04-04 2020-10-08 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの姿勢推定モデルの製造方法、および学習用データ
CN111975763A (zh) * 2019-05-23 2020-11-24 丰田自动车株式会社 算术设备、控制程序、机器学习器、抓握装置和控制方法
WO2021033315A1 (ja) * 2019-08-22 2021-02-25 日本電気株式会社 ロボット制御システム、ロボット制御方法、及び、記録媒体
JP2021030433A (ja) * 2020-07-21 2021-03-01 株式会社DailyColor ロボット制御装置
JP2021030393A (ja) * 2019-08-28 2021-03-01 株式会社DailyColor ロボット制御装置
WO2021039995A1 (ja) * 2019-08-28 2021-03-04 株式会社DailyColor ロボット制御装置
JP2021045811A (ja) * 2019-09-18 2021-03-25 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム
WO2021171353A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 制御装置、制御方法及び記録媒体
WO2021181832A1 (ja) * 2020-03-09 2021-09-16 株式会社日立製作所 ロボット用モジュールシステム
KR20220039205A (ko) * 2020-09-22 2022-03-29 한국전기연구원 다자유도 로봇 제어방법 및 시스템
WO2022180785A1 (ja) * 2021-02-26 2022-09-01 日本電気株式会社 学習装置、学習方法及び記憶媒体
WO2022244418A1 (ja) * 2021-05-19 2022-11-24 株式会社日立製作所 移動機械、移動機械のハンドおよび移動機械の制御方法
WO2023037634A1 (ja) * 2021-09-07 2023-03-16 オムロン株式会社 指令値生成装置、方法、及びプログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
JP6476358B1 (ja) * 2017-05-17 2019-02-27 Telexistence株式会社 制御装置、ロボット制御方法及びロボット制御システム
JP6523498B1 (ja) * 2018-01-19 2019-06-05 ヤフー株式会社 学習装置、学習方法および学習プログラム
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
JP6849643B2 (ja) * 2018-11-09 2021-03-24 ファナック株式会社 出力装置、制御装置、及び評価関数と機械学習結果の出力方法
US20200160210A1 (en) * 2018-11-20 2020-05-21 Siemens Industry Software Ltd. Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations
JP6731603B1 (ja) * 2019-03-01 2020-07-29 株式会社安川電機 検査システム
CN112584986A (zh) * 2019-03-15 2021-03-30 欧姆龙株式会社 参数调整装置、参数调整方法以及程序
DE102019203634A1 (de) * 2019-03-18 2020-09-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ansteuern eines Roboters
JP7326926B2 (ja) * 2019-06-27 2023-08-16 トヨタ自動車株式会社 学習装置、リハビリ支援システム、方法、プログラム、及び学習済みモデル
JP7326927B2 (ja) * 2019-06-27 2023-08-16 トヨタ自動車株式会社 学習装置、リハビリ支援システム、方法、プログラム、及び学習済みモデル
JP7207207B2 (ja) * 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
JP7415693B2 (ja) * 2020-03-13 2024-01-17 オムロン株式会社 打ち方決定装置、打ち方決定方法、打ち方決定プログラム、及び返球ロボット
US20220288783A1 (en) * 2021-03-10 2022-09-15 Nvidia Corporation Machine learning of grasp poses in a cluttered environment
CN115204387B (zh) * 2022-07-21 2023-10-03 法奥意威(苏州)机器人系统有限公司 分层目标条件下的学习方法、装置和电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002239960A (ja) * 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP3978098B2 (ja) 2002-08-12 2007-09-19 株式会社日立製作所 欠陥分類方法及びその装置
CN102346489A (zh) * 2010-07-28 2012-02-08 中国科学院自动化研究所 基于脉冲神经网络的机器人跟踪目标的控制方法
US10191782B2 (en) * 2014-01-21 2019-01-29 Dell Products, Lp System to schedule and perform automated software tasks during unattended system time using predicted knowledge of individual user behavior
WO2016014137A2 (en) * 2014-05-06 2016-01-28 Neurala, Inc. Apparatuses, methods, and systems for defining hardware-agnostic brains for autonomous robots
JP6459530B2 (ja) * 2015-01-13 2019-01-30 オムロン株式会社 管理装置、検出装置、管理システム、管理装置の制御方法、制御プログラムおよび記録媒体
JP6612073B2 (ja) 2015-07-13 2019-11-27 オーミケンシ株式会社 抗菌レーヨン繊維及びこれを用いた繊維製品
US9989964B2 (en) * 2016-11-03 2018-06-05 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling vehicle using neural network

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762679B2 (en) 2018-03-06 2023-09-19 Omron Corporation Information processing device, information processing method, and non-transitory computer-readable storage medium
JP2019153246A (ja) * 2018-03-06 2019-09-12 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6644191B1 (ja) * 2018-12-26 2020-02-12 三菱電機株式会社 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
JP2020110894A (ja) * 2019-01-16 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム
WO2020148998A1 (ja) * 2019-01-18 2020-07-23 オムロン株式会社 モデル統合装置、方法及びプログラム並びに推論、検査及び制御システム
JP2020115311A (ja) * 2019-01-18 2020-07-30 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム
JP7036049B2 (ja) 2019-01-18 2022-03-15 オムロン株式会社 モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システム
WO2020158557A1 (ja) * 2019-01-29 2020-08-06 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ
KR20210075157A (ko) * 2019-01-29 2021-06-22 가부시키가이샤 고마쓰 세이사쿠쇼 작업 기계를 포함하는 시스템, 컴퓨터에 의해 실행되는 방법, 학습된 위치 추정 모델의 제조 방법, 및 학습용 데이터
JP2020122283A (ja) * 2019-01-29 2020-08-13 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの位置推定モデルの製造方法、および学習用データ
JP7316052B2 (ja) 2019-01-29 2023-07-27 株式会社小松製作所 作業機械を含むシステム、およびコンピュータによって実行される方法
KR102590855B1 (ko) 2019-01-29 2023-10-17 가부시키가이샤 고마쓰 세이사쿠쇼 작업 기계를 포함하는 시스템, 작업 기계를 포함하는 시스템이 컴퓨터에 의해 실행되는 방법, 작업 기계를 포함하는 시스템에 사용되는 학습된 위치 추정 모델의 생성 방법
JP7180696B2 (ja) 2019-01-30 2022-11-30 日本電気株式会社 制御装置、制御方法およびプログラム
WO2020157862A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法および記録媒体
JP7180695B2 (ja) 2019-01-30 2022-11-30 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法およびプログラム
WO2020157863A1 (ja) * 2019-01-30 2020-08-06 日本電気株式会社 制御装置、制御方法および記録媒体
JPWO2020157863A1 (ja) * 2019-01-30 2021-11-11 日本電気株式会社 制御装置、制御方法およびプログラム
JPWO2020157862A1 (ja) * 2019-01-30 2021-11-11 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法およびプログラム
JP2020121338A (ja) * 2019-01-31 2020-08-13 三菱電機株式会社 加工条件解析装置、レーザ加工装置、レーザ加工システムおよび加工条件解析方法
WO2020158201A1 (ja) * 2019-01-31 2020-08-06 三菱電機株式会社 加工条件解析装置、レーザ加工装置、レーザ加工システムおよび加工条件解析方法
JP7250573B2 (ja) 2019-03-11 2023-04-03 本田技研工業株式会社 倒立振子型ロボット
US11693416B2 (en) 2019-03-11 2023-07-04 Honda Motor Co., Ltd. Route determination method
JP2020149096A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
JP2020149097A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
JP7250571B2 (ja) 2019-03-11 2023-04-03 本田技研工業株式会社 倒立振子型ロボット
JP2020149095A (ja) * 2019-03-11 2020-09-17 本田技研工業株式会社 倒立振子型ロボット
JP7250572B2 (ja) 2019-03-11 2023-04-03 本田技研工業株式会社 倒立振子型ロボット
US11669096B2 (en) 2019-03-11 2023-06-06 Honda Motor Co., Ltd. Route determination method
JP7419348B2 (ja) 2019-04-04 2024-01-22 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、および学習済みの姿勢推定モデルの製造方法
WO2020203596A1 (ja) * 2019-04-04 2020-10-08 株式会社小松製作所 作業機械を含むシステム、コンピュータによって実行される方法、学習済みの姿勢推定モデルの製造方法、および学習用データ
JPWO2020203596A1 (ja) * 2019-04-04 2020-10-08
CN111975763B (zh) * 2019-05-23 2023-04-28 丰田自动车株式会社 算术设备、控制程序、机器学习器、抓握装置和控制方法
JP2020189389A (ja) * 2019-05-23 2020-11-26 トヨタ自動車株式会社 演算装置、制御プログラム、機械学習器及び把持装置
CN111975763A (zh) * 2019-05-23 2020-11-24 丰田自动车株式会社 算术设备、控制程序、机器学习器、抓握装置和控制方法
US11571810B2 (en) 2019-05-23 2023-02-07 Toyota Jidosha Kabushiki Kaisha Arithmetic device, control program, machine learner, grasping apparatus, and control method
JP7263920B2 (ja) 2019-05-23 2023-04-25 トヨタ自動車株式会社 演算装置、制御プログラム、機械学習器及び把持装置
WO2021033315A1 (ja) * 2019-08-22 2021-02-25 日本電気株式会社 ロボット制御システム、ロボット制御方法、及び、記録媒体
JP7334784B2 (ja) 2019-08-22 2023-08-29 日本電気株式会社 ロボット制御システム、ロボット制御方法、及び、プログラム
CN114269524A (zh) * 2019-08-28 2022-04-01 每日色彩株式会社 机器人控制装置
GB2600843A (en) * 2019-08-28 2022-05-11 Daily Color Inc Robot control device
GB2600843B (en) * 2019-08-28 2022-11-09 Daily Color Inc Robot control device
WO2021039995A1 (ja) * 2019-08-28 2021-03-04 株式会社DailyColor ロボット制御装置
US11511414B2 (en) 2019-08-28 2022-11-29 Daily Color Inc. Robot control device
JP2021030393A (ja) * 2019-08-28 2021-03-01 株式会社DailyColor ロボット制御装置
JP7021160B2 (ja) 2019-09-18 2022-02-16 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム
JP2021045811A (ja) * 2019-09-18 2021-03-25 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム
JPWO2021171353A1 (ja) * 2020-02-25 2021-09-02
WO2021171353A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 制御装置、制御方法及び記録媒体
JP7452619B2 (ja) 2020-02-25 2024-03-19 日本電気株式会社 制御装置、制御方法及びプログラム
WO2021181832A1 (ja) * 2020-03-09 2021-09-16 株式会社日立製作所 ロボット用モジュールシステム
JP2021030433A (ja) * 2020-07-21 2021-03-01 株式会社DailyColor ロボット制御装置
KR102522511B1 (ko) 2020-09-22 2023-04-17 한국전기연구원 다자유도 로봇 제어방법 및 시스템
KR20220039205A (ko) * 2020-09-22 2022-03-29 한국전기연구원 다자유도 로봇 제어방법 및 시스템
WO2022180785A1 (ja) * 2021-02-26 2022-09-01 日本電気株式会社 学習装置、学習方法及び記憶媒体
WO2022244418A1 (ja) * 2021-05-19 2022-11-24 株式会社日立製作所 移動機械、移動機械のハンドおよび移動機械の制御方法
WO2023037634A1 (ja) * 2021-09-07 2023-03-16 オムロン株式会社 指令値生成装置、方法、及びプログラム

Also Published As

Publication number Publication date
CN108873768A (zh) 2018-11-23
US10706331B2 (en) 2020-07-07
US20180330200A1 (en) 2018-11-15
EP3401847A1 (en) 2018-11-14
JP6951659B2 (ja) 2021-10-20
CN108873768B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
JP6951659B2 (ja) タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
Garcia et al. A human-in-the-loop cyber-physical system for collaborative assembly in smart manufacturing
Bagnell et al. An integrated system for autonomous robotics manipulation
Dean-Leon et al. Integration of robotic technologies for rapidly deployable robots
US20210252714A1 (en) Control device, control method, and non-transitory computer-readable storage medium
US20230045162A1 (en) Training data screening device, robot system, and training data screening method
CN111712356A (zh) 机器人系统和操作方法
JP6911798B2 (ja) ロボットの動作制御装置
JP7295421B2 (ja) 制御装置及び制御方法
Zhang et al. Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments
Kornuta et al. A universal architectural pattern and specification method for robot control system design
CN116460843A (zh) 一种基于元启发式算法的多机器人协作抓取方法及系统
US20230381970A1 (en) System(s) and method(s) of using imitation learning in training and refining robotic control policies
Flowers et al. A Spatio-Temporal Prediction and Planning Framework for Proactive Human–Robot Collaboration
Cuan et al. Gesture2path: Imitation learning for gesture-aware navigation
Paudel Learning for robot decision making under distribution shift: A survey
WO2020095805A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
Belousov et al. Architectural assembly with tactile skills: Simulation and optimization
Dean et al. Robot Skin: Fully-Compliant Control Framework Using Multi-modal Tactile Events
US20220371203A1 (en) Assistance for robot manipulation
JP7416199B2 (ja) 制御装置、制御方法及びプログラム
EP4335598A1 (en) Action abstraction controller for fully actuated robotic manipulators
Sajjadi Predictive visual servoing; uncertainty analysis and probabilistic robust frameworks
Stolcis Predictive algorithm and guidance for human motion in robotics teleoperation
Solberg et al. Utilizing Reinforcement Learning and Computer Vision in a Pick-And-Place Operation for Sorting Objects in Motion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210716

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: 20210826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210908

R150 Certificate of patent or registration of utility model

Ref document number: 6951659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150