(57)【特許請求の範囲】
【請求項１】
ユーザからの入力操作を受ける入力操作部と、
前記入力操作部に入力された入力操作に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備え、
前記動作指令生成部は、
前記入力操作部に入力された前記入力操作の操作量を判断する操作量判断処理と、
前記入力操作の操作量に基づいて前記ロボットの移動量を算出する移動量算出処理と、を行うことができ、
前記移動量算出処理は、前記入力操作の操作量を拡大又は縮小して前記ロボットの移動量を決定するための倍率について、前記入力操作が操作開始位置から第１区間を通過するまでは前記倍率を一定値である第１倍率に設定し、前記入力操作が前記第１区間を通過してから第２区間を通過するまでは前記倍率を前記第１倍率より大きい値である第２倍率に設定し、前記入力操作が前記第２区間を通過した後は前記倍率を前記第１倍率より大きい一定値である第３倍率に設定して、前記ロボットの移動量を決定する処理であり、
前記第２倍率は、前記第１倍率から前記第３倍率までの範囲で、前記入力操作の操作量に応じて連続的に増加する値である、
ロボット操作装置。
【請求項２】
前記動作指令生成部は、
前記入力操作の操作量を前記入力操作に要した時間で除した値に基づいて前記ロボットの移動速度を決定する移動速度算出処理、
をさらに行うことができる請求項１に記載のロボット操作装置。
【請求項３】
前記第１倍率は、１より小さい一定の値である、
請求項１又は２に記載のロボット操作装置。
【請求項４】
前記入力操作部は、押し傾けることが可能に設けられたレバーであり、
前記操作量判断処理は、前記レバーの傾き量に基づいて前記入力操作の操作量を判断する処理である、
請求項１から３のいずれか一項に記載のロボット操作装置。
【請求項５】
４軸水平多関節型のロボット又は６軸垂直多関節型のロボットと、
前記ロボットの動作を制御するコントローラと、
請求項１から４のいずれか一項に記載のロボット操作装置と、
を備えているロボットシステム。
【請求項６】
ユーザからの入力操作を受ける入力操作部、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
前記入力操作部に入力された入力操作の操作量を判断する操作量判断処理と、
前記操作量判断処理で判断した操作量に基づいて複数の駆動軸を有する多関節型のロボットの移動量を算出する移動量算出処理と、
前記移動量算出処理で算出した移動量に基づいて前記ロボットを動作させるための動作指令を生成する動作指令生成処理と、
を実行させることができ、
前記移動量算出処理は、前記入力操作の操作量を拡大又は縮小して前記ロボットの移動量を決定するための倍率について、前記入力操作が操作開始位置から第１区間を通過するまでは前記倍率を一定値である第１倍率に設定し、前記入力操作が前記第１区間を通過してから第２区間を通過するまでは前記倍率を前記第１倍率より大きい値である第２倍率に設定し、前記入力操作が前記第２区間を通過した後は前記倍率を前記第１倍率より大きい一定値である第３倍率に設定して、前記ロボットの移動量を決定する処理であり、
前記第２倍率は、前記第１倍率から前記第３倍率までの範囲で、前記入力操作の操作量に応じて連続的に増加する値である、
ロボット操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを手動操作する際に用いられるロボット操作装置、そのロボット操作装置を備えたロボットシステム、及びそのロボットシステムに用いられるロボット操作プログラムに関する。
【背景技術】
【０００２】
例えば産業用のロボットシステムにおいては、ロボットを手動により動作させること（マニュアル動作）が可能となっている。このような動作は、例えば教示作業（ティーチング）などを行う際に利用される。この場合、ユーザは、ロボットを制御するコントローラに接続されたペンダント（ティーチングペンダント）などを用いて、手動でロボットの操作を行うことになる。そのため、ペンダントには、例えば機械的なスイッチからなるキーやジョイスティック等の入力操作部が設けられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−８１５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、このようなペンダントは、入力操作部に入力される操作量に応じてロボットの移動速度を決定するか、又は入力操作部に操作が入力されている間は操作量にかかわらず一定速度でロボットを移動させる構成のものが多い。しかしこの場合、ユーザは、ロボットの移動量（移動距離）を直接決定することができないため、細かい調整がし難く、改善の余地があった。
【０００５】
そこで、操作性の向上を図ることができるロボット操作装置、ロボットシステム、及びロボット操作用プログラムを提供する。
【課題を解決するための手段】
【０００６】
（請求項１）
請求項１に記載のロボット操作装置は、ユーザからの入力操作を受ける入力操作部と、入力操作部に入力された入力操作に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備える。動作指令生成部は、入力操作部に入力された入力操作の操作量を判断する操作量判断処理と、入力操作の操作量に基づいてロボットの移動量を算出する移動量算出処理と、を行うことができる。
【０００７】
従来のように、入力操作の操作量に応じてロボットの移動速度を決定するか、又は入力操作が入力されている間はその操作量にかかわらず一定速度でロボットを移動させる構成のものにおいては、ユーザは、入力操作を行う時間を調整することで、ロボットの移動量を調整する必要がある。そのため、ユーザは、ロボットの移動量を直接入力することができず、直感的な操作を行うことができない。一方、ユーザが、ロボット操作装置にロボットの移動量等の数値を入力することも考えられる。しかし、この場合も、操作の度に数値を入力しなければならないため、直感的な操作ができないばかりか、数値を入力する手間が増え、その結果、教示に要する時間も増大することになる。
【０００８】
本発明のロボット操作装置において、ユーザの入力操作部に対する入力操作の操作量と、ロボットの移動量とは相関を有することになる。すなわち、ユーザは、入力操作の操作量を調整することにより、ロボットの移動量を調整することができる。そのため、ユーザは、直感的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０００９】
（請求項２）
請求項２に記載のロボット操作装置によれば、動作指令生成部は、入力操作の操作量を入力操作に要した時間で除した値に基づいてロボットの移動速度を決定する移動速度算出処理を行うことができる。これによれば、入力操作の操作量及び入力操作に要した時間と、ロボットの移動速度とが相関を有する。したがって、ユーザは、入力操作の操作量及び時間を調整することで、ロボットの移動速度も調整することができる。
【００１０】
すなわち、ユーザは、入力操作に際し、その入力操作の操作量と入力時間とを調整することにより、ロボットの移動量と移動速度との両方を調整することができる。つまり、ユーザは、ロボットの移動量を同一にする場合であっても、入力操作の入力時間を調整することで、ロボットの移動速度を調整することができる。例えば、ロボットに緩やかな動作をさせたい場合、ユーザは、入力操作の入力時間を長くするつまり入力操作をゆっくり行うことで、ロボットの移動速度を遅くすることができる。一方、ロボットに素早い動作をさせたい場合、ユーザは、入力操作の入力時間を短くするつまり入力操作を素早く行うことで、ロボットの移動速度を速くすることができる。
【００１１】
このように、本構成のロボット操作装置によれば、入力操作の入力時間とロボットの移動速度とが相関を有するため、ユーザによる直感的な操作が可能になる。また、これによれば、ユーザは、ロボットの移動速度と移動量を決定するために、複数の操作例えばロボットの移動速度を決定するための操作とロボットの移動量を決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００１２】
（請求項３）
請求項３に記載のロボット操作装置によれば、動作指令生成部は、移動量決定処理を行うことができる。移動量決定処理は、入力操作の操作量を拡大又は縮小してロボットの移動量を決定するための倍率について、入力操作が操作開始位置から第１区間を通過するまでは倍率を１より小さい一定の値である第１倍率に設定し、入力操作が第１区間を通過した後は倍率を第１倍率より大きい値に設定して、ロボットの移動量を決定する処理である。
【００１３】
これによれば、ユーザは、第１区間内で入力操作することで、ロボットを、１より小さい一定の倍率である第１倍率で移動させることができる。つまり、ユーザは、入力操作を、第１区間内で繰り返すことで、ロボットに微小な動作（微動）をさせることができる。また、ユーザは、第１区間を超えて入力操作することで、第１区間を超えた部分について、ロボットを、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、入力操作について、第１区間を超えて操作することで、ロボットに比較的大きな動作（粗動）をさせることができる。このように、ユーザは、１度の入力操作で、異なる倍率でロボットを移動させることができる。
【００１４】
すなわち、これによれば、例えばロボットの微動と粗動との両方の動作を、１回の入力操作で実現することができる。したがって、ユーザは、ロボットの微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００１５】
（請求項１）
請求項１に記載のロボット操作装置によれば、移動量決定処理は、入力操作が第１区間を通過してから第２区間を通過するまでは倍率を第２倍率に設定し、入力操作が第２区間を通過した後は倍率を一定値である第３倍率に設定して、ロボットの移動量を決定する処理である。これによれば、ユーザは、第１区間内で入力操作を繰り返すことにより、１より小さい第１倍率でロボットを動作（微動）させることができる。また、ユーザは、第１区間を超えて入力操作を行うことにより、第１倍率よりも大きい第２倍率又は第３倍率でロボットを動作（粗動）させることができる。
【００１６】
さらに、第２倍率は、第１倍率から第３倍率までの範囲で、入力操作の操作量に応じて連続的に増加する値である。これによれば、第１倍率による微動と第３倍率による粗動との間の倍率である第２倍率が、第１倍率から第３倍率までの範囲で、入力操作の操作量に応じて連続的に増加する。すなわち、一定値である第１倍率と第３倍率との間が、連続して変化する第２倍率によって繋がれている。そのため、入力操作の操作量に対するロボットの移動量を決定するための倍率は、第１倍率から、次第に変化する第２倍率を経て第３倍率に切り替わる。これにより、ロボットの移動量を決定するための倍率が、第１倍率から第３倍率に急激に切り替わることが防止される。すなわち、ロボットの移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボットの急激な速度変化（急動）を防止することができる。その結果、更なる安全性の向上が図られる。
【００１７】
（請求項４）
入力操作部は、押し傾けることが可能に設けられたレバーである。また、操作量判断処理は、レバーの傾き量に基づいて入力操作の操作量を判断する処理である。これによれば、ユーザは、レバーを押し傾けるように操作することで、少なくともロボットの移動量を決定することができる。したがって、より直感的な操作が可能になる。
【００１８】
（請求項５）
請求項５に記載のロボットシステムは、４軸水平多関節型のロボット又は６軸垂直多関節型ロボットと、ロボットの動作を制御するコントローラと、請求項１から５のいずれか一項に記載のロボット操作装置とを備えている。ロボット操作装置は、前述したとおり、ユーザによる手動操作に従い、ロボットを動作させるための動作指令を生成することができる。したがって、これによれば、操作対象とするロボットについて手動操作が可能なロボットシステムを実現することができる。
【００１９】
（請求項６）
請求項６に記載のロボット操作プログラムは、請求項１に記載のロボット操作装置を実現するものである。これによれば、請求項６に記載のロボット操作プログラムを、例えば既存のロボット操作装置で実行することで、上述したロボット操作装置としての機能を付加することができる。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態による４軸型のロボットシステムの一例を示す全体構成図
【図２】第１実施形態によるティーチングペンダントの電気的構成の一例を示すブロック図
【図３】第１実施形態について、レバーの構成の一例を示す図
【図４】第１実施形態について、入力操作による入力角度の一例を示す図
【図５】第１実施形態について、（１）は入力角度とロボットの移動量との相関を示す図、（２）は入力角速度とロボットの移動速度との相関を示す図
【図６】第１実施形態について、動作指令生成部が行う処理内容の一例を示すフローチャート
【図７】第１実施形態による６軸型のロボットシステムの一例を示す全体構成図
【図８】第２実施形態について、動作指令生成部が行う処理内容の一例を示すフローチャート
【図９】第２実施形態について、入力操作による入力角度の一例を示す図
【図１０】第３実施形態について、入力操作による入力角度の一例を示す図
【図１１】第３実施形態について、（１）は入力操作による入力角度と操作倍率との相関を示す図、（２）は入力操作による入力角度とロボットの移動量との相関を示す図
【図１２】第３実施形態について、図１１とは異なる他の例を示すもので、（１）は入力操作による入力角度と操作倍率との相関を示す図、（２）は入力操作による入力角度とロボットの移動量との相関を示す図
【発明を実施するための形態】
【００２１】
（第１実施形態）
以下、第１実施形態について図１から図７を参照しながら説明する。
図１は、一般的な産業用ロボットのシステム構成を示している。図１に示すロボットシステム１０は、コントローラ１１、ロボット２０、及びティーチングペンダント３０（ロボット操作装置に相当）を備えている。ロボット２０は、例えば４軸の水平多関節型ロボットである。ロボット２０は、作業台Ｄに固定されて使用される。ロボット２０は、固有のロボット座標系（Ｘ軸、Ｙ軸及びＺ軸からなる三次元直交座標系）に基づいて動作する。本実施形態において、ロボット座標系は、ベース２１の中心を原点Ｏとし、作業台Ｄの上面をＸ−Ｙ平面とし、Ｘ−Ｙ平面と直交する座標軸をＺ軸として定義されている。作業台Ｄの上面は、ロボット２０を設置するための設置面である。この場合、作業台Ｄの上面つまりロボット２０の設置面が、ロボット２０の動作基準面に相当する。なお、動作基準面としては、設置面に限らずとも、任意の平面であってもよい。
【００２２】
ロボット２０は、ベース２１、第１アーム２２、第２アーム２３、シャフト２４、及びフランジ２５を有している。このロボット２０は、４つの駆動軸Ｊ１１〜Ｊ１４を有する４軸型の水平多関節ロボットである。ベース２１は、設置面Ｄに固定されている。第１軸Ｊ１１は、ベース２１上において、Ｚ軸（垂直軸）方向の軸心を有する回転軸である。第１アーム２２は、ベース２１上に対し第１軸Ｊ１１を中心に回転可能に設けられている。
【００２３】
第２軸Ｊ１２は、第１アーム２２のベース２１と反対側の先端部において、Ｚ軸（垂直軸）方向の軸心を有する回転軸である。第２アーム２３は、第１アーム２２の先端部に設けられている。第２アーム２３は、第１アーム２２に対して第２軸Ｊ１２を中心に回転可能である。シャフト２４は、第２アーム２３における第１アーム２２と反対側の先端部において、上下動可能で且つ回転可能に設けられている。第３軸Ｊ１３は、シャフト２４を上下動させるための軸である。第４軸Ｊ１４は、シャフト２４を回転させるための軸である。フランジ２５は、シャフト２４の先端部つまり下端部に、着脱可能に設けられている。
【００２４】
ベース２１、第１アーム２２、第２アーム２３、シャフト２４、及びフランジ２５は、ロボット２０のアームとして機能する。アーム先端であるフランジ２５には、図示はしないが、エンドエフェクタ（手先）が取り付けられる。例えば、ロボット２０を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。ロボット２０に設けられる各駆動軸Ｊ１１〜Ｊ１４は、それぞれに対応して設けられるモータ（図示せず）により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器（図示せず）が設けられている。
【００２５】
コントローラ１１は、ロボット２０を制御するためのものであり、接続ケーブルを介してロボット２０に接続されている。ティーチングペンダント３０は、接続ケーブルを介してコントローラ１１に接続されている。コントローラ１１とティーチングペンダント３０との間では、図２に示す通信インターフェイス３５を経由してデータ通信が行われる。これにより、ユーザの操作に応じて入力される各種の操作情報が、ティーチングペンダント３０からコントローラ１１に送信される。また、コントローラ１１は、ティーチングペンダント３０に対し、各種の制御信号や表示用の信号などを送信するとともに、駆動用の電力を供給する。
【００２６】
コントローラ１１は、ティーチングペンダント３０からの指令に応じて、ロボット２０を手動動作又は自動動作するように制御する。この場合、手動動作とは、ユーザがティーチングペンダント３０を操作して、ロボット２０の動作を逐次指令して動作させることをいう。また、自動動作とは、ロボット２０に予め定められた手順に従った動作を自動で実行させることをいう。手動動作には、手先系の動作と各軸系の動作とがある。手先系の動作とは、ロボット２０の手先を基準として各駆動軸Ｊ１１〜Ｊ１４を組み合わせて駆動させる駆動態様である。手先系の動作には、ロボット２０の手先を水平方向へ移動させる水平移動動作と、ロボット２０の手先を垂直方向へ移動させる垂直移動動作と、ロボット２０の手先を回転させる回転動作と、がある。また、各軸系の動作とは、各駆動軸Ｊ１１〜Ｊ１４を個別に駆動させる駆動態様である。
【００２７】
ティーチングペンダント３０は、例えばユーザが携帯して操作可能な程度の大きさである。ティーチングペンダント３０は、図１に示すように、ケース３１、表示部３２、各種スイッチ３３、及び入力操作部としてのレバー３４を備えている。ケース３１は、略矩形箱状である。表示部３２は、例えば液晶ディスプレイであって、ケース３１の表面側の中央部に設けられている。表示部３２には、設定内容や動作状況等の各種の情報を表示される。各種スイッチ３３は、表示部３２の周囲に設けられた例えばプッシュスイッチ等の物理的なスイッチである。ユーザは、スイッチ３３を操作することで、手動動作と自動動作との切替や、動作態様の選択つまり各軸系の動作又は手先系の動作の選択など、各種設定を行うことができる。レバー３４は、押し倒して操作つまり傾倒操作が可能な、いわゆるジョイスティックと称されるものである。ユーザは、レバー３４を操作することで、ロボット２０の移動を操作することができる。
【００２８】
次に、ティーチングペンダント３０の電気的な構成について図２を参照して説明する。ティーチングペンダント３０は、上述した表示部３２、スイッチ３３、レバー３４、及び通信インターフェイス３５に加え、制御部３６、入力操作検出部３７、及び動作指令生成部３８を有している。制御部３６は、例えばＣＰＵ３６１や、ＲＯＭ、ＲＡＭ、および書き換え可能なフラッシュメモリなどの記憶領域３６２を有するマイクロコンピュータを主体に構成されており、ティーチングペンダント３０の全体を制御する。記憶領域３６２は、ロボット操作プログラムを記憶している。制御部３６は、ＣＰＵ３６１においてロボット操作プログラムを実行することにより、入力操作検出部３７および動作指令生成部３８などを、ソフトウェアによって仮想的に実現する。なお、これら入力操作検出部３７及び動作指令生成部３８は、例えば制御部３６と一体の集積回路としてハードウェア的に実現してもよい。
【００２９】
レバー３４は、図３に示すように、ケース３１内に設けられた図示しない支点部を中心に、少なくともケース３１に対して上下左右の四方向へ押し倒すことができるようになっている。なお、この場合の上下左右とは、図１に示すようにティーチングペンダント３０を基準として見たものであり、重力方向やロボット２０の座標軸には依存しない。レバー３４は、例えばバネなどを内蔵しており、ユーザからの入力が開放されると、図３の一点鎖線Ａで示す位置に復帰するようになっている。この図３の一点鎖線Ａで示す位置を、レバー３４の初期位置Ａとする。この初期位置Ａは、操作開始位置に相当する。
【００３０】
また、レバー３４は、図３の一点鎖線Ｂで示す位置まで傾くことができる。この一点鎖線Ｂで示す位置を、レバー３４の限界位置Ｂとする。そして、レバー３４の傾倒可能な角度、つまり初期位置Ａから限界位置Ｂまでの角度を限界角度θｅとする。すなわち、限界角度θｅは、一点鎖線Ａと一点鎖線Ｂとの成す角度である。本実施形態の場合、レバー３４の限界角度θｅは、例えば基準位置Ａに対して６０°に設定されている。つまり、一点鎖線Ａと一点鎖線Ｂとの成す角度は６０°である。なお、レバー３４の可動範囲つまりレバー３４の限界角度θｅは、基準位置Ａから６０°の位置に限られず、適宜変更することができる。入力操作検出部３７は、レバー３４の操作量つまり基準位置Ａからの角度を検出し、その検出結果を制御部３６へ送信する。
【００３１】
動作指令生成部３８は、入力操作検出部３７により検出された入力操作に基づいて、ロボット２０を手動動作させるための動作指令を生成する。例えば、手先系の水平移動動作について見ると、レバー３４の操作方向とロボット２０の移動方向とは次のような相関を有する。すなわち、レバー３４が図１に示す上側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＸ軸の負（−）側へ移動させるように動作指令を生成する。レバー３４が図１に示す下側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＸ軸の正（＋）側へ移動させるように動作指令を生成する。レバー３４が図１に示す右側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＹ軸の正（＋）側へ移動させるように動作指令を生成する。レバー３４が図１に示す左側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＹ軸の負（−）側へ移動させるように動作指令を生成する。
【００３２】
手先系の垂直移動動作について見ると、レバー３４が図１に示す上側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＺ軸の正（＋）側へ移動させる、つまり上昇させるように動作指令を生成する。一方、レバー３４が図１に示す下側へ倒された場合、動作指令生成部３８は、ロボット２０の手先をＺ軸の負（−）側へ移動させる、つまり下降させるように動作指令を生成する。手先系の回転動作について見ると、レバー３４が図１に示す右側へ倒された場合、動作指令生成部３８は、ロボット２０の手先を、第４軸Ｊ１４の正（＋）側へ回転するように動作指令を生成する。一方、レバー３４が図１に示す左側へ倒された場合、動作指令生成部３８は、ロボット２０の手先を、第４軸Ｊ１４の負（−）側へ回転するように動作指令を生成する。
【００３３】
また、各軸系の動作について見ると、選択されている駆動軸が第１軸Ｊ１１、第２軸Ｊ１２、又は第４軸Ｊ１４のいずれかである場合、レバー３４の操作方向と各駆動軸の駆動方向とは例えば次のような関係になる。すなわち、この場合、動作指令生成部３８は、レバー３４が図１の右側へ倒されると、選択されている駆動軸を正（＋）側へ駆動させるように動作指令を生成する。また、この場合、動作指令生成部３８は、レバー３４が図１の左側へ倒されると、選択されている軸を負（−）側へ駆動させるように動作指令を生成する。
【００３４】
一方、選択されている駆動軸が第３軸Ｊ１３である場合、動作指令生成部３８は、レバー３４の操作方向と各駆動軸の駆動方向とは例えば次のような関係になる。すなわち、この場合、動作指令生成部３８は、レバー３４が図１の上側へ倒されると、第３軸Ｊ１３を正（＋）側へ駆動させるように動作指令を生成する。また、この場合、動作指令生成部３８は、レバー３４が図１の下側へ倒されると、第３軸Ｊ１３を負（−）側へ駆動させるように動作指令を生成する。そして、動作指令生成部３８により生成された動作指令は、通信インターフェイス３５を通じてコントローラ１１に与えられる。
【００３５】
次に、レバー３４が操作された際のロボット２０の移動速度及び移動量（移動距離）の決定に関して図４から図６も参照して説明する。動作指令生成部３８は、操作量判断処理と、移動量算出処理と、を行うことができる。操作量判断処理は、レバー３４（入力操作部）に入力された入力操作の操作量つまりレバー３４の入力角度を判断する処理である。この場合、入力操作とは、ユーザがレバー３４を押し倒して行う操作を意味する。また、入力角度とは、ユーザによってレバー３４が押し倒された際における基準位置Ａに対するレバー３４の角度を意味する。移動量算出処理は、入力操作の操作量つまりレバー３４の入力角度に基づいて、ロボット２０の移動量を算出する処理である。
【００３６】
例えば、図４では、レバー３４の初期位置Ａに対して入力操作が行われた際のレバー３４の位置の一例を実線Ｐで示している。なお、実線Ｐは、入力位置Ｐと称する。また、初期位置Ａと入力位置Ｐとの成す角度を、入力角度θｉとする。入力操作の終了は、レバー３４の入力角度θｉの変化が無くなったとき、及びレバー３４の操作が解除されてレバー３４が初期位置Ａに復帰したときつまり入力角度θｉが０°になったときである。動作指令生成部３８は、入力角度θｉに基づいて、ロボット２０の移動量Ｌｒを算出する。本実施形態において、入力角度θｉとロボット２０の移動量Ｌｒとは、例えば図５（１）に示すように正比例の関係を有している。この場合、例えば入力角度θｉが１°増すごとに、ロボット２０の移動量が１ｍｍ増大するように設定されている。
【００３７】
また、動作指令生成部３８は、入力角度θｉを入力操作の入力時間Ｔｉで除した値、つまり、入力操作におけるレバー３４の平均角速度ωに基づいて、ロボット２０の平均速度Ｖｒを算出する。この場合、入力操作におけるレバー３４の平均角速度ωを、入力角速度ωと称する。本実施形態において、入力角速度ωとロボット２０の平均速度Ｖｒとは、例えば図５（２）に示すように入力角速度ωが所定値この場合６０°／ｓになるまでは正比例の関係を有している。そして、入力角速度ωが６０°／ｓを超えると、ロボット２０の平均速度Ｖｒは所定値この場合６０ｍｍ／ｓで一定になる。この場合、入力角速度ωが１°／ｓ増すごとに、ロボット２０の平均速度Ｖｒが１ｍｍ／ｓ増大するように設定されている。
【００３８】
動作指令生成部３８は、上述の構成を実現するため、図６に示す内容の制御を実行する。動作指令生成部３８は、レバー３４に対する入力操作を検出して、図６に示す制御を開始すると、ステップＳ１１からＳ１３において、操作量判断処理を実行する。まず、動作指令生成部３８は、ステップＳ１１において、入力操作の入力角度θｉを検出する。次に、動作指令生成部３８は、ステップＳ１２において、入力操作に要した時間つまり入力時間Ｔｉを検出する。次に、動作指令生成部３８は、ステップＳ１３において、入力角度θｉおよび入力時間Ｔｉから、入力操作の入力角速度ω及び操作方向を算出する。この場合、入力角速度ωは、入力角度θｉを入力時間Ｔｉで除した値である。また、操作方向は、上下左右のいずれか一方向である。
【００３９】
その後、動作指令生成部３８は、ステップＳ１４において移動量算出処理を実行する。動作指令生成部３８は、ステップＳ１４において、入力角度θｉと入力角速度ωと操作方向とから、ロボット２０の移動量Ｌｒと平均速度Ｖｒと移動方向とを算出する。そして、動作指令生成部３８は、ステップＳ１５において動作指令生成処理を実行する。動作指令生成部３８は、ステップＳ１５において、ステップＳ１４で決定したロボット２０の移動量Ｌｒ、平均速度Ｖｒ、及び移動方向に基づいて、動作指令を生成する。そして、その動作指令がコントローラ１１へ送信され、コントローラ１１は、その動作指令に基づいてロボット２０の動作を制御する。これにより、動作指令生成部３８は、一連の処理を終了する。
【００４０】
このティーチングペンダント３０によれば、手動操作をする際、レバー３４に対する入力操作の操作量（入力角度θｉ）と、ロボット２０の移動量（移動量Ｌｒ）とが相関を有することになる。すなわち、ユーザは、入力角度θｉを調整することにより、ロボット２０の移動量Ｌｒを調整することができる。そのため、ユーザは、直感的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００４１】
また、このティーチングペンダント３０によれば、動作指令生成部３８は、入力角度θｉを入力時間Ｔｉで除した値に基づいてロボット２０の移動速度Ｖｒを決定する移動速度算出処理を行うことができる。これによれば、入力角度θｉ及び入力時間Ｔｉと、ロボット２０の移動速度Ｖｒとが相関を有する。したがって、ユーザは、入力角度θｉ及び入力時間Ｔｉを調整することで、ロボット２０の移動速度Ｖｒも調整することができる。
【００４２】
すなわち、ユーザは、入力操作を行うに際し、入力角度θｉと入力時間Ｔｉとを調整するだけで、ロボット２０の移動速度Ｖｒと移動量Ｌｒとの両方を調整することができる。つまり、ユーザは、ロボット２０の移動量Ｌｒを同一にする場合であっても、入力操作の入力時間Ｔｉを調整することで、ロボット２０の移動速度Ｖｒを調整することができる。例えば、ロボット２０に緩やかな動作をさせたい場合、ユーザは、入力操作の入力時間Ｔｉを長くする、つまり入力操作をゆっくり行うことで、ロボット２０の移動速度Ｖｒを遅くすることができる。一方、ロボット２０に素早い動作をさせたい場合、ユーザは、入力操作の入力時間Ｔｉを短くする、つまり入力操作を素早く行うことで、ロボット２０の移動速度Ｖｒを速くすることができる。このように、本実施形態によれば、入力操作の入力時間Ｔｉとロボット２０の移動速度Ｖｒとが相関を有するため、ユーザによる直感的な操作が可能になる。
【００４３】
また、これによれば、ユーザは、ロボット２０の移動速度Ｖｒと移動量Ｌｒとを決定するために、複数の操作例えばロボット２０の移動速度Ｖｒを決定するための操作とロボット２０の移動量Ｌｒを決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００４４】
本実施形態は、例えば図７に示すような６軸型の垂直多関節ロボット４０にも適用することができる。ロボット４０は、ベース４１、ショルダ部４２、下アーム４３、第１上アーム４４、第２上アーム４５、手首４６、及びフランジ４７を有している。このロボット４０は、６つの駆動軸Ｊ２１〜Ｊ２６を有する。ベース４１は、設置面Ｄに固定されている。第１軸Ｊ２１は、ベース４１上において、Ｚ軸方向の軸心を有する回転軸である。ショルダ部４２は、ベース４１に対し第１軸Ｊ２１を中心に回転可能に設けられている。
【００４５】
第２軸Ｊ２２は、ショルダ部４２の上端部分においてＹ軸方向の軸心を有する回転軸である。下アーム４３は、ショルダ部４２の上端部分に設けられている。下アーム４３は、ショルダ部４２に対し第２軸Ｊ２２を中心に回転可能に設けられている。第３軸Ｊ２３は、下アーム４３のベース４１と反対側の先端部において、Ｙ軸方向の軸心を有する回転軸である。第１上アーム４４は、下アーム４３の先端部に設けられている。第１上アーム４４は、下アーム４３の先端部に対し第３軸Ｊ２３を中心に回転可能に設けられている。第４軸Ｊ２４は、第１上アーム４４の下アーム４３と反対側の先端部おいて、第１上アーム４４が伸びる方向と同一方向の軸心を有する回転軸である。第２上アーム４５は、第１上アーム４４の先端部に設けられている。第２上アーム４５は、第１上アーム４４の先端部に対し第４軸Ｊ２４を中心に捻り回転可能に設けられている。
【００４６】
第５軸Ｊ２５は、第２上アーム４５の第１上アーム４４と反対側の先端部において、水平方向の軸心を有する回転軸である。手首４６は、第２上アーム４５の先端部に設けられている。手首４６は、第２上アーム４５の先端部に対し第５軸Ｊ２５を中心に回転可能に設けられている。第６軸Ｊ２６は、第５軸Ｊ２５に対して直角方向の軸心を有する回転軸である。フランジ４７は、手首４６に設けられ、第６軸Ｊ２６を中心に捻り回転可能に設けられている。
【００４７】
ベース４１、ショルダ部４２、下アーム４３、第１上アーム４４、第２上アーム４５、手首４６及びフランジ４７は、ロボット４０のアームとして機能する。アーム先端であるフランジ４７（手先に相当）には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。ロボット４０に設けられる複数の軸（Ｊ２１〜Ｊ２６）は、それぞれに対応して設けられるモータ（図示せず）により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器（図示せず）が設けられている。
【００４８】
（第２実施形態）
次に、第２実施形態について、図８及び図９も参照して説明する。本実施形態は、ロボット２０、４０の動作を、入力操作に対してほぼリアルタイムで実行するための構成である。すなわち、上記第１実施形態では、レバー３４に対する入力操作が終了した後に、ロボット２０、４０の動作が行われる。そのため、ロボット２０、４０の動作は、入力操作の終了後になる。したがって、ユーザによる入力操作と、ロボット２０、４０の実際の動作とに、時間差が生じる。一方、本実施形態において、動作指令生成部３８は、入力操作が終了する前であっても、ロボット２０、４０の動作指令を適宜生成する。したがって、ロボット２０、４０の実際の動作は、ユーザによる入力操作に対して、ほぼリアルタイムで行われる。
【００４９】
具体的には、動作指令生成部３８は、入力操作が行われている間は一定の周期Ｓで操作量判断処理と移動量算出処理と移動速度算出処理と動作指令生成処理とを行うことができる。入力操作が行われている間とは、入力角度θｉに変化が生じている間をいう。動作指令生成部３８は、上述の構成を実現するために、図８の内容の制御を実行する。動作指令生成部３８は、入力操作を検出している間、図８に示す処理内容を実行する。
【００５０】
動作指令生成部３８は、図８に示す処理を開始すると、まず、ステップＳ２１において、レバー３４の現在位置Ｐ１における入力角度θｉ１（図９参照）を検出する。次に、動作指令生成部３８は、ステップＳ２２において、一定の時間Ｓが経過するまで待機する（ステップＳ２２でＮＯ）。動作指令生成部３８は、時間Ｓが経過すると（ステップＳ２２でＹＥＳ）、ステップＳ２３において、レバー３４の現在位置Ｐ２における入力角度θｉ２（図９参照）を検出する。次に、動作指令生成部３８は、ステップＳ２４において、入力角度θｉ１と入力角度θｉ２との差から時間Ｓ当たりの入力角度ｄθ及び操作方向を算出するとともに、その入力角度ｄθを時間Ｓで除して入力角速度ωを算出する。このステップＳ２１〜Ｓ２４には、操作量判断処理が含まれている。
【００５１】
次に、動作指令生成部３８は、ステップＳ２５において、入力角度ｄθ、入力角速度ω、及び時間Ｓから、時間Ｓ当たりのロボット２０、４０の移動量ｄＬｒ及び移動速度ｄＶｒを算出する。このステップＳ２４、Ｓ２５には、移動量算出処理及び移動速度算出処理が含まれている。そして、動作指令生成部３８は、ステップＳ２６において、動作指令生成処理を実行し、時間Ｓ当たりのロボット２０、４０の移動量ｄＬｒ、平均速度ｄＶｒ、及び移動方向に基づいて、動作指令を生成する。そして、その動作指令がコントローラ１１へ送信され、コントローラ１１は、その動作指令に基づいてロボット２０、４０の動作を制御する。
【００５２】
その後、動作指令生成部３８は、ステップＳ２７において、入力操作が終了したか否かを判断する。動作指令生成部３８は、入力操作が終了していないと判断した場合（ステップＳ２７でＮＯ）、ステップＳ２１へ移行し、ステップＳ２１からステップＳ２７を繰り返す。一方、動作指令生成部３８は、入力操作が終了したと判断した場合（ステップＳ２７でＹＥＳ）、一連の処理を終了する。このようにして、動作指令生成部３８は、入力操作が行われている間、一定時間Ｓつまり一定周期Ｓで、操作量判断処理と移動量算出処理と移動速度算出処理と動作指令生成処理
【００５３】
本実施形態によれば、動作指令生成部３８は、ユーザによる入力操作の終了を待つことなく、動作指令を生成することができる。したがって、動作指令生成部３８は、ユーザからの入力操作に対してほぼリアルタイムで、ロボット２０、４０を動作させるための動作指令を生成することができる。そのため、ユーザによる入力操作と、ロボット２０、４０の実際の動作と時間差を、極力低減することができる。よって、ユーザは、より直感的な操作が可能になり、その結果、安全性の向上、ひいては教示時間の短縮を図ることができる。
【００５４】
（第３実施形態）
次に、第３実施形態について、図１０から図１２を参照して説明する。本実施形態は、入力操作の操作量とロボット２０、４０の移動量との間の倍率に関するものである。倍率とは、操作入力による入力角度を拡大又は縮小してロボット２０、４０の移動量を決定するためのものである。ティーチングペンダント４は、より精密な動作をロボット２０、４０に行わせるため、入力操作の入力角度とロボット２０、４０の移動量との間に倍率を設定することが考えられる。例えば、本実施形態では、図５（１）に示すように、入力操作の入力角度θｉが１°増加するのに応じて、ロボット２０、４０の移動量を１ｍｍ増加させる場合を基準にする。この場合、入力角度θｉの１°が、ロボット２０、４０の１ｍｍの移動量に換算される。そして、この基準に対して倍率を０．１倍に設定すると、ユーザは、１°の入力操作を行うことで、ロボット２０、４０を０．１ｍｍ移動させることができる。
【００５５】
しかし、単純に一定の倍率を設定しただけでは、次のような問題が生じる。すなわち、例えば０．１ｍｍ単位の微細な動作（微動）を行いつつ、数〜数十ｍｍ単位の大きな動作（粗動）を行いたい場合もある。この場合、上記基準に対して例えば倍率を０．１倍に設定すると、６０°の入力操作でも、僅かに６ｍｍしかロボットを移動させることができない。そのため、ユーザは、例えばロボットに３００ｍｍの移動をさせようとすると、６０°の入力操作を５０回も繰り返すことになり、煩雑で操作性が良くない。一方、複数の倍率を設定して、必要に応じて切り替えることも考えられるが、この場合も、何度も倍率の切り替え操作を行わなければならず、操作が煩雑となり易い。
【００５６】
そこで、本実施形態において、動作指令生成部３８は、移動量決定処理を行うことができる。移動量決定処理は、図１０に示すように、入力操作が第１区間を通過するまでは倍率を第１倍率に設定し、入力操作が第１区間を通過した後は倍率を第１倍率より大きい値に設定して、ロボット２０、４０の移動量（移動距離）を決定する処理である。第１倍率は、１より小さい一定の値である。また、第１区間は、初期位置Ａから第１位置Ｃ１までの区間である。第１区間を入力角度θｉで見ると、第１区間は、０°から第１角度θ１までの区間である。すなわち、動作指令生成部３８は、入力角度θｉが第１角度θ１以下である場合には倍率を第１倍率に設定し、入力角度θｉが第１角度θ１よりも大きくなった場合には倍率を第１倍より大きい値に設定して、ロボット２０、４０の移動量を決定する。
【００５７】
また、本実施形態において、移動量決定処理は、入力操作が第１区間を通過してから第２区間を通過するまでは倍率を第２倍に設定し、入力操作が第２区間を通過した後は倍率を一定値である第３倍率に設定して、ロボット２０、４０の移動量（移動距離）を決定する処理である。この場合、第２区間は、第１位置Ｃ１から第２位置Ｃ２までの区間である。第２区間を入力角度θｉで見ると、第２区間は、第１角度θ１から第２角度θ２までの区間である。
【００５８】
また、第２区間を通過した後の区間は、第２位置Ｃ２から限界位置Ｂまでの区間である。第２区間を通過した後の区間を第３区間と称する。この第３区間を入力角度θｉで見ると、第３区間は、第２角度θ２から限界角度θｅまでの範囲になる。すなわち、動作指令生成部３８は、入力角度θｉが第１角度θ１より大きく且つ第２角度θ２以下である場合には、倍率を第２倍率に設定し、入力角度θｉが第２角度より大きくなった場合には倍率を第３倍率に設定して、ロボット２０、４０の移動量を決定する。第２倍率は、第１倍率から第３倍率までの範囲で、入力操作による入力角度に応じて連続的に増加する値である。
【００５９】
本実施形態の場合、第１角度θ１＝２０°、第２角度θ２＝４０°、限界角度θｅ＝６０°に設定されている。したがって、第１区間は、入力角度θｉが０°より大きく第１角度θ１以下となる範囲、すなわち、０°＜θｉ≦θ１の範囲である。第１区間における入力操作には、第１倍率ｆ１が設定されている。第１倍率ｆ１は、１より小さい一定値であり、例えば図１１（１）に示すように０．１倍（ｆ１＝０．１）である。
【００６０】
第２区間は、入力角度θｉが第１角度θ１より大きくかつ第２角度θ２以下となる範囲、すなわち、θ１＜θｉ≦θ２の範囲である。第２区間における入力操作には、第２倍率ｆ２が設定されている。第２倍率ｆ２は、第１倍率ｆ１よりも大きく、かつ、第３倍率ｆ３よりも小さい値である。第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、入力角度θｉに応じて連続的に増加する変動値である。
【００６１】
第２倍率ｆ２は、次の（式１）で表すことができる。そして、（式１）に、本実施形態の第１倍率ｆ１＝０．１、後述する第３倍率ｆ３＝１０、第１角度θ１、及び第２角度θ２を入れると、第２倍率ｆ２は次の（式２）で表すことができる。なお、本実施形態において、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３の範囲内において比例的に増加するが、これに限られない。第２倍率ｆ２は、例えば第１倍率ｆ１から第３倍率ｆ３の範囲内において、２次関数的に増加するものでもよいし、指数関数的に増加するものでもよい。
ｆ２＝（（ｆ３−ｆ１）／（θ２−θ１））×（（θｉ−θ１））＋ｆ１・・・（式１）
ｆ２＝０．４９５×（θｉ−２０°）＋０．１・・・（式２）
【００６２】
第３区間は、入力角度θｉが第２角度θ２より大きくかつ限界角度θｅ以下となる範囲、すなわちθ２＜θｉ≦θｅの範囲である。第３区間における入力操作には、第３倍率ｆ３が設定されている。第３倍率ｆ３は、第１倍率及び第２倍率よりも大きい一定値である。この場合、第３倍率ｆ３は、例えば図１１（１）に示すように、１よりも大きい１０倍（ｆ３＝１０）に設定されている。
【００６３】
ここで、倍率が１である場合、入力角度θｉの１°当たりにおけるロボット２０、４０の移動量は１ｍｍであるため、図１１（１）の縦軸つまり操作倍率は、入力角度θｉの１°当たりにおけるロボット２０、４０の移動量（移動距離）に相当する。したがって、入力操作が第１区間内における操作である場合、つまり入力角度θｉが０°より大きくθ１以下である場合、ロボット２０、４０の移動量は次のようになる。すなわち、この場合、ロボット２０、４０の移動量は、図１１（１）において、入力角度θｉと倍率ｆ１の直線とで囲まれた範囲の面積に相当する。例えば、入力角度θｉ＝２０°である場合、ロボット２０、４０の移動量は、２０×０．１＝２ｍｍとなる。つまり、第１区間内での入力操作により、ロボット２０、４０は、最大で２ｍｍ移動することができる。
【００６４】
入力操作が第２区間内における操作である場合、つまり入力角度θｉがθ１より大きくθ２以下である場合、ロボット２０、４０の移動量は次のようになる。すなわち、この場合、ロボット２０、４０の移動量は、図１１（１）において、入力角度θｉと、倍率ｆ１の直線及び倍率ｆ２の直線とで囲まれた範囲の面積に相当する。例えば、入力角度θｉ＝４０°である場合、ロボット２０、４０の移動量は、（（４０−２０）×（１０−０．１）÷２）＋（２０×０．１）＋２＝１０３ｍｍとなる。つまり、第２区間内での入力操作により、ロボット２０、４０は、最大で１０３ｍｍ移動することができる。
【００６５】
入力操作が第３区間内における操作である場合、つまり入力角度θｉがθ２より大きくθｅ以下である場合、ロボット２０、４０の移動量は次のようになる。すなわち、この場合、ロボット２０、４０の移動量は、図１１（１）において、入力角度θｉと、倍率ｆ１の直線、倍率ｆ２の直線、及び倍率ｆ３の直線とで囲まれた範囲の面積に相当する。例えば、入力角度θｉ＝６０°である場合、ロボット２０、４０の移動量は、（（６０−４０）×１０）＋１０３＝３０３ｍｍとなる。つまり、第３区間内での入力操作により、ロボット２０、４０は、最大で３０３ｍｍ移動することができる。
【００６６】
入力操作の入力角度θｉに対するロボット２０、４０の移動量の変化は、図１１（２）に示すようになる。この場合、ロボット２０、４０の移動量は、各区間において次のように変化する。すなわち、ロボット２０、４０の移動量は、第１区間（０°＜θｉ≦θ１）における入力操作に対して、１次関数的に増加する。また、ロボット２０、４０の移動量は、第２区間（θ１＜θｉ≦θ２）における入力操作に対して、２次関数的に増加する。また、ロボット２０、４０の移動量は、第３区間（θ２＜θｉ≦θ３）における操作に対して、１次関数的に増加する。
【００６７】
これによれば、ユーザは、第１区間内で入力操作を行うことで、ロボット２０、４０を、１より小さい一定の倍率である第１倍率ｆ１で移動させることができる。つまり、ユーザは、第１区間内で入力操作を繰り返すことで、ロボット２０、４０に微動をさせることができる。また、ユーザは、第１区間を超えて入力操作を行うことで、第１区間を超えた部分について、ロボット２０、４０を、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、第１区間を超えて入力操作をすることで、ロボット２０、４０に粗動をさせることができる。
【００６８】
このように、ユーザは、１度の入力操作で、異なる倍率でロボット２０、４０を移動させることができる。これによれば、例えばロボット２０、４０の微動と粗動との両方の動作を、１回の入力操作で実現することができる。したがって、ユーザは、ロボット２０、４０の微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００６９】
また、本実施形態によれば、動作指令生成部３８は、移動量決定処理により、入力操作の入力角度θｉが第１区間を通過してから第２区間を通過するまですなわちθ１＜θｉ≦θ２の範囲内においては、倍率を第２倍率ｆ２に設定して、ロボット２０、４０の移動量を決定する。また、動作指令生成部３８は、移動量決定処理により、入力操作の入力角度θｉが第２区間を通過した後すなわちθ２＜θｉとなった後は、倍率を一定値である第３倍率ｆ３に設定して、ロボット２０、４０の移動量を決定する。これによれば、ユーザは、第１区間内で入力操作を繰り返すことにより、１より小さい第１倍率ｆ１でロボットを微動させることができる。また、ユーザは、第１区間を超えて入力操作を行うことにより、第１倍率ｆ１よりも大きい第２倍率ｆ２又は第３倍率ｆ３でロボット２０、４０を粗動させることができる。
【００７０】
さらに、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、入力操作の操作角度θｉに応じて連続的に増加する値である。これによれば、第１倍率ｆ１による微動と第３倍率ｆ３による粗動との間の倍率である第２倍率ｆ２が、第１倍率ｆ１から第３倍率ｆ３までの範囲で、入力操作の操作角度θｉに応じて連続的に増加する。すなわち、一定値である第１倍率ｆ１と第３倍率ｆ３との間が、連続して変化する第２倍率ｆ２によって繋がれている。そのため、入力角度θｉに対するロボット２０、４０の移動量を決定するための倍率は、第１倍率ｆ１から、次第に変化する第２倍率ｆ２を経て第３倍率ｆ３に切り替わる。これにより、ロボット２０、４０の移動量を決定するための倍率が、第１倍率ｆ１から第３倍率ｆ３に急激に切り替わることが防止される。すなわち、ロボット２０、４０の移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボット２０、４０の急激な速度変化（急動）を防止することができる。その結果、更なる安全性の向上が図られる。
【００７１】
なお、図１２（１）、（２）に示すように、第１倍率ｆ１を０．０１倍、第３倍率ｆ３を１．０倍とし、第２倍率ｆ２を、第１倍率ｆ１＝０．０１から第３倍率ｆ３＝１．０の範囲内において、次の（式３）で表す値にしてもよい。これによれば、０．０１倍及び０．１倍の倍率を併用することができるため、さらに細かい動作を容易に行うことができる。
ｆ２＝０．０４９５×（θｉ−２０°）＋０．０１・・・（式３）
【００７２】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
上記各実施形態において、入力操作は、操作の開始点と終点とが定まれば良い。したがって、入力操作部は、上述したレバー３４に限られず、例えば次のようなスライダー式やスイッチ式の機械的な入力装置であってもよい。この場合、スライダー式の入力装置とは、例えばケース３１に対して上下左右方向にスライド可能な入力装置などをいう。また、スイッチ式の入力装置とは、例えばケース３１に対して多段階又は無段階に押し込むことが可能な入力装置などをいう。そして、機械的な入力装置とは、ユーザから入力操作を受けることで、その入力装置を構成する機械部品に角度や位置などの何らかの物理量の変化を生じさせ、その物理量の変化を操作量として検出するものをいう。なお、上述したレバー３４も、機械的な入力装置に含まれる。
【００７３】
多関節ロボットには、上記各実施形態で説明した４軸水平多関節型のロボット２及び６軸垂直多関節型のロボット２０のみならず、例えば複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、回転軸に限られず、例えばリニアモータによって直進方向へ駆動する方式も含まれる。
ロボット操作装置は、４軸水平多関節型のロボット２０および６軸垂直多関節型のロボット４０に限らず、種々のロボットを手動操作する際に用いることができる。
【符号の説明】
【００７４】
図面中、１０はロボットシステム、１１はコントローラ、２０は４軸水平多関節型のロボット（ロボット）、３０はティーチングペンダント（ロボット操作装置）、３４はレバー（入力操作部）、３８は動作指令生成部、４０は６軸垂直多関節型のロボット（ロボット）を示す。
【図１】
0006471446.tif 000002
【図２】
0006471446.tif 000003
【図３】
0006471446.tif 000004
【図４】
0006471446.tif 000005
【図５】
0006471446.tif 000006
【図６】
0006471446.tif 000007
【図７】
0006471446.tif 000008
【図８】
0006471446.tif 000009
【図９】
0006471446.tif 000010
【図１０】
0006471446.tif 000011
【図１１】
0006471446.tif 000012
【図１２】
0006471446.tif 000013