(57)【要約】【課題】人間が実作業を行うワークとロボットが作業を行うワークとが異なる場合でも、人間の実作業に基づいてロボットの動作を簡易に教示して、製造効率を向上させる。【解決手段】第１のワークに対して人間が作業を行うときの第１のワークおよび人間の手先あるいはアームの経時的な画像を処理して人間の手先あるいはアームの動作軌跡を抽出する動作軌跡抽出部１４と、第１のワークの特徴点とロボットが作業を行う第２のワークの特徴点とに基づいて、第１のワークから第２のワークへの変換関数を生成するマッピング生成部１７と、動作軌跡抽出部１４により抽出された人間の手先あるいはアームの動作軌跡と、マッピング生成部１７により生成された変換関数とに基づいてロボットの動作軌跡を生成する動作軌跡生成部１８とを備えるロボットの動作教示装置１０である。【選択図】図２
2019188477.tif 000002
【特許請求の範囲】
【請求項１】
第１のワークに対して人間が作業を行うときの前記第１のワークおよび前記人間の手先あるいはアームの経時的な画像を処理して前記人間の前記手先あるいは前記アームの動作軌跡を抽出する動作軌跡抽出部と、
前記第１のワークの特徴点とロボットが作業を行う第２のワークの特徴点とに基づいて、前記第１のワークから前記第２のワークへの変換関数を生成するマッピング生成部と、
前記動作軌跡抽出部により抽出された前記人間の前記手先あるいは前記アームの動作軌跡と、前記マッピング生成部により生成された前記変換関数とに基づいて前記ロボットの動作軌跡を生成する動作軌跡生成部とを備えるロボットの動作教示装置。
【請求項２】
前記動作軌跡生成部により生成された前記ロボットの動作軌跡を、該動作軌跡に沿う前記ロボットの動作に要する動作時間および前記ロボットの各軸の加速度に基づいて最適化する軌道最適化部を備える請求項１に記載のロボットの動作教示装置。
【請求項３】
前記第１のワークに対して前記人間が作業を行うときの前記第１のワークおよび前記人間の前記手先あるいは前記アームの経時的な画像を取得する第１視覚センサと、
該第１視覚センサにより取得された画像から前記第１のワークの前記特徴点を抽出する第１特徴点抽出部とを備え、
前記動作軌跡抽出部が、前記第１視覚センサにより取得された画像から前記人間の前記手先あるいは前記アームの動作軌跡を抽出する請求項１または請求項２に記載のロボットの動作教示装置。
【請求項４】
前記第２のワークを撮影して画像を取得する第２視覚センサと、
該第２視覚センサにより取得された画像から前記第２のワークの前記特徴点を抽出する第２特徴点抽出部とを備える請求項１から請求項３のいずれかに記載のロボットの動作教示装置。
【請求項５】
前記第１のワークに対する前記人間の作業が仮想現実空間において行われる請求項１または請求項２に記載のロボットの動作教示装置。
【請求項６】
前記第２のワークの前記特徴点と前記ロボットの動作軌跡とを対応づけて記憶する記憶部を備える請求項１から請求項５のいずれかに記載のロボットの動作教示装置。
【請求項７】
複数のロボットと、各該ロボットをそれぞれ制御する複数の制御装置と、該制御装置を接続するネットワークと、該ネットワークに接続された請求項６に記載のロボットの動作教示装置とを備えるロボットシステム。
【請求項８】
請求項４に記載のロボットの動作教示装置を備え、
前記第２特徴点抽出部が、前記第２のワークの複数の前記特徴点の位置を所定の周期で抽出し、
抽出された複数の前記特徴点の位置に基づいて、各前記特徴点の運動方程式を前記所定の周期毎に更新し、更新された各前記運動方程式から算出される各前記特徴点の位置に基づいて前記第２のワークの位置または姿勢を算出する位置姿勢算出部を備え、
該位置姿勢算出部により算出された前記第２のワークの位置または姿勢に基づいて、前記ロボットを制御して、前記第２のワークに追従させるロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作教示装置、ロボットシステムおよびロボット制御装置に関するものである。
【背景技術】
【０００２】
従来、人間による実作業をロボットに真似させる動作教示装置が知られている（例えば、特許文献１）。
特許文献１の動作教示装置は、人間が作業を行っているときの腕、手首先、指先の動きあるいは作業対象物の動きを、複数台のカメラを使用して複数個の３次元位置に関する時系列データとして取得するとともに、人間の手首先、指先に取り付けられたセンサによって作業対象物に加えられる力を検出して力に関する時系列データとして取得し、これら同時刻に取得された２つの時系列データを複数台のロボットアームの各関節軸の動きに対応した各軸軌道データに変換している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６０−２０５７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の動作教示装置は、人間が実作業を行うワークとロボットが作業を行うワークとが同じであることを前提としているため、ワークの形状が僅かでも異なる場合には、ロボットに動作を教示することが困難であるという不都合がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、人間が実作業を行うワークとロボットが作業を行うワークとが異なる場合でも、人間の実作業に基づいてロボットの動作を簡易に教示して、製造効率を向上させることができるロボットの動作教示装置、ロボットシステムおよびロボット制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、第１のワークに対して人間が作業を行うときの前記第１のワークおよび前記人間の手先あるいはアームの経時的な画像を処理して前記人間の前記手先あるいは前記アームの動作軌跡を抽出する動作軌跡抽出部と、前記第１のワークの特徴点とロボットが作業を行う第２のワークの特徴点とに基づいて、前記第１のワークから前記第２のワークへの変換関数を生成するマッピング生成部と、前記動作軌跡抽出部により抽出された前記人間の前記手先あるいは前記アームの動作軌跡と、前記マッピング生成部により生成された前記変換関数とに基づいて前記ロボットの動作軌跡を生成する動作軌跡生成部とを備えるロボットの動作教示装置である。
【０００７】
本態様によれば、動作軌跡抽出部により、第１のワークに対して人間が作業を行うときの第１のワークおよび人間の手先あるいはアームの経時的な画像が処理されて人間の手先あるいはアームの動作軌跡が抽出され、マッピング生成部により、第１のワークの特徴点およびロボットが作業を行う第２のワークの特徴点に基づいて、第１のワークから第２のワークへの変換関数が生成される。そして、動作軌跡生成部により、抽出された人間の手先あるいはアームの動作軌跡と生成された変換関数とに基づいてロボットの動作軌跡が生成される。これにより、人間が実作業を行う第１のワークとロボットが作業を行う第２のワークとが異なる場合でも、人間の実作業に基づいてロボットの動作を簡易に教示して、製造効率を向上させることができる。
【０００８】
上記態様においては、前記動作軌跡生成部により生成された前記ロボットの動作軌跡を、該動作軌跡に沿う前記ロボットの動作に要する動作時間および前記ロボットの各軸の加速度に基づいて最適化する軌道最適化部を備えていてもよい。
この構成により、軌道最適化部により、ロボットの動作軌跡が、動作時間を低減しかつ過度の加速を抑えて最適化される。
【０００９】
また、上記態様においては、前記第１のワークに対して前記人間が作業を行うときの前記第１のワークおよび前記人間の前記手先あるいは前記アームの経時的な画像を取得する第１視覚センサと、該第１視覚センサにより取得された画像から前記第１のワークの前記特徴点を抽出する第１特徴点抽出部とを備え、前記動作軌跡抽出部が、前記第１視覚センサにより取得された画像から前記人間の前記手先あるいは前記アームの動作軌跡を抽出してもよい。
この構成により、第１視覚センサにより第１のワークおよび人間の手先あるいはアームの経時的な画像が取得され、取得された画像から動作軌跡抽出部により人間の手先あるいはアームの動作軌跡が抽出され、第１特徴点抽出部により第１のワークの特徴点が抽出される。
【００１０】
また、上記態様においては、前記第２のワークを撮影して画像を取得する第２視覚センサと、該第２視覚センサにより取得された画像から前記第２のワークの前記特徴点を抽出する第２特徴点抽出部とを備えていてもよい。
この構成により、第２視覚センサにより第２のワークの画像が取得され、取得された画像から第２特徴点抽出部により、第２のワークの特徴点が抽出される。
【００１１】
また、上記態様においては、前記第１のワークに対する前記人間の作業が仮想現実空間において行われてもよい。
この構成により、現実に第１のワークおよび人間の作業環境を用意することなく、仮想現実空間内において、ソフトウェアにより実現された第１のワークを移動させる作業を行って、人間の手先の動作軌跡を抽出することができる。
【００１２】
また、上記態様においては、前記第２のワークの前記特徴点と前記ロボットの動作軌跡とを対応づけて記憶する記憶部を備えていてもよい。
この構成により、第２のワークに対して再度作業を行う際に、記憶部に記憶されているロボットの動作軌跡を読み出すことにより、作業効率を向上することができる。
【００１３】
また、本発明の他の態様は、複数のロボットと、各該ロボットをそれぞれ制御する複数の制御装置と、該制御装置を接続するネットワークと、該ネットワークに接続された上記ロボットの動作教示装置とを備えるロボットシステムである。
本態様によれば、第２のワークの特徴点に基づいて、複数のロボットの制御装置からネットワークを経由して動作教示装置の記憶部に記憶されているロボットの動作軌跡を読み出すことが可能になり、複数のロボット間で情報を共有することができる。
【００１４】
また、本発明の他の態様は、上記ロボットの動作教示装置を備え、前記第２特徴点抽出部が、前記第２のワークの複数の前記特徴点の位置を所定の周期で抽出し、抽出された複数の前記特徴点の位置に基づいて、各前記特徴点の運動方程式を前記所定の周期毎に更新し、更新された各前記運動方程式から算出される各前記特徴点の位置に基づいて前記第２のワークの位置または姿勢を算出する位置姿勢算出部を備え、該位置姿勢算出部により算出された前記第２のワークの位置または姿勢に基づいて、前記ロボットを制御して、前記第２のワークに追従させるロボット制御装置である。
【００１５】
本態様によれば、第２特徴点抽出部によって、視覚センサにより取得された画像から、第２のワークの複数の特徴点の位置が所定の周期で抽出される。次に、位置姿勢算出部によって、第２特徴点抽出部により抽出された複数の特徴点の位置に基づいて、これら複数の特徴点毎の運動方程式が所定の周期毎に更新される。また、位置姿勢算出部によって、更新された各運動方程式から新たに複数の特徴点のそれぞれの位置が算出され、算出された複数の特徴点の位置に基づいて第２のワークの位置または姿勢が算出される。そして、ロボット制御装置によって、位置姿勢算出部により算出された第２のワークの位置または姿勢に基づいてロボットが制御され、第２のワークに追従させられる。
【００１６】
このように、所定の周期で各特徴点の運動方程式が更新されるので、オンラインでの第２のワークの運動方程式の構築が可能となる。結果として、ランダムに移動する第２のワークに対しても高精度にロボットを追従させることができる。
【発明の効果】
【００１７】
本発明によれば、人間が実作業を行うワークとロボットが作業を行うワークとが異なる場合でも、人間の実作業に基づいてロボットの動作を簡易に教示して、製造効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係るロボットシステムを示す全体構成図である。
【図２】図１のロボットシステムに備えられる動作教示装置を示すブロック図である。
【図３】図２の動作教示装置に備えられるマッピング生成部による変換関数の生成処理を説明する図である。
【発明を実施するための形態】
【００１９】
本発明の一実施形態に係るロボットの動作教示装置１０およびロボットシステム１について、図面を参照して以下に説明する。
本実施形態に係るロボットシステム１は、図１に示されるように、ロボット２と、ロボット２に接続されたロボット制御装置３と、ロボット制御装置３に接続された本実施形態に係る動作教示装置１０とを備えている。
【００２０】
動作教示装置１０は、人間Ｈが第１のワークＷ１に対して作業をするときの第１のワークＷ１および人間Ｈの手先Ｆを撮影して経時的な画像を取得する第１カメラ（第１視覚センサ）１１と、ロボット２が作業を行う第２のワークＷ２を撮影して画像を取得する第２カメラ（第２視覚センサ）１２と、第１カメラ１１および第２カメラ１２に接続された画像処理部１３とを備えている。
【００２１】
画像処理部１３は、図２に示されるように、第１カメラ１１に接続された動作軌跡抽出部１４と、第１カメラ１１に接続された第１特徴点抽出部１５と、第２カメラ１２に接続された第２特徴点抽出部１６と、第１特徴点抽出部１５および第２特徴点抽出部１６に接続されたマッピング生成部１７と、動作軌跡抽出部１４およびマッピング生成部１７に接続された動作軌跡生成部１８とを備えている。
【００２２】
動作軌跡抽出部１４は、第１カメラ１１により取得された画像から人間Ｈの手先Ｆの動作軌跡を抽出する。具体的には、公知のモーションキャプチャ技術により、人間Ｈの手先Ｆにマーカを装着した状態で第１カメラ１１により取得された経時的な画像からマーカの位置の移動軌跡を抽出することにより行われる。
【００２３】
第１特徴点抽出部１５は、第１カメラ１１により取得されたいずれかの画像内の第１のワークＷ１を画像処理により抽出し、例えば、頂角、エッジ等の複数の特徴点の座標を抽出する。
第２特徴点抽出部１６は、第２カメラ１２により取得されたいずれかの画像内の第２のワークＷ２を画像処理により抽出し、例えば、頂角、エッジ等の複数の特徴点の座標を抽出する。
【００２４】
マッピング生成部１７は、第１特徴点抽出部１５により抽出された特徴点の座標と、第２特徴点抽出部１６により抽出された特徴点の座標とに基づいて、数１のマッピング理論式を用いて、変換関数ｆを算出する。
【００２５】
【数１】
2019188477.tif 000003
ここで、符号ｆは変換関数、ｋは、第１のワークＷ１の特徴点の数、ｘ（ｋ）はｋ点目の特徴点の座標、２次元図形の場合は、ｘ１，ｘ２は、２次元座標系の座標（ｘ１，ｘ２）、ｘ（ｋ）′は第２のワークＷ２のｋ点目の特徴点の座標を示し、ｆ（ｘ（ｋ））は第１のワークＷ１のｋ点目の座標ｘ（ｋ）がマッピング関数ｆで算出した第２のワークＷ２に対応づけた座標を示している。
【００２６】
この算出方法について、図３を参照して説明する。図３は一例として長方形の第１のワークＷ１の形状Ｂと、第１のワークＷ１に対して形状が相違する第２のワークＷ２の形状Ｂ′とを示している。
図３においては、第１のワークＷ１における任意の位置に点Ｃが設定されている。第１のワークＷ１の形状Ｂ、第２のワークＷ２の形状Ｂ′および点Ｃは、図中の座標系Ｃ２によって座標化される。
【００２７】
ここで、第１のワークＷ１の形状に対する点Ｃの位置に対応する、第２のワークＷ２の形状に対する位置は、図３に点Ｃ′として示されている。この点Ｃ′の位置（すなわち、座標系Ｃ２の座標）は座標系Ｃ２における第１のワークＷ１の形状Ｂと第２のワークＷ２の形状Ｂ′の座標が既知であれば、これらの座標の情報を数１の変換関数ｆに導入することによって算出することができる。
【００２８】
動作軌跡生成部１８は、このような算出方法を用いて、第１のワークＷ１の形状Ｂに対して取得された人間Ｈの手先Ｆの動作軌跡に対応する、第２のワークＷ２の形状Ｂ′に対する動作軌跡を算出する。具体的には、動作軌跡生成部１８は、図１の座標系において、動作軌跡抽出部１４により抽出された第１のワークＷ１に対する人間Ｈの手先Ｆの動作軌跡Ａを変換関数ｆに導入することにより、第２のワークＷ２に対するロボット２の動作軌跡Ａ′を算出することができる。
【００２９】
ロボット制御装置３は、動作軌跡生成部１８から動作軌跡Ａを受け取ると、動作軌跡Ａを構成する各点の座標に、座標変換行列（例えば、ヤコビ行列）を乗算して３次元のロボット座標系における座標に変換する。これにより、変換された座標を教示点として使用することにより、ロボット２を動作軌跡Ａ′に従って動作させることができる。
【００３０】
本実施形態に係る動作教示装置１０およびロボットシステム１によれば、モーションキャプチャ技術を利用して取得した人間Ｈの手先Ｆの動作軌跡Ａをロボット２の動作軌跡Ａ′に変換するので、教示操作盤を用いた場合と比較して、複雑な動作軌跡Ａの教示に要する時間を短縮することができる。教示する人間Ｈの直感的な動作により動作軌跡Ａを教示できるという利点がある。また、教示操作盤を用いた場合と比較して、教示する人間Ｈの熟練を要しないという利点もある。
【００３１】
また、本実施形態に係る動作教示装置１０およびロボットシステム１によれば、人間Ｈが作業する第１のワークＷ１とロボット２が作業する第２のワークＷ２とが厳密に同じ形状を有していなくても、マッピング生成部１７による変換関数の生成によって、人間Ｈの手先Ｆの動作軌跡Ａをロボット２の動作軌跡Ａ′に変換する際に、ワークＷ１，Ｗ２の形状の違いを考慮した動作軌跡Ａ′に変換することができる。
【００３２】
例えば、第１のワークＷ１と第２のワークＷ２とが相似形状であったり、一方向に縮尺の異なる形状であったりしても、ロボット２の動作軌跡Ａ′を精度よく生成することができる。これにより、人間Ｈの直感的な実作業に基づいてロボット２の動作を簡易に教示して、製造効率を向上させることができるという利点がある。
また、コンピュータシミュレーションを用いて教示する場合と比較して精度の高いＣＡＤデータの作成が不要であるという利点がある。
【００３３】
なお、本実施形態においては、動作軌跡生成部１８において生成されたロボット２の動作軌跡Ａ′を最適化する軌道最適化部（図示略）を備えていてもよい。この軌道最適化部による動作軌跡Ａ′の最適化処理は、例えば、「Ｃｈａｎｇｌｉｕ  Ｌｉｕ，  Ｍａｓａｙｏｓｈｉ  Ｔｏｍｉｚｕｋａ，  Ｒｅａｌ  ｔｉｍｅ  ｔｒａｊｅｃｔｏｒｙ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  ｎｏｎｌｉｎｅａｒ  ｒｏｂｏｔｉｃｓ  ｓｙｓｔｅｍｓ：Ｒｅｌａｘａｔｉｏｎ  ａｎｄ  ｃｏｎｖｅｘｉｆｉｃａｔｉｏｎ，  Ｓｙｓｔｅｍｓ  ＆  Ｃｏｎｔｒｏｌ  Ｌｅｔｔｅｒｓ  １０８（２０１７），ｐ５６−６３」に開示されている技術を利用すればよい。
【００３４】
この最適化処理においては、障害物を回避する軌道プランニングが行われた後に、軌道の最適化が行われる。軌道プランニングにおいては、数２の評価関数および制限条件が使用され、障害物との距離を一定以上に維持しつつ、生成された動作軌跡Ａ′からの変化量を低く抑えかつモータトルクを低く抑える軌跡が求められる。
【００３５】
【数２】
2019188477.tif 000004
【００３６】
数２において、式（２）は軌道プランニングのための評価関数Ｊ（ｘ，ｕ）を示し、ロボット２の予定された動作軌跡ｘｒからの変化量（ｘ−ｘｒ）のノルムの２乗とモータトルクｕのノルムの２乗とを所定の重みω１，ω２を付けて加算した値が最小となる軌跡ｘおよびトルクｕを求める。
式（３）、（４）、（５）は式（２）に対する制限条件である。
式（４）はダイナミクスモデルである。
式（５）は障害物との距離が最小距離より大きいことを条件としている。
【００３７】
また、軌道の最適化においては、数３の評価関数および制限条件が使用され、動作軌跡Ａ′に沿って動作するのに要する動作時間を低く抑えながら加速度も低く抑えるように軌跡が最適化される。
【数３】
2019188477.tif 000005
【００３８】
数３において、式（６）は軌道の最適化のための評価関数ＪＴ（τ，ａ）を示し、動作時間τのノルムの２乗と、加速度ａのノルムの２乗とを所定の重みω３，ω４を付けて加算した値が最小となる動作時間τおよび加速度ａを求める。
式（７），（８）は式（６）に対する制限条件であり、式（８）は時間と加速度との関係を表している。
この動作軌跡Ａ′の最適化処理が行われることにより、周囲の障害物と衝突せずに高速動作を行うことができる動作軌跡Ａ′を教示することができる。
【００３９】
また、第２のワークＷ２がランダムに移動する場合には、例えば、特開２０１８−２７５８０号公報に開示されているロボット制御装置を採用してもよい。すなわち、第２特徴点抽出部１６により第２のワークＷ２の複数の特徴点の位置を所定の周期で抽出し、抽出された複数の特徴点の位置に基づいて、位置姿勢算出部により、各特徴点の運動方程式を上記周期毎に更新し、更新された各運動方程式から算出される各特徴点の位置に基づいて第２のワークＷ２の位置または姿勢を算出し、算出された第２のワークＷ２の位置または姿勢に基づいて、ロボット２を制御してもよい。これによれば、ランダムに移動する第２のワークＷ２に対して、ビジュアルサーボによりロボット２を精度よく追従させることができるという利点がある。
【００４０】
また、第２のワークＷ２がケーブルのような不定形なものである場合に、第１カメラ１１により取得された画像を用いてシミュレーションを行って形状を認識し、認識された形状に基づいてマッピング生成部１７により変換関数を求めることにしてもよい。
【００４１】
また、本実施形態においては、公知のモーションキャプチャ技術により、人間Ｈの手先Ｆにマーカを装着した状態で第１カメラ１１により取得された経時的な画像からマーカの位置の移動軌跡を抽出する場合を例示したが、これに代えて、ＶＲ（仮想現実）空間内において、人間Ｈが第１のワークＷ１に対して作業を行うことにしてもよい。この構成により、現実に第１のワークＷ１および人間Ｈの作業環境を用意することなく、人間Ｈの手先Ｆの動作軌跡Ａを抽出することができる。
【００４２】
また、第２のワークＷ２の特徴点と生成されたロボット２の動作軌跡Ａ′とを対応づけて記憶する記憶部を備えていてもよい。この構成により、第２のワークＷ２に対して再度作業を行う際に、記憶部に記憶されているロボット２の動作軌跡Ａ′を読み出すことによって、作業効率を向上することができる。
【００４３】
複数のロボット２と、各ロボット２を制御する制御装置と、制御装置を接続するネットワークと、ネットワークに接続された記憶部を備える動作教示装置１０とを備えるロボットシステムを採用してもよい。
この構成により、第２のワークＷ２の特徴点に基づいて、複数のロボット２の制御装置からネットワークを経由して動作教示装置１０の記憶部に記憶されているロボット２の動作軌跡Ａ′を読み出すことが可能になり、複数のロボット２間で情報を共有することができるという利点がある。
【符号の説明】
【００４４】
１  ロボットシステム
２  ロボット
３  ロボット制御装置
１０  動作教示装置
１１  第１カメラ（第１視覚センサ）
１２  第２カメラ（第２視覚センサ）
１４  動作軌跡抽出部
１５  第１特徴点抽出部
１６  第２特徴点抽出部
１７  マッピング生成部
１８  動作軌跡生成部
Ｗ１  第１のワーク
Ｗ２  第２のワーク
Ａ，Ａ′  動作軌跡
Ｆ  手先
Ｈ  人間
【図１】
2019188477.tif 000006
【図２】
2019188477.tif 000007
【図３】
2019188477.tif 000008