(57)【要約】【課題】ロボットアーム２の撓みによらず、ロボットアーム２に取り付けられたエンドエフェクタＥをワークＷに正確に移動することを可能とする。【解決手段】ロボット座標系ＸＹＺにおけるワークＷの位置を求めるのではなく、第１および第２位置関係情報Ｉa、ＩbによってエンドエフェクタＥとワークＷとの相対的な位置関係を把握して、エンドエフェクタＥをワークＷまで移動させるためのエンドエフェクタＥの変位量Ｉcを求める。よって、ロボット座標系ＸＹＺでワークＷの位置を求めるために、カメラＣの位置を順運動学的に算出する必要がなく、ロボットアーム２の撓みによってカメラＣの算出位置と実際の位置にずれが生じて、エンドエフェクタＥをワークＷに正確に移動できないといった問題を回避できる。【選択図】図１
2014161950.tif 000002
【特許請求の範囲】
【請求項１】
関節を動かすことで端部の位置を移動させるロボットアームと、
前記端部に対して取り付けられたエンドエフェクタと、
前記エンドエフェクタとの間に前記ロボットアームが介在しない箇所に取り付けられて前記エンドエフェクタとの位置関係が固定された撮像部と、
前記エンドエフェクタと前記撮像部との位置関係を示す第１位置関係情報を記憶する記憶部と、
前記撮像部と前記エンドエフェクタの移動目標との位置関係を示す第２位置関係情報を前記撮像部が前記移動目標を撮像した結果から求める位置関係情報取得部と、
前記エンドエフェクタを前記移動目標まで移動させるために前記エンドエフェクタを変位させる変位量を前記第１位置関係情報および前記第２位置関係情報に基づいて求める移動量取得部と、
前記アームを制御することで前記変位量だけ前記エンドエフェクタを移動させる移動制御部と
を備えたことを特徴とするロボットシステム。
【請求項２】
前記記憶部は、前記エンドエフェクタと前記撮像部との位置および姿勢の差を示す第１同次変換行列を前記第１位置関係情報として記憶する請求項１に記載のロボットシステム。
【請求項３】
前記位置関係情報取得部は、前記撮像部と前記移動目標との位置の差を示す第２同次変換行列を前記第２位置関係情報として求め、
前記移動量取得部は、前記エンドエフェクタを前記移動目標まで移動させるために前記エンドエフェクタの位置および姿勢を変位させる量を示す第３同次変換行列を、前記第１同次変換行列および前記第２同次変換行列に基づいて前記変位量として求める請求項２に記載のロボットシステム。
【請求項４】
前記記憶部は、前記エンドエフェクタのツールセンターポイントと前記撮像部との位置関係を示す情報を前記第１位置関係情報として記憶し、
前記移動量取得部は、前記ツールセンターポイントを前記移動目標に到達させるために前記エンドエフェクタを変位させる量を前記変位量として求める請求項１ないし３のいずれか一項に記載のロボットシステム。
【請求項５】
前記ロボットアームは、前記端部に設けられたフランジを有し、
前記エンドエフェクタおよび前記撮像部は、前記フランジに対して取り付けられている請求項１ないし４のいずれか一項に記載のロボットシステム。
【請求項６】
関節を動かすことで端部の位置を移動させるロボットアームの前記端部に対して取り付けられたエンドエフェクタを移動目標に移動させるロボット制御方法において、
前記エンドエフェクタとの間に前記ロボットアームが介在しない箇所に取り付けられて前記エンドエフェクタとの位置関係が固定された撮像部によって前記移動目標を撮像する工程と、
前記エンドエフェクタと前記撮像部との位置関係を示す第１位置関係情報を記憶部から読み出す工程と、
前記撮像部と前記エンドエフェクタの移動目標との位置関係を示す第２位置関係情報を前記撮像部が前記移動目標を撮像した結果から求める工程と、
前記エンドエフェクタを前記移動目標まで移動させるために前記エンドエフェクタを変位させる変位量を前記第１位置関係情報および前記第２位置関係情報に基づいて求める工程と、
前記アームを制御することで前記変位量だけ前記エンドエフェクタを移動させる工程と
を備えたことを特徴とするロボット制御方法。
【請求項７】
関節を動かすことで端部の位置を移動させるロボットアームの前記端部に対して取り付けられたエンドエフェクタを移動目標に移動させるロボットの較正方法において、
前記エンドエフェクタとの間に前記ロボットアームが介在しない箇所に取り付けられて前記エンドエフェクタとの位置関係が固定された撮像部によって基準マークを撮像した結果から、前記撮像部と前記基準マークの位置関係を求める工程と、
前記エンドエフェクタを前記基準マークに移動させて、前記エンドエフェクタの変位量を求める工程と、
前記撮像部と前記基準マークの位置関係および前記エンドエフェクタの変位量の取得結果から、前記エンドエフェクタと前記撮像部との位置関係を示す情報を求める工程と
を備えたことを特徴とするロボット較正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットアームの端部に取り付けられたエンドエフェクタを移動目標まで移動させる技術に関し、特に撮像部により移動目標を撮像した結果に基づいてエンドエフェクタの移動を制御する技術に関する。
【背景技術】
【０００２】
特許文献１では、カメラ（ステレオカメラ）による撮像結果から作業対象の位置や姿勢を認識した結果に基づいて、ロボットを制御する技術について記載されている。かかる制御によれば、ロボットアームに取り付けられたエンドエフェクタの移動目標（作業対象）をカメラで撮像した結果に基づいて、エンドエフェクタを移動目標まで移動させることができる。また、この際のカメラの配置態様としては、エンドエフェクタから離れてカメラを配置する固定カメラ方式と、エンドエフェクタに対してカメラを取り付けるハンドアイ方式とが従来知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０１１３２１号公報（段落０００２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
後者のハンドアイ方式では、エンドエフェクタに伴ってカメラを移動できるため、カメラによる撮像範囲を広く確保できるといった利点がある。ただし、エンドエフェクタに対してカメラを取り付けるハンドアイ方式では、カメラはロボットアームに支持されることとなる。これに対して、ロボットアームは自重で撓む。そして、このような撓みがロボットアームに生じると、カメラの位置がずれて、エンドエフェクタを移動目標に正確に移動させることが困難となる場合があった。この理由は次に詳述するとおりである。
【０００５】
ロボットアームによるエンドエフェクタの移動はロボット座標系において制御されるのに対して、移動目標の位置はカメラによってカメラ座標系で撮像される。そこで、カメラ座標系で認識された移動目標の位置をロボット座標系に変換するといったことが行われていた。具体的には、カメラと移動目標の位置関係がカメラの撮像結果から把握されるとともに、ロボット座標系でのカメラの位置がロボットアームの関節角度から順運動学的に算出され、これらを合成することにより移動目標の位置がロボット座標系へ変換されていた。しかしながら、ロボットアームが撓むと、ロボットアームの関節角度から算出されるカメラの位置と、実際のカメラの位置にずれが生じる。そのため、カメラ座標系における移動目標の位置が正確に求められず、エンドエフェクタを移動目標に正確に移動させることが困難となる場合があった。
【０００６】
この発明は上記課題に鑑みなされたものであり、ロボットアームの撓みによらず、ロボットアームに取り付けられたエンドエフェクタを移動目標に正確に移動することを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかるロボットシステムは、上記目的を達成するために、関節を動かすことで端部の位置を移動させるロボットアームと、端部に対して取り付けられたエンドエフェクタと、エンドエフェクタとの間にロボットアームが介在しない箇所に取り付けられてエンドエフェクタとの位置関係が固定された撮像部と、エンドエフェクタと撮像部との位置関係を示す第１位置関係情報を記憶する記憶部と、撮像部とエンドエフェクタの移動目標との位置関係を示す第２位置関係情報を撮像部が移動目標を撮像した結果から求める位置関係情報取得部と、エンドエフェクタを移動目標まで移動させるためにエンドエフェクタを変位させる変位量を第１位置関係情報および第２位置関係情報に基づいて求める移動量取得部と、アームを制御することで変位量だけエンドエフェクタを移動させる移動制御部とを備えたことを特徴としている。
【０００８】
この発明にかかるロボット制御方法は、上記目的を達成するために、関節を動かすことで端部の位置を移動させるロボットアームの端部に対して取り付けられたエンドエフェクタを移動目標に移動させるロボット制御方法において、エンドエフェクタとの間にロボットアームが介在しない箇所に取り付けられてエンドエフェクタとの位置関係が固定された撮像部によって移動目標を撮像する工程と、エンドエフェクタと撮像部との位置関係を示す第１位置関係情報を記憶部から読み出す工程と、撮像部とエンドエフェクタの移動目標との位置関係を示す第２位置関係情報を撮像部が移動目標を撮像した結果から求める工程と、エンドエフェクタを移動目標まで移動させるためにエンドエフェクタを変位させる変位量を第１位置関係情報および第２位置関係情報に基づいて求める工程と、アームを制御することで変位量だけエンドエフェクタを移動させる工程とを備えたことを特徴としている。
【０００９】
このように構成された発明（ロボットシステム、ロボット制御方法）では、撮像部とエンドエフェクタとの位置関係が固定されている。すなわち、撮像部は、エンドエフェクタに伴って移動し、いわゆるハンドアイ方式で配置されている。この際、撮像部は、エンドエフェクタとの間にロボットアームが介在しない箇所に取り付けられているため、ロボットアームが撓んだとしても、エンドエフェクタと撮像部との位置関係は影響を受けない。そして、このようにロボットアームの影響が排されたエンドエフェクタと撮像部との位置関係を示す第１位置関係情報が記憶部に記憶されて、エンドエフェクタの移動目標への移動を制御するのに用いられる。
【００１０】
つまり、エンドエフェクタを移動目標へ移動させるにあたっては、撮像部が移動目標を撮像した結果から、撮像部と移動目標との位置関係を示す第２位置関係情報が求められる。これによって、第１位置関係情報が示すエンドエフェクタと撮像部との位置関係、および第２位置関係情報が示す撮像部と移動目標との位置関係の両方が既知となる。したがって、これらの情報から、エンドエフェクタと移動目標との位置関係は把握可能である。そこで、この発明では、これらの情報に基づいて、エンドエフェクタを移動目標まで移動させるためにエンドエフェクタを変位させる変位量が求められる。そして、この変位量だけエンドエフェクタを移動することで、エンドエフェクタを移動目標に移動させることができる。ここで、変位量は、エンドエフェクタを並進方向に変位させる量およびエンドエフェクタを回転方向に変位させる量の両方を含み得る概念とする。
【００１１】
このように、この発明は、ロボット座標系における移動目標の位置を求めるのではなく、第１および第２位置関係情報によってエンドエフェクタと移動目標との相対的な位置関係を把握して、エンドエフェクタを移動目標まで移動させるためのエンドエフェクタの変位量を求めている。したがって、ロボット座標系で移動目標の位置を求めるために、撮像部の位置を順運動学的に算出する必要がなく、ロボットアームの撓みによって撮像部の算出位置と実際の位置にずれが生じて、エンドエフェクタを移動目標に正確に移動できないといった問題を回避できる。よって、ロボットアームの撓みによらず、ロボットアームに取り付けられたエンドエフェクタを移動目標に正確に移動することが可能となっている。
【００１２】
この際、記憶部は、エンドエフェクタと撮像部との位置および姿勢の差を示す第１同次変換行列を第１位置関係情報として記憶するように、ロボットシステムを構成しても良い。このような構成では、第１位置関係情報としての第１同次変換行列から、エンドエフェクタと撮像部との位置および姿勢の差を把握できる。したがって、撮像部と移動目標との位置関係を示す第２位置関係情報と当該第１同次変換行列とに基づいて、エンドエフェクタの位置および姿勢を考慮してエンドエフェクタと移動目標との位置関係を把握でき、すなわちエンドエフェクタの位置および姿勢を考慮してエンドエフェクタの変位量を求められる。その結果、エンドエフェクタを適切な姿勢で正確に移動目標へ移動させることができる。
【００１３】
具体的には例えば、位置関係情報取得部は、撮像部と移動目標との位置の差を示す第２同次変換行列を第２位置関係情報として求め、移動量取得部は、エンドエフェクタを移動目標まで移動させるためにエンドエフェクタの位置および姿勢を変位させる量を示す第３同次変換行列を、第１同次変換行列および第２同次変換行列に基づいて変位量として求めるように、ロボットシステムを構成すれば良い。これによって、エンドエフェクタの位置および姿勢を考慮してエンドエフェクタの変位量を求められ、エンドエフェクタを適切な姿勢で正確に移動目標へ移動させることができる。
【００１４】
なお、エンドエフェクタの位置の取り方としては種々の形態が考えられ、例えば、ツールセンターポイントを基準にエンドエフェクタの位置を取っても良い。すなわち、記憶部は、エンドエフェクタのツールセンターポイントと撮像部との位置関係を示す情報を第１位置関係情報として記憶し、移動量取得部は、ツールセンターポイントを移動目標に到達させるためにエンドエフェクタを変位させる量を変位量として求めるように、ロボットシステムを構成しても良い。
【００１５】
ちなみに、撮像部は、エンドエフェクタとの間にロボットアームが介在しない箇所に取り付けられてエンドエフェクタとの位置関係が固定されていた。このような撮像部の取付態様としては種々の形態が考えられる。そこで例えば、ロボットアームは、端部に設けられたフランジを有し、エンドエフェクタおよび撮像部は、フランジに対して取り付けられているように、ロボットシステムを構成しても良い。これによって、エンドエフェクタと撮像部とを、それぞれの間にロボットアームを介在させずに、位置関係を固定した状態で相互に取り付けることができる。
【００１６】
この発明にかかるロボット較正方法は、上記目的を達成するために、関節を動かすことで端部の位置を移動させるロボットアームの端部に対して取り付けられたエンドエフェクタを移動目標に移動させるロボットの較正方法において、エンドエフェクタとの間にロボットアームが介在しない箇所に取り付けられてエンドエフェクタとの位置関係が固定された撮像部によって基準マークを撮像した結果から、撮像部と基準マークの位置関係を求める工程と、エンドエフェクタを基準マークに移動させて、エンドエフェクタの変位量を求める工程と、撮像部と基準マークの位置関係およびエンドエフェクタの変位量の取得結果から、エンドエフェクタと撮像部との位置関係を示す情報を求める工程とを備えたことを特徴としている。
【００１７】
このように構成された発明（ロボット較正方法）では、上記発明（ロボットシステム、ロボット制御方法）で用いられる第１位置関係情報に相当する情報が、基準マーク（例えば較正用治具に設けらたマーク）に基づいて求められる。具体的には、撮像部によって基準マークを撮像した結果から、撮像部と基準マークの位置関係が求められる。さらに、エンドエフェクタを基準マークへ移動させて、エンドエフェクタの変位量が求められる。こうして、撮像部と基準マークの位置関係と、エンドエフェクタが基準マークへ移動する際の変位量とが取得される。そして、これらの取得結果から、エンドエフェクタと撮像部との位置関係を示す情報（第１位置関係情報に相当する）が求められる。このような発明は、上記発明（ロボットシステム、ロボット制御方法）で用いられる第１位置関係情報に相当する情報を取得することができ、エンドエフェクタを適切な姿勢で正確に移動目標へ移動させるのに資するものである。
【発明の効果】
【００１８】
上記のように構成された発明によれば、ロボットアームの撓みによらず、ロボットアームに取り付けられたエンドエフェクタを移動目標に正確に移動することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明を適用可能なロボットシステムの一例を模式的に示す斜視図である。
【図２】図１に示すロボットシステムが装備する電気的構成の一例を模式的に示すブロック図である。
【図３】コントローラが実行するエンドエフェクタの移動制御の一例を示すフローチャートである。
【図４】エンドエフェクタとカメラの位置関係を示す情報を求める手法の一例を模式的に示す斜視図である。
【図５】エンドエフェクタとカメラの位置関係を示す情報を求める手法の一例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
図１は、本発明を適用可能なロボットシステムの一例を模式的に示す斜視図である。同図では、ロボットシステム１が有するロボットアーム２は、関節Ｑ1〜Ｑ4、リンクＬ1〜Ｌ4およびエンドエフェクタＥの記号表記によって模式的に示されるとともに、ロボット座標系がＸＹＺ直交座標系により示されている。
【００２１】
ロボットアーム２は、先端に向けて順番に並ぶ４個の関節Ｑ1〜Ｑ4と、関節Ｑ1〜Ｑ4の各間を接続するリンクＬ1〜Ｌ3と、関節Ｑ4から先端に向けて突出するリンクＬ4とで構成される。そして、ロボットアーム２は、関節Ｑ1〜Ｑ4を駆動することで、ロボットアーム２の先端（つまり、リンクＬ4の突出端）の位置を移動させる。
【００２２】
ロボットアーム２の先端には、取付対象物を着脱自在なフランジＦが設けられている。具体的には、取付対象物としての金属製の取付部材３がフランジＦに取り付けられている。そして、取付部材３の先端にエンドエフェクタＥが固定されるとともに、取付部材３の側壁にカメラＣが固定されている。つまり、エンドエフェクタＥとカメラＣは、これらの間にロボットアーム２を介在させずに相互に固定されている。こうして、カメラＣは、エンドエフェクタＥとの間にロボットアーム２が介在しない箇所（取付部材３の側壁）に取り付けられて、エンドエフェクタＥとの位置関係が固定されている。なお、カメラＣとしては、例えばＣＣＤ(Charge Coupled Device)カメラ等を用いることができる。
【００２３】
ロボットアーム２は、エンドエフェクタＥを用いてワークＷに作業（例えば把持）を行うにあたっては、エンドエフェクタＥをワークＷへ移動させる。具体的には、エンドエフェクタＥに設定されたツールセンターポイントＰeを、ワークＷに設定された作業基準点Ｐwへ移動させる。こうして、ツールセンターポイントＰeと作業基準点Ｐwが一致した状態で、エンドエフェクタＥによるワークＷへの作業が実行される。
【００２４】
図２は、図１に示すロボットシステムが装備する電気的構成の一例を模式的に示すブロック図である。図２に示すように、ロボットシステム１は、上述したロボットアーム２やカメラＣの他に、コントローラ４や記憶部５を備える。コントローラ４は、メモリーやＣＰＵ(Central Processing Unit)で構成されたコンピュータであり、ロボットアーム２を駆動する駆動制御部４１の他、ロボットアーム２の駆動を制御するための制御量を求めるために、位置関係情報取得部４３および移動量取得部４５を有する。さらに、コントローラ４は、ユーザからの入力を受け付けたりユーザへ情報を表示したりするインターフェース４７を有する。
【００２５】
記憶部５は、メモリーやハードディスク等で構成され、エンドエフェクタＥとカメラＣの位置関係を示す第１位置関係情報Ｉaを記憶する。第１位置関係情報Ｉaは、エンドエフェクタＥ（のツールセンターポイントＰe）とカメラＣとの位置および姿勢の差を示す同次変換行列であり、ロボットシステム１の工場出荷時や、ロボットシステム１の納品後に行われる較正の際等に求められて、記憶部５に格納される。第１位置関係情報Ｉaを求める具体的な手法については、図４および図５を用いて後述する。
【００２６】
ロボットアーム２は、関節Ｑ1〜Ｑ4を駆動するモータ２１を関節Ｑ1〜Ｑ4それぞれについて有する。さらに、ロボットアーム２は、各モータ２１の回転位置を検出するエンコーダ２３を有する。そして、コントローラ４の駆動制御部４１がエンコーダ２３の出力に基づいてモータ２１をフィードバック制御することで、関節Ｑ1〜Ｑ4の動きを制御してエンドエフェクタＥのツールセンターポイントＰeを移動目標である作業基準点Ｐwへ移動させる。特にこの実施形態では、コントローラ４は、カメラＣによって作業基準点Ｐwを撮像した結果に基づいて、エンドエフェクタＥの移動を制御する。
【００２７】
図３は、コントローラが実行するエンドエフェクタの移動制御の一例を示すフローチャートである。ステップＳ１０１では、コントローラ４の駆動制御部４１は、ロボットアーム２を動作させることで、ロボットアーム２の先端に対して取り付けられたカメラＣを動かして、ワークＷをカメラＣの視野に捉える。そして、ワークＷがカメラＣの視野に収まった状態でロボットアーム２が停止して、カメラＣがワークＷを撮像する。カメラＣによるワークＷの撮像結果Ｉmは、カメラＣからコントローラ４の位置関係情報取得部４３へ出力される。
【００２８】
ステップＳ１０２では、コントローラ４の位置関係情報取得部４３が、カメラＣとワークＷの作業基準点Ｐwとの位置関係を示す第２位置関係情報Ｉbを撮像結果Ｉmに基づき算出して、移動量取得部４５へ出力する。具体的には、第２位置関係情報Ｉbは、カメラＣの座標系の原点（例えばカメラＣの光軸上の適当な位置にある）を作業基準点Ｐwに移動させる並進操作を表す同次変換行列である。
【００２９】
ステップＳ１０３では、コントローラ４の移動量取得部４５が、第１および第２位置関係情報Ｉa、Ｉbに基づきエンドエフェクタＥの変位量Ｉcを求める。つまり、図１から理解できるように、これらの情報Ｉa、Ｉbが既知となれば、エンドエフェクタＥの変位量Ｉcを求めることができる。具体的には、変位量Ｉcは、第１位置関係情報Ｉaの逆行列に右から第２位置関係情報Ｉbを乗じることで得られる同次変換行列であり、エンドエフェクタＥのツールセンターポイントＰeを作業基準点Ｐwに移動させる並進操作と、作業基準点Ｐwに接近する際の姿勢にエンドエフェクタＥの姿勢を回転させる回転操作とを表す。つまり、変位量Ｉcは、エンドエフェクタＥが並進移動する並進方向および並進距離を示すとともに、エンドエフェクタＥが回転する回転方向および回転角度を示す。こうして算出された変位量Ｉcは、移動量取得部４５から駆動制御部４１へ出力される。
【００３０】
ステップＳ１０４では、駆動制御部４１が変位量Ｉcに基づいてロボットアーム２の動作を制御して、エンドエフェクタＥを変位量Ｉcだけ移動させる。これによって、エンドエフェクタＥは、変位量Ｉcが示す並進方向へ並進距離だけ移動するとともに、変位量Ｉcが示す回転方向へ回転角度だけ回転する。その結果、エンドエフェクタＥが適切な姿勢でワークＷにまで移動して、エンドエフェクタＥのツールセンターポイントＰeがワークＷの作業基準点Ｐwに一致する。
【００３１】
以上に説明したように、この実施形態では、カメラＣとエンドエフェクタＥとの位置関係が固定されている。すなわち、カメラＣは、エンドエフェクタＥに伴って移動し、いわゆるハンドアイ方式で配置されている。この際、カメラＣは、エンドエフェクタＥとの間にロボットアーム２が介在しない箇所に取り付けられているため、ロボットアーム２が撓んだとしても、エンドエフェクタＥとカメラＣとの位置関係は影響を受けない。そして、このようにロボットアーム２の影響が排されたエンドエフェクタＥとカメラＣとの位置関係を示す第１位置関係情報Ｉaが記憶部５に記憶されて、エンドエフェクタＥのワークＷへの移動を制御するのに用いられる。
【００３２】
つまり、エンドエフェクタＥをワークＷへ移動させるにあたっては、カメラＣがワークＷを撮像した結果から、カメラＣとワークＷとの位置関係を示す第２位置関係情報Ｉbが求められる。これによって、第１位置関係情報Ｉaが示すエンドエフェクタＥとカメラＣとの位置関係、および第２位置関係情報Ｉbが示すカメラＣとワークＷとの位置関係の両方が既知となる。したがって、これらの情報Ｉa、Ｉbから、エンドエフェクタＥとワークＷとの位置関係は把握可能である。そこで、この実施形態では、これらの情報Ｉa、Ｉbに基づいて、エンドエフェクタＥをワークＷまで移動させるためにエンドエフェクタＥを変位させる変位量Ｉcが求められる。そして、この変位量ＩcだけエンドエフェクタＥを移動することで、エンドエフェクタＥをワークＷに移動させることができる。
【００３３】
このように、この実施形態は、ロボット座標系ＸＹＺにおけるワークＷの位置を求めるのではなく、第１および第２位置関係情報Ｉa、ＩbによってエンドエフェクタＥとワークＷとの相対的な位置関係を把握して、エンドエフェクタＥをワークＷまで移動させるためのエンドエフェクタＥの変位量Ｉcを求めている。したがって、ロボット座標系ＸＹＺでワークＷの位置を求めるために、カメラＣの位置を順運動学的に算出する必要がなく、ロボットアーム２の撓みによってカメラＣの算出位置と実際の位置にずれが生じて、エンドエフェクタＥをワークＷに正確に移動できないといった問題を回避できる。よって、ロボットアーム２の撓みによらず、ロボットアーム２に取り付けられたエンドエフェクタＥをワークＷに正確に移動することが可能となっている。
【００３４】
特に、この実施形態では、エンドエフェクタＥとカメラＣとの位置および姿勢の差を示す同次変換行列である第１位置関係情報Ｉaが記憶部５に記憶される。このような構成では、第１位置関係情報Ｉaから、エンドエフェクタＥとカメラＣとの位置および姿勢の差を把握できる。したがって、カメラＣとワークＷとの位置関係を示す第２位置関係情報Ｉbと当該第１位置関係情報Ｉaとに基づいて、エンドエフェクタＥの位置および姿勢を考慮してエンドエフェクタＥとワークＷとの位置関係を把握でき、すなわちエンドエフェクタＥの位置および姿勢を考慮してエンドエフェクタＥの変位量Ｉcを求められる。その結果、エンドエフェクタＥを適切な姿勢で正確にワークＷへ移動させることができる。
【００３５】
具体的には、カメラＣとワークＷとの位置の差を示す同次変換行列である第２位置関係情報Ｉbが求められる。そして、エンドエフェクタＥをワークＷまで移動させるためにエンドエフェクタＥの位置および姿勢を変位させる量を示す同次変換行列である変位量Ｉcが、第１および第２位置関係情報Ｉa、Ｉbに基づいて求められる。これによって、エンドエフェクタＥの位置および姿勢を考慮してエンドエフェクタＥの変位量Ｉcを求められ、エンドエフェクタＥを適切な姿勢で正確にワークＷへ移動させることができる。
【００３６】
続いては、図４および図５を用いて、エンドエフェクタＥとカメラＣの位置関係を示す第１位置関係情報Ｉaを取得するロボット較正方法について説明する。図４は、エンドエフェクタとカメラの位置関係を示す情報を求める較正方法の一例を模式的に示す斜視図である。図５は、エンドエフェクタとカメラの位置関係を示す情報を求める較正方法の一例を示すフローチャートである。なお、図５では、ツールセンターポイントがＴＣＰと略記されている。
【００３７】
図５のフローチャートに示すロボット較正は、ユーザがインターフェース４７を介してコントローラ４にロボット較正を開始するように指令を入力することで、コントローラ４によって実行される。なお、このロボット較正を開始するにあたって、カメラＣの内部変数を求めるカメラキャリブレーションや、フランジＦとツールセンターポイントＰeとの位置関係を調整するツールキャリブレーションは完了しているものとする。ツールキャリブレーションが完了することで、関節Ｑ1〜Ｑ4の角度から順運動学的にツールセンターポイントＰeの位置をロボット座標系ＸＹＺにおいて求めることが可能となる。
【００３８】
ステップＳ２０１では、コントローラ４の駆動制御部４１がカメラＣを動かして、較正用治具Ｇに配置された基準マークＭをカメラＣの視野に捉える。そして、基準マークＭがカメラＣの視野に収まった状態でロボットアーム２が停止して、カメラＣが基準マークＭを撮像し、カメラ座標系での基準マークＭの位置が認識される（ステップＳ２０２）。これによって、カメラＣの座標系の原点を基準マークＭに移動させる並進操作を表す同次変換行列Ｉdが取得される。
【００３９】
ステップＳ２０３では、ツールセンターポイントＰeのロボット座標系ＸＹＺにおける位置Ｉeが、関節Ｑ1〜Ｑ4の角度から確認される。ステップＳ２０４では、エンドエフェクタＥを基準マークＭまで移動させて、ツールセンターポイントＰeを基準マークＭに一致させる。具体的には、ステップＳ２０４では、ツールセンターポイントＰeを基準マークＭに一致させる並進操作と、基準マークＭに接近する際の姿勢にエンドエフェクタＥの姿勢を一致させる回転操作とをエンドエフェクタＥに行って、エンドエフェクタＥを移動させる。このようなエンドエフェクタＥへの操作は、ユーザがインターフェース４７を介してロボットアーム２をマニュアル制御することで実行される。ステップＳ２０５では、基準マークＭへ移動したエンドエフェクタＥのツールセンターポイントＰeのロボット座標系ＸＹＺにおける位置Ｉfが、関節Ｑ1〜Ｑ4の角度から確認される。
【００４０】
ステップＳ２０６では、コントローラ４は、エンドエフェクタＥの基準マークＭへの移動前後における関節Ｑ1〜Ｑ4の角度変化から、エンドエフェクタＥが並進方向に変位した量とエンドエフェクタＥが回転方向に変位した量を示す同次変換行列Ｉgを、エンドエフェクタＥの変位量として求める。ちなみに、エンドエフェクタＥの移動範囲があまりに大きいと、移動前後でロボットアーム２の撓み方が大きく異なり、コントローラ４が求める同次変換行列Ｉgにロボットアーム２の撓み方の違いが影響することも想定される。そこで、移動前後でロボットアーム２の撓み方に大きな差が無い範囲で、エンドエフェクタＥの移動範囲を設定すると良い。
【００４１】
そして、ステップＳ２０７では、コントローラ４が同次変換行列Ｉd、Ｉgに基づいて、エンドエフェクタＥとカメラＣの位置関係を示す第１位置関係情報Ｉaを求める。つまり、図４から理解できるように、これらの情報Ｉd、Ｉgが既知となれば、第１位置関係情報Ｉaを求めることができる。具体的には、第１位置関係情報Ｉaは、同次変換行列Ｉgの逆行列を同次変換行列Ｉdに右から乗ずることで得られる同次変換行列であり、エンドエフェクタＥとカメラＣとの位置および姿勢の差を示す。
【００４２】
以上に説明したように、図５に示したロボット較正方法では、第１位置関係情報Ｉaが、基準マークＭに基づいて求められる。具体的には、カメラＣによって基準マークＭを撮像した結果から、カメラＣと基準マークＭの位置関係Ｉdが求められる。さらに、エンドエフェクタＥを基準マークＭへ移動させて、エンドエフェクタＥの変位量Ｉgが求められる。こうして、カメラＣと基準マークＭの位置関係Ｉdと、エンドエフェクタＥが基準マークＭへ移動する際の変位量Ｉgとが取得される。そして、これらの取得結果から、エンドエフェクタＥとカメラＣとの位置関係を示す第１位置関係情報Ｉaが求められる。このようなロボット較正方法は、図２および図３で示したロボットアーム２の制御で用いられる第１位置関係情報Ｉaを取得することができ、エンドエフェクタＥを適切な姿勢で正確にワークＷへ移動させるのに資するものである。
【００４３】
このように、上記実施形態では、ロボットシステム１が本発明の「ロボットシステム」の一例に相当し、ロボットアーム２が本発明の「ロボットアーム」の一例に相当し、関節Ｑ1〜Ｑ4が本発明の「関節」の一例に相当し、エンドエフェクタＥが本発明の「エンドエフェクタ」の一例に相当し、カメラＣが本発明の「撮像部」の一例に相当し、記憶部５が本発明の「記憶部」の一例に相当し、位置関係情報取得部４３が本発明の「位置関係情報取得部」の一例に相当し、移動量取得部４５が本発明の「移動量取得部」の一例に相当し、駆動制御部４１が本発明の「移動制御部」の一例に相当し、第１位置関係情報Ｉaが本発明の「第１位置関係情報」あるいは「第１同次変換行列」の一例に相当し、第２位置関係情報Ｉbが本発明の「第２位置関係情報」あるいは「第２同次変換行列」の一例に相当し、変位量Ｉcが本発明の「変位量」あるいは「第３同次変換行列」の一例に相当し、ワークＷが本発明の「移動目標」の一例に相当する。また、ツールセンターポイントＰeが本発明の「ツールセンターポイント」の一例に相当し、フランジＦが本発明の「フランジ」の一例に相当する。
【００４４】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態ではエンドエフェクタＥの姿勢も考慮して、エンドエフェクタＥの変位量Ｉcが求められていた。しかしながら、ワークＷに接近する際の姿勢の制限が厳しくないような場合には、ツールセンターポイントＰeから作業基準点Ｐwまでの並進移動のみを考慮してエンドエフェクタＥの変位量Ｉcを求めても良い。
【００４５】
さらに、このような場合、第１位置関係情報Ｉa、第２位置関係情報Ｉb、変位量Ｉcを、同時変換行列で表す必要は必ずしも無く、ベクトルとして表しても良い。さらに、ロボット較正において第１位置関係情報Ｉaを求めるにあたっても、各値Ｉd、Ｉgをベクトルで取得しておけば足りる。この際には、ベクトルＩdをベクトルＩe、Ｉfにより演算で求めるように構成しても良い。
【００４６】
また、本発明を適用可能なロボットアーム２の具体的な構成は、上記実施形態に限られない。したがって、関節の個数および種類や、リンクの個数および長さについても適宜変更可能である。
【００４７】
また、カメラＣを配置する箇所も上記実施形態に限れず、適宜変更可能である。要するに、エンドエフェクタＥとの間にロボットアーム２が介在しない箇所にカメラＣを取り付ければ良い。
【００４８】
また、カメラＣの個数についても適宜変更可能である。したがって、複数のカメラＣをエンドエフェクタＥとの位置関係を固定しつつ上述と同様に設けても良い。この際、２個以上のカメラＣによってステレオ方式で撮像を行うように構成しても良い。
【００４９】
さらに、カメラＣ（撮像部）の種類についても多様なものを用いることができ、ワークＷの像を検出できるものであればカメラとして使用することが可能である。したがって、二次元的な撮像を行うカメラ以外に、ラインセンサ等によって一次元的な撮像を行うカメラや、ＴＯＦ(Time of Flight)方式のカメラ等の距離検出機能を有するカメラを用いることもできる。
【００５０】
また、エンドエフェクタＥとカメラＣとの相互の固定態様も上記のものに限られない。したがって、上記実施形態のように取付部材３を介してエンドエフェクタＥとカメラＣとを相互に固定する必要は必ずしも無く、取付部材３を用いないように構成しても構わない。
【００５１】
また、エンドエフェクタＥの種類としては、上記で例示した把持動作以外の各種動作を行うものを用いることができる。したがって、例えばインクを噴射して塗装を行うようなスプレーをエンドエフェクタＥとして用いることもできる。
【産業上の利用可能性】
【００５２】
この発明は、ロボットアームによってエンドエフェクタを移動させる技術に好適に適用することができ、例えば、当該ロボットアームを用いて部品を組み立てたり、箱詰めを行ったりする場合に適用することができる。
【符号の説明】
【００５３】
１…ロボットシステム
２…ロボットアーム
Ｑ1〜Ｑ4…関節
Ｆ…フランジ
Ｅ…エンドエフェクタ
Ｐe…ツールセンターポイント
Ｃ…カメラ
４…コントローラ
４１…駆動制御部
４３…位置関係情報取得部
４５…移動量取得部
５…記憶部
Ｉa…第１位置関係情報
Ｉb…第２位置関係情報
Ｉc…変位量
Ｗ…ワーク
Ｐw…作業基準点
【図１】
2014161950.tif 000003
【図２】
2014161950.tif 000004
【図３】
2014161950.tif 000005
【図４】
2014161950.tif 000006
【図５】
2014161950.tif 000007