Nothing Special   »   [go: up one dir, main page]

JP6640060B2 - ロボットシステム - Google Patents

ロボットシステム Download PDF

Info

Publication number
JP6640060B2
JP6640060B2 JP2016188102A JP2016188102A JP6640060B2 JP 6640060 B2 JP6640060 B2 JP 6640060B2 JP 2016188102 A JP2016188102 A JP 2016188102A JP 2016188102 A JP2016188102 A JP 2016188102A JP 6640060 B2 JP6640060 B2 JP 6640060B2
Authority
JP
Japan
Prior art keywords
scene
robot
derived
unit
information
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
JP2016188102A
Other languages
English (en)
Other versions
JP2018051652A (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 JP2016188102A priority Critical patent/JP6640060B2/ja
Publication of JP2018051652A publication Critical patent/JP2018051652A/ja
Application granted granted Critical
Publication of JP6640060B2 publication Critical patent/JP6640060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボットにオペレータのタスクを教示するためのシステム及び方法に関する。
ロボットによる自動化は製造・搬送など広い分野で行われている。ロボットで所定の作業を自動化する場合は、その動作の手順をロボットに教示する作業が必要であり、これは通常はオペレータによって事前に行われている。
ロボットに動作を教示する方法として、ティーチングプレイバックによる方法がある。ティーチングプレイバックとは、ロボットの各関節角度の動作手順を予めオペレータが教えておき、ロボットは自動動作時に、その手順を再現するものである。しかしながら、ティーチングプレイバックでの教示は、各関節の動作を一つ一つ入力する事となり、教示のコストが高い。
これに対し、特許文献1に、オペレータの動作と同様の動作をロボットに簡易に教示できる方法が開示されている。特許文献1に記載のロボット制御システムは、カメラ等の教示情報取得手段を用いてオペレータの動作を取得し、取得した手指の位置(座標)情報をロボットハンドの関節角度情報に変換することで、ロボットハンド教示データを作成する。そして作成されたロボットハンド教示データに基づいて、ロボットハンドを駆動する。
特開2011-110620号公報
特許文献1に開示されている方法によれば、ロボットとオペレータの機構が異なっていても、オペレータの動作を正しくロボットに伝えることができる。ただし、ロボットが取り扱う作業対象物の位置や大きさが変化した場合には、それに合わせてロボット動作を変更する必要がある。
そのため、対象物の位置や大きさが変わるたびに、変更された対象物に対するオペレータの動作をロボットに教示する必要があるので、非常に多くの種類のオペレータ動作を教示させる必要が出る。
本発明の目的は、教示時と異なる環境であっても、オペレータの意図する動作をロボットに実現させる方法を提供する事にある。
本発明の一実施形態に係るロボットシステムは、オペレータの教示動作を計測する動作計測部と、オペレータまたはロボットが操作する対象物の種類、位置、大きさを計測する対象物計測部と、ロボットの動作情報と対象物の情報の組であるシーンを複数種類記憶したシーン記憶部と、シーンから派生した複数の派生シーンを、シーンに対応付けて記憶した派生シーン記憶部と、シーン記憶部の中から1つのシーンを取得するシーン選択部と、派生シーン記憶部の中から1つの派生シーンを取得する派生シーン選択部と、派生シーンに含まれている動作情報に基づいて前記ロボットを動作させるロボット動作実行部とを有する。ここで、派生シーンに含まれる対象物の情報は、派生シーンの対応付けられているシーンに含まれる対象物の位置や大きさを変化させたもので、派生シーンに含まれるロボットの動作情報は、派生シーンに含まれる対象物を操作するための動作情報である。
オペレータの教示動作に従ってロボットを動作させる際、シーン選択部がシーン記憶部に記憶された複数のシーンの中から、オペレータの教示動作及び対象物の種類から成る教示情報との類似度が最も高いシーンを選択する。そして派生シーン選択部が、シーン選択部が選択したシーンから派生した派生シーンのうち、計測された前記対象物の位置・大きさと類似度が最も高い派生シーンを選択する。そして選択された派生シーンに含まれている動作情報に基づいて、ロボット動作実行部はロボットを動作させる。
本発明によれば、オペレータがロボットに作業の動作を見せることで、オペレータと異なる機構を持つロボットが、教示時と異なる環境であっても、オペレータの意図する動作を実現することが可能となる。
実施例1に係るロボットシステムの機能構成図である。 ロボットシステムの物理的な構成を示す図である。 ロボットを動作させる際の手順の概要を説明する図である。 計測部の説明図である。 シーン選択部の概要を説明する図である。 派生シーン作成部の概要を説明する図である。 派生シーン選択部の概要を説明する図である。 シーン追加部が提供するインタフェースの例である。 ロボット動作選択部の概要を説明する図である。 動作修正部の概要を説明する図である。 動作修正部によるロボット動作の修正方法の例である。 衝突回避部の概要を説明する図である。 動作更新部の概要を説明する図である。 実施例2に係るロボットシステムの機能構成図である。 実施例3に係るロボットシステムの機能構成図である。
以下、本発明の実施形態について説明するが、最初に本発明の概要を説明する。本発明の一実施形態に係るロボットシステムは、予めロボットの動作に関する情報をデータベースに登録しておき、オペレータの動作をロボットに教示する際に、データベースからオペレータの動作と最も近いロボット動作を選択する事で、一度の教示のみで、オペレータと同様の動作をロボットに実行させる。
ここで、教示したオペレータ動作に最も近いデータベース上のロボット動作の情報を選択する際には、オペレータ動作とロボット動作がどの程度似ているか、という類似性を求める必要がある。しかし、オペレータ動作とロボット動作は、形状や機構の違う異質のものであるため、直接両者の類似性を計算する事はできない。これに対し、従来の機械学習方法を用い、上記対応関係の事例のサンプルを事前に与える事により、類似度の計算方法を推定することができ、新たなオペレータ動作が教示情報として入力されたときにも、データベースから最も近いデータを選択することが可能となる。
ただし、機械学習で、上記対応関係を推定するためには十分な数のサンプルを収集する必要があるが、多種多様な動作を教示可能とするためには、ロボット動作の種類・対象物・大きさ・位置など様々な条件を全てデータベースに登録しておき、それらを網羅できる程の大量の対応関係の事例サンプルを作っておく必要がある。一般には、人動作サンプルを集めるのは大きなコストがかかり、また、あらゆる環境の状態を事前に用意しておくのは難しい。すなわち、オペレータ動作とロボット動作の対応関係を機械学習で推定し対象物の形状と操作方法を認識したうえで、対象物の操作方法が既知であれば多少の環境変化が起きても動作を修正する等の動作修正手法を用いるのみでは、あらゆる形状・位置・大きさの対象物に関するサンプルを収集する必要がありコストが大きいという課題がある。
本発明の一実施形態に係るロボットシステムは、オペレータ動作とロボット動作の対応付けは、ロボット動作・作業対象物に関する代表的な事例(本明細書においては、これを「シーン」と呼ぶ)についてのみ行うこととし、シーンに対して対象物の位置や大きさなどの詳しい情報を追加した、より具体的な事例(本明細書においてはこれを「派生シーン」と呼ぶ)はシミュレーションで作成しておき、環境の状態に応じて選択することとする。
例えば、把持を対象とした場合には、シーンに関するデータベースには、対象物の掴み方(上から掴む、横から掴む、両手で掴む等)、対象物の形状の種類(角柱、球体、円柱等)に関する情報のみがあらかじめ登録される。ただし、対象物の形状の種類が少ない場合など、学習コストが大きくならない場合は、位置や大きさの情報がシーンに追加されていても良い。シーンに位置・大きさの情報も追加すると、当該シーンと後に示す派生シーンとの差異が少なくなるため、派生シーンにおけるロボット動作の計算が容易になる。
派生シーンに関するデータベースには、上記シーンに対し対象物の位置や大きさも含んだ情報、それに応じたロボットの動作手順が登録される。このようにすることで、前述のオペレータ動作とロボット動作の対応関係を算出するために必要な事例のサンプルは、掴み方と形状の種類に関する2条件のみとなり、サンプル収集コストは少なくて済む。また、条件数が減ることにより類似度の算出精度も高くなる。さらに派生シーンは、環境の状態に応じ、対象物の位置・大きさの差異に基づき選択される。ここで、実際にロボットの動作する環境内における対象物の位置や大きさなどの情報と、派生シーンに記録されている情報との類似度は、ともに空間内における形状の一致度を求めればよく、容易に計算が可能である。
本発明の一実施形態に係るロボットシステムは、オペレータによる教示動作と類似したロボット動作を選択するために、ロボット動作・作業対象物の代表的な事例(シーン)と、その具体的な事例(派生シーン)を別々にデータベースに登録しておき、選択処理を、オペレータ動作と最も近いシーンの選択、実環境と最も近い派生シーンの選択に分けることとした。これにより、オペレータの動作とロボットの動作という質の異なる動作の類似度の計算処理と、計算の容易な対象物の位置・大きさの比較という形状に関する一致度の比較の処理を分けることができ、人動作とロボット動作の対応関係の算出のために必要となる事例サンプル数を抑えつつ、あらゆる状況下でのロボット動作が可能となる。
以下、図面を用いて本発明の一実施例について説明する。
図1は、実施例1に係るロボットシステムの機能構成図である。まず、動作計測部100はオペレータの動作を計測するためのもので、対象物計測部101は操作対象となる物品を計測するためのものである。そして環境計測部102はロボットの動作時に、周囲の状況を計測するためのものである。
シーン記憶部103には、予めロボット動作・作業対象物の代表的な事例(シーン)を記憶しておく。本実施例における一例においては、対象物をどのように把持するかなどの操作方法の情報と操作対象物の形状事例を記録しておく。形状の事例はロボットの操作方法に関わる形状の種類で分類すれば良い。例えば、形状の種類に応じて3種類の握り方がある場合は、3種類のシーンを用意しておけばよい。
シーン選択部104は、シーン記憶部103に格納されているシーンの中から、動作計測部100の計測したオペレータ動作と対象物計測部101の計測した対象物の種類との組み合わせ(これを「教示情報」と呼ぶ)と最も類似するシーンを選択する。シーンに記録されている情報はロボットの操作方法(ロボット動作)についての情報であるため、シーン選択部104は、オペレータ動作とロボット動作という、異なる種類の情報の類似性を求める必要がある。そのため本実施例に係るロボットシステムでは、オペレータ動作とロボット動作の対応関係を学習部115によってあらかじめ学習させておき、シーン選択部104はそれに基づいてシーンの選択を行う。詳細は後述する。
派生シーン作成部105は、シーン記憶部103に記憶されたシーンの派生シーンを作成するための機能ブロックである。通常、1つのシーンに対して複数の派生シーンが作成される。「派生シーン」とは、元のシーンに記録されている対象物の位置や大きさを変化させたものである。また派生シーンには、位置や大きさを変化させた対象物を適切に操作できるためのロボット動作方法が対応付けられている。作成された派生シーンは、派生シーン記憶部106に記憶される。
派生シーン選択部108は、対象物計測部101で計測した対象物の形状と、派生シーン記憶部106に記憶されている対象物の形状を比較することで、ロボットが実際に動作する環境(以下ではこれを「実環境」と呼ぶ)に最も近い派生シーンを選択する。
本実施例に係るロボットシステムは、派生シーン選択部108によって選択された派生シーンに基づいて、ロボット動作実行部112がロボットの手や指を駆動させることで、オペレータの教示した動作通りに、ロボットを動作させる。なお、オペレータが教示動作を行った環境と、ロボットの置かれている環境は必ずしも一致しないこともある。その場合派生シーンに記録されているロボット動作の修正を行う必要があるため、ロボットシステムは以下に説明するロボット動作選択部109、動作修正部110、衝突回避部111を有していてもよい。
ロボット動作選択部109は、派生シーン選択部108によって選択された派生シーンに2種類以上のロボット動作が対応付けられて記録されていた場合に、環境全体の状況からどちらの動作が適切かを選択する。選択基準として、より安定動作する関節角や、より短い軌跡を選択するなどが挙げられる。
動作修正部110は、実環境下の対象物の位置・大きさと、派生シーンに記憶されている対象物の位置が異なっていた場合に、実環境下の対象物の位置・大きさに合わせてロボット動作を修正する。修正方法としては、上述の線形補間などが用いられると良い。
衝突回避部111は、環境計測部102の計測した周囲の環境の状態から、ロボットが周囲の存在物に衝突しないように動作の軌跡を変更する。たとえば衝突回避部111はロボットの手を対象物に到達させるまでの経路および、手先以外の腕の形状を変更する。ロボット動作実行部112は、ロボット動作選択部109、動作修正部110、衝突回避部111によって修正されたロボット動作情報に基づいて、ロボットを制御する。たとえばロボット動作実行部112はロボットに対し、各関節の角度を変更する命令群を発行し、ロボットはこれを受けて動作する。
シーン追加部107・派生シーン追加部113は、シーン・派生シーンを作成し、作成されたシーン・派生シーンをシーン記憶部103・派生シーン記憶部106に追加するための機能ブロックである。たとえば、新たな種類の動作を記録したシーンを追加したい場合や、ロボット動作の結果として未学習の状況が発生した場合に用いられる。本実施例では、シーン(派生シーン)の作成(追加)は、ロボットシステムのユーザ(オペレータ)によって行われるため、シーン追加部107(派生シーン追加部113)は、オペレータがシーンを構成する情報を作成するために用いるユーザインタフェース(たとえばグラフィカルユーザインタフェース)をオペレータに提供する。
ロボットシステムのユーザはシーン追加部107を用いて、作成対象のロボット動作の情報及びその動作によって操作される対象物品の情報を作成し、シーン記憶部103に記憶する。対象の物品はCADツール等によって作成され、それに対するロボットの動作についての情報は、ロボットシミュレーターのツールを用いて設定される。また、ロボットの動作の設定後、ロボットシステムのユーザは作成したシーンに対し、このシーンに対応するオペレータ動作の情報(教示情報)を対応付け、対応付けたシーンと教示情報の組を対応記憶部114に記憶させ、対応記憶部114に記憶した全学習データについて、再度機械学習を行わせる。
派生シーン追加部113は、所定のシーンに対して、新たな対象物の位置・大きさとなる派生シーンを追加する。追加の際は、対象物の位置・大きさ情報を入力とし、派生シーン作成部105に渡すことで、派生シーン作成部105は、当該対象物に対するロボット動作を算出することで派生シーンを作成し、派生シーン記憶部106に追加する。
図2は本実施例のロボットシステムの物理的な構成を示す図である。本実施例のロボットシステムは、プロセッサ1400、メモリ1401、補助記憶装置1402、通信インタフェース1403、入力インタフェース1404、出力インタフェース1405を有する計算機1410と、センシングデバイス1406を有する。なお、図2では「インタフェース」を「I/F」と略記している。また本明細書においても、「インタフェース」を「I/F」と略記することがある。
プロセッサ1400は、メモリ1401に格納されたプログラムを実行する。メモリ1401は不揮発性の記憶装置であるROMおよび揮発性のRAMを含む。ROMは、不変のプログラム(例えばBIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような揮発性の記憶装置であり、プロセッサ1400が実行するプログラム及びプログラムの実行時に使用するデータを一時的に格納する。
補助記憶装置1402は、大容量かつ不揮発性の記憶装置であり、プロセッサ1400が実行するプログラム及びプログラムの実行時に使用されるデータ(例えば、シーンや派生シーンなど)を格納する。すなわち、プログラムは、補助記憶装置1402から読み出されて、メモリ1401にロードされて、プロセッサ1400によって実行される。補助記憶装置1402には例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、あるいはSolid State Drive(SSD)等の不揮発性半導体メモリを用いた記憶デバイスが用いられる。
本実施例に係るロボットシステムでは、メモリ1401にロードされたプログラムがプロセッサ1400に実行されることによって、計算機1410及びセンシングデバイス1406を、図1で説明した動作計測部100、対象物計測部101、環境計測部102、シーン記憶部103、シーン選択部104、派生シーン作成部105、派生シーン記憶部106、シーン追加部107、派生シーン選択部108、ロボット動作選択部109、動作修正部110、衝突回避部111、ロボット動作実行部112、派生シーン追加部113、対応記憶部114、学習部115として機能させる。また、シーン記憶部103、派生シーン記憶部106、対応記憶部114がシーン等の情報を記憶する記憶領域には、補助記憶装置1402の有する記憶領域が用いられる。
通信インタフェース1403は、所定のプロトコルに従って、他の装置との通信を行うインタフェース装置である。インタフェース装置はEthernet、USB、RS−232Cなどの通信が可能なポートであり、例えばEthernetであればTCP通信、UDP通信などを使い、装置間で通信を行う。またロボットシステムは、通信インタフェース1403を介してインターネット等の広域ネットワーク1420に接続可能に構成されていてもよい。その場合ロボットシステムは、データセンタ1100などの大容量記憶手段を有する拠点からデータをダウンロードしたり、逆に自身の有するデータをデータセンタ1100にアップロードしてもよい。
入力インタフェース1404は、ロボットシステムのユーザ(オペレータ)が使用するキーボード16やマウス17などの入力デバイスを接続するためのインタフェースデバイスである。出力インタフェース1405は、ディスプレイ19等の表示用デバイスを接続するためのインタフェースデバイスである。ロボットシステムは入力インタフェース1404を通してシーン作成や追加学習等のオペレータからの入力を受け付け、出力インタフェース1405を通して処理結果などをディスプレイ19に表示する。
センシングデバイス1406は、オペレータによる教示動作を計測するための、また対象物や周囲環境等の計測を行うためのデバイスで、図1を用いて説明した動作計測部100、対象物計測部101、環境計測部102を構成するデバイスである。センシングデバイス1406は例えばカメラ、モーションセンサ、レーザ距離センサ等のデバイスである。ただし、物品の位置や大きさ、或いは動作を計測できるデバイスであれば、任意のデバイスがセンシングデバイス1406に用いられて良い。
なおロボットシステムにはセンシングデバイス1406が複数含まれていてよい。あるいはロボットシステムには複数種類のセンシングデバイス1406が含まれていてよく、たとえばセンシングデバイス1406としてカメラとモーションセンサを有していてよい。ロボットシステムは通信インタフェース1403を介して、センシングデバイス1406の情報を取得しつつ、ロボット1407に対して制御命令を送信する。
ロボットシステムの物理構成は、必ずしも図2に示された構成に限定されない。たとえば図2では、計算機1410が1台だけ示されているが、複数の計算機からロボットシステムが構成されていてもよい。あるいは、計算機1410内の構成要素がロボット1407に組み込まれていて、ロボット1407が以下に説明するロボットシステムの各機能を実行するように構成されていてもよい。さらに、センシングデバイス1406もロボット内に組み込まれていてもよい。
次に、本実施例に係るロボットシステムが上で述べた各機能ブロックを用いてロボットを動作させる際の手順を、図3を用いて概説する。
本実施例に係るロボットシステムにおいて、ロボットを動作させるための工程には大きく分けて、教示工程1200と動作工程1201の2つがある。教示工程1200は、動作計測部100と対象物計測部101が、オペレータ1202が実施する教示動作(どのような操作対象物をどのように操作しているか)を計測し、計測結果をもとにロボットに実行させる動作(ロボット動作)を決定する。図3では一例として、対象物1203をオペレータ1202が片手で把持する動作が計測される例を示している。ただし動作の種類は、動作計測部100が計測できる動作であれば、把持に限定されない。
オペレータ1202の教示動作が計測されると、シーン選択部104はシーン記憶部103に記憶されているシーンの中から、計測されたオペレータ1202の動作と対象物1203の組み合わせに最も似たシーンを選択する。続いて派生シーン選択部108が、選択されたシーンに対応付けられた(複数の)派生シーンを、派生シーン記憶部106の中から抽出する。そして派生シーン選択部108は、抽出された各派生シーンに記録されている対象物の位置・大きさと、計測された対象物1203の位置・大きさとを比較し、計測された対象物1203との位置・大きさが最も類似する対象物が記録されている派生シーンを選択する。ここまでが教示工程1200で行われる処理である。
派生シーンが選択されると、ロボットシステムは次にロボットの動作工程1201を行う。動作工程1201では、選択された派生シーンを基に、ロボット1204が駆動される。たとえばロボット動作実行部112はロボットに対し、選択された派生シーンに記録されているロボット動作についての情報から、ロボットを実際に動かすための命令群(各関節の角度を変更する命令等)を作成してロボット1204に発行する。ロボット1204は受け取った命令群に基づいて動作する。このような工程が行われることで、本実施例に係るロボットシステムでは、オペレータの教示した動作通りに、リアルタイムにロボット1204が動作する。
なおロボット動作実行部112がロボット1204を動作させる際、対象物計測部101がロボットの操作対象である対象物1205の詳細な位置を認識し、動作修正部110はそれに基づいて、派生シーンに記録されているロボット動作の情報(把持時の軌道等)を修正してもよい。さらに衝突回避部111環境計測部102の計測結果を基にロボットの腕が環境内の存在物1206と衝突しないように、ロボット動作の変更を行わせてもよい。
続いて各機能ブロックの詳細を説明する。まず、主に教示工程で用いられる各機能ブロックの説明を行う。
図4に計測部(動作計測部100、対象物計測部101、環境計測部102)について示す。動作計測部100はオペレータ200の動作を計測し、シーン選択部104等にオペレータ200の動作情報を渡す。動作計測部100を構成するセンシングデバイスとしては、モーションセンサやカメラなど、オペレータ200の動作を計測できるデバイスが用いられるとよい。
対象物計測部101は、オペレータ200の操作対象となる対象物201、ロボットの操作対象となる対象物201をそれぞれ計測する。対象物計測部101により計測された情報は、シーン選択部104、派生シーン選択部108、動作修正部110等に渡される。対象物計測部101を構成するセンシングデバイスとしては、カメラやレーザ距離センサ等の対象物201の位置や姿勢、形状が計測できるものが用いられるとよい。なお、実環境において、対象物201のみでなくその周囲の形状も一緒に計測されてしまう場合は、ICPアルゴリズムやテンプレートマッチング等により、対象物201のみを抽出する事としてもよい。
環境計測部102は環境202の形状を計測し、環境202の形状情報を衝突回避部111等に渡す。環境計測部102を構成するセンシングデバイスとしては、カメラやレーザ距離センサ等の、周囲環境の形状が計測できるものが用いられるとよい。
動作計測部100、対象物計測部101、環境計測部102を構成するセンシングデバイスには、それぞれ異なるデバイスが用いられてもよい。その他の構成例として、動作計測部100のみモーションセンサ、対象物計測部101と環境計測部102が一つの形状計測センサとする場合や、全てを一つの形状計測センサとする場合などが挙げられる。1つのセンシングデバイスを2種類以上の計測部として機能させる場合は、センシングデバイスから得られたセンサ情報から、必要な情報(例えば対象物の情報や周囲環境の情報)を抽出または分離するための手段が設けられるとよい。
対象物計測部101と環境計測部102の機能を1つのセンシングデバイスにより実現する場合は、上記に述べたように環境202内から対象物201をテンプレートマッチングやICPアルゴリズム等で抽出すれば良い。さらに1つのセンシングデバイスを動作計測部100としても機能させる場合は、センサ情報から人物情報を抜き出し、オペレータ200の動作として抽出する手段が設けられると良い。抽出方法としては、既存の人物認識手法を利用すればよい。さらに、シーン選択部104において、オペレータ200の動作を陽に計測せずとも、環境202・対象物201・オペレータ200の外観画像のみで、シーンと対応付けられる場合は、オペレータ200の教示動作の計測において分類せずともよい。
またロボットシステムは2つの対象物計測部101を有していてもよい。その場合、一方の対象物計測部101は、オペレータが教示動作を実施する際にオペレータが操作(把持など)する対象物(本明細書ではこれを「教示対象物」と呼ぶ)を計測するために用いられ、もう一方の対象物計測部101は、ロボットが実行動作を行う時にロボットが操作すべき対象物(本明細書ではこれを「操作対象物」と呼ぶ)を観測するために用いられる。
図5にシーン選択部104の行う処理の概要を示す。シーン選択部104は、動作計測部100と対象物計測部101によって計測されたオペレータ300の動作および対象物301の形状に最も近いシーンをシーン記憶部103内から選択する。シーンは、対象物301の種類(形状)および対象物301に対するロボットの操作方法(ロボット動作)を対にして記録したもので、シーン記憶部103には複数のシーンが記録されているものとする。
シーン(または派生シーン)をシーン記憶部103等に記憶する際、対象物の形状やロボット動作を何らかの形式の情報に変換して記憶する必要があるが、この情報の形式には、任意の形式が採用されてよい。本実施例における一例では、対象物の形状はCADデータによって表現され、ロボットによる操作方法(ロボット動作)としては、対象物の表面上のどの位置にどの程度の力を加えるかの情報、およびアームを伸ばす際の関節角の設定値が記録されているものとする。なお、シーンに含まれる対象物の情報としては、対象物の種類(形状)を特定可能な情報が含まれているだけで良いが、対象物の位置や大きさが含まれていてもよい。本実施例では特に断りがない限り、シーンには対象物の位置や大きさが含まれている前提で説明する。
シーン選択部104が、計測されたオペレータ300の動作に最も近いロボット動作の情報を選択する際には、オペレータ300の動作とロボット動作がどの程度似ているか、という類似性を求める必要がある。しかし、オペレータ300の動作とロボット動作は、形状や機構の違い等、質が異なるため、直接両者の類似性を直接差分によって計算する事はできない。
そこで本実施例に係るロボットシステムでは、機械学習によって質の異なる両対象の対応関係を解決する。具体的にはロボットシステムでは、事前にオペレータ300の動作・対象物301の計測結果(教示情報)とシーンの対応事例を対応記憶部114に格納しておき、教示情報を入力データ、シーンを教師データとした分類問題として、学習部115に学習させておく。機械学習方法としてはSVM、Boosting、Neural Network等の手法を用いれば良い。また、質の異なる2種の対応関係を解決する手法であれば機械学習を用いずとも良い。
入力として与える計測結果の種類としては、オペレータ300の手指の関節角および対象物の形状、あるいは空間全体の画像データなどが挙げられる。前者の場合、モーションセンサや対象物のみの切り出しが必要となるが、入力データの次元が低いため、学習サンプル数を低減できる。後者のように画像のみから学習を行う場合は、計測部をカメラ一つにまとめ、分類をする必要がないが、学習に用いるサンプル数が大きくなる。
オペレータは学習指示部1000を用いて、教示情報とそれに対応するロボット動作の情報を対応付けて対応記憶部114に格納し、学習部115に学習の指示を出す。学習部115は、オペレータの動作と最も近いシーンを選択するための学習を行うことで、教示情報を、シーンを構成する情報(対象物の形状とロボット動作の情報で、シーンまたは派生シーンと同じ種類の情報が含まれるもの)に変換するためのルールを導出する。一例として学習部115は、教示情報を入力とし、シーンを構成する情報を出力とする関数を生成する。
そしてシーン選択部104がシーン記憶部103からシーンを選択する際、学習部115の生成した関数を用いて、動作計測部100と対象物計測部101から得られたオペレータの動作及び対象物の計測結果(教示情報)を、シーンを構成する情報に変換する。そしてシーン選択部104は、シーン記憶部103に記録された各シーンと、変換して得られた情報との類似度を求め、最も類似度の高いシーンを選択する。シーンを構成する情報は、シーンと同種の情報から構成されているため、公知の方法等を用いて容易に類似度を求めることができる。
また、オペレータが教示をロボットに与えた際に、ロボットが誤ったシーンを選択した場合には、オペレータは学習指示部1000を通し、オペレータの教示に対応する正しいシーンを設定させてもよい。学習部115は、この際の動作計測部100および対象物計測部101の計測結果(つまり教示情報)と、学習指示部1000によって設定された正しいシーンの対応関係を新たな学習用の事例サンプルとして対応記憶部114に追加し、学習部115では機械学習によって学習を行う。学習結果を基に、シーン選択部104は当該計測結果を用いて再度シーンを選択する。
図5においては、シーン記憶部103に記録されている対象物の形状としては丸・四角・三角の3種類が、一方持ち方としては片手・両手の2種類が記憶されている例を示している。この場合シーン記憶部103には、対象物と持ち方の組み合わせとして6種類のシーンが記憶される。これに対し、計測部(動作計測部100、対象物計測部101)によりオペレータ300が片手で丸い対象物301を把持する動作が計測された場合、シーン選択部104は、ロボット304が片手で丸い対象物303を把持するシーン302をシーン記憶部103から選択する。シーン選択部104は原則として、オペレータ300の動作(持ち方)、対象物301の種類(形状等)に基づいてシーンを選択する。この時点では、計測した対象物301とシーンに記録されている対象物303の位置や大きさは一致していなくてもよい。
図6に、派生シーン作成部105の動作概要を示す。シーン302は対象物303の種類(形状等)およびロボット304の操作方法が記録されていたのに対し、派生シーンはシーンに記録された対象物の位置や大きさを変更したものであり、これを派生シーン作成部105が作成する。
派生シーン作成部105はシーン毎に、それぞれ多数の派生シーンをシーンに対応付けて派生シーン記憶部106に記憶する。本実施例では、シーンに記録された対象物はCADデータであるため、派生シーンにおいてはCADデータの位置・大きさを変更し、派生シーンの形状データとする。位置と大きさの変更は、ランダムに多数作成するか、所定のステップサイズで位置と大きさを変化させることで作成すればよい。
派生シーン記憶部106に位置・大きさを変化させた対象物が記憶される際、派生シーン作成部105は更に当該対象物を操作できるロボット動作の情報を生成し、位置・大きさを変化させた対象物に、生成されたロボット動作の情報を対応付けて記録する。派生シーン作成部105が、位置・大きさを変化させた対象物の操作方法(ロボット動作)を生成する際には、シーン記憶部103に記憶された対象物の操作方法を、位置・大きさの変化後の対象物の形状に合わせて修正することで、操作方法を生成するとよい。
たとえば対象物を握る動作を記録する場合、派生シーン作成部105は、シーンに記録された握り方を、位置・大きさ変化後の対象物上に線形補間することで、派生シーンとして記憶すべき握り方の動作を求める。もしくは物理シミュレーション等を使い、対象物を安定して把持できる持ち方を探索してもよい。ロボットアームの軌道は、前記持ち方に至るまでの腕の軌跡を、経路探索法によって算出する。探索法としては、Probablistic Roadmap、Rapidly−exploring Random Treesなどを用いれば良い。線形補間で計算できないほどの形状の差異がある場合は、オペレータがその対象物の形状と操作方法を(人手で)求め、シーン追加部107を用いて、シーン記憶部103に新たにシーンを追加する。また、各派生シーンに含まれる対象物にロボット動作が対応付けられる際、前から掴む・横から掴む等、複数種類の動作が対応付けられてもよい。
派生シーンにおけるロボットの動作を生成した後、派生シーン作成部105は、作成した派生シーンを派生シーン記憶部106に記憶させる。さらに、2通り以上のロボットの動作方法がある場合は、派生シーン作成部105は派生シーンに2つ以上のロボット動作の情報を記録してもよい。図6の例で挙げられているシーン302にはロボットが片手で丸い対象物を把持する動作が記録されており、これに対応付けられる派生シーンとして、対象物の大きさとして3種類、位置として3種類、組み合わせることで9種類の派生シーンが記録されていることとする。なお、図6には、片手で丸い対象物を扱う場合の派生シーンのみ記載したが、図5の例に挙げられているその他の5種類のシーンについても、それぞれ派生シーンが作成される。
図7に派生シーン選択部108の動作概要を示す。派生シーン選択部108では、シーン選択部104で選択したシーン302に対応付けられた複数の派生シーンのうち、実環境と最も近い派生シーン501を選択する。派生シーンには、シーンが有する情報に加えて、対象物の形・位置・大きさがCADデータとして記憶されている。対象物計測部101により実環境内の対象物301の形・位置・大きさが計測されているので、派生シーン選択部108は、計測した対象物と、派生シーンに記録された対象物が最も一致するような派生シーン501を選択する。ここで、一致方法の算出は、空間を細かなグリッドに分割し、物体が存在する領域をON、存在しない領域をOFFとして、両者の論理積や相互情報量を取ることで、どの程度マッチしているかを算出できる。
図7の例においては、まず、計測したオペレータ300の動作と対象物301の種類に基づいて、シーン302が選択される。ここまではシーン選択部104によって行われる処理で、図5に示した処理と同じである。続いて派生シーン選択部108は、シーン302に対応付けられた派生シーン群に記録された対象物の位置・大きさと、計測した対象物301の位置・大きさを比較する事で、派生シーン501を選択する。図7では、机の奥側に小さな丸い対象物500が配置されている派生シーンが最も近く、結果としてオペレータ300の動作・対象物301の位置・大きさに合致した派生シーン501が選ばれていることとなる。
人の動作・対象物に関する計測結果と、大量に存在する派生シーンを機械学習によって直接対応付けようとした場合、大量の対応付け候補があることから、学習データを大量に用意する必要がある。これに対して、本実施例に係るロボットシステムでは、オペレータの動作・対象物に関する計測結果を、代表事例となる少数のシーンに対応付け、その上でシーンに派生シーンを対応付けるように構成されている。これにより本実施例に係るロボットシステムでは、人の動作・対象物に関する計測結果とシーンの対応付けの候補数を減らすことができ、機械学習実行時に用いる学習データが少なくて済む。派生シーンは、シミュレーションで作成できるため、物品の様々な配置状況に対応する事ができる。
図8に、オペレータが新たなシーンを作成・追加する際の、シーン追加部107が提供するユーザインタフェースの例を示す。シーン追加部107は、画面1300内に編集中の対象物1301および対象物を配置する基準面1302を表示する。基準面1302は、対象物の配置先となる面で、実環境ではたとえば机上などに相当する面である。
オペレータが新たなシーンを作成する際には、まずプリミティブ形状群1303から対象物の形状を選択し、画面に選択した形状を表示させる。例えば円筒形状の物体の把持動作のシーンを作成する場合、プリミティブ形状群1303から円筒が選択されるとよい。続いてオペレータは、編集ツール群1304を用いて、選択した対象物のサイズや位置・向きを設定する。さらにオペレータは、ロボットの操作位置を編集する操作ツール群1305を用いて、ロボットが対象物1301をどのように操作するかを設定する。例えば、本実施例における把持操作の場合は、把持する位置1306と、力を加える方向を画面に表示した1307を書き込む。シーン追加部107は、オペレータによって入力されたこれらの情報をもとに、シーンを構成する情報を生成し、生成された情報をシーン記憶部103に記憶する。なお、派生シーン追加部113もシーン追加部107と同様の機能を提供するものであるので、派生シーン追加部113についての説明は略す。
続いて、動作工程で用いられる各機能ブロックの説明を行う。
図9にロボット動作選択部109の動作事例を示す。ロボット動作選択部109は、ロボット動作実行部112がロボットを動作させる時に実行される。もし派生シーンに2種類以上のロボット動作が紐づいていた場合に、ロボット動作選択部109は環境全体の状況からどちらのロボット動作が適切かを選択する。逆に派生シーンに1種類のロボット動作しか対応付けられていない場合、ロボット動作選択部109は実行されなくてよい。
ロボット動作の選択基準として、より安定動作する関節角や、より短い軌跡を選択するなどが挙げられる。例えば、安定動作を基準とする場合であれば、ロボット動作選択部109はロボットの各関節の安定性を評価する関数を予め有しており、複数のロボット動作について、いずれのロボット動作が安定であるかを評価する。評価関数としては、各関節を微小に動かした際に手先の位置がどのくらい変化するかを算出し、変化量が小さいほど安定とすればよい。選択基準として、軌跡の長さを選択する場合は、手先の移動距離を比較すればよい。図9においては、動作候補A600と動作候補B601を比較し、軌跡長が短い動作候補B601が選択されることになる。
図10に動作修正部110について示す。動作修正部110は、実環境下の対象物の位置・大きさと、予め記憶しておいた派生シーン内の対象物の位置が異なっていた場合に、実環境下の対象物の位置・大きさに合わせてロボット動作を修正する。まず、派生シーン内の対象物700のCADデータの位置・大きさと、実環境の対象物701の位置・大きさとの差異を算出する。算出方法としては、ICPアルゴリズムやテンプレートマッチング等の手法を用いる。実環境の対象物701の位置に対して、どのようにロボット動作を行えば所望する操作703を実施できるかを、派生シーンに記録した動作704を線形補間することによって算出する。もしくは、実環境の形状とロボットが衝突しないように、環境計測部102を用いてロボット自身の手先を計測し、ビジュアルフィードバックを用いて制御してもよい。
図11に、動作修正部110において動作を線形補間し、本実施例において指先の位置を変更し、事前計算して求めてあった環境と、実際の環境が異なる場合においても把持できる動作方法を作成する処理の例を示す。本実施例ではグリッパ1500の各指機構の動作1501、1502、1503を、それぞれ対象物1504上の把持位置1505に応じて線形補間することで、把持動作を可能とする。派生シーン等において事前計算して求めておいた動作1501を変形することで、動作1506に変形する。この際の変形量としては、元の動作1501において定義された指機構の軌道上と、実際の対象物1504の把持位置1505が最も近くなるような曲げ具合を計算することで求まる。同様に基本動作1503は、動作1207に変形される。本処理は指先の位置の変化を線形に変換する事で求めたが、ターゲットとなる指先の位置が求まれば、腕の動作としては、指先が求めた位置を満たすような姿勢を算出すればよい。冗長自由度の腕の場合は、当該姿勢は一意に求まらないが、関節角度が一定範囲内になるようにするなどの制約を設けることで、全関節の目標姿勢を一意に決めることは可能である。なお、この処理は派生シーン作成部105で用いられてもよい。
図12に衝突回避部111について示す。衝突回避部111では環境計測部102の計測した周囲の環境の状態から、派生シーンに記録したロボットの軌跡を、周囲の存在物に衝突しないような動作の軌跡に変更する。例えば、把持動作の場合であれば、動作目標となる手先位置は不変であり、そこに到達するまでの経路および、手先以外の腕の形状を変更する。変更方法としては、既存の経路探索手段(Probablistic Roadmap、Rapidly−exploring Random Trees)などを用いれば良い。図12においては、予め決めていた軌道800上に、障害物801が計測され、障害物801と衝突しない軌道802に変化させている。この際、手先の状態803は変化させず、腕のみの軌跡・姿勢の変化で目的を達成できる。動作目標となる手先位置の変更が必要な場合であれば、どのように動作すれば目標を達成できるかを物理シミュレーションで算出し、それに従い動作を実行してもよい。ここでの目標は、シーンに依存し、把持動作であれば対象物を落とさないことを条件として、それを満たす状態を算出する。
以上が動作工程で用いられる各機能ブロックの説明である。なお、上ではロボット動作時に、派生シーンに記録された対象物の操作方法を実環境における対象物に合うように線形補間することでロボット動作を修正する例を説明した。しかしながらこのような方法では、実環境において存在する外的要因(重力や摩擦の影響)のために、実環境では十分な精度が出ない場合がある。そこで別の実施形態として、動作修正部110は実環境に合わせたロボット動作の修正を行ってもよい。
具体的な方法としては、動作修正部110は対象物計測部101によって実環境における対象物の形状を把握し、元の派生シーン情報901を初期状態として、その形状に応じて動作を修正する。修正方法として、動作をしつつ、どの関節を動かせば目標姿勢に近づくかのシミュレーションを行い、動作結果のフィードバックを受け、再度シミュレーションを行う処理を繰り返すことで、対象物を安定して把持できる持ち方を探索しながら動作を実施する。
また、動作修正部110によって派生シーンに記録されたロボット動作情報を修正した結果情報を、派生シーン記憶部106に反映するようにしてもよい。その場合の例を図13に示す。先に述べたとおり、動作工程では、派生シーン選択部108によって選択された派生シーンの情報(図13ではこれを「派生シーン情報901」と表記する)を、動作修正部110が実環境にあわせて修正する。なお、派生シーンに複数のロボット動作が対応付けられている場合には、ロボット動作選択部109によって1つのロボット動作が選択されるが、図13ではロボット動作選択部109についての記述は略している。
動作更新部902は、動作修正部110によって修正された派生シーン情報901を用いて、派生シーン記憶部106に記録されているロボット動作の情報を上書きする。これにより、派生シーン記憶部106に記憶されているロボット動作の情報が、実環境を考慮したロボット動作の情報に書き換えられ、今後同様の動作をロボットが行う際に、実環境の状態により適合したロボット動作が可能になる。
派生シーンを作成した際のシミュレーションとの違いは、派生シーン作成では関節角の制御命令に対して、ロボットがどのように動くかはシミュレーションで事前計算するため、命令数分の誤差が蓄積するのに対し、動作修正部110においては動作時に制御命令による動作の結果を常にフィードバックすることで、制御命令の誤差を把握し、誤差を減らす制御命令を更に送ることができるので、精度良い制御命令を与えられる。
続いて実施例2の説明を行う。実施例2に係るロボットシステムは、実施例1で説明したロボットシステムと同じ機能ブロックを有し、またハードウェア構成も実施例1で説明したものと同じである。
ただし実施例2に係るロボットシステムには、上の実施例1に係るロボットシステムに対して、データの共有機能が付加されている。データの共有機能とは具体的には、ロボットシステムにおいて用いられるシーン(または派生シーン)等のデータを、複数のロボットシステムが使用できるようにする機能である。
図14を用いて実施例2におけるロボットシステムについて説明する。実施例2におけるロボットシステム1410−1及び1410−2はそれぞれ、実施例1で説明した各機能ブロックを有し、それに加えてダウンロード部1101とアップロード部1102を有する。ロボットシステム(1410−1、1410−2)は、広域ネットワーク1420等を介して、データセンタ(中央記憶部)1100に接続される。データセンタ1100は、複数のロボットシステム(1410−1、1410−2)からデータを収集して、記憶しておく機能を有する。たとえばデータセンタ1100は、ファイルサーバ等の大規模な記憶装置により構成される。なお、図14では2台のロボットシステムのみが示されているが、3台以上のロボットシステムがデータセンタ1100に接続されていてよい。
ダウンロード部1101は、データセンタ1100に記憶されているデータを取得する。一方アップロード部1102は、ロボットシステム(1410−1,1410−2)に記憶されているデータをデータセンタ1100に送信し、データセンタ1100に記憶させる。データセンタ1100に記憶されるデータの例は、各ロボットシステム(1410−1,1410−2)において作成されたシーン、または派生シーンである。
実施例2に係る各ロボットシステム(1410−1,1410−2)は、実施例1に係るロボットシステムと同様に、作成(または修正)されたシーンや派生シーンをそれぞれシーン記憶部103、派生シーン記憶部106に記憶する。実施例2におけるロボットシステムは、それと共にアップロード部1102を用いて、作成されたシーンや派生シーンをデータセンタ1100に送信し、データセンタ1100に記憶させる。複数のロボットシステムが作成されたシーンや派生シーンをデータセンタ1100に記憶することで、データセンタ1100には大量のシーン・派生シーンが集約記憶される。
さらに実施例2におけるロボットシステム(たとえばロボットシステム1410−1)はダウンロード部1101により、他のロボットシステム(1410−2)が作成したシーン(または派生シーン)をデータセンタ1100から取得し、自身の有するシーン記憶部103、派生シーン記憶部106に格納し、それをロボット動作時(特に教示工程)において利用することができる。このようにすることで、実施例2におけるロボットシステムは、他のロボットシステムにおいて作成(更新)されたデータを共有使用することができる。
また、シーン(または派生シーン)以外のデータが共有されてもよい。たとえば対応記憶部114に記憶された情報(教示情報とシーンとの対応関係の情報)もデータセンタ1100を介して複数のロボットシステムで共有されてもよい。
続いて実施例3の説明を行う。図15は、実施例3に係るロボットシステムの機能構成図である。実施例3に係るロボットシステムは、動作手順記憶部120と動作指示部130を有する点が、実施例1に係るロボットシステムと主に異なる点である。動作手順記憶部120は、派生シーン選択部108によって選択された派生シーンを記憶するための記憶領域である。なお以下の説明において、教示工程において用いられる機能ブロック(図中の点線枠11内に含まれる機能ブロック群)の集合を「教示部11」と呼び、またロボットの動作工程で用いられる機能ブロック(図中の点線枠12内に含まれる機能ブロック群)の集合を「動作部12」と呼ぶ。
教示工程においてオペレータが何らかの動作を行うと、実施例1で説明したとおり、教示部11に含まれる派生シーン選択部108がオペレータの教示動作に類似した派生シーンを選択する。実施例3に係るロボットシステムでは、派生シーン選択部108は、選択した派生シーンを動作手順記憶部120に記憶し、教示工程は終了する。
ロボットの動作工程が開始される契機は、ロボットシステムのユーザ(オペレータ)の指示により定まる。動作指示部130は、オペレータが動作工程を開始することをロボットシステムに通知するためのユーザインタフェースである。オペレータが動作指示部130を用いて、動作工程の開始を指示すると、ロボット動作選択部109は動作手順記憶部120に記録された派生シーンを選択する。
その後の動作は、実施例1で説明したものと同様で、ロボット動作実行部112が派生シーンに記録されたロボット動作の情報に基づいて、ロボットを駆動させる。またその際に、動作修正部110や衝突回避部111によって、派生シーンに記録されたロボット動作情報が修正される点も、実施例1で説明したものと同じである。
実施例3に係るロボットシステムでは、動作手順記憶部120にロボット動作(派生シーン)を記録しておき、後からこの記録されたロボット動作に基づいてロボットを動作させることができる。つまりロボットは、必ずしもオペレータ動作と同期して動作する必要はなく、実施例3に係るロボットシステムではオペレータが教示した動作を、オペレータが希望するタイミングでロボットに再生実行させることができる。
100・・・動作計測部、101・・・対象物計測部、102・・・環境計測部、103・・・シーン記憶部、104・・・シーン選択部、105・・・派生シーン作成部、106・・・派生シーン記憶部、107・・・シーン追加部、108・・・派生シーン選択部、109・・・ロボット動作選択部、110・・・動作修正部、111・・・衝突回避部、112・・・ロボット動作実行部、113・・・派生シーン追加部

Claims (14)

  1. オペレータの教示動作に従ってロボットを動作させるロボットシステムであって、
    前記ロボットシステムは、
    前記オペレータの教示動作を計測する動作計測部と、
    前記オペレータまたは前記ロボットが操作する対象物の種類、位置、大きさを計測する対象物計測部と、
    前記ロボットの動作情報と前記対象物の情報の組であるシーンを複数種類記憶したシーン記憶部と、
    前記シーンから派生した複数の派生シーンを、前記シーンに対応付けて記憶した派生シーン記憶部と、
    前記シーン記憶部の中から1つの前記シーンを取得するシーン選択部と、
    前記派生シーン記憶部の中から1つの前記派生シーンを取得する派生シーン選択部と、
    前記派生シーンに含まれている前記動作情報に基づいて前記ロボットを動作させるロボット動作実行部と、
    を有し、
    前記派生シーンに含まれる前記対象物の情報は、前記派生シーンの対応付けられている前記シーンに含まれる前記対象物の位置や大きさを変化させたもので、前記派生シーンに含まれるロボットの動作情報は、前記派生シーンに含まれる前記対象物を操作するための動作情報であって、
    前記シーン選択部は、前記シーン記憶部に記憶された複数の前記シーンの中から、前記動作計測部によって計測された前記オペレータの教示動作及び前記対象物計測部によって計測された前記対象物の種類から成る教示情報との類似度が最も高いシーンを選択し、
    前記派生シーン選択部は、前記シーン選択部が選択したシーンから派生した前記派生シーンのうち、計測された前記対象物の位置・大きさと類似度が最も高い派生シーンを選択し、
    前記ロボット動作実行部は、前記派生シーン選択部が選択した前記派生シーンに含まれている前記動作情報に基づいて、前記ロボットを動作させる、
    ことを特徴とするロボットシステム。
  2. 前記ロボットシステムはさらに、
    前記オペレータの教示動作と前記対象物の情報を、前記シーンに含まれる情報に変換する学習部を有し、
    前記シーン選択部は前記学習部を用いて、前記教示情報を前記シーンに含まれる情報に変換することで、前記教示情報と前記シーン記憶部に記憶された複数の前記シーンとの類似度を求める、
    請求項1に記載のロボットシステム。
  3. 前記ロボットシステムはさらに、
    前記ロボットの周囲の存在物を計測する環境計測部を有し、
    前記ロボットを動作させる際、前記環境計測部で計測された前記存在物に衝突しないように、前記ロボットの動作を修正する、
    ことを特徴とする、請求項1に記載のロボットシステム。
  4. 前記派生シーンには、複数種類の前記動作情報が含まれており、
    前記ロボットを動作させる際、選択された前記派生シーンの中から、所定の基準に応じて前記動作情報を1つ選択し、選択された前記動作情報に基づいて、前記ロボットを動作させる、
    ことを特徴とする、請求項1に記載のロボットシステム。
  5. 前記ロボットシステムは、
    計測された前記対象物の位置・大きさと、派生シーンに記憶された対象物の位置・大きさに差異がある場合、前記派生シーンに含まれる前記動作情報を修正する動作修正部を備える、
    ことを特徴とする、請求項1に記載のロボットシステム。
  6. 前記動作修正部によって修正された前記ロボットの動作情報を用いて、前記派生シーン記憶部に記憶されている前記派生シーンを更新する動作更新部を備える、
    ことを特徴とする、請求項5に記載のロボットシステム。
  7. 前記ロボットシステムは、前記オペレータが、
    前記シーン記憶部に前記シーンを、前記派生シーン記憶部に前記派生シーンを、
    追加可能に構成されている、
    ことを特徴とする、請求項1に記載のロボットシステム。
  8. 前記学習部は、前記教示情報と前記教示情報に対応するシーンとからなる学習情報を複数用いて学習を行うことで、前記教示情報を前記シーンに含まれる情報に変換するルールを決定するよう構成されている、
    ことを特徴とする、請求項2に記載のロボットシステム。
  9. 前記ロボットシステムは、ネットワークに接続するための通信インタフェースを有し、
    前記ロボットシステムはさらに、
    前記通信インタフェースを介して、前記シーンと前記派生シーンを前記ネットワーク上の記憶手段に格納するアップロード部と、
    前記通信インタフェースを介して、他のロボットシステムによって前記ネットワーク上の記憶手段に格納された前記シーンと前記派生シーンを取得するダウンロード部と、
    を有することを特徴とする、請求項1に記載のロボットシステム。
  10. オペレータの教示動作を計測する動作計測部と、
    前記オペレータまたはロボットが操作する対象物の種類と位置と大きさを計測する対象物計測部と、
    ロボットの動作情報と前記対象物の情報の組であるシーンを複数種類記憶したシーン記憶部と、
    前記シーンから派生した複数の派生シーンを、前記シーンに対応付けて記憶した派生シーン記憶部と、
    前記シーン記憶部の中から1つの前記シーンを取得するシーン選択部と、
    前記派生シーン記憶部の中から1つの前記派生シーンを取得する派生シーン選択部と、
    前記派生シーンに含まれている前記動作情報に基づいて前記ロボットを動作させるロボット動作実行部と、
    を有するロボットシステムによる、ロボット制御方法であって、
    前記派生シーンに含まれる前記対象物の情報は、前記派生シーンの対応付けられている前記シーンに含まれる前記対象物の位置や大きさを変化させたもので、前記派生シーンに含まれるロボットの動作情報は、前記派生シーンに含まれる前記対象物を操作するための動作情報であって、
    前記動作計測部によって前記オペレータの教示動作を計測し、前記対象物計測部によって前記対象物の情報を計測する、第1の工程と、
    前記シーン選択部によって、前記シーン記憶部に記憶された複数の前記シーンのうち、前記第1の工程で得られた、前記オペレータの教示動作及び前記対象物の種類から成る教示情報との類似度が最も高いシーンを選択する、第2の工程と、
    前記派生シーン選択部によって、前記第2の工程で選択されたたシーンから派生した前記派生シーンのうち、前記第1の工程で計測された前記対象物の位置・大きさと類似度が最も高い派生シーンを選択する、第3の工程と、
    前記ロボット動作実行部によって、前記第3の工程で選択された前記派生シーンに含まれている前記動作情報に基づいて、前記ロボットを動作させる、第4の工程と、
    を実行することを特徴とする、ロボット制御方法。
  11. 前記ロボットシステムはさらに、
    前記オペレータの教示動作と前記対象物の情報を、前記シーンに含まれる情報に変換する学習部を有し、
    前記第2の工程では、前記教示情報を前記学習部によって、前記シーンに含まれる情報に変換することで、前記教示情報と前記シーン記憶部に記憶された複数の前記シーンとの類似度を求める、
    ことを特徴とする、請求項10に記載のロボット制御方法。
  12. 前記学習部は、前記教示情報と前記教示情報に対応するシーンとからなる学習情報を複数用いて学習を行うことで、前記教示情報を前記シーンに含まれる情報に変換するルールを決定するよう構成されている、
    ことを特徴とする、請求項11に記載のロボット制御方法。
  13. 前記第4の工程は、計測された前記対象物の位置・大きさと、派生シーンに記憶された対象物の位置・大きさに差異がある場合、前記派生シーンに含まれる前記動作情報を修正する動作修正工程を含む、
    ことを特徴とする、請求項11に記載のロボット制御方法。
  14. 前記第4の工程は、前記第3の工程が実行された後、前記オペレータからの指示があった時点で実行される、
    ことを特徴とする、請求項11に記載のロボット制御方法。
JP2016188102A 2016-09-27 2016-09-27 ロボットシステム Active JP6640060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016188102A JP6640060B2 (ja) 2016-09-27 2016-09-27 ロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016188102A JP6640060B2 (ja) 2016-09-27 2016-09-27 ロボットシステム

Publications (2)

Publication Number Publication Date
JP2018051652A JP2018051652A (ja) 2018-04-05
JP6640060B2 true JP6640060B2 (ja) 2020-02-05

Family

ID=61833271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016188102A Active JP6640060B2 (ja) 2016-09-27 2016-09-27 ロボットシステム

Country Status (1)

Country Link
JP (1) JP6640060B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7079435B2 (ja) * 2018-05-21 2022-06-02 Telexistence株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP7333204B2 (ja) * 2018-08-10 2023-08-24 川崎重工業株式会社 情報処理装置、ロボット操作システム、及びロボット操作方法
US11769422B2 (en) 2018-08-10 2023-09-26 Kawasaki Jukogyo Kabushiki Kaisha Information processing device, robot manipulating system and robot manipulating method
JP7205752B2 (ja) * 2018-11-09 2023-01-17 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
GB2600843B (en) 2019-08-28 2022-11-09 Daily Color Inc Robot control device
JP6742040B1 (ja) * 2019-08-28 2020-08-19 株式会社DailyColor ロボット制御装置
JP7260001B2 (ja) * 2020-01-16 2023-04-18 オムロン株式会社 プログラム生成装置、プログラム生成方法、及び生成プログラム
IT202100003821A1 (it) * 2021-02-19 2022-08-19 Univ Pisa Procedimento di interazione con oggetti
WO2023047574A1 (ja) * 2021-09-27 2023-03-30 株式会社日立ハイテク 作業教示方法、作業教示装置及びロボット
WO2023054535A1 (ja) * 2021-09-28 2023-04-06 京セラ株式会社 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法
WO2023054539A1 (ja) * 2021-09-28 2023-04-06 京セラ株式会社 情報処理装置、ロボットコントローラ、情報処理システム、及び情報処理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
JP3426002B2 (ja) * 1993-09-20 2003-07-14 三菱電機株式会社 物体認識装置
JP4001105B2 (ja) * 2003-12-11 2007-10-31 トヨタ自動車株式会社 ロボットによる任意形状物体の把持方法
JP4646943B2 (ja) * 2004-07-13 2011-03-09 パナソニック株式会社 ロボット
JP4463120B2 (ja) * 2005-01-17 2010-05-12 独立行政法人理化学研究所 身まねロボットシステムとその身まね動作制御方法
US8260463B2 (en) * 2006-02-02 2012-09-04 Kabushiki Kaisha Yaskawa Denki Robot system
WO2007138987A1 (ja) * 2006-05-25 2007-12-06 Takehiro Ishizaki 作業ロボット
JP2008049459A (ja) * 2006-08-28 2008-03-06 Toshiba Corp マニピュレータ制御システム、マニピュレータ制御方法およびプログラム
JP5142243B2 (ja) * 2006-09-13 2013-02-13 独立行政法人産業技術総合研究所 ロボット作業教示システムおよびロボットに対する作業教示方法
JP4976883B2 (ja) * 2007-02-23 2012-07-18 パナソニック株式会社 マニピュレータシステム
JP5104248B2 (ja) * 2007-11-22 2012-12-19 株式会社Ihi 物体認識装置およびロボット装置
US9393695B2 (en) * 2013-02-27 2016-07-19 Rockwell Automation Technologies, Inc. Recognition-based industrial automation control with person and object discrimination

Also Published As

Publication number Publication date
JP2018051652A (ja) 2018-04-05

Similar Documents

Publication Publication Date Title
JP6640060B2 (ja) ロボットシステム
EP3166084B1 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
CN109483534B (zh) 一种物体抓取方法、装置和系统
JP4137909B2 (ja) ロボットプログラム補正装置
JP6582061B2 (ja) ロボットシステムおよび制御方法
JP6508691B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
WO2005124604A1 (en) System and method for simulating human movement using profile paths
JP6869060B2 (ja) マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム
KR101819323B1 (ko) 모사학습 및 행동 조합에 기반한 로봇의 작업 행동궤적 생성 방법 및 그 장치
CN115351780A (zh) 用于控制机器人设备的方法
US20150314439A1 (en) End effector controlling method
CN115605326A (zh) 用于控制机器人的方法和机器人控制器
Dajles et al. Teleoperation of a humanoid robot using an optical motion capture system
WO2016088367A1 (ja) 動作の転移装置、動作の転移方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP6456557B1 (ja) 把持位置姿勢教示装置、把持位置姿勢教示方法及びロボットシステム
JP2008512750A (ja) 規則に基づいた逐次アプローチを利用した人間の姿勢を予測するためのシステムおよび方法
JP7376318B2 (ja) アノテーション装置
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
US20220281103A1 (en) Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium
Scharfe et al. Hybrid physics simulation of multi-fingered hands for dexterous in-hand manipulation
JP7205752B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
Österberg Skill Imitation Learning on Dual-arm Robotic Systems
JP5083992B1 (ja) 把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラム
Al-Junaid ANN based robotic arm visual servoing nonlinear system
JPWO2016151862A1 (ja) 組立教示装置、および組立教示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191225

R150 Certificate of patent or registration of utility model

Ref document number: 6640060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150