(57)【要約】【課題】アームに対するツールのオフセットの導出を容易にする。【解決手段】ツールを装着可能であり、第一撮像部と第二撮像部とによって前記ツールと基準点を撮像可能な位置に前記ツールを移動させることが可能なアームを備え、前記アームは、前記アームに装着されたツールと前記基準点とが前記ツールの３以上の位置毎に前記第一撮像部によって撮像された第一画像データと、前記アームに装着されたツールと前記基準点とが前記ツールの前記３以上の位置毎に前記第二撮像部によって撮像された第二画像データと、に基づいて導出された前記ツールの前記アームに対するオフセットを用いて制御される、ロボット。【選択図】図４
2016185572.tif 000002
【特許請求の範囲】
【請求項１】
ツールを装着可能であり、第一撮像部と第二撮像部とによって前記ツールと基準点を撮像可能な位置に前記ツールを移動させることが可能なアームを備え、
前記アームは、
前記アームに装着されたツールと前記基準点とが前記ツールの３以上の位置毎に前記第一撮像部によって撮像された第一画像データと、前記アームに装着されたツールと前記基準点とが前記ツールの前記３以上の位置毎に前記第二撮像部によって撮像された第二画像データと、に基づいて導出された前記ツールの前記アームに対するオフセットを用いて制御される、
ロボット。
【請求項２】
前記第一画像データおよび前記第二画像データに基づく前記アームのビジュアルフィードバック制御により前記ツールが前記基準点に位置合わせされる、
請求項１に記載のロボット。
【請求項３】
前記ツールを前記基準点に位置合わせした結果に基づいて前記ツールの前記アームに対するオフセットが導出される、
請求項２に記載のロボット。
【請求項４】
前記第一画像データは、前記ツールの前記３以上の位置毎に、前記アームの姿勢が異なる、
請求項１〜３のいずれか一項に記載のロボット。
【請求項５】
第一撮像部と、
第二撮像部と、
ツールを装着可能であり、第一撮像部と第二撮像部とによって前記ツールと基準点を撮像可能な位置に前記ツールを移動させることが可能なアームと、
前記アームに装着されたツールと前記基準点とが前記ツールの３以上の位置毎に前記第一撮像部によって撮像された第一画像データと、前記アームに装着されたツールと前記基準点とが前記ツールの前記３以上の位置毎に前記第二撮像部によって撮像された第二画像データとを取得する画像取得部と、
前記第一画像データと前記第二画像データとに基づいて前記ツールの前記アームに対するオフセットを導出するオフセット導出部と、
を備えるロボットシステム。
【請求項６】
ツールを装着可能であり、第一撮像部と第二撮像部とによって前記ツールと基準点を撮像可能な位置に前記ツールを移動させることが可能なアームを備えるロボットを制御するためのロボット制御装置であって、
前記アームに装着されたツールと前記基準点とが前記ツールの３以上の位置毎に前記第一撮像部によって撮像された第一画像データと、前記アームに装着されたツールと前記基準点とが前記ツールの前記３以上の位置毎に前記第二撮像部によって撮像された第二画像データとを取得する画像取得部と、
前記第一画像データと前記第二画像データとに基づいて前記ツールの前記アームに対するオフセットを導出するオフセット導出部と、
を備えるロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボット制御装置およびロボットシステムに関する。
【背景技術】
【０００２】
一般にロボットは、アームの先端部等に設けられるチャックにツールを装着した状態で使用される。ツールが装着されるアームの基準点をＴＣＰ（Tool Center Point）という。ツールによってワークを処理するには、ワークに対するツールの位置を制御する必要がある。多くのツールはロボット１とは別の事業者によって製造販売されるため、その形状はロボット１の製造事業者にとって未知である。未知のツールが装着される場合には、ＴＣＰに対するツールのオフセットをロボットの使用前に導出してロボット制御装置に設定しておく必要がある。特許文献１には、アームに対するツールのオフセットを導出する方法が開示されている。特許文献１に開示された方法によると、ユーザーによるジョグ送り操作によって異なる３以上の姿勢でツールを基準点に位置合わせし、位置合わせした結果に基づいてツールのオフセットが導出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−８５０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ジョグ送り操作によってツールを基準点に位置合わせする場合、ユーザーの熟練度によって位置合わせの精度がばらつくことになり、また、位置合わせにも相当の時間がかかるという問題がある。ツールのオフセットを設定するロボットの数が増えるほど、この問題は深刻になる。
【０００５】
本発明は、これらの問題を解決するために創作されたものであって、アームに対するツールのオフセットの導出を容易にすることを目的の一つとする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためのロボットは、ツールを装着可能であり、第一撮像部と第二撮像部とによって前記ツールと基準点を撮像可能な位置に前記ツールを移動させることが可能なアームを備え、前記アームは、前記アームに装着されたツールと前記基準点とが前記ツールの３以上の位置毎に前記第一撮像部によって撮像された第一画像データと、前記アームに装着されたツールと前記基準点とが前記ツールの前記３以上の位置毎に前記第二撮像部によって撮像された第二画像データと、に基づいて導出された前記ツールの前記アームに対するオフセットを用いて制御される。
【０００７】
本発明によると、アームを３以上の位置に動かし、位置毎にツールと基準点とを撮像した２つの撮像部から画像データを取得すると、取得した画像データに基づいてアームに対するツールのオフセットを導出できる。そして３以上の各位置において、ツールが基準点に位置合わせされていなくても、それぞれの状態で２つの撮像部によって撮像された画像データに基づいてオフセットを導出できる。すなわち本発明によると、ジョグ送り操作によってツールを基準点に位置合わせする必要がないため、アームに対するツールのオフセットを容易に導出することができる。
【０００８】
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【０００９】
【図１】図１Ａは本発明の実施形態にかかる模式的な斜視図。図１Ｂは本発明の実施形態にかかるブロック図。
【図２】本発明の実施形態にかかる平面図。
【図３】本発明の実施形態にかかる模式的な斜視図。
【図４】本発明の実施形態にかかるフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
【００１１】
１−１．概要
本発明の一実施例としてのロボットシステムは、図１に示すように、ロボット１と、第一撮像部２と、第二撮像部４と、ロボット制御装置としてのＰＣ（Personal Computer）３とを備えている。
【００１２】
ロボット１は、６つの回転軸部材１２１、１２２、１２３、１２４、１２５、１２６をアームに備える６軸ロボットである。ワークを操作するための各種のツールが装着される回転軸部材１２６の先端の中心をツールセンターポイント（ＴＣＰ）という。図１には棒状のツールＴが例示されている。ＴＣＰの位置と姿勢は各種のツールの位置と姿勢の基準となる。ロボット１を制御する際に用いられるロボット１の座標系（ロボット座標系）は、それぞれが水平なＸ軸とＹ軸と、鉛直下向きを正方向とするＺ軸とによって定まる３次元の直交座標系である。またＺ軸周りの回転をｕ、Ｙ軸周りの回転をｖ、Ｘ軸周りの回転をｗで表す。ロボット座標系の長さの単位はミリメートル、角度の単位は度である。
【００１３】
撮像部２、４は、ロボット１のアームの可動範囲を撮像可能な位置と姿勢でテーブル９の上、壁、天井などに設置される。本実施例において撮像部２，４の構成は同一であるものとして説明するが、同一でなくとも良い。撮像部２（４）の座標系（カメラ座標系）は、撮像部２（４）から出力される画像データの座標系であって、画像データが表す画像の水平右向きを正方向とするＢ（Ｇ）軸と、画像データが表す画像の垂直下向きを正方向とするＣ（Ｈ）軸とによって定まる。撮像部２（４）の座標系の長さの単位はピクセル、角度の単位は度である。撮像部２（４）の座標系は、撮像部２（４）の光軸Ａ（Ｆ）に垂直な実空間内の平面の座標系が、レンズ２０１（４０１）の光学特性（焦点距離、歪みなど）とエリアイメージセンサー２０２（４０２）の画素数と大きさとに応じて非線形変換された２次元の直交座標系である。
【００１４】
ロボット制御装置としてのＰＣ３はロボット１と撮像部２、４に接続されている。撮像部２，４が出力する画像データに基づいてロボット１を制御するためには、撮像部２、４のカメラ座標系をロボット１のロボット座標系と関係づける処理、すなわち校正が必要になる。また、ロボット１によってワークを処理するにあたっては、回転軸部材１２６に装着されるツールの位置と姿勢を制御する必要がある。したがってＴＣＰに対する位置と姿勢が未知のツールについては、使用前に、そのツールのＴＣＰに対する位置と姿勢をロボット１の制御装置に設定する必要がある。このためＰＣ３には、ＴＣＰに対するツールのオフセットを容易に短時間で設定するためのツールセットプログラムがインストールされている。
【００１５】
１−２．構成
図１Ａに簡略化して示すように、ロボット１は、基台１１０とアーム１１１、１１２、１１３、１１４、１１５とを備えている。基台１１０は、第一アーム１１１の回転軸部材１２１を支持している。第一アーム１１１は回転軸部材１２１の中心軸を中心にして回転軸部材１２１とともに基台１１０に対して回転する。第一アーム１１１は、第二アーム１１２の回転軸部材１２２を支持している。第二アーム１１２は、回転軸部材１２２の中心軸を中心にして回転軸部材１２２とともに第一アーム１１１に対して回転する。第二アーム１１２は、第三アーム１１３の回転軸部材１２３を支持している。第三アーム１１３は、回転軸部材１２３の中心軸を中心にして回転軸部材１２３とともに第二アーム１１２に対して回転する。第三アーム１１３は、第四アーム１１４の回転軸部材１２４を支持している。第四アーム１１４は、回転軸部材１２４の中心軸を中心にして回転軸部材１２４とともに第三アーム１１３に対して回転する。第四アーム１１４は、第五アーム１１５の回転軸部材１２５を支持している。第五アーム１１５は、回転軸部材１２５の中心軸を中心にして回転軸部材１２５とともに第四アーム１１４に対して回転する。第五アーム１１５は、回転軸部材１２６を支持している。マニピュレーターの先端にあたる回転軸部材１２６には図２にツールの取付面が示されているツールチャック１２６１が設けられている。ツールチャック１２６１にはワークを操作するための各種のツールが取り付けられる。図２に示すように、ツールチャック１２６１の取付面は、４分割されており、その中央部にツールの軸が挿入される。ツールチャック１２６１の取付面の中心がＴＣＰに相当する。
【００１６】
本実施例では図１に示す棒状のツールＴの先端ＴＳについてＴＣＰに対するオフセットを導出するものとする。なお、ツールの形状や使用形態に応じてオフセットを導出すべき部分は異なる。
【００１７】
図１Ｂに示すように、ロボット１は、回転軸部材１２１を駆動するモーター１３１と、回転軸部材１２２を駆動するモーター１３２と、回転軸部材１２３を駆動するモーター１３３と、回転軸部材１２４を駆動するモーター１３４と、回転軸部材１２５を駆動するモーター１３５と、回転軸部材１２６を駆動するモーター１３６と、モーター１３１〜１３６を制御する制御部１４とを備えている。モーター１３１〜１３６は、アーム１１１〜１１５の構成要素である。モーター１３１〜１３６は、目標値と現在値との差分がゼロになるようにフィードバック制御されるサーボモーターである。制御部１４は、ＴＣＰの位置と姿勢を示す目標値をＰＣ３から取得し、ＴＣＰの位置と姿勢を示す目標値に基づいてモーター１３１〜１３６の目標値を導出する。
【００１８】
撮像部２（４）は、レンズ２０１（４０１）、エリアイメージセンサー２０２（４０２）、図示しないＡＤ変換器等を備えるデジタルカメラである。撮像部２、４は、図１Ａに示すように、ワークが載置されるテーブル９上の所定位置に、アームの可動範囲を撮像できるように設置される。
【００１９】
ＰＣ３は、図示しないプロセッサ、ＤＲＡＭからなる図示しない主記憶、図示しない入出力機構、不揮発性メモリからなる図示しない外部記憶、ディスプレイ、指示受付部３０として機能するキーボード等を備えるコンピューターである。ＰＣ３は、外部記憶に記憶されたツールセットプログラムをプロセッサで実行することにより、画像取得部３１、オフセット導出部３２、アーム制御部３３として機能する。
【００２０】
画像取得部３１は、撮像部２、４に対して撮像を指示し、指示に応じて基準点とツールが撮像された画像データを撮像部２、４から取得する。本実施例で用いる基準点は、撮像部２，４によって撮像可能な範囲において任意に設定することができる。なお、基準点をＰＣ３にロボット座標系の座標として設定する必要はない。すなわち、オフセットを導出するために用いる基準点は、ロボット１およびＰＣ３にとって未知の点でよい。本実施例では、撮像部２，４によって撮像可能な範囲においてテーブル９に載置した円錐体の頂点Ｐを、ツールＴの先端ＴＳのオフセットを導出するための基準点とする。このように設定した基準点Ｐは、撮像部２，４に対して動かないため、撮像部２，４のカメラ座標系とロボット座標系とを校正する基準として用いることができる。
【００２１】
オフセット導出部３２は、撮像部２、４によって撮像された画像データに基づいてツールＴの先端ＴＳのＴＣＰに対するオフセットを導出する。詳しくは後述する。
【００２２】
アーム制御部３３は、ユーザーのジョグ送り等の操作に応じて目標値をロボット１の制御部１４に出力することにより、ロボット１を制御する。また、アーム制御部３３は、予め決められたＴＣＰの位置と姿勢の目標値と、オフセット導出部３２によって導出されたＴＣＰの位置と姿勢の目標値とをロボット１の制御部１４に出力することにより、基準点ＰとツールＴの先端ＴＳを位置合わせする。詳しくは後述する。
【００２３】
２．ツールオフセット処理
次に上述したロボットシステムを用いてツールＴの先端ＴＳのＴＣＰに対するオフセットを導出して設定するツールオフセット処理の流れについて図４を参照しながら説明する。
【００２４】
ロボットシステムによるツールオフセット処理は、オペレーターが開始指示をＰＣ３に入力することによって起動し（ステップＳ１）、それ以後、オペレーターに一切の操作を要求することなく、あるいは、簡単な操作で完了する。開始指示を入力する前にオペレーターに求められるのは、基準点ＰをツールＴの移動範囲内かつ撮像部２，４の視野内に設置することである。またツールオフセット処理を開始する時点においては、ロボット座標系とカメラ座標系の校正が行われている必要はないし、ロボット１に対する撮像部２，４の位置も未知でよい。
【００２５】
開始指示がＰＣ３に入力されると（ステップＳ１）、アーム制御部３３は画像ヤコビアンを導出するために予め決められた位置と姿勢にＴＣＰを移動させる（ステップＳ２）。ここでいう予め決められた位置は、撮像部２，４によってツールＴを撮像可能な視野内であれば良い。例えば、基準点Ｐのロボット１に対する大凡の設置位置をマニュアルで示しておき、その設置位置から所定距離離れた点にＴＣＰの移動先を予め決めておけばよい。マニュアルで示された設置位置通りに基準点Ｐが設置されなくても、予め決めておいたＴＣＰの移動先においてアームやツールＴが接触する位置に基準点Ｐが設置されたり、基準点Ｐが撮像部２，４で撮像できない位置に設置されたり、ツールの移動範囲外に基準点Ｐが設置されたりしない限り、ツールオフセット処理を実行可能である。なお、ＴＣＰのこのような移動先は、予め３点決めておけば画像ヤコビアンを導出できるが、本実施例では計算を簡略化するために次の６点を予め決めておき、順番に各点にＴＣＰを移動させる。これら６点は、最初に定めた１点（Ｘ、Ｙ、Ｚ）に対して、残り６点を（Ｘ±ΔＸ、Ｙ、Ｚ）、（Ｘ、Ｙ±ΔＹ、Ｚ）、（Ｘ、Ｙ、Ｚ±ΔＺ）とする。
【００２６】
予め決められた位置と姿勢にＴＣＰを移動させると、画像取得部３１は、第一撮像部２および第二撮像部４に指示をして撮像を実行させ、第一撮像部２および第二撮像部４から画像データを取得する（ステップＳ３）。この結果、画像取得部３１は、予め決められた位置と姿勢のＴＣＰに装着されているツールＴと基準点Ｐが第一撮像部２によって撮像された画像データ（第一画像データ）と、同じ位置同じ姿勢のＴＣＰに装着されているツールＴと基準点Ｐが第二撮像部４によって撮像された画像データ（第二画像データ）とを取得する。
【００２７】
ステップＳ２およびステップＳ３の処理は、繰り返し数の判定（ステップＳ４）により、６回繰り返されるまで実行される。ステップＳ２においてＴＣＰの移動先として毎回異なる予め決められた点が設定される。ステップＳ２およびステップＳ３の処理が６回繰り返されると、ＴＣＰの位置が互いに異なり、ＴＣＰの姿勢が同じ６状態において、アームのＴＣＰに装着されたツールＴと基準点Ｐとが第一撮像部２によって撮像された６つの画像データ（第一画像データ）と、アームのＴＣＰに装着されたツールＴと基準点Ｐとが第二撮像部４によって撮像された６つの画像データ（第二画像データ）とが画像取得部３１によって取得された状態になる。
【００２８】
合計１２の画像データを画像取得部３１が取得すると、オフセット導出部３２は、各画像データについて、ツールＴの先端ＴＳの位置をカメラ座標で検出する（ステップＳ５）。画像データからツールＴの先端ＴＳを検出するためには予めツールＴの先端ＴＳの形態がわかっている必要があるが、ツールについても、基準点についても、任意の形態を許容することが好ましい。そこで、予め形態が定められたマークを用意しておき、ツールと基準点に取り付けるようにマニュアル等でオペレーターに案内することが好ましい。例えば、取り付け面に粘着力があり、高い彩度で彩色された球をマークとして２種類用意しておき、一方の種類をツールに付着させ、他方の種類を基準点に付着させればよい。また例えば、取り付け面に粘着力がある小型のＬＥＤ照明装置をマークとして用いてもよい。また予め形態が決められた立体を基準点の設定用に用意しても良い。このようなマークが用いられる場合、それぞれのマークの形態に応じたテンプレートを用いたテンプレートマッチングにより、オフセット導出部３２はカメラ座標でツールＴの先端ＴＳの位置と基準点Ｐの位置とを検出することができる。
【００２９】
ツールＴの先端ＴＳの位置を１２の画像データについてカメラ座標でそれぞれ検出すると、オフセット導出部３２は、ロボット座標系からカメラ座標系に座標変換するための画像ヤコビアンを導出する（ステップＳ６）。第一撮像部２が撮像した３つの画像データには、ツールＴの先端ＴＳの位置が６個記録されているため、ツールＴの先端ＴＳについて６個の位置を示すカメラ座標が検出される。また、第一撮像部２および第二撮像部４によって各画像データが撮像された時のＴＣＰの位置はロボット座標系において既知である。
【００３０】
ここで、ロボット座標（Ｘ、Ｙ、Ｚ）を第一撮像部２のカメラ座標（ｘ１、ｙ１）と第二撮像部４のカメラ座標（ｘ２，ｙ２）に変換する画像ヤコビアンを次のように定義する。
【００３１】
【数１】
2016185572.tif 000003
【数２】
2016185572.tif 000004
【００３２】
オフセット導出部３２は、ＴＣＰの位置毎に、検出した１２点のカメラ座標とＴＣＰのロボット座標とを式（３）〜（１４）に代入することにより、画像ヤコビアンＪを導出する。
【数３】
2016185572.tif 000005
【数４】
2016185572.tif 000006
【数５】
2016185572.tif 000007
【数６】
2016185572.tif 000008
【数７】
2016185572.tif 000009
【数８】
2016185572.tif 000010
【数９】
2016185572.tif 000011
【数１０】
2016185572.tif 000012
【数１１】
2016185572.tif 000013
【数１２】
2016185572.tif 000014
【数１３】
2016185572.tif 000015
【数１４】
2016185572.tif 000016
【００３３】
画像ヤコビアンを導出すると、オフセット導出部３２は、カメラ座標系でツールＴの先端ＴＳから基準点ＰへのベクトルΔｐを導出し、画像ヤコビアンＪの逆行列Ｊ−１を用いてツールＴの先端ＴＳを基準点Ｐに移動させるベクトルΔＰをロボット座標系で求める（ステップＳ７）。
【００３４】
ここで、第一撮像部２のカメラ座標系においてツールＴの先端ＴＳの位置を（Ｔｘ１、Ｔｙ１）、基準点Ｐの位置を（Ｇｘ１、Ｇｙ１）とし、第二撮像部４のカメラ座標系においてツールＴの先端ＴＳの位置を（Ｔｘ２、Ｔｙ２）、基準点Ｐの位置を（Ｇｘ２、Ｇｙ２）とすると、Δｐは次式（１５）によって導出される。
【００３５】
【数１５】
2016185572.tif 000017
【００３６】
ツールＴの先端ＴＳを基準点Ｐに移動させるベクトルΔＰは、次式（１６）によって導出される。
【００３７】
【数１６】
2016185572.tif 000018
【００３８】
オフセット導出部３２がツールＴの先端ＴＳを基準点Ｐに移動させるベクトルΔＰを導出すると、アーム制御部３３はΔＰだけＴＣＰを並進移動させる（Ｓ８）。ツールＴの先端ＴＳと基準点Ｐの検出位置に誤差が無く、画像ヤコビアンの導出過程で計算誤差が無く、目標値ΔＰに対するアームの制御誤差がなければ、ΔＰだけＴＣＰを移動させると、ツールＴの先端ＴＳは基準点Ｐに移動する。この場合、移動後のＴＣＰに対する基準点Ｐの相対位置がツールＴの先端ＴＳのＴＣＰに対するオフセットとなる。すなわち、ツールＴの先端ＴＳが基準点Ｐに接触することではじめて、２つの撮像部２，４によって撮像された画像データ上のツールＴの先端ＴＳの位置とＴＣＰの位置との関係がロボット座標系で明らかになり、ＴＣＰに対するツールＴの先端ＴＳのオフセットが求まる。しかし仮に、ΔＰが正確に求まったとすれば、ツールＴの先端ＴＳが基準点Ｐに接触する状態でのＴＣＰの位置を導出できるため、ΔＰだけＴＣＰを並進移動させることによってツールＴの先端ＴＳを基準点Ｐに接触させなくても、ＴＣＰに対するツールＴの先端ＴＳのオフセットが求まるのである。なお、移動前に第一撮像部２のカメラ座標系で検出されたツールＴの先端ＴＳの位置（Ｇｘ１、Ｇｙ１）と、第二撮像部４のカメラ座標系で検出されたツールＴの先端ＴＳの位置（Ｇｘ２、Ｇｙ２）とから次式（１７）によって導出される座標（ＧＸ、ＧＹ、ＧＺ）が、移動前のツールＴの先端ＴＳのロボット座標系での位置を示す。
【００３９】
【数１７】
2016185572.tif 000019
【００４０】
ΔＰだけＴＣＰを移動させると、ツールＴが基準点Ｐに衝突する可能性がある。そこで基準点ＰとツールＴとの接触を防止するために、ツールＴが基準点Ｐに接触する直前で確実に停止するように予め決めたベクトルをΔＰから差し引いてＴＣＰを移動させても良い。
【００４１】
ΔＰだけＴＣＰを移動させると、画像取得部３１は、第一撮像部２および第二撮像部４に指示をして撮像を実行させ、第一撮像部２および第二撮像部４から画像データを取得する（ステップＳ９）。
【００４２】
第一撮像部２および第二撮像部４から画像データを取得すると、オフセット導出部３２は、ステップＳ７と同様に、ツールＴの先端ＴＳから基準点ＰへのベクトルΔｐをカメラ座標系で導出し、画像ヤコビアンＪの逆行列Ｊ−１を用いてツールＴの先端ＴＳを基準点Ｐに移動させるベクトルΔＰをロボット座標系で求める（ステップＳ７）。
【００４３】
次にオフセット導出部３２は、Δｐの大きさが予め定めた閾値Ｔよりも小さいか否かを判定する（ステップＳ１１）。閾値Ｔを小さく定めるほどオフセットの導出精度は高まる一方で、ツールＴが基準点Ｐに衝突する可能性は高くなる。このことを勘案した上で閾値Ｔを予め適当な値に定めればよい。
【００４４】
ステップＳ１１においてΔｐの大きさが予め定めた閾値Ｔより小さくないと判定された場合、上述したステップＳ８、ステップＳ９、ステップＳ１０、ステップＳ１１の処理が繰り返される。すなわち、画像取得部３１、オフセット導出部３２、アーム制御部３３は、第一撮像部２と第二撮像部４とから取得する画像データに基づくアームのビジュアルフィードバック制御によりツールＴを基準点Ｐに位置合わせする。
【００４５】
ステップＳ１１においてΔｐの大きさが予め定めた閾値Ｔより小さいと判定された場合、オフセット導出部３２は、ツールＴの互いに異なる４姿勢のそれぞれについて、ステップＳ１０で導出したΔｐの大きさが予め定めた閾値Ｔより小さくなったかを判定する（ステップＳ１２）。そしてツールＴの互いに異なる４姿勢のそれぞれについて、Δｐの大きさが予め定めた閾値Ｔより小さくなっていなければ、アーム制御部３３はＴＣＰの位置と姿勢を変更し、ステップＳ９からステップＳ１２の処理が繰り返される。
【００４６】
Δｐの大きさが予め定めた閾値Ｔより小さいという判定結果がステップＳ１１において４回得られるまで、ステップＳ１３において、第一撮像部２および第二撮像部４の視野内でＴＣＰを基準点Ｐから遠ざけるとともに、ＴＣＰの姿勢を、それまでに第一撮像部２および第二撮像部４によって撮像された姿勢とは異なる姿勢に変化させ、予め決められた位置にＴＣＰを移動する。ＴＣＰに対するツールＴの先端ＴＳのオフセットは、ＴＣＰに固定された座標から見れば、ＴＣＰの姿勢にかかわらず一定である。しかしながら、ＴＣＰの姿勢に応じて画像データに撮像されたツールＴの姿勢が変わり、画像データに撮像されたツールＴの姿勢によってツールＴの先端ＴＳの位置検出精度も変わる可能性がある。したがって、第一撮像部２と第二撮像部４によって撮像された画像データに基づいてツールＴの先端ＴＳについて基準点Ｐとの距離を測定するに当たっては、ツールＴの姿勢を変えて複数回検出することによって、測定精度が高まるのである。
【００４７】
Δｐの大きさが予め定めた閾値Ｔより小さいという判定結果が異なる姿勢についてステップＳ１１で４回得られると、オフセット導出部３２は、ロボット座標系でのＴＣＰに対する基準点Ｐの位置を、ツールＴの先端ＴＳのＴＣＰに対するオフセットとして導出して設定する（Ｓ１４）。ＴＣＰに対する基準点Ｐの位置は、ステップＳ１１において検出する基準点Ｐの位置をカメラ座標系からロボット座標系に画像ヤコビアンの逆行列を用いて変換した座標に、ステップＳ１０で最後に求められたΔＰを加えることによって導出される。
【００４８】
以上説明した本発明の実施例によると、ステップＳ２からステップＳ４においてＴＣＰを３以上の位置に動かし、位置毎にツールＴと基準点Ｐとを撮像した２つの撮像部２，４から画像データを取得すると、ステップＳ５からステップＳ７において、取得した画像データに基づいてＴＣＰに対するツールのオフセットを導出できる。そして３以上の各位置において、ツールＴが基準点Ｐに位置合わせされていなくても、それぞれの状態で２つの撮像部２，４によって撮像された画像データに基づいてオフセットを導出できる。すなわち、ジョグ送り操作によってツールＴの先端ＴＳを基準点Ｐに位置合わせする必要がないため、アームに対する任意のツールのオフセットを容易に短時間で導出して設定することができる。
【００４９】
さらに、ステップＳ２からステップＳ４においてＴＣＰをツールの姿勢毎に３以上の位置に動かすことも、アーム制御部３３によって自動的に実行されるため、オフセットの設定がさらに容易である。さらに、ステップＳ８からステップＳ１１において、２つの撮像部２，４から取得する画像データに基づくアームのビジュアルフィードバック制御によりツールＴを基準点Ｐに位置合わせするため、ステップＳ７において導出するツールＴの先端ＴＳから基準点Ｐまでの距離に基づいてＴＣＰに対するオフセットを導出する場合に比べて、ツールＴの先端ＴＳから基準点Ｐまでの距離を正確に測定できる。このため、高い精度でオフセットを導出することができる。さらに、ステップＳ９からステップＳ１１までを、ＴＣＰの初期位置と姿勢を変えて複数回繰り返すことにより、ツールＴの先端ＴＳから基準点Ｐまでの距離をさらに正確に測定できるため、より高い精度でオフセットを導出することができる。
【００５０】
３．他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００５１】
例えば、上述したステップＳ８以後の処理を省略し、ステップＳ７において導出されたΔＰに基づいてツールのオフセットを導出して設定しても良い。また上述したステップＳ１２およびステップＳ１３の処理を省略し、ステップＳ１１においてΔｐの大きさが閾値Ｔより小さくなった時点で、最後に求めたΔＰに基づいてツールのオフセットを導出して設定しても良い。またステップＳ９からステップＳ１２までの繰り返し数は、４に限らず、３以下でも良いし、５以上でも良い。
【００５２】
また上述したステップＳ２においてＴＣＰを同じ姿勢で６点に移動させる代わりに、ＴＣＰの姿勢を毎回代えて位置も移動させても良い。
【００５３】
また上述した実施例では、ツールの姿勢をかえてビジュアルフィードバック制御によりツールＴの先端ＴＳを基準点Ｐに４回位置合わせする過程において、同一の画像ヤコビアンを用いたが、ステップＳ１２において繰り返し数を判定した後に、ツールＴの姿勢を変えてステップＳ２の処理から繰り返してもよい。すなわち、ツールＴの姿勢を変える度に画像ヤコビアンを導出しても良い。この場合、ステップＳ６において、４姿勢についてそれぞれ画像ヤコビアンが導出されることになり、互いに異なる画像ヤコビアンを用いたビジュアルフィードバック制御によりツールと基準点の位置合わせが行われることになる。そこで、ステップＳ１４においてツールのオフセットを導出する前に、各画像ヤコビアンを用いて最後に求めたΔＰのうち、最も大きさが小さいΔＰを選択し、選択したΔＰに基づいてツールのオフセットを導出しても良い。
また上記実施例では、ロボットとロボット制御装置とを別体として接続したが、ロボット制御装置の機能をロボット自体に備えても良い。
【００５４】
また本発明は、６軸以外の垂直多関節ロボットにも適用できるし、アームの回転軸が全て平行なスカラーロボットにも適用できる。
【符号の説明】
【００５５】
１３１-１３６…モーター、１１１-１１５…アーム、１…ロボット、２…第一撮像部、４…第二撮像部、９…テーブル、１４…制御部、３１…画像取得部、３２…オフセット導出部、３３…アーム制御部、１１０…基台、１２１−１２６…回転軸部材、２０１、４０１…レンズ、２０２…エリアイメージセンサー、１２６１…ツールチャック、Ａ…光軸、Ｐ…基準点、Ｔ…ツール、ＴＳ…先端
【図１】
2016185572.tif 000020
【図２】
2016185572.tif 000021
【図３】
2016185572.tif 000022
【図４】
2016185572.tif 000023