(57)【要約】  画像入力装置（２）により取得された画像から作業対象物の位置の変化を検知する変化検知部（１２）と、画像入力装置（２）により取得された画像から作業者の手指の動作を検知する手指動作検知部（１３）と、手指動作検知部（１３）により検知された手指の動作から作業対象物に対する作業者の作業内容を推定する作業内容推定部（１５）とを設け、制御プログラム作成部（１６）が、作業内容推定部（１５）により推定された作業内容と、変化検知部（１２）により検知された作業対象物の位置の変化とから、作業内容の再現と作業対象物の搬送を行うロボット（３０）の制御プログラムを作成する。
2017130389.tif 000002
【特許請求の範囲】
【請求項１】
作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、
前記画像入力装置により取得された画像から作業者の手指の動作を検知する手指動作検知部と、
前記手指動作検知部により検知された手指の動作から、前記作業対象物に対する前記作業者の作業内容を推定する作業内容推定部と、
前記作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成する制御プログラム作成部と
を備えたロボット教示装置。
【請求項２】
作業者の複数の手指の動作と、各々の手指の動作と前記作業者の作業内容との対応関係を記録しているデータベースを備え、
前記作業内容推定部は、前記手指動作検知部により検知された手指の動作と、前記データベースに記録されている作業者の複数の手指の動作とを照合して、前記手指動作検知部により検知された手指の動作と対応関係がある作業内容を特定することを特徴とする請求項１記載のロボット教示装置。
【請求項３】
前記画像入力装置により取得された画像から、前記作業対象物の位置の変化を検知する変化検知部を備え、
前記制御プログラム作成部は、前記作業内容推定部により推定された作業内容と、前記変化検知部により検知された作業対象物の位置の変化とから、前記作業内容の再現と前記作業対象物の搬送を行うロボットの制御プログラムを作成することを特徴とする請求項１記載のロボット教示装置。
【請求項４】
前記変化検知部は、前記画像入力装置により取得された画像のうち、前記作業対象物が搬送される前の画像と、前記作業対象物が搬送された後の画像との差分画像から、前記作業対象物の位置の変化を検知することを特徴とする請求項３記載のロボット教示装置。
【請求項５】
前記制御プログラム作成部は、前記ロボットの制御プログラムに対応するロボットの動作制御信号を前記ロボットに出力することを特徴とする請求項１記載のロボット教示装置。
【請求項６】
前記画像入力装置として、ウェアラブル機器に実装されている画像入力装置が用いられることを特徴とする請求項１記載のロボット教示装置。
【請求項７】
前記ウェアラブル機器は、ヘッドマウントディスプレイを含んでいることを特徴とする請求項６記載のロボット教示装置。
【請求項８】
前記画像入力装置は、１台のカメラを含んでおり、前記カメラにより撮影された画像を取得することを特徴とする請求項１記載のロボット教示装置。
【請求項９】
前記画像入力装置は、ステレオカメラを含んでおり、前記ステレオカメラにより撮影された画像を取得することを特徴とする請求項１記載のロボット教示装置。
【請求項１０】
画像入力装置が、作業者の手指及び作業対象物が映っている画像を取得し、
手指動作検知部が、前記画像入力装置により取得された画像から作業者の手指の動作を検知し、
作業内容推定部が、前記手指動作検知部により検知された手指の動作から、前記作業対象物に対する前記作業者の作業内容を推定し、
制御プログラム作成部が、前記作業内容推定部により推定された作業内容から、前記作業内容の再現を行うロボットの制御プログラムを作成する
ロボット制御プログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、作業者の作業内容をロボットに教示するロボット教示装置及びロボット制御プログラム作成方法に関するものである。
【背景技術】
【０００２】
以下の特許文献１には、複数のカメラにより撮影された画像から、組み立て作業を行う作業者の三次元位置及び方向を検知し、その作業者の三次元位置及び方向からロボットの動作プログラムを作成するロボット教示装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２５０７３０号公報（段落番号［００１０］［００１１］）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のロボット教示装置は以上のように構成されているので、組み立て作業を行う作業者の三次元位置及び方向からロボットの動作プログラムを作成するには、作業者による組み立て作業の全てが漏れなく撮影されている必要がある。このため、作業者による組み立て作業の映っていない箇所が存在しないように、数多くのカメラを設置する必要があるという課題があった。【０００５】
この発明は上記のような課題を解決するためになされたもので、数多くのカメラを設置することなく、ロボットの制御プログラムを作成することができるロボット教示装置及びロボット制御プログラム作成方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るロボット教示装置は、作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、画像入力装置により取得された画像から作業者の手指の動作を検知する手指動作検知部と、手指動作検知部により検知された手指の動作から、作業対象物に対する作業者の作業内容を推定する作業内容推定部とを設け、制御プログラム作成部が、作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成するようにしたものである。
【発明の効果】
【０００７】
この発明によれば、画像入力装置により取得された画像から作業者の手指の動作を検知し、その手指の動作から作業対象物に対する作業者の作業内容を推定して、その作業内容を再現するロボットの制御プログラムを作成するように構成したので、数多くのカメラを設置することなく、ロボットの制御プログラムを作成することができる効果がある。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるロボット教示装置を示す構成図である。
【図２】この発明の実施の形態１によるロボット教示装置におけるロボットコントローラ１０のハードウェア構成図である。
【図３】ロボットコントローラ１０がコンピュータで構成される場合のロボットコントローラ１０のハードウェア構成図である。
【図４】この発明の実施の形態１によるロボット教示装置におけるロボットコントローラ１０の処理内容であるロボット制御プログラム作成方法を示すフローチャートである。
【図５】作業者の作業風景を示す説明図である。
【図６】作業者による作業直前の画像と作業直後の画像を示す説明図である。
【図７】データベース１４に記録されている作業者の複数の手指の動作を示す説明図である。
【図８】作業者が作業対象物ａを回転させる動作を行っているときの特徴点の変化を示す説明図である。
【図９】ロボット３０が水平多関節型のロボットである場合の作業対象物ａ５の搬送例を示す説明図である。
【図１０】ロボット３０が垂直多関節型のロボットである場合の作業対象物ａ５の搬送例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面にしたがって説明する。
【００１０】
実施の形態１．
図１はこの発明の実施の形態１によるロボット教示装置を示す構成図であり、図２はこの発明の実施の形態１によるロボット教示装置におけるロボットコントローラ１０のハードウェア構成図である。
図１及び図２において、ウェアラブル機器１は作業者に装着され、画像入力装置２、マイク３、ヘッドマウントディスプレイ４及びスピーカ５を含んでいる。
画像入力装置２は１台のカメラを含んでおり、１台のカメラにより撮影された画像を取得する。
ここで、画像入力装置２に含まれているカメラは、被写体の二次元情報の他に、被写体までの距離を示す奥行き情報も取得可能なステレオカメラを想定している。あるいは、被写体の二次元情報の取得が可能な２次元カメラに対して、被写体までの距離を示す奥行き情報の取得が可能な深度センサが取り付けられているカメラを想定している。
なお、画像入力装置２により取得される画像としては、所定のサンプリング間隔で繰り返し撮影されたコマ撮り動画や、異なる時刻にそれぞれ撮影された静止画などが考えられる。
【００１１】
ロボットコントローラ１０はウェアラブル機器１の画像入力装置２により取得された画像から、ロボット３０の制御プログラムを作成して、その制御プログラムに対応するロボット３０の動作制御信号をロボット３０に出力する装置である。
なお、ウェアラブル機器１とロボットコントローラ１０の間の接続は、有線接続でもよいし、無線接続でもよい。
【００１２】
画像記録部１１は例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスクなどの記憶装置４１によって実現されるものであり、画像入力装置２により取得された画像を記録する。
変化検知部１２は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を搭載している半導体集積回路、ワンチップマイコン、あるいは、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などを実装している変化検知処理回路４２によって実現されるものであり、画像記録部１１に記録されている画像から、作業対象物の位置の変化を検知する処理を実施する。即ち、画像記録部１１に記録されている画像のうち、作業対象物が搬送される前の画像と、作業対象物が搬送された後の画像との差分画像を求め、その差分画像から作業対象物の位置の変化を検知する処理を実施する。
【００１３】
手指動作検知部１３は例えばＣＰＵを搭載している半導体集積回路、ワンチップマイコン、あるいは、ＧＰＵなどを実装している手指動作検知処理回路４３によって実現されるものであり、画像記録部１１に記録されている画像から作業者の手指の動作を検知する処理を実施する。
データベース１４は例えば記憶装置４１によって実現されるものであり、作業者の複数の手指の動作として、例えば、作業対象物を回転させる際の動作、作業対象物を押し込む際の動作、作業対象物をスライドさせる際の動作などを記録している。
また、データベース１４は各々の手指の動作と作業者の作業内容との対応関係を記録している。
【００１４】
作業内容推定部１５は例えばＣＰＵを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している作業内容推定処理回路４４によって実現されるものであり、手指動作検知部１３により検知された手指の動作から、作業対象物に対する作業者の作業内容を推定する処理を実施する。即ち、手指動作検知部１３により検知された手指の動作と、データベース１４に記録されている作業者の複数の手指の動作とを照合して、手指動作検知部１３により検知された手指の動作と対応関係がある作業内容を特定する処理を実施する。
【００１５】
制御プログラム作成部１６は制御プログラム作成処理部１７と動作制御信号出力部１８とを含んでいる。
制御プログラム作成処理部１７は例えばＣＰＵを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している制御プログラム作成処理回路４５によって実現されるものであり、作業内容推定部１５により推定された作業内容と、変化検知部１２により検知された作業対象物の位置の変化とから、その作業内容の再現と作業対象物の搬送を行うロボット３０の制御プログラムを作成する処理を実施する。
動作制御信号出力部１８は例えばＣＰＵを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している動作制御信号出力処理回路４６によって実現されるものであり、制御プログラム作成処理部１７により作成された制御プログラムに対応するロボット３０の動作制御信号をロボット３０に出力する処理を実施する。
【００１６】
映像音声出力部１９はヘッドマウントディスプレイ４及びスピーカ５に対する出力インタフェース機器４７と、画像入力装置２に対する入力インタフェース機器４８とによって実現されるものであり、例えば、画像入力装置２により取得された画像をヘッドマウントディスプレイ４に表示するほか、作業内容の推定処理中である旨を示す情報や、位置変化の検知処理中である旨を示す情報などをヘッドマウントディスプレイ４に表示する処理を実施する。
また、映像音声出力部１９は作業内容を指示するガイダンスなどに関する音声データをスピーカ５に出力する処理を実施する。
操作編集部２０は画像入力装置２及びマイク３に対する入力インタフェース機器４８と、画像入力装置２に対する出力インタフェース機器４７とによって実現されるものであり、例えば、マイク３から入力された作業者の音声にしたがって画像記録部１１に記録されている画像を編集する処理を実施する。
ロボット３０はロボットコントローラ１０から出力された動作制御信号にしたがって動作を行う装置である。
【００１７】
図１の例では、ロボット教示装置におけるロボットコントローラ１０の構成要素である画像記録部１１、変化検知部１２、手指動作検知部１３、データベース１４、作業内容推定部１５、制御プログラム作成処理部１７、動作制御信号出力部１８、映像音声出力部１９及び操作編集部２０のそれぞれが専用のハードウェアで構成されているものを想定しているが、ロボットコントローラ１０がコンピュータで構成されていてもよい。
図３はロボットコントローラ１０がコンピュータで構成される場合のロボットコントローラ１０のハードウェア構成図である。
ロボットコントローラ１０がコンピュータで構成される場合、画像記録部１１及びデータベース１４をコンピュータのメモリ５１上に構築するとともに、変化検知部１２、手指動作検知部１３、作業内容推定部１５、制御プログラム作成処理部１７、動作制御信号出力部１８、映像音声出力部１９及び操作編集部２０の処理内容を記述しているプログラムをコンピュータのメモリ５１に格納し、コンピュータのプロセッサ５２がメモリ５１に格納されているプログラムを実行するようにすればよい。
図４はこの発明の実施の形態１によるロボット教示装置におけるロボットコントローラ１０の処理内容であるロボット制御プログラム作成方法を示すフローチャートである。
【００１８】
図５は作業者の作業風景を示す説明図である。
図５では、ウェアラブル機器１である画像入力装置２、マイク３、ヘッドマウントディスプレイ４及びスピーカ５を装着している作業者が、部品箱Ｋ１に収納されている円筒形の作業対象物ａ１〜ａ８の中から、作業対象物ａ５を取り出して、作業台であるベルトコンベアに載って移動している部品箱Ｋ２の穴に、作業対象物ａ５を押し込む作業を行う例を示している。
以下、作業対象物ａ１〜ａ８を区別しない場合には、作業対象物ａと称することがある。
【００１９】
図６は作業者による作業直前の画像と作業直後の画像を示す説明図である。
作業直前の画像には、８本の作業対象物ａ１〜ａ８を収納している部品箱Ｋ１と、作業台であるベルトコンベアに載っている部品箱Ｋ２とが映っている。
また、作業直後の画像には、部品箱Ｋ１から作業対象物ａ５が抜き取られたことで、７本の作業対象物ａ１〜ａ４，ａ６〜ａ８を収納している部品箱Ｋ１と、作業対象物ａ５を収納している部品箱Ｋ２とが映っている。
以下、部品箱Ｋ１が映っている画像を部品箱画像Ａ、部品箱Ｋ２が映っている画像を部品箱画像Ｂとする。
【００２０】
図７はデータベース１４に記録されている作業者の複数の手指の動作を示す説明図である。
図７では、作業者の複数の手指の動作の例として、作業対象物ａを回転させる際の動作である回転運動の動作と、作業対象物ａを押し込む際の動作である押込み運動の動作と、作業対象物ａをスライドさせる際の動作であるスライド運動の動作とを示している。
【００２１】
次に動作について説明する。
ウェアラブル機器１の画像入力装置２に含まれているカメラは、所定のサンプリング間隔で、作業対象物ａ１〜ａ８及び部品箱Ｋ１，Ｋ２を繰り返し撮影する（図４のステップＳＴ１）。
画像入力装置２に含まれているカメラによって繰り返し撮影された画像は、ロボットコントローラ１０の画像記録部１１に記録される。
【００２２】
ロボットコントローラ１０の変化検知部１２は、画像記録部１１に記録されている画像から、作業対象物ａの位置の変化を検知する（ステップＳＴ２）。
以下、変化検知部１２による作業対象物ａの位置の変化検知処理を具体的に説明する。
まず、変化検知部１２は、画像記録部１１に記録されている複数の画像を読み出し、読み出した各々の画像の中から、例えば、デジタルカメラに搭載されている顔画像の検出処理に用いられる一般的な画像センシング技術を利用して、作業対象物ａを収納している部品箱Ｋ１の画像である部品箱画像Ａと、部品箱Ｋ２の画像である部品箱画像Ｂとを抽出する。
【００２３】
画像センシング技術については公知の技術であるため詳細な説明を省略するが、例えば、部品箱Ｋ１，Ｋ２及び作業対象物ａの３次元形状を事前に記憶し、画像記録部１１から読み出した画像内に存在している物体の３次元形状を、事前に記憶している３次元形状と照合することで、画像内に存在している物体が、部品箱Ｋ１，Ｋ２であるのか、作業対象物ａであるのか、それ以外の物体であるのかを判別することができる。
【００２４】
変化検知部１２は、各々の画像の中から部品箱画像Ａ，Ｂをそれぞれ抽出すると、各々の部品箱画像Ａ，Ｂから、作業対象物ａ１〜ａ８の形状に関する複数の特徴点を検出して、複数の特徴点の３次元位置を特定する。
この実施の形態１では、作業対象物ａ１〜ａ８が部品箱Ｋ１又は部品箱Ｋ２に収納されている状態を想定しているため、作業対象物ａ１〜ａ８の形状に関する特徴点として、例えば、部品箱Ｋ１又は部品箱Ｋ２に収納されている状態での円筒の上端の中心点などが考えられる。特徴点についても、画像センシング技術を利用することで検出することができる。
【００２５】
変化検知部１２は、各々の部品箱画像Ａ，Ｂから、作業対象物ａ１〜ａ８の形状に関する特徴点を検出して、特徴点の３次元位置を特定すると、作業対象物ａ１〜ａ８における特徴点の３次元位置の変化を検出する。
ここで、例えば、撮影時刻Ｔ１，Ｔ２，Ｔ３の部品箱画像Ａには、８本の作業対象物ａ１〜ａ８が映っている。撮影時刻Ｔ４，Ｔ５，Ｔ６の部品箱画像Ａには、７本の作業対象物ａ１〜ａ４，ａ６〜ａ８が映っているが、作業対象物ａ５が映っておらず、また、部品箱画像Ｂにも作業対象物ａ５が映っていない。撮影時刻Ｔ７，Ｔ８，Ｔ９の部品箱画像Ａには、７本の作業対象物ａ１〜ａ４，ａ６〜ａ８が映っており、部品箱画像Ｂには、１本の作業対象物ａ５が映っている場合を想定する。
このような場合、７本の作業対象物ａ１〜ａ４，ａ６〜ａ８は移動していないため、作業対象物ａ１〜ａ４，ａ６〜ａ８における特徴点の３次元位置の変化は検出されない。
一方、作業対象物ａ５は、撮影時刻Ｔ３の後、撮影時刻Ｔ７の前まで間に移動しているため、作業対象物ａ５における特徴点の３次元位置の変化が検出される。
【００２６】
なお、作業対象物ａ１〜ａ８における特徴点の３次元位置の変化は、異なる撮影時刻Ｔにおける部品箱画像Ａ同士の差分や、部品箱画像Ｂ同士の差分を求めることで、検出することができる。即ち、作業対象物ａにおける特徴点の３次元位置の変化が無ければ、作業対象物ａが差分画像に現れないが、作業対象物ａにおける特徴点の３次元位置の変化があれば、作業対象物ａが差分画像に現れるため、差分画像内の作業対象物ａの有無から、作業対象物ａにおける特徴点の３次元位置の変化の有無を判別することができる。
【００２７】
変化検知部１２は、作業対象物ａにおける特徴点の３次元位置の変化を検出すると、変化直前の撮影時刻Ｔと、変化直後の撮影時刻Ｔとを特定する。
上記の例では、変化直前の撮影時刻Ｔとして撮影時刻Ｔ３が特定され、変化直後の撮影時刻Ｔとして撮影時刻Ｔ７が特定される。
図６には、撮影時刻Ｔ３の部品箱画像Ａ，Ｂと、撮影時刻Ｔ７の部品箱画像Ａ，Ｂとを表している。
【００２８】
変化検知部１２は、作業対象物ａ５における特徴点の３次元位置の変化を検出するとともに、変化直前の撮影時刻Ｔとして撮影時刻Ｔ３を特定し、変化直後の撮影時刻Ｔとして撮影時刻Ｔ７を特定すると、撮影時刻Ｔ３の部品箱画像Ａ内の作業対象物ａ５における特徴点の３次元位置と、撮影時刻Ｔ７の部品箱画像Ｂ内の作業対象物ａ５における特徴点の３次元位置とから、作業対象物ａ５の位置の変化を示す移動データＭを算出する。
例えば、撮影時刻Ｔ３の部品箱画像Ａ内の作業対象物ａ５における特徴点の３次元位置が（ｘ１，ｙ１，ｚ１）、撮影時刻Ｔ７の部品箱画像Ｂ内の作業対象物ａ５における特徴点の３次元位置が（ｘ２，ｙ２，ｚ２）であるとすれば、下記の式（１）のように、作業対象物ａ５の移動量ΔＭを算出する。
ΔＭ＝（ΔＭｘ，ΔＭｙ，ΔＭｚ）              （１）
ΔＭｘ＝ｘ２−ｘ１
ΔＭｙ＝ｙ２−ｙ１
ΔＭｚ＝ｚ２−ｚ１
変化検知部１２は、作業対象物ａ５の移動量ΔＭと、移動前の３次元位置（ｘ１，ｙ１，ｚ１）と、移動後の３次元位置（ｘ２，ｙ２，ｚ２）とを含む移動データＭを制御プログラム作成処理部１７に出力する。
【００２９】
ロボットコントローラ１０の手指動作検知部１３は、画像記録部１１に記録されている画像から作業者の手指の動作を検知する（ステップＳＴ３）。
以下、手指動作検知部１３による手指の動作の検知処理を具体的に説明する。
手指動作検知部１３は、画像記録部１１に記録されている複数の画像の中から、変化直前の画像から変化直後の画像までの一連の画像の読み出しを行う。
上記の例では、変化検知部１２が変化直前の撮影時刻Ｔとして撮影時刻Ｔ３を特定し、変化直後の撮影時刻Ｔとして撮影時刻Ｔ７を特定しているので、画像記録部１１に記録されている複数の画像の中から、撮影時刻Ｔ３の画像、撮影時刻Ｔ４の画像、撮影時刻Ｔ５の画像、撮影時刻Ｔ６の画像、撮影時刻Ｔ７の画像の読み出しを行う。
【００３０】
手指動作検知部１３は、撮影時刻Ｔ３〜Ｔ７の画像を読み出すと、読み出した各々の画像の中から、例えば、画像センシング技術を利用して、作業者の手指が映っている部分を検知し、作業者の手指が映っている部分の画像（以下、「手指画像」と称する）を抽出する。
画像センシング技術については公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の３次元形状を事前に記憶に登録し、画像記録部１１から読み出した画像内に存在している物体の３次元形状を、事前に記憶している３次元形状と照合することで、画像内に存在している物体が作業者の手指であるか否かを判別することができる。
【００３１】
手指動作検知部１３は、各々の画像の中から手指画像をそれぞれ抽出すると、例えば、モーションキャプチャ技術を利用して、それぞれ抽出した手指画像から、作業者の手指の動作を検知する。
モーションキャプチャ技術は、以下の特許文献２にも開示されている公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の形状に関する複数の特徴点を検出して、複数の特徴点の３次元位置の変化を追跡することで、作業者の手指の動作を検知することができる。
人間の手指の形状に関する特徴点としては、指の関節、指の先端、指の付け根、手首などが考えられる。
［特許文献２］特開２００７−１２１２１７号公報
【００３２】
この実施の形態１では、複数の手指画像に対する画像処理で、人間の手指の形状に関する複数の特徴点を検出し、複数の特徴点の３次元位置の変化を追跡することで、作業者の手指の動作を検知することを想定しているが、例えば、作業者の手指にマーカ付きグローブを装着している場合には、複数の手指画像に映っているマーカの位置を検出して、複数のマーカの３次元位置の変化を追跡することで、作業者の手指の動作を検知するようにしてもよい。
また、作業者の手指に力覚センサ付きグローブを装着している場合には、力覚センサのセンサ信号の変化を追跡することで、作業者の手指の動作を検知するようにしてもよい。
この実施の形態１では、作業対象物ａを回転させる際の動作である回転運動の動作、作業対象物ａを押し込む際の動作である押込み運動の動作、あるいは、作業対象物ａをスライドさせる際の動作であるスライド運動の動作を検知することを想定しているが、検知動作は、これらの動作に限るものではなく、他の運動を検知するものであってもよい。
【００３３】
ここで、図８は作業者が作業対象物ａを回転させる動作を行っているときの特徴点の変化を示す説明図である。
図８において、矢印は、複数の特徴点の間を結んでいるリンクであり、例えば、親指の手根中手関節の特徴点と、親指の中手指関節の特徴点と、親指の指節間関節の特徴点と、親指の先端の特徴点とを結んでいるリンクの変化を見れば、親指の動きの変化を確認することができる。
回転運動の動作としては、例えば、伸ばしている親指を時計方向に回転させながら、指節間関節を曲げた状態で、指節間関節より付け根部分が親指と略平行になっている人差指を時計方向に回転させている動作などが考えられる。
なお、図８では、親指と人差指の変化に着目している動きと、手の甲の幅、長さ及び手首の向きの変化に着目している動きとを示している。
【００３４】
ロボットコントローラ１０の作業内容推定部１５は、手指動作検知部１３が作業者の手指の動作を検知すると、その手指の動作から作業対象物ａに対する作業者の作業内容を推定する（ステップＳＴ４）。
即ち、作業内容推定部１５は、手指動作検知部１３により検知された手指の動作と、データベース１４に記録されている作業者の複数の手指の動作とを照合して、手指動作検知部１３により検知された手指の動作と対応関係がある作業内容を特定する。
図７の例では、回転運動の動作と、押込み運動の動作と、スライド運動の動作とがデータベース１４に記録されているので、手指動作検知部１３により検知された手指の動作と、データベース１４に記録されている回転運動の動作、押込み運動の動作及びスライド運動の動作とを照合する。
【００３５】
照合の結果、回転運動の動作、押込み運動の動作及びスライド運動の動作の中で、例えば、回転運動の動作の一致度が最も高ければ、作業者の作業内容が、回転運動の動作であると推定される。
また、押込み運動の動作の一致度が最も高ければ、作業者の作業内容が、押込み運動の動作であると推定され、スライド運動の動作の一致度が最も高ければ、作業者の作業内容が、スライド運動の動作であると推定される。
作業内容推定部１５では、手指動作検知部１３により検知された手指の動作が、データベース１４に記録されている作業者の手指の動作と完全に一致していなくても、データベース１４に記録されている作業者の手指の動作の中で、一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、少ない台数のカメラでも、作業者の作業内容を推定することができる。
【００３６】
ここでは説明の簡単化のために、回転運動の動作、押込み運動の動作及びスライド運動の動作がデータベース１４に１つずつ記録されている例を示しているが、実際には、同じ回転運動でも、例えば、回転角度が異なる複数の回転運動の動作がデータベース１４に記録されている。また、同じ押込み運動でも、例えば、押込み量が異なる複数の押込み運動の動作がデータベース１４に記録されている。また、同じスライド運動でも、例えば、スライド量が異なる複数のスライド運動の動作がデータベース１４に記録されている。
したがって、作業者の作業内容が、例えば、回転運動の動作であると推定されるだけでなく、回転角度が例えば６０度の回転運動の動作であると推定される。
【００３７】
ロボットコントローラ１０の制御プログラム作成処理部１７は、作業内容推定部１５により推定された作業内容と、変化検知部１２により検知された作業対象物ａの位置の変化とから、その作業内容の再現と作業対象物ａの搬送を行うロボット３０の制御プログラムを作成する（ステップＳＴ５）。
即ち、制御プログラム作成処理部１７は、変化検知部１２から出力された移動データＭから、部品箱Ｋ１に収納されている３次元位置（ｘ１，ｙ１，ｚ１）の作業対象物ａ５を部品箱Ｋ２の３次元位置（ｘ２，ｙ２，ｚ２）まで移動させる制御プログラムＰ１を作成する。
このとき、３次元位置（ｘ１，ｙ１，ｚ１）から３次元位置（ｘ２，ｙ２，ｚ２）への移動経路が、最短経路となるような制御プログラムＰ１が考えられるが、他の作業対象物ａ等が搬送経路に存在しているような場合には、他の作業対象物ａ等を迂回する経路となるような制御プログラムＰ１が作成される。
したがって、３次元位置（ｘ１，ｙ１，ｚ１）から３次元位置（ｘ２，ｙ２，ｚ２）への移動経路は、各種の経路が考えられるが、ロボット３０の関節の自由度に基づいて、ロボット３０のアームが移動可能な方向を考慮しながら、例えば、カーナビゲーション装置の経路探索技術を利用して、適宜、決定するようにすればよい。
【００３８】
図９はロボット３０が水平多関節型のロボットである場合の作業対象物ａ５の搬送例を示す説明図である。
ロボット３０が水平多関節型のロボットである場合、３次元位置（ｘ１，ｙ１，ｚ１）に存在する作業対象物ａ５を真上に引き上げてから、水平方向に移動し、その後、作業対象物ａ５を３次元位置（ｘ２，ｙ２，ｚ２）まで下げるような制御プログラムＰ１を作成する。
図１０はロボット３０が垂直多関節型のロボットである場合の作業対象物ａ５の搬送例を示す説明図である。
ロボット３０が垂直多関節型のロボットである場合、３次元位置（ｘ１，ｙ１，ｚ１）に存在する作業対象物ａ５を真上に引き上げてから、放物線を描くように移動し、その後、作業対象物ａ５を３次元位置（ｘ２，ｙ２，ｚ２）まで下げるような制御プログラムＰ１を作成する。
【００３９】
次に、制御プログラム作成処理部１７は、作業内容推定部１５により推定された作業内容を再現するロボット３０の制御プログラムＰ２を作成する。
例えば、作業内容推定部１５により推定された作業内容が、回転角度が９０度の回転運動の動作であれば、作業対象物ａを９０度回転させる制御プログラムＰ２を作成し、その作業内容が、押込み量が３ｃｍの押込み運動の動作であれば、作業対象物ａを３ｃｍ押し込む制御プログラムＰ２を作成する。また、その作業内容が、スライド量が５ｃｍのスライド運動の動作であれば、作業対象物ａを５ｃｍスライドさせる制御プログラムＰ２を作成する。
なお、図５、図９及び図１０の例では、作業内容として、作業対象物ａ５を部品箱Ｋ２の穴に押し込む動作を想定している。
この実施の形態１では、部品箱Ｋ１に収納されている作業対象物ａ５を搬送してから、その作業対象物ａ５を部品箱Ｋ２の穴に押し込む作業例を示しているが、これに限るものではなく、例えば、部品箱Ｋ１に収納されている作業対象物ａ５を搬送せずに、部品箱Ｋ１に収納されている作業対象物ａ５を回転させる作業や、その作業対象物ａを更に押し込む作業などであってもよい。このような作業の場合には、作業対象物ａ５を搬送する制御プログラムＰ１を作成せずに、作業内容推定部１５により推定された作業内容を再現する制御プログラムＰ２だけを作成することになる。
【００４０】
ロボットコントローラ１０の動作制御信号出力部１８は、制御プログラム作成処理部１７が制御プログラムを作成すると、その制御プログラムに対応するロボット３０の動作制御信号をロボット３０に出力する（ステップＳＴ６）。
例えば、作業対象物ａを回転させる場合、動作制御信号出力部１８は、ロボット３０が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物ａの回転量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物ａの回転量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット３０に出力する。
【００４１】
例えば、作業対象物ａを押し込む場合、動作制御信号出力部１８は、ロボット３０が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物ａの押込み量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物ａの押込み量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット３０に出力する。
例えば、作業対象物ａをスライドさせる場合、動作制御信号出力部１８は、ロボット３０が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物ａのスライド量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物ａのスライド量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット３０に出力する。
ロボット３０は、動作制御信号出力部１８から動作制御信号を受けると、その動作制御信号が示す回転量だけ、その動作制御信号が示すモータを回転させることで、作業対象物ａに対する作業を行う。
【００４２】
ここで、作業者は、ヘッドマウントディスプレイ４を装着しているが、そのヘッドマウントディスプレイ４が、外界が透けて見える光学シースルータイプであれば、ヘッドマウントディスプレイ４を装着していても、ガラス越しに部品箱Ｋ１，Ｋ２や作業対象物ａを見ることができる。
一方、そのヘッドマウントディスプレイ４が、ビデオタイプであれば、部品箱Ｋ１，Ｋ２や作業対象物ａを直接見ることができないので、映像音声出力部１９が、画像入力装置２により取得された画像をヘッドマウントディスプレイ４に表示することで、作業者が、部品箱Ｋ１，Ｋ２や作業対象物ａを確認できるようにする。
【００４３】
映像音声出力部１９は、変化検知部１２が作業対象物の位置の変化を検知する処理を実施している場合、位置の変化の検知処理中である旨を示す情報をヘッドマウントディスプレイ４に表示し、また、作業内容推定部１５が作業者の作業内容を推定する処理を実施している場合、作業内容の推定処理中である旨を示す情報をヘッドマウントディスプレイ４に表示する。
作業者は、ヘッドマウントディスプレイ４の表示内容を見ることで、現在、ロボット３０の制御プログラムの作成が行われていることを認識することができる。
また、映像音声出力部１９は、例えば、作業内容を指示するガイダンスが事前に登録されている場合、あるいは、外部からガイダンスが与えられる場合、そのガイダンスに関する音声データをスピーカ５に出力する。
これにより、作業者は、作業内容を確実に把握して、正しい作業を円滑に行うことができる。
【００４４】
作業者は、マイク３を通じて、ロボットコントローラ１０の操作を行うことができる。
即ち、作業者がロボットコントローラ１０の操作内容を発すると、操作編集部２０が、マイク３から入力された作業者の音声を解析して、ロボットコントローラ１０の操作内容を認識する。
また、作業者が、ロボットコントローラ１０の操作内容に対応するジェスチャを行うと、操作編集部２０が、画像入力装置２により取得された画像を解析して、ロボットコントローラ１０の操作内容を認識する。
ロボットコントローラ１０の操作内容として、部品箱Ｋ１，Ｋ２や作業対象物ａが映っている画像を、再度、ヘッドマウントディスプレイ４に表示する再生操作や、再生中の画像に映っている一連の作業の中の一部の作業を指定して、一部の作業のやり直しを要求する操作などが考えられる。
【００４５】
操作編集部２０は、部品箱Ｋ１，Ｋ２や作業対象物ａが映っている画像の再生操作を受けると、画像記録部１１に記録されている画像を読み出して、その画像をヘッドマウントディスプレイ４に表示する。
また、操作編集部２０は、一部の作業のやり直しを要求する操作を受けると、スピーカ５から一部の作業のやり直しを促すアナウンスを出力させるとともに、画像入力装置２に対して画像の取得指令を出力する。
【００４６】
操作編集部２０は、作業者が一部の作業のやり直しを行うと、画像入力装置２により取得された一部の作業が映っている画像を、画像記録部１１に記録されている画像にはめ込む画像編集を行う。
これにより、画像記録部１１に記録されている画像は、一連の作業のうち、一部の作業がやり直された画像に変更される。
操作編集部２０は、画像の編集が完了すると、画像記録部１１から編集後の画像を取得する指示を変化検知部１２及び手指動作検知部１３に出力する。
これにより、変化検知部１２及び手指動作検知部１３の処理が開始され、最終的には、編集後の画像に基づいて、ロボット３０の動作制御信号が作成されて、その動作制御信号がロボット３０に出力される。
【００４７】
以上で明らかなように、この実施の形態１によれば、画像入力装置２により取得された画像から作業者の手指の動作を検知する手指動作検知部１３と、手指動作検知部１３により検知された手指の動作から作業対象物ａに対する作業者の作業内容を推定する作業内容推定部１５とを設け、制御プログラム作成部１６が、作業内容推定部１５により推定された作業内容を再現するロボット３０の制御プログラムを作成するように構成したので、数多くのカメラを設置することなく、ロボット３０の制御プログラムを作成することができる効果を奏する。
即ち、作業内容推定部１５では、手指動作検知部１３により検知された手指の動作が、データベース１４に記録されている作業者の手指の動作と完全に一致していなくても、他の動作より一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、数多くのカメラを設置することなく、ロボット３０の制御プログラムを作成することができる。
【００４８】
また、この実施の形態１によれば、画像入力装置２により取得された画像から、作業対象物ａの位置の変化を検知する変化検知部１２を備え、制御プログラム作成部１６が、作業内容推定部１５により推定された作業内容と、変化検知部１２により検知された作業対象物の位置の変化とから、作業内容の再現と作業対象物ａの搬送を行うロボットの制御プログラムを作成するように構成したので、作業対象物ａの搬送を伴う場合でも、ロボット３０の制御プログラムを作成することができる効果を奏する。
【００４９】
また、この実施の形態１によれば、画像入力装置として、ウェアラブル機器１に実装されている画像入力装置２が用いられるように構成したので、作業台の近辺に固定のカメラを設置することなく、ロボット３０の制御プログラムを作成することができる効果を奏する。
【００５０】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００５１】
この発明に係るロボット教示装置及びロボット制御プログラム作成方法は、作業者の作業内容をロボットに教示する際、カメラの設置台数を減らす必要があるものに適している。
【符号の説明】
【００５２】
１  ウェアラブル機器、２  画像入力装置、３  マイク、４  ヘッドマウントディスプレイ、５  スピーカ、１０  ロボットコントローラ、１１  画像記録部、１２  変化検知部、１３  手指動作検知部、１４  データベース、１５  作業内容推定部、１６  制御プログラム作成部、１７  制御プログラム作成処理部、１８  動作制御信号出力部、１９  映像音声出力部、２０  操作編集部、３０  ロボット、４１  記憶装置、４２  変化検知処理回路、４３  手指動作検知処理回路、４４  作業内容推定処理回路、４５  制御プログラム作成処理回路、４６  動作制御信号出力処理回路、４７  出力インタフェース機器、４８  入力インタフェース機器、５１  メモリ、５２  プロセッサ、ａ１〜ａ８  作業対象物、Ｋ１，Ｋ２  部品箱。
【図１】
2017130389.tif 000003
【図２】
2017130389.tif 000004
【図３】
2017130389.tif 000005
【図４】
2017130389.tif 000006
【図５】
2017130389.tif 000007
【図６】
2017130389.tif 000008
【図７】
2017130389.tif 000009
【図８】
2017130389.tif 000010
【図９】
2017130389.tif 000011
【図１０】
2017130389.tif 000012
【手続補正書】
【提出日】平成28年8月2日(2016.8.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
この発明に係るロボット教示装置は、作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、画像入力装置により取得された画像から作業者の手指の一連の動作を検知する手指動作検知部と、手指動作検知部により検知された手指の一連の動作から、作業対象物に対する作業者の作業内容を推定する作業内容推定部とを設け、制御プログラム作成部が、作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成するようにしたものである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
この発明によれば、画像入力装置により取得された画像から作業者の手指の一連の動作を検知し、その手指の一連の動作から作業対象物に対する作業者の作業内容を推定して、その作業内容を再現するロボットの制御プログラムを作成するように構成したので、数多くのカメラを設置することなく、ロボットの制御プログラムを作成することができる効果がある。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、
前記画像入力装置により取得された画像から作業者の手指の一連の動作を検知する手指動作検知部と、
前記手指動作検知部により検知された手指の一連の動作から、前記作業対象物に対する前記作業者の作業内容を推定する作業内容推定部と、
前記作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成する制御プログラム作成部と、
作業者の複数の手指の一連の動作と、各々の手指の一連の動作と前記作業者の作業内容との対応関係を記録しているデータベースを備え、
前記作業内容推定部は、前記手指動作検知部により検知された手指の一連の動作と、前記データベースに記録されている作業者の複数の手指の一連の動作とを照合して、前記手指動作検知部により検知された手指の一連の動作と対応関係がある作業内容を特定することを特徴とするロボット教示装置。
【請求項２】
前記画像入力装置により取得された画像から、前記作業対象物の位置の変化を検知する変化検知部を備え、
前記制御プログラム作成部は、前記作業内容推定部により推定された作業内容と、前記変化検知部により検知された作業対象物の位置の変化とから、前記作業内容の再現と前記作業対象物の搬送を行うロボットの制御プログラムを作成することを特徴とする請求項１記載のロボット教示装置。
【請求項３】
前記変化検知部は、前記画像入力装置により取得された画像のうち、前記作業対象物が搬送される前の画像と、前記作業対象物が搬送された後の画像との差分画像から、前記作業対象物の位置の変化を検知することを特徴とする請求項２記載のロボット教示装置。
【請求項４】
前記制御プログラム作成部は、前記ロボットの制御プログラムに対応するロボットの動作制御信号を前記ロボットに出力することを特徴とする請求項１記載のロボット教示装置。
【請求項５】
前記画像入力装置として、ウェアラブル機器に実装されている画像入力装置が用いられることを特徴とする請求項１記載のロボット教示装置。
【請求項６】
前記ウェアラブル機器は、ヘッドマウントディスプレイを含んでいることを特徴とする請求項５記載のロボット教示装置。
【請求項７】
前記画像入力装置は、１台のカメラを含んでおり、前記カメラにより撮影された画像を取得することを特徴とする請求項１記載のロボット教示装置。
【請求項８】
前記画像入力装置は、ステレオカメラを含んでおり、前記ステレオカメラにより撮影された画像を取得することを特徴とする請求項１記載のロボット教示装置。
【請求項９】
画像入力装置が、作業者の手指及び作業対象物が映っている画像を取得し、
手指動作検知部が、前記画像入力装置により取得された画像から作業者の手指の一連の動作を検知し、
作業内容推定部が、前記手指動作検知部により検知された手指の一連の動作から、前記作業対象物に対する前記作業者の作業内容を推定し、
制御プログラム作成部が、前記作業内容推定部により推定された作業内容から、前記作業内容の再現を行うロボットの制御プログラムを作成する
ロボット制御プログラム作成方法。
【国際調査報告】
2017130389.tif 000013
2017130389.tif 000014
2017130389.tif 000015
2017130389.tif 000016