(57)【要約】【課題】補間による制御を行う場合において、教示点の数が少なくとも経由点での姿勢を教示されて姿勢に近づけることができるロボットの制御方法、ロボットの制御装置を提供する。【解決手段】姿勢の変化量が相対的に小さくなる近回り軌道と、姿勢の変化量が相対的に大きくなる遠回り軌道とを求め、各軌道について、始点から終点までの姿勢変化を表すオイラーベクトルを求めた後、軌道全体に対する経由点までの割合に基づいて経由点での姿勢を求め、経由点での姿勢と教示された経由点での姿勢との姿勢変化を表すオイラーベクトルの回転量成分を姿勢の変化量として求め、ロボットの回転方向を、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量以下の場合には回転方向を近回りの回転方向に設定する一方、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量よりも大きい場合には回転方向を遠回りの回転方向に設定する。【選択図】図５
2015178158.tif 000002
【特許請求の範囲】
【請求項１】
教示された始点、経由点および終点の３点の教示点間を曲線で補間して多関節型のロボットの軌道を求める際に、
始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる近回りの回転方向を選択した場合の近回り軌道と、近回り軌道とは逆向きの回転方向であって、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる遠回りの回転方向を選択した場合の遠回り軌道とを求め、
各軌道について、始点から終点までの姿勢変化を表すオイラーベクトルを求め、
始点から終点までの軌道全体に対する始点から経由点までの割合を求め、
始点から経由点までの割合に基づいて、各軌道における経由点までの姿勢の変化量を示す回転量成分を求め、
各軌道の経由点までの回転量成分に基づいて、各軌道における経由点での姿勢を求め、
各軌道における経由点での姿勢と教示された経由点での姿勢との姿勢変化を表すオイラーベクトルを求め、その回転量成分を教示された経由点からの姿勢の変化量として求め、
各軌道の姿勢の変化量を比較し、
近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量以下の場合には、実際にロボットを回転させる際の回転方向を近回りの回転方向に設定する一方、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量よりも大きい場合には、実際にロボットを回転させる際の回転方向を遠回りの回転方向に設定することを特徴とするロボットの制御方法。
【請求項２】
教示された始点、経由点および終点の３点の教示点間を曲線で補間して多関節型のロボットの軌道を求める際に、
始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる近回りの回転方向を選択した場合の近回り軌道と、近回り軌道とは逆向きの回転方向であって、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる遠回りの回転方向を選択した場合の遠回り軌道とを求める軌道取得手段と、
各軌道について、始点から終点までの姿勢変化を表すオイラーベクトルを求めるベクトル取得手段と、
始点から終点までの軌道全体に対する始点から経由点までの割合を求める割合取得手段と、
始点から経由点までの割合に基づいて、各軌道における経由点までの姿勢の変化量を示す回転量成分を求める回転量取得手段と、
各軌道の経由点までの回転量成分に基づいて、各軌道における経由点での姿勢を求める姿勢取得手段と、
各軌道における経由点での姿勢と教示された経由点での姿勢との姿勢変化を表すオイラーベクトルを求め、その回転量成分を教示された経由点からの姿勢の変化量として求める変化量取得手段と、
各軌道の姿勢の変化量を比較する比較手段と、
近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量以下の場合には、実際にロボットを回転させる際の回転方向を近回りの回転方向に設定する一方、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量よりも大きい場合には、実際にロボットを回転させる際の回転方向を遠回りの回転方向に設定する設定手段と、
を備えることを特徴とするロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節型のロボットを制御するためのロボットの制御方法、ロボットの制御装置に関する。
【背景技術】
【０００２】
多関節型のロボットにおいて、ユーザにより教示された複数の教示点間を曲線で補間し、その曲線に沿ってロボットを回転駆動する制御が行われている。具体的には、例えば始点、経由点および終点が教示された場合にそれら３つの教示点間を曲線で補間する制御が行われている。このような制御を可能とすることで、小数の教示点を設定するだけでロボットの軌道全体を設定できるというメリットを受けることができる。
【０００３】
さて、産業用途においては、ロボットは、一般的に繰り返し作業を行うために設けられている。その場合、繰り返し作業一回当たりの動作時間を短縮することができれば、生産性を向上させることができる。そのため、例えば特許文献１のものは、始点から終点までロボットを回転駆動させる際の所要時間が最短となるように制御を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１９８０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ロボットは、例えばフランジ構造の手先を回転駆動するとき、その回転方向を２つ設定することができる。具体的には、現在位置から例えば＋９０°となる回転位置まで回転駆動する際には、現在位置から＋９０°回転駆動する回転方向と、現在位置から−２７０°回転駆動する回転方向とが存在している。そして、いずれの回転方向で回転駆動されたとしても、最終的には、手先は現在位置から＋９０°の回転位置まで回転駆動されることになる。
【０００６】
しかしながら、従来では、上記したように所要時間を短縮するために、始点から終点までの姿勢の変化量が少なくなる回転方向が選択されていた。つまり、従来では、始点、経由点および終点の３点が教示された場合であっても、経由点での姿勢を考慮せずに、始点での姿勢から終点での姿勢まで回転駆動する際の回転量が小さくなる回転方向が選択されていた。その結果、１８０°を超えるような回転を行うことができず、実際に回転駆動されたときの経由点での姿勢が、教示された姿勢から大きくずれてしまうことがあった。
【０００７】
この場合、教示点の数を増やせば姿勢を細かく制御することが可能であるものの、そのようにしてしまうと、小数の教示点を設定するだけでロボットの軌道全体を設定できるという補間による制御を行うメリットがなくなってしまう。
本発明は、上記事情に鑑みてなされたものであり、その目的は、補間による制御を行う場合において、教示点の数が少なくとも経由点での姿勢を教示されて姿勢に近づけることができるロボットの制御方法、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のロボットの制御方法の発明では、教示された始点、経由点および終点の３点の教示点間を曲線で補間して多関節型のロボットの軌道を求める際に、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に小さくなる近回りの回転方向を選択した場合の近回り軌道と、近回り軌道とは逆向きの回転方向であって、始点から終点まで姿勢を変化させた際の姿勢の変化量が相対的に大きくなる遠回りの回転方向を選択した場合の遠回り軌道とを求める。つまり、いずれの回転方向が教示された姿勢に近くなるかを評価するために、２通りの回転方向の軌道を予め求める。
【０００９】
続いて、各軌道について、始点から終点までの姿勢変化を表すオイラーベクトルを求め、始点から終点までの軌道全体に対する始点から経由点までの割合に基づいて、各軌道における経由点までの姿勢の変化量を示す回転量成分を求める。これは、ロボットの動作量、すなわち軌道を動く量は、突き詰めれば各軸のモータの角度変化量によって生み出されており、また、ロボットの任意点における姿勢も、モータの角度によって生み出されるものであるためである。つまり、ロボットの動作量も姿勢の変化もつきつめれば同じ変数によって生み出されるものであるから、それらを活用し、始点から経由点までの軌道の割合に基づくことにより、経由点での実動作時の姿勢が推定できるためである。
【００１０】
続いて、各軌道の経由点までの回転量成分に基づいて各軌道における経由点での姿勢を求め、各軌道における経由点での姿勢と教示された経由点での姿勢との姿勢変化を表すオイラーベクトルを求め、その回転量成分を教示された経由点からの姿勢の変化量として求める。これにより、各軌道における経由点での姿勢と教示された経由点での姿勢との姿勢の差分、つまり、各軌道における経由点での姿勢が教示された経由点での姿勢に対してどの程度ずれているかを求めることができる。
【００１１】
そして、各軌道の姿勢の変化量を比較し、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量以下の場合には、近回り軌道で動作させることで経由点の姿勢を経由する状態、すなわち、始点から終点までの動作の中で教示された経由点での姿勢に近い姿勢が出現する状態となるので、実際にロボットを回転させる際の回転方向を近回りの回転方向に設定する。
一方、近回り軌道における姿勢の変化量が遠回り軌道における姿勢の変化量よりも大きい場合には、近回り軌道で動作させた場合には始点から終点までの動作の中で教示された経由点での姿勢に近い姿勢が出現しないことになるので、実際にロボットを回転させる際の回転方向を遠回りの回転方向に設定する。
【００１２】
つまり、各軌道における経由点での姿勢が教示された経由点での姿勢からどの程度ずれているかを評価し、その評価結果に基づいて回転方向を設定している。
このように、近回りの軌道と遠回りの軌道とにおける経由点での姿勢が、教示された経由点での姿勢からどの程度ずれているかを予め評価し、その評価結果に基づいて回転方向が設定される。これにより、遠回りの回転方向が選択肢に組み込まれ、１８０°を超えるような回転が可能となる。そして、経由点での姿勢に近づける方向に回転方向を設定するので、より教示された経由点での姿勢に近くなることから、補間による制御を行う場合において、経由点での姿勢を教示された姿勢に近づけることができる。つまり、経由点での姿勢が教示された姿勢から大きくずれることを抑制することができる。
【００１３】
請求項２記載のロボットの制御装置の発明は、上記した請求項１記載のロボットの制御方法を実現するために、軌道取得手段、ベクトル取得手段、割合取得手段、回転量取得手段、姿勢取得手段、比較手段とおよび設定手段を備えている。これにより、上記した請求項１記載のロボットの制御方法を採用したロボットの制御装置を実現できる。したがって、請求項１記載のロボットの制御方法で述べたような効果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるロボットの構成を概略的に示す図
【図２】従来の補間制御におけるロボットの姿勢の変化を模式的に示す図
【図３】ロボットの回転方向を模式的に示す図
【図４】姿勢の異なる２つの座標系における各ベクトルを模式的に示す図
【図５】制御装置による回転方向設定処理の流れを示す図
【図６】異なる軌道における経由点姿勢の違いを模式的に示す図
【図７】回転方向設定処理を行った場合の経由点姿勢を模式的に示す図
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図１から図９を参照しながら説明する。
図１に示すように、ロボットシステム１は、多関節型のロボット２、ロボット２を制御するコントローラ３、コントローラ３に接続されたティーチングペンダント４を備えている。このロボットシステム１は、一般的な産業用に用いられている。
【００１６】
ロボット２は、いわゆる６軸の垂直多関節型ロボットとして周知の構成を備えており、ベース５上に、Ｚ方向の軸心を持つ第１軸（Ｊ１）を介してショルダ６が水平方向に回転可能に連結されている。ショルダ６には、Ｙ方向の軸心を持つ第２軸（Ｊ２）を介して上方に延びる下アーム７の下端部が垂直方向に回転可能に連結されている。下アーム７の先端部には、Ｙ方向の軸心を持つ第３軸（Ｊ３）を介して第一上アーム８が垂直方向に回転可能に連結されている。第一上アーム８の先端部には、Ｘ方向の軸心を持つ第４軸（Ｊ４）を介して第二上アーム９が捻り回転可能に連結されている。第二上アーム９の先端部には、Ｙ方向の軸心を持つ第５軸（Ｊ５）を介して手首１０が垂直方向に回転可能に連結されている。手首１０には、Ｘ方向の軸心を持つ第６軸（Ｊ６）を介してフランジ１１が捻り回転可能に連結されている。以下、第６軸を、便宜的に手先軸とも称する
ベース５、ショルダ６、下アーム７、第一上アーム８、第二上アーム９、手首１０およびフランジ１１は、ロボット２のアームとして機能し、アームの先端となるフランジ１１には、図示は省略するが、ハンド（エンドエフェクタとも呼ばれる）が取り付けられる。ハンドは、例えば図示しないワークを保持して移送したり、ワークを加工する工具等が取り付けられたりする。ロボット２に設けられている各軸（Ｊ１〜Ｊ６）には、それぞれに対応して駆動源となるモータ（図示省略）が設けられている。
【００１７】
コントローラ３は、ロボットの制御装置に相当し、図示しないＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されたコンピュータからなる制御部においてコンピュータプログラムを実行することで、ロボット２を制御している。具体的には、コントローラ３は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりモータを駆動する。このコントローラ３は、軌道取得手段、ベクトル取得手段、割合取得手段、姿勢取得手段、回転量取得手段、変化量取得手段、比較手段、設定手段を構成している。
ティーチングペンダント４は、例えば概ね略矩形箱状に形成されており、ユーザが所持したまま操作可能な程度の大きさに形成されている。このティーチングペンダント４には、各種キースイッチやタッチパネル等が設けられており、ユーザは、それらキースイッチやタッチパネル等を用いてティーチングを行う。
【００１８】
このような構成のロボットシステム１では、ロボット２を制御する際の基準となる座標系が設定されている。本実施形態の場合、ベース５に対応する座標系が、基準座標系ΣＢとなる。この基準座標系ΣＢは、ロボット２がどのような姿勢を取ったとしても変化することがない座標系である。この基準座標系ΣＢには、互いに直交するＸＢ軸、ＹＢ軸およびＺＢ軸が設定されている。なお、ＺＢ軸は設置面に垂直な軸となっている。
【００１９】
また、ロボット２では、手先軸（Ｊ６）に対応する座標系ΣＦが設定されている。この座標系ΣＦは、フランジ１１の向きを手先軸の原点を基準として示す座標系であり、互いに直交するＸＦ軸、ＹＦ軸およびＺＦ軸が設定されている。このうち、ＺＦ軸は、手先軸と同軸に設定されている。つまり、ＺＦ軸の向きが、フランジ１１の向き、つまり、手先の向きを示すことになる。
【００２０】
また、ロボット２の姿勢を表す際には、基準座標系ΣＢからみた手先の向きを表すベクトルが用いられる。具体的には、座標系ΣＦのＸＦ軸方向を表す３次元ベクトルであるノーマルベクトル（Ｎ）、基準座標系ΣＢからみた座標系ΣＦのＹＦ軸方向を表す３次元ベクトルであるオリエントベクトル（Ｏ）、および、基準座標系ΣＢからみた座標系ΣＦのＺＦ軸方向を表す３次元ベクトルであるアプローチベクトル（Ａ）が制御に用いられる。
これら各ベクトルは、以下の（１）式〜（３）式にて表される。
【００２１】
【数１】
2015178158.tif 000003
【００２２】
上記した（１）式〜（３）式に付されているＴは、以下の（４）式に示すように、基準座標系ΣＢから座標系ΣＦへの座標変換を行う４行４列の行列であり、同次変換行列と称される。この同次変換行列は、ロボット２の手先の位置と姿勢を表すために用いられる。
【００２３】
【数２】
2015178158.tif 000004
【００２４】
なお、（４）式に示されているＲは、ノーマルベクトル、オリエントベクトルおよびアプローチベクトルを纏めた３行３列の行列であり、Ｒ＝（Ｎ  Ｏ  Ａ）として表される。また、（４）式に示されているＰは、座標系ΣＦの原点の位置を基準座標系ΣＢで表した３次元ベクトルである。
【００２５】
ここで、始点、経由点および終点の３点が教示点として示された場合における従来の補間による制御について、図２を参照しながら説明する。以下、複数の教示点間を曲線にて補間する制御を、便宜的に補間制御と称する。なお、この補間制御は、一般的には円弧制御とも称されるが、必ずしも円弧に限らず、スプライン曲線等で補間されることもある。
【００２６】
例えば図２（ａ）に示すように、互いに異なり、且つ、直線上にない始点（Ｋ１）、経由点（Ｋ２）および終点（Ｋ３）の３点が、ユーザにより教示点として設定されたとする。このとき、各教示点での姿勢は、図２（ｂ）に示したようになっているものとする。なお、図２（ｂ）では、説明の簡略化のために、Ｋ１〜Ｋ３におけるアプローチベクトル（Ａ１〜Ａ３）にのみ符号を付している。以下、便宜的に、始点での姿勢を始点姿勢と称し、終点での姿勢を終点姿勢と称し、経由点での姿勢を経由点姿勢と称する。
【００２７】
このとき、従来の補間制御では、図２（ｃ）に示すように、経由点姿勢を考慮せずに、始点姿勢から終点姿勢となるまでの時間が最短となるようにロボット２を回転駆動していた。その結果、図２（ｄ）に示すように、回転駆動される際の経由点のアプローチベクトル（Ａ４）が、図２（ａ）に示した教示された経由点のアプローチベクトル（Ａ２）と一致しない状態、つまり、回転駆動した際の経由点姿勢が教示された姿勢から大きくずれた状態となることがあった。
【００２８】
これは、ロボット２を回転駆動する際には、その回転方向が２つ存在するためである。例えば、図３（ａ）に示すように、手先軸のアプローチベクトルがＡ１である始点姿勢から、アプローチベクトルがＡ３である終点姿勢となるように回転駆動する場合を考えてみる。この場合、始点から終点まで回転駆動する回転方向としては、相対的に回転量が少なく、回転駆動に要する時間が最短時間となる姿勢回転方向Ｄ１（以下、近回りと称する）と、相対的に回転量が多く始点から終点まで回転駆動するのに要する最短時間とはならない姿勢回転方向Ｄ２（以下、遠回りと称する）とが存在する。なお、図３では、説明の簡略化のために、アプローチベクトルＡ１、Ａ３の基点を重ねている。
【００２９】
このとき、従来では、始点姿勢と終点姿勢とだけを考慮し、始点から終点まで回転駆動させたときの時間が最短時間となるように、近回りが選択されていた。その結果、例えば図３（ｂ）に示すように、実際に回転駆動されたときの経由点でのアプローチベクトル（Ａ４）が、教示された経由点でのアプローチベクトル（Ａ２）に対して例えば逆向きになる等、経由点での姿勢が大きくずれるおそれがあった。そして、ロボット２の手先にはツールが取り付けられることから、手先の向きがずれてしまうと、ツールの向きもずれてしまう。その結果、ワークが意図しない形状に加工されたりするおそれがあった。この場合、アプローチベクトルに限らず、後述する図４に示すようなノーマルベクトルやオリエントベクトルが変化する場合には、同様に教示された姿勢から大きくずれる可能性があった。
【００３０】
また、教示点の数を増やし、ロボット２の軌跡を細かく制御することで、上記したずれが生じることを防止することができると考えられるが、そのような対処方法は、少ない教示点を設定することで軌跡全体を設定できるという補間制御の意義が薄れてしまう。
【００３１】
そこで、本実施形態では、補間制御を行う場合において、実際に回転駆動されたときの経由点姿勢とユーザにより教示された経由点姿勢とが大きくずれることを抑制している。
まず、姿勢行列を用いて２つの座標間の姿勢変化を表す手法について、図４を参照しながら説明する。図４に示すように、基準座標系ΣＢに任意の２点が存在し、一方が座標系ΣＦ１で表される例えば始点であり、他方が座標系ΣＦ２で表される例えば終点であるとする。このとき、始点からみた終点の姿勢行列をＦ１ＲＦ２とすると、姿勢行列Ｆ１ＲＦ２は、以下の（５）式で表すことができる。
【００３２】
【数３】
2015178158.tif 000005
【００３３】
ただし、（５）式において、ＢＲＦ１は、基準座標系ΣＢから座標系ΣＦ１への同次変換行列ＢＴＦ１に含まれる姿勢行列であり、ＢＲＦ２は、基準座標系ΣＢから座標系ΣＦ２への同次変換行列ＢＴＦ２に含まれる姿勢行列である。
【００３４】
そして、座標系ΣＦ１から座標系ΣＦ２への姿勢の変化量ΔＲは、座標系ΣＦ１から座標系ΣＦ２への姿勢行列Ｆ１ＲＦ２と同義であるので、上記した（５）式から、姿勢の変化量ΔＲは、以下の（６）式にて表される。
【００３５】
【数４】
2015178158.tif 000006
【００３６】
さて、本実施形態では、後述するように、回転駆動する際の回転方向を、オイラーベクトル表現した際の回転量成分θにより判定する。オイラーベクトルは、周知のように、オイラーベクトルはある姿勢行列Ｒを、回転軸となる以下の（７）式で示される単位ベクトルのベクトル成分Ｖ（ｖｘ，ｖｙ，ｖｚ）と、回転量成分θとで表現する手法である。
【００３７】
【数５】
2015178158.tif 000007
【００３８】
そして、上記した（６）式をオーラ−ベクトルの公式に適用することで、以下の（８）式および（９）式に示すように、座標系ΣＦ１と座標系ΣＦ２との間の姿勢の変化量（ΔＲ）を、ベクトル成分と回転量成分とで表現することができる。
【００３９】
【数６】
2015178158.tif 000008
【００４０】
これら姿勢変化をオイラーベクトル表現するための処理は、コントローラ３によって行われている。そして、コントローラ３は、姿勢変化をオイラーベクトル表現した際のベクトル成分（ｖ）と回転量成分（θ）とに基づいて、補間制御を行う際の回転駆動の回転方向を上記した近回りとするか遠回りとするかを判定する。より具体的には、本実施形態の場合、コントローラ３は、図２に示したような互いに異なり、且つ、直線上にない始点（Ｋ１）、経由点（Ｋ２）および終点（Ｋ３）の３点が教示点として設定されたとき、図５に示す回転方向設定処理を実行することで回転方向を判定する。
【００４１】
この回転方向設定処理において、コントローラ３は、まず、始点から終点まで最短で回転駆動することができる回転方向（以下、近回りと称する）にてロボットを制御する場合の動作軌跡である軌道１（近回り軌道に相当する）と、始点から終点まで最短で回転駆動することができる回転方向とは逆の回転方向（以下、遠回りと称する）にてロボットを制御する場合の動作軌跡である軌道２（遠回り軌道に相当する）とを求める（Ｓ１）。つまり、コントローラ３は、近回り軌道と遠回り軌道とを求める軌道取得手段として機能する。
【００４２】
次に、コントローラ３は、始点から終点までの姿勢変化を表すオイラーベクトルの回転量成分θを、軌道１に対応する回転量成分θ１、軌道２に対応する回転量成分θ２として求める（Ｓ２）。つまり、コントローラ３は、近回り軌道と遠回り軌道について、始点から終点までの姿勢変化を表すオイラーベクトルを求めるベクトル取得手段として機能する。
【００４３】
続いて、コントローラ３は、軌道全体に対する始点から経由点までの割合αを求める（Ｓ３）。なお、軌道１と軌道２とは、回転方向つまり姿勢の変化の態様が異なっているのであり、始点から終点までの動作軌跡つまり補間された曲線自体は同じである。そのため、ステップＳ３では、割合αを１つ求めればよい。つまり、コントローラ３は、軌道全体に対する始点から経由点までの割合を求める割合取得手段として機能する。
【００４４】
この割合αは、始点から経由点までの回転量成分θの変化の割合も示している。すなわち、補間制御においては、姿勢の変化は始点から終点までの姿勢変化は、オイラーベクトルの回転量成分の変化により表される。そして、補間制御においては、位置の変化と姿勢の変化とが同期しているので、位置が軌道全体のＸ％移動した場合には姿勢も軌道全体のＸ％変化することになるためである。つまり、始点から経由点までの位置の割合αを用いることで、経由点までの回転量成分を求めることができる。そして、経由点までの回転量成分が求まれば、経由点における姿勢を求めることができる。
【００４５】
そのため、コントローラ３は、各軌道について経由点までの回転量成分を、軌道１についてはαθ１、軌道２についてはαθ２として求める（Ｓ４）。つまり、コントローラ３は、始点から経由点までの割合に基づいて各軌道における経由点までの回転量成分を求める回転量取得手段として機能する。
【００４６】
経由点までの回転量成分を算出すると、コントローラ３は、軌道１における経由点での姿勢Ｒ１と、軌道２における経由点での姿勢Ｒ２とを求める（Ｓ５）。例えば、図６（ａ）に示すように始点（Ｋ１）、経由点（Ｋ２）および終点（Ｋ３）の３点が教示された場合、コントローラ３は、近回りの軌道１については図６（ｂ）に示すように経由点姿勢（Ｒ１）を求め、遠回りの軌道２については図６（ｃ）に示すように経由点姿勢（Ｒ２）を求める。なお、教示された経由点姿勢（Ｒｖ）は、教示データから求めることができる。つまり、コントローラ３は、各軌道の経由点までの回転量成分に基づいて、各軌道における経由点での姿勢を求める姿勢取得手段として機能する。
【００４７】
次に、コントローラ３は、教示された経由点姿勢（Ｒｖ）と、各軌道の経由点姿勢（Ｒ１、Ｒ２）との姿勢の変化量を表すオイラーベクトルを求め、その回転量成分を、軌道１についてθ１’、軌道２についてθ２’として求める（Ｓ６）。
つまり、コントローラ３は、各軌道における経由点での姿勢と教示された経由点での姿勢との姿勢変化を表すオイラーベクトルを求め、その回転量成分を教示された経由点からの姿勢の変化量として求める変化量取得手段として機能する。
【００４８】
続いて、コントローラ３は、θ１’がθ２’以下であるかを判定する（Ｓ７）。つまり、コントローラ３は、教示された経由点姿勢（Ｒｖ）から軌道１の経由点姿勢（Ｒ１）まで姿勢を変化させた際の回転量成分と、教示された経由点姿勢（Ｒｖ）から軌道２の経由点姿勢（Ｒ２）まで姿勢を変化させた際の回転量成分とを比較する。すなわち、経由点姿勢（Ｒ１、Ｒ２）が教示された経由点姿勢（Ｒｖ）からどれだけ変化しているかを評価する。つまり、コントローラ３は、各軌道の姿勢の変化量を比較する比較手段として機能する。
【００４９】
そして、コントローラ３は、θ１’がθ２’以下である場合には（Ｓ７：ＹＥＳ）、姿勢回転方向を近回りに設定する（Ｓ８）。つまり、軌道１のほうが軌道２よりも教示された経由点姿勢（Ｒｖ）からの姿勢の変化量が少ないことから、軌道１を求めた際の回転方向すなわち近回りを、実際にロボット２を回転駆動する際の回転方向に設定する。これに対して、コントローラ３は、θ１’がθ２’以下でない場合には（Ｓ７：ＮＯ）、姿勢回転方向を遠回りに設定する（Ｓ８）。つまり、軌道１のほうが軌道２よりも教示された経由点姿勢（Ｒｖ）からの姿勢の変化量が多ければ、軌道２を求めた際の回転方向すなわち遠回りを、実際にロボット２を回転駆動する際の回転方向に設定する。つまり、コントローラ３は、実際にロボットを回転させる際の回転方向設定する設定手段として機能する。
【００５０】
このように、コントローラ３は、近回りと遠回りとの双方の軌道について、その経由点姿勢（Ｒ１、Ｒ２）が教示された経由点姿勢（Ｒｖ）からどれだけ変化しているかを評価し、その評価結果に基づいて回転方向を設定する。これにより、実際に補間制御を行った際の経由点姿勢を、教示された経由点姿勢（Ｒｖ）により近づけることができる。そして、遠回りの回転方向が設定された場合には、１８０°を超えて回転駆動することができるようになる。
【００５１】
その結果、例えば図８（ａ）に示すような教示点つまり姿勢がユーザにより教示されたとき、回転方向設定処理によって１８０°を超える回転方向を選択できるようになり、教示された経由点姿勢に近づく回転方向が選択されて、例えば図８（ｂ）に示すように教示されたアプローチベクトル（Ａ２）と実際に回転駆動する際のアプローチベクトル（Ａ４）が一致する等、実際の軌道における経由点姿勢を教示された経由点姿勢と同じあるいは近似した姿勢にすることができる。
【００５２】
以上説明した本実施形態によれば、次のような効果を得ることができる。
実施形態の制御方法では、教示された始点、経由点および終点の３点の教示点間を曲線で補間して多関節型のロボットの軌道を求める際に、近回り軌道と遠回り軌道とを求め、各軌道における経由点での姿勢を求めた後、教示された経由点での姿勢から各軌道の経由点での姿勢までの姿勢変化を表すオイラーベクトルの回転量成分を求める。これにより、各軌道における経由点での姿勢と教示された経由点での姿勢と差分つまり姿勢のずれが求まり、各軌道における経由点での姿勢が教示された経由点での姿勢対してどの程度ずれているかを把握できる。
【００５３】
そして、各軌道における経由点での姿勢の変化量を比較し、近回り軌道における回転量成分が遠回り軌道における回転量成分以下の場合には実際にロボットを回転させる際の回転方向を近回りの回転方向に設定する一方、近回り軌道における回転量成分が遠回り軌道における回転量成分よりも大きい場合には実際にロボットを回転させる際の回転方向を遠回りの回転方向に設定する。つまり、近回りの軌道と遠回りの軌道とにおける経由点での姿勢が、教示された経由点での姿勢からどの程度ずれているかを予め評価する。これにより、遠回りの回転方向が選択肢に組み込まれ、１８０°を超えるような回転が可能となる。そして、実際に回転駆動した際の経由点での姿勢を教示された経由点での姿勢に近づけることができる。したがって、補間による制御を行う場合において経由点での姿勢が教示された姿勢から大きくずれることを抑制できる。
【００５４】
コントローラ３は、上記した制御方法を実現するために、軌道取得手段、ベクトル取得手段、割合取得手段、回転量取得手段、姿勢取得手段、比較手段とおよび設定手段として機能する。これにより、上記した制御方法を採用したロボットの制御装置を実現でき、補間制御により実際にロボット２を制御する際に１８０°を超える回転方向を選択することができ、教示された姿勢に近づけることができる等、上記した制御方法で述べたような効果を得ることができる。
本発明は上記した一実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形または拡張することができる。
【符号の説明】
【００５５】
図面中、２はロボット、３はコントローラ（ロボットの制御装置、軌道取得手段、ベクトル取得手段、割合取得手段、姿勢取得手段、回転量取得手段、比較手段、変化量取得手段、設定手段）を示す。
【図１】
2015178158.tif 000009
【図２】
2015178158.tif 000010
【図３】
2015178158.tif 000011
【図４】
2015178158.tif 000012
【図５】
2015178158.tif 000013
【図６】
2015178158.tif 000014
【図７】
2015178158.tif 000015