(57)【要約】【課題】  特異点近傍で同軸回転軸が予測できない動きをしてしまうことを防止できる多関節型ロボットを提供する。【解決手段】  ロボットの制御装置は、６軸制御プログラムに加えて５軸制御プログラムを持っている。この５軸制御プログラムは、６軸の多関節型ロボットにおいて同軸回転軸である第４軸を０度に固定した状態で各軸を制御するものである。ここで、制御装置は、各軸の角度を計算した際に、第４軸が１８０度回転すると判断したときは、５軸制御プログラムを実行する。これにより、ＣＰ動作時に第４軸が１８０度回転してしまうことを防止できる。【選択図】  図５
2005329521.tif 000002
【特許請求の範囲】
【請求項１】
第４軸として同軸回転軸、第５軸として旋回軸、第６軸として同軸回転軸を有し、上記第６軸に手先が連結され、手先位置が目標位置となるように前記各軸の角度を計算し、その計算結果に基づいて各軸の角度を制御する制御装置を備えた多関節型ロボットにおいて、
前記制御装置は、６軸制御プログラムに加えて前記第４軸を０度に固定した５軸制御プログラムを持ち、６軸制御プログラムで動作を実行するために各軸の角度を計算した際に、計算結果として前記第４軸の角度が１８０度回転すると判断したときは、前記５軸制御プログラムを実行することを特徴とする多関節型ロボット。
【請求項２】
命令によりオン／オフされる５軸モード適用フラグを有し、
前記制御装置は、計算結果が前記第４回転軸を１８０度回転するとなった場合に前記５軸モード適用フラグがオンしていたときは、前記５軸制御プログラムを実行することを特徴とする請求項１記載の多関節型ロボット。
【請求項３】
前記制御装置は、前記５軸制御プログラムを実行する場合は、前記第５軸及び第６軸の角度は前記６軸制御プログラムによる計算結果を用いることを特徴とする請求項１または２記載の多関節型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第４軸として同軸回転軸、第５軸として旋回軸、第６軸として同軸回転軸を有し、上記第６軸に手先が連結された６軸の多関節型ロボットに関する。
【背景技術】
【０００２】
例えば組み立て作業等を行なう６軸の多関節ロボットにおいては、手先（ハンド）の位置，姿勢の連続軌跡から、サンプリング時間毎の各軸の位置，速度を逆キネマティックス行列を用いて求めながら各軸を制御するようにしている。この場合、一般的に、６軸ロボットにあっては、第５軸が０度のとき、第４軸の不正則な動作を行なう特異点（singular point）が存在する。そこで、ロボットの作業エリアは、この特異点を境界に第５軸の角度が正の作業領域と負の作業領域に分け、例えば直線動作や円弧動作などのＣＰ（Continuous Path ）動作を行う場合は、同一作業領域内で動作させることを優先する。このため、例えばＣＰ動作にてパレタイジング作業等で第５軸が例えば正の作業領域から負の作業領域に移動するように制御しようとした場合、第５軸が正の作業領域に位置するように制御しようとするために第４軸である同軸回転軸が特異点近傍で１８０度回転してしまうという予期しない動作を実行してしまうことがある。このような予期しない動作を防止するために、わざわざ作業位置をずらしたり、ロボットの手先周りの配線に配慮したりすることなどが必要となり、ティーチング時の作業時間が増大すると共に、第４軸が１８０度回転することによるリサイクルタイムが増大する。
【特許文献１】特許第２９４７４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１のものは、特異点近傍での異常動作を解決するために、手首の姿勢ベクトルの変化が小さくなるように再計算を繰返すことを特徴としており、姿勢ベクトルの変化を最小限にできるものの、制御装置のＣＰＵに大きな負担がかかると共に、特異点近傍で第４軸が１８０度回転してしまうことは依然として解決できない。
本発明は上記事情に鑑みてなされたものであり、その目的は、特異点近傍で同軸回転軸が予測できない動きをしてしまうことを防止できる多関節型ロボットを提供するにある。
【課題を解決するための手段】
【０００４】
請求項１の発明によれば、制御装置は、６軸制御プログラムでロボットの動作を実行するために各軸の角度を計算し、その計算結果に基づいて各軸の角度を制御する。これにより、手先位置を直線、或いは曲線移動することができる。ここで、手先が特異点を通過するようにロボットを動作する際に、演算結果として第４軸が１８０度回転すると判断したときは、制御装置は、５軸制御プログラムを実行し、第４軸を０度に設定した状態で計算を再実行する。これにより、手先が特異点を通過するにしても、第４軸が１８０度回転することなくロボットを動作させることができる。
【０００５】
請求項２の発明によれば、完成した動作プログラムを検証した際、第４軸が１８０度回転するような場合は、ユーザは、５軸モード適用フラグをＯＮする命令をプログラムに追加する。これにより、６軸の多関節型ロボットを５軸の多関節型ロボットのように制御することができるので、第４軸が予期しない動作をしてしまうことを防止できる。
請求項３の発明によれば、６軸制御プログラムで求めた手先の姿勢を維持しながら、第４軸が予期しない動作してしまうことを防止できる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の一実施例について図面を参照しながら説明する。図１は、本実施例に係る６軸の多関節型ロボットの本体１の外観構成を示している。ここで、ロボットの本体１は、例えば３軸からなる基本部２に３軸からなる手首部３を連結し、さらに手首の先端部に例えばワークを把持するための図示しないハンドを取付けて構成されている。
基本部２は、次のように構成されている。即ち、設備の設置面に固定されるベース４上には、第１アーム５が、同軸回転軸としての第１軸Ｊ１を介して水平面方向に回転されるように連結されている。第１アーム５の先端には、第２アーム６が、旋回軸としての第２軸Ｊ２を介して垂直面方向に旋回されるように連結されている。第２アーム６の先端には、第３アーム７が、旋回軸としての第３軸Ｊ３を介して垂直面方向に旋回されるように連結されている。
【０００７】
手首部３は、次のように構成されている。即ち、基本部２の第３アーム７の先端には、第４アーム８が、同軸回転軸としての第４軸Ｊ４を介して第３アーム７に対して同軸回転されるように連結されている。第４アーム８の先端には、第５アーム９が、旋回軸としての第５軸Ｊ５を介して垂直面方向に旋回されるように連結されている。第５アーム９の先端には、第６アーム１０が、同軸回転軸としての第６軸Ｊ６を介して第５アーム９に対して同軸回転されるように連結されており、その先端に手先としてのハンド１１（図２参照）が取付け可能となっている。
【０００８】
尚、図示はしないが、前記各軸Ｊ１〜Ｊ６は、夫々サーボモータ等のアクチュエータにより駆動されるようになっており、それらアクチュエータは、マイコン等からなる制御装置１２により制御されるようになっている。また、ハンド１１についても、制御装置１２により制御されるようになっている。
ここで、制御装置１２は、上記構成の６軸のロボットを制御するための通常の６軸制御プログラムに加えて、本発明に関連して第４軸Ｊ４を固定した状態で５軸のロボットとして制御する５軸制御プログラムを有しており、後述するような不具合が発生することを予測したときは、６軸制御プログラムから５軸制御プログラムに実行を切替え可能となっている。
【０００９】
次に、上記構成の作用について述べる。上記のように構成されたロボットの本体１は、例えば組み立て作業等の所定の作業を行なう。この場合、制御装置１２は、６軸制御プログラムを実行することにより予め与えられるハンド１１の位置，姿勢の連続軌跡から、サンプリング時間毎の各軸Ｊ１〜Ｊ６の位置，速度を逆キネマティックス行列を用いて求めながら各軸Ｊ１〜Ｊ６のアクチュエータを制御するようになっている。
【００１０】
ところで、この種の多関節型ロボットにあっては、２個の同軸回転軸が同軸上に位置する姿勢では、それらの軸が不正則な動作を行なう特異点が存在する。本実施例の６軸の多関節型ロボットでは、第５軸Ｊ５が０度のとき、第４軸Ｊ４と第６軸Ｊ６とが同軸上に位置したときに特異点となり、第４軸Ｊ４及び第６軸Ｊ６の角度が決まらなくなる。そこで、ロボットの作業エリアは、この特異点を境界に第５軸Ｊ５の角度が正の作業領域と負の作業領域に分け、例えば直線動作や円弧動作などのＣＰ動作を行う場合は、同一作業領域内で動作させることを優先する。このため、ＣＰ動作にてパレタイジング作業等で第５軸Ｊ５を例えば正の作業領域から負の作業領域に移動するように制御した場合、第４軸Ｊ４である同軸回転軸が特異点近傍で１８０度回転してしまうという予期しない動作を実行してしまうことがある。
【００１１】
具体的には、ロボットのハンド１１を下方に向けた状態で、図２に示すＡ点から特異点を通過して図３に示すＢ点に直線移動する場合を考える。Ａ点における第４軸Ｊ４と第５軸Ｊ５の角度の解を、Ｊ４＝０、Ｊ５＝α（図２の例では正）とする。ここで、特異点を通過したＢ点における第４軸Ｊ４と第５軸Ｊ５の角度の解を求めると、Ｊ４＝１８０、Ｊ５＝β（図３の例では正）、または、Ｊ４＝０、Ｊ５＝−β（図３の例では負）の２つの解が存在することになる。ここで、上述したようにＣＰ動作では、同一符号の作業領域を優先して使用することから、制御装置１２は、Ｂ点における第５軸Ｊ５の解として、Ａ点における第５軸Ｊ５の作業領域と同一符号の正の領域であるＪ５＝βを解として採用する。つまり、ハンド１１が特異点を通過したところで、制御装置１２は、第５軸Ｊ５の解として、Ｊ５が正となる解を採用するのである。このため、第４軸Ｊ４の解は、Ｊ４＝１８０となるので、ロボットのハンド１１が特異点近傍に位置したところで、図４に示すように第４軸Ｊ４が１８０度回転してしまい、ロボットが予期しない動作を実行してしまうことになる。このような予期しない動作が行われたときは、ロボットの手先周りの配線に配慮する必要があり、ティーチング時の作業時間が増大すると共に、第４軸Ｊ４が１８０度回転することによるリサイクルタイムが増大する。
【００１２】
そこで、本実施例では、次のようにしてロボットのハンド１１が特異点近傍に位置するにしても第４軸Ｊ４が１８０度回転してしまうことを防止するようにした。
即ち、本実施例では、例えばロボットを実際に動作させることにより（あるいは動作シミュレーションを行なうことにより）、第５軸Ｊ５が特異点近傍を通過することにより第４軸Ｊ４が１８０度回転することが判明した場合は、ユーザは、所望に応じて５軸モード適用フラグをＯＮする命令をプログラムに追加した状態でロボットを制御する。
【００１３】
図５は、ロボットの制御装置１２の動作のうち本発明に関連した動作を示している。この図５において、制御装置１２は、ＣＰ動作を実行する場合は、次の制御タイミングにおけるハンド１１の位置及び姿勢に応じて６軸全ての角度を計算する（Ｓ１）。
このとき、第４軸Ｊ４が１８０度回転すると判断したときは（Ｓ２：ＹＥＳ）、５軸モード適用フラグがＯＮしているかを判断する（Ｓ３）。この場合、５軸モード適用フラグがＯＮしているので（Ｓ３：ＹＥＳ）、Ｊ４＝０に設定すると共に（Ｓ４）、第５軸Ｊ５，第６軸Ｊ６は６軸制御プログラムによる計算値を保持した状態で（Ｓ５）、第１〜第３軸Ｊ１〜Ｊ３の角度を再計算してから（Ｓ６）、計算結果にしたがって各軸を制御する（Ｓ７）。この場合、上記Ｓ４ないしＳ７が本発明でいう５軸制御プログラムに相当する。
【００１４】
ここで、第４〜第６軸Ｊ４〜Ｊ６を６軸制御プログラムによる計算値に固定しているのは、ロボットの形態（手首、ひじ、腕などの曲げ方向）を変化させないためである。
さて、上述したように第４軸Ｊ４を固定した場合、動作できない姿勢が無数に存在するようになるが、第１〜第３軸Ｊ１〜Ｊ３の角度を調整することで、ほとんどのハンド位置を実現することができる。このような５軸制御プログラムによる制御は、５軸の多関節型ロボットを制御するのに等しく、６軸の多関節型ロボットの動作を十分に実行することができる。
【００１５】
このような実施例によれば、制御装置１２は、６軸の多関節型ロボットを制御するための６軸制御プログラムに加えて第４軸Ｊ４を０度に固定した５軸制御プログラムを持ち、６軸制御プログラムによりＣＰ動作させる際に、計算結果が第４軸Ｊ４を１８０度回転させることが判明したときは５軸制御プログラムを実行するようにしたので、ＣＰ動作中に第４軸Ｊ４が１８０度回転するという予期しない動作をしてしまうことを防止できる。
【００１６】
しかも、このような効果は、プログラムの変更により対応することができるので、そのプログラムは５軸制御プログラムを用いればよく、開発コストが過度に大きくなることなく容易に実施することができる。
また、５軸制御プログラムを実行する際は、第５軸Ｊ５，第６軸Ｊ６として６軸制御プログラムによる演算結果をそのまま用いるようにしたので、ロボットの姿勢が変化してしまうことを防止しながら実施することができる。
【００１７】
尚、上記実施例では、ＣＰ動作でロボットを制御する場合を説明したが、ＰＴＰ動作でロボットを制御する場合に適用するようにしてもよい。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施例におけるロボットの外観を示す斜視図
【図２】ハンドがＡ地点に位置した状態で示すロボットの側面図
【図３】ハンドがＢ地点に位置した状態で示す図２相当図
【図４】ロボットのアーム及び関節を模式的に示す図
【図５】制御装置の動作を示すフローチャート
【符号の説明】
【００１９】
図面中、１は本体、４はベース、５は第１アーム、６は第２アーム、７は第３アーム、８は第４アーム、９は第５アーム、１０は第６アーム、１１はハンド（手先）、１２は制御装置である。
【図１】
2005329521.tif 000003
【図２】
2005329521.tif 000004
【図３】
2005329521.tif 000005
【図４】
2005329521.tif 000006
【図５】
2005329521.tif 000007