(57)【要約】【課題】対象物に負荷を加える動作によって当該対象物を変形させる作業を制御することを可能とする。【解決手段】記憶部は対象物の画像を予め記憶し、変形度算出部は撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出し、動作制御部は前記変形度算出部が算出した変形度に応じて、ロボットが前記対象物に加える負荷を制御する。これにより、対象物を変形させる作業を制御することが可能になる。【選択図】図３
2014144522.tif 000002
【特許請求の範囲】
【請求項１】
対象物の画像を予め記憶する記憶部と、
撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、
前記変形度算出部が算出した変形度に応じて、ロボットが前記対象物に加える負荷を制御する動作制御部と、
を備えることを特徴とする制御装置。
【請求項２】
前記変形度算出部は、前記記憶部が記憶した画像が示す対象物の形状からの前記撮像部が撮像した画像が示す対象物の変形の度合いを示す変形度を算出し、
前記動作制御部は、前記変形度が所定の閾値に達したとき、前記ロボットが前記対象物に負荷を加える動作を終了させる
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記動作制御部は、前記変形度算出部が算出した変形度が前記閾値よりも小さくなったとき、前記ロボットが前記対象物に負荷を加える動作を終了させることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記動作制御部は、前記変形度算出部が算出した変形度が前記閾値よりも大きい状態が所定時間継続したとき、前記ロボットが前記対象物に負荷を加える動作を終了させることを特徴とする請求項２に記載の制御装置。
【請求項５】
前記変形度算出部は、前記対象物の変形度として、撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像との正規化相互相関を算出することを特徴とする請求項１から４のいずれかに記載の制御装置。
【請求項６】
前記動作制御部は、前記対象物に加えられた負荷の大きさが所定の目標値となるように前記ロボットの動作を制御し、
前記変形度算出部が算出した変形度の時間変化に基づいて前記目標値を制御することを特徴とする請求項１から５のいずれかに記載の制御装置。
【請求項７】
前記撮像部が撮像した画像は、前記対象物のうちの少なくとも一部の変形に関わる画像であることを特徴とする請求項１から６のいずれかに記載の制御装置。
【請求項８】
前記ロボットが前記対象物に負荷を加える動作を開始する前に、前記撮像部が撮像した画像を前記記憶部に記憶することを特徴とする請求項１から７のいずれか１項に記載の制御装置。
【請求項９】
前記対象物の設計データに基づいて当該対象物の画像を生成し、前記記憶部に生成した画像を記憶する画像取得部、
を備えることを特徴とする請求項１から７のいずれか１項に記載の制御装置。
【請求項１０】
前記記憶部は、電源の供給が停止されても情報を保持する補助記憶装置であることを特徴とする請求項１から９のいずれかに記載の制御装置。
【請求項１１】
少なくとも前記変形度算出部と前記動作制御部のいずれかが集積回路で構成されていることを特徴とする請求項１から１０のいずれかに記載の制御装置。
【請求項１２】
前記集積回路が前記変形度算出部と前記動作制御部を備えることを特徴とする請求項１１に記載の制御装置。
【請求項１３】
ロボットの動作を制御する制御装置における制御方法であって、
撮像部が撮像した対象物の画像と記憶部に予め記憶した前記対象物の画像に基づき前記対象物の変形度を算出する変形度算出過程と、
前記変形度算出過程で算出した変形度に応じて、前記ロボットが前記対象物に加える負荷を制御する動作制御過程と、
を有することを特徴とする制御方法。
【請求項１４】
対象物の画像を予め記憶する記憶部と、
撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、
前記変形度算出部が算出した変形度に応じて、前記対象物に加える負荷を制御する動作制御部と、
を備えることを特徴とするロボット。
【請求項１５】
ロボットと制御装置とを備えるロボットシステムであって、
前記制御装置は、
対象物の画像を予め記憶する記憶部と、
撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、
前記変形度算出部が算出した変形度に応じて、前記ロボットが前記対象物に加える負荷を制御する動作制御部と、
を備えることを特徴とするロボットシステム。
【請求項１６】
記憶部に記憶した画像が示す対象物の形状からの当該対象物の変形の度合いを示す変形度が所定の閾値に達したとき、前記対象物に負荷を加える動作を終了することを特徴とするロボット。
【請求項１７】
記憶部に記憶した画像が示す対象物の形状からの当該対象物の変形の度合いを示す変形度が所定の閾値に達したとき、ロボットに前記対象物に負荷を加える動作を終了させることを特徴とする制御装置。
【請求項１８】
対象物の画像と、ロボットが前記対象物に加える負荷に関する情報に基づいて、前記ロボットが前記対象物に負荷を加える動作を終了させる制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、ロボット及びロボットシステムに関する。
【背景技術】
【０００２】
マニピュレーター、ハンド及びカメラを備え、物体を操作する作業を行うロボットが知られている。このようなロボットには、例えば、その物体に加わる力を制御して、他の物体に組み付ける組み付け作業等を行うロボットがある。
例えば、特許文献１には、少なくとも２台のロボットとからなり、力制御されるように力制御手段を備えたロボット制御手段により嵌合作業を行うための協調ロボットシステムが記載されている。この協調ロボットシステムでは、押し当て力が予め設定された閾値以上になってからの時間を力制御手段の制御有効時間として定める。これにより、物体を押し当てて発生する力が閾値以上になる時間が監視され、作業が終了したことが検知される。
【０００３】
また、特許文献２には、レンズ鏡筒に設けられたレンズ収容孔部にレンズを挿入して、レンズ鏡筒およびレンズを含むレンズ組立体を組み立てる部品組立装置が記載されている。この部品組立装置では、カメラによってレンズ鏡筒内のレンズを撮像し、撮像した画像によってレンズの挿入状態を確認する。ここで撮像した画像から挿入開口の内径が予め記憶した値の許容範囲に入るかどうか判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０７６６５号公報
【特許文献２】特開２０１２−２２８７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、特許文献１に記載の協調ロボットシステムを用いて、１つの物体を他の物体に差し込む作業について考える。作業前に予め物体同士の姿勢が高精度に合わせられている場合には、それらの物体間ではたらく摩擦力よりも、差し込まれた後に発生する抗力の方が大きい。そのため、発生する力が閾値を越えたことと作業の終了とが対応付けられる。他方、物体同士の姿勢が合っていない場合には、それらの物体間ではたらく摩擦力の方が、差し込まれた後に発生する抗力よりも大きい。そのため、発生する力が閾値を越えたことと作業の終了とを対応させることができないことがあった。
また、特許文献２に記載の部品組立装置では、レンズ鏡筒に挿入されたレンズが挿入された位置を判定するに過ぎず、対象物が変形した場合に所望の状態で動作を終了することができなかった。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、対象物に負荷を加える動作によって当該対象物を変形させる作業を制御（例えば、終了）することを可能とする制御装置、制御方法、ロボット及びロボットシステムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
（１）本発明の一態様は、対象物の画像を予め記憶する記憶部と、撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、前記変形度算出部が算出した変形度に応じて、ロボットが前記対象物に加える負荷を制御する動作制御部と、を備えることを特徴とする制御装置である。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。ここで、変形度とは、例えば、その対象物の全体又は一部について、動作を行う前における対象物の形状を基準とした変形の度合いである。
【０００８】
（２）上記に記載の制御装置において、本発明の一態様は、前記変形度算出部は、前記記憶部が記憶した画像が示す対象物の形状からの前記撮像部が撮像した画像が示す対象物の変形の度合いを示す変形度を算出し、前記動作制御部は、前記変形度が所定の閾値に達したとき、前記ロボットが前記対象物に負荷を加える動作を終了させることを特徴とする。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度が所定の閾値に達したときに、その動作を終了させることができる。
【０００９】
（３）上記に記載の制御装置において、本発明の一態様は、前記動作制御部は、前記変形度算出部が算出した変形度が前記閾値よりも小さくなったとき、前記ロボットが前記対象物に負荷を加える動作を終了させることを特徴とする。
この構成によれば、例えば、負荷を加えると、当初は変形度が増加し、所定の時点で変形度が低下する対象物について、その変形度が所定の閾値に低下した時点でロボットの動作を終了させることができる。
【００１０】
（４）上記に記載の制御装置において、本発明の一態様は、前記動作制御部は、前記変形度算出部が算出した変形度が前記閾値よりも大きい状態が所定時間継続したとき、前記ロボットが前記対象物に負荷を加える動作を終了させることを特徴とする。
この構成によれば、例えば、負荷を加えると当初は変形度が増加し、所定の時点で変形度の増加が停止する対象物について、その変形度が設定した閾値よりも大きい状態が所定時間継続した後でロボットの動作を終了させることができる。また、変形度が一時的にその閾値より増加した状態が生じても、直ちに動作を終了しないため、ノイズや変形度の算出誤差による誤判定を回避することができる。
【００１１】
（５）上記に記載の制御装置において、本発明の一態様は、前記変形度算出部は、前記対象物の変形度として、撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像との正規化相互相関を算出することを特徴とする。
この構成によれば、その対象物の形状と予め設定した対象物の形状との類似度を、変形度の指標値として定量化することができる。
【００１２】
（６）上記に記載の制御装置において、本発明の一態様は、前記動作制御部は、前記対象物に加えられた負荷の大きさが所定の目標値となるように前記ロボットの動作を制御し、前記変形度算出部が算出した変形度の時間変化に基づいて前記目標値を制御することを特徴とする。
この構成によれば、対象物の変形度の時間変化に応じてロボットが対象物に加える負荷を適応的に制御することができる。
【００１３】
（７）上記に記載の制御装置において、本発明の一態様は、前記撮像部が撮像した画像は、前記対象物のうちの少なくとも一部の変形に関わる画像であることを特徴とする。
この構成によれば、対象物のうちの少なくとも一部の変形の状態を、撮像部が撮像した画像に基づいて観測することができる。
【００１４】
（８）上記に記載の制御装置において、本発明の一態様は、前記ロボットが前記対象物に負荷を加える動作を開始する前に、前記撮像部が撮像した画像を前記記憶部に記憶することを特徴とする。
この構成によれば、ロボットが対象物に負荷をかける動作を行う環境において、その動作を行う前にその対象物の画像が取得されるため、取得した画像に基づいてその環境に応じた対象物の変化量を取得することができる。
【００１５】
（９）上記に記載の制御装置において、本発明の一態様は、前記対象物の設計データに基づいて当該対象物の画像を生成し、前記記憶部に生成した画像を記憶する画像取得部を備えることを特徴とする。
この構成によれば、設計データに基づいてその対象物の画像を生成できるため、その対象物の設計時の形状に基づいて、現在の対象物の変形度を算出することができる。
【００１６】
（１０）上記に記載の制御装置において、本発明の一態様は、前記記憶部は、電源の供給が停止されても情報を保持する補助記憶装置であることを特徴とする。
この構成によれば、対象物の画像を示す画像データが電源の供給が停止されても保持されるため、電源の供給が断続した場合でも当該画像データを利用することができる。
【００１７】
（１１）上記に記載の制御装置において、本発明の一態様は、少なくとも前記変形度算出部と前記動作制御部のいずれかが集積回路で構成されていることを特徴とする。
この構成によれば、集積回路で各部専用の処理がなされるため、処理の高速化及び小型化を図ることができる。
【００１８】
（１２）上記に記載の制御装置において、本発明の一態様は、前記集積回路が前記変形度算出部と前記動作制御部を備えることを特徴とする。
この構成によれば、処理の小型化をさらに図ることができる。
【００１９】
（１３）本発明の一態様は、ロボットの動作を制御する制御装置における制御方法であって、撮像部が撮像した対象物の画像と記憶部に予め記憶した前記対象物の画像に基づき前記対象物の変形度を算出する変形度算出過程と、前記変形度算出過程で算出した変形度に応じて、前記ロボットが前記対象物に加える負荷を制御する動作制御過程と、
を有することを特徴とする制御方法である。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。
【００２０】
（１４）本発明の一態様は、対象物の画像を予め記憶する記憶部と、撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、前記変形度算出部が算出した変形度に応じて、前記対象物に加える負荷を制御する動作制御部と、を備えることを特徴とするロボットである。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。
【００２１】
（１５）本発明の一態様は、ロボットと制御装置とを備えるロボットシステムであって、前記制御装置は、対象物の画像を予め記憶する記憶部と、撮像部が撮像した前記対象物の画像と前記記憶部に記憶した対象物の画像に基づき前記対象物の変形度を算出する変形度算出部と、前記変形度算出部が算出した変形度に応じて、前記ロボットが前記対象物に加える負荷を制御する動作制御部と、を備えることを特徴とするロボットシステムである。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。
【００２２】
（１６）本発明の一態様は、記憶部に記憶した画像が示す対象物の形状からの当該対象物の変形の度合いを示す変形度が所定の閾値に達したとき、前記対象物に負荷を加える動作を終了することを特徴とするロボットである。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。
【００２３】
（１７）本発明の一態様は、記憶部に記憶した画像が示す対象物の形状からの当該対象物の変形の度合いを示す変形度が所定の閾値に達したとき、ロボットに前記対象物に負荷を加える動作を終了させることを特徴とする制御装置である。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を制御することができる。
【００２４】
（１８）本発明の一態様は、対象物の画像と、ロボットが前記対象物に加える負荷に関する情報に基づいて、前記ロボットが前記対象物に負荷を加える動作を終了させる制御装置である。
この構成によれば、ロボットが対象物に負荷を加える動作を行う場合、撮像した画像に基づいて算出した対象物の変形度により、その動作を終了させることができる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施形態におけるロボットシステムの概略斜視図である。
【図２】第１の実施形態における座標系について説明するための図である。
【図３】第１の実施形態における制御装置の概略ブロック図である。
【図４】組み付け作業に係る部品及び被組み付け部品の一例を示す概略側面図である。
【図５】第１の実施形態における動作制御部の概略ブロック図である。
【図６】第１の実施形態における負荷変位変換部の概略ブロック図である。
【図７】センサー座標系と物体座標系を説明するための図である。
【図８】第１の実施形態におけるロボット制御部の概略ブロック図である。
【図９】第１の実施形態における制御装置の処理の流れの一例を示すフローチャートである。
【図１０】第１の実施形態による組み付け作業に伴う被組み付け部品の変形状態の一例を示す概念図である。
【図１１】第１の実施形態による組み付け作業に伴う正規化相互相関の一例を示す図である。
【図１２】第１の実施形態による組み付け作業に伴う被組み付け部品の変形状態の他の例を示す概念図である。
【図１３】第１の実施形態による組み付け作業に伴う正規化相互相関の他の例を示す概念図である。
【図１４】第２の実施形態における制御装置の概略ブロック図である。
【図１５】第２の実施形態における動作制御部の概略ブロック図である。
【図１６】第２の実施形態における負荷変位変換部の概略ブロック図である。
【図１７】第２の実施形態における制御装置の処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
［第１の実施形態］
図１は、第１の実施形態におけるロボットシステム１の概略斜視図である。
図１に示すように、ロボットシステム１は、制御装置１０、多関節ロボット（以下、ロボットともいう）２０及び撮像装置３０を備える。なお、図１における部品や構造等の縮尺は、図を明瞭なものとするために実際のものとは異なっている。
【００２７】
制御装置１０は、ロボット２０の動作を制御する。制御装置１０による制御の詳細は後述する。
ロボット２０は、地面に固定された支持台２０ａ、回転可能に支持台２０ａに連結されたマニピュレーター部（マニピュレーター）２０ｂ、マニピュレーター部２０ｂに連結された把持部２０ｃ及び力センサー２０ｄを備える。また、把持部２０ｃは開閉機能を有する。これにより、把持部２０ｃは対象となる物体（以下、対象物という）を把持することができる。本実施形態では、対象物の一例として部品２００を用いて説明する。
【００２８】
マニピュレーター部２０ｂは、例えば６軸の垂直多関節型のマニピュレーターであり、把持部２０ｃが把持する部品２００の位置および向きを自在に変更することができる。ロボット２０は、制御装置１０による制御によって、マニピュレーター部２０ｂ、把持部２０ｃのうちいずれか一つまたは両者を動作させる。
【００２９】
力センサー２０ｄは、把持部２０ｃに加わる力とモーメントを予め決められた時間間隔（本実施形態では、一例として１ｋＨｚ）で検出する。力センサー２０ｄは、例えば６軸又は７軸の力センサーである。力センサー２０ｄは、検出した力とモーメントを示す把持部負荷情報を制御装置１０へ出力する。
なお、ロボット２０の自由度は６軸によるものに限られない。また、支持台２０ａは、床、壁、天井等、地面に対して固定された場所に設置しても良い。
また、ロボット２０は、エンコーダー２１（図示せず）を備える。エンコーダー２１は、ロボット２０の各関節の角度を検出し、検出した各関節の角度を制御装置１０へ送信する。
【００３０】
部品（対象物）２００は、被組み付け部品２１０に組み付ける部品、例えば、コネクタ（差込具）である。部品２００は、その一端に被組み付け部品２１０に差し込まれる差込部２０１を有する。
被組み付け部品２１０は、部品２００に組み付けられる部品、例えば、コネクタ（受具）である。被組み付け部品２１０は、その一端に部品２００の差込部２０１（後述）が差し込まれる受付部２１１（後述）を有する。被組み付け部品２１０は、その他端が治具で固定されていても良い。
【００３１】
撮像装置３０は、例えば、部品２００の差込部２０１と被組み付け部品２１０の受付部２１１とが嵌め合わせた状態を、光学的に観察できる位置に設置されている。撮像装置３０は、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラである。撮像装置３０は、予め決められたフレームレート（本実施形態では、一例として３０Ｈｚ）で部品２００の差込部２０１と被組み付け部品２１０の受付部２１１とを、いずれも撮像領域（ＲＯＩ：  Ｒｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔ、着目領域、関心領域ともいう）に含む１フレームの画像として撮像する。撮像装置３０は、撮像により得られた撮像画像（以下、カメラ画像ともいう）を示す画像データを制御装置１０へ出力する。
【００３２】
図２は、第１の実施形態における座標系について説明するための図である。
同図において、ΣＲはマニピュレーター部２０ｂを基準とするロボット座標系（ＸＹＺ座標系）、ΣＳは力センサー２０ｄを基準とするセンサー座標系（ｘ’ｙ’ｚ’座標系）、ΣＯは物体（図２に示す例では、部品２００）を基準とする物体座標系（ｘｙｚ座標系）、ΣＣは撮像装置３０を基準とするカメラ座標系（ｕｖｗ座標系）である。
【００３３】
図３は、第１の実施形態における制御装置１０の概略ブロック図である。
制御装置１０は、把持指示部１１と、開始位置移動指示部１２と、記憶部１５と、動作制御部１６と、画像取得部１７と、類似度算出部（変形度算出部）１８と、判定部１９と、負荷算出部４０とを備える。
【００３４】
第１の実施形態における制御装置１０は、インピーダンス制御により、部品２００と被組み付け部品２１０をともに破壊しないで、両者が互いに組み付けられた状態にする。制御装置１０は、撮像装置３０が撮像した画像データを用いて現在の部品２００の位置及び姿勢を検出する。制御装置１０は、検出した部品２００の位置及び姿勢に基づいて、インピーダンス制御によってロボット２０を動かす際に、その動作を規定する軸を決定する。
【００３５】
把持指示部１１は、部品２００を把持部２０ｃで把持することを指示する把持指示信号をロボット２０へ送信する。これにより、ロボット２０は、部品２００を把持部２０ｃで把持する。
開始位置移動指示部１２は、マニピュレーター部２０ｂを制御して、部品２００を所定の組み付け作業開始位置に移動させることを示す作業開始指示信号を動作制御部１６に出力する。組み付け作業開始位置は、被組み付け部品２１０の近傍、例えば、差込部２０１の重心が受付部２１１の重心から垂直方向に予め定めた距離だけ離れた位置である。
【００３６】
負荷算出部４０は、力センサー２０ｄから入力された把持部負荷情報から、部品２００にかかっている負荷（例えば、力及びモーメント）を算出し、算出した負荷を示す負荷情報を動作制御部１６へ出力する。
【００３７】
動作制御部１６は、開始位置移動指示部１２から入力された作業開始指示信号に基づいて、ロボット２０のマニピュレーター部２０ｂを制御して、部品２００を所定の組み付け作業開始位置に移動させる。
動作制御部１６は、例えば、ロボット２０の把持部２０ｃの位置を検出し、部品２００の位置が、その組み付け作業開始位置となるようにマニピュレーター部２０ｂの位置及び姿勢を制御する。部品２００の位置が組み付け作業開始位置に到達したとき、動作制御部１６は、マニピュレーター部２０ｂの位置及び姿勢の変化を停止する。
その後、動作制御部１６は、部品２００と被組み付け部品２１０の初期状態を示す画像を撮像することを指示する初期撮像指示信号を画像取得部１７に出力する。
また、動作制御部１６は、組み付け作業に必要な負荷を示す目標負荷情報を設定する。目標負荷情報は、例えば、部品２００を被組み付け部品２１０を組み付ける際に部品２００にかかる力の目標値を示す。この目標値は、例えば、予め定めた一定の値である。
【００３８】
動作制御部１６は、負荷算出部４０から入力された負荷情報が示す、部品２００にかかる力に基づいて、ロボット２０の把持部２０ｃの位置を移動させる。これにより、部品２００がロボットの把持部２０ｃの位置に応じて移動する。動作制御部１６が把持部２０ｃの位置を移動させる処理の詳細は後述する。動作制御部１６は、ロボット２０の把持部２０ｃの位置を移動させた後に、移動制御した旨を示す移動制御済信号を画像取得部１７へ出力する。
【００３９】
すなわち、動作制御部１６は、力覚情報に基づく該ロボットの移動制御、つまり、インピーダンス制御による該ロボットの移動制御を実行する。そして、動作制御部１６は、判定部１９により被組み付け部品２１０の歪が所定の状態に到達したと判定され、判定部１９から終了信号が入力されるまで、ロボット２０の制御を続ける。動作制御部１６は、その後、部品２００を所定の組み付け作業開始位置に移動させる動作を繰り返しても良い。
【００４０】
画像取得部１７は、動作制御部１６から初期撮像指示信号が入力されたとき、撮像装置３０に部品２００と被組み付け部品２１０を撮像させる。そして、画像取得部１７は、撮像により得られた画像データを撮像装置３０から取得する。画像取得部１７は、取得した画像データを初期状態画像データとして記憶部１５に記憶する。
画像取得部１７は、動作制御部１６から移動制御済信号を受信した場合、撮像装置３０に部品２００と被組み付け部品２１０を撮像させる。そして、画像取得部１７は、撮像により得られた画像データを撮像装置３０から取得し、取得した画像データを類似度算出部１８へ出力する。
【００４１】
類似度算出部１８は、記憶部１５から初期状態画像データを読み出す。類似度算出部１８は、画像取得部１７から入力された画像データと、初期状態画像データとの類似度を算出する。類似度算出部１８は、算出した類似度を判定部１９に出力する。
類似度算出部１８は、具体的には、例えば、正規化相互相関関数（ＮＣＣ：Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌｅｔｉｏｎ）を類似度として算出しても良い。類似度が高いほど、現在の位置及び形状が、初期における位置及び形状に近似することを示す。つまり、部品２００に組みつけられる被組み付け部品２１０の形状について、初期における形状からの変形量が小さいことを示す。他方、類似度が低いほど、現在の位置及び形状が、初期における位置及び形状に近似しないことを示す。つまり、部品２００に組みつけられる被組み付け部品２１０の形状について、初期における形状からの変形量が大きいことを示す。
【００４２】
判定部１９は、類似度算出部１８から入力された類似度に基づいて部品２００に組みつけられる被組み付け部品２１０の変形が所定の状態になったか否か判定する。所定の状態とは、組み付け作業が完了した状態での変形度に到達したことをいう。所定の状態になったことの判定基準は、被組み付け部品２１０の形状、材質、組み付け初期状態や組み付け作業にかかる部品２００が被組み付け部品２１０に組み付ける力の方向等によって異なる
例えば、組み付け作業において部品２００が被組み付け部品２１０に差し込まれ、当初その差込量が大きくなるにつれ、被組み付け部品の変形度が単調に増加し、差込量が所定の差込量の閾値を越えたとき、急激に変形度が減少して作業を終了するモデルを考える。以下の説明では、このモデルをモデル１と呼ぶことがある。
【００４３】
モデル１では、判定部１９は、算出した類似度が予め定められた閾値１よりも小さくなった後で、予め定められた閾値２よりも大きいか否かを判定する。類似度としてＮＣＣを用いる場合、閾値１、閾値２は、それぞれ１より小さく０より大きい実数であって、閾値２は閾値１より大きい又は等しい。閾値２は、必ずしも初期状態における類似度（例えば、ＮＣＣが１）と等しくなくても良い。
作業の終了を判定するために、判定部１９は、算出した類似度の変化量が、負値である状態から予め定めた閾値３を超えたか否かを判定しても良い。類似度としてＮＣＣを用いる場合、閾値３は、０よりも大きい実数である。類似度の変化量とは、例えば、最近算出された類似度からその前に（前回）算出された類似度の差分である。
【００４４】
その他、組み付け作業において部品２００が被組み付け部品２１０に差し込まれ、その差込量が大きくなるにつれ、被組み付け部品の変形度が単調に増加し、差込量が所定の差込量の閾値を越えたとき、変形度の変化量が０に近似したときに作業を終了するモデルを考える。以下の説明では、このモデルを、モデル２と呼ぶことがある。
【００４５】
モデル２では、判定部１９は、算出した類似度が予め定められた閾値４よりも小さくなり、予め定められた時間（例えば、０．１秒）よりも長い時間、類似度の変化量についての絶対値が予め定めた閾値５よりも小さいか否かを判定する。類似度としてＮＣＣを用いる場合、閾値４は１よりも小さく０より大きい実数である。閾値５は、０よりも大きい実数である。
作業の終了を判定するために、判定部１９は、類似度の変化量が予め定められた閾値６よりも小さい状態を経た後、予め定められた時間よりも長い時間、類似度の変化量についての絶対値が予め定めた閾値５よりも小さいか否かを判定しても良い。ここで、閾値６は、０よりも小さい実数である。
【００４６】
なお、判定部１９は、上述した類似度の変化量を算出する前に入力された類似度について、例えば、移動平均処理を行って、平滑化しても良い。これにより、一時的に生じた類似度のノイズの影響を排除して正確な判定を行うことができる。
判定部１９は、被組み付け部品２１０の変形が所定の状態になったと判定したとき、作業が終了したことを示す終了信号を生成し、生成した終了信号を動作制御部１６に出力する。
【００４７】
図４は、組み付け作業に係る部品２００及び被組み付け部品２１０の一例を示す概略側面図である。
図４は、部品２００が組み付け作業開始位置に配置されていることを示す。図４に示す例では、部品２００と下側表面と被組み付け部品２１０の下側表面が同一の平面に配置されている。この例では、組み付け作業開始位置は、被組み付け部品２１０の中心から紙面の左方に向かって予め定めた距離だけ離れた位置である。この距離は、図４におけるｂ点とｄ点との間の距離又はａ点とｅ点との間の距離に相当する。
【００４８】
図４において、受付部２１１を囲む破線の四角形は、撮像領域ｒ１を示す。撮像領域ｒ１は、撮像装置３０が取得する画像データに表される被写体の範囲を示す。撮像領域ｒ１には、受付部２１１の全体と、差込部２０１が受付部２１１に接触する領域が含まれる。
なお、撮像領域ｒ１には、受付部２１１の全体が含まれていれば、部品２００の少なくとも一部や被組み付け部品２１０のその他の部分を含んでいても良いし、含まれていなくても良い。
また、撮像領域ｒ１には、受付部２１１の一部のみが含まれていても、その一部が、部品２００が接触することによって変形する部分であれば、部品２００の少なくとも一部や被組み付け部品２１０のその他の部分を含んでいても良いし、含まれていなくても良い。
【００４９】
部品２００の右端には、先細の形状を有する差込部２０１が形成されている。差込部２０１は、ａ点、ｂ点、及びｃ点を互いに結ぶ線分で囲まれている部分である。ａ点は、部品２００の右上端の頂点、ｂ点はａ点を一端として右下に傾斜している線分の他端である。ｃ点はｂ点を一端として部品２００の下底と垂直な線分の他端である。
差込部２０１の表面は右端に向けて下方に傾斜している。ａ点からｂ点にかけての傾きは、ほぼ一定である。ｃ点よりも左方において部品２００の表面の方向は底面の方向と平行である。従って、差込部２０１の上下方向の幅は、ａ点からｂ点に向うほど大きくなり、ｂ点でその幅が最大となる。ｃ点よりも左側では、部品２００の上下方向の幅は、ほぼ一定になる。この幅は、差込部２０１の上下方向の幅の最大値よりも小さい。
【００５０】
他方、被組み付け部品２１０は、弾性体からなり、左端には爪状の形状（鉤形状）を有する受付部２１１が形成されている。受付部２１１は、ｄ点、ｅ点、及びｆ点を互いに結ぶ線分で囲まれている部分である。ｄ点は、被組み付け部品２１０の左下端の頂点、ｅ点はｄ点を一端として右下に傾斜している線分の他端である。ｆ点はｅ点を一端として被組み付け部品２１０の下底と垂直な線分の他端である。
受付部２１１の底面は右端に向けて下方に傾斜している。ｄ点からｅ点にかけての傾きは、ほぼ一定であり、ｂ点からａ点にかけての傾きと等しい。ｅ点よりも右方において、被組み付け部品２１０の底面の方向は部品２００の底面の方向と平行である。従って、部品２００が被組み付け部品２１０に接触していない状態では、受付部２１１の上下方向の幅はｄ点からｅ点に向うほど大きくなり、ｅ点でその幅が最大となる。ｆ点よりも右側では被組み付け部品２１０の上下方向の幅は、最も狭くなる。被組み付け部品２１０には、ｆ点からｇ点にかけて上下方向の幅が最も狭くなる領域がある。その領域の左右方向の幅、つまりｆ点とｇ点との間の距離は、少なくともｃ点とａ点との間の距離よりも大きい。
【００５１】
従って、ロボット２０の把持部２０ｃによって差込部２０１が右側に向けて被組み付け部品２１０に接近させると、ｂ点とａ点とを通る差込部２０１の表面と、ｄ点とｅ点とを通る受付部２１１の底面とが接触する。そして、さらに差込部２０１が右側に向けて力が加えられると、差込部２０１が被組み付け部品２１０に差し込まれ、受付部２１１は部品２００の外側、つまり上方に開くように変形する。差込部２０１が受付部２１１に完全に差し込まれると、受付部２１１は上方に開いた状態から、差込部２０１に接触する前の閉じた状態に急激に変化する。完全に差し込まれた状態とは、ａ点、ｂ点、ｃ点が、それぞれｅ点、ｄ点、ｆ点よりもそれぞれ右側にある状態である。この状態に達したとき、ロボット２０は、組み込み作業に係る動作を停止する。
【００５２】
撮像領域ｒ１に表された画像には、組み付け作業によって主に被組み付け部品２１０の変形状態が捉えられる。よって、判定部１９において、図４に示す部品２００を被組み付け部品２１０に組み付ける作業の終了を判定するには、上述したモデル１に係る判定基準を用いることができる。
【００５３】
図５は、第１の実施形態における動作制御部１６の概略ブロック図である。
動作制御部１６は、コンプライアントモーション制御部１５０を備える。
コンプライアントモーション制御部１５０は、ビジュアル制御部１１０が生成した第１制御信号と、ロボット２０に働く力を示す負荷情報に基づいてロボット２０のマニピュレーター部２０ｂを制御する。本実施形態におけるコンプライアントモーション制御部１５０は、一例として、インピーダンス制御技術を用いて、ロボット２０のマニピュレーター部２０ｂを制御する。ここで、コンプライアントモーション制御部１５０は、負荷変位変換部１２０と、ロボット制御部１４０とを備える。
【００５４】
負荷変位変換部１２０は、負荷算出部４０から入力された負荷情報（例えば、部品２００にかかっている力）を予め決められたサンプリングレート（本実施形態では、一例として１ｋＨｚ）で取得する。そして、負荷変位変換部１２０は、負荷算出部４０から取得した負荷情報に基づいて、ロボット２０を動かす先の相対的な位置を示す制御信号を生成する。そして、負荷変位変換部１２０は、予め決められたレート（本実施形態では、一例として１ｋＨｚ）で、生成した制御信号をロボット制御部１４０へ出力する。
本実施形態では、制御信号は、一例として、ロボット２０を動かす先の相対的な位置を示す信号としたが、これには限られず、ロボット２０を動かす速度などであっても良い。
また、負荷変位変換部１２０は、判定部１９から終了信号が入力された場合には、ロボット制御部１４０への制御信号の出力を停止する。これにより、ロボット２０の動作が停止する。
【００５５】
ロボット制御部１４０は、予め決められたレート（本実施形態では、一例として１ｋＨｚ）で、ロボット２０の把持部２０ｃの現在位置を検出する。
ロボット制御部１４０は、負荷変位変換部１２０から制御信号が入力される毎に、その制御信号と検出した把持部２０ｃの現在位置を示す現在位置信号Ｘ＿ｃを加算し、ロボット２０を動かす先の目標位置を示す位置指示信号Ｘ＿ｄを生成する。ロボット制御部１４０は、位置指示信号Ｘ＿ｄが示す位置へロボット２０の把持部２０ｃの位置を移動させる。ロボット制御部１４０は、上記の処理を予め決められた回数行って、ロボット２０の把持部２０ｃの位置を移動させる。この回数は、第２制御信号の生成レート（本実施形態では、１ｋＨｚ）を第１制御信号の生成レート（本実施形態では、３０Ｈｚ）で割った値（本実施形態では、３３回）である。その後に、ロボット制御部１４０は、移動制御した旨を示す移動制御済信号を画像取得部１７へ出力する。
なお、制御信号が速度の場合、ロボット制御部１４０は制御信号が示す速度にロボット２０を制御する。
【００５６】
図６は、第１の実施形態における負荷変位変換部１２０の概略ブロック図である。
負荷変位変換部１２０は、力目標値設定部１２１と、伝達関数乗算部１２２と、を備える。
力目標値設定部１２１は、負荷算出部４０から入力された負荷情報が示す負荷、つまり、力センサー２０ｄが検出した力ベクトルＦ＿ｓの目標値を示す目標値ベクトルＦ＿ｄを設定する。ここで、力ベクトルＦ＿ｓ、目標値ベクトルＦ＿ｄは、それぞれ力とモーメントを含むものとする。力目標値設定部１２１は、例えば、予め定めた力目標値を示す目標値ベクトルＦ＿ｄを示す目標ベクトル信号を伝達関数乗算部１２２へ出力する。また、力目標値設定部１２１は、力ベクトルＦ＿ｓを示すセンサー出力ベクトル信号を伝達関数乗算部１２２へ出力する。
【００５７】
力目標値設定部１２１には、判定部１９から終了信号が入力されることがある。終了信号が入力された場合には、力目標値設定部１２１は、力目標値として零ベクトルを設定し、設定した零ベクトルを示す目標ベクトル信号を伝達関数乗算部１２２へ出力する。このように力目標値を０にすることで、対象物に加える負荷を０にして、ロボット２０の動作を終了させることができる。
【００５８】
伝達関数乗算部１２２は、力目標値設定部１２１から入力されたセンサー出力ベクトル信号が示す力ベクトルＦ＿ｓから目標ベクトル信号が示す目標値ベクトルＦ＿ｄの差分Ｆ＿ｓ−Ｆ＿ｄに対して、予め決められた伝達関数を乗じる。力ベクトルＦ＿ｓに含まれる力及びモーメントの６つの要素、目標値ベクトルＦ＿ｄに含まれる力及びモーメントの６つの要素、及びΔｘ（→）に含まれる位置及び姿勢の６つの要素をそれぞれＦ＿Ｓ[i]、Ｆ＿Ｄ[i]、及びΔｘ[i]とすると、予め決められた伝達関数は、式（１）で表される。
【００５９】
【数１】
2014144522.tif 000003
【００６０】
式（１）は、インピーダンス制御で用いられる伝達関数を示す。ここで、Δｘの上に矢印→が付された符号を、本文においてΔｘ（→）と表すこととし、Δｘ（→）は、伝達関数を乗じた後のベクトルを表すものとする。また、Ｆと［ｉ］とそれらの間に挟まれたＳもしくはＤの文字からなる符号は、本文においてそれぞれ力ベクトルＦ＿ｓに含まれる力の要素Ｆ＿Ｓ[i]、目標値ベクトルＦ＿ｄに含まれる力の要素Ｆ＿Ｄ[i]を表す。また、ｍ［ｉ］、ｄ［ｉ］及びｋ［ｉ］は、Ｆ＿ｓの各要素Ｆ＿Ｓ［ｉ］からＦ＿ｄの対応する要素Ｆ＿Ｄ［ｉ］の差分に対してΔｘ（→）の各要素Δｘ［ｉ］の運動が、慣性質量ｍ［ｉ］、ダンパ係数ｄ［ｉ］及びバネ定数ｋ［ｉ］で特徴付けられる機械インピーダンスを有するように設定する変数であり、要素毎に適宜設定される。伝達関数乗算部１２２は、伝達関数乗算後のベクトルΔｘ（→）を示す乗算後信号を制御信号としてロボット制御部１４０へ出力する。
【００６１】
図７は、センサー座標系と物体座標系を説明するための図である。
同図において、把持部２０ｃが部品２００を把持している状態が示されている。また、同図において、力センサー２０ｄと被組み付け部品２１０が示されている。また、力センサー２０ｄの中心を原点とするセンサー座標系８１（ｘ´ｙ´ｚ´座標系）が示されている。また、部品２００の一端を原点とする物体座標系８２（ｘｙｚ座標系）が示されている。
【００６２】
図８は、第１の実施形態におけるロボット制御部１４０の概略ブロック図である。
ロボット制御部１４０は、角度位置変換部１４１と、加算部１４２と、位置角度変換部１４３と、減算部１４４と、増幅部１４５とを備える。
角度位置変換部１４１は、ロボット２０が保持するエンコーダー２１からロボット２０の各関節の角度θｃを取得する。そして角度位置変換部１４１は、取得した各関節の角度θｃから、把持部２０ｃの現在位置を算出し、算出した現在位置を示す現在位置信号Ｘ＿ｃを加算部１４２へ出力する。
加算部１４２は、角度位置変換部１４１から入力された現在位置信号Ｘ＿ｃと負荷変位変換部１２０から入力された制御信号を加算して位置指示信号Ｘ＿ｄを生成する。加算部１４２は、生成した位置指示信号Ｘ＿ｄを位置角度変換部１４３に出力する。
【００６３】
位置角度変換部１４３は、例えば、加算部１４２から入力された位置指示信号Ｘ＿ｄが示すロボット２０を動かす先の目標位置から、公知の逆運動学の処理によりその目標位置が実現されるロボット２０の各関節の目標角度を算出する。そして、位置角度変換部１４３は、算出した目標角度を示す目標角度信号を減算部１４４へ出力する。
【００６４】
減算部１４４は、位置角度変換部１４３から入力された目標角度信号からエンコーダー２１から入力された現在の関節角度θｃを示す現在関節角度信号を減算する。減算部１４４は、減算することにより得られた差分信号を増幅部１４５へ出力する。
【００６５】
増幅部１４５は、減算部１４４から入力された差分信号を予め決められたゲインＫθを乗じて増幅することにより得られた電流信号をロボット２０へ出力する。ここで、電流信号は、例えば、ロボット２０の各関節のモータに与える電流を示す６軸のベクトルである。これにより、ロボット２０は、増幅部１４５から入力された電流信号に基づいて、各関節のモータを駆動することにより、位置指示信号Ｘ＿ｄが示す目標位置へ把持部２０ｃの位置を移動する。
【００６６】
図９は、第１の実施形態における制御装置の処理の流れの一例を示すフローチャートである。
（ステップＳ１０１）開始位置移動指示部１２は、マニピュレーター部２０ｂの位置を制御して、把持部２０ｃが部品２００を把持可能な位置に移動させる。その後、ステップＳ１０２に進む。
（ステップＳ１０２）把持指示部１１は、把持部２０ｃを制御して部品２００を把持させる。その後、ステップＳ１０３に進む。
（ステップＳ１０３）開始位置移動指示部１２は、動作制御部１６にマニピュレーター部２０ｂの位置を制御させて、部品２００を被組み付け部品２１０近傍の組み付け作業開始位置に移動させる。その後、ステップＳ１０４に進む。
【００６７】
（ステップＳ１０４）動作制御部１６は、予め定めた組み付け作業に必要な力の目標値を設定する。その後、ステップＳ１０５に進む。
（ステップＳ１０５）画像取得部１７は、撮像装置３０が撮像した画像を示す画像データを取得し、取得した画像データを記憶部１５に記憶する。記憶された画像データは、部品２００及び被組み付け部品２１０の位置関係を示す初期状態画像データである。その後、ステップＳ１０６に進む。
【００６８】
（ステップＳ１０６）動作制御部１６は、負荷算出部４０から入力された負荷情報として、力センサー２０ｄが検出した力が設定した目標値となるようにマニピュレーター部２０ｂの動作を制御する。ここで、部品２００には、目標値に相当する力が加えられ、被組み付け部品２１０に組み付けられる。その後、ステップＳ１０７に進む。
（ステップＳ１０７）画像取得部１７は、撮像装置３０が撮像した画像を示す画像データを取得し、取得した画像データを類似度算出部１８に出力する。類似度算出部１８は、画像取得部１７から入力された画像データと、記憶部１５に記憶した初期状態画像データに基づいて、被組み付け部品２１０の変形度（歪）を算出する。類似度算出部１８は、変形度の指標として、例えば、ＮＣＣを算出する。その後、ステップＳ１０８に進む。
【００６９】
（ステップＳ１０８）判定部１９は、算出した変形度（歪）が所定の状態になったか否かを判定する。所定の状態になったか否かの判定基準として、図４に示す部品２００及び被組み付け部品２１０については、例えば、モデル１に係る判定基準を用いる。ここで、判定部１９は、ＮＣＣが上述の閾値１よりも小さくなった後で、上述の閾値２よりも大きくなったか否かを判定する。もしくは、判定部１９は、ＮＣＣの変化量が、負値から上述の閾値３よりも大きくなったか否かを判定する。
変形度が所定の状態になったと判定された場合には（ステップＳ１０８  ＹＥＳ）、ステップＳ１０９に進む。変形度が所定の状態になっていないと判定された場合には（ステップＳ１０８  ＮＯ）、ステップＳ１０６に進む。
（ステップＳ１０９）動作制御部１６は、力の目標値を０に設定する。これにより、部品２００に加えられる力が０となり、マニピュレーター部２０ｂの動作が停止する。そして、制御装置１０は、本フローチャートの処理を終了する。
【００７０】
次に、本実施形態による組み付け作業に伴う被組み付け部品２１０の変形状態の例について説明する。
図１０は、第１の実施形態による組み付け作業に伴う被組み付け部品２１０の変形状態の一例を示す概念図である。図１０に示す例では、被組み付け部品２１０に負荷が加えられることにより、その一部である受付部２１１の形状が弾性変形する状態を示す。
図１０（ａ）−（ｆ）は、それぞれ時刻５００、１０００、１５００、２０００、２５００、２９５０フレームにおける部品２００と被組み付け部品２１０の位置関係を示す。この時刻は、初期状態画像データが取得された時刻を０として、それ以降、取得した画像データのフレーム数を単位として示した時刻である。また、図４は、時刻０フレームにおける部品２００と被組み付け部品２１０の位置関係を示す。
【００７１】
ここで、部品２００の左側に示されている、右向きの矢印は、ロボット２０の把持部２０ｃが部品２００に加えている力の向きを示す。時間経過によって部品２００が右側に移動する。図１０（ａ）によれば、時刻５００フレームでは部品２００が被組み付け部品２１０にまだ接していないことが示される。図１０（ｂ）によれば、時刻１０００フレームでは部品２００が被組み付け部品２１０に接触し始め、被組み付け部品２１０の受付部２１１が変形し始める。図１０（ｂ）−（ｅ）によれば、時間経過によって部品２００の差込部２０１が受付部２１１に組みつけられる度合いが大きくなるとともに、受付部２１１の上方への変形度が大きくなることが示される。図１０（ｆ）によれば、受付部２１１の上下方向の幅が最大になる部位の直下に、差込部２０１の上下方向の幅が急激に狭くなる部位が到達することで、上方に変形していた受付部２１１の形状が急激に初期状態における形状に近似することが示される。
【００７２】
図１１は、第１の実施形態による組み付け作業に伴う正規化相互相関（ＮＣＣ）の一例を示す図である。
図１１は、図１０に示す撮像領域ｒ１におけるＮＣＣの時間変化を示す。図１１において、横軸は時刻（フレーム）、縦軸はＮＣＣを示す。この例では、１フレームは、１／３０秒に相当する。上向き又は下向きの各矢印の起点に示した（ａ）−（ｆ）は、それぞれ、図１０（ａ）−（ｆ）に示す画像を取得した時刻を示す。図１１によれば、ＮＣＣは時刻０フレームにおいて最大となる。ＮＣＣは部品２００が被組み付け部品２１０に接触し始める１０００フレーム付近までは、ＮＣＣが緩やかに減少する。その後、２６００フレーム付近までは、受付部２１１の変形度が大きくなるにつれ、ＮＣＣがより顕著に減少する。２６００フレーム付近において、ＮＣＣが急激に増加し、初期におけるＮＣＣに近似する。このとき、受付部２１１の形状が急激に初期状態における形状に近似する。その後、ＮＣＣは緩やかに減少する。
従って、この例では、モデル１に基づく判定基準を用いてＮＣＣが減少する状態から、急激に増加する状態を所定の閾値に到達したと判定することで、的確に組み付け作業の終了を判定することができる。これにより、無用な動作が継続することや、部品２００や被組み付け部品２１０が破損するリスクが回避される。
【００７３】
図１２は、第１の実施形態による組み付け作業に伴う被組み付け部品３１０の変形状態の他の例を示す概念図である。図１２に示す変形状態は、被組み付け部品３１０に負荷が加えられることにより、その一部である固定具３１１の配置が変化する状態を示す。本実施形態や後述する実施形態では、変形とは、例えば、図１１に示した弾性変形の他、対象物の一部又は全部の配置の変化も含む。
部品３００は、部品２００の代わりに把持部２０ｃによって把持され、被組み付け部品３１０に組み付ける部品である。部品３００は、例えば、電子回路基板である。部品３００は、上方から力が加えられたとき、その下端において被組み付け部品３１０と組み付けられるように構成されている。部品３００の右側面には切欠部３０１を有する。被組み付け部品３１０は、組み付け部品３００が組み付けられる部品、例えば、コネクタである。被組み付け部品３１０の位置は固定されている。部品３００の上方の下向きの矢印は、把持部２０ｃによって部品３００に加えられる力の向きを示す。
【００７４】
被組み付け部品３１０は、部品３００の下端に組み付けられる溝を有する。被組み付け部品３１０の右端には、部品３００が下方に押し下げられると、その下端が左回りに回転する固定具３１１を有する。部品３００が被組み付け部品３１０の溝に完全に組み付けられると、部品３００の右側面の切欠部３０１に固定具３１１の突端が嵌め込まれ、部品３００が被組み付け部品３１０に固定される。
固定具３１１の周囲の破線の四角形は、撮像領域ｒ２を示す。撮像領域ｒ２には、固定具３１１のほぼ全体と部品３００の右端下方が含まれる。
【００７５】
図１２（ａ）−（ｃ）は、それぞれ異なる時刻における部品３００と被組み付け部品３１０の位置関係を示す。（ａ）−（ｃ）の順に、それぞれの時刻が遅くなる。
図１２（ａ）は、部品３００が被組み付け部品３１０にまだ接していないことを示す。このとき、固定具３１１は、その下端から右上に向けて配置されている。
図１２（ｂ）は、部品３００の下端が被組み付け部品３１０に接触し、組み付けられている途中であることを示す。このとき、固定具３１１の方向と部品３００の右辺とのなす角度は、図１２（ａ）に示される角度よりも小さくなる。
図１２（ｃ）は、部品３００の下端が被組み付け部品３１０に完全に組み付けられたことを示す。このとき、固定具３１１の方向は部品３００の右辺の方向とほぼ等しくなり、固定具３１１は部品３００の切欠部３０１に接触する。この状態で、部品３００に下方への力が加えられても、固定具３１１の配置は変化しない。
【００７６】
図１３は、第１の実施形態による組み付け作業に伴う正規化相互相関（ＮＣＣ）の他の例を示す概念図である。
図１３は、図１２に示す撮像領域ｒ２についてのＮＣＣの時間変化を示す。図１３において、横軸は時刻、縦軸はＮＣＣを示す。図１３では、時刻、ＮＣＣの具体的な値を省略している。上向き又は下向きの各矢印の起点に示した（ａ）−（ｃ）は、それぞれ、図１２（ａ）−（ｃ）に係る時刻を示す。図１３によれば、ＮＣＣは初期状態において最大となる。ＮＣＣは部品３００が被組み付け部品３１０に接触し始めるまでの区間では、ＮＣＣが緩やかに減少する。この区間には、図１２（ａ）に係る時刻が含まれる。その後、部品３００が被組み付け部品３１０に組み込まれている途中の区間では、固定具３１１の変形度、つまり、その向きが変化して、ＮＣＣがより顕著に減少する。この区間には、図１２（ｂ）に係る時刻が含まれる。さらにその後、部品３００が被組み付け部品３１０に完全に組み込まれた状態となる区間では、固定具３１１の向きは変化せず、ＮＣＣがほぼ一定値に収束する。この区間には、図１２（ｃ）に係る時刻が含まれる。
従って、この例では、モデル２に基づく判定基準を用いてＮＣＣが減少する状態から、所定の時間よりも長い時間、ＮＣＣの変化量が０に近似した状態を所定の閾値に到達したと判定することで、的確に組み付け作業の終了を判定できる。これにより、無用な動作が継続することや、部品３００や被組み付け部品３１０が破損するリスクが回避される。
【００７７】
以上、説明したように、本実施形態では、記憶部１５に対象物（例えば、被組み付け部品２１０、３１０）の画像（例えば、初期状態画像データ）を予め記憶しておく。また、本実施形態では、撮像部（例えば、撮像装置３０）が撮像した対象物の画像と記憶部１５に記憶した対象物の画像に基づき対象物の変形度（例えば、ＮＣＣ）を算出する。また、本実施形態では、変形度に基づいてロボットが対象物に加える負荷を制御する。
これにより、対象物の変形を伴う作業を算出した変形度により、その動作を制御することが可能になる。例えば、変形度が予め設定した閾値（例えば、モデル１、２に係る閾値）に達したとき、ロボットが対象物に負荷を加える動作を終了することで、的確にその動作を終了させることが可能となる。
【００７８】
［第２の実施形態］
続いて、本発明の第２の実施形態について説明する。図１と共通する要素には同一の符号を付し、その具体的な説明を省略する。第２の実施形態におけるロボットシステム１ｂの外観構成は、第１の実施形態におけるロボットシステム１（図１）の外観構成と同様である。但し、ロボットシステム１ｂの構成は、図１のロボットシステム１の構成に対して、制御装置１０が、制御装置１０ｂに変更されたものとなっている。第２の実施形態における制御装置１０ｂでは、終了判定処理が第１の実施形態の制御装置１０とは異なる。
【００７９】
図１４は、第２の実施形態における制御装置１０ｂの概略ブロック図である。
制御装置１０ｂは、図３の制御装置１０に対して、動作制御部１６が動作制御部１６ｂに変更されたものになっている。
【００８０】
動作制御部１６ｂは、第１の実施形態における動作制御部１６と同様の機能を有するが以下の点で動作制御部１６と異なる。
動作制御部１６ｂは、類似度算出部１８から入力された類似度の時間変化に基づいて組み付け作業に必要な力の目標値を制御する。これにより、対象物の変形度の時間変化に応じて組み付け作業の進捗が調整される。
また、動作制御部１６ｂは、設定した目標値が、所定の目標値の上限値と等しいか、それよりも大きいと判定したとき、異常終了フラグを設定し、設定した異常終了フラグをロボット２０に出力する。これにより、ロボット２０のマニピュレーター部２０ｂの動作を停止させる（異常終了）。ここで、動作制御部１６ｂは、目標値を０と設定し、マニピュレーター部２０ｂの動作を停止させても良い。
これにより、部品２００、３００に加えられる力が過大になる前に組み付け作業を終了し、部品２００、３００や被組み付け部品２１０、３１０の破損するリスクを回避することができる。
【００８１】
図１５は、第２の実施形態における動作制御部１６ｂの概略ブロック図である。
動作制御部１６ｂは、図５の動作制御部１６に対して、負荷変位変換部１２０が負荷変位変換部１２０ｂに変更されたものになっている。
図１６は、第２の実施形態における負荷変位変換部１２０ｂの概略ブロック図である。
負荷変位変換部１２０ｂは、図６の負荷変位変換部１２０に対して、力目標値設定部１２１が力目標値設定部１２１ｂに変更されたものになっている。力目標値設定部１２１ｂは、第１の実施形態における力目標値設定部１２１と同様の機能を有するが、次の点で力目標値設定部１２１と異なる。
【００８２】
力目標値設定部１２１ｂは、類似度算出部１８から入力された変形度の変化量が、所定の変化量の閾値よりも大きいか否かを判定する。ここで、力目標値設定部１２１ｂは、最近算出された変形度から、その前に（前回）算出された変化量の差を、変化量として算出する。これにより、その大きさがその目標値となる力が部品２００、３００に加えられているとき、被組み付け部品２１０、３１０の変形度が順調に変化しているか否かが判定される。
力目標値設定部１２１ｂは、変形度の変化量が、所定の変化量の閾値よりも大きくないと判定したとき、既に設定した力目標値を増大して設定する。ここで、力目標値設定部１２１ｂは、例えば、既に設定した力目標値に予め定めた力目標値の増加幅を加算し、加算された値を力目標値と定める。これにより、被組み付け部品２１０、３１０の変形度が順調に変化していない場合、力目標値が増大されて変形度の変化が促進される。
【００８３】
なお、力目標値設定部１２１ｂは、変化量の差を算出する前に、入力された変形度を平滑化しても良い。力目標値設定部１２１ｂは、平滑化において、例えば、予め定めた時間だけ過去から現在までの変形度に基づいて移動平均を行なった値を現在の変形度として採用しても良い。
【００８４】
力目標値設定部１２１ｂは、設定した力目標値が、所定の力目標値の上限値と等しいか、それよりも大きいか否かを判定する。動作制御部１６ｂは、設定された目標値が、所定の目標値の上限値と等しいか、それよりも大きいと判定したとき、目標値を０と設定する。これにより、対象物に加えられる力が０に制御されるため、ロボット２０のマニピュレーター部２０ｂの動作が停止する。
【００８５】
図１７は、第２の実施形態における制御装置１０ｂの処理の流れの一例を示すフローチャートである。
ステップＳ１０１〜Ｓ１０９の処理は、図９のステップＳ１０１〜Ｓ１０９の処理と同様であるので、その説明を省略する。
但し、ステップＳ１０８において、被組み付け部品の変形度が所定の状態になっていないと判定された場合には（ステップＳ１０８  ＮＯ）、ステップＳ１０６に進まずに、ステップＳ２０９に進む。
【００８６】
（ステップＳ２０９）動作制御部１６ｂは、算出した変形度（歪）の変化量が、所定の変化量の閾値よりも大きいか否かを判定する。変化量が所定の変化量の閾値よりも大きいと判定された場合には（ステップＳ２０９  ＹＥＳ）、ステップＳ１０６に進む。変化量が所定の変化量の閾値よりも大きくないと判定された場合には（ステップＳ２０９  ＮＯ）、ステップＳ２１０に進む。
【００８７】
（ステップＳ２１０）動作制御部１６ｂは、組み付け作業に必要な力の目標値を増大して設定する。その後、ステップＳ２１１に進む。
（ステップＳ２１１）動作制御部１６ｂは、設定された目標値が、所定の目標値の上限値よりも小さいか否かを判定する。目標値が上限値よりも小さいと判定された場合（ステップＳ２１０  ＹＥＳ）、ステップＳ１０６に進む。目標値が上限値よりも小さくないと判定された場合（ステップＳ２１０  ＮＯ）、ステップＳ２１２に進む。
（ステップＳ２１２）動作制御部１６ｂは、異常終了フラグを設定してマニピュレーター部２０ｂの動作を停止させる。そして、制御装置１０ｂは、本フローチャートの処理を終了する。なお、その後、制御装置１０ｂは、本フローチャートの処理を繰り返しても良い。
【００８８】
以上説明したように、本実施形態では、第１の実施形態の構成に加えて、対象物に加えられた負荷が目標値となるようにロボット２０の動作を制御し、算出した変形度の時間変化に基づいてその目標値を制御する。これにより、変形度の時間変化が示すロボットの動作（例えば、組み付け作業）の進捗に応じて、ロボット２０の動作を促進又は抑制することができる。例えば、変形度の時間変化が小さいときには目標値を増大することで、組み付け作業の進捗が遅いときにはロボット２０の動作を促進することができる。目標値が所定の上限値を超えた場合には、ロボット２０の動作を停止することで、過大な力が加えられることによる部品２００、３００や被組み付け部品２１０、３１０の破損や事故等のリスクを回避することができる。
【００８９】
上述した各実施形態では、類似度算出部１８は類似度を算出し、判定部１９、１９ｂは類似度が所定の状態に達したか否かを判定したが、これに限ったものではない。例えば、類似度算出部１８は、相違度を算出して、判定部１９、１９ｂは相違度に基づいて所定の状態に達したか否かを判定しても良い。その際、例えば、類似度算出部１８は、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）又はＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）を相違度として算出してもいい。一例として相違度が低いほど、現在の被組み付け部品２１０、３１０の形状が、初期状態での被組付け部品２１０、３１０の形状に近い。
【００９０】
また、上述した各実施形態では、複数の装置を備えるシステムが、各実施形態の制御装置１０、１０ｂの各処理を、それらの複数の装置で分散して処理しても良い。
また、制御装置１０、１０ｂは、上述のロボット２０と一体化したロボットとして構成されていても良い。
上述では、対象物（例えば、被組み付け部品２１０、３１０）の一部が変形する場合を例にとって説明したが、上述した各実施形態では、対象物の全体が変形する場合であっても良い。そのために、撮像装置３０は、対象物の全体を示す画像を撮像し、制御装置１０、１０ｂは、その画像を用いても良い。
【００９１】
また、各実施形態に係る制御装置１０、１０ｂは、対象物（例えば、被組み付け部品２１０、３１０）の画像を予め記憶しておいた記憶部１５と、撮像部（例えば、撮像装置３０）が撮像した対象物の画像と記憶部１５に記憶した対象物の画像（例えば、初期状態画像データ）に基づき対象物の変形度（例えば、ＮＣＣ）を算出する変形度算出部（類似度算出部１８）と、変形度算出部が算出した変形度に応じて、ロボット２０が対象物に加える負荷を制御する動作制御部１６と備えるものである。
上述したように、変形度とは、記憶部１５が記憶した画像が示す対象物の形状からの撮像部が撮像した画像が示す対象物の変形の度合いを示す。また、ロボット２０は、算出された変形度が所定の閾値に達したとき、対象物に負荷を加える動作を終了する。また、制御装置１０、１０ｂは、算出された変形度が所定の閾値に達したとき、ロボット２０により対象物に負荷を加える動作を終了させるものである。
【００９２】
このような制御装置１０、１０ｂの構成は、変形度が予め設定した閾値に達していない第１の対象物の画像を取得しているとき、マニピュレーター部２０ｂが第１の対象物に負荷を加える動作を継続し、変形度が予め設定した閾値に達した第１の対象物の画像を取得したとき、マニピュレーター部２０ｂが第１の対象物に負荷を加える動作を終了すること、を観察することによって確認することができる。ロボット２０が制御装置１０、１０ｂと一体化していても、同様に確認することができる。
予め設定した閾値とは、例えば、上述したモデル１、モデル２に係る閾値である。そこで、作業が終了した状態における変形度で変形された第１の対象物の画像に係る画像信号と、作業が終了した状態における変形度に達していない変形度で変形された第１の対象物の画像に係る画像信号の少なくともいずれかを予め準備しておく。そして、準備しておいた画像信号のそれぞれを画像取得部１７に供給し、稼動している状態でのロボット２０の動作を観察すればよい。
【００９３】
また、各実施形態に係る制御装置１０、１０ｂは、対象物の画像とロボット２０が対象物に加える負荷に関する情報に基づいて、ロボット２０が対象物に負荷を加える動作を終了させるものである。
この制御装置１０、１０ｂの構成は、制御装置１０、１０ｂの動作制御部１６に、第１の対象物に負荷が加えられたときに負荷算出部４０から得られる負荷情報を入力したときに、次の現象を観測することで確認することができる。
ここで、変形度が予め設定した閾値に達していない第１の対象物の画像を画像取得部１７に入力したとき、マニピュレーター部２０ｂは、第１の対象物にその負荷情報に応じた負荷を加えたときと同様な動作を行う。
【００９４】
また、変形度が予め設定した閾値に達した第１の対象物の画像を画像取得部１７に入力したとき、マニピュレーター部２０ｂは第１の対象物に負荷を加える動作を停止する。負荷情報に応じた負荷を加える動作とは、例えば、負荷情報が示す力が目標値よりも小さいときには、第２の対象物に加える力を増加させることである。また、負荷情報が示す力が目標値よりも大きいときには、第２の対象物に加える力を減少させることである。
【００９５】
そこで、次の情報のセットを予め準備しておく；（１）作業が終了した状態を示す変形度で変形された第１の対象物の画像に係る画像信号と目標値よりも大きい力を示す負荷情報のセット、（２）作業が終了した状態を示す変形度で変形された第１の対象物の画像に係る画像信号と目標値よりも小さい力を示す負荷情報のセット、（３）作業が終了していない状態を示す変形度で変形された第１の対象物の画像に係る画像信号と目標値よりも大きい力を示す負荷情報のセット、（４）作業が終了していない状態を示す変形度で変形された第１の対象物の画像に係る画像信号と目標値よりも小さい力を示す負荷情報のセット。ここで、（１）−（４）の全てに該当する負荷情報のセットを準備しておいても良いし、少なくとも（１）及び（２）に該当する負荷情報のセットを準備していても良い。
そして、各セットについて準備しておいた画像信号を画像取得部１７に供給し、負荷情報を動作制御部１６に供給し、稼動している状態でのロボット２０の動作を観察すればよい。
【００９６】
また、記憶部１５は、ハードディスクドライブ、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）メモリ等、主記憶装置とは別個に設けられ、電源の供給が停止されても情報を保持し続けるストレージ装置（補助記憶装置）であっても良い。
また、動作制御部１６、１６ｂ、類似度算出部１８、判定部１９は、それぞれ専用の集積回路で構成されていても良いし、動作制御部１６、類似度算出部１８、判定部１９の全て又はこれらの任意の組み合わせが、それぞれ一体化された集積回路で構成されていても良い。
【００９７】
また、画像取得部１７は、部品２００、３００や被組み付け部品２１０、３１０を構成する各構成部の寸法を示す設計データと、所定の視点の位置に基づいて、例えばＣＧ技術やＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）技術を用いて初期状態画像データを生成しても良い。また、画像取得部１７は、かかる設計データに基づいて生成された初期状態画像データを外部機器から入力するようにしても良い。記憶部１５は、生成された初期状態画像データを記憶する。また、制御装置１０、１０ｂは、この設計データと視点の位置に基づいてＣＧ技術やＣＡＤ技術を用いて初期状態画像データを生成する画像取得部を備えても良い。
その場合、ステップＳ１０５（図９、１７）に係る初期状態画像データを取得する処理を省略しても良い。
【００９８】
また、各実施形態の制御装置１０、１０ｂの各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、制御装置１０、１０ｂに係る上述した種々の処理を行っても良い。
【００９９】
なお、ここでいう「コンピュータシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものであっても良い。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１００】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１０１】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１０２】
１、１ｂ  ロボットシステム
１０、１０ｂ  制御装置
１１  把持指示部
１２  開始位置移動指示部
１５  記憶部
１６、１６ｂ  動作制御部
１７  画像取得部
１８  類似度算出部
１９  判定部
２０  ロボット
２０ａ  支持台
２０ｂ  マニピュレーター部
２０ｃ  把持部
２０ｄ  力センサー
３０  撮像装置
４０  負荷算出部
１１０  ビジュアル制御部
１２０、１２０ｂ  負荷変位変換部
１２１、１２１ｂ  力目標値設定部
１２２  伝達関数乗算部
１４０  ロボット制御部
１４１  角度位置変換部
１４２  加算部
１４３  位置角度変換部
１４４  減算部
１４５  増幅部
１５０  コンプライアントモーション制御部
【図１】
2014144522.tif 000004
【図２】
2014144522.tif 000005
【図３】
2014144522.tif 000006
【図４】
2014144522.tif 000007
【図５】
2014144522.tif 000008
【図６】
2014144522.tif 000009
【図７】
2014144522.tif 000010
【図８】
2014144522.tif 000011
【図９】
2014144522.tif 000012
【図１０】
2014144522.tif 000013
【図１１】
2014144522.tif 000014
【図１２】
2014144522.tif 000015
【図１３】
2014144522.tif 000016
【図１４】
2014144522.tif 000017
【図１５】
2014144522.tif 000018
【図１６】
2014144522.tif 000019
【図１７】
2014144522.tif 000020