(57)【要約】【課題】エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。【解決手段】第１の物体と、エンドエフェクターが保持する第２の物体とを含む画像を取得して、第１の物体の表面の任意の位置である第１の位置及び第２の物体の表面の任意の位置である第２の位置を認識する。第１の位置及び第２の位置が認識できたか否かを判断し、判断結果に基づいて第２の位置を第１の位置から第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように、エンドエフェクターが先端に設けられた可動部を制御する。ここで、第１の位置及び第２の位置が認識できたときは、第１の位置及び第２の位置の認識結果に基づいて可動部を制御し、第１の位置及び第２の位置の少なくとも一方が認識できなかったときは、エンドエフェクターに加わる力を取得し、取得したエンドエフェクターに加わる力に基づいて可動部を制御する。【選択図】図５
2014151377.tif 000002
【特許請求の範囲】
【請求項１】
第１の物体と、エンドエフェクターが保持する第２の物体とを含む画像を取得する第１のステップと、
前記取得した画像から、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する第２のステップと、
前記第２のステップで前記第１の位置及び前記第２の位置が認識できたか否かを判断する第３のステップと、
前記第３のステップの判断結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように、前記エンドエフェクターが先端に設けられた可動部を制御する第４のステップと、を有し、
前記第４のステップは、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した前記エンドエフェクターに加わる力に基づいて前記可動部を制御する
ことを特徴とするロボット制御方法。
【請求項２】
請求項１に記載のロボット制御方法において、
前記第４のステップでは、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、インピーダンス制御により前記可動部を制御する
ことを特徴とするロボット制御方法。
【請求項３】
請求項１又は２に記載のロボット制御方法において、
前記第４のステップでは、前記第１の位置及び前記第２の位置が認識できたときは、前記第２の位置が第１の量だけ移動するように前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記第２の位置が前記第１の量より小さい第２の量だけ移動するように前記可動部を制御する
ことを特徴とするロボット制御方法。
【請求項４】
請求項１から３のいずれか一項に記載のロボット制御方法において、
前記第３のステップにおいて、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときとは、前記第１の位置及び前記第２の位置の少なくとも一方が前記画像に含まれていない場合、前記第１の位置及び前記第２の位置の少なくとも一方が前記画像の任意の範囲内に含まれていない場合、前記第１の位置及び前記第２の位置の少なくとも一方が画像処理により認識できなかった場合、及び、前記第１の位置と前記第２の位置との位置関係が設定された範囲外である場合の少なくとも１つである
ことを特徴とするロボット制御方法。
【請求項５】
請求項１から４のいずれか一項に記載のロボット制御方法において、
前記第１のステップでは、前記画像を取得するステップは、前記第１の物体及び前記第２の物体を異なる方向から撮像した２枚の画像を取得し、
前記第４のステップでは、前記２枚の画像の少なくとも１枚から前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合には、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときであるとして前記可動部を制御する
ことを特徴とするロボット制御方法。
【請求項６】
請求項１から５のいずれか一項に記載のロボット制御方法において、
前記第４のステップでは、前記第２の位置から前記所定の距離だけ前記第２の物体の内側へ向かう方向へ移動させることにより前記第３の位置を算出し、当該算出された第３の位置へ前記第２の位置を近づけるように前記可動部を制御する
ことを特徴とするロボット制御方法。
【請求項７】
請求項１から６のいずれか一項に記載のロボット制御方法において、
前記第４のステップでは、前記第１の位置及び前記第２の位置が認識できたときは、前記認識結果から前記第２の位置を求め、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の移動量に基づいて前記第２の位置を求める
ことを特徴とするロボット制御方法。
【請求項８】
第１の物体と、エンドエフェクターが保持する第２の物体とを含む画像を取得する画像取得部と、
前記取得した画像から、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、
前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記エンドエフェクターが先端に設けられた可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、
を備えることを特徴とするロボット制御装置。
【請求項９】
画像を取得する画像取得部と、
前記画像から第１の物体及びエンドエフェクターが保持する第２の物体を認識する画像処理部と、
前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、
前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とするロボット制御装置。
【請求項１０】
可動部及び前記可動部の先端に設けられたエンドエフェクターを有するロボットと、
第１の物体と、前記可動部が保持する第２の物体とを含む画像を撮像する撮像部と、
前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、
前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、
を備えることを特徴とするロボットシステム。
【請求項１１】
請求項１０に記載のロボットシステムにおいて、
前記撮像部は、前記第１の物体と前記第２の物体とを異なる方向から撮像する２つの撮像装置を有し、
前記画像処理部は、前記２つの撮像装置のそれぞれで撮像された２枚の画像から前記第１の位置及び前記第２の位置を認識し、かつ、前記２つの撮像装置の少なくとも１つで撮像された画像から前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合は、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合とする
ことを特徴とするロボットシステム。
【請求項１２】
エンドエフェクターを有するロボットと、
画像を取得する画像取得部と、
前記画像から第１の物体及び前記エンドエフェクターが保持する第２の物体を認識する画像処理部と、
前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、
前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とするロボットシステム。
【請求項１３】
第１の物体を保持するエンドエフェクターが先端に設けられた可動部を有するロボットと、
レンズを有する撮像部と、
前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、
前記制御部は、前記レンズと前記第１の物体とを仮想的に結んだ線上に前記第２の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する
ことを特徴とするロボットシステム。
【請求項１４】
第１の物体を保持するエンドエフェクターが先端に設けられた可動部を有するロボットと、
レンズを有する撮像部と、
前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、
前記制御部は、前記レンズと前記第２の物体とを仮想的に結んだ線上に前記第１の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する
ことを特徴とするロボットシステム。
【請求項１５】
請求項１３又は１４に記載のロボットシステムにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させる
ことを特徴とするロボットシステム。
【請求項１６】
請求項１３又は１４に記載のロボットシステムにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させる
ことを特徴とするロボットシステム。
【請求項１７】
撮像部と、
第１の物体を保持するエンドエフェクターを有するロボットと、
前記第１の物体を第２の物体に近づけるように前記エンドエフェクターの位置を制御する制御部と、を備え、
前記制御部は、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっていない場合には、前記撮像部の撮像結果に基づいて前記エンドエフェクターを制御し、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっている場合には、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターを制御する
ことを特徴とするロボットシステム。
【請求項１８】
請求項１７に記載のロボットシステムにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させる
ことを特徴とするロボットシステム。
【請求項１９】
請求項１７に記載のロボットシステムにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させる
ことを特徴とするロボットシステム。
【請求項２０】
撮像部と、第１の物体を保持するエンドエフェクターを有するロボットと、を備え、
前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっていない場合、前記撮像部の撮像結果に基づいて前記第１の物体を第２の物体に近づける工程と、
前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっている場合、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターの位置を制御する工程と、
を有することを特徴とするロボットシステム。
【請求項２１】
可動部と、
前記可動部の先端に設けられたエンドエフェクターと、
第１の物体と、前記エンドエフェクターが保持する第２の物体とを含む画像を取得する画像取得部と、
前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、
前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、
を備えることを特徴とするロボット。
【請求項２２】
請求項２１に記載のロボットにおいて、
前記可動部を２つ備え、
前記２つの可動部のうちの１つが前記第２の物体を保持し、前記２つの可動部のうちの他の１つが前記第１の物体を保持する
ことを特徴とするロボット。
【請求項２３】
エンドエフェクターと、
画像を取得する画像取得部と、
前記画像から第１の物体及び前記エンドエフェクターが保持する第２の物体を認識する画像処理部と、
前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、
前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とするロボット。
【請求項２４】
レンズを有する撮像部と、
第１の物体を保持するエンドエフェクターが先端に設けられた可動部と、
前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、
前記制御部は、前記レンズと前記第１の物体とを仮想的に結んだ線上に前記第２の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する
ことを特徴とするロボット。
【請求項２５】
レンズを有する撮像部と、
第１の物体を保持するエンドエフェクターが先端に設けられた可動部と、
前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、
前記制御部は、前記レンズと前記第２の物体とを仮想的に結んだ線上に前記第１の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する
ことを特徴とするロボット。
【請求項２６】
請求項２４又は２５に記載のロボットにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させる
ことを特徴とするロボット。
【請求項２７】
請求項２４又は２５に記載のロボットにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させる
ことを特徴とするロボット。
【請求項２８】
撮像部が撮像した画像を取得する画像取得部と、
第１の物体を保持するエンドエフェクターと、
前記第１の物体を第２の物体に近づけるように前記エンドエフェクターの位置を制御する制御部と、を備え、
前記制御部は、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっていない場合には、前記取得した画像に基づいて前記エンドエフェクターを制御し、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっている場合には、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターを制御する
ことを特徴とするロボット。
【請求項２９】
請求項２８に記載のロボットにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させる
ことを特徴とするロボット。
【請求項３０】
請求項２８に記載のロボットにおいて、
前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させる
ことを特徴とするロボット。
【請求項３１】
撮像部が撮像した画像を取得する画像取得部と、第１の物体を保持するエンドエフェクターと、を備え、
前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっていない場合、前記取得した画像に基づいて前記第１の物体を第２の物体に近づける工程と、
前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっている場合、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターの位置を制御する工程と、
を有することを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御方法、ロボット制御装置、ロボットシステム、ロボット及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ハンドが把持対象物を把持する直前あるいは直後において、前方カメラの撮像情報に基づいた制御から、側方カメラの撮像情報に基づいた制御に切り替えることが開示されている。
【０００３】
特許文献２には、ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させるビジュアルサーボ制御と、ビジュアルサーボ制御中にワークがカメラの視野から外れた場合に、認識したワークの最終位置を基にカメラの目標位置と移動速度を変更してワークを再補足する再補足制御と、を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２３５３８６号公報
【特許文献２】特開２０１１−１３６３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の発明は、ハンドが把持対象物を把持する直前あるいは直後で前方カメラから側方カメラにカメラを切り替えるだけであり、ハンドが把持対象物を把持する直前も直後もビジュアルサーボを行っている。しかしながら、特許文献１に記載の発明では、側方カメラが把持対象物等を見失った場合についての対応については記載されていない。
【０００６】
特許文献２に記載の発明は、ワークを見失った場合にもワークを再補足することができる。しかしながら、特許文献２に記載の発明では、ワークの再補足を行ってもワークを認識できない場合についての対応については記載されていない。
【０００７】
というのは、特許文献１、２に記載の発明は、ビジュアルサーボにより、対象物を把持する可動部の制御を行うものであるからである。すなわち、特許文献１、２に記載の発明では、ワークや把持対象物が画像から認識できない場合というのは、考慮されていない。
【０００８】
しかしながら、ビジュアルサーボの作業中に、ワークや把持対象物が画像から認識できなくなる場合が考えられる。ワークや把持対象物が画像から認識できない場合には、画像に基づいた制御はできなくなる。したがって、この場合には、一般的には、可動部を止める（作業停止）しかない。
【０００９】
なお、ワークや把持対象物が画像から認識できない場合に、ワークや把持対象物が最後に認識できた位置にあると推定して作業を続行することも考えられる。しかしながら、この場合には、ワークや把持対象物の推定位置と実際の位置とが異なることにより、作業中にワークや把持対象物が破壊される可能性がある。
【００１０】
そこで、本発明は、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができるロボット制御方法、ロボット制御装置、ロボットシステム、ロボット及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するための第一の態様は、ロボット制御方法であって、第１の物体と、エンドエフェクターが保持する第２の物体とを含む画像を取得する第１のステップと、前記取得した画像から、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する第２のステップと、前記第２のステップで前記第１の位置及び前記第２の位置が認識できたか否かを判断する第３のステップと、前記第３のステップの判断結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように、前記エンドエフェクターが先端に設けられた可動部を制御する第４のステップと、を有し、前記第４のステップは、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御することを特徴とする。
【００１２】
第一の態様によれば、画像から第１の物体の表面の任意の位置である第１の位置及び第２の物体の表面の任意の位置である第２の位置が認識できた場合には、第１の位置及び前記第２の位置の認識結果に基づいて可動部を制御し、画像から第１の位置又は第２の位置が認識できなかった場合は、可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて可動部を制御する。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。さらに、可動部の先端に加わる力に基づいて可動部を制御することで、画像から認識できない第３の位置に第２の位置を近づけるように可動部を制御することができる。
【００１３】
ここで、前記第４のステップでは、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、インピーダンス制御により前記可動部を制御してもよい。これにより、第１の物体、第２の物体や可動部に外力がかかる場合においても、第１の物体や第２の物体を破壊することを防止しつつ、確実に可動部を移動させることができる。
【００１４】
ここで、前記第４のステップでは、前記第１の位置及び前記第２の位置が認識できたときは、前記第２の位置が第１の量だけ移動するように前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記第２の位置が前記第１の量より小さい第２の量だけ移動するように前記可動部を制御してもよい。これにより、対象物が画像から認識できない場合に、安全に可動部を移動させることができる。
【００１５】
ここで、前記第３のステップにおいて、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときとは、前記第１の位置及び前記第２の位置の少なくとも一方が前記画像に含まれていない場合、前記第１の位置及び前記第２の位置の少なくとも一方が前記画像の任意の範囲内に含まれていない場合、前記第１の位置及び前記第２の位置の少なくとも一方が画像処理により認識できなかった場合、及び、前記第１の位置と前記第２の位置との位置関係が設定された範囲外である場合の少なくとも１つであってもよい。これにより、様々な状況に対応して作業を継続ことができる。
【００１６】
ここで、前記第１のステップでは、前記画像を取得するステップは、前記第１の物体及び前記第２の物体を異なる方向から撮像した２枚の画像を取得し、前記第４のステップでは、前記２枚の画像の少なくとも１枚から前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合には、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときであるとして前記可動部を制御してもよい。これにより、より安全に作業を継続することができる。
【００１７】
ここで、前記第４のステップでは、前記第２の位置から前記所定の距離だけ前記第２の物体の内側へ向かう方向へ移動させることにより前記第３の位置を算出し、当該算出された第３の位置へ前記第２の位置を近づけるように前記可動部を制御してもよい。これにより、第２の物体の内部にあって視認できない第３の位置へ可動部を制御することができる。
【００１８】
ここで、前記第４のステップでは、前記第１の位置及び前記第２の位置が認識できたときは、前記認識結果から前記第２の位置を求め、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の移動量に基づいて前記第２の位置を求めてもよい。これにより、画像から第１の位置又は前記第２の位置が認識できなかった場合にも、第２の位置を求めることができる。
【００１９】
上記課題を解決するための第二の態様は、ロボット制御装置であって、第１の物体と、エンドエフェクターが保持する第２の物体とを含む画像を取得する画像取得部と、前記取得した画像から、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記エンドエフェクターが先端に設けられた可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、を備えることを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。さらに、可動部の先端に加わる力に基づいて可動部を制御することで、画像から認識できない第３の位置に第２の位置を近づけるように可動部を制御することができる。
【００２０】
上記課題を解決するための第三の態様は、ロボット制御装置であって、画像を取得する画像取得部と、前記画像から第１の物体及びエンドエフェクターが保持する第２の物体を認識する画像処理部と、前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００２１】
上記課題を解決するための第四の態様は、ロボットシステムであって、可動部及び前記可動部の先端に設けられたエンドエフェクターを有するロボットと、第１の物体と、前記可動部が保持する第２の物体とを含む画像を撮像する撮像部と、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、を備えることを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００２２】
ここで、前記撮像部は、前記第１の物体と前記第２の物体とを異なる方向から撮像する２つの撮像装置を有し、前記画像処理部は、前記２つの撮像装置のそれぞれで撮像された２枚の画像から前記第１の位置及び前記第２の位置を認識し、かつ、前記２つの撮像装置の少なくとも１つで撮像された画像から前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合は、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかった場合としてもよい。これにより、より安全に作業を継続することができる。
【００２３】
上記課題を解決するための第五の態様は、ロボットシステムであって、エンドエフェクターを有するロボットと、画像を取得する画像取得部と、前記画像から第１の物体及び前記エンドエフェクターが保持する第２の物体を認識する画像処理部と、前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００２４】
上記課題を解決するための第六の態様は、ロボットシステムであって、第１の物体を保持するエンドエフェクターが先端に設けられた可動部を有するロボットと、レンズを有する撮像部と、前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、前記制御部は、前記レンズと前記第１の物体とを仮想的に結んだ線上に前記第２の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御することを特徴とする。これにより、レンズからみて第１の物体が他の物体と重なっている場合、すなわち画像上で第１の物体が他の物体に覆われている場合にも、安全に作業を継続することができる。
【００２５】
上記課題を解決するための第七の態様は、ロボットシステムであって、第１の物体を保持するエンドエフェクターが先端に設けられた可動部を有するロボットと、レンズを有する撮像部と、前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、前記制御部は、前記レンズと前記第２の物体とを仮想的に結んだ線上に前記第１の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御することを特徴とする。これにより、レンズからみて第２の物体が他の物体と重なっている場合、すなわち画像上で第２の物体が他の物体に覆われている場合にも、安全に作業を継続することができる。
【００２６】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００２７】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００２８】
上記課題を解決するための第八の態様は、ロボットシステムであって、撮像部と、第１の物体を保持するエンドエフェクターを有するロボットと、前記第１の物体を第２の物体に近づけるように前記エンドエフェクターの位置を制御する制御部と、を備え、前記制御部は、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっていない場合には、前記撮像部の撮像結果に基づいて前記エンドエフェクターを制御し、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっている場合には、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターを制御することを特徴とする。これにより、撮像部の撮像方向において第１の物体及び第２の物体が重なっている場合、すなわち画像上で第１の物体と第２の物体とが重なっている場合にも、安全に作業を継続することができる。
【００２９】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００３０】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００３１】
上記課題を解決するための第九の態様は、ロボットシステムであって、撮像部と、第１の物体を保持するエンドエフェクターを有するロボットと、を備え、前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっていない場合、前記撮像部の撮像結果に基づいて前記第１の物体を第２の物体に近づける工程と、前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっている場合、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターの位置を制御する工程と、を有することを特徴とする。これにより、撮像部の撮像方向において第１の物体及び第２の物体が重なっている場合、すなわち画像上で第１の物体と第２の物体とが重なっている場合にも、安全に作業を継続することができる。
【００３２】
上記課題を解決するための第十の態様は、ロボットであって、可動部と、前記可動部の先端に設けられたエンドエフェクターと、第１の物体と、前記エンドエフェクターが保持する第２の物体とを含む画像を取得する画像取得部と、前記第１の物体の表面の任意の位置である第１の位置及び前記第２の物体の表面の任意の位置である第２の位置を認識する画像処理部と、前記第１の位置及び前記第２の位置の認識結果に基づいて、異なる制御方法を用いて、前記第２の位置を前記第１の位置から前記第１の物体の内側へ所定の距離だけ離れた第３の位置に近づけるように前記可動部を制御する制御部であって、前記第１の位置及び前記第２の位置が認識できたときは、前記第１の位置及び前記第２の位置の認識結果に基づいて、前記可動部を制御し、前記第１の位置及び前記第２の位置の少なくとも一方が認識できなかったときは、前記可動部の先端に加わる力を取得し、当該取得した可動部の先端に加わる力に基づいて前記可動部を制御する制御部と、を備えることを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００３３】
ここで、前記可動部を２つ備え、前記２つの可動部のうちの１つが前記第２の物体を保持し、前記２つの可動部のうちの他の１つが前記第１の物体を保持してもよい。これにより、２つの可動部のそれぞれが保持する２つの対象物を組み合わせる等の作業を、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００３４】
上記課題を解決するための第十一の態様は、ロボットであって、エンドエフェクターと、画像を取得する画像取得部と、前記画像から第１の物体及び前記エンドエフェクターが保持する第２の物体を認識する画像処理部と、前記画像処理部の認識結果に基づいて、前記第２の物体の位置を前記第１の物体の位置から所定の距離だけ離れた目標位置に近づけるように、前記エンドエフェクターの位置を制御する制御部と、を備え、前記制御部は、前記画像処理部が前記第１の物体及び前記第２の物体を認識できたときは、前記第１の物体の位置及び前記第２の物体の位置に基づいて、前記エンドエフェクターの位置を制御し、前記画像処理部が前記第１の物体及び前記第２の物体の少なくとも一方を認識できなかったときは、前記エンドエフェクターに加わる力を取得し、当該取得した力に基づいて前記エンドエフェクターの位置を制御することを特徴とする。これにより、エンドエフェクターが保持する対象物が画像から認識できない場合にも、安全に作業を継続することができる。
【００３５】
上記課題を解決するための第十二の態様は、ロボットであって、レンズを有する撮像部と、第１の物体を保持するエンドエフェクターが先端に設けられた可動部と、前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、前記制御部は、前記レンズと前記第１の物体とを仮想的に結んだ線上に前記第２の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御することを特徴とする。これにより、レンズから見て第１の物体が他の物体と重なっている、すなわち画像上で第１の物体が他の物体に覆われている場合にも、安全に作業を継続することができる。
【００３６】
上記課題を解決するための第十三の態様は、ロボットであって、レンズを有する撮像部と、第１の物体を保持するエンドエフェクターが先端に設けられた可動部と、前記撮像部による前記第１の物体及び前記第２の物体の撮像結果に基づいて前記第１の物体を第２の物体に近づけるように前記可動部を制御する制御部と、を備え、前記制御部は、前記レンズと前記第２の物体とを仮想的に結んだ線上に前記第１の物体、前記エンドエフェクター又は前記可動部がある場合には、前記エンドエフェクターに加わる力に基づいて前記可動部を制御することを特徴とする。これにより、レンズから見て第２の物体が他の物体と重なっている、すなわち画像上で第２の物体が他の物体に覆われている場合にも、安全に作業を継続することができる。
【００３７】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００３８】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００３９】
上記課題を解決するための第十四の態様は、ロボットであって、撮像部が撮像した画像を取得する取得部と、第１の物体を保持するエンドエフェクターと、前記第１の物体を第２の物体に近づけるように前記エンドエフェクターの位置を制御する制御部と、を備え、前記制御部は、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっていない場合には、前記取得した画像に基づいて前記エンドエフェクターを制御し、前記撮像部の撮像方向において前記第１の物体及び前記第２の物体が重なっている場合には、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターを制御することを特徴とする。これにより、撮像部の撮像方向において第１の物体及び第２の物体が重なっている場合、すなわち画像上で第１の物体と第２の物体とが重なっている場合にも、安全に作業を継続することができる。
【００４０】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターが受けた力の方向に、前記エンドエフェクターが受けた力に応じた移動速度及び安定性で前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００４１】
ここで、前記制御部は、前記エンドエフェクターに加わる力に基づいて前記可動部を制御する場合、前記エンドエフェクターを移動させる方向以外の力を前記エンドエフェクターが受けないように、前記エンドエフェクターが受けた力の方向に前記エンドエフェクターを移動させてもよい。これにより、物体やロボットを破壊することを防止しつつ、ロボットに作業を行なわることができる。
【００４２】
上記課題を解決するための第十五の態様は、ロボットであって、撮像部と、第１の物体を保持するエンドエフェクターと、を備え、前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっていない場合、前記撮像部の撮像結果に基づいて前記第１の物体を第２の物体に近づける工程と、前記撮像部の撮像方向において、前記第１の物体及び前記第２の物体が重なっている場合、前記エンドエフェクターに加わる力に基づいて前記エンドエフェクターの位置を制御する工程と、を有することを特徴とする。これにより、撮像部の撮像方向において第１の物体及び第２の物体が重なっている場合、すなわち画像上で第１の物体と第２の物体とが重なっている場合にも、安全に作業を継続することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１の実施形態におけるロボットシステム１の構成の一例を示す図である。
【図２】ロボットシステム１の機能構成の一例を示すブロック図である。
【図３】可動部を駆動する処理の一例を説明する図である。
【図４】ロボット制御部２０のハードウェア構成の一例を示す図である。
【図５】可動部を駆動する処理の流れの一例を示すフローチャートである。
【図６】本発明の第２の実施形態におけるロボットシステム２の構成の一例を示す図である。
【図７】本発明の第１の実施形態及び第２の実施の形態の変形例であり、ロボットと作業者とが同一の製品に対して順番に作業を行う場合に撮像部を天井に設ける形態である。
【図８】本発明の第１の実施形態及び第２の実施の形態の変形例であり、ロボットが１つの生産セル内で作業を行う場合に撮像部を天井に設ける形態である。
【図９】本発明の第１の実施形態及び第２の実施の形態の変形例であり、ロボットの頭に相当する部分に撮像部を設ける形態である。
【図１０】本発明の第１の実施形態及び第２の実施の形態の変形例であり、アームの先端に撮像部を設ける形態である。
【図１１】本発明の第１の実施形態及び第２の実施の形態の変形例であり、アームの先端に撮像部を設ける形態である。
【発明を実施するための形態】
【００４４】
本発明の一実施形態について、図面を参照しながら説明する。
【００４５】
＜第１の実施形態＞
図１は、本発明の一実施形態におけるロボットシステム１の構成の一例を示すシステム構成図である。本実施形態におけるロボットシステム１は、主として、ロボット１０と、ロボット制御部２０と、第１撮像部３０と、第２撮像部４０とを備える。
【００４６】
ロボット１０は、複数のジョイント（関節）１２と、複数のリンク１３とを含むアーム１１（可動部に相当）を有するアーム型のロボットである。アーム１１の先端には、対象物（ワーク）を把持したり、道具を把持して対象物に対して所定の作業を行ったりすることが可能なハンド１４（いわゆるエンドエフェクター又は手先効果器）が設けられる。
【００４７】
ジョイント１２及びハンド１４には、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、ロボット制御部２０によるロボット１０のフィードバック制御に使用される。
【００４８】
また、ハンド１４の内部又はアーム１１の先端等には、力覚センサー（図示せず）が設けられる。力覚センサーは、ハンド１４に加わる力を検出する。力覚センサーとしては、例えば、並進３軸方向の力成分と、回転３軸回りのモーメント成分の６成分を同時に検出することができる６軸力覚センサーを用いることができる。また、力覚センサーで使用される物理量は、電流、電圧、電荷量、インダクタンス、ひずみ、抵抗、電磁誘導、磁気、空気圧、光等である。力覚センサーは、所望の物理量を電気信号に変換することにより、６成分を検出可能である。なお、力覚センサーは、６軸に限らず、例えば３軸でもよい。また、力覚センサーを設ける位置は、ハンド１４に加わる力を検出できるのであれば、特に限定されるものではない。
【００４９】
なお、ロボット１０の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。一般的な把持ロボットが備える構成を排除するものではない。例えば、図１では６軸のアームが示されているが、軸数（ジョイント数）をさらに増加させてもよいし、減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。また、エンドエフェクターはハンド１４に限られない。また、配置空間を作ることの出来るロボットであれば、どのような態様のロボット、例えば自走式のロボットにも適用することもできる。
【００５０】
ロボット制御部２０は、ロボット１０の全体を制御する処理を行う。ロボット制御部２０は、ロボット１０の本体とは離れた場所に設置してもよいし、ロボット１０等に内蔵してもよい。ロボット制御部２０がロボット１０の本体と離れた場所に設置されている場合には、ロボット制御部２０は、有線又は無線でロボット１０と接続される。
【００５１】
第１撮像部３０及び第２撮像部４０は、ロボット１０の作業領域付近をそれぞれ異なる角度から撮像して、画像データを生成するユニットである。第１撮像部３０及び第２撮像部４０は、例えば、カメラを含み、作業台、天井、壁などに設けられる。第１撮像部３０及び第２撮像部４０としては、可視光カメラ、赤外線カメラ等を採用することができる。第１撮像部３０及び第２撮像部４０は複数のレンズを有し、レンズの光軸に沿った所定の領域内の対象物の画像を取得する。
【００５２】
第１撮像部３０及び第２撮像部４０はロボット制御部２０に接続され、第１撮像部３０及び第２撮像部４０により撮像された画像はロボット制御部２０に入力される。なお、第１撮像部３０及び第２撮像部４０は、ロボット制御部２０ではなくロボット１０に接続されるようにしてもよいし、ロボット１０に内蔵されるようにしてもよい。この場合には、第１撮像部３０及び第２撮像部４０により撮像された画像は、ロボット１０を介してロボット制御部２０に入力される。
【００５３】
次に、ロボットシステム１の機能構成例について説明する。図２は、ロボット制御部２０の機能ブロック図の一例である。
【００５４】
ロボット１０は、アクチュエーターのエンコーダー値、及びセンサーのセンサー値等に基づいてアーム１１及びハンド１４を制御する動作制御部１０１を備える。
【００５５】
動作制御部１０１は、ロボット制御部２０から出力された情報、アクチュエーターのエンコーダー値、及びセンサーのセンサー値等に基づいてアーム１１及びハンド１４を制御する。例えば、動作制御部１０１は、ロボット制御部２０から出力された移動方向及び移動量でアーム１１を移動させるように、アクチュエーターを駆動させる。本実施の形態では、ハンド１４がワークＢ（第２の物体に相当）を把持し、ワークＢの表面にある軌道点Ｂ１（第２の位置に相当）が基準ワークＡ（第１の物体に相当）の表面にある目標位置Ａ１（第３の位置に相当）に到達するように、動作制御部１０１がアーム１１を駆動させる。
【００５６】
なお、本実施の形態では、基準ワークＡが床等に載置されているため、基準ワークＡを基準ワークとしている。しかしながら、基準ワークは制御の説明上、便宜的に定義したものである。基準ワークは、目標位置を定めることが可能な物体であればよく、特に限定されるものではない。また、この基準という表現は、ワークの形状、大きさ、位置等に関するものではない。
【００５７】
ロボット制御部２０は、主として、画像取得部２００と、画像処理部２０１と、目標位置算出部２０３と、制御部２０５と、サーボシステム２０６とを備える。また、画像処理部２０１は、基準ワーク認識部２０２と、ワーク認識部２０４とを有する。
【００５８】
画像取得部２００は、第１撮像部３０が撮像した画像（以下、第１画像という）及び第２撮像部４０が撮像した画像（以下、第２画像という）を取得する。画像取得部２００が取得した第１画像及び第２画像は、画像処理部２０１に出力される。
【００５９】
画像処理部２０１は、画像取得部２００から出力された第１画像及び第２画像から、基準ワークＡ及びワークＢを認識し、かつ目標位置Ａ１及び軌道点Ｂ１を認識する。
【００６０】
ここで、第１画像及び第２画像から基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が認識できる場合とは、第１撮像部３０及び第２撮像部４０のレンズと基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）とを結ぶ線上に他の物体（基準ワークＡ、ワークＢ、アーム１１等）が含まれない場合である。この場合には、レンズから見て基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が他の物体と重なっておらず、第１画像及び第２画像に基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が含まれている。
【００６１】
第１画像及び第２画像から基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が認識できない場合とは、第１撮像部３０及び第２撮像部４０のレンズと基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）とを結ぶ線上に他の物体が含まれる場合、すなわち基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）よりレンズ側に他の物体がある場合である。具体的には、基準ワークＡよりレンズ側にアーム１１、ハンド１４、ワークＢのいずれかがある場合や、ワークＢよりレンズ側にアーム１１、ハンド１４、基準ワークＡのいずれかがある場合である。この場合には、レンズから見て基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が他の物体と重なっている。したがって、第１画像及び第２画像においては、基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が他の物体により覆われており、視認できない。
【００６２】
なお、ここでいう「レンズ」とは、最も撮影対象物に近いレンズ（一般的には対物レンズ）を想定しているが、撮像部を構成する全てのレンズが対象に含まれる。なお、第１撮像部３０及び第２撮像部４０が屈曲光学系を採用している場合には、光軸を折り曲げる光学要素より対物レンズ側（撮像素子から遠い側）のレンズが対象に含まれる。また、対物レンズの前面にカバーガラスが設けられている場合には、カバーガラスも対象に含まれる。
【００６３】
また、ここでいう、レンズから見て基準ワークＡ及びワークＢ（目標位置Ａ１及び軌道点Ｂ１）が他の物体と重なっている場合とは、全部が重なる場合と一部が重なる場合が含まれる。また、全部が重なる場合には、ぴったり重なる場合と、背後に隠れてしまう場合が含まれる。
【００６４】
基準ワーク認識部２０２は、画像取得部２００から出力された第１画像及び第２画像から、基準ワークＡ及び目標位置Ａ１が算出可能な画像情報を認識する。
【００６５】
図３は、第１画像の例であり、（Ａ）は目標位置Ａ１が算出可能な画像情報が検出できる場合、（Ｂ）は目標位置Ａ１が算出可能な画像情報が検出できない場合を示す。
【００６６】
本実施の形態では、図１に示すように、目標位置Ａ１は穴の底であり、画像で直接視認することはできない。しかしながら、穴の深さが分かっている（例えば、メモリー２２（後に説明）等に記憶されている）ため、穴の開口部Ａ２（第１の位置に相当）の位置が分かれば目標位置Ａ１は算出可能である。したがって、基準ワーク認識部２０２は、開口部Ａ２を含む画像Ａ３（図３（Ａ）参照）を目標位置Ａ１が算出可能な画像情報として第１画像及び第２画像から検出する。そして、基準ワーク認識部２０２は、画像Ａ３から開口部Ａ２を認識する。
【００６７】
図３（Ａ）に示すように、開口部Ａ２が視認できる場合には、画像Ａ３を検出することができる。それに対し、図３（Ｂ）に示すように、開口部Ａ２が他の部材（ここでは、ワークＢ）により覆われており開口部Ａ２が視認できない場合には画像Ａ３が検出できない。したがって、画像Ａ３は、開口部Ａ２を含む最少範囲の画像とすることが望ましい。
【００６８】
なお、基準ワーク認識部２０２が行う画像認識処理は、特に限定されるものではなく、すでに公知の様々な技術を用いることができるため、説明を省略する。
【００６９】
基準ワーク認識部２０２は、第１画像及び第２画像から開口部Ａ２が認識された場合には、開口部Ａ２の位置を示す情報を目標位置算出部２０３に出力する。また、基準ワーク認識部２０２は、第１画像又は第２画像から開口部Ａ２が認識されなかった場合には、目標位置算出部２０３には何も出力されない。
【００７０】
目標位置算出部２０３は、目標位置Ａ１が算出可能である場合には、画像Ａ３から開口部Ａ２を検出する。また、目標位置算出部２０３は、検出した開口部Ａ２の位置と、穴の深さの情報とに基づいて、目標位置Ａ１がどこであるかを示す情報（以下、目標位置Ａ１の位置情報という）を算出する。算出された目標位置Ａ１の位置情報は、制御部２０５に出力される。
【００７１】
本実施の形態では、穴の断面は円形であるため、目標位置算出部２０３は、開口部Ａ２の中心位置から穴の深さだけ基準ワークＡの内側へ向かう方向へ移動（図１、３に示す場合は下方向へ移動）させた位置を、目標位置Ａ１の位置と算出する。
【００７２】
なお、本実施の形態では、円形の穴の開口部Ａ２と穴の深さとから目標位置Ａ１を算出したが、目標位置は穴の底とは限らず、様々な形態が考えられる。ただし、いかなる形態においても、目標位置は視認できない。したがって、本発明では、ワークの表面に露出した指標となる位置と、あらかじめ分かっている指標と目標位置との距離（所定の距離に相当）とから、目標位置を算出する。また、開口部Ａ２の形状もこれに限らず、様々な形態が考えられる。ただし、開口部Ａ２は、基準ワークＡの表面の任意の位置であることは変わらない。また、目標位置Ａ１は、基準ワークＡの表面の任意の位置から、基準ワークＡの表面の任意の位置と目標位置との距離だけ基準ワークＡの内側へ離れた位置であることは変わりない。
【００７３】
ワーク認識部２０４は、画像取得部２００から出力された第１画像及び第２画像から、ワークＢ及び軌道点Ｂ１を検出する。本実施の形態では、軌道点Ｂ１は、ワークＢの先端である。したがって、ワーク認識部２０４は、図３（Ａ）に示すように、ワークＢ先端（軌道点Ｂ１）を含む画像Ｂ２を第１画像及び第２画像から検出する。そして、ワーク認識部２０４は、画像Ｂ２から軌道点Ｂ１を認識する。
【００７４】
本実施の形態では、ワークＢは円柱形である。したがって、ワーク認識部２０４は、先端の径方向の中心位置を軌道点Ｂ１とする。なお、ワークＢの断面形状は円形に限らず、基準ワークＡの開口部Ａ２と同じ形状であれば、どのような形状でもよい。また、ワークＢの形状に応じて、軌道点Ｂ１の位置も様々な位置となり得る。ただし、軌道点Ｂ１は、ワークＢの表面の任意の位置であることは変わらない。
【００７５】
図３（Ａ）に示すように、軌道点Ｂ１が視認できる場合には、画像Ｂ２を検出することができる。それに対し、図３（Ｂ）に示すように、軌道点Ｂ１が他の部材（ここでは、基準ワークＡ）により覆われており軌道点Ｂ１が視認できない場合には画像Ｂ２が検出できない。なお、画像Ｂ２は、軌道点Ｂ１を含む最少範囲の画像とすることが望ましい。
【００７６】
ワーク認識部２０４は、第１画像及び第２画像から画像Ｂ２が認識できた場合には、画像Ｂ２から軌道点Ｂ１を検出する。そして、ワーク認識部２０４は、軌道点Ｂ１の位置を示す情報を制御部２０５に出力する。ワーク認識部２０４は、第１画像又は第２画像から画像Ｂ２が認識できなかった場合には、制御部２０５に何も出力しない。
【００７７】
なお、ワーク認識部２０４が行う画像認識処理は、特に限定されるものではなく、すでに公知の様々な技術を用いることができるため、説明を省略する。
【００７８】
制御部２０５は、基準ワーク認識部２０２、目標位置算出部２０３、ワーク認識部２０４から出力された情報に基づいて、開口部Ａ２及び軌道点Ｂ１が認識できた場合と、そうでない場合とで、異なる制御方法を用いてアーム１１及びハンド１４等を制御する。具体的には、制御部２０５は、基準ワーク認識部２０２、ワーク認識部２０４からの出力に基づいて、開口部Ａ２及び軌道点Ｂ１が認識できたか否かを判断する。また、制御部２０５は、判断結果に基づいて、ビジュアルサーボを用いるか、インピーダンス制御を用いるかの切り替えを行う。そして、制御部２０５は、目標位置算出部２０３から出力された目標位置に、軌道点Ｂ１を近づけるようにハンド１４が把持するワークＢを移動させ、目標位置に軌道点Ｂ１を一致させるようにする。
【００７９】
なお、ビジュアルサーボは、目標物との相対的な位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡する制御手法である。本実施の形態では、ステレオ視などの方法を用いて計算した対象の３次元位置情報に基づいてロボットを制御する位置ベース法を採用する。
【００８０】
また、インピーダンス制御は、ロボットの手先（ハンド１４）に外から力を加えた場合に生じる機械的なインピーダンス（慣性、減衰係数、剛性）を、目的とする作業に都合の良い値に設定するための位置と力の制御手法である。例えば、減衰係数を低く設定した場合、軽い力でロボットが動作するため移動が容易である反面、安定性が低く、位置決めなど精密な動作には不適な特性となる。ここで、安定性が低いとは、移動後に目標位置での停止が難しい、ロボットが他の物体に強い力（破壊する可能性がある力）で接触してしまう等を意味する。一方、減衰係数を高く設定した場合、抵抗が大きくなり移動が困難になる反面、安定性が高くなり、位置決めなど精密な動作に適した特性となる。ここで、安定性が高いとは、移動後に目標位置での停止が容易、ロボットが他の物体に接触する場合においても適切な接触強度で接触する等を意味する。
【００８１】
インピーダンス制御を用いる場合には、機械的なインピーダンス（柔らかさ）を適切な目標値に設定する事によって、外力と同じ方向に、マニピュレーターが受ける外力に応じた適切な柔らかさ（移動速度、安定性等）で作業を行なわることができる。これにより、ワークやロボット自体を破壊することを防止する、もしくはワークやロボット自体を破壊する可能性を低減することができる。本実施の形態では、手先の位置、速度、力などの測定値を用いたフィードバック制御でインピーダンスを変更する能動インピーダンス法を採用する。
【００８２】
なお、ビジュアルサーボ、インピーダンス制御は、すでに公知の制御手法であるため、詳細な説明を省略する。
【００８３】
制御部２０５は、ビジュアルサーボの場合には、仮想変位Ｖ（第１の量に相当）だけ軌道点Ｂ１を移動させるように、軌道点Ｂ１の移動量及び移動方向を算出する。また、制御部２０５は、インピーダンス制御の場合には、仮想変位Ｉ（第２の量に相当）だけ軌道点Ｂ１を移動させるように、軌道点Ｂ１の移動量及び移動方向を算出する。仮想変位Ｖ、Ｉとは、軌道点Ｂ１、すなわちハンド１４の変位である。なお、仮想変位Ｉは、仮想変位Ｖより小さく設定されている。制御部２０５が行う処理の詳細については、後に詳述する。
【００８４】
サーボシステム２０６は、制御部２０５から出力された情報に基づいてアーム１１を制御するように、動作制御部１０１に情報を出力する。これにより、ハンド１４の位置及び向き等が変更可能となる。
【００８５】
また、サーボシステム２０６は、制御部２０５がインピーダンス制御を用いる場合には、動作制御部１０１によるアーム１１の制御による軌道点Ｂ１、すなわちハンド１４の各方向成分の移動量を制御部２０５へ出力する。さらに、サーボシステム２０６は、作業が終了していない場合には、第１画像及び第２画像を撮像するように、第１撮像部３０及び第２撮像部４０に指示を出力する。サーボシステム２０６が行う処理の詳細については、後に詳述する。
【００８６】
図４は、ロボット制御部２０の概略構成の一例を示すブロック図である。図示するように、例えばコンピューターなどで構成されるロボット制御部２０は、演算装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、揮発性の記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や不揮発性の記憶装置であるＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  Ｍｅｍｏｒｙ）からなるメモリー２２と、外部記憶装置２３と、ロボット１０等の外部の装置と通信を行う通信装置２４と、マウスやキーボード等の入力装置２５と、ディスプレイ等の出力装置２６と、ロボット制御部２０と他のユニットを接続するインターフェイス（Ｉ／Ｆ）２７とを備える。
【００８７】
上記の各機能部は、例えば、ＣＰＵ２１がメモリー２２等に格納された所定のプログラムをメモリー２２等に読み出して実行することにより実現される。なお、所定のプログラムは、例えば、予めメモリー２２等にインストールされてもよいし、通信装置２４を介してネットワークからダウンロードされてインストール又は更新されてもよい。
【００８８】
以上のロボットシステム１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。例えば、ロボット１０がロボット制御部２０や第１撮像部３０及び第２撮像部４０を備えていてもよい。また、一般的なロボットシステムが備える構成を排除するものではない。
【００８９】
次に、本実施形態における、上記構成からなるロボットシステム１の特徴的な処理について説明する。
【００９０】
図５は、本発明のアーム１１及びハンド１４の制御処理の流れを示すフローチャートである。この処理は、任意のタイミングで、例えば、図示しないボタン等を介してビジュアルサーボの開始指示が入力されることにより開始される。本実施の形態では、ロボット１０がワークＢであるピンを、基準ワークＡの穴に圧入する圧入作業を例に説明する。
【００９１】
画像取得部２００は、第１撮像部３０及び第２撮像部４０から第１画像及び第２画像を取得する（ステップＳ１００）。取得された画像データは、基準ワーク認識部２０２及びワーク認識部２０４に出力される。
【００９２】
基準ワーク認識部２０２は、第１画像及び第２画像から基準ワークＡの開口部Ａ２を認識する（ステップＳ１０２）。そして、基準ワーク認識部２０２は、開口部Ａ２が認識できたか否かを判断する（ステップＳ１０４）。
【００９３】
開口部Ａ２が認識できたと判断された場合（ステップＳ１０４でＹＥＳ）には、基準ワーク認識部２０２は、開口部Ａ２の位置を示す情報を目標位置算出部２０３に出力する。目標位置算出部２０３は、取得した情報に基づいて目標位置Ａ１の位置情報を更新する（ステップＳ１０６）。
【００９４】
ワーク認識部２０４は、第１画像及び第２画像からワークＢの軌道点Ｂ１を認識する（ステップＳ１０８）。そして、ワーク認識部２０４は、軌道点Ｂ１が認識できたか否かを判断する（ステップＳ１１０）。
【００９５】
軌道点Ｂ１が認識できた場合（ステップＳ１１０でＹＥＳ）には、ワーク認識部２０４は、軌道点Ｂ１の位置を示す情報を制御部２０５に出力する。また、制御部２０５は、ビジュアルサーボによりアーム１１を制御する（ステップＳ１１２）。以下、ビジュアルサーボによりアーム１１を制御する方法を、詳細に説明する。
【００９６】
制御部２０５は、ワーク認識部２０４から出力された情報に基づいて、軌道点Ｂ１の位置がどこであるかを示す情報（以下、軌道点Ｂ１の位置情報という）を算出する。そして、制御部２０５は、算出された軌道点Ｂ１の位置情報と、目標位置算出部２０３から取得した目標位置Ａ１の位置情報とに基づいて、軌道点Ｂ１の仮想変位Ｖと移動方向とを算出する。制御部２０５は、ビジュアルサーボにより軌道点Ｂ１、すなわちハンド１４を仮想変位Ｖだけ算出された移動方向へ移動させることを示す情報を、サーボシステム２０６に出力する。
【００９７】
サーボシステム２０６は、制御部２０５から出力された情報に基づいて、軌道点Ｂ１、すなわちハンド１４の移動方向及び移動量を求める。具体的には、仮想変位Ｖを各方向（ｘ方向、ｙ方向、ｚ方向）成分に分解することにより、ｘ方向の移動量、ｙ方向の移動量、ｚ方向の移動量を算出する。そして、サーボシステム２０６は、ビジュアルサーボにより、算出された移動量だけハンド１４をｘ方向、ｙ方向、ｚ方向に移動させるように、動作制御部１０１へ指示を出力する。
【００９８】
動作制御部１０１は、サーボシステム２０６から出力された指示に基づいて、アーム１１を移動させる。これにより、ビジュアルサーボによりアーム１１を制御するステップ（ステップＳ１１２）が終了する。
【００９９】
軌道点Ｂ１が認識できなかった場合（ステップＳ１１０でＮＯ）には、制御部２０５は、インピーダンス制御によりアーム１１を制御する（ステップＳ１１４）。以下、インピーダンス制御によりアーム１１を制御する方法を、詳細に説明する。
【０１００】
制御部２０５は、ワーク認識部２０４及びサーボシステム２０６から出力された情報に基づいて、軌道点Ｂ１の位置情報を算出する。具体的には、制御部２０５は、ワーク認識部２０４から最後に取得した情報、すなわち最後に認識された軌道点Ｂ１の位置に、サーボシステム２０６から出力されたハンド１４の各方向成分の移動量を加算して、現在の軌道点Ｂ１の位置情報を算出する。そして、制御部２０５は、算出された軌道点Ｂ１の位置情報と、目標位置算出部２０３から取得した目標位置Ａ１の位置情報とに基づいて、軌道点Ｂ１、すなわちハンド１４の仮想変位Ｉと移動方向とを算出する。
【０１０１】
インピーダンス制御は、画像から軌道点Ｂ１（又は開口部Ａ２）が検出できない場合に行うものである。したがって、基準ワークＡとワークＢとがぶつかっている可能性もある。したがって、より安全に作業を行うため、インピーダンス制御の時の仮想変位Ｉは、仮想変位Ｖより小さく設定している。
【０１０２】
制御部２０５は、インピーダンス制御によりハンド１４を仮想変位Ｉだけ算出された移動方向へ移動させることを示す情報を、サーボシステム２０６に出力する。
【０１０３】
サーボシステム２０６は、制御部２０５から取得した情報に基づいてハンド１４の移動方向及び移動量を求める。具体的には、サーボシステム２０６は、仮想変位Ｉを各方向（ｘ方向、ｙ方向、ｚ方向）成分に分解することにより、ｘ方向の移動量、ｙ方向の移動量、ｚ方向の移動量を算出する。そして、サーボシステム２０６は、インピーダンス制御により、算出された移動量だけハンド１４をｘ方向、ｙ方向、ｚ方向に移動させるように、動作制御部１０１へ指示を出力する。
【０１０４】
動作制御部１０１は、サーボシステム２０６から出力された指示に基づいて、アーム１１を移動させる。これにより、インピーダンス制御によりアーム１１を制御するステップ（ステップＳ１１４）が終了する。
【０１０５】
本実施の形態では、軸の圧入作業であるため、ワークＢに外力がかかる可能性が高い。しかしながら、インピーダンス制御を行うことにより、外力がかかる場合においても、確実にワークＢを仮想変位Ｉだけ移動させることができる。
【０１０６】
開口部Ａ２が認識できなかった場合（ステップＳ１０４でＮＯ）には、基準ワーク認識部２０２から目標位置算出部２０３へ情報が入力されないため、目標位置算出部２０３は、目標位置Ａ１が算出不可能であることと判断し、直前に算出された目標位置Ａ１の位置情報を制御部２０５へ出力する。その後、ステップＳ１０９へ進む。
【０１０７】
ワーク認識部２０４は、第１画像及び第２画像からワークＢの軌道点Ｂ１を認識する（ステップＳ１０９）。当該処理は、ステップＳ１０８の処理と同じである。軌道点Ｂ１が認識できた場合は、ワーク認識部２０４は、軌道点Ｂ１の位置を示す情報を制御部２０５に出力する。制御部２０５は、インピーダンス制御により可動部を制御する（ステップＳ１１４）。この場合は、目標位置Ａ１の位置情報が画像から分からないため、軌道点Ｂ１が認識できたか否かにかかわらず、インピーダンス制御を行う。ステップＳ１１４の処理については、すでに説明したため、ここでは説明を省略する。
【０１０８】
このように、本実施の形態では、開口部Ａ２、軌道点Ｂ１のどちらかが画像から検出されなかった場合には、インピーダンス制御を行う。開口部Ａ２、軌道点Ｂ１の両方が画像から検出されなかった場合にも、インピーダンス制御を行う。インピーダンス制御は、インピーダンスが設定されているため、基準ワークＡとワークＢとがぶつかったとしても、ワークＢが設定された方向に無理やり動かれることがないため、基準ワークＡやワークＢが破壊されずに済み、安全に作業を継続することができる。
【０１０９】
ビジュアルサーボ又はインピーダンス制御により軌道点Ｂ１、すなわちハンド１４が仮想変位Ｖ、Ｉだけ移動された（ステップＳ１１２、Ｓ１１４）ら、サーボシステム２０６は、移動後の軌道点Ｂ１の位置情報と、目標位置Ａ１の位置情報とが一致する、すなわち軌道点Ｂ１が目標位置Ａ１に到達したか否かを判断する（ステップＳ１１６）。
【０１１０】
軌道点Ｂ１が目標位置Ａ１に到達していない場合（ステップＳ１１６でＮＯ）は、サーボシステム２０６は、指示を第１撮像部３０及び第２撮像部４０に出力する。すると、第１撮像部３０及び第２撮像部４０は第１画像及び第２画像を撮像し、画像取得部２００は第１画像及び第２画像を取得する（ステップＳ１００）。これにより、ステップＳ１００〜Ｓ１１６が繰り返し行われる。軌道点Ｂ１が目標位置Ａ１に到達している場合（ステップＳ１１６でＹＥＳ）は、処理を終了する。
【０１１１】
このように図５に記載のフローを繰り返し行うことにより、画像から目標位置Ａ１や軌道点Ｂ１が見える状態から見えない状態となった場合には、ビジュアルサーボからインピーダンス制御へと切り替えられる。また、画像から目標位置Ａ１や軌道点Ｂ１が見えない状態から見える状態へ戻った場合には、インピーダンス制御からビジュアルサーボへと切り替えられる。
【０１１２】
本実施の形態によれば、ワーク等が画像から認識できない場合にはインピーダンス制御を行うため、ワーク等が画像から認識できない場合にも、安全に作業を継続することができる。
【０１１３】
また、本実施の形態によれば、軌道点や目標位置が画像から認識できる場合には、ビジュアルサーボを用いるため、作業の都度、基準ワークＡの位置が異なっていても、作業を行うことができる。したがって、毎回同じ位置に基準ワークＡを設置する必要がなく、作業効率を高くすることができる。
【０１１４】
さらに、本実施の形態によれば、どのような制御方法を用いた場合においても、ワークの内部にあって視認できない目標位置へ、ハンドが把持するワークを移動させることができる。
【０１１５】
なお、本実施形態では、ビジュアルサーボとインピーダンス制御とを切り替える例として、軸の圧入作業を用いて説明したが、ビジュアルサーボとインピーダンス制御とを切り替えることが有効な場合はこれに限られない。例えば、コネクタを挿す作業、蓋をはめる作業等の複数の部品を組み合わせる作業であれば、様々な作業に適用できる。また、本実施の形態では、エンドエフェクターとしてハンドを用い、ハンドでワークを把持したが、エンドエフェクターはワークの種類によって様々な形態が考えられる。また、ハンドはワークを把持したが、エンドエフェクターの種類によっては様々な形でワークを保持することができる。
【０１１６】
また、本実施形態では、開口部Ａ２が視認できない場合として開口部Ａ２がワークＢにより覆われた場合を示し、軌道点Ｂ１が視認できない場合として軌道点Ｂ１が基準ワークＡにより覆われた場合を示した（図３（Ｂ）参照）が、開口部Ａ２、軌道点Ｂ１が視認できない場合はこれに限られない。開口部Ａ２、軌道点Ｂ１が視認できない場合としては、開口部Ａ２や軌道点Ｂ１が他の部品、例えばアーム１１等により物理的に覆われている場合も考えられる。また、開口部Ａ２、軌道点Ｂ１が視認できない場合としては、開口部Ａ２、軌道点Ｂ１が物理的に覆われていなくても、金属光沢の反射等により開口部Ａ２、軌道点Ｂ１が画像認識処理により認識できない場合も考えられる。さらに開口部Ａ２、軌道点Ｂ１が視認できない場合としては、開口部Ａ２、軌道点Ｂ１が第１画像、第２画像の想定している範囲（例えば、中央部分の所定範囲）にない時や、開口部Ａ２、軌道点Ｂ１が第１画像、第２画像に含まれていない場合も考えられる。以上の場合と異なり、開口部Ａ２、軌道点Ｂ１が認識できた場合であっても、開口部Ａ２、軌道点Ｂ１との位置関係が想定している位置関係にない（例えば、ワークＢは基準ワークＡより上にある）場合を、開口部Ａ２、軌道点Ｂ１が視認できない場合に含めてもよい。
【０１１７】
なお、本実施の形態では、サーボシステム２０６から第１撮像部３０及び第２撮像部４０に撮像指示を出力したが、これに限られるわけではなく、例えば、撮像指示を画像取得部２００に出力し、画像取得部２００から第１撮像部３０及び第２撮像部４０に指示を出力してもよい。
【０１１８】
なお、本実施の形態では、力、値、位置の情報、撮像結果、認識結果、判断結果等の何らかの情報に基づいて処理（アーム１１の制御、ハンド１４の移動等）を行っているが、情報に基づいて処理を行うとは、情報そのものを使って処理を行うこと、情報を加工等して得られた結果を使って処理を行うこと、情報の一部を取り出して処理を行うこと等を含む。
【０１１９】
例えば、撮像結果に基づいて処理を行う場合には、撮像して得られた画像を使って処理をしてもよいし、画像に対して任意の画像処理をして得られた結果を使って処理をしてもよいし、画像に含まれる輝度、色データ等を取り出して処理をしてもよいし、画像の一部領域のデータのみを取り出して処理をしてもよいし、画像のタグ等に含まれる情報を取り出して処理をしてもよい。また、画像に対して任意の画像処理をして得られた結果とは、例えば、位置情報（座標）、大きさの情報、形状の情報、位置関係を示す情報、物体の有無を示す情報等が含まれる。
【０１２０】
また、例えば、力に基づいて処理を行う場合には、センサー等の出力値やアクチュエータ等での測定値等（以下、測定値という）をそのまま使って処理をしてもよいし、測定値を用いて算出された値を使って処理をしてもよいし、測定値と測定値を用いて算出された値との合成結果を使って処理をしてもよいし、測定値の合計値を使って処理をしてもよい。
【０１２１】
＜第２の実施形態＞
本発明の第１の実施形態は、片腕ロボットを用いて、床、台等の平面に置いてある基準ワークＡにワークＢを圧入したが、本発明の適用範囲はこれに限定されない。
【０１２２】
本発明の第２の実施形態は、双腕ロボットに本発明を適用した形態である。以下、本発明の第２の実施形態について説明する。なお、処理の流れは第１の実施形態と同一であるため、構成についてのみ説明する。また、第１の実施形態と同一の部分については、同一の符号を付し、説明を省略する。
【０１２３】
図６は、本発明の一実施形態におけるロボットシステム２の構成の一例を示すシステム構成図である。本実施形態におけるロボットシステム２は、主として、ロボット１０Ａと、ロボット制御部２０と、第１撮像部３０と、第２撮像部４０とを備える。
【０１２４】
ロボット１０Ａは、複数のジョイント（関節）１２と、複数のリンク１３とを含むアーム１１を複数（本実施の形態では２本）有するアーム型のロボット、いわゆる双腕ロボットである。２本のアーム１１の先端には、それぞれ、ハンド１４（いわゆるエンドエフェクター）が設けられる。
【０１２５】
２個のハンド１４のうちの一本がワークＢを把持し、他の一本が基準ワークＡを把持する。２個のハンド１４のうちのどちらのハンド１４が、どちらのワーク（基準ワークＡ又はワークＢ）を把持するかは、任意である。第１の実施の形態と同様、ワークＢが挿入される側の大きいワークを、便宜上基準ワークＡとしているが、ワークＢを基準ワークとしてもよい。また、この基準という表現は、ワークの形状、大きさ、位置等に関するものではない。
【０１２６】
このように、本発明は、載置されたワークに他のワークを挿入等する場合に限らず、複数の可動部がそれぞれワークを把持し、把持されたワークどうしを組み合わせ等する場合にも適用できる。例えば、複数の歯車が適切に噛み合うように歯車を配置する場合、複数の物体を位置合わせして載置する場合にも適用できる。さらに、接着剤、ペースト状のはんだ等を吐出する装置をハンドで把持し、接着剤、ペースト状のはんだ等を任意の位置に吐出させる場合等にも適用できる。
【０１２７】
＜その他変形例＞
上記第１、第２の実施の形態では、ビジュアルサーボとインピーダンス制御とを切り替えたが、ビジュアルサーボと切り替えるのはインピーダンス制御に限られない。例えば、以下に示すような制御方法も考えられる。
【０１２８】
上記第１、第２の実施形態で用いた軸の圧入や、摩擦および隙間のない丸棒の穴等への挿入作業を考える。挿入方向と平行な軸をｚ軸とし、ｚ軸と垂直な面上にｘ軸、ｙ軸を設定すると、上記作業においては、ｘ、ｙ軸方向及びｘ、ｙ軸回りの運動と、ｚ軸方向及びｚ軸回りの力の発生とが拘束される（自然拘束）。したがって、作業の達成には、ｘ、ｙ軸方向及びｘ、ｙ回りの許容干渉力と、ｚ軸方向の挿入速度およびｚ軸回りの許容回転速度（人工拘束）の設定が必要となる。したがって、圧入、挿入作業を行う場合には、拘束条件に基づき、エンドエフェクターの運動を干渉力に応じて修正するコンプライアンス（順応）機能を有するコンプライアンス制御を行うことにより、作業を効果的に実行することができる。
【０１２９】
コンプライアンス制御では、エンドエフェクターに加えられた力に応じてエンドエフェクターが変位する。例えば、穴へピンを挿入する作業を行う場合には、挿入方向（エンドエフェクターを移動させる方向、穴の軸方向）には一定力で押しつけ、挿入方向以外の方向には外力を加えないというように、各方向別に押しつけ力を設定する。穴とピンが当接している場合には、挿入方向以外の方向に外力が加わるため、穴とピンとが当接しないように、エンドエフェクターが受けた力の方向にエンドエフェクターを変位させ、穴とピンとをなじませる。したがってコンプライアンス制御を用いることで、穴の軸とピンの軸とがずれている場合においても、ピンの穴への挿入が可能となる。これにより、ロボットやピン、穴等を破壊することを防止する、もしくはロボットやピン、穴等を破壊する可能性を低減することができる。
【０１３０】
また、アーム１１及びハンド１４等に組立て、研磨、ばり取り、クランク回しなどの作業をさせる際には、ハンド１４等のエンドエフェクターの位置だけでなく、ロボットが対象物に印加する力をも制御することが必要となる。インピーダンス制御は、エンドエフェクターに作用する干渉力とエンドエフェクターの運動との間の関係(インピーダンス)を調節する方法であるため、このような作業に対しても効果的である。それに加え、位置を制御したい方向および力を制御したい方向を定め、それぞれの方向の位置や力が希望の値になるように複数の制御方式を適用するハイブリッド制御を用いた場合も、このような作業に対しても効果的である。
【０１３１】
すなわち、画像から基準ワークＡやワークＢが認識できなくなったときに、ハイブリッド制御、コンプライアンス制御等の干渉力を巧妙に制御することができる制御方法へビジュアルサーボから切り替えた場合にも、安全に作業を継続することができるという本発明の効果を達成できる。
【０１３２】
なお、ハイブリッド制御、コンプライアンス制御等の干渉力を巧妙に制御することができる制御方法を行うためには、ハンド１４等のエンドエフェクターに加わる力を検出することが好ましい。エンドエフェクターに加わる力は、第１、第２の実施の形態のように、力覚センサー等で直接測定することもできるし、アーム１１の各軸トルク値からエンドエフェクターに及ぼす外力を推定することもできる。したがって、干渉力を制御することができる制御方法は、直接または間接的にエンドエフェクターに加わる力を取得する手段を、アーム１１等が有していれば実行可能である。
【０１３３】
また、上記第１、第２の実施の形態では、ビジュアルサーボとインピーダンス制御とを切り替えたが、本発明の範囲はビジュアルサーボとインピーダンス制御とを切り替える場合に限られない。第１画像、第２画像から軌道点、目標位置が視認できる場合にはビジュアルサーボを行い、第１画像、第２画像から軌道点、目標位置が視認できない場合にはインピーダンス制御を行えばよい。例えば、第１画像、第２画像から軌道点、目標位置が視認できる場合にはビジュアルサーボとインピーダンス制御とを両方行う制御方式を行い、第１画像、第２画像から軌道点、目標位置が視認できなくなったらビジュアルサーボをやめてインピーダンス制御のみを行うようにしてもよい。ビジュアルサーボとインピーダンス制御とを両方行う制御方式を用いることで、可動部をより大きく動かすことができる。
【０１３４】
また、上記第１、第２の実施の形態では、第１撮像部３０及び第２撮像部４０の２個の撮像部を備えたが、撮像部は１つでもよいし、３つ以上でもよい。例えば、撮像部が１つだけの場合には、撮像部から見て奥行き方向の位置を認識することは難しい。しかしながら、撮像部が１つだけの場合にも、仮想的な制約平面を設定することにより、奥行き方向の位置を決定することができる。また、撮像部が１つだけの場合、物理的な制約面を設定してインピーダンス制御、コンプライアンス制御等を行うようにしてもよい。
【０１３５】
なお、第１、第２の実施の形態では、第１撮像部３０及び第２撮像部４０を備えているため、第１画像、第２画像のどちらかから開口部Ａ２、軌道点Ｂ１が視認できない場合には、開口部Ａ２、軌道点Ｂ１が視認できない場合としたが、第１画像、第２画像の両方から開口部Ａ２、軌道点Ｂ１が視認できない場合にのみ、開口部Ａ２、軌道点Ｂ１が視認できない場合としてもよい。ただし、作業の安全性を高めるためには、第１画像、第２画像のどちらかから開口部Ａ２、軌道点Ｂ１が視認できない場合には、開口部Ａ２、軌道点Ｂ１が視認できない場合とすることが望ましい。
【０１３６】
また、上記第１、第２の実施の形態では、第１撮像部３０及び第２撮像部４０の２個の撮像部を作業台（床でもよい）の上に設けた（図１、６参照）が、撮像部を設ける位置は作業台の上に限られない。撮像部は、天井に設けてもいいし、ロボットに設けてもよい。
【０１３７】
図７、８は、撮像部を天井に設ける形態である。図７は、ロボット１０Ａと作業者とが同一の製品に対して順番に作業を行う生産システムである。図８は、ロボット１０Ａが１つの生産セル内で作業を行うセル生産システムである。図７、８に示すように、第３撮像部５０は、ロボット１０Ａの作業領域が写された画像を撮像できるように、天井に設けられる。なお、図７、８では、天井の図示を省略している。
【０１３８】
図７においては、１つのロボット１０Ａに対して１つの第３撮像部５０が設けられる。それに対し、図８では、ロボット１０Ａの作業領域が広く、１個の第３撮像部３０では作業領域全体をカバーできないため、１つのロボット１０Ａに対して３個の第３撮像部５０が設けられる。なお、第３撮像部５０を複数設ける場合に、画角の一部が重なるように設けることは、画角が重なる領域については奥行き方向の情報も得ることができるため、望ましい。
【０１３９】
また、図７に示すように、１つのロボット１０Ａに対して１つの第３撮像部５０を設ける場合には、画像の奥行き方向の情報を得ることができない。したがって、画像の奥行き方向の情報が必要な場合には、１つのロボット１０Ａに対して、第１撮像部３０及び第２撮像部４０を第３撮像部５０と共に設けるようにしてもよいし、第３撮像部５０を複数設けてもよい。
【０１４０】
図９、１０、１１は、ロボット自体に撮像部を設ける形態である。図９は、ロボット１０Ｂの頭に相当する部分に撮像部１５、１６を設ける形態である。図９においては、撮像部１５、１６を設けているため、画像の奥行き方向の情報を得ることができる。ただし、ロボットの頭に相当する部分に撮像部を設ける形態においても、撮像部の数は２つに限られず、１つでもよいし、３個以上でもよい。
【０１４１】
図１０、１１は、撮像部がアーム１１の先端に設けられた形態である。図１０は、撮像部１７が、アーム１１の先端に、かつ撮像部１７の軸１７ａとアーム１１の軸１１ａとが平行（少しずれている場合を含む）となるように設けられている。図１１は、撮像部１８が、アーム１１の先端に、かつ撮像部１８の軸１８ａとアーム１１の軸１１ａとが直交（少しずれている場合を含む）するように設けられている。なお、図１１に示す形態では、撮像部１８が設けられたアーム１１でワーク等を把持してしまうと、軸１８ａと軸１１ａとが平行でないため、把持したワーク等を撮像部１８で撮影できず、ビジュアルサーボを行うことができない。ただし、ワーク等を把持していないアーム１１が撮像部１８を有していれば、ビジュアルサーボを行うことができる。
【０１４２】
なお、第３撮像部５０、撮像部１５、１６、１７、１８は、第１撮影部３０及び第２撮影部４０と機能及び構成が同一であるため、説明を省略する。
【０１４３】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。特に、第１、第２の実施の形態では、ロボットと、ロボット制御部が別に設けられたロボットシステムを提供する場合を例示したが、ロボットと、ロボット制御部とが別に設けられたロボットシステムとして提供してもよいし、ロボットにロボット制御部等が含まれたロボットとして提供してもよいし、ロボット制御部のみ、又はロボット制御部及び撮像部からなるロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御するプログラムやプログラムを記憶した記憶媒体として提供することもできる。
【０１４４】
そして、ロボット制御部として提供する場合には、１．ロボット制御装置に撮像部が含まれる場合、２．ロボット制御装置に撮像部が含まれない場合、の２通りが本発明の技術的範囲に含まれる。また、ロボットシステム及びロボットとして提供する場合には、１．ロボットに撮像部及びロボット制御部が含まれる場合、２．ロボットに撮像部が含まれ、ロボット制御部は含まれない場合、３．ロボットにロボット制御部が含まれ、撮像部は含まれない場合、４．ロボットに撮像部とロボット制御部とが含まれず、撮像部とロボット制御部とが異なる筐体に、もしくは撮像部とロボット制御部とが同一の筐体に含まれる場合、の４通りが本発明の技術的範囲に含まれる。
【符号の説明】
【０１４５】
１、２…ロボットシステム、１０、１０Ａ、１０Ｂ…ロボット、１１…アーム、１２…ジョイント、１３…リンク、１４…ハンド、１５、１６、１７、１８…撮像部、２０…ロボット制御部、２１…ＣＰＵ、２２…メモリー、２３…外部記憶装置、２４…通信装置、２５…入力装置、２６…出力装置、２７…Ｉ／Ｆ、３０…第１撮像部、４０…第２撮像部、５０…第３撮像部、１０１…動作制御部、２００…画像取得部、２０１…画像処理部、２０２…基準ワーク認識部、２０３…目標位置算出部、２０４…ワーク認識部、２０５…制御部、２０６…サーボシステム
【図１】
2014151377.tif 000003
【図２】
2014151377.tif 000004
【図３】
2014151377.tif 000005
【図４】
2014151377.tif 000006
【図５】
2014151377.tif 000007
【図６】
2014151377.tif 000008
【図７】
2014151377.tif 000009
【図８】
2014151377.tif 000010
【図９】
2014151377.tif 000011
【図１０】
2014151377.tif 000012
【図１１】
2014151377.tif 000013