(57)【要約】  ロボットのダイレクト教示中にアームの各制御軸（Ｊ）の軸角度（θ１）を検出し、各軸角度（θ１）に基づいてアーム又はツールに規定された標準点（Ｋ）の現在位置（Ｐｒ）を求め、現在位置（Ｐｒ）を所定の移動経路（移動方向）に投影した位置を目標位置（Ｐｃｏｍ）とする位置指令値（Ｔｃｏｍ）を生成し、この位置指令値（Ｔｃｏｍ）に基づいて各制御軸（Ｊ）を駆動することを、各制御軸（Ｊ）について位置指令値（Ｔｃｏｍ）と対応する指令角度（θｃｏｍ）と検出された軸角度（θ）との偏差、又は、位置指令値（Ｔｃｏｍ）と検出された軸角度（θ）と対応する標準点（Ｋ）の現在位置（Ｐｒ）との偏差が所定値以下になるまで繰り返し、この偏差が所定値以下になったあとでアームの位置情報をロボットに教示する。
2017064851.tif 000002
【特許請求の範囲】
【請求項１】
ツールが装着された少なくとも１本のロボットアームを備えたロボットに対し、教示者が前記ロボットアーム又は前記ツールを直接的に力を加えることによって動かして位置を教示するダイレクト教示方式のロボット教示方法であって、
前記ロボットアーム又は前記ツールに規定された標準点の移動を所定の移動経路上に制限し、
前記教示者が前記ロボットアーム又は前記ツールを動かしている間に、前記ロボットアームの各制御軸の軸角度を検出し、前記軸角度に基づいて前記標準点の現在位置を求め、前記現在位置を前記所定の移動経路に投影した位置を目標位置とする位置指令値を生成し、前記位置指令値に基づいて前記各制御軸を駆動することを、前記各制御軸について前記位置指令値と対応する軸角度と検出された軸角度との偏差、又は、前記位置指令値と検出された軸角度と対応する前記標準点の現在位置との偏差が所定値以下になるまで繰り返し、
前記偏差が前記所定値以下になったあとで前記ロボットアームの位置情報を前記ロボットに教示する、
ロボット教示方法。
【請求項２】
前記各制御軸の位置ゲイン及び速度ゲインが任意に設定可能である、請求項１に記載のロボット教示方法。
【請求項３】
前記制御軸のうち少なくとも一つに対して重力補償演算を行い、その演算結果を当該制御軸のトルク指令値に加算する、請求項１又は２に記載のロボット教示方法。
【請求項４】
前記教示者が前記ロボットアーム又は前記ツールを動かす前に、前記各制御軸の軸角度に基づいて前記ツールの初期姿勢を求め、前記教示者が前記ロボットアーム又は前記ツールを動かしている間に前記ツールの前記初期姿勢が維持されるように前記各制御軸の前記指令値を生成する、請求項１〜３のいずれか一項に記載のロボット教示方法。
【請求項５】
前記標準点の移動が前記所定の移動経路に制限される制限モードと、前記標準点の移動が前記所定の移動経路に限定されないフリーモードとを選択可能である、請求項１〜４のいずれか一項に記載のロボット教示方法。
【請求項６】
前記標準点の前記所定の移動経路が、基本座標系でのｘｙｚ直交３軸方向のいずれか、又は、ツール座標系のｘｙｚ直交３軸方向のいずれかと平行な直線上である、請求項１〜５のいずれか一項に記載のロボット教示方法。
【請求項７】
前記標準点の前記所定の移動経路が、基本座標系でのｘｙｚ直交３軸のうち２つの組み合わせ、又は、ツール座標系のｘｙｚ直交３軸のうち２つの組み合わせにより規定される平面と平行な平面上である、請求項１〜５のいずれか一項に記載のロボット教示方法。
【請求項８】
前記標準点の前記所定の移動経路が、基本座標系でのｘｙｚ直交３軸のいずれか、又は、ツール座標系のｘｙｚ直交３軸のいずれかを回転の中心とする回転軌跡上である、請求項１〜５のいずれか一項に記載のロボット教示方法。
【請求項９】
前記現在位置から前記位置指令値を生成することが、
前記所定の移動経路上の移動ベクトルを求め、
前記移動ベクトルが新たな座標系のｘｙｚ直交３軸のいずれかと平行となるように、基本座標系を前記新たな座標系に変換する座標変換行列を求め、
前記基本座標系の前記標準点の前記現在位置を前記新たな座標系に座標変換し、
前記新たな座標系の前記現在位置を前記所定の移動経路に投影した位置を前記新たな座標系の目標位置とし、その目標位置を前記基本座標系に座標変換して前記目標位置を求めることを含む、
請求項１に記載のロボット教示方法。
【請求項１０】
ロボットアーム上に設定された標準点を移動させるロボットアーム制御装置であって、
前記ロボットアームの各制御軸の軸角度を検出し、
前記軸角度に基づいて前記標準点の現在位置を求め、
前記現在位置を予め記憶された移動経路に投影した投影位置を求め、
前記投影位置に基づいて位置指令値を生成し、
前記位置指令値に基づいて前記標準点を更に移動させる、
ロボットアーム制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの教示方法及びロボットアーム制御装置に関する。
【背景技術】
【０００２】
従来、産業用ロボットの動作プログラムはロボットへの教示によって作成され、ロボットはティーチングプレイバック機能を有する。上記のような産業用ロボットの教示方式の一つとして、ダイレクト教示方式が知られている。ダイレクト教示方式では、教示者がロボットのアームを教示したい位置まで手動で動かし、ロボット自身が位置センサの位置情報（即ち、教示位置）を記憶することによって教示が行われる。特許文献１及び２では、この種のロボットの教示に関する技術が示されている。【０００３】
特許文献１に係るダイレクト教示方式ロボットは、リスト部に加わる力を検出する力覚センサが該リスト部に設けられ、この検出信号を入力とするコンプライアンス制御によって動作し、教示者がツールに力を加えることによってロボットを移動させ、教示者の意図する位置に手操作でツールを位置づけて位置情報をロボットに入力するものである。このロボットでは、ツールの先端の移動に際し、ロボットの動作を拘束されない自由な動きと、特定の直線上、或いは面上に拘束される動きを選択できる。【０００４】
また、特許文献２に係るロボット教示装置は、ロボットが教示する位置姿勢となるように該ロボットを押圧力に従って移動させ、移動後のロボットの位置姿勢を教示するものである。このロボット教示装置では、ロボットが所定の有効領域内にあるときに、ロボットに加えられた外力を検出又は推定し、検出又は推定された外力に基づく移動が許可される。そして、この移動は、特定方向への移動及び／又は特定方向の回りの姿勢変更に制限されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１４１５８０号公報
【特許文献２】特開２００５−２９３０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１，２の技術では、リスト部やツールに加わる外力を検出又は推定して、その外力に応じてツールを移動させるようにロボットが動作する。そのために、ロボットは力覚センサを備えており、制御が複雑となる。また、ロボットが検出された外力に基づいて動作するので、教示者がロボットアーム又はツールを直接的に力を与えて動かすにあたり、ロボットアーム又はツールの位置の微調整が難しい。【０００７】
本発明は以上の事情に鑑みてされたものであり、その目的は、ロボットのダイレクト教示において、教示者がロボットアーム又はツールを直接的に力を与えて動かす際の、ロボットアーム及び／又はツールの操作性を向上させることにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るロボット教示方法は、ツールが装着された少なくとも１本のロボットアームを備えたロボットに対し、教示者が前記ロボットアーム又は前記ツールを直接的に力を加えることによって動かして位置を教示するダイレクト教示方式のロボット教示方法であって、
前記ロボットアーム又は前記ツールに規定された標準点の移動を所定の移動経路上に制限し、
前記教示者が前記ロボットアーム又は前記ツールを動かしている間に、前記ロボットアームの各制御軸の軸角度を検出し、前記軸角度に基づいて前記標準点の現在位置を求め、前記現在位置を前記所定の移動経路に投影した位置を目標位置とする位置指令値を生成し、前記位置指令値に基づいて前記各制御軸を駆動することを、前記各制御軸について前記位置指令値と対応する軸角度と検出された軸角度との偏差、又は、前記位置指令値と検出された軸角度と対応する前記標準点の現在位置との偏差が所定値以下になるまで繰り返し、前記偏差が前記所定値以下になったあとで前記ロボットアームの位置情報を前記ロボットに教示することを特徴としている。【０００９】
また、本発明の一実施形態に係るロボットアーム制御装置は、ロボットアーム上に設定された標準点を移動させるロボットアーム制御装置であって、前記ロボットアームの各制御軸の軸角度を検出し、前記軸角度に基づいて前記標準点の現在位置を求め、前記現在位置を予め記憶された移動経路に投影した投影位置を求め、前記投影位置に基づいて位置指令値を生成し、前記位置指令値に基づいて前記標準点を更に移動させるものである。【００１０】
上記ロボット教示方法及びロボットアーム制御装置によれば、ロボットのダイレクト教示中に、教示者がロボットアーム又はツールに与えた力をアシストするように各制御軸が動作する。ここで、位置指令値は逐次変化する各軸角度に基づいて逐次変更されるので、ロボットアームの標準点が教示者の意図を超えて移動することはない。従って、ロボットアームの標準点を所望の教示位置に位置決めするにあたり、位置の微調整が容易である。しかも、ロボットは、従来備えている機能を発揮させることによって上記アシスト動作を行うことができるので、ロボットアームに付与された外力を検出する力覚センサ及びそのための制御が不要である。【００１１】
また、ロボットのダイレクト教示中に、ロボットアーム又はツールに規定された標準点の移動は所定の移動経路に制限されるので、例え教示者がロボットアーム又はツールに与えた外力の方向が標準点の移動方向と一致しなくとも、標準点は所定の移動経路に沿って移動する。よって、標準点を教示者の所望する位置へ移動させることが容易となる。【００１２】
また、ダイレクト教示中の各制御軸の動作によって教示者がロボットアーム又はツールに与える力がアシストされるので、教示者は、静摩擦力が大きい軸（例えば、アームの基端側の軸）などをも、比較的小さな力で動かすことができる。
【発明の効果】
【００１３】
本発明によれば、ロボットのダイレクト教示において、教示者がロボットアーム又はツールを直接的に力を与えて動かす際の、ロボットアーム及び／又はツールの操作性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の一実施形態に係る多関節ロボットの全体的な構成を示す概略正面図である。
【図２】図２は、ロボットの模式的平面図である。
【図３】図３は、ロボットの制御系統の構成を示す図である。
【図４】図４は、サーボ制御部を中心とした具体的な電気的構成を示す図である。
【図５】図５は、ロボットアームの標準点の移動を説明する概念図である。
【図６】図６は、座標変換行列Ｑによる座標変換を説明する図である。
【図７】図７は、ダイレクト教示動作時の制御装置の処理の流れを示す図である。
【発明を実施するための形態】
【００１５】
次に、図面を参照して本発明の実施の形態を説明する。本発明の一実施形態に係る多関節ロボット（以下、単に「ロボット１」ということがある）は、例えば、ライン生産方式又はセル生産方式で、電気・電子部品等を組み立てて製品を生産する生産工場で利用され、この生産工場に設けられた作業台に沿って配置され、作業台上のワークに対して、移送、パーツの組み付けや配置換え、姿勢変換などの作業のうち少なくとも１つを行うことができる。但し、本発明に係るロボットの実施態様は上記に限定されず、水平多関節型・垂直多関節型を問わず多関節ロボットに広く適用することができる。
【００１６】
まず、ロボット１の概略構成から説明する。図１は本発明の一実施形態に係るロボット１の全体的な構成を示す正面図であり、図２はその模式的平面図である。図１及び２に示すように、ロボット１は、台車１７と、台車１７に支持された一対のロボットアーム（以下、単に「アーム」という）１０Ａ，１０Ｂと、各アーム１０Ａ，１０Ｂの先端に装着されたツール５（エンドエフェクタ）と、アーム１０Ａ，１０Ｂ及びツール５の動作を制御する制御装置６とを備えている。
【００１７】
実施形態に係るロボット１は、左右のアーム１０Ａ，１０Ｂを備えた双腕ロボットである。左右のアーム１０Ａ，１０Ｂは、独立して動作したり、互いに関連して動作したりすることができる。但し、本発明に係るロボット１は、双腕ロボットに限定されず、少なくとも１本のアームを備えていればよい。左右のアーム１０Ａ，１０Ｂは実質的に同じ構造であり、左右のアーム１０Ａ，１０Ｂを区別しないときは「アーム１０」と添え字のアルファベットを省いて示す。
【００１８】
各アーム１０は水平多関節型ロボットアームであって、第１リンク１１と、第２リンク１２と、ツール５が取り付けられるメカニカルインターフェースを有するリスト部１３とを備え、これらが直列的に連結されている。
【００１９】
第１リンク１１は、台車１７の上面に固定された基軸１６と回転関節により連結されている。第１リンク１１は、基軸１６の軸心を通る垂直な回転軸線Ｌ１まわりに回動可能である。また、第２リンク１２は、第１リンク１１の先端と回転関節により連結されている。第２リンク１２は、第１リンク１１の先端に規定された垂直な回転軸線Ｌ２まわりに回動可能である。
【００２０】
リスト部１３は、第２リンク１２の先端と直進関節及び回転関節を介して連結されている。リスト部１３は、直進関節によって、第２リンク１２に対し昇降移動可能である。また、リスト部１３は、回転関節によって、第２リンク１２に対し垂直な回転軸線まわりに回動可能である。
【００２１】
上記構成のアーム１０は、各関節に対応して設けられた４つの制御軸Ｊ１〜Ｊ４を有する。そして、アーム１０には、各制御軸Ｊ１〜Ｊ４に対応付けられるように、駆動用のサーボモータＭ１〜Ｍ４、及び、サーボモータＭ１〜Ｍ４の回転角を検出するエンコーダＥ１〜Ｅ４（図３、参照）が設けられている。なお、各制御軸Ｊ１〜Ｊ４を特に区別しないときは「制御軸Ｊ」と添え字の数字を省いて示し、各サーボモータＭ１〜Ｍ４を特に区別しないときは「サーボモータＭ」と添え字の数字を省いて示し、各エンコーダＥ１〜Ｅ４を特に区別しないときは「エンコーダＥ」と添え字の数字を省いて示すこととする。
【００２２】
上記構成の２本のアーム１０Ａ，１０Ｂの第１リンク１１の回転軸線Ｌ１は同一直線上にあり、一方のアーム１０Ａの第１リンク１１と他方のアーム１０Ｂの第１リンク１１は上下に高低差を設けて配置されている。ロボット１の基本座標系の原点は第１リンク１１の回転軸線Ｌ１上に規定されている。
【００２３】
続いて、制御装置６について説明する。制御装置６は、ロボット１の通常動作及び教示動作を制御する。左右のアーム１０Ａ，１０Ｂの制御系統の構成は実質的に同一であるので、以下ではそのうち一つのアーム１０の制御系統の構成について説明する。
【００２４】
図３は、ロボット１の制御系統の構成を簡略化して示した図である。図３に示すように、アーム１０の制御軸Ｊ１〜Ｊ４には各々対応する駆動部２４が設けられている。この図では４つの駆動部２４のうち一つが詳細に示され、他は省略されている。各駆動部２４にはサーボ制御部２３が接続され、サーボ制御部２３にはホスト制御部２２が接続され、これらにより制御装置６が構成されている。
【００２５】
ホスト制御部２２へ操作指令を入力する入力装置６２として、グラフィカルインターフェースを有するタブレット型コンピュータが用いられる。入力装置６２と制御装置６とは無線で通信可能であり、教示者（操作者）が入力装置６２に入力した指令は制御装置６に入力される。この入力装置６２は、ロボット１を教示する際の制御装置６への入力手段であるティーチペンダントとしての機能も併せ備えている。
【００２６】
制御装置６は、いわゆるコンピュータであって、ＣＰＵ等の演算処理部と、ＲＯＭ、ＲＡＭ等の記憶部を有している（いずれも図示せず）。記憶部には、演算処理部が実行するプログラム、各種固定データ等が記憶されている。演算処理部は、例えば入力装置６２などの外部装置とデータの送受信を行う。また、演算処理部は、各種センサからの検出信号の入力や各制御対象への制御信号の出力を行う。制御装置６では、記憶部に記憶されたプログラム等のソフトウェアを演算処理部が読み出して実行することにより、ロボット１の各種動作を制御するための処理が行われる。特に、制御装置６のホスト制御部２２は、ロボット１を教示する際にロボット１の動作を制御するための処理を行う教示制御部２２ａとしての機能を少なくとも備えている。なお、制御装置６は単一のコンピュータによる集中制御により各処理を実行してもよいし、複数のコンピュータの協働による分散制御により各処理を実行してもよい。また、制御装置６は、マイクロコントローラ、プログラマブルロジックコントローラ（ＰＬＣ）等から構成されていてもよい。
【００２７】
ホスト制御部２２は、位置指令値を生成しサーボ制御部２３へ出力する。サーボ制御部２３は、ホスト制御部２２から取得した位置指令値に基づいて駆動指令値（トルク指令値）を生成し、増幅回路２６へ出力する。増幅回路２６は、入力された駆動指令値に対応した駆動電流をサーボモータＭへ供給する。サーボモータＭには、その出力回転角などを検出するエンコーダＥが設けられている。エンコーダＥで検出された回転角は、ホスト制御部２２及びサーボ制御部２３へ伝達される。
【００２８】
図４は、サーボ制御部２３を中心とした具体的な電気的構成を示す図である。図４に示すように、ホスト制御部２２からサーボ制御部２３へ位置指令値が入力されると、入力された位置指令値は減算器２９のプラス側の入力に与えられる。この減算器２９のマイナス側の入力には、エンコーダＥで検出された回転角を表す信号が与えられる。減算器２９では、位置指令値から回転角が減算される。
【００２９】
減算器２９の出力は係数器３１に与えられ、ここで位置ゲインＫｐで増幅されてから、加算器３２の一方の入力に与えられる。この加算器３２の他方の入力には、エンコーダＥからの回転角が微分回路３３で微分され、更に係数器３４で速度ゲインＫｖで増幅されたものが与えられる。加算器３２の出力は、積分器３５に与えられ、積分演算が行われる。積分器３５のゲインＧ１は、次の第１式で示される。なお、第１式（１）において、Ｋｘは定数であり、ｓは演算子である。
【００３０】
【数１】
2017064851.tif 000003
【００３１】
上記積分器３５の出力は位相補償器３６に与えられて位相制御動作時に位相補償の演算が行われる。位相補償器３６の位相補償の演算のゲインＧ２は、次の第２式で示される。なお、第２式においてαは定数である。
【００３２】
【数２】
2017064851.tif 000004
【００３３】
位相補償器３６の出力は、もう１つの加算器３７の一方の入力に与えられる。この加算器３７の他方の入力には、エンコーダＥの出力に応答する重力補償演算器２２ｂからの出力（重力補償値）が与えられて加算され、その加算出力は駆動指令値として増幅回路２６へ入力される。
【００３４】
なお、本実施形態に係るアーム１０では、複数の制御軸Ｊのうち第３制御軸Ｊ３に重力による負荷が作用する。そこで、第３制御軸Ｊ３の制御系統ではホスト制御部２２に重力補償演算器２２ｂを備えている。他の制御軸の駆動部２４の制御系統では、重力補償演算器２２ｂは備えられないか、又は、備えられても出力がゼロとされる。重力補償演算器２２ｂは、エンコーダＥで検出した第３制御軸Ｊ３の回転角に基づき予め記憶された計算式によって重力補償値を演算する。これにより、第３制御軸Ｊ３の制御系統では、サーボ制御部２３から出力される駆動指令値には、重力補償演算器２２ｂから出力された重力補償値が加味されており、その結果、重力補償トルクが発生するように第３制御軸Ｊ３の駆動部２４が動作する。
【００３５】
ここで、ロボット１の教示動作時の制御装置６の処理の流れを説明する。まず、教示者は、入力装置６２を用いて、教示に係る各種情報を制御装置６へ入力する。
【００３６】
例えば、入力装置６２には、教示するアーム１０を選択するアーム選択画面が示される。教示するアーム１０として、左右のアーム１０Ａ，１０Ｂのいずれか一方又は両方を選択することができる。次に、入力装置６２には、教示方式を選択する教示方式選択画面が示される。教示者は、この教示方式選択画面で、入力装置６２をティーチングペンダントとして用いた遠隔操作教示、ダイレクト教示などの複数の教示方式からいずれか一つを選択することができる。ここでダイレクト教示が選択された場合には、入力装置６２にはアーム移動モードを選択するアーム移動モード選択画面が表示される。教示者は、このアーム移動モード選択画面で、アーム１０又はツール５に規定された所定の標準点Ｋが自在に動くフリーモードと、標準点Ｋの移動経路が所定の直線上、所定の平面上、又は、所定の軸回りに制限される制限モードとのいずれか一方を選択することができる。標準点Ｋは、例えば、リスト部１３のメカニカルインターフェース座標系において定めたツールの代表点、手首標準点などの任意の点に規定される。ここで制限モードが選択された場合には、入力装置６２には移動制限指定画面が表示される。教示者は、この移動制限指定画面で、アーム１０の標準点Ｋの移動が拘束される直線、平面、又は軸を選択することができる。
【００３７】
以下では、制限モード・ダイレクト教示動作時の制御装置６の処理の流れの一例を説明する。この例では、図５に示すように、標準点Ｋはアーム１０の先端に規定され、この標準点Ｋの移動経路が初期位置ＰSから移動ベクトルＶと平行な方向に制限される。そして、教示者がアーム１０又はツール５に直接的に力を与えて、初期位置ＰSでのツール５の初期姿勢Ｓを保持したまま、標準点Ｋを初期位置ＰSから図中二点鎖線で示す所定の移動経路に沿って移動させる。
【００３８】
ロボット１の教示中は、ロボット１の制御軸Ｊのうち動作が許容される制御軸Ｊの位置及び速度の各ゲインが十分に低く設定される。そのため、教示者がアーム１０又はツール５に外力を与えてツール５を動かすと、標準点Ｋに変位が生じる。このことがエンコーダＥによって検出されると、標準点Ｋの変位を所定の移動経路に投影することにより求めた目標位置Ｐcom、換言すれば、所定の移動経路が有する方向成分のみ標準点Ｋの現在位置Ｐrを置き換えた目標位置Ｐcomが、ホスト制御部２２によって求められる。ホスト制御部２２は、この目標位置Ｐcomに対応した位置指令値Ｔcomを生成してサーボ制御部２３へ出力する。以下、制御装置６のホスト制御部２２で行われる具体的な処理の流れについて、図７を用いて説明する。
【００３９】
前述のように、入力装置６２に入力された教示に係る各種情報は、制御装置６へ伝達され、ホスト制御部２２はこれらの情報を取得して（ステップＳ１）、位置指令値Ｔcomを生成するための演算処理を開始する。教示に係る各種情報には、標準点Ｋの移動が拘束される直線、平面、又は軸などの移動制限情報が含まれている。
【００４０】
処理を開始したホスト制御部２２は、先ず、エンコーダＥから各制御軸Ｊの回転角を取得し、これに基づいて各制御軸Ｊの初期の軸角度θ0を検出する（ステップＳ２）。次に、ホスト制御部２２は、各軸角度θ0に基づいてアーム１０の標準点Ｋの基本座標系の初期位置ＰS、及び、ツール５の初期姿勢Ｓを求め、更に、初期位置ＰS及び姿勢Ｓを表す姿勢回転行列Ｒ（θ0）を求める（ステップＳ３）。
【００４１】
続いて、ホスト制御部２２は、移動ベクトルＶを算出する（ステップＳ４）。移動ベクトルＶは、標準点Ｋの許容される移動方向を表す単位ベクトルである。制御装置６は、取得した移動制限情報（即ち、移動が拘束される直線、平面、又は軸などの移動経路を特定する情報）に基づいて移動ベクトルＶを求める。例えば、標準点Ｋの移動経路が或る直線上に拘束される場合、移動ベクトルＶはその直線と平行な単位ベクトルである。
【００４２】
また、ホスト制御部２２は、姿勢回転行列Ｒ（θ0）などを用いて、座標変換行列Ｑを算出する（ステップＳ５）。座標変換行列Ｑは、基準座標系の座標を新たなＱ座標系の座標へ座標変換する行列である。座標変換行列Ｑは、移動ベクトルＶがＱ座標系のｘ’ｙ’ｚ’直交３軸のうちの一つ、例えばｘ’軸と平行になるような変換を表す行列であることが望ましい。
【００４３】
図６は、座標変換行列Ｑによる座標変換を説明する図である。図６に示すように、座標変換行列Ｑは、移動ベクトルＶと、基本座標系のｘ軸をＱ座標系に変換したｘ’軸とが平行になるような変換を行う行列である。このように移動ベクトルＶがＱ座標系のｘ’ｙ’ｚ’直交３軸のいずれか１軸に平行であれば、Ｑ座標系での演算が容易となる。
【００４４】
続いて、ホスト制御部２２は、サーボ制御部２３の制御パラメータの値を変更する（ステップＳ６）。具体的には、教示しようとするアーム１０の動作が許容された制御軸Ｊに対応するサーボ制御部２３の、係数器３１の位置ゲインＫｐ及び係数器３４の速度ゲインＫｖを十分に小さく設定し、積分器３５のゲインＫｘをゼロとし、その積分器３５の内容をゼロにクリアし、更に位相補償器３６の機能を停止する。つまり、加算器３２の出力がそのまま加算器３７に与えられるようにする。なお、制御パラメータの値の変更（ステップＳ６）は、ステップＳ１の後から後述するステップＳ８の前までの間に行われればよいのであって、その処理の順序は本実施形態に限定されない。
【００４５】
更に、ホスト制御部２２は、重力補償の必要な制御軸Ｊについて重力補償を開始する（ステップＳ７）。本実施形態では、制御軸Ｊ３を駆動するサーボモータＭ３の制御系統において重力補償の演算が開始される。
【００４６】
ここで、教示者がアーム１０又はツール５の任意の箇所に直接的に力を加えてアーム１０を動かし、標準点Ｋを所望の教示点へ徐々に移動させる。この移動の間に標準点Ｋの位置は刻々と変化するが、標準点Ｋの移動が所定の移動経路上に規制され、且つ、教示者がアーム１０又はツール５に与える力をアシストするように、アーム１０の各制御軸Ｊが動作する。
【００４７】
ステップＳ８において、ホスト制御部２２は、標準点Ｋが変位したときの各制御軸Ｊの軸角度θ1を検出する。ホスト制御部２２は、検出された各制御軸Ｊの軸角度θ1に基づいて、標準点Ｋの基本座標系の現在位置Ｐrを算出する（ステップＳ９）。更に、ステップＳ１０において、ホスト制御部２２は、算出した標準点Ｋの現在位置Ｐrを、Ｑ座標系の標準点Ｋの現在位置Ｐr’に座標変換する（Ｐr’＝Ｑ・Ｐr）。
【００４８】
ステップＳ１１において、ホスト制御部２２は、算出された標準点Ｋの基本座標系の現在位置Ｐrに基づいて、基本座標系における標準点Ｋの移動量ｄＰrを求める。更に、ホスト制御部２２は、移動量ｄＰrをＱ座標系における標準点Ｋの移動量ｄＰr’に変換する（ステップＳ１２）。
【００４９】
ステップＳ１３において、ホスト制御部２２は、現在位置Ｐr’を所定の移動経路に投影した位置（投影位置）をＱ座標系の目標位置Ｐcom’とする（図５、参照）。換言すれば、ホスト制御部２２は、所定の移動経路が有する方向成分を現在位置に置き換えた、Ｑ座標系の目標位置Ｐcom’を求める。例えば、ｘ’方向へのみ移動が許容されている場合の目標位置Ｐcom’は、ｙ’成分及びｚ’成分が０であり、ｘ’成分は移動量ｄＰr’のｘ’成分である。また、例えば、ｘ’ｙ’平面内でのみ移動が許容されている場合の目標位置Ｐcom’は、ｚ’成分が０であり、ｘ’成分及びｙ’成分はそれぞれ移動量ｄＰr’のｘ’成分、ｙ’成分である。
【００５０】
ステップＳ１４において、ホスト制御部２２は、Ｑ座標系の目標位置Ｐcom’を基本座標系に逆変換し（Ｐcom＝Ｑ−１・Ｐcom’）、基本座標系での目標位置Ｐcomを求める。
【００５１】
ステップＳ１５において、ホスト制御部２２は、目標位置Ｐcom及び姿勢Ｓと対応する位置指令値Ｔcomを生成する。最後に、ホスト制御部２２は、この位置指令値Ｔcomをサーボ制御部２３へ出力する（ステップＳ１６）。この結果、位置指令値Ｔcomに基づいて各制御軸Ｊが駆動され、アーム１０が動作する。
【００５２】
アーム１０の標準点Ｋが変位し続ける間は、上記のステップＳ８からＳ１６までの処理が所定時間間隔で繰り返される。この間、位置指令値Ｔcomと対応する指令角度θcomと検出された各制御軸Ｊの軸角度θとに偏差が生じているので、この偏差が所定値以下になるように各駆動部２４が負帰還制御される。なお、上記所定値は、ゼロに十分に近い小さな任意の値であってよい。これにより、教示者がアーム１０を動かすためにアーム１０へ与える力がアシストされる。
【００５３】
そして、アーム１０の標準点Ｋが教示者の所望の教示位置に至り、教示者が外力の付与を止めると、指令角度θcomと検出された各制御軸Ｊの軸角度θとの偏差が所定値以下となり（ステップＳ１７でＮＯ）、アーム１０の動作が停止し、ロボット１によるアシスト力が止む。アーム１０が変位しなくなると、ホスト制御部２２は、入力装置６２を介して教示者に位置教示指令の入力を促す。教示者が入力装置６２を介してホスト制御部２２に入力された位置教示指令を取得すると（ステップＳ１８でＹＥＳ）、ホスト制御部２２は標準点Ｋの現在位置情報を教示位置の一つとして記録し（ステップＳ１９）、重力補償演算を終了し（ステップＳ２０）、制御系統のゲイン等の制御パラメータを元に戻す（ステップＳ２１）。
【００５４】
以上の通り、本実施形態に係るロボット教示方法は、ロボット１のダイレクト教示中にアーム１０の各制御軸Ｊの軸角度θ1を検出し、各軸角度θ1に基づいてアーム１０の標準点Ｋの現在位置Ｐrを求め、現在位置Ｐrを所定の移動経路（移動方向）に投影した位置を目標位置Ｐcomとする位置指令値Ｔcomを生成し、この位置指令値Ｔcomに基づいて各制御軸Ｊを駆動することを、各制御軸Ｊについて位置指令値Ｔcomと対応する軸角度（指令角度θcom）と検出された軸角度θとの偏差が所定値以下になるまで繰り返し、この偏差が所定値以下になったあとでアーム１０の位置情報をロボット１に教示することを特徴としている。ここで、ロボット１のダイレクト教示中のアーム１０の標準点Ｋの移動は、所定の移動経路上に制限されている。
【００５５】
また、本実施形態に係るロボット制御装置（制御装置６）は、ロボットアーム１０上に設定された標準点Ｋを移動させるロボットアーム制御装置であって、ロボットアーム１０の各制御軸Ｊの軸角度θ1を検出し、軸角度θ1に基づいて標準点Ｋの現在位置Ｐrを求め、現在位置Ｐrを予め記憶された移動経路に投影した投影位置（即ち、目標位置Ｐcom）を求め、この投影位置に基づいて位置指令値Ｔcomを生成し、位置指令値Ｔcomを基づいて標準点Ｋを更に移動させることを特徴としている。
【００５６】
上記ロボット教示方法及び制御装置６によれば、ロボット１のダイレクト教示中に、制御装置６が、各軸角度θ1を検出し、これに基づいて現在位置Ｐrを算出し、現在位置Ｐrを予め定める移動経路（移動方向）に投影して目標位置Ｐcomを求め、この目標位置Ｐcomに基づいて位置指令値Ｔcomを生成する演算処理を繰り返す。
【００５７】
このように、ロボット１のダイレクト教示中に、アーム１０の各制御軸Ｊが位置指令値Ｔcomに基づいて駆動されることによって、教示者がアーム１０又はツール５に与えた外力をアシストするようにアーム１０自身が動作する。ここで、位置指令値Ｔcomは逐次変化する各軸角度θ1に基づいて逐次変更されるので、標準点Ｋが教示者の意図を超えて移動することはない。従って、標準点Ｋを所望の教示位置に位置決めするにあたり、アーム１０及び／又はツール５の位置の微調整が容易である。また、ロボット１は、従来備えている機能を発揮させることによって上記動作を行うことができるので、アーム１０に付与された外力を検出する外力検出手段及びそのための制御が不要である。
【００５８】
なお、上記実施形態では、位置指令値Ｔcomに基づいて各制御軸Ｊを駆動することを、各制御軸Ｊについて位置指令値Ｔcomと対応する軸角度（指令角度θcom）と検出された軸角度θとの偏差が所定値以下になるまで繰り返すが、軸角度θではなく標準点Ｋの現在位置に基づいて繰り返し処理の終了が判断されてもよい。つまり、位置指令値Ｔcomに基づいて各制御軸Ｊを駆動することを、位置指令値Ｔcomと検出された軸角度θと対応する標準点Ｋの現在位置との偏差が所定値以下になるまで繰り返してもよい。
【００５９】
また、ロボット１のダイレクト教示中に、標準点Ｋの移動は所定の移動経路（所定の移動方向）に制限されるので、例え教示者がアーム１０又はツール５に与えた外力の方向が標準点Ｋの移動方向と一致しなくとも、標準点Ｋは所定の移動経路に沿って移動する。よって、標準点Ｋを教示者の所望する位置へ移動させることが容易となる。また、ダイレクト教示中の各制御軸Ｊの動作によって教示者がアーム１０又はツール５に与える力がアシストされるので、教示者は、静摩擦力が大きい軸（例えば、基端側の第１制御軸Ｊ１）などをも、比較的小さな力で動かすことができる。なお、本実施形態においては、１本のアーム１０につき４本の制御軸Ｊ１〜Ｊ４を備えたロボット１の教示方法について説明したが、ロボット１の制御軸Ｊの数は上記に限定されない。
【００６０】
また、上記実施形態に係るロボット教示方法では、各制御軸Ｊの位置ゲイン及び速度ゲインが任意に設定可能である。本実施形態においては、ロボット１の制御軸Ｊのうち、ダイレクト教示中に動作が許容される制御軸Ｊの位置及び速度の各ゲインが十分に低く設定される。
【００６１】
これにより、教示者がアーム１０又はツール５に与えた力によって軸が変位しやすくなる。更に、教示者がアーム１０又はツール５に与える僅かの力に対してもアシスト力を生じさせることができる。
【００６２】
また、上記実施形態に係るロボット教示方法では、各制御軸Ｊのうち少なくとも一つ（第３制御軸Ｊ３）に対して重力補償演算を行い、その演算結果を当該制御軸のトルク指令値（駆動指令値）に加算している。
【００６３】
これにより、ロボット１のダイレクト教示中に、アーム１０の各制御軸Ｊの姿勢が変化しても、その姿勢に対応した重力補償を正確に行うことが可能になる。
【００６４】
また、上記実施形態に係るロボット教示方法では、教示者がアーム１０又はツール５を動かす前に、各制御軸Ｊの軸角度θ0に基づいてツール５の初期姿勢Ｓを求め、教示者がアーム１０又はツール５を動かしている間にツール５の初期姿勢が維持されるように位置指令値Ｔcomが生成される。
【００６５】
これにより、ロボット１のダイレクト教示中に、ツール５の初期姿勢Ｓを維持したまま、アーム１０だけを移動させることができる。つまり、ツール５の初期姿勢Ｓを維持したまま、ツール５の位置だけを変化させることができる。なお、上記実施形態では、ロボット１のダイレクト教示中にツール５の初期姿勢Ｓを維持するようにしたが、ロボット１のダイレクト教示中に、アーム１０の移動に伴ってツール５の位置及び姿勢を変化させたり、ツール５の位置を固定してツール５の姿勢のみを変化させたりしてもよい。
【００６６】
また、上記実施形態に係るロボット教示方法では、標準点Ｋの移動が所定の移動経路に制限される制限モードと、標準点Ｋの移動が所定の移動経路に限定されないフリーモードとを選択可能である。
【００６７】
このように、ダイレクト教示において制限モードとフリーモードとが選択可能であるので、教示者はその状況に応じてモードを選択することができ、アーム１０及び／又はツール５に教示者の意図に応じた移動をさせることが容易となる。
【００６８】
なお、上記実施形態に係るロボット教示方法では、図６に示すように、標準点Ｋの所定の移動経路が、基本座標系でのｘｙｚ直交３軸においてｘ−ｙ平面と平行な或る直線上に規定されている。但し、本発明において所定の移動経路（移動方向）はこれに限定されず、標準点Ｋの初期位置ＰSと、次の教示位置との関係に基づいて適宜決定される。
【００６９】
例えば、標準点Ｋの所定の移動経路が、基本座標系でのｘｙｚ直交３軸方向のいずれか、又は、ツール座標系のｘｙｚ直交３軸方向のいずれかと平行な直線上であってよい。また、例えば、標準点Ｋの所定の移動経路が、基本座標系でのｘｙｚ直交３軸のうち２つの組み合わせ、又は、ツール座標系のｘｙｚ直交３軸のうち２つの組み合わせにより規定される平面と平行な平面上であってよい。また、例えば、標準点Ｋの所定の移動経路が、基本座標系でのｘｙｚ直交３軸のいずれか、又は、ツール座標系のｘｙｚ直交３軸のいずれかを回転の中心とする回転軌跡上であってよい。
【００７０】
また、上記実施形態に係るロボット教示方法では、現在位置Ｐrから位置指令値Ｔcomを生成するにあたり、所定の移動経路上の移動ベクトルＶを求め、移動ベクトルＶが新たなＱ座標系のｘ’ｙ’ｚ’直交３軸のいずれかと平行となるように基本座標系をＱ座標系に変換する座標変換行列Ｑを求め、基本座標系の標準点Ｋの現在位置ＰrをＱ座標系に座標変換し、Ｑ座標系の現在位置Ｐr’を所定の移動経路に投影した位置をＱ座標系の目標位置Ｐcom’とし、その目標位置Ｐcom’を基本座標系に座標変換して目標位置Ｐcomを求めている。
【００７１】
このように座標変換を利用することで、制御装置６の演算処理を単純化することができる。
【００７２】
以上の通り、本実施形態に係るロボット教示方法によれば、ロボット１のダイレクト教示において、教示者がアーム１０又はツール５を直接的に力を与えて動かすときの、アーム１０及び／又はツール５の操作性を総じて向上させることができる。
【００７３】
以上に本発明の好適な実施の形態を説明した。これらの説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【００７４】
１          ：ロボット
５          ：ツール
６          ：制御装置
１０，１０Ａ，１０Ｂ        ：アーム
２２        ：ホスト制御部
２２ｂ      ：重力補償演算器
２３        ：サーボ制御部
２４        ：駆動部
２６        ：増幅回路
６２        ：入力装置
Ｅ（Ｅ１〜Ｅ４）          ：エンコーダ
Ｊ（Ｊ１〜Ｊ４）          ：制御軸
Ｋ          ：標準点
Ｍ（Ｍ１〜Ｍ４）          ：サーボモータ
【図１】
2017064851.tif 000005
【図２】
2017064851.tif 000006
【図３】
2017064851.tif 000007
【図４】
2017064851.tif 000008
【図５】
2017064851.tif 000009
【図６】
2017064851.tif 000010
【図７】
2017064851.tif 000011
【国際調査報告】
2017064851.tif 000012
2017064851.tif 000013
2017064851.tif 000014
2017064851.tif 000015