JP6038417B1 - ロボット教示装置及びロボット制御プログラム作成方法 - Google Patents
ロボット教示装置及びロボット制御プログラム作成方法 Download PDFInfo
- Publication number
- JP6038417B1 JP6038417B1 JP2016549591A JP2016549591A JP6038417B1 JP 6038417 B1 JP6038417 B1 JP 6038417B1 JP 2016549591 A JP2016549591 A JP 2016549591A JP 2016549591 A JP2016549591 A JP 2016549591A JP 6038417 B1 JP6038417 B1 JP 6038417B1
- Authority
- JP
- Japan
- Prior art keywords
- work
- image
- robot
- control program
- finger
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/02—Hand grip control means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35444—Gesture interface, controlled machine observes operator, executes commands
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36442—Automatically teaching, teach by showing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39451—Augmented reality for robot programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
画像入力装置(2)により取得された画像から作業対象物の位置の変化を検知する変化検知部(12)と、画像入力装置(2)により取得された画像から作業者の手指の動作を検知する手指動作検知部(13)と、手指動作検知部(13)により検知された手指の動作から作業対象物に対する作業者の作業内容を推定する作業内容推定部(15)とを設け、制御プログラム作成部(16)が、作業内容推定部(15)により推定された作業内容と、変化検知部(12)により検知された作業対象物の位置の変化とから、作業内容の再現と作業対象物の搬送を行うロボット(30)の制御プログラムを作成する。
Description
この発明は、作業者の作業内容をロボットに教示するロボット教示装置及びロボット制御プログラム作成方法に関するものである。
以下の特許文献1には、複数のカメラにより撮影された画像から、組み立て作業を行う作業者の三次元位置及び方向を検知し、その作業者の三次元位置及び方向からロボットの動作プログラムを作成するロボット教示装置が開示されている。
従来のロボット教示装置は以上のように構成されているので、組み立て作業を行う作業者の三次元位置及び方向からロボットの動作プログラムを作成するには、作業者による組み立て作業の全てが漏れなく撮影されている必要がある。このため、作業者による組み立て作業の映っていない箇所が存在しないように、数多くのカメラを設置する必要があるという課題があった。
この発明は上記のような課題を解決するためになされたもので、数多くのカメラを設置することなく、ロボットの制御プログラムを作成することができるロボット教示装置及びロボット制御プログラム作成方法を得ることを目的とする。
この発明に係るロボット教示装置は、作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、画像入力装置により取得された画像から作業者の手指の一連の動作を検知する手指動作検知部と、手指動作検知部により検知された手指の一連の動作から、作業対象物に対する作業者の作業内容を推定する作業内容推定部とを設け、制御プログラム作成部が、作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成するようにしたものである。
この発明によれば、画像入力装置により取得された画像から作業者の手指の一連の動作を検知し、その手指の一連の動作から作業対象物に対する作業者の作業内容を推定して、その作業内容を再現するロボットの制御プログラムを作成するように構成したので、数多くのカメラを設置することなく、ロボットの制御プログラムを作成することができる効果がある。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面にしたがって説明する。
実施の形態1.
図1はこの発明の実施の形態1によるロボット教示装置を示す構成図であり、図2はこの発明の実施の形態1によるロボット教示装置におけるロボットコントローラ10のハードウェア構成図である。
図1及び図2において、ウェアラブル機器1は作業者に装着され、画像入力装置2、マイク3、ヘッドマウントディスプレイ4及びスピーカ5を含んでいる。
画像入力装置2は1台のカメラを含んでおり、1台のカメラにより撮影された画像を取得する。
ここで、画像入力装置2に含まれているカメラは、被写体の二次元情報の他に、被写体までの距離を示す奥行き情報も取得可能なステレオカメラを想定している。あるいは、被写体の二次元情報の取得が可能な2次元カメラに対して、被写体までの距離を示す奥行き情報の取得が可能な深度センサが取り付けられているカメラを想定している。
なお、画像入力装置2により取得される画像としては、所定のサンプリング間隔で繰り返し撮影されたコマ撮り動画や、異なる時刻にそれぞれ撮影された静止画などが考えられる。
図1はこの発明の実施の形態1によるロボット教示装置を示す構成図であり、図2はこの発明の実施の形態1によるロボット教示装置におけるロボットコントローラ10のハードウェア構成図である。
図1及び図2において、ウェアラブル機器1は作業者に装着され、画像入力装置2、マイク3、ヘッドマウントディスプレイ4及びスピーカ5を含んでいる。
画像入力装置2は1台のカメラを含んでおり、1台のカメラにより撮影された画像を取得する。
ここで、画像入力装置2に含まれているカメラは、被写体の二次元情報の他に、被写体までの距離を示す奥行き情報も取得可能なステレオカメラを想定している。あるいは、被写体の二次元情報の取得が可能な2次元カメラに対して、被写体までの距離を示す奥行き情報の取得が可能な深度センサが取り付けられているカメラを想定している。
なお、画像入力装置2により取得される画像としては、所定のサンプリング間隔で繰り返し撮影されたコマ撮り動画や、異なる時刻にそれぞれ撮影された静止画などが考えられる。
ロボットコントローラ10はウェアラブル機器1の画像入力装置2により取得された画像から、ロボット30の制御プログラムを作成して、その制御プログラムに対応するロボット30の動作制御信号をロボット30に出力する装置である。
なお、ウェアラブル機器1とロボットコントローラ10の間の接続は、有線接続でもよいし、無線接続でもよい。
なお、ウェアラブル機器1とロボットコントローラ10の間の接続は、有線接続でもよいし、無線接続でもよい。
画像記録部11は例えばRAM(Random Access Memory)やハードディスクなどの記憶装置41によって実現されるものであり、画像入力装置2により取得された画像を記録する。
変化検知部12は例えばCPU(Central Processing Unit)を搭載している半導体集積回路、ワンチップマイコン、あるいは、GPU(Graphics Processing Unit)などを実装している変化検知処理回路42によって実現されるものであり、画像記録部11に記録されている画像から、作業対象物の位置の変化を検知する処理を実施する。即ち、画像記録部11に記録されている画像のうち、作業対象物が搬送される前の画像と、作業対象物が搬送された後の画像との差分画像を求め、その差分画像から作業対象物の位置の変化を検知する処理を実施する。
変化検知部12は例えばCPU(Central Processing Unit)を搭載している半導体集積回路、ワンチップマイコン、あるいは、GPU(Graphics Processing Unit)などを実装している変化検知処理回路42によって実現されるものであり、画像記録部11に記録されている画像から、作業対象物の位置の変化を検知する処理を実施する。即ち、画像記録部11に記録されている画像のうち、作業対象物が搬送される前の画像と、作業対象物が搬送された後の画像との差分画像を求め、その差分画像から作業対象物の位置の変化を検知する処理を実施する。
手指動作検知部13は例えばCPUを搭載している半導体集積回路、ワンチップマイコン、あるいは、GPUなどを実装している手指動作検知処理回路43によって実現されるものであり、画像記録部11に記録されている画像から作業者の手指の動作を検知する処理を実施する。
データベース14は例えば記憶装置41によって実現されるものであり、作業者の複数の手指の動作として、例えば、作業対象物を回転させる際の動作、作業対象物を押し込む際の動作、作業対象物をスライドさせる際の動作などを記録している。
また、データベース14は各々の手指の動作と作業者の作業内容との対応関係を記録している。
データベース14は例えば記憶装置41によって実現されるものであり、作業者の複数の手指の動作として、例えば、作業対象物を回転させる際の動作、作業対象物を押し込む際の動作、作業対象物をスライドさせる際の動作などを記録している。
また、データベース14は各々の手指の動作と作業者の作業内容との対応関係を記録している。
作業内容推定部15は例えばCPUを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している作業内容推定処理回路44によって実現されるものであり、手指動作検知部13により検知された手指の動作から、作業対象物に対する作業者の作業内容を推定する処理を実施する。即ち、手指動作検知部13により検知された手指の動作と、データベース14に記録されている作業者の複数の手指の動作とを照合して、手指動作検知部13により検知された手指の動作と対応関係がある作業内容を特定する処理を実施する。
制御プログラム作成部16は制御プログラム作成処理部17と動作制御信号出力部18とを含んでいる。
制御プログラム作成処理部17は例えばCPUを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している制御プログラム作成処理回路45によって実現されるものであり、作業内容推定部15により推定された作業内容と、変化検知部12により検知された作業対象物の位置の変化とから、その作業内容の再現と作業対象物の搬送を行うロボット30の制御プログラムを作成する処理を実施する。
動作制御信号出力部18は例えばCPUを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している動作制御信号出力処理回路46によって実現されるものであり、制御プログラム作成処理部17により作成された制御プログラムに対応するロボット30の動作制御信号をロボット30に出力する処理を実施する。
制御プログラム作成処理部17は例えばCPUを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している制御プログラム作成処理回路45によって実現されるものであり、作業内容推定部15により推定された作業内容と、変化検知部12により検知された作業対象物の位置の変化とから、その作業内容の再現と作業対象物の搬送を行うロボット30の制御プログラムを作成する処理を実施する。
動作制御信号出力部18は例えばCPUを搭載している半導体集積回路、あるいは、ワンチップマイコンなどを実装している動作制御信号出力処理回路46によって実現されるものであり、制御プログラム作成処理部17により作成された制御プログラムに対応するロボット30の動作制御信号をロボット30に出力する処理を実施する。
映像音声出力部19はヘッドマウントディスプレイ4及びスピーカ5に対する出力インタフェース機器47と、画像入力装置2に対する入力インタフェース機器48とによって実現されるものであり、例えば、画像入力装置2により取得された画像をヘッドマウントディスプレイ4に表示するほか、作業内容の推定処理中である旨を示す情報や、位置変化の検知処理中である旨を示す情報などをヘッドマウントディスプレイ4に表示する処理を実施する。
また、映像音声出力部19は作業内容を指示するガイダンスなどに関する音声データをスピーカ5に出力する処理を実施する。
操作編集部20は画像入力装置2及びマイク3に対する入力インタフェース機器48と、画像入力装置2に対する出力インタフェース機器47とによって実現されるものであり、例えば、マイク3から入力された作業者の音声にしたがって画像記録部11に記録されている画像を編集する処理を実施する。
ロボット30はロボットコントローラ10から出力された動作制御信号にしたがって動作を行う装置である。
また、映像音声出力部19は作業内容を指示するガイダンスなどに関する音声データをスピーカ5に出力する処理を実施する。
操作編集部20は画像入力装置2及びマイク3に対する入力インタフェース機器48と、画像入力装置2に対する出力インタフェース機器47とによって実現されるものであり、例えば、マイク3から入力された作業者の音声にしたがって画像記録部11に記録されている画像を編集する処理を実施する。
ロボット30はロボットコントローラ10から出力された動作制御信号にしたがって動作を行う装置である。
図1の例では、ロボット教示装置におけるロボットコントローラ10の構成要素である画像記録部11、変化検知部12、手指動作検知部13、データベース14、作業内容推定部15、制御プログラム作成処理部17、動作制御信号出力部18、映像音声出力部19及び操作編集部20のそれぞれが専用のハードウェアで構成されているものを想定しているが、ロボットコントローラ10がコンピュータで構成されていてもよい。
図3はロボットコントローラ10がコンピュータで構成される場合のロボットコントローラ10のハードウェア構成図である。
ロボットコントローラ10がコンピュータで構成される場合、画像記録部11及びデータベース14をコンピュータのメモリ51上に構築するとともに、変化検知部12、手指動作検知部13、作業内容推定部15、制御プログラム作成処理部17、動作制御信号出力部18、映像音声出力部19及び操作編集部20の処理内容を記述しているプログラムをコンピュータのメモリ51に格納し、コンピュータのプロセッサ52がメモリ51に格納されているプログラムを実行するようにすればよい。
図4はこの発明の実施の形態1によるロボット教示装置におけるロボットコントローラ10の処理内容であるロボット制御プログラム作成方法を示すフローチャートである。
図3はロボットコントローラ10がコンピュータで構成される場合のロボットコントローラ10のハードウェア構成図である。
ロボットコントローラ10がコンピュータで構成される場合、画像記録部11及びデータベース14をコンピュータのメモリ51上に構築するとともに、変化検知部12、手指動作検知部13、作業内容推定部15、制御プログラム作成処理部17、動作制御信号出力部18、映像音声出力部19及び操作編集部20の処理内容を記述しているプログラムをコンピュータのメモリ51に格納し、コンピュータのプロセッサ52がメモリ51に格納されているプログラムを実行するようにすればよい。
図4はこの発明の実施の形態1によるロボット教示装置におけるロボットコントローラ10の処理内容であるロボット制御プログラム作成方法を示すフローチャートである。
図5は作業者の作業風景を示す説明図である。
図5では、ウェアラブル機器1である画像入力装置2、マイク3、ヘッドマウントディスプレイ4及びスピーカ5を装着している作業者が、部品箱K1に収納されている円筒形の作業対象物a1〜a8の中から、作業対象物a5を取り出して、作業台であるベルトコンベアに載って移動している部品箱K2の穴に、作業対象物a5を押し込む作業を行う例を示している。
以下、作業対象物a1〜a8を区別しない場合には、作業対象物aと称することがある。
図5では、ウェアラブル機器1である画像入力装置2、マイク3、ヘッドマウントディスプレイ4及びスピーカ5を装着している作業者が、部品箱K1に収納されている円筒形の作業対象物a1〜a8の中から、作業対象物a5を取り出して、作業台であるベルトコンベアに載って移動している部品箱K2の穴に、作業対象物a5を押し込む作業を行う例を示している。
以下、作業対象物a1〜a8を区別しない場合には、作業対象物aと称することがある。
図6は作業者による作業直前の画像と作業直後の画像を示す説明図である。
作業直前の画像には、8本の作業対象物a1〜a8を収納している部品箱K1と、作業台であるベルトコンベアに載っている部品箱K2とが映っている。
また、作業直後の画像には、部品箱K1から作業対象物a5が抜き取られたことで、7本の作業対象物a1〜a4,a6〜a8を収納している部品箱K1と、作業対象物a5を収納している部品箱K2とが映っている。
以下、部品箱K1が映っている画像を部品箱画像A、部品箱K2が映っている画像を部品箱画像Bとする。
作業直前の画像には、8本の作業対象物a1〜a8を収納している部品箱K1と、作業台であるベルトコンベアに載っている部品箱K2とが映っている。
また、作業直後の画像には、部品箱K1から作業対象物a5が抜き取られたことで、7本の作業対象物a1〜a4,a6〜a8を収納している部品箱K1と、作業対象物a5を収納している部品箱K2とが映っている。
以下、部品箱K1が映っている画像を部品箱画像A、部品箱K2が映っている画像を部品箱画像Bとする。
図7はデータベース14に記録されている作業者の複数の手指の動作を示す説明図である。
図7では、作業者の複数の手指の動作の例として、作業対象物aを回転させる際の動作である回転運動の動作と、作業対象物aを押し込む際の動作である押込み運動の動作と、作業対象物aをスライドさせる際の動作であるスライド運動の動作とを示している。
図7では、作業者の複数の手指の動作の例として、作業対象物aを回転させる際の動作である回転運動の動作と、作業対象物aを押し込む際の動作である押込み運動の動作と、作業対象物aをスライドさせる際の動作であるスライド運動の動作とを示している。
次に動作について説明する。
ウェアラブル機器1の画像入力装置2に含まれているカメラは、所定のサンプリング間隔で、作業対象物a1〜a8及び部品箱K1,K2を繰り返し撮影する(図4のステップST1)。
画像入力装置2に含まれているカメラによって繰り返し撮影された画像は、ロボットコントローラ10の画像記録部11に記録される。
ウェアラブル機器1の画像入力装置2に含まれているカメラは、所定のサンプリング間隔で、作業対象物a1〜a8及び部品箱K1,K2を繰り返し撮影する(図4のステップST1)。
画像入力装置2に含まれているカメラによって繰り返し撮影された画像は、ロボットコントローラ10の画像記録部11に記録される。
ロボットコントローラ10の変化検知部12は、画像記録部11に記録されている画像から、作業対象物aの位置の変化を検知する(ステップST2)。
以下、変化検知部12による作業対象物aの位置の変化検知処理を具体的に説明する。
まず、変化検知部12は、画像記録部11に記録されている複数の画像を読み出し、読み出した各々の画像の中から、例えば、デジタルカメラに搭載されている顔画像の検出処理に用いられる一般的な画像センシング技術を利用して、作業対象物aを収納している部品箱K1の画像である部品箱画像Aと、部品箱K2の画像である部品箱画像Bとを抽出する。
以下、変化検知部12による作業対象物aの位置の変化検知処理を具体的に説明する。
まず、変化検知部12は、画像記録部11に記録されている複数の画像を読み出し、読み出した各々の画像の中から、例えば、デジタルカメラに搭載されている顔画像の検出処理に用いられる一般的な画像センシング技術を利用して、作業対象物aを収納している部品箱K1の画像である部品箱画像Aと、部品箱K2の画像である部品箱画像Bとを抽出する。
画像センシング技術については公知の技術であるため詳細な説明を省略するが、例えば、部品箱K1,K2及び作業対象物aの3次元形状を事前に記憶し、画像記録部11から読み出した画像内に存在している物体の3次元形状を、事前に記憶している3次元形状と照合することで、画像内に存在している物体が、部品箱K1,K2であるのか、作業対象物aであるのか、それ以外の物体であるのかを判別することができる。
変化検知部12は、各々の画像の中から部品箱画像A,Bをそれぞれ抽出すると、各々の部品箱画像A,Bから、作業対象物a1〜a8の形状に関する複数の特徴点を検出して、複数の特徴点の3次元位置を特定する。
この実施の形態1では、作業対象物a1〜a8が部品箱K1又は部品箱K2に収納されている状態を想定しているため、作業対象物a1〜a8の形状に関する特徴点として、例えば、部品箱K1又は部品箱K2に収納されている状態での円筒の上端の中心点などが考えられる。特徴点についても、画像センシング技術を利用することで検出することができる。
この実施の形態1では、作業対象物a1〜a8が部品箱K1又は部品箱K2に収納されている状態を想定しているため、作業対象物a1〜a8の形状に関する特徴点として、例えば、部品箱K1又は部品箱K2に収納されている状態での円筒の上端の中心点などが考えられる。特徴点についても、画像センシング技術を利用することで検出することができる。
変化検知部12は、各々の部品箱画像A,Bから、作業対象物a1〜a8の形状に関する特徴点を検出して、特徴点の3次元位置を特定すると、作業対象物a1〜a8における特徴点の3次元位置の変化を検出する。
ここで、例えば、撮影時刻T1,T2,T3の部品箱画像Aには、8本の作業対象物a1〜a8が映っている。撮影時刻T4,T5,T6の部品箱画像Aには、7本の作業対象物a1〜a4,a6〜a8が映っているが、作業対象物a5が映っておらず、また、部品箱画像Bにも作業対象物a5が映っていない。撮影時刻T7,T8,T9の部品箱画像Aには、7本の作業対象物a1〜a4,a6〜a8が映っており、部品箱画像Bには、1本の作業対象物a5が映っている場合を想定する。
このような場合、7本の作業対象物a1〜a4,a6〜a8は移動していないため、作業対象物a1〜a4,a6〜a8における特徴点の3次元位置の変化は検出されない。
一方、作業対象物a5は、撮影時刻T3の後、撮影時刻T7の前まで間に移動しているため、作業対象物a5における特徴点の3次元位置の変化が検出される。
ここで、例えば、撮影時刻T1,T2,T3の部品箱画像Aには、8本の作業対象物a1〜a8が映っている。撮影時刻T4,T5,T6の部品箱画像Aには、7本の作業対象物a1〜a4,a6〜a8が映っているが、作業対象物a5が映っておらず、また、部品箱画像Bにも作業対象物a5が映っていない。撮影時刻T7,T8,T9の部品箱画像Aには、7本の作業対象物a1〜a4,a6〜a8が映っており、部品箱画像Bには、1本の作業対象物a5が映っている場合を想定する。
このような場合、7本の作業対象物a1〜a4,a6〜a8は移動していないため、作業対象物a1〜a4,a6〜a8における特徴点の3次元位置の変化は検出されない。
一方、作業対象物a5は、撮影時刻T3の後、撮影時刻T7の前まで間に移動しているため、作業対象物a5における特徴点の3次元位置の変化が検出される。
なお、作業対象物a1〜a8における特徴点の3次元位置の変化は、異なる撮影時刻Tにおける部品箱画像A同士の差分や、部品箱画像B同士の差分を求めることで、検出することができる。即ち、作業対象物aにおける特徴点の3次元位置の変化が無ければ、作業対象物aが差分画像に現れないが、作業対象物aにおける特徴点の3次元位置の変化があれば、作業対象物aが差分画像に現れるため、差分画像内の作業対象物aの有無から、作業対象物aにおける特徴点の3次元位置の変化の有無を判別することができる。
変化検知部12は、作業対象物aにおける特徴点の3次元位置の変化を検出すると、変化直前の撮影時刻Tと、変化直後の撮影時刻Tとを特定する。
上記の例では、変化直前の撮影時刻Tとして撮影時刻T3が特定され、変化直後の撮影時刻Tとして撮影時刻T7が特定される。
図6には、撮影時刻T3の部品箱画像A,Bと、撮影時刻T7の部品箱画像A,Bとを表している。
上記の例では、変化直前の撮影時刻Tとして撮影時刻T3が特定され、変化直後の撮影時刻Tとして撮影時刻T7が特定される。
図6には、撮影時刻T3の部品箱画像A,Bと、撮影時刻T7の部品箱画像A,Bとを表している。
変化検知部12は、作業対象物a5における特徴点の3次元位置の変化を検出するとともに、変化直前の撮影時刻Tとして撮影時刻T3を特定し、変化直後の撮影時刻Tとして撮影時刻T7を特定すると、撮影時刻T3の部品箱画像A内の作業対象物a5における特徴点の3次元位置と、撮影時刻T7の部品箱画像B内の作業対象物a5における特徴点の3次元位置とから、作業対象物a5の位置の変化を示す移動データMを算出する。
例えば、撮影時刻T3の部品箱画像A内の作業対象物a5における特徴点の3次元位置が(x1,y1,z1)、撮影時刻T7の部品箱画像B内の作業対象物a5における特徴点の3次元位置が(x2,y2,z2)であるとすれば、下記の式(1)のように、作業対象物a5の移動量ΔMを算出する。
ΔM=(ΔMx,ΔMy,ΔMz) (1)
ΔMx=x2−x1
ΔMy=y2−y1
ΔMz=z2−z1
変化検知部12は、作業対象物a5の移動量ΔMと、移動前の3次元位置(x1,y1,z1)と、移動後の3次元位置(x2,y2,z2)とを含む移動データMを制御プログラム作成処理部17に出力する。
例えば、撮影時刻T3の部品箱画像A内の作業対象物a5における特徴点の3次元位置が(x1,y1,z1)、撮影時刻T7の部品箱画像B内の作業対象物a5における特徴点の3次元位置が(x2,y2,z2)であるとすれば、下記の式(1)のように、作業対象物a5の移動量ΔMを算出する。
ΔM=(ΔMx,ΔMy,ΔMz) (1)
ΔMx=x2−x1
ΔMy=y2−y1
ΔMz=z2−z1
変化検知部12は、作業対象物a5の移動量ΔMと、移動前の3次元位置(x1,y1,z1)と、移動後の3次元位置(x2,y2,z2)とを含む移動データMを制御プログラム作成処理部17に出力する。
ロボットコントローラ10の手指動作検知部13は、画像記録部11に記録されている画像から作業者の手指の動作を検知する(ステップST3)。
以下、手指動作検知部13による手指の動作の検知処理を具体的に説明する。
手指動作検知部13は、画像記録部11に記録されている複数の画像の中から、変化直前の画像から変化直後の画像までの一連の画像の読み出しを行う。
上記の例では、変化検知部12が変化直前の撮影時刻Tとして撮影時刻T3を特定し、変化直後の撮影時刻Tとして撮影時刻T7を特定しているので、画像記録部11に記録されている複数の画像の中から、撮影時刻T3の画像、撮影時刻T4の画像、撮影時刻T5の画像、撮影時刻T6の画像、撮影時刻T7の画像の読み出しを行う。
以下、手指動作検知部13による手指の動作の検知処理を具体的に説明する。
手指動作検知部13は、画像記録部11に記録されている複数の画像の中から、変化直前の画像から変化直後の画像までの一連の画像の読み出しを行う。
上記の例では、変化検知部12が変化直前の撮影時刻Tとして撮影時刻T3を特定し、変化直後の撮影時刻Tとして撮影時刻T7を特定しているので、画像記録部11に記録されている複数の画像の中から、撮影時刻T3の画像、撮影時刻T4の画像、撮影時刻T5の画像、撮影時刻T6の画像、撮影時刻T7の画像の読み出しを行う。
手指動作検知部13は、撮影時刻T3〜T7の画像を読み出すと、読み出した各々の画像の中から、例えば、画像センシング技術を利用して、作業者の手指が映っている部分を検知し、作業者の手指が映っている部分の画像(以下、「手指画像」と称する)を抽出する。
画像センシング技術については公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の3次元形状を事前に記憶に登録し、画像記録部11から読み出した画像内に存在している物体の3次元形状を、事前に記憶している3次元形状と照合することで、画像内に存在している物体が作業者の手指であるか否かを判別することができる。
画像センシング技術については公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の3次元形状を事前に記憶に登録し、画像記録部11から読み出した画像内に存在している物体の3次元形状を、事前に記憶している3次元形状と照合することで、画像内に存在している物体が作業者の手指であるか否かを判別することができる。
手指動作検知部13は、各々の画像の中から手指画像をそれぞれ抽出すると、例えば、モーションキャプチャ技術を利用して、それぞれ抽出した手指画像から、作業者の手指の動作を検知する。
モーションキャプチャ技術は、以下の特許文献2にも開示されている公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の形状に関する複数の特徴点を検出して、複数の特徴点の3次元位置の変化を追跡することで、作業者の手指の動作を検知することができる。
人間の手指の形状に関する特徴点としては、指の関節、指の先端、指の付け根、手首などが考えられる。
[特許文献2]特開2007−121217号公報
モーションキャプチャ技術は、以下の特許文献2にも開示されている公知の技術であるため詳細な説明を省略するが、例えば、人間の手指の形状に関する複数の特徴点を検出して、複数の特徴点の3次元位置の変化を追跡することで、作業者の手指の動作を検知することができる。
人間の手指の形状に関する特徴点としては、指の関節、指の先端、指の付け根、手首などが考えられる。
[特許文献2]特開2007−121217号公報
この実施の形態1では、複数の手指画像に対する画像処理で、人間の手指の形状に関する複数の特徴点を検出し、複数の特徴点の3次元位置の変化を追跡することで、作業者の手指の動作を検知することを想定しているが、例えば、作業者の手指にマーカ付きグローブを装着している場合には、複数の手指画像に映っているマーカの位置を検出して、複数のマーカの3次元位置の変化を追跡することで、作業者の手指の動作を検知するようにしてもよい。
また、作業者の手指に力覚センサ付きグローブを装着している場合には、力覚センサのセンサ信号の変化を追跡することで、作業者の手指の動作を検知するようにしてもよい。
この実施の形態1では、作業対象物aを回転させる際の動作である回転運動の動作、作業対象物aを押し込む際の動作である押込み運動の動作、あるいは、作業対象物aをスライドさせる際の動作であるスライド運動の動作を検知することを想定しているが、検知動作は、これらの動作に限るものではなく、他の運動を検知するものであってもよい。
また、作業者の手指に力覚センサ付きグローブを装着している場合には、力覚センサのセンサ信号の変化を追跡することで、作業者の手指の動作を検知するようにしてもよい。
この実施の形態1では、作業対象物aを回転させる際の動作である回転運動の動作、作業対象物aを押し込む際の動作である押込み運動の動作、あるいは、作業対象物aをスライドさせる際の動作であるスライド運動の動作を検知することを想定しているが、検知動作は、これらの動作に限るものではなく、他の運動を検知するものであってもよい。
ここで、図8は作業者が作業対象物aを回転させる動作を行っているときの特徴点の変化を示す説明図である。
図8において、矢印は、複数の特徴点の間を結んでいるリンクであり、例えば、親指の手根中手関節の特徴点と、親指の中手指関節の特徴点と、親指の指節間関節の特徴点と、親指の先端の特徴点とを結んでいるリンクの変化を見れば、親指の動きの変化を確認することができる。
回転運動の動作としては、例えば、伸ばしている親指を時計方向に回転させながら、指節間関節を曲げた状態で、指節間関節より付け根部分が親指と略平行になっている人差指を時計方向に回転させている動作などが考えられる。
なお、図8では、親指と人差指の変化に着目している動きと、手の甲の幅、長さ及び手首の向きの変化に着目している動きとを示している。
図8において、矢印は、複数の特徴点の間を結んでいるリンクであり、例えば、親指の手根中手関節の特徴点と、親指の中手指関節の特徴点と、親指の指節間関節の特徴点と、親指の先端の特徴点とを結んでいるリンクの変化を見れば、親指の動きの変化を確認することができる。
回転運動の動作としては、例えば、伸ばしている親指を時計方向に回転させながら、指節間関節を曲げた状態で、指節間関節より付け根部分が親指と略平行になっている人差指を時計方向に回転させている動作などが考えられる。
なお、図8では、親指と人差指の変化に着目している動きと、手の甲の幅、長さ及び手首の向きの変化に着目している動きとを示している。
ロボットコントローラ10の作業内容推定部15は、手指動作検知部13が作業者の手指の動作を検知すると、その手指の動作から作業対象物aに対する作業者の作業内容を推定する(ステップST4)。
即ち、作業内容推定部15は、手指動作検知部13により検知された手指の動作と、データベース14に記録されている作業者の複数の手指の動作とを照合して、手指動作検知部13により検知された手指の動作と対応関係がある作業内容を特定する。
図7の例では、回転運動の動作と、押込み運動の動作と、スライド運動の動作とがデータベース14に記録されているので、手指動作検知部13により検知された手指の動作と、データベース14に記録されている回転運動の動作、押込み運動の動作及びスライド運動の動作とを照合する。
即ち、作業内容推定部15は、手指動作検知部13により検知された手指の動作と、データベース14に記録されている作業者の複数の手指の動作とを照合して、手指動作検知部13により検知された手指の動作と対応関係がある作業内容を特定する。
図7の例では、回転運動の動作と、押込み運動の動作と、スライド運動の動作とがデータベース14に記録されているので、手指動作検知部13により検知された手指の動作と、データベース14に記録されている回転運動の動作、押込み運動の動作及びスライド運動の動作とを照合する。
照合の結果、回転運動の動作、押込み運動の動作及びスライド運動の動作の中で、例えば、回転運動の動作の一致度が最も高ければ、作業者の作業内容が、回転運動の動作であると推定される。
また、押込み運動の動作の一致度が最も高ければ、作業者の作業内容が、押込み運動の動作であると推定され、スライド運動の動作の一致度が最も高ければ、作業者の作業内容が、スライド運動の動作であると推定される。
作業内容推定部15では、手指動作検知部13により検知された手指の動作が、データベース14に記録されている作業者の手指の動作と完全に一致していなくても、データベース14に記録されている作業者の手指の動作の中で、一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、少ない台数のカメラでも、作業者の作業内容を推定することができる。
また、押込み運動の動作の一致度が最も高ければ、作業者の作業内容が、押込み運動の動作であると推定され、スライド運動の動作の一致度が最も高ければ、作業者の作業内容が、スライド運動の動作であると推定される。
作業内容推定部15では、手指動作検知部13により検知された手指の動作が、データベース14に記録されている作業者の手指の動作と完全に一致していなくても、データベース14に記録されている作業者の手指の動作の中で、一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、少ない台数のカメラでも、作業者の作業内容を推定することができる。
ここでは説明の簡単化のために、回転運動の動作、押込み運動の動作及びスライド運動の動作がデータベース14に1つずつ記録されている例を示しているが、実際には、同じ回転運動でも、例えば、回転角度が異なる複数の回転運動の動作がデータベース14に記録されている。また、同じ押込み運動でも、例えば、押込み量が異なる複数の押込み運動の動作がデータベース14に記録されている。また、同じスライド運動でも、例えば、スライド量が異なる複数のスライド運動の動作がデータベース14に記録されている。
したがって、作業者の作業内容が、例えば、回転運動の動作であると推定されるだけでなく、回転角度が例えば60度の回転運動の動作であると推定される。
したがって、作業者の作業内容が、例えば、回転運動の動作であると推定されるだけでなく、回転角度が例えば60度の回転運動の動作であると推定される。
ロボットコントローラ10の制御プログラム作成処理部17は、作業内容推定部15により推定された作業内容と、変化検知部12により検知された作業対象物aの位置の変化とから、その作業内容の再現と作業対象物aの搬送を行うロボット30の制御プログラムを作成する(ステップST5)。
即ち、制御プログラム作成処理部17は、変化検知部12から出力された移動データMから、部品箱K1に収納されている3次元位置(x1,y1,z1)の作業対象物a5を部品箱K2の3次元位置(x2,y2,z2)まで移動させる制御プログラムP1を作成する。
このとき、3次元位置(x1,y1,z1)から3次元位置(x2,y2,z2)への移動経路が、最短経路となるような制御プログラムP1が考えられるが、他の作業対象物a等が搬送経路に存在しているような場合には、他の作業対象物a等を迂回する経路となるような制御プログラムP1が作成される。
したがって、3次元位置(x1,y1,z1)から3次元位置(x2,y2,z2)への移動経路は、各種の経路が考えられるが、ロボット30の関節の自由度に基づいて、ロボット30のアームが移動可能な方向を考慮しながら、例えば、カーナビゲーション装置の経路探索技術を利用して、適宜、決定するようにすればよい。
即ち、制御プログラム作成処理部17は、変化検知部12から出力された移動データMから、部品箱K1に収納されている3次元位置(x1,y1,z1)の作業対象物a5を部品箱K2の3次元位置(x2,y2,z2)まで移動させる制御プログラムP1を作成する。
このとき、3次元位置(x1,y1,z1)から3次元位置(x2,y2,z2)への移動経路が、最短経路となるような制御プログラムP1が考えられるが、他の作業対象物a等が搬送経路に存在しているような場合には、他の作業対象物a等を迂回する経路となるような制御プログラムP1が作成される。
したがって、3次元位置(x1,y1,z1)から3次元位置(x2,y2,z2)への移動経路は、各種の経路が考えられるが、ロボット30の関節の自由度に基づいて、ロボット30のアームが移動可能な方向を考慮しながら、例えば、カーナビゲーション装置の経路探索技術を利用して、適宜、決定するようにすればよい。
図9はロボット30が水平多関節型のロボットである場合の作業対象物a5の搬送例を示す説明図である。
ロボット30が水平多関節型のロボットである場合、3次元位置(x1,y1,z1)に存在する作業対象物a5を真上に引き上げてから、水平方向に移動し、その後、作業対象物a5を3次元位置(x2,y2,z2)まで下げるような制御プログラムP1を作成する。
図10はロボット30が垂直多関節型のロボットである場合の作業対象物a5の搬送例を示す説明図である。
ロボット30が垂直多関節型のロボットである場合、3次元位置(x1,y1,z1)に存在する作業対象物a5を真上に引き上げてから、放物線を描くように移動し、その後、作業対象物a5を3次元位置(x2,y2,z2)まで下げるような制御プログラムP1を作成する。
ロボット30が水平多関節型のロボットである場合、3次元位置(x1,y1,z1)に存在する作業対象物a5を真上に引き上げてから、水平方向に移動し、その後、作業対象物a5を3次元位置(x2,y2,z2)まで下げるような制御プログラムP1を作成する。
図10はロボット30が垂直多関節型のロボットである場合の作業対象物a5の搬送例を示す説明図である。
ロボット30が垂直多関節型のロボットである場合、3次元位置(x1,y1,z1)に存在する作業対象物a5を真上に引き上げてから、放物線を描くように移動し、その後、作業対象物a5を3次元位置(x2,y2,z2)まで下げるような制御プログラムP1を作成する。
次に、制御プログラム作成処理部17は、作業内容推定部15により推定された作業内容を再現するロボット30の制御プログラムP2を作成する。
例えば、作業内容推定部15により推定された作業内容が、回転角度が90度の回転運動の動作であれば、作業対象物aを90度回転させる制御プログラムP2を作成し、その作業内容が、押込み量が3cmの押込み運動の動作であれば、作業対象物aを3cm押し込む制御プログラムP2を作成する。また、その作業内容が、スライド量が5cmのスライド運動の動作であれば、作業対象物aを5cmスライドさせる制御プログラムP2を作成する。
なお、図5、図9及び図10の例では、作業内容として、作業対象物a5を部品箱K2の穴に押し込む動作を想定している。
この実施の形態1では、部品箱K1に収納されている作業対象物a5を搬送してから、その作業対象物a5を部品箱K2の穴に押し込む作業例を示しているが、これに限るものではなく、例えば、部品箱K1に収納されている作業対象物a5を搬送せずに、部品箱K1に収納されている作業対象物a5を回転させる作業や、その作業対象物aを更に押し込む作業などであってもよい。このような作業の場合には、作業対象物a5を搬送する制御プログラムP1を作成せずに、作業内容推定部15により推定された作業内容を再現する制御プログラムP2だけを作成することになる。
例えば、作業内容推定部15により推定された作業内容が、回転角度が90度の回転運動の動作であれば、作業対象物aを90度回転させる制御プログラムP2を作成し、その作業内容が、押込み量が3cmの押込み運動の動作であれば、作業対象物aを3cm押し込む制御プログラムP2を作成する。また、その作業内容が、スライド量が5cmのスライド運動の動作であれば、作業対象物aを5cmスライドさせる制御プログラムP2を作成する。
なお、図5、図9及び図10の例では、作業内容として、作業対象物a5を部品箱K2の穴に押し込む動作を想定している。
この実施の形態1では、部品箱K1に収納されている作業対象物a5を搬送してから、その作業対象物a5を部品箱K2の穴に押し込む作業例を示しているが、これに限るものではなく、例えば、部品箱K1に収納されている作業対象物a5を搬送せずに、部品箱K1に収納されている作業対象物a5を回転させる作業や、その作業対象物aを更に押し込む作業などであってもよい。このような作業の場合には、作業対象物a5を搬送する制御プログラムP1を作成せずに、作業内容推定部15により推定された作業内容を再現する制御プログラムP2だけを作成することになる。
ロボットコントローラ10の動作制御信号出力部18は、制御プログラム作成処理部17が制御プログラムを作成すると、その制御プログラムに対応するロボット30の動作制御信号をロボット30に出力する(ステップST6)。
例えば、作業対象物aを回転させる場合、動作制御信号出力部18は、ロボット30が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物aの回転量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物aの回転量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット30に出力する。
例えば、作業対象物aを回転させる場合、動作制御信号出力部18は、ロボット30が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物aの回転量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物aの回転量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット30に出力する。
例えば、作業対象物aを押し込む場合、動作制御信号出力部18は、ロボット30が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物aの押込み量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物aの押込み量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット30に出力する。
例えば、作業対象物aをスライドさせる場合、動作制御信号出力部18は、ロボット30が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物aのスライド量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物aのスライド量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット30に出力する。
ロボット30は、動作制御信号出力部18から動作制御信号を受けると、その動作制御信号が示す回転量だけ、その動作制御信号が示すモータを回転させることで、作業対象物aに対する作業を行う。
例えば、作業対象物aをスライドさせる場合、動作制御信号出力部18は、ロボット30が有する複数の関節のうち、どの関節を動かせばよいかを記憶しており、また、作業対象物aのスライド量と、当該関節を動かすモータの回転量との対応関係を記憶しているので、動作対象の関節と接続されているモータを特定する情報と、制御プログラムが示す作業対象物aのスライド量に対応するモータの回転量とを示す動作制御信号を作成して、その動作制御信号をロボット30に出力する。
ロボット30は、動作制御信号出力部18から動作制御信号を受けると、その動作制御信号が示す回転量だけ、その動作制御信号が示すモータを回転させることで、作業対象物aに対する作業を行う。
ここで、作業者は、ヘッドマウントディスプレイ4を装着しているが、そのヘッドマウントディスプレイ4が、外界が透けて見える光学シースルータイプであれば、ヘッドマウントディスプレイ4を装着していても、ガラス越しに部品箱K1,K2や作業対象物aを見ることができる。
一方、そのヘッドマウントディスプレイ4が、ビデオタイプであれば、部品箱K1,K2や作業対象物aを直接見ることができないので、映像音声出力部19が、画像入力装置2により取得された画像をヘッドマウントディスプレイ4に表示することで、作業者が、部品箱K1,K2や作業対象物aを確認できるようにする。
一方、そのヘッドマウントディスプレイ4が、ビデオタイプであれば、部品箱K1,K2や作業対象物aを直接見ることができないので、映像音声出力部19が、画像入力装置2により取得された画像をヘッドマウントディスプレイ4に表示することで、作業者が、部品箱K1,K2や作業対象物aを確認できるようにする。
映像音声出力部19は、変化検知部12が作業対象物の位置の変化を検知する処理を実施している場合、位置の変化の検知処理中である旨を示す情報をヘッドマウントディスプレイ4に表示し、また、作業内容推定部15が作業者の作業内容を推定する処理を実施している場合、作業内容の推定処理中である旨を示す情報をヘッドマウントディスプレイ4に表示する。
作業者は、ヘッドマウントディスプレイ4の表示内容を見ることで、現在、ロボット30の制御プログラムの作成が行われていることを認識することができる。
また、映像音声出力部19は、例えば、作業内容を指示するガイダンスが事前に登録されている場合、あるいは、外部からガイダンスが与えられる場合、そのガイダンスに関する音声データをスピーカ5に出力する。
これにより、作業者は、作業内容を確実に把握して、正しい作業を円滑に行うことができる。
作業者は、ヘッドマウントディスプレイ4の表示内容を見ることで、現在、ロボット30の制御プログラムの作成が行われていることを認識することができる。
また、映像音声出力部19は、例えば、作業内容を指示するガイダンスが事前に登録されている場合、あるいは、外部からガイダンスが与えられる場合、そのガイダンスに関する音声データをスピーカ5に出力する。
これにより、作業者は、作業内容を確実に把握して、正しい作業を円滑に行うことができる。
作業者は、マイク3を通じて、ロボットコントローラ10の操作を行うことができる。
即ち、作業者がロボットコントローラ10の操作内容を発すると、操作編集部20が、マイク3から入力された作業者の音声を解析して、ロボットコントローラ10の操作内容を認識する。
また、作業者が、ロボットコントローラ10の操作内容に対応するジェスチャを行うと、操作編集部20が、画像入力装置2により取得された画像を解析して、ロボットコントローラ10の操作内容を認識する。
ロボットコントローラ10の操作内容として、部品箱K1,K2や作業対象物aが映っている画像を、再度、ヘッドマウントディスプレイ4に表示する再生操作や、再生中の画像に映っている一連の作業の中の一部の作業を指定して、一部の作業のやり直しを要求する操作などが考えられる。
即ち、作業者がロボットコントローラ10の操作内容を発すると、操作編集部20が、マイク3から入力された作業者の音声を解析して、ロボットコントローラ10の操作内容を認識する。
また、作業者が、ロボットコントローラ10の操作内容に対応するジェスチャを行うと、操作編集部20が、画像入力装置2により取得された画像を解析して、ロボットコントローラ10の操作内容を認識する。
ロボットコントローラ10の操作内容として、部品箱K1,K2や作業対象物aが映っている画像を、再度、ヘッドマウントディスプレイ4に表示する再生操作や、再生中の画像に映っている一連の作業の中の一部の作業を指定して、一部の作業のやり直しを要求する操作などが考えられる。
操作編集部20は、部品箱K1,K2や作業対象物aが映っている画像の再生操作を受けると、画像記録部11に記録されている画像を読み出して、その画像をヘッドマウントディスプレイ4に表示する。
また、操作編集部20は、一部の作業のやり直しを要求する操作を受けると、スピーカ5から一部の作業のやり直しを促すアナウンスを出力させるとともに、画像入力装置2に対して画像の取得指令を出力する。
また、操作編集部20は、一部の作業のやり直しを要求する操作を受けると、スピーカ5から一部の作業のやり直しを促すアナウンスを出力させるとともに、画像入力装置2に対して画像の取得指令を出力する。
操作編集部20は、作業者が一部の作業のやり直しを行うと、画像入力装置2により取得された一部の作業が映っている画像を、画像記録部11に記録されている画像にはめ込む画像編集を行う。
これにより、画像記録部11に記録されている画像は、一連の作業のうち、一部の作業がやり直された画像に変更される。
操作編集部20は、画像の編集が完了すると、画像記録部11から編集後の画像を取得する指示を変化検知部12及び手指動作検知部13に出力する。
これにより、変化検知部12及び手指動作検知部13の処理が開始され、最終的には、編集後の画像に基づいて、ロボット30の動作制御信号が作成されて、その動作制御信号がロボット30に出力される。
これにより、画像記録部11に記録されている画像は、一連の作業のうち、一部の作業がやり直された画像に変更される。
操作編集部20は、画像の編集が完了すると、画像記録部11から編集後の画像を取得する指示を変化検知部12及び手指動作検知部13に出力する。
これにより、変化検知部12及び手指動作検知部13の処理が開始され、最終的には、編集後の画像に基づいて、ロボット30の動作制御信号が作成されて、その動作制御信号がロボット30に出力される。
以上で明らかなように、この実施の形態1によれば、画像入力装置2により取得された画像から作業者の手指の動作を検知する手指動作検知部13と、手指動作検知部13により検知された手指の動作から作業対象物aに対する作業者の作業内容を推定する作業内容推定部15とを設け、制御プログラム作成部16が、作業内容推定部15により推定された作業内容を再現するロボット30の制御プログラムを作成するように構成したので、数多くのカメラを設置することなく、ロボット30の制御プログラムを作成することができる効果を奏する。
即ち、作業内容推定部15では、手指動作検知部13により検知された手指の動作が、データベース14に記録されている作業者の手指の動作と完全に一致していなくても、他の動作より一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、数多くのカメラを設置することなく、ロボット30の制御プログラムを作成することができる。
即ち、作業内容推定部15では、手指動作検知部13により検知された手指の動作が、データベース14に記録されている作業者の手指の動作と完全に一致していなくても、他の動作より一致度が相対的に高い動作が、作業者の作業内容であると推測されるので、作業者の手指の一部が、例えば手のひら等に隠れていて画像に映っていない場合でも、作業者の作業内容を推定することができる。したがって、数多くのカメラを設置することなく、ロボット30の制御プログラムを作成することができる。
また、この実施の形態1によれば、画像入力装置2により取得された画像から、作業対象物aの位置の変化を検知する変化検知部12を備え、制御プログラム作成部16が、作業内容推定部15により推定された作業内容と、変化検知部12により検知された作業対象物の位置の変化とから、作業内容の再現と作業対象物aの搬送を行うロボットの制御プログラムを作成するように構成したので、作業対象物aの搬送を伴う場合でも、ロボット30の制御プログラムを作成することができる効果を奏する。
また、この実施の形態1によれば、画像入力装置として、ウェアラブル機器1に実装されている画像入力装置2が用いられるように構成したので、作業台の近辺に固定のカメラを設置することなく、ロボット30の制御プログラムを作成することができる効果を奏する。
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
この発明に係るロボット教示装置及びロボット制御プログラム作成方法は、作業者の作業内容をロボットに教示する際、カメラの設置台数を減らす必要があるものに適している。
1 ウェアラブル機器、2 画像入力装置、3 マイク、4 ヘッドマウントディスプレイ、5 スピーカ、10 ロボットコントローラ、11 画像記録部、12 変化検知部、13 手指動作検知部、14 データベース、15 作業内容推定部、16 制御プログラム作成部、17 制御プログラム作成処理部、18 動作制御信号出力部、19 映像音声出力部、20 操作編集部、30 ロボット、41 記憶装置、42 変化検知処理回路、43 手指動作検知処理回路、44 作業内容推定処理回路、45 制御プログラム作成処理回路、46 動作制御信号出力処理回路、47 出力インタフェース機器、48 入力インタフェース機器、51 メモリ、52 プロセッサ、a1〜a8 作業対象物、K1,K2 部品箱。
Claims (9)
- 作業者の手指及び作業対象物が映っている画像を取得する画像入力装置と、
前記画像入力装置により取得された画像から作業者の手指の一連の動作を検知する手指動作検知部と、
前記手指動作検知部により検知された手指の一連の動作から、前記作業対象物に対する前記作業者の作業内容を推定する作業内容推定部と、
前記作業内容推定部により推定された作業内容を再現するロボットの制御プログラムを作成する制御プログラム作成部と、
作業者の複数の手指の一連の動作と、各々の手指の一連の動作と前記作業者の作業内容との対応関係を記録しているデータベースを備え、
前記作業内容推定部は、前記手指動作検知部により検知された手指の一連の動作と、前記データベースに記録されている作業者の複数の手指の一連の動作とを照合して、前記手指動作検知部により検知された手指の一連の動作と対応関係がある作業内容を特定することを特徴とするロボット教示装置。 - 前記画像入力装置により取得された画像から、前記作業対象物の位置の変化を検知する変化検知部を備え、
前記制御プログラム作成部は、前記作業内容推定部により推定された作業内容と、前記変化検知部により検知された作業対象物の位置の変化とから、前記作業内容の再現と前記作業対象物の搬送を行うロボットの制御プログラムを作成することを特徴とする請求項1記載のロボット教示装置。 - 前記変化検知部は、前記画像入力装置により取得された画像のうち、前記作業対象物が搬送される前の画像と、前記作業対象物が搬送された後の画像との差分画像から、前記作業対象物の位置の変化を検知することを特徴とする請求項2記載のロボット教示装置。
- 前記制御プログラム作成部は、前記ロボットの制御プログラムに対応するロボットの動作制御信号を前記ロボットに出力することを特徴とする請求項1記載のロボット教示装置。
- 前記画像入力装置として、ウェアラブル機器に実装されている画像入力装置が用いられることを特徴とする請求項1記載のロボット教示装置。
- 前記ウェアラブル機器は、ヘッドマウントディスプレイを含んでいることを特徴とする請求項5記載のロボット教示装置。
- 前記画像入力装置は、1台のカメラを含んでおり、前記カメラにより撮影された画像を取得することを特徴とする請求項1記載のロボット教示装置。
- 前記画像入力装置は、ステレオカメラを含んでおり、前記ステレオカメラにより撮影された画像を取得することを特徴とする請求項1記載のロボット教示装置。
- 画像入力装置が、作業者の手指及び作業対象物が映っている画像を取得し、
手指動作検知部が、前記画像入力装置により取得された画像から作業者の手指の一連の動作を検知し、
作業内容推定部が、前記手指動作検知部により検知された手指の一連の動作から、前記作業対象物に対する前記作業者の作業内容を推定し、
制御プログラム作成部が、前記作業内容推定部により推定された作業内容から、前記作業内容の再現を行うロボットの制御プログラムを作成する
ロボット制御プログラム作成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/052726 WO2017130389A1 (ja) | 2016-01-29 | 2016-01-29 | ロボット教示装置及びロボット制御プログラム作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6038417B1 true JP6038417B1 (ja) | 2016-12-07 |
JPWO2017130389A1 JPWO2017130389A1 (ja) | 2018-02-08 |
Family
ID=57483125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016549591A Expired - Fee Related JP6038417B1 (ja) | 2016-01-29 | 2016-01-29 | ロボット教示装置及びロボット制御プログラム作成方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20180345491A1 (ja) |
JP (1) | JP6038417B1 (ja) |
CN (1) | CN108472810A (ja) |
DE (1) | DE112016006116T5 (ja) |
WO (1) | WO2017130389A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019064752A1 (ja) * | 2017-09-28 | 2019-04-04 | 日本電産株式会社 | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム |
WO2019064751A1 (ja) * | 2017-09-28 | 2019-04-04 | 日本電産株式会社 | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム |
US11130236B2 (en) * | 2018-04-18 | 2021-09-28 | Fanuc Corporation | Robot movement teaching apparatus, robot system, and robot controller |
WO2021260898A1 (ja) | 2020-06-25 | 2021-12-30 | 株式会社日立ハイテク | ロボット教示装置及び作業教示方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019032814A1 (en) * | 2017-08-10 | 2019-02-14 | Robert Bosch Gmbh | SYSTEM AND METHOD FOR DIRECT TEACHING TO A ROBOT |
WO2019059044A1 (ja) * | 2017-09-20 | 2019-03-28 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
US10593101B1 (en) * | 2017-11-01 | 2020-03-17 | Facebook Technologies, Llc | Marker based tracking |
DE102018124671B4 (de) * | 2018-10-06 | 2020-11-26 | Bystronic Laser Ag | Verfahren und Vorrichtung zur Erstellung eines Robotersteuerprogramms |
JP2020175467A (ja) * | 2019-04-17 | 2020-10-29 | アズビル株式会社 | 教示装置及び教示方法 |
JP6993382B2 (ja) | 2019-04-26 | 2022-02-04 | ファナック株式会社 | ロボット教示装置 |
JP7359577B2 (ja) | 2019-06-21 | 2023-10-11 | ファナック株式会社 | ロボット教示装置及びロボットシステム |
US20210101280A1 (en) * | 2019-10-02 | 2021-04-08 | Baker Hughes Oilfield Operations, Llc | Telemetry harvesting and analysis from extended reality streaming |
JP2022100660A (ja) * | 2020-12-24 | 2022-07-06 | セイコーエプソン株式会社 | ロボットの制御プログラムを作成する処理をプロセッサーに実行させるコンピュータープログラム、並びに、ロボットの制御プログラムを作成する方法及びシステム |
WO2023203747A1 (ja) * | 2022-04-22 | 2023-10-26 | 株式会社日立ハイテク | ロボット教示方法および装置 |
CN115179256B (zh) * | 2022-06-09 | 2024-04-26 | 鹏城实验室 | 远程示教方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH091482A (ja) * | 1995-06-14 | 1997-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ロボット作業教示・動作再生装置 |
JP2009119579A (ja) * | 2007-11-16 | 2009-06-04 | Canon Inc | 情報処理装置、情報処理方法 |
JP2011131376A (ja) * | 2003-11-13 | 2011-07-07 | Japan Science & Technology Agency | ロボットの駆動システム、及び、ロボットの駆動プログラム |
JP2015221485A (ja) * | 2014-05-23 | 2015-12-10 | セイコーエプソン株式会社 | ロボット、ロボットシステム、制御装置、及び制御方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999185A (en) * | 1992-03-30 | 1999-12-07 | Kabushiki Kaisha Toshiba | Virtual reality control using image, model and control data to manipulate interactions |
JPH06250730A (ja) * | 1993-03-01 | 1994-09-09 | Nissan Motor Co Ltd | 産業用ロボットの教示装置 |
JP2000501033A (ja) * | 1995-11-30 | 2000-02-02 | ヴァーチャル テクノロジーズ インコーポレイテッド | 触覚をフィードバックする人間/機械インターフェース |
US6104379A (en) * | 1996-12-11 | 2000-08-15 | Virtual Technologies, Inc. | Forearm-supported exoskeleton hand-tracking device |
US7472047B2 (en) * | 1997-05-12 | 2008-12-30 | Immersion Corporation | System and method for constraining a graphical hand from penetrating simulated graphical objects |
JP2002361581A (ja) * | 2001-06-08 | 2002-12-18 | Ricoh Co Ltd | 作業自動化装置、作業自動化方法およびその方法を記憶した記憶媒体 |
JP2003080482A (ja) * | 2001-09-07 | 2003-03-18 | Yaskawa Electric Corp | ロボット教示装置 |
CN1241718C (zh) * | 2003-07-24 | 2006-02-15 | 上海交通大学 | 钢琴表演机器人 |
SE526119C2 (sv) * | 2003-11-24 | 2005-07-05 | Abb Research Ltd | Metod och system för programmering av en industrirobot |
US7859540B2 (en) * | 2005-12-22 | 2010-12-28 | Honda Motor Co., Ltd. | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems |
JP2008009899A (ja) * | 2006-06-30 | 2008-01-17 | Olympus Corp | 組立作業用ロボットの自動教示システム及び教示方法 |
JP4835616B2 (ja) * | 2008-03-10 | 2011-12-14 | トヨタ自動車株式会社 | 動作教示システム及び動作教示方法 |
KR100995933B1 (ko) * | 2008-09-01 | 2010-11-22 | 한국과학기술연구원 | 진화 알고리즘과 모방학습에 기초한 로봇의 동작 제어 방법 |
US20110082566A1 (en) * | 2008-09-04 | 2011-04-07 | Herr Hugh M | Implementing a stand-up sequence using a lower-extremity prosthesis or orthosis |
WO2011036865A1 (ja) * | 2009-09-28 | 2011-03-31 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 |
US20120025945A1 (en) * | 2010-07-27 | 2012-02-02 | Cyberglove Systems, Llc | Motion capture data glove |
JP5447432B2 (ja) * | 2011-05-09 | 2014-03-19 | 株式会社安川電機 | ロボットの教示システムおよび教示方法 |
US20140022171A1 (en) * | 2012-07-19 | 2014-01-23 | Omek Interactive, Ltd. | System and method for controlling an external system using a remote device with a depth sensor |
JP6075110B2 (ja) * | 2013-02-21 | 2017-02-08 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
CN103271784B (zh) * | 2013-06-06 | 2015-06-10 | 山东科技大学 | 基于双目视觉的人机交互式机械手控制系统和控制方法 |
JP2016052726A (ja) * | 2014-09-03 | 2016-04-14 | 山本ビニター株式会社 | 生タイヤの加熱方法とその装置、及び、タイヤの製造方法 |
DE102014223167A1 (de) * | 2014-11-13 | 2016-05-19 | Kuka Roboter Gmbh | Bestimmen von objektbezogenen Greifräumen mittels eines Roboters |
CN104700403B (zh) * | 2015-02-11 | 2016-11-09 | 中国矿业大学 | 一种基于kinect的手势控制液压支架的虚拟示教方法 |
US9911219B2 (en) * | 2015-05-13 | 2018-03-06 | Intel Corporation | Detection, tracking, and pose estimation of an articulated body |
-
2016
- 2016-01-29 WO PCT/JP2016/052726 patent/WO2017130389A1/ja active Application Filing
- 2016-01-29 CN CN201680079538.3A patent/CN108472810A/zh active Pending
- 2016-01-29 JP JP2016549591A patent/JP6038417B1/ja not_active Expired - Fee Related
- 2016-01-29 DE DE112016006116.1T patent/DE112016006116T5/de not_active Ceased
- 2016-01-29 US US15/777,814 patent/US20180345491A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH091482A (ja) * | 1995-06-14 | 1997-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ロボット作業教示・動作再生装置 |
JP2011131376A (ja) * | 2003-11-13 | 2011-07-07 | Japan Science & Technology Agency | ロボットの駆動システム、及び、ロボットの駆動プログラム |
JP2009119579A (ja) * | 2007-11-16 | 2009-06-04 | Canon Inc | 情報処理装置、情報処理方法 |
JP2015221485A (ja) * | 2014-05-23 | 2015-12-10 | セイコーエプソン株式会社 | ロボット、ロボットシステム、制御装置、及び制御方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019064752A1 (ja) * | 2017-09-28 | 2019-04-04 | 日本電産株式会社 | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム |
WO2019064751A1 (ja) * | 2017-09-28 | 2019-04-04 | 日本電産株式会社 | ロボット教示システム、ロボット教示方法、制御装置、及びコンピュータプログラム |
US11130236B2 (en) * | 2018-04-18 | 2021-09-28 | Fanuc Corporation | Robot movement teaching apparatus, robot system, and robot controller |
WO2021260898A1 (ja) | 2020-06-25 | 2021-12-30 | 株式会社日立ハイテク | ロボット教示装置及び作業教示方法 |
JP7454046B2 (ja) | 2020-06-25 | 2024-03-21 | 株式会社日立ハイテク | ロボット教示装置及び作業教示方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2017130389A1 (ja) | 2018-02-08 |
DE112016006116T5 (de) | 2018-09-13 |
WO2017130389A1 (ja) | 2017-08-03 |
CN108472810A (zh) | 2018-08-31 |
US20180345491A1 (en) | 2018-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6038417B1 (ja) | ロボット教示装置及びロボット制御プログラム作成方法 | |
Sharma et al. | Use of motion capture in 3D animation: motion capture systems, challenges, and recent trends | |
JP6007497B2 (ja) | 画像投影装置ならびに画像投影制御装置およびプログラム | |
US20190370544A1 (en) | Object Initiated Communication | |
CN101493682B (zh) | 加工用机器人程序的制作装置 | |
JP4004899B2 (ja) | 物品の位置姿勢検出装置及び物品取出し装置 | |
JP6444573B2 (ja) | 作業認識装置および作業認識方法 | |
JP7017689B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
JP2012254518A (ja) | ロボット制御システム、ロボットシステム及びプログラム | |
JP6902369B2 (ja) | 提示装置、提示方法およびプログラム、ならびに作業システム | |
US20160210761A1 (en) | 3d reconstruction | |
KR20160129000A (ko) | 모바일 디바이스를 위한 실시간 3d 제스처 인식 및 트랙킹 시스템 | |
JP6075888B2 (ja) | 画像処理方法、ロボットの制御方法 | |
CN114080590A (zh) | 使用先进扫描技术的机器人料箱拾取系统和方法 | |
JP2020179441A (ja) | 制御システム、情報処理装置および制御方法 | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
JP2009211563A (ja) | 画像認識装置、画像認識方法、画像認識プログラム、ジェスチャ動作認識システム、ジェスチャ動作認識方法、及びジェスチャ動作認識プログラム | |
CN109035308A (zh) | 图像补偿方法和装置、电子设备和计算机可读存储介质 | |
JP6810442B2 (ja) | カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体 | |
Ham et al. | Absolute scale estimation of 3d monocular vision on smart devices | |
US10379620B2 (en) | Finger model verification method and information processing apparatus | |
KR20160099267A (ko) | 3차원 애니메이션 컨텐츠 저작 장치 및 그 방법 | |
JP7376446B2 (ja) | 作業分析プログラム、および、作業分析装置 | |
US20220198747A1 (en) | Method for annotating points on a hand image to create training dataset for machine learning | |
JP7029087B2 (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160926 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6038417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |