(57)【特許請求の範囲】
【請求項１】
ロボット座標系を有するロボットへの動作指示システムであって、
空間における計測点を指示する指示具と、
デジタイザ座標系を有し、前記指示具により指示された前記計測点の前記デジタイザ座標系における座標データを生成するデジタイザと、
前記デジタイザ座標系と前記ロボット座標系の間の座標変換と、前記デジタイザにより生成された計測点の前記デジタイザ座標系における座標データと、に基づいてロボットに動作を指示するロボット制御部と、
を備え、
前記ロボット制御部は、前記ロボット上の点であって当該ロボットの動作を制御する際の制御対象である制御対象点が指定され、前記指示具によって前記計測点が指示された場合、前記制御対象点が前記計測点に向かって移動するように前記ロボットに動作を指示する、ロボットへの動作指示システム。
【請求項２】
前記ロボット制御部は、前記指示具によってそれぞれ異なる第３の計測点及び第４の計測点が指示された場合、前記第３の計測点及び前記第４の計測点を通る回転軸を生成し、予め設定されたロボットの一部が前記回転軸周りに回転移動するように前記ロボットに動作を指示する、請求項１に記載のロボットへの動作指示システム。
【請求項３】
前記ロボット制御部は、前記指示具によって第５の計測点が指示された場合、前記第３の計測点と前記第４の計測点を結ぶ直線と同じ方向で、且つ前記第５の計測点を通る回転軸を生成し、予め設定されたロボットの一部が前記回転軸周りに回転移動するように前記ロボットに動作を指示する、請求項２に記載のロボットへの動作指示システム。
【請求項４】
前記ロボットへの動作指示システムは、ロボットの動作に関連する情報を入力するための入力装置を備え、前記ロボット制御部は、前記入力装置によって入力された情報に応じて、前記ロボットに動作を指示する、請求項１乃至３のいずれかに記載のロボットへの動作指示システム。
【請求項５】
前記ロボット制御部は、前記入力装置によって移動速度または回転速度が入力された場合、入力された移動速度または回転速度でロボットが移動または回転するように前記ロボットに動作を指示する、請求項４に記載のロボットへの動作指示システム。
【請求項６】
前記ロボット制御部は、前記ロボットを移動させて、前記ロボットの少なくとも１ヶ所の特定部位を少なくとも３ヵ所に移動させたときの、それぞれの移動位置における前記特定部位の前記デジタイザ座標系における座標データと前記ロボット座標系における座標データが与えられた場合に、前記デジタイザ座標系における座標データと前記ロボット座標系における座標データのいずれか一方を前記座標変換によって変換した値と他方の値とが一致するように、前記デジタイザ座標系と前記ロボット座標系との間の前記座標変換を算出するように構成されていている、請求項１に記載のロボットへの動作指示システム。
【請求項７】
前記ロボットはフランジ座標系を有するフランジ部を有し、
前記ロボット制御装置は、前記フランジ座標系とロボット座標系との間の座標変換と、前記フランジ部および前記フランジ部より先端側の少なくとも３つの特徴点のデジタイザ座標系における座標データと、前記デジタイザ座標系と前記ロボット座標系の間の座標変換に基づいて、前記フランジ座標系における前記少なくとも３つの特徴点のツールベクトルを算出するとともに記憶し、その後、前記デジタイザが移設され、且つ前記少なくとも３つの特徴点の前記デジタイザ座標系における座標データが与えられた場合に、与えられた３つの特徴点の前記デジタイザ座標系における座標データを前記デジタイザ座標系と前記ロボット座標系の間の座標変換によって変換した値と、記憶した前記フランジ座標系における前記少なくとも３つの特徴点のツールベクトルを前記フランジ座標系とロボット座標系との間の座標変換によって変換した値とが一致するように、前記デジタイザ移設後の前記デジタイザ座標系と前記ロボット座標系との間の前記座標変換を算出するように構成されている、請求項１に記載のロボットへの動作指示システム。
【請求項８】
前記ロボット制御装置は、予め、空間における所定の領域に所定の動作を割り当てておき、前記指示具によって前記所定の領域内の計測点が指示された場合には、当該割り当てられた動作をロボットに指示する、請求項１に記載のロボットへの動作指示システム。
【請求項９】
ロボット座標系を有するロボットへの動作指示方法であって、
指示具によって、空間における計測点を指示するステップと、
デジタイザ座標系を有するデジタイザによって、前記指示具により指示された計測点の前記デジタイザ座標系における座標データを生成するステップと、
前記デジタイザ座標系と前記ロボット座標系の間の座標変換と、前記デジタイザにより生成された計測点の前記デジタイザ座標系における座標データに基づいてロボットに動作を指示するステップと、
を含む、
前記ロボットに動作を指示するステップでは、前記ロボット上の点であって当該ロボットの動作を制御する際の制御対象である制御対象点が指定され、前記指示具によって前記計測点が指示された場合、前記制御対象点が前記計測点に向かって移動するように前記ロボットに動作を指示する、ロボットへの動作指示方法。
以上
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに動作を指示する動作指示システム及び動作指示方法に関する。
【背景技術】
【０００２】
ロボットの教示等の作業においては、ロボットに移動等の動作を指示することが必要になる。例えばロボットの教示作業の一種であるオンライン教示の作業では、教示用ペンダントと呼ばれる弁当箱状の機器に配置されたスイッチやジョイステックを用いてロボットに移動を指示しながら教示作業を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の教示用ペンダントを用いたロボットへの動作指示では、予め設定された座標系の軸に沿った移動ボタンしか教示用ペンダントにないため、予め設定された座標系の軸と異なる方向への移動を直接指示することができない。このため作業者が、何度もボタンを切り換える必要があるほか、目では見えない座標系の向きを常に意識して動作を指示する必要があり、作業が煩雑である。
【０００４】
このように、従来のロボットへの動作指示システムでは作業が煩雑になるという課題がある。
【０００５】
そこで、本発明はこのような課題を解決するためになされたものであり、ロボットへの動作指示を容易にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明のある態様に係るロボットへの動作指示システムは、ロボット座標系を有するロボットへの動作指示システムであって、空間における計測点を指示する指示具と、デジタイザ座標系を有し、前記指示具により指示された前記計測点の前記デジタイザ座標系における座標データを生成するデジタイザと、前記デジタイザ座標系と前記ロボット座標系の間の座標変換と、前記デジタイザにより生成された計測点の前記デジタイザ座標系における座標データと、に基づいてロボットに動作を指示するロボット制御部と、を備える。
【０００７】
前記ロボット制御部は、前記ロボットの制御対象点が指定され、前記指示具によって前記ロボットの計測点が指示された場合、前記制御対象点が前記計測点に向かって移動するように前記ロボットに動作を指示してもよい。
【０００８】
前記ロボット制御部は、前記指示具によってそれぞれ異なる第３の計測点及び第４の計測点が指示された場合、前記第３の計測点及び前記第４の計測点を通る回転軸を生成し、予め設定されたロボットの一部が前記回転軸周りに回転移動するように前記ロボットに動作を指示してもよい。
【０００９】
前記ロボット制御部は、前記指示具によって第５の計測点が指示された場合、前記第３の計測点と前記第４の計測点を結ぶ直線と同じ方向で、且つ前記第５の計測点を通る回転軸を生成し、予め設定されたロボットの一部が前記回転軸周りに回転移動するように前記ロボットに動作を指示してもよい。
【００１０】
前記ロボットへの動作指示システムは、ロボットの動作に関連する情報を入力するための入力装置を備え、前記ロボット制御部は、前記入力装置によって入力された情報に応じて、前記ロボットに動作を指示してもよい。
【００１１】
前記ロボット制御部は、前記入力装置によって移動速度または回転速度が入力された場合、入力された移動速度または回転速度でロボットが移動または回転するように前記ロボットに動作を指示してもよい。
【００１２】
前記ロボット制御部は、前記ロボットを移動させて、前記ロボットの少なくとも１ヶ所の特定部位を少なくとも３ヵ所に移動させたときの、それぞれの移動位置における前記特定部位の前記デジタイザ座標系における座標データと前記ロボット座標系における座標データが与えられた場合に、前記デジタイザ座標系における座標データと前記ロボット座標系における座標データのいずれか一方を前記座標変換によって変換した値と他方の値とが一致するように、前記デジタイザ座標系と前記ロボット座標系との間の前記座標変換を算出するように構成されていてもよい。
【００１３】
前記ロボットはフランジ座標系を有するフランジ部を有し、前記ロボット制御装置は、前記フランジ座標系とロボット座標系との間の座標変換と、前記フランジ部および前記フランジ部より先端側の少なくとも３つの特徴点のデジタイザ座標系における座標データと、前記デジタイザ座標系と前記ロボット座標系の間の座標変換に基づいて、前記フランジ座標系における前記少なくとも３つの特徴点のツールベクトルを算出するとともに記憶し、その後、前記デジタイザが移設され、且つ前記少なくとも３つの特徴点の前記デジタイザ座標系における座標データが与えられた場合に、与えられた３つの特徴点の前記デジタイザ座標系における座標データを前記デジタイザ座標系と前記ロボット座標系の間の座標変換によって変換した値と、記憶した前記フランジ座標系における前記少なくとも３つの特徴点のツールベクトルを前記フランジ座標系とロボット座標系との間の座標変換によって変換した値とが一致するように、前記デジタイザ移設後の前記デジタイザ座標系と前記ロボット座標系との間の前記座標変換を算出するように構成されていてもよい。
【００１４】
前記ロボット制御装置は、予め、空間における所定の領域に所定の動作を割り当てておき、前記指示具によって前記所定の領域内の計測点が指示された場合には、当該割り当てられた動作をロボットに指示してもよい。
【００１５】
本発明のある態様に係るロボットへの動作指示方法は、ロボット座標系を有するロボットへの動作指示方法であって、指示具によって、空間における計測点を指示するステップと、デジタイザ座標系を有するデジタイザによって、前記指示具により指示された計測点の前記デジタイザ座標系における座標データを生成するステップと、前記デジタイザ座標系と前記ロボット座標系の間の座標変換と、前記デジタイザにより生成された計測点の前記デジタイザ座標系における座標データに基づいてロボットに動作を指示するステップと、を含む。
【発明の効果】
【００１６】
本発明により、動作指示システムの作業を容易にすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１に係るロボットへの動作指示システムの構成を示す図である。
【図２】図１の動作指示システムの入力端末の構成を示す図である。
【図３】図１の動作指示システムにおける準備作業の手順の一例を示すフローチャートである。
【図４】図３の準備作業を行う際のシステムの概略図である。
【図５】図１の動作指示システムにおける作業の一例を示すフローチャートである。
【図６】図５の作業を説明するためのシステムの概略図である。
【図７】本発明の実施の形態２の作業を説明するための図である。
【図８】図７のロボットに取り付けられたツール先端を拡大した概略図である。
【図９】ツールの更新登録を説明するためのシステムの概略図である。
【図１０】ロボットへの動作指示システムにおける回転の指示を説明するための概略図である。
【図１１】動作指示システムのデジタイザ移設に伴う新たな座標変換の算出手順の一例を示すフローチャートである。
【図１２】図１１のデジタイザ移設前の手順を説明するためのシステム概略図である。
【図１３】図１１のデジタイザ移設後の手順を説明するためのシステム概略図である。
【図１４】ロボットへのその他の動作の指示を説明するためのシステム概略図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係る実施形態について図面を参照しつつ説明する。
【００１９】
（実施形態の構成）
図１は、本発明の実施の形態１に係るロボットへの動作指示システム１の構成を示している。図１に示すように、ロボットへの動作指示システム１は、ロボット２と、指示具３と、デジタイザ４と、ロボット制御部６と、入力端末７を備え、これらの機器は有線または無線により通信可能に接続されている。このロボットへの動作指示システム１では、作業者１００が指示具３を用いて作業を行う。ロボット制御部６は、ロボット２を駆動するための機器（図示せず）や、情報を記憶するためのメモリー（図示せず）、及び演算を行うための演算部（図示せず）を備えている。ロボット制御部６は単一の装置とは限らず、例えば、ロボット制御部６の一部の機能を実現する装置と、ロボット制御部６の他の機能を実現する他の装置とに分けて構成されてもよい。ロボット制御部６の一部として汎用コンピュータが含まれてもよい。要するに全体としてロボット制御部６の機能を果たすものであればよい。
【００２０】
ロボット２は、ワークＷに対して作業を行うロボットであり、本実施の形態では産業用ロボットを想定しているがこれに限定されず、例えば家庭用のロボットでもよい。本実施の形態では、ロボット２は、床面等の載置面に設置される基台（ベース）１０と、ベース１０から突出するアーム１１とを有する。ベース１０の上面を基準とした座標系をロボット座標系２０ｂと呼ぶ。アーム１１には、ロボット制御部６からの指令により駆動される複数の関節１１ａ〜１１ｄが設けられ、その先端にはフランジ状のツール取付部１１ｅ（以下、「フランジ」ともいう）が設けられている。フランジ１１ｅを基準とした座標系をフランジ座標系２０ｆと呼ぶ。なお、関節は回転駆動されても直動駆動されてもよい。隣接する関節はリンクによって接続される。
【００２１】
関節１１ａ〜１１ｄにはそれぞれの関節の角度を検出可能なエンコーダ（図示せず）などが組み込まれており、関節１１ａ〜１１ｄの角度と、アーム１１を構成するリンクの寸法とにより、フランジ１１ｅのロボット座標系２０ｂにおける位置及び姿勢が特定できるようになっている。フランジ１１ｅにはツール１２が取り付けられている。図１の例では、ツール１２には、先端に尖部を有するエンドミルが使用される。なお、ロボット２の作業対象であるワークＷは、特に限定されない。
【００２２】
なお、以下では、「ロボット２の制御対象点（例えばツール１２の先端）を移動させる」ことを、簡略化して、「ロボット２を移動させる」と表現する場合がある。また、「ロボット２の制御対象部分（例えばツール１２全体）を回転させる」ことを、簡略化して、「ロボット２を回転させる」と表現する場合がある。また、「動作（action）」にはロボット２の移動、回転の他、ハンド開閉等が含まれる。
【００２３】
指示具３は、実空間における計測点を指示する。「計測点」とは、デジタイザ４によって計測されるべき空間上の位置を意味し、「計測点を指示する(indicate)」とは、デジタイザ４に計測すべき空間上の位置を認識させることを意味する。本実施の形態では、指示具３は、ペン形状の部分を有し、作業者１００は、ペン先により実空間における任意の計測点を指示する。指示具３により、ロボット２や、ツール１２、またはワークＷ上の計測点を指示することもできるし、それ以外の計測点を指示することもできる。
【００２４】
また、指示具３は、例えば、先端からビーム状の光、電波、超音波等のエネルギー波を発し、その先端、または、このエネルギー波を照射された物体の部位がデジタイザ４によって認識可能な状態を呈する（例えばスポット状に光る）ような道具（例えばレーザポインタ）であってもよい。この場合における計測点は、レーザポインタやペン先自体、または、レーザポインタやペン先から発せられた光又は電波により示された他の物体上の部位（照射スポット）でもよい。なお、後述するように指示具３は、作業者の指でもよく、計測点は指先の位置でもよい。
【００２５】
デジタイザ４は、指示具３により指示された計測点の、所定の座標系（以下、「デジタイザ座標系２０ｄ」と呼ぶ）における座標データを生成する装置の総称である。デジタイザ４は、公知のものを用いることができる。本実施の形態では、デジタイザ４は、いわゆるステレオビジョン方式のデジタイザであって、左右２台の撮像装置（図示せず）と、演算手段（図示せず）とを有する。デジタイザ４は、各撮像装置によって生成された画像データを三角測距に基づいて演算処理することにより測定点の座標データ（ｘ，ｙ，ｚ）を生成し、生成した測定点の座標データをロボット制御部６に出力する。なお、デジタイザは、磁気検知方式又はレーザー干渉計を用いた方式その他の公知のものを使用してもよい。また、作業者の指を指示具３とする場合には、例えば公知の製品であるLeap Motion Controller（登録商標）により、上向きに設置された２台の赤外線カメラで３次元撮影を行い、その画像から空間上の指先の位置を計測点として座標データを生成してもよい。
【００２６】
ロボット制御部６は、手動モードにおいては、指示具３によって指示された計測点の情報に基づいてロボット２の動作を制御する。ロボット制御部６は、動作プログラムに従ってロボット２の動作を制御する自動モードを有してもよい。また、ロボット制御部６は、デジタイザ４により生成された計測点のデジタイザ座標系２０ｄにおける座標データをロボット座標系２０ｂにおける座標データに変換し、当該変換された座標データに基づいて移動軌跡を算出してロボット２に動作を指示する。
【００２７】
なお、デジタイザ座標系２０ｄとロボット座標系２０ｂの位置と向きはそれぞれ任意に設定でき、両方の座標系が一致する場合もあり得る。この場合には、これらの座標系の間の座標変換は、一方の座標系における座標データをそのまま他方の座標系における座標データとすることを意味する。これは、単位行列である座標変換行列によって座標変換を行うことと等価である。
【００２８】
入力端末７は、作業者１００が動作に関連する情報をロボット制御部６に入力するために用いる入力装置である。ロボット制御部６は、入力端末７から出力される情報に応じてロボット２に動作を指示する。入力端末７については後で詳しく説明する。
【００２９】
図２は、入力端末７の構成を示した斜視図である。図２に示すように、入力端末７は、各種のキー７１ａ〜７１ｄが設けられた本体部７１と、作業者１００が入力端末７を保持するための保持部７２とを備える。キー７１ａは、ツールを切り替え又は更新するためのキーである（以下、「ツール切替／更新キー」ともいう）。キー７１ｂは、ロボット２の動作を移動と回転との間で切り替えるためのキーである（以下、「移動／回転切替キー」ともいう）。キー７１ｃは、実空間の所定の領域に予め割り当てられた所定の動作をロボット２に指示するためのキーである（以下、「割り当て動作キー」ともいう）。キー７１ｄは、ロボット２の移動速度を変更するためのものである（以下、「速度ボリューム」ともいう）。このボリュームの回転量に応じてロボットの移動速度または回転速度が変化し、様々な速度でロボットを動作させることができる。ここで、移動速度または回転速度がゼロである場合は「停止」を意味する。また、キー７１ｄは、一方に操作すると操作量に応じて正方向にロボット２が移動し、他方に操作すると操作量に応じて負方向にロボット２が移動するように構成してもよい（以下、「ジョグ送り」と呼ぶ）。手をキー７１ｄから離すとロボット２が停止するように構成してもよいし、手をキー７１ｄから離すとキー７１ｄが予め定められた位置（例えば移動速度がゼロになる位置）に戻るように構成してもよい。本実施の形態では、入力端末７は、各種キー７１ａ〜７１ｄにより入力された情報に基づいてロボット制御部６に情報を出力するように構成されている。
【００３０】
以上の構成により、作業者１００が、目視でロボット２の動作を確認しながら入力端末７を用いて作業を行うことができる。特に、作業者１００は、速度ボリュームを操作することにより、ツールとワークが接触する前にロボット２の速度を低速にしたり、ロボット２を停止させたりすることができる。
【００３１】
（準備作業）
次に、ロボットへの動作指示システム１における作業について説明する。作業者１００は、作業に先立ってロボット座標系２０ｂとデジタイザ座標系２０ｄの間の座標変換を算出する準備作業を行う。図３は、ロボットへの動作指示システム１における準備作業の手順の一例を示すフローチャートである。図４は、図３の準備作業を行う際のシステムの概略図である。
【００３２】
まず、ロボット制御部６は、ロボット２上の点（例えばツール１２の先端）の、ロボット座標系２０ｂにおける座標データbX1を、関節１１ａ〜１１ｄの角度、アーム１１を構成するリンクの寸法及びツール１２の寸法から算出する（ステップ３１）。次に、作業者１００がロボット２上の当該点を指示具３で指示し、デジタイザ４が指示具３により指示された計測点の、デジタイザ座標系２０ｄにおける座標データdX1を生成する（ステップ３２）。作業者１００は、ロボット２を移動させる（ステップ３３）。ここまでのステップを少なくとも３回繰り返すことで、座標データbX1〜bX3及び座標データdX1〜dX3が得られる。次に、ロボット制御部６は、座標データdX1〜dX3を座標変換行列bRdによって変換したものが、それぞれ座標データbX1〜bX3に一致するように、または、一致しないまでも両者の誤差が最小になるように、座標変換行列bRdを算出する（ステップ３４）。座標変換行列bRdの「b」はロボット座標系２０ｂ、「d」はデジタイザ座標系２０ｄをそれぞれ意味し、「bRd」はロボット座標系２０ｂとデジタイザ座標系２０ｄの間の座標変換行列であることを意味している。特に断りのない限り以下同様に記述する。また、以下の説明においてロボット座標系２０ｂとデジタイザ座標系２０ｄの間の座標変換行列は、準備作業によって予め算出されているものとする。
【００３３】
フランジ１１ｅにツール１２が取り付けられている場合には、座標データbX1〜bX3は、フランジ座標系２０ｆにおけるフランジ位置からツール１２の所定の点(例えば先端)までのツールベクトルfXtと、フランジ座標系２０ｆとロボット座標系２０ｂの間の座標変換行列bRfとにより、式（１）〜（３）のように算出される。以下では、行列とベクトルとの積を*で表す。座標変換行列bRfの「b」はロボット座標系２０ｂ、「f」はフランジ座標系２０ｆをそれぞれ意味しており、特に断りのない限り以下同様に記述する。
bX1  = bRf1 * fXt  ・・・（１）
bX2  = bRf2 * fXt  ・・・（２）
bX3  = bRf3 * fXt  ・・・（３）
【００３４】
ここで、ツールベクトルfXtは予め設計情報に基づく計算や計測等により求められてロボット制御部６に記憶される。また、座標変換行列bRfは、ロボット２のエンコーダ値とリンクの寸法とからロボット制御部６により算出される。式（１）〜（３）において、座標変換行列bRfに添え字１〜３を付して区別しているのは、ステップ３３におけるロボット２の移動によりロボット２のエンコーダ値が変化するためである。これに対して式（１）〜（３）においてツールベクトルfXtの値は同一としている。
【００３５】
なお、以上に説明した準備作業は一例であり、ロボット２とデジタイザ４の相対的な位置・姿勢を計測すること等によって座標系の間の変換を算出してもよい。
【００３６】
（移動の指示）
次に、ロボット２に移動を指示する場合について図５及び図６を用いて説明する。ロボットへの動作指示システム１における作業は座標変換行列bRdを使用して行われる。図５は、ロボットへの動作指示システム１における作業の一例を示すフローチャートである。図６は、図５の作業を説明するためのシステムの概略図である。
【００３７】
まず、図６（ａ）に示すように、ロボット２の制御対象点Ｐ１（以下、「点Ｐ１」と呼ぶ）の座標データbX1が指定される（ステップ５１）。作業者１００は、指示具３によりロボット２上（例えばツール１２の先端）の点Ｐ１を指示する。デジタイザ４が指示具３により指示された計測点の、デジタイザ座標系２０ｄにおける座標データdX1を生成する。その上で、生成された座標データdX1と、座標変換行列bRdに基づいて座標データbX1が次式（４）により算出される。点Ｐ１の座標データbX1を指定する方法は、後で説明するその他の方法でもよい。
bX1  = bRd * dX1  ・・・（４）
【００３８】
次に、図６（ｂ）に示すように、作業者１００は、指示具３によりワークＷ上の目標点Ｐ２を指示し、デジタイザ４が指示具３により指示された計測点の、デジタイザ座標系２０ｄにおける座標データdX2を生成する（ステップ５２）。次に、図６（ｃ）に示すように、ロボット制御部６は、座標データdX2と、座標変換行列bRdに基づいて次式（５）により座標データbX2を算出し、目標点Ｐ２と、ロボット２に動作を指示する前の点Ｐ１（以下、「出発点Ｐ１’」と呼ぶ）を結んだ移動軌跡（図の二点鎖線矢印）に沿って、点Ｐ１が移動するようにロボット２に動作を指示する（ステップ５３）。
bX2  = bRd * dX2  ・・・（５）
【００３９】
点Ｐ１を指定するその他の方法として、例えば、（ａ）点Ｐ１の情報を予めロボット制御部６に記憶させておく方法、（ｂ）指示具３によってロボット２上以外の点を指示する方法が存在する。要するに、ロボット２の制御対象点を指定できればよい。以下、（ａ）、（ｂ）について説明する。
【００４０】
（ａ）点Ｐ１の情報を予めロボット制御部６に記憶させておく方法
例えば、点Ｐ１の情報をフランジ座標系２０ｆにおけるフランジ位置からロボット２上（例えばツール１２の先端）の点までのツールベクトルfXtの形で予めロボット制御部６に記憶させておき、そのツールベクトルfXtと、座標変換行列bRfに基づいて座標データbX1が次式（４−１）により算出されてもよい。
bX1  = bRf * fXt  ・・・（４−１）
【００４１】
（ｂ）指示具３によってロボット２上以外の点を指示する方法
作業者１００は、指示具３によりロボット２上以外の点（例えばツール１２の近傍）の点Ｐ１を指示する。デジタイザ４が指示具３により指示された計測点の、デジタイザ座標系２０ｄにおける座標データdX1’を生成する。その上で、生成された座標データdX1’と、座標変換行列bRdに基づいて座標データbX1が次式（４−２）により算出されてもよい。
bX1  = bRd * dX1’  ・・・（４−２）
【００４２】
このように、ロボット２上以外の点をロボット２上の点とみなしてロボット２の制御対象点とすることもできるが、座標データdX1’をロボット２上の点に対応付けて、対応付けられたロボット２上の点の座標データをdX1とし、上記の（ｂ）と同様に座標データbX1を算出することもできる。例えば、座標データdX1’が表す点から最も近いロボット２上の点の座標データをdX1とすることができる。
【００４３】
移動に際して、ロボット２を、入力端末７の「速度ボリューム」の操作量に応じた速度で移動させることができる。あるいは、入力端末７にジョグ送り用のキーまたはボリューム（図示せず）を設け、その操作量に応じた移動量だけ点Ｐ１を移動させることもできる。この場合、例えば点Ｐ１は、出発点Ｐ１’と目標点Ｐ２を結ぶ直線上を移動する。点Ｐ１は、出発点Ｐ１’と目標点Ｐ２の間のみならず、出発点Ｐ１’から見て目標点Ｐ２の反対側や、目標点Ｐ２から見て出発点Ｐ１’の反対側に移動してもよい。
【００４４】
上記ステップ５１〜５３で説明したような構成により、実際のロボット２のツール１２やワークＷを指示具３で指示するだけでロボット２の移動方向を決定し、ロボット２に動作を指示することができる。よって、作業者は座標系やツール設定を意識することなく、直感的且つ効率的に作業を行うことができる。
【００４５】
なお、指示具３が物体（例えばツール１２やワークＷ）に当接（タッチ）したことを検知する当接検知手段（例えば接触センサ）を指示具３に設けておき、デジタイザ４による計測点の計測を、当接検知手段の出力に基づいて行ってもよい。また、デジタイザ４による計測タイミングを入力するためのキー（図示せず）を指示具３や入力端末７に設けておき、当該キーが操作されたタイミングでデジタイザ４による計測点の計測を行ってもよい。
【００４６】
点Ｐ１と目標点Ｐ２が指示具３によって指示される場合、点Ｐ１と目標点Ｐ２は、それぞれの計測点の計測順によって区別するように構成することができる。また、点Ｐ１のデジタイザ４による計測タイミングを入力するためのキー（図示せず）と目標点Ｐ２のデジタイザ４による計測タイミングを入力するためのキー（図示せず）を指示具３や入力端末７に設けておき、当該キーの操作に基づいて点Ｐ１の計測タイミングと目標点Ｐ２の計測タイミングを区別するように構成されてもよい。計測点がロボット２やツール１２の存在範囲の近傍であるか、あるいはワークＷの存在範囲の近傍であるかによって点Ｐ１と目標点Ｐ２を区別するように構成されてもよい。
【００４７】
以上の説明ではロボット２の移動軌跡を、出発点Ｐ１’と目標点Ｐ２を結ぶ直線としたが、他にも各種の移動軌跡を採用可能である。例えば、出発点Ｐ１’から目標点Ｐ２への移動時間が最短となる移動軌跡や、出発点Ｐ１’と目標点Ｐ２の間に存在する障害物を回避する移動軌跡としてもよい。出発点Ｐ１’と目標点Ｐ２を結ぶ移動軌跡の種類を入力するためのキー（図示せず）を指示具３や入力端末７に設けることにより、移動軌跡の種類を選択可能としてもよい。更に、点Ｐ１が移動する際に、ツール１２が姿勢を変えずに平行移動するようにしてもよいし、ツール１２が姿勢を変えるようにしてもよい。
【００４８】
次に、具体的な作業の例について図７を用いて説明する。図７（ａ）に示すように、この例において、点Ｐ１の情報は、フランジ座標系２０ｆにおけるフランジ位置からツール１２の先端までのツールベクトルfXtの形で予めロボット制御部６に記憶されている。作業者１００は、指示具３により目標点Ｐ２を指示し、デジタイザ４が指示具３により指示された目標点Ｐ２の、デジタイザ座標系２０ｄにおける座標データdX2を生成する。次に、ロボット制御部６は、生成された座標データdX2、ロボット制御部６に記憶されたツールベクトルfXt、座標変換行列bRd、ロボット制御部６によって算出される座標変換行列bRf1を用いて、式（６）、（７）により座標データbX1,bX2を算出する。
bX1 = bRf1 * fXt・・・（６）
bX2 = bRd * dX2・・・（７）
【００４９】
そして、ロボット制御部６は、点Ｐ１が、出発点Ｐ１’から目標点Ｐ２に向かって移動するようにロボット２に動作を指示する。次に、図７（ｂ）に示すように、作業者１００は、指示具３により新しい目標点Ｐ２ａを指示し、デジタイザ４が指示具３により指示された新しい目標点Ｐ２ａの、デジタイザ座標系２０ｄにおける座標データdX2aを生成する。次に、ロボット制御部６は、生成された座標データdX2a、ロボット制御部６に記憶されたツールベクトルfXt、座標変換行列bRd、ロボット制御部６によって算出される座標変換行列bRf2を用いて、式（６）、（７）と同様に新しい座標データbX1,bX2を算出する。そして、ロボット制御部６は、点Ｐ１が新しい目標点Ｐ２ａに向かって移動するようにロボット２に動作を指示する。以下、同様にして次々と新しい目標点Ｐ２ａを指示することでロボット２に動作を指示する。
【００５０】
以上の説明において、ロボット制御部６にツールベクトルfXtを記憶させるのは、ツールベクトルがロボット２の関節１１ａ〜１１ｄの角度によらず一定であるためである。つまり、ツールベクトルの情報を記憶しておけば、関節１１ａ〜１１ｄの角度から算出される座標変換行列bRfを用いることで、ロボット座標系２０ｂにおける点Ｐ１点の座標データbX1を算出することができる。このように、フランジ１１ｅには、関節１１ａ〜１１ｄの角度変化の影響を受ける基端側と、関節１１ａ〜１１ｄの角度変化の影響を受けない先端側の境界という意味がある。言い換えれば、以上の説明において、フランジ１１ｅを基準として説明した事項（例えばフランジ座標系２０ｆに関する事項）は、説明中の「フランジ１１ｅ」を、関節１１ａ〜１１ｄの角度変化の影響の有無を分ける境界領域内（以下、「フランジ部」と呼ぶ）の任意の点に置き換えても成立する。なお、「ツール１２」は、フランジ部より先端側に存在し、フランジ部を含んでもよい。
【００５１】
次に、図８に示すように、先端部が円筒状（例えば溶接トーチ）であるツール１２の、ツール先端１２ａの縁をワークＷの平面上に接触させる位置までツール１２を移動させる場合について説明する。点Ｐ１は円筒部先端の中心に存在するとする。この場合に、目標点であるワークＷの平面上の点を、新しい目標点Ｐ２ａとして指示してロボット２に動作を指示すると、図８（ａ）に示すように、ワークＷにツール１２の先端１２ａが干渉する。そこで、図８（ｂ）に示すように、円筒の縁（接触させたい部位）を新たな点Ｐ１としてロボット制御部６に記憶させる必要がある。そのためには、図９に示すように、まず、作業者１００は、指示具３により新たな点Ｐ１を指示し、デジタイザ４が指示具３により指示された点Ｐ１の、デジタイザ座標系２０ｄにおける座標データdX1を生成する。次に、ロボット制御部６は、座標変換行列bRd,bRfを用いて、式（８）、（９）によりツールベクトル（フランジ１１ｅから点Ｐ１までのベクトル）fXt_newを算出し、これをロボット制御部６に記憶させる。これを「ツールの更新」と呼ぶ。ここでinv(bRf1)はbRf1の逆行列である。
bX1 = bRd * dX1・・・（８）
fXt_new  = inv(bRf) * bX1・・・（９）
【００５２】
以上の説明では、点Ｐ１が、出発点Ｐ１’から目標点Ｐ２に向かって移動する場合について説明したが、点Ｐ１が目標点Ｐ２に向かって移動する途中にロボット２を停止させつつ、新しい目標点Ｐ２ａを指示することもできる。具体的には次の通りである。すなわち、ロボット２が停止された状態における座標変換行列bRfを、ロボット制御部６が算出する。作業者１００は、指示具３により新しい目標点Ｐ２ａを指示し、デジタイザ４が指示具３により指示された新しい目標点Ｐ２ａの、デジタイザ座標系２０ｄにおける座標データdX2aを生成する。次に、ロボット制御部６は、生成された座標データdX2a、記憶されたツールベクトルfXt、算出された座標変換行列bRf、及び座標変換行列bRdを用いて、式（６）、（７）と同様に座標データbX1、bX2を算出する。そして、ロボット制御部６は、点Ｐ１が、出発点Ｐ１’から目標点Ｐ２に向かって移動するように前記ロボットに動作を指示する。
【００５３】
このようにすることで、点Ｐ１が、出発点Ｐ１’から目標点Ｐ２に向かって移動する途中に、作業者１００がロボット２を停止させ、作業者１００が新しい目標点Ｐ２ａを指示した場合でも、点Ｐ１を容易に正しい位置に移動させることができる。
【００５４】
ここで、点Ｐ１の複数の候補の情報をロボット制御部６に記憶させておき、使用する点Ｐ１を切り替えられるようにしてもよい。これを「ツールの切り替え」と呼ぶ。このようにすることで、複数のツールにおける点Ｐ１の情報や、単一のツールに対する点Ｐ１の複数の候補の情報をロボット制御部６に記憶させることができる。以上説明したようなツールの更新やツールの切り替えは、入力端末７のツール切替／更新キー７１ａが押されることを契機に実行されてもよい。例えば、ツール切替キー７１ａが押される度に点Ｐ１の複数の候補の中で選択されているものが切り替わるようにしてもよいし、ツール切替キー７１ａが押されると、入力端末７のタッチパネル（図示せず）に点Ｐ１の複数の候補が表示され、タッチパネルを操作することにより点Ｐ１の複数の候補の中から選択できるようにしてもよい。
【００５５】
（回転の指示）
以下では、ロボット２に回転を指示する場合について説明する。図１０（ａ）は、回転の指示を説明するための概略図である。まず、移動から回転に切り換えるために、入力端末７に設けられた「移動／回転切替キー」７１ｂを回転側に切り替える。次に、回転軸の方向を指定する。ここでは図１０（ａ）に示すように点Ｐ３（第３の計測点）と点Ｐ４（第４の計測点）を指示具３（ペン先）で指定する。例えばツール１２上のエッジと平行な回転軸を指定したい場合は、当該ツール１２のエッジ上の点Ｐ３にペン先を合わせた状態でデジタイザ４に座標データdX3を生成させた後、ツール１２のエッジ上の別の点Ｐ４をペン先で合わせた状態でデジタイザ４に座標データdX4を生成させる。次に、回転軸の位置を指定する。ここではワークＷ上の点Ｇ（第５の計測点）にペン先を合わせた状態でデジタイザ４に座標データdX5を生成させる。ロボット制御部６は、座標変換行列bRd及び生成された座標データdX3〜dX5に基づいて、点Ｐ３と点Ｐ４を結ぶ直線と同じ方向で、且つ点Ｇを通る回転軸を算出する。図１０（ｂ）は、図１０（ａ）に示すように算出された回転軸周りにツール１２を回転させた場合の模式図である。この模式図は図１０（ａ）の矢印Ａ方向から見たツール１２とワークＷを示している。実際に回転させる場合には、ロボット２を、入力端末７の「速度ボリューム」の操作量に応じた速度で回転させることができる。
【００５６】
以上のような構成により、所望の回転軸を容易に設定し、回転をロボット２に指示することができる。
【００５７】
以上の説明では、回転される対象をツール１２全体としたが、回転される対象は予め設定されたロボットの一部でさえあればよく、ツール１２全体に限定されない。
【００５８】
また、第５の計測点を指示せず、第３の計測点と第４の計測点を通る直線を回転軸としてもよい。第５の計測点として、ツール１２の先端等を予め指定しておいてもよい。回転方向として、第３の計測点から第４の計測点に向かう方向に対して、所謂右ネジの回転方向を正の回転方向、その逆を負の回転方向としてもよい。
【００５９】
（教示）
ロボットに移動や回転の動作を指示し、ロボットが所望の位置・姿勢となったときに、その時点でのロボットの位置・姿勢、または関節角度をロボット制御部６に記憶させる（このことを「教示」と呼ぶ）ようにしてもよく、教示のためのキー（図示せず）を指示具３や入力端末７に設けてもよい。
【００６０】
（デジタイザの移設）
以下では、ロボットへの動作指示システム１においてデジタイザ４を移設する場合について説明する。図１１は、デジタイザ４の移設に伴う新たな座標変換行列の算出手順の一例を示すフローチャートである。ここで作業者１００は、予め上記実施の形態１と同様な手順で移設前のデジタイザ４についての座標変換行列bRdを算出しておくものとする。図１２は、デジタイザ移設前の手順を説明するためのシステム概略図である。図１２に示すように、作業者１００は、指示具３によりフランジ１１ｅより先端側（例えばツール１２）の、少なくとも３つの特徴点を指示し、デジタイザ４により座標データdXp1〜dXp3を生成する（ステップ１０１）。ここで、「特徴点」とは、デジタイザ４の移設前後に指示具３によって指示される点であって任意の点とすることができるが、部材の角部や（図１２を参照）、マーキングされた点等、作業者が容易に指示できる特徴を有する点とすることが好ましい。
【００６１】
そして、ロボット制御部６は、フランジ座標系２０ｆとロボット座標系２０ｂの間の座標変換行列bRf3を算出（ステップ１０２）する。次に、ロボット制御部６は、生成されたdXp1〜dXp3と算出された座標変換行列bRf3に基づいてフランジ１１ｅから各特徴点までのツールベクトルfXp1〜fXp3を算出して記憶する（ステップ１０３）。
【００６２】
次に、作業者１００は、デジタイザ移設後の作業を行う。図１３は、デジタイザ移設後の手順を説明するためのシステム概略図である。図１３に示すように、作業者１００は、指示具３により以上に説明した手順で指示された特徴点を再度指示し、移設後のデジタイザ４により計測して、座標データaXp1〜aXp3を生成する（ステップ１０４）。そして、ロボット制御部６は、座標変換行列bRf4を算出し、記憶したツールベクトルfXp1〜fXp3と算出した座標変換行列bRf4に基づいて次式（１０）〜（１２）を用いてロボット座標系における座標データを算出する。
bXp1 = bRf4 * fXp1・・・（１０）
bXp2 = bRf4 * fXp2・・・（１１）
bXp3 = bRf4 * fXp3・・・（１２）
【００６３】
次に、ロボット制御部６は、移設後のデジタイザ４により生成された座標データaXp1〜aXp3を座標変換行列bRd_newによって変換したものが、それぞれ算出された座標データbXp1〜bXp3に一致するように新しい座標変換行列bRd_newを算出する（ステップ１０５）。
【００６４】
この手順によると、デジタイザ４を移設した後、作業者１００は指示具（ペン先）３で特徴点を３点タッチするだけで座標変換行列を更新することができるので、作業が容易である。特に、ロボットへの動作指示システム１において小型でポータブルなデジタイザ４を使用する場合や、デジタイザ４の現在位置からは計測できない計測点を指示したい場合等には効果がある。
【００６５】
なお、この手順はデジタイザ４の移設前後でロボット２の姿勢が変化する場合（座標変換行列bRf3と座標変換行列bRf4が異なる場合）と、変化しない場合（座標変換行列bRf3と座標変換行列bRf4が同一の場合）のどちらにも適用することができる。デジタイザ４の移設前後でロボット２の姿勢が変化しない場合には、指示具３によって指示される特徴点の、デジタイザ座標系２０ｄにおける座標データを、デジタイザ４の移設前後において比較することでデジタイザ４の移動量と回転量またはこれらと等価な情報を算出し、算出された情報と、デジタイザ移設前の座標変換行列bRdに基づいて新しい座標変換行列bRd_newを算出することもできる。
【００６６】
（動作割当機能）
上記ロボットへの動作指示システム１では、移動又は回転だけでなく他の動作もロボットに指示することができる。実空間の所定の領域に予め所定の動作を割り当てておき、当該領域内をデジタイザのペン先で指示した状態で入力端末７の「割り当て動作キー」を押した場合に、割当てられた動作がロボット２に指示される。
【００６７】
図１４は、ロボットへの動作指示システムにおいてその他の動作指示方法を説明するためのシステム概略図である。ここでは関節１１ｂ付近の所定の領域に、関節１１ｂを単独で駆動させる動作を割り当てた一例を示している。例えば、図１４に示すように、指示具３で関節１１ｂ付近の領域２１を指示した状態で入力端末７の「割り当て動作キー」を押した場合に、関節１１ｂを単独で駆動させるようにする。例えば、入力端末７の「速度ボリューム」の操作量に応じた回転速度で関節１１ｂが単独で駆動されるようにしてもよい。同様に、関節１１ｂ以外の関節についても関節付近の所定の領域に当該関節を単独で駆動させる動作を割り当てることもできる。
【００６８】
所定の領域に割り当てる動作としては、関節の単独駆動の他、ロボット座標系基準での運動やハンドの開閉等の動作等が採用され得る。これにより、作業者が、入力装置を用いて、所望の動作をロボットに容易に指示することができる。
【００６９】
また、ロボットの動作範囲外の領域を所定の領域として動作を割り当ててもよい。これにより、ロボットの移動の指示と、所定の領域に割り当てられた動作の指示を容易に区別することができる。
【００７０】
（その他の実施の形態）
なお、実施の形態では入力端末７は、各種キーが設けられた本体部７１と、作業者が保持する保持部７２からなる構成としたが、保持部７２は作業者の腕に巻き付けて使用可能なリストバンドとし、本体部７１をリストバンドに取り付ける構成にしてもよい。また、入力端末７は、デジタイザ４の指示具３（ペン）と独立に構成されるとしたが、指示具３（ペン）と一体に構成されてもよい。指示具３または入力端末７が表示部（図示せず）を有し、指示具３によって指示すべき対象が表示部に表示されてもよい。指示具３、入力端末７またはロボット制御部６が音声システム（図示せず）を有し、指示具３によって指示すべき対象が音声によって案内されてもよい。この場合、音声による案内を開始するためのキーを指示具３または入力端末７に設けてもよい。
【００７１】
また、指示具３や入力端末７は、教示用ペンダントと併用されてもよく、教示用ペンダントを兼ねていてもよい。
【００７２】
また、指示具３や入力端末７にデッドマンスイッチを設けてもよい。
【００７３】
また、上記説明では指示具３は実空間における計測点を指示することとしたがこれに限定されず、ヴァーチャルリアリティー空間等、実空間以外の空間における計測点を指示してもよい。いずれの場合にも、作業者が３次元空間におけるロボット２を直接指示することで、直感的で効率的な動作指示が可能になる。
【００７４】
指示具３は、指示のための点を２つ以上有してもよい。このようにすることで、動作の方向や回転軸を容易かつ直接的に指定できるようになる。例えば、指示のための一方の点をツール１２の先端に位置させ、指示のための一方の点から指示のための他方の点に向かう方向が、ツール１２の先端を移動させたい方向になるように、指示のための他方の点を位置させることで、ツール１２の先端を所望の方向に移動させるようにロボット２に指示できるように構成してもよい。また、指示のための一方の点と指示のための他方の点を結ぶ直線の方向を、ロボット２の回転軸の方向としてロボット２に回転を指示できるように構成してもよい。
【００７５】
指示具３による目標点Ｐ２や新しい目標点Ｐ２ａの指示は連続的にあるいは任意の制御サイクル毎に行われてもよい。このようにすると、点Ｐ１が、指示具３の指示のための点を追いかけるようにロボット２に動作を指示できる。
【００７６】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の少なくとも一方の詳細を実質的に変更できる。
【産業上の利用可能性】
【００７７】
本発明は、ロボットへの動作指示に用いることができる。
【符号の説明】
【００７８】
１  ロボットへの動作指示システム
２  ロボット
３  指示具
４  デジタイザ
６  ロボット制御部
７  入力端末
１０  基台（ベース）
１１  アーム
１２  ツール
１５  作業台
２０ｂ  ロボット座標系
２０ｆ  フランジ座標系
２０ｄ  デジタイザ座標系
２１  割当領域
【図１】
0006457208.tif 000002
【図２】
0006457208.tif 000003
【図３】
0006457208.tif 000004
【図４】
0006457208.tif 000005
【図５】
0006457208.tif 000006
【図６】
0006457208.tif 000007
【図７】
0006457208.tif 000008
【図８】
0006457208.tif 000009
【図９】
0006457208.tif 000010
【図１０】
0006457208.tif 000011
【図１１】
0006457208.tif 000012
【図１２】
0006457208.tif 000013
【図１３】
0006457208.tif 000014
【図１４】
0006457208.tif 000015