(57)【特許請求の範囲】
【請求項１】
モータ（Ｍ）により駆動されるロボット（１０）を制御するロボット制御装置（２０）において、
前記ロボットの動作領域全体を含む第一領域において使用可能な第一センサ（１１）と、
前記第一センサからのフィードバック値を用いて前記モータへの第一制御入力を計算する第一制御部（２１）と、
前記ロボットの動作領域のうちの少なくとも一部分を含む第二領域において使用可能な第二センサ（１２）と、
前記第二センサのフィードバック値または前記第一センサおよび前記第二センサの両方のフィードバック値を用いて前記モータへの第二制御入力を計算する第二制御部（２２）と、
前記ロボットの動作領域および前記第二領域の両方に含まれる第三領域を記憶する領域記憶部（２３）と、
該領域記憶部により記憶された前記第三領域と前記ロボットの位置および姿勢との比較に基づいて、前記モータへの制御入力に対する、前記第一制御入力と前記第二制御入力との割合を設定する割合設定部（２４）と、
前記割合設定部により設定された割合に従って、前記第一制御入力と前記第二制御入力とを加算する加算部（２５）と、
該加算部によって加算された結果に基づいて、前記モータのフィードバック制御を行う制御実行部（２９）とを具備し、
前記割合設定部において、前記第三領域の境界と前記ロボットの各軸の角度との差に基づいて、前記モータへの制御入力に対する、前記第一制御入力と前記第二制御入力の割合を設定する、ロボット制御装置。
【請求項２】
前記第三領域は前記ロボットの動作領域および前記第二領域の重畳部分である、請求項１に記載のロボット制御装置。
【請求項３】
前記割合設定部は、前記サーボモータへの制御入力に対する、前記第一制御入力と前記第二制御入力の割合を多段階的に設定する、請求項１または２に記載のロボット制御装置。
【請求項４】
前記割合設定部の出力を操作者に通知する通知部（２６）を具備する、請求項１から３のいずれか一項に記載のロボット制御装置。
【請求項５】
前記ロボットは第一軸および第二軸を少なくとも有しており、  前記第一軸には、前記第二制御入力が適用される第一角度範囲が設定されており、  前記第二軸には、前記第二制御入力が適用される第二角度範囲が設定されており、  前記第一軸の角度および前記第二軸の角度のそれぞれが前記第一角度範囲および前記第二角度範囲の内側で且つ前記第一角度範囲および前記第二角度範囲の上下限値からの差がそれぞれ第一一定値以内および第二一定値以内である場合には、前記割合設定部は前記第一制御入力と前記第二制御入力との間の比をそれぞれ（（前記第一軸の角度）／（第一一定値）＋１）：（−（前記第一軸の角度）／（第一一定値））、（（前記第二軸の角度）／（第二一定値）＋１）：（−（前記第二軸の角度）／（第二一定値））に設定するようにした、請求項１に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータにより駆動されるロボットを制御するロボット制御装置に関する。
【背景技術】
【０００２】
従来では、モータ、例えばサーボモータの角速度、回転角度、トルク（電流値）のみをフィードバックしてロボットを制御することが行われている。このような制御方式においては、モータに取付けられたエンコーダや電流検出器のみを準備すれば十分である。
【０００３】
ところが、近年ではロボットは様々な分野に適用されるようになり、従来の制御方式では不十分になる場合がある。このため、エンコーダや電流検出器に加えて、追加のセンサを用いてロボットを制御することが行われている。
【０００４】
例えば、特許文献１では、減速機の伝達誤差などに起因する位置偏差を低減するため、追加のエンコーダを用いたフルクローズド位置制御が行われている。また、特許文献２では、ロボットが支持する航空機胴体もしくは航空機部品を精密に位置決めするため、レーザトラッカやインドアＧＰＳ等の位置測定器を用いた位置制御が行われている。
【０００５】
ところで、ロボットが元々動作可能な領域と追加のセンサを適用可能な領域とは必ずしも一致しない。このため、追加のセンサが用いられる制御方式を変更したことが原因で、ロボットの動作領域が制限される事態が起こり得る。
【０００６】
例として、ロボットを高精度で動作させるためにフルクローズド制御を適用する場合を考える。この場合、角度エンコーダまたはロータリーエンコーダを追加のセンサとして使用するものとする。しかしながら、このような追加のセンサをロボットに取付けるためにはロボットを大幅に設計変更する必要がある。このため、経済的な理由により、テープ式リニアスケールを既存のロボットに張り付けてフルクローズド制御をおこなう場合がある。
【０００７】
しかしながら、テープ式リニアスケールを用いた場合にはテープの端点で信号が途切れる。このため、回転軸が３６０度以上回転可能であったとしても、フルクローズド制御を用いた場合には、回転軸を３６０度以上回転させられない事態が生じる。
【０００８】
また、他の例として、ロボットを高精度で動作させるためにレーザトラッカを用いてロボットの手先の位置および姿勢をフィードバックして、制御する場合を考える。レーザトラッカによって位置および姿勢を計測するためには、ロボットもしくはロボットのツールに取付けられたリフレクタが、ロボットの周囲に配置されたトラッカから見えることが要求される。
【０００９】
しかしながら、ロボットの姿勢によっては、周辺機器、ロボットのアームまたはロボットに取付けられたツールが障害物となるのでリフレクタが見えなくなる場合がある。従って、レーザトラッカを用いた制御を行うと、ロボットの動作範囲は限定される。
【００１０】
このため、追加のセンサが必要な場合には追加のセンサを用いた制御を行い、追加のセンサが必要でない場合には追加のセンサを用いない制御を行うように、制御方式を切替える場合がある。この場合には、ロボットの元々の動作領域は保持される。
【００１１】
ここで、制御方式を急激に切替えると、機械的な衝撃が発生するので、制御方式の切替えを滑らかに行うのが望まれる。また、動作プログラムによって制御方式の切替えを指示する場合には、切替えが頻繁になるほど、プログラムが複雑化する。このため、制御方式の切替えは自動的に行われることが望ましい。
【００１２】
特許文献３には、追加のセンサを用いないセミクローズド制御および追加のセンサを用いたフルクローズド制御を位置制御に適用する割合を制御ゲインの切替えによって変更し、制御方式を滑らかに切替えることが開示されている。
【００１３】
特許文献４には、制御対象の特性に応じて制御系を切替えることが開示されている。ロボットの位置および姿勢を制御対象の特性であると仮定すれば、ロボットの位置および姿勢に応じて制御方式を切替えることができる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開2012-168926号公報
【特許文献２】特開2011-136416号公報
【特許文献３】特開2001-222324号公報
【特許文献４】特開平05-158542号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献３では、セミクローズド制御における位置偏差およびフルクローズド制御における位置偏差を利用してゲインを切替えている。このため、フルクローズド制御が適用できない領域ではセミクローズド制御を用いることができず、ロボットの動作範囲が限定される。さらに、特許文献４では制御方式を滑らかに切替えることができないなどの問題がある。
【００１６】
本発明はこのような事情に鑑みてなされたものであり、ロボットの動作範囲が限定されることなしに、追加のセンサを用いた制御と追加のセンサを用いない制御とを円滑に切替えることのできるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
前述した目的を達成するために１番目の発明によれば、モータにより駆動されるロボットを制御するロボット制御装置において、前記ロボットの動作領域全体を含む第一領域において使用可能な第一センサと、前記第一センサからのフィードバック値を用いて前記モータへの第一制御入力を計算する第一制御部と、前記ロボットの動作領域のうちの少なくとも一部分を含む第二領域において使用可能な第二センサと、前記第二センサのフィードバック値または前記第一センサおよび前記第二センサの両方のフィードバック値を用いて前記モータへの第二制御入力を計算する第二制御部と、前記ロボットの動作領域および前記第二領域の両方に含まれる第三領域を記憶する領域記憶部と、該領域記憶部により記憶された前記第三領域と前記ロボットの位置および姿勢との比較に基づいて、前記モータへの制御入力に対する、前記第一制御入力と前記第二制御入力との割合を設定する割合設定部と、前記割合設定部により設定された割合に従って、前記第一制御入力と前記第二制御入力とを加算する加算部と、該加算部によって加算された結果に基づいて、前記モータのフィードバック制御を行う制御実行部とを具備し、前記割合設定部において、前記第三領域の境界と前記ロボットの各軸の角度との差に基づいて、前記モータへの制御入力に対する、前記第一制御入力と前記第二制御入力の割合を設定する、ロボット制御装置が提供される。
２番目の発明によれば、１番目の発明において、前記第三領域は前記ロボットの動作領域および前記第二領域の重畳部分である。
３番目の発明によれば、１番目または２番目の発明において、前記割合設定部は、前記サーボモータへの制御入力に対する、前記第一制御入力と前記第二制御入力の割合を多段階的に設定する。
４番目の発明によれば、１番目から３番目のいずれかの発明において、前記割合設定部の出力を操作者に通知する通知部を具備する。
【発明の効果】
【００１８】
１番目の発明においては、ロボットの動作領域および第二センサ（追加のセンサ）を使用可能な第二領域の両方に含まれる第三領域と、ロボットの位置および姿勢との比較に基づいて、第二センサ（追加のセンサ）を用いない第一制御と第二センサ（追加のセンサ）を用いる第二制御とに対して重み付けを行っている。このため、ロボットの動作領域が限定されることなしに、第一制御と第二制御とを円滑に切替えることができる。さらに、第三領域の境界と現在のロボットの位置との間の距離などに基づいて、重み付けを変更している。このため、第一制御と第二制御とを円滑かつ容易に切替えることができる。さらに、制御を切替える際に生じうる衝撃を抑えることができる。
２番目の発明においては、第三領域を自動的に決定することができる。
３番目の発明においては、割合を多段階的に変更しているので、第一制御と第二制御とをさらに円滑かつ容易に切替えることができる。
４番目の発明においては、操作者が第一制御と第二制御との重み付けの程度を容易に認識することができる。
【００１９】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【図面の簡単な説明】
【００２０】
【図１】本発明に基づくロボット制御装置のブロック図である。
【図２】ロボットの動作領域などを示す図である。
【図３Ａ】ロボットと第三領域を示す第一の図である。
【図３Ｂ】ロボットと第三領域を示す第二の図である。
【図３Ｃ】ロボットの先端と第三領域との間の距離と、第一制御入力の割合との関係を示す第一の図である。
【図４Ａ】ロボットの二つの軸の角度の関係を示す第一の図である。
【図４Ｂ】ロボットの二つの軸の角度の関係を示す第二の図である。
【図４Ｃ】ロボットの先端と第三領域との間の距離と、第一制御入力の割合との関係を示す第二の図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくロボット制御装置のブロック図である。図１に示されるシステム１は、ロボット１０と、該ロボット１０を制御するロボット制御装置２０とを主に含んでいる。ロボット１０は例えば六軸垂直多関節ロボットである。また、ロボット１０は、ハンド１８をそのアームの先端に有している。
【００２２】
図１にはロボット１０の軸を駆動するモータＭ、例えばモータＭと、該モータＭの回転位置を検出する位置検出器、例えばエンコーダＥとが示されている。これらモータＭおよびエンコーダＥは代表として表示されており、実際には、ロボット１０の軸の数に応じた複数のモータＭおよび複数のエンコーダＥがロボット１０に内蔵されている。以下、本願明細書においては、これら複数のエンコーダＥをまとめて第一センサ１１と呼ぶ。なお、エンコーダＥはロボット１０の位置および姿勢を検出するのにも使用される。
【００２３】
図２はロボットの動作領域などを示す図である。図２に示されるように、第一センサ１１はロボット１０の動作範囲Ｚ０全体を含む第一領域Ｚ１において使用可能である。なお、第一センサ１１は、ロボット１０の動作範囲Ｚ０全体で使用可能で且つロボット１０を制御するのに必要な状態量を測定できる他のセンサでもよい。例えば、第一センサ１１はロボット１０のロボット支持部１９に配置された単一のセンサであってもよい。
【００２４】
図１を再び参照すると、ハンド１８の先端には第二センサ１２が配置されている。第二センサ１２は、ロボット１０の先端位置を測定する位置測定器、例えばレーザトラッカや、インドアＧＰＳ等である。或いは第二センサ１２は、フルクローズド制御用のテープ式のリニアスケールおよびエンコーダであってもよい。第二センサ１２は、ロボット１０を制御するのに必要な状態量を測定できる他の単一または複数のセンサであってもよい。
【００２５】
図２から分かるように、第二センサ１２はロボットの動作範囲Ｚ０のうちの少なくとも一部分を含む第二領域Ｚ２において使用可能である。また、第一領域Ｚ１と第二領域Ｚ２とは互いに異なっていて第一領域Ｚ１はロボット１０の動作範囲Ｚ０全体を含んでいるので、第二センサ１２が使用できない領域においては第一センサ１１が使用できるのが分かるだろう。このため、第二センサ１２はロボット１０の動作領域Ｚ０全体で使用可能である必要は無い。
【００２６】
再び図１を参照すると、ロボット制御装置２０はデジタルコンピュータであり、第一センサ１１からのフィードバック値を用いてモータＭへの第一制御入力を計算する第一制御部２１を含んでいる。厳密にいえば、第一制御部２１は、第一センサ１１の測定値とロボットの動作指令とに基づいて、モータＭへの第一制御入力を計算する。
【００２７】
さらに、ロボット制御装置２０は、第二センサ１２のフィードバック値または第一センサ１１および第二センサ１２の両方のフィードバック値を用いてモータＭへの第二制御入力を計算する第二制御部２２とを含んでいる。図２に示される第三領域Ｚ３においては第二制御入力のみが適用されるものとする。厳密にいえば、第二制御部２２は、第二センサ１２の測定値または第一センサ１１の測定値および第二センサ１２の測定値の両方と、ロボット１０の動作指令とに基づいて、モータＭへの第二制御入力を計算する。
【００２８】
ここで、ロボット１０の動作指令はロボット１０の動作の目的に応じた指令値である。例えば、ロボット１０の動作指令はロボット１０の先端位置やロボット１０の各軸の角度などである。あるいは、ロボット１０の動作指令は、ロボット１０の先端が発生させる力やロボット１０の各軸のトルクなどでもよい。
【００２９】
また、モータＭへの第一制御入力および第二制御入力はモータＭの状態を規定する状態量である。例えば、第一制御入力および第二制御入力は、モータＭの回転角度や角速度、トルクなどである。なお、後述するように第二制御入力は第一制御入力に加算されるので、第二制御入力は第一制御入力と同一の次元である必要がある。
【００３０】
さらに、図１に示されるように、ロボット制御装置２０は、ロボット１０の動作領域Ｚ０および第二領域Ｚ２の両方に含まれる第三領域Ｚ３を記憶する領域記憶部２３を含んでいる。第三領域Ｚ３において、ロボット１０は、第二センサ１２を用いて第二制御入力により制御される。第三領域Ｚ３は、ロボット１０の操作者が、第二センサ１２を用いて第二制御入力によりロボット１０を操作したいと望む領域である。
【００３１】
第三領域Ｚ３は、第二センサ１２が使用可能な領域とロボット１０の動作領域Ｚ０との共通領域における任意の形状の領域である。従って、通常は、第三領域Ｚ３はロボット１０の操作者により予め指定される。しかしながら、ロボット１０の動作領域Ｚ０と第二領域Ｚ２との重畳部分全体を第三領域Ｚ３として定義してもよい。この場合には、第三領域Ｚ３を自動的に決定できる。なお、第一センサ１１および第二センサ１２の両方を用いてロボット１０を制御する領域として第三領域Ｚ３を定義してもよい。
【００３２】
また、第二センサ１２が位置測定器である場合には、第三領域Ｚ３はロボット１０のロボット支持部１９に固定された直交三次元座標系で定義されるのが好ましい。また、第二センサ１２がフルクローズド制御用のテープ式のリニアスケールおよびエンコーダである場合には、ロボット１０の各軸の角度を次元とした各軸座標系で定義されるのが好ましい。ただし、領域記憶部２３により記憶される第三領域Ｚ３は、ロボット１０の動作領域Ｚ０と第二センサ１２が使用可能な領域Ｚ２を表現し得る他の次元で定義されていてもよい。さらに、領域記憶部２３は、時間に応じて変形、発生、消滅する領域を第三領域Ｚ３として定義してもよい。
【００３３】
さらに、ロボット制御装置２０は、領域記憶部２３により記憶された第三領域Ｚ３とロボット１０の位置および姿勢との比較に基づいて、モータＭへの制御入力に対する、第一制御入力と第二制御入力との割合を設定する、割合設定部２４を含んでいる。
【００３４】
例えば第二センサ１２がロボット１０の手先に取付けられた位置測定器である場合は、前述した直交三次元座標系で定義された第三領域Ｚ３と、ロボット１０の姿勢から計算される第二センサ１２の三次元位置とが比較される。また、第二センサ１２がフルクローズド制御用のテープ式のリニアスケールおよびエンコーダである場合には、ロボット１０の各軸の位置を次元とする前述した座標系で定義された第三領域と、リニアスケールの値を読取るエンコーダの位置を示すロボット１０の各軸の位置とが比較される。
【００３５】
例えば第二センサ１２が第三領域Ｚ３外にある場合には、割合設定部２４により設定される第一制御入力と第二制御入力との間の比は１：０である。第二センサが第三領域Ｚ３内にある場合には、割合設定部２４により設定される第一制御入力と第二制御入力との間の比は０：１である。
【００３６】
さらに、第二センサ１２が第三領域Ｚ３の境界付近にある場合には、第一制御入力と第二制御入力が滑らかに切替わるように割合が第二センサ１２の場所などに応じて設定される。具体的には、第二センサ１２が第三領域Ｚ３の外部から第三領域Ｚ３の境界を越えて第三領域Ｚ３の内部まで異動するにつれて、前述した比を１：０から、０．９９：０．０１、０．９８：０．０２…、０．０１：０．９９、０：１のように多段階的に切替える。前述した比を１：０から０：１まで一段階で変更する場合には、変更時に衝撃が発生する可能性がある。これに対し、多段階で変更する場合には、衝撃の発生を回避することができる。
【００３７】
さらに、ロボット制御装置２０は、割合設定部２４により設定された割合に従って、第一制御入力と第二制御入力とを加算する加算部２５とを含んでいる。さらに、ロボット制御装置２０は、加算部２５により計算された制御入力に従って、モータＭをフィードバック制御してロボット１０を駆動する制御実行部２９を含んでいる。なお、図１においては、加算部２５で計算された制御入力がモータＭに直接的に入力されている。しかしながら、加算部２５で計算された制御入力は所定の補正処理を加えられた後でモータＭに入力されてもよい。
【００３８】
また、図１に示されるように、割合設定部２４の出力を操作者に通知する通知部２６が設けられている。通知部２６は視覚的または音響的の少なくとも一方により割合設定部２４の出力を操作者に通知する。例えば第二センサ１２のみを用いた第二制御を行う必要のある作業においては、第一センサ１１のみを用いた第一制御に自動的に切替わるのを避ける必要がある。操作者は通知部２６を通じてこのような切替わりを認識し、適切な対応をとることができる。また、通知部２６によって、操作者は第一制御と第二制御との重み付けの程度を容易に認識することができる。
【００３９】
以下、割合設定部２４が設定する第一制御入力と第二制御入力との割合について説明する。この割合の設定はロボット１０が動作プログラムに従って動作するときに繰返し実施されるものとする。図３Ａおよび図３Ｂはロボットと第三領域を示す図である。図３Ａおよび図３Ｂにおいては、第一センサ１１はロボット１０の各軸のモータＭに接続されたエンコーダＥであり、第二センサ１２はロボット１０の先端位置を測定するレーザトラッカであるものとする。なお、図３Ａおよび図３Ｂにおいては、第三領域Ｚ３から離れる方向が正方向であるものとする。
【００４０】
さらに、図３Ａおよび図３Ｂに示される実施形態においては、第一制御部２１は、エンコーダＥとしての第一センサ１１の検出値からモータＭのトルク指令を計算するフィードバック制御系である。また、第二制御部２２はレーザトラッカとしての第二センサ１２により計測されたロボット１０の先端位置からモータＭのトルク指令を計算するフィードバック制御系である。
【００４１】
このような状況において、割合設定部２４は領域記憶部２３に記憶された、直交座標系における第三領域Ｚ３の境界とロボット１０の先端位置との間の距離Ｓ（最短距離）を計算する。次いで、割合設定部２４は、第一制御入力と第二制御入力との間の比を距離Ｓに応じて設定する。
【００４２】
具体的には、図３Ａに示されるようにロボット１０の先端位置が第三領域Ｚ３の外側（Ｓ≧０）にある場合には、割合設定部２４は第一制御入力と第二制御入力との間の比を１：０に設定する。さらに、図３Ｂに示されるようにロボット１０の先端位置が第三領域Ｚ３の内側で且つ第三領域Ｚ３の境界から一定距離ａ以上（−ａ＞Ｓ）離れている場合には、割合設定部２４は第一制御入力と第二制御入力との間の比を０：１に設定する。さらに、ロボット１０の先端位置が第三領域Ｚ３の内側で且つ第三領域Ｚ３の境界から一定距離ａ（ａ＞０）以内（０＞Ｓ≧−ａ）にある場合には、割合設定部２４は第一制御入力と第二制御入力との間の比を（Ｓ／ａ＋１）：（−Ｓ／ａ）に設定する。
【００４３】
図３Ｃには、ロボットの先端と第三領域との間の距離と、第一制御入力の割合との関係が示されている。図３Ｃに示されるように、距離Ｓが所定値−ａ以下である場合には第一制御入力は０であり、この場合には第二制御入力のみが適用される。また、距離Ｓがゼロ以上である場合には第一制御入力は１であり、この場合には第二制御入力は適用されない。そして、距離Ｓが所定値−ａとゼロの間である場合には第一制御入力は（Ｓ／ａ＋１）である。
【００４４】
図３Ａから図３Ｃに示されるように実施形態においては、領域記憶部２３により記憶された第三領域Ｚ３の境界とロボット１０の先端位置との間の距離Ｓに応じて、割合設定部２４が第一制御入力と第二制御入力との間の比を変更している。このため、第一制御入力と第二制御入力とを円滑且つ容易に切替えられることがわかるであろう。
【００４５】
さらに、図４Ａおよび図４Ｂはロボットの二つの軸の角度の関係を示す図である。これら図面においては横軸はロボット１０の第一軸Ｊ１の角度を示しており、縦軸はロボット１０の第二軸Ｊ２の角度を示している。なお、縦軸および横軸がロボット１０の他の軸の角度であってもよい。
【００４６】
図４Ａおよび図４Ｂにおいては、第一軸Ｊ１において第二制御入力が適用される角度範囲Ｗ１および第二軸Ｊ２において第二制御入力が適用される角度範囲Ｗ２が示されている。第一軸Ｊ１および第二軸Ｊ２がそれぞれ角度範囲Ｗ１、Ｗ２内にあるときにはロボット１０の先端は第三領域Ｚ３にあり、以下のように第二制御入力が原則的に適用されるものとする。
【００４７】
さらに、図４Ａおよび図４Ｂにおいては、角度範囲Ｗ１の上限値から所定値ａ１だけ負方向にシフトした場所および角度範囲Ｗ１の下限値から所定値ａ１だけ正方向にシフトした場所にそれぞれ破線が示されている。同様に、角度範囲Ｗ２の上限値から所定値ａ２だけ負方向にシフトした場所および角度範囲Ｗ２の下限値から所定値ａ２だけ正方向にシフトした場所にもそれぞれ破線が示されている。
【００４８】
また、図４Ａおよび図４Ｂにおいては、第一センサ１１はロボット１０の各軸のモータＭに接続されたエンコーダＥであり、第二センサ１２はフルクローズド制御用のテープ式のリニアスケールおよびエンコーダであるものとする。
【００４９】
また、図４Ａおよび図４Ｂに示される実施形態において、第一制御部２１は、エンコーダＥとしての第一センサ１１の検出値からモータＭのトルク指令を計算するフィードバック制御系である。また、第二制御部２２は、フルクローズド制御用のエンコーダ値からモータＭのトルク指令を計算するフィードバック制御系である。
【００５０】
このような状況において、割合設定部２４は領域記憶部２３に記憶された、ロボット１０の各軸の位置を次元とする座標系における第三領域Ｚ３の境界とロボット１０の各軸の角度との間の差Ｔｉ（文字ｉは軸番号。従って、図４Ａおよび図４Ｂにおいて文字ｉは１または２）を計算する。言い換えれば、第一軸Ｊ１については差Ｔ１を求め、第二軸Ｊ２については差Ｔ２を求める。
【００５１】
具体的には図４Ａに点Ａ１で示されるように、第一軸Ｊ１の角度および第二軸Ｊ２の角度がそれぞれ角度範囲Ｗ１、Ｗ２の外側にある場合には、割合設定部２４は第一制御入力と第二制御入力との間の比を１：０に設定する。さらに、図４Ａに点Ａ２で示されるように、第一軸Ｊ１の角度および第二軸Ｊ２の角度がそれぞれ角度範囲Ｗ１、Ｗ２の内側で且つ角度範囲Ｗ１、Ｗ２の境界からそれぞれ所定値ａ１、ａ２以上離れている場合には、割合設定部２４は第一制御入力と第二制御入力との間の比を０：１に設定する。
【００５２】
さらに、図４Ａに点Ａ３で示されるように第一軸Ｊ１の角度および第二軸Ｊ２の角度がそれぞれ角度範囲Ｗ１、Ｗ２の内側で且つ角度範囲Ｗ１、Ｗ２の上下限値からの差が一定値ａｉ（ａｉ＞０）以内である場合（０＞Ｔ≧−ａｉ）には、割合設定部２４は第一制御入力と第二制御入力との間の比を（Ｔｉ／ａｉ＋１）：（−Ｔｉ／ａｉ）に設定する。
【００５３】
図４Ｃにはロボットの先端と第三領域との間の距離と、第一制御入力の割合との関係が示されている。図４Ｃに示されるように、角度Ｔｉが所定値−ａｉ以下である場合には第一制御入力は０であり、この場合には第二制御入力のみが適用される。また、角度Ｔｉがゼロ以上である場合には第一制御入力は１であり、この場合には第二制御入力は適用されない。そして、角度Ｔｉが所定値−ａｉとゼロの間である場合には第一制御入力は（Ｔｉ／ａｉ＋１）であり、残りが第二制御入力である。
【００５４】
ここで、図４Ｂに示される点Ａ４は角度範囲Ｗ１の内側でかつ角度範囲Ｗ２の外側にある。さらに、点Ａ４は角度範囲Ｗ１の上限値から所定値ａ１以上離れた位置にある。従って、第一軸Ｊ１については第二制御入力のみが適用され、第二軸Ｊ２については第一制御入力のみが適用される。
【００５５】
また、図４Ｂに示される点Ａ５は角度範囲Ｗ１、Ｗ２の内側にある。さらに点Ａ５は角度範囲Ｗ１の上限値から所定値ａ１以上離れた位置にあり、また角度範囲Ｗ２の下限値から所定値ａ２以内の位置にある。従って、第一軸Ｊ１については第二制御入力のみが適用され、第二軸Ｊ２については第一制御入力の割合は（Ｔｉ／ａｉ＋１）であり、残りが第二制御入力となる。つまり、第一軸Ｊ１および第二軸Ｊ２でそれぞれ異なる制御を行うようにできる。
【００５６】
図４Ａから図４Ｃに示されるように実施形態においては、領域記憶部２３により記憶された第三領域Ｚ３の境界とロボット１０の各軸の角度の差に応じて、割合設定部２４が各軸についての第一制御入力と第二制御入力との間の比を変更している。このため、第一制御入力と第二制御入力とをさらに円滑且つ容易に切替えられることがわかるであろう。
【００５７】
このように、本発明においては、ロボット１０の動作範囲Ｚ０内で且つ第三領域Ｚ３の外側では第一制御入力のみを適用し、第三領域Ｚ３の内側では第二制御入力のみを適用している。従って、ロボット１０の動作領域が限定されることはない。
【００５８】
さらに、本発明では、ロボット１０の動作領域Ｚ０および第二センサ１２を使用可能な第二領域Ｚ２の両方に含まれる第三領域Ｚ３と、ロボット１０の位置および姿勢との比較に基づいて、第二センサ１２を用いない第一制御と第二センサ１２を用いる第二制御とに対して重み付けを行っている。このため、第一制御と第二制御とを円滑に切替えることが可能となっている。
【００５９】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【符号の説明】
【００６０】
１０    ロボット
１１    第一センサ（エンコーダ）
１２    第二センサ
１８    ハンド
２０    ロボット制御装置
２１    第一制御部
２２    第二制御部
２３    領域記憶部
２４    割合設定部
２５    加算部
２６    通知部
２９    制御実行部
Ｍ    モータ
【図１】
0006400538.tif 000002
【図２】
0006400538.tif 000003
【図３Ａ】
0006400538.tif 000004
【図３Ｂ】
0006400538.tif 000005
【図３Ｃ】
0006400538.tif 000006
【図４Ａ】
0006400538.tif 000007
【図４Ｂ】
0006400538.tif 000008
【図４Ｃ】
0006400538.tif 000009