(57)【要約】【課題】イネーブルスイッチを備えるロボット教示装置において、ロボットの動作に関する物理量の調整を効率的に行うことのできる技術を提供する。【解決手段】ロボット教示装置３００は、所定の操作可能範囲内における操作量が大きくなるにつれ、ロボットを停止状態、作動状態、停止状態の順に切り換えるイネーブルスイッチ３１６と、前記操作可能範囲内のロボットが作動状態となる区間におけるイネーブルスイッチ３１６の操作量を検出する検出部と、ロボットが作動状態にある場合に、前記検出された操作量に応じて、ロボットの動作に関する物理量を調整する制御部と、を備える。【選択図】図４
2012024848.tif 000002
【特許請求の範囲】
【請求項１】
ロボット教示装置であって、
所定の操作可能範囲内における操作量が大きくなるにつれ、ロボットを停止状態、作動状態、停止状態の順に切り換えるイネーブルスイッチと、
前記操作可能範囲内の前記ロボットが作動状態となる区間における前記イネーブルスイッチの操作量を検出する検出部と、
前記ロボットが作動状態にある場合に、前記検出された操作量に応じて、前記ロボットの動作に関する物理量を調整する制御部と、
を備えるロボット教示装置。
【請求項２】
請求項１に記載のロボット教示装置であって、
前記制御部は、前記物理量として、前記ロボットが備えるモータの回転速度を調整する、ロボット教示装置。
【請求項３】
請求項１に記載のロボット教示装置であって、
前記制御部は、前記物理量として、前記ロボットが備えるモータに印加する電流値を調整する、ロボット教示装置。
【請求項４】
請求項１から請求項３までのいずれか一項に記載のロボット教示装置であって、
前記制御部は、前記検出された操作量が、前記区間内に予め設定された閾値を超えるまでは前記検出された操作量に応じて前記物理量を増加させ、前記検出された操作量が前記閾値を超えた場合には、前記物理量を減少させる、ロボット教示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに動作を教示するためのロボット教示装置に関する。
【背景技術】
【０００２】
ティーチングペンダントとも呼ばれるロボット教示装置には、通常、イネーブルスイッチ（デッドマンスイッチともいう）が備えられている。作業者は、このイネーブルスイッチをオン状態に保持している場合に限りロボットに対する教示作業が可能である。ロボットが不測の動作を行った場合には、このイネーブルスイッチをオフ状態にすることにより、直ちにロボットを停止させることができる。
【０００３】
教示作業中には、作業者は、片手でイネーブルスイッチを保持している必要があるため、従来は、ロボット教示装置に対する操作の大部分を、もう一方の手だけで行う必要があった。例えば、特許文献１に記載されたロボット教示装置では、インチング動作時の移動量を調整しようとすると、イネーブルスイッチに触れていないもう一方の手だけでＧＵＩ（グラフィカルユーザインタフェース）を操作して数値入力を行わなければならず、煩雑な操作が必要であった。また、ＧＵＩ操作時には、作業者は、ロボットからＧＵＩに視線を移す必要があるため、ロボットの動きを目視で確認しつつ移動量を調整するという作業を行うことは困難であった。これらの問題は、移動量の調整に限らず、関節の位置や動作速度、回転トルク、ハンドの把持力など、ロボットの動作に関する物理量を調整する作業に共通した問題であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２６２８８４号公報
【特許文献２】特開２０１０−７６０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の問題を考慮し、本発明が解決しようとする課題は、イネーブルスイッチを備えるロボット教示装置において、ロボットの動作に関する物理量の調整を効率的に行うことのできる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］ロボット教示装置であって、所定の操作可能範囲内における操作量が大きくなるにつれ、ロボットを停止状態、作動状態、停止状態の順に切り換えるイネーブルスイッチと、前記操作可能範囲内の前記ロボットが作動状態となる区間における前記イネーブルスイッチの操作量を検出する検出部と、前記ロボットが作動状態にある場合に、前記検出された操作量に応じて、前記ロボットの動作に関する物理量を調整する制御部と、を備えるロボット教示装置。
【０００８】
このような構成のロボット教示装置であれば、ロボットを作動状態あるいは停止状態に切り換え可能なイネーブルスイッチの操作量に応じて、ロボットの動作に関する物理量を調整することができる。そのため、物理量の大まかな調整から微調整までを、特別な設定操作や視線の移動なしに、一連の作業として行うことが可能になる。この結果、教示作業を極めて効率的に行うことが可能になり、教示時間の短縮を図ることが可能になる。また、上記構成によれば、イネーブルスイッチの保持のために片手が専有されたとしても、その手でイネーブルスイッチの操作量を調整して、ロボットの動作に関する物理量を調整することができるので、もう一方の手とともに、ロボットに対する教示作業を極めて効率的に行うことができる。また、操作量が大きくなるにつれ、ロボットを停止状態、作動状態、停止状態の順に切り換えることが可能なイネーブルスイッチによってロボットの動作に関する物理量を調整するので、仮に、ロボットが想定外の速度やトルクで動作したとしても、このイネーブルスイッチから手を離したり、握りしめるなどの操作を行うことで、直ちにロボットを停止させることができる。
【０００９】
［適用例２］適用例１に記載のロボット教示装置であって、前記制御部は、前記物理量として、前記ロボットが備えるモータの回転速度を調整する、ロボット教示装置。
このような構成であれば、イネーブルスイッチの操作量に応じてモータの回転速度を調整することができるので、ティーチングポイントの大雑把な調整や微調整を容易に行うことが可能になる。
【００１０】
［適用例３］適用例２に記載のロボット教示装置であって、前記制御部は、前記物理量として、前記ロボットが備えるモータに印加する電流値を調整する、ロボット教示装置。
このような構成であれば、イネーブルスイッチの操作量を調整することで、各軸の回転トルクやハンドの把持力を容易に調整することが可能になる。
【００１１】
［適用例４］適用例１から適用例３までのいずれか一項に記載のロボット教示装置であって、前記制御部は、前記検出された操作量が、前記区間内に予め設定された閾値を超えるまでは前記検出された操作量に応じて前記物理量を増加させ、前記閾値を超えた場合には、前記物理量を減少させる、ロボット教示装置。
このような構成であれば、ロボットが作動状態から停止状態に切り換えられるよりも前に、ロボットの動作に関する物理量を減少させることができる。そのため、例えば、イネーブルスイッチによってロボットを停止させなければならない不測の状況が発生したとしても、速やかにロボットを停止させることが可能になる。
【００１２】
本発明は、上述したロボット教示装置としての構成のほか、ロボットに動作を教示する方法や、コンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。
【図面の簡単な説明】
【００１３】
【図１】ロボットシステムの概略構成を示す説明図である。
【図２】ロボット教示装置の正面図である。
【図３】ロボット教示装置の背面図である。
【図４】イネーブルスイッチの状態遷移を示す説明図である。
【図５】ロボット教示装置の電気的構成を示すブロック図である。
【図６】速度調整処理のフローチャートである。
【図７】圧力センサから取得される入力値とイネーブルスイッチの操作量の関係を示す説明図である。
【図８】力調整処理のフローチャートである。
【図９】第２実施例における入力値の変換の様子を示す説明図である。
【図１０】入力値の変換の他の態様を示す説明図である。
【発明を実施するための形態】
【００１４】
Ａ．第１実施例：
以下、本発明の実施の形態を図面を参照しつつ実施例に基づき説明する。
図１は、本発明の実施例としてのロボット教示装置３００を含むロボットシステム１０の概略構成を示す説明図である。ロボットシステム１０は、多関節型の産業用ロボットとして構成されたロボット本体１００と、ロボット本体１００の動作を制御するロボット制御装置２００と、ロボット制御装置２００に接続され、ロボット本体１００の動作を教示するためのロボット教示装置３００とを有している。ロボット本体１００とロボット制御装置２００、および、ロボット制御装置２００とロボット教示装置３００は、所定の接続ケーブルを介してそれぞれ接続されている。
【００１５】
ロボット本体１００は、例えば、工場内等に固定されるベース部１０１と、水平方向に旋回可能な軸によってベース部１０１に支持されたショルダ部１０２と、鉛直方向に旋回可能な軸によってショルダ部１０２に下端が支持された下アーム１０３と、鉛直方向に旋回可能な軸によって下アーム１０３の先端に略中央部が支持された上アーム１０４と、鉛直方向に旋回可能な軸によって上アーム１０４の先端に支持された手首１０５とを備えている。手首１０５の先端には、手首１０５の円周方向に回転可能な軸を有するフランジ部１０６が備えられている。フランジ部１０６には、ワークを把持するハンド１０７が取り付けられている。
【００１６】
ロボット制御装置２００は、ＣＰＵやメモリを備えるコンピュータとして構成されている。ロボット制御装置２００は、予めメモリに記憶された動作プログラムやロボット教示装置３００によって教示されたティーチングポイントに基づいて、ロボット本体１００の各軸に備えられたサーボモータを駆動し、ロボット本体１００の自動制御を行う。また、ロボット制御装置２００は、ロボット教示装置３００から手動による操作指令があった場合には、その指令に応じてロボット本体１００の各軸を駆動する。
【００１７】
図２は、ロボット教示装置３００の正面図である。本実施例のロボット教示装置３００は、その略中央に、タッチパネル３０２が重畳された液晶表示器３０４を備えている。液晶表示器３０４には種々のＧＵＩが表示され、タッチパネル３０２によってその操作が可能となっている。液晶表示器３０４の周囲には、種々のスイッチやボタンが配置されている。例えば、液晶表示器３０４の左上には、モード切替スイッチ３０６が設けられている。
【００１８】
モード切替スイッチ３０６は、ロボット本体１００の動作モードを、手動モード、自動モード、ティーチチェックモード、のいずれかから選択するためのスイッチである。手動モードでは、ロボット教示装置３００によって直接的にロボット本体１００を操作することが可能になり、これによりティーチングポイントを教示することができる。また、自動モードでは、予め記憶されている動作プログラムに基づいてロボット本体１００を動作させることができる。また、ティーチチェックモードでは、ロボット教示装置３００によって教示された動作内容に基づいてロボット本体１００の実際の動きを確認することができる。
【００１９】
液晶表示器３０４の右上には、非常停止スイッチ３０８が設けられている。この非常停止スイッチ３０８は、いつでもロボット本体１００を緊急停止させるために用いられる。更に、液晶表示器３０４の右側には、手動モードにおいて各軸の回転方向（正方向または逆方向）を指定するための方向ボタン３１０が軸毎に配置されている。また、方向ボタン３１０の上部には、ティーチングポイントやハンドの把持力等を教示するための教示ボタン３１１が備えられている。
【００２０】
図３は、ロボット教示装置３００の背面図である。本実施例のロボット教示装置３００は、その左側背面に、イネーブルスイッチ３１６を備えている。このイネーブルスイッチ３１６は、３ポジション式のスイッチであり、上述した手動モードでは、このイネーブルスイッチ３１６がオン状態に保持されている場合に限り、ロボット本体１００の操作を行うことができる。つまり、作業者は、このイネーブルスイッチ３１６を左手で保持しながら、右手で方向ボタン３１０等を操作することで、手動モードにおいてロボット本体１００の操作を行うことになる。なお、イネーブルスイッチ３１６がオフ状態になれば、方向ボタン等の他のボタンからの入力は無効化され、ロボット本体１００は停止状態になる。
【００２１】
図４は、イネーブルスイッチ３１６の状態遷移を示す説明図である。本実施例のイネーブルスイッチ３１６は、無操作状態から最大操作量までの押し込み量に応じて、オフ状態、オン状態、オフ状態の順にクリック感を伴いながら状態が遷移する。具体的には、無操作状態にある第１のポジションから軽く押し込まれて第２のポジションに遷移すると、イネーブルスイッチ３１６は、内部の接点３１６ａが接続されてオフ状態からオン状態になる。この状態でイネーブルスイッチ３１６から手を離せば、イネーブルスイッチ３１６は、第２のポジションから第１のポジションに自動復帰してオフ状態になる。
【００２２】
第２のポジションは、所定の可動区間を有しており、この可動区間内の押し込み量が、イネーブルスイッチ３１６内に組み込まれた圧力センサ３１６ｂによって検出可能になっている。圧力センサ３１６ｂとしては、例えば、イネーブルスイッチ３１６の押し込み量に応じてアナログ的に抵抗値が変化する感圧導電ゴムを用いることができる。また、圧力センサ３１６ｂ以外にも、ポテンショメータ等によってイネーブルスイッチ３１６の押し込み量を検出することが可能である。本実施例のロボット教示装置３００は、圧力センサ３１６ｂから取得した圧力値に応じて、各軸の回転速度またはハンド１０７の把持力を調整することができる。回転速度または把持力のどちらの調整を行うかは、図２に示す速度選択ボタン３１２または把持力選択ボタン３１４を押すことで選択することができる。
【００２３】
イネーブルスイッチ３１６は、第２のポジションから更に押し込まれて第３のポジションに遷移すると、内部の接点３１６ａが開放されてオン状態からオフ状態になる。第３のポジションにおいて、イネーブルスイッチ３１６から手を離すと、内部の接点３１６ａは開放されたまま、イネーブルスイッチ３１６は第１のポジションに自動復帰する。つまり、本実施例では、イネーブルスイッチ３１６を軽く押し込んでロボット本体１００をオン状態にした後に、更にイネーブルスイッチ３１６を押し込むか、あるいは、イネーブルスイッチ３１６から手を離すことにより、ロボット本体１００をオフ状態にすることができる。
【００２４】
図５は、ロボット教示装置３００の電気的構成を示すブロック図である。ロボット教示装置３００は、ＣＰＵやメモリ等から構成された制御回路３５０と、通信インタフェース３６０とを備えている。制御回路３５０には、上述したタッチパネル３０２や液晶表示器３０４、モード切替スイッチ３０６、非常停止スイッチ３０８、方向ボタン３１０、速度選択ボタン３１２、把持力選択ボタン３１４、イネーブルスイッチ３１６、が接続されている。制御回路３５０は、これらのボタンやスイッチを介して作業者から受け付けた指示に従い、通信インタフェース３６０を通じてロボット制御装置２００に動作指令を送信する。
【００２５】
図６は、ロボット本体１００の各軸の回転速度を調整する速度調整処理のフローチャートである。この処理は、手動モードが選択されている場合において、速度選択ボタン３１２が押された場合にロボット教示装置３００によって実行される処理である。
【００２６】
この速度調整処理の実行が開始されると、まず、ロボット教示装置３００の制御回路３５０は、イネーブルスイッチ３１６の接点３１６ａの接触状態に基づいて、イネーブルスイッチ３１６がオン状態であるか否かを判断する（ステップＳ１００）。イネーブルスイッチ３１６がオン状態であれば、制御回路３５０は、イネーブルスイッチ３１６に備えられた圧力センサ３１６ｂから入力値（圧力値）を取得する（ステップＳ１０５）。一方、イネーブルスイッチ３１６がオフ状態であれば、制御回路３５０は、ロボット制御装置２００に停止指令を伝送してロボット本体１００を停止させ（ステップＳ１１０）、当該速度調整処理を終了する。
【００２７】
図７は、圧力センサ３１６から取得される入力値とイネーブルスイッチ３１６の操作量の関係を示す説明図である。図７（ａ）〜（ｃ）に示すグラフの横軸は、イネーブルスイッチ３１６の操作量を示している。図７（ａ）に示すグラフの縦軸は、作業者がイネーブルスイッチ３１６を第１のポジション（図４参照）から第３のポジションにまで遷移させるために必要な押し下げ力を示している。また、図７（ｂ）に示すグラフの縦軸は、イネーブルスイッチ３１６のオン・オフ状態を示している。また、図７（ｃ）に示すグラフの縦軸は、圧力センサ３１６ｂから制御回路３５０に入力される入力値（圧力値）を示している。本実施例では、これらのグラフに示すように、イネーブルスイッチ３１６を第１のポジション（オフ状態）から第２のポジション（オン状態）に遷移させるためには、やや力を込めてイネーブルスイッチ３１６を押し込む必要があり、更に第２のポジション（オン状態）から第３のポジション（オフ状態）に遷移させるためには、更に大きな力を込めてイネーブルスイッチ３１６を押し込む必要がある。イネーブルスイッチ３１６には、それぞれのポジションに遷移する際にクリック感を生じさせる機構が備えられているからである。そして、イネーブルスイッチ３１６が第２のポジションおよび第３のポジションにある場合には、圧力センサ３１６ｂからは、イネーブルスイッチ３１６の押し込み量に比例した入力値が出力される。ただし、イネーブルスイッチ３１６が第３のポジションにある場合には、イネーブルスイッチ３１６はオフ状態となるため、上記ステップＳ１０５における入力値の取得処理は実行されない。
【００２８】
上記ステップＳ１０５において圧力センサ３１６ｂから入力値を取得すると、制御回路３５０は、ローパスフィルタを用いたフィルタ処理を行って入力値のチャタリングを低減し（ステップＳ１２０）、更に、この入力値を、０％から１００％までの値に正規化する（ステップＳ１３０）。
【００２９】
入力値の正規化を行うと、制御回路３５０は、作業者によって予め設定された速度上限値（０〜１００％）をメモリから取得する（ステップＳ１４０）。この速度上限値は、ティーチング作業の効率や安全性を考慮して作業者によって予め設定されている。取得された速度上限値が１００％であれば、各軸の最大回転速度が設定されていることになる。制御回路３５０は、速度上限値をメモリから取得すると、この速度上限値と、ステップＳ１３０において正規化された入力値とを積算することで、実際に軸を回転させる回転速度（０〜１００％）を算出する（ステップＳ１５０）。つまり、作業者によって予め速度上限値が５０％に設定されていれば、最終的に得られる軸の回転速度は、イネーブルスイッチ３１６の押し込み量に応じて、０％から５０％の間で調整されることになる。
【００３０】
以上のようにして回転速度が算出されると、制御回路３５０は、算出された回転速度と方向ボタン３１０の操作内容とを表す指令をロボット制御装置２００に伝送することで軸の駆動を行う（ステップＳ１６０）。ロボット制御装置２００は、ロボット教示装置３００から前述の指令を受信すると、ステップＳ１５０で算出された速度で、作業者から指定された軸が指定された方向に回転するよう、モータに取り付けられたエンコーダからの帰還信号に基づいて速度制御を行う。
【００３１】
続いて、ロボット教示装置３００の制御回路３５０は、教示ボタン３１１が押されたか否かを判断する（ステップＳ１７０）。教示ボタン３１１が押されれば、制御回路３５０は、現在の各軸の位置（角度）をティーチングポイントとしてメモリに記録する（ステップＳ１８０）。教示ボタン３１１が押されなければ、ステップＳ１８０の処理をスキップする。制御回路３５０は、上述した一連の処理を、速度選択ボタン３１２が再び押されるか（ステップＳ１９０）、イネーブルスイッチがオフ状態になるまで（ステップＳ１００）、繰り返し実行する。
【００３２】
図８は、ロボット本体１００のハンド１０７の把持力を調整する力調整処理のフローチャートである。この処理は、手動モードが選択されている場合において、把持力選択ボタン３１４が押された場合にロボット教示装置３００によって実行される処理である。
【００３３】
この力調整処理の実行が開始されると、まず、ロボット教示装置３００の制御回路３５０は、イネーブルスイッチ３１６の接点３１６ａの接触状態に基づいて、イネーブルスイッチ３１６がオン状態であるか否かを判断する（ステップＳ２００）。イネーブルスイッチ３１６がオン状態であれば、制御回路３５０は、イネーブルスイッチ３１６に備えられた圧力センサ３１６ｂから入力値（圧力値）を取得する（ステップＳ２０５）。ここで取得される入力値とイネーブルスイッチ３１６の操作量との関係は図７に示した通りである。一方、イネーブルスイッチ３１６がオフ状態であれば、制御回路３５０は、ロボット制御装置２００に停止指令を伝送してロボット本体１００を停止させ（ステップＳ２１０）、当該速度調整処理を終了する。
【００３４】
ステップＳ２０５において圧力センサ３１６ｂから入力値を取得すると、制御回路３５０は、ローパスフィルタを用いたフィルタ処理を行って入力値のチャタリングを低減し（ステップＳ２２０）、更に、この入力値を、０％から１００％までの値に正規化する（ステップＳ２３０）。
【００３５】
入力値の正規化を行うと、制御回路３５０は、作業者によって予め設定された把持力上限値（０〜１００％）をメモリから取得する（ステップＳ２４０）。この把持力上限値は、ワークの強度等を考慮して作業者によって予め設定されている。取得された把持力上限値が１００％であれば、ハンド１０７の最大把持力が設定されていることになる。制御回路３５０は、把持力上限値をメモリから取得すると、この把持力上限値と、ステップＳ１３０において正規化された入力値とを積算することで、実際のハンド１０７の把持力（０〜１００％）を算出する（ステップＳ２５０）。つまり、作業者によって予め把持力上限値が５０％に設定されていれば、最終的に得られるハンド１０７の把持力は、イネーブルスイッチ３１６の押し込み量に応じて、０％から５０％の間で調整されることになる。
【００３６】
以上のようにして把持力が算出されると、制御回路３５０は、算出された把持力を表す指令値をロボット制御装置２００に伝送することでハンド１０７の駆動を行う（ステップＳ２６０）。ロボット制御装置２００は、ロボット教示装置３００から前述の指令値を受信すると、この指令値からハンド１０７を駆動するための電流値を算出し、この算出した電流値とハンド１０７を駆動するモータからの帰還電流値とに基づいてハンド１０７の力制御を行う。
【００３７】
続いて、ロボット教示装置３００の制御回路３５０は、教示ボタン３１１が押されたか否かを判断する（ステップＳ２７０）。教示ボタン３１１が押されれば、制御回路３５０は、現在の把持力をメモリに記録する（ステップＳ２８０）。教示ボタン３１１が押されなければ、ステップＳ２８０の処理をスキップする。制御回路３５０は、上述した一連の処理を、把持力選択ボタン３１４が再び押されるか（ステップＳ２９０）、イネーブルスイッチがオフ状態になるまで（ステップＳ２００）、繰り返し実行する。
【００３８】
以上で説明した本実施例のロボット教示装置３００によれば、イネーブルスイッチ３１６の押し込み量を変化させるだけで、軸の回転速度やハンド１０７の把持力を容易に調整することができる。そのため、ティーチングポイントや把持力の大まかな調整から微調整までを、特別な設定操作や視線の移動なしに、一連の作業として行うことが可能になる。よって、教示作業を極めて効率的に行うことが可能になり、教示時間の短縮を図ることが可能になる。
【００３９】
また、従来は、イネーブルスイッチ３１６を保持しているだけであった手を、軸の回転速度やハンド１０７の把持力の調整に充てることができるので、もう一方の手に、これらの調整を行うための新たな作業負担を掛けることがない。よって、従来よりも大幅に作業効率を高めることができる。
【００４０】
更に、本実施例では、本来、ロボット本体１００を緊急停止させるために用いるイネーブルスイッチ３１６によって、軸の回転速度やハンド１０７の把持力を調整することができるため、仮に、ロボット本体１００が想定外の速度やトルクで動作したとしても、このイネーブルスイッチ３１６から手を離すか、握りしめることで、直ちに停止させることが可能になる。特に人は、予測していない事に遭遇すると体が硬直し、手のひらを握りしめてしまう場合がある。そのため、例えば、作業者がイネーブルスイッチ３１６を用いて軸の回転速度やハンド１０７の把持力を調整している際に、意図せずにイネーブルスイッチ３１６を押しすぎてしまうと、ロボット本体１００の不測の動作に驚き、イネーブルスイッチ３１６から手を離すことができず、上記のように体が硬直してイネーブルスイッチ３１６を更に押しすぎてしまうことがある。しかし、本実施例では、作業者がこのような状況に陥ったとしても、イネーブルスイッチ３１６が第３のポジション（図４）に遷移してイネーブルスイッチ３１６の本来の機能であるロボット停止機能が働くため、ロボット本体１００を速やかに停止させることができる。よって、本実施例のように、ロボット本体１００を停止させる機能を備えるイネーブルスイッチ３１６に、軸の回転速度やハンド１０７の把持力を調整する機能を付加することは、作業効率の向上といった観点だけでなく、作業者に対する安全性の観点から見ても、非常に効果的であると言える。
【００４１】
Ｂ．第２実施例：
上述した第１実施例における速度調整処理および力調整処理では、イネーブルスイッチ３１６がオン状態（第２のポジション）にある場合において、その操作量に比例するように、軸の回転速度やハンド１０７の把持力の調整を行った。これに対して、以下に説明する第２実施例では、圧力センサ３１６ｂから取得した入力値を所定の変換テーブルに基づき変換して軸の回転速度やハンド１０７の把持力の調整を行う。なお、本実施例におけるロボット教示装置３００の構成は第１実施例と同様である。
【００４２】
本実施例では、ロボット教示装置３００の制御回路３５０は、図６に示した速度調整処理のステップＳ１３０および図８に示した力調整処理のステップＳ２３０において入力値を正規化した後、この正規化後の入力値に対応する変換後の入力値を、メモリに予め記録された所定の変換テーブルから取得することで入力値の変換を行う。なお、入力値の変換は、変換テーブルに限らず、関数やマップ制御など様々な手法で行うことが可能である。
【００４３】
図９は、本実施例における入力値の変換の様子を示す説明図である。図９（ａ）〜（ｃ）に示すグラフは、図７（ａ）〜（ｃ）とそれぞれ同一である。図９（ｄ）に示すグラフは、図９（ｃ）に示した入力値を変換テーブルに基づいて変換させた後の値を示している。この図９に示すように本実施例では、イネーブルスイッチ３１６がオン状態（第２のポジション）にある場合において、操作量が第１の閾値Ｔｈ１よりも少ない場合には、入力値をゼロに変換し、操作量が第１の閾値Ｔｈ１を超えて第２の閾値Ｔｈ２に至るまでは、入力値が増加するに連れて、変換後の入力値も増加させるよう変換を行う。これに対して、操作量が第２の閾値Ｔｈ２を超えた場合には、入力値が増加するほど変換後の入力値を低下させ、最終的に入力値がゼロになるように変換を行う。
【００４４】
以上で説明した第２実施例によれば、イネーブルスイッチ３１６がオン状態にある場合、すなわち、ロボット本体１００が作動状態にある場合では、イネーブルスイッチ３１６の操作量が第１の閾値Ｔｈ１よりも少ない場合には、軸の回転速度やハンド１０７の把持力は変化せず、ゼロのままとなる。つまり、本実施例では、イネーブルスイッチ３１６がオン状態でかつ操作量が少ない操作範囲に「遊び」が設けられていることになるため、イネーブルスイッチ３１６の使い勝手を向上させることができる。また、本実施例では、イネーブルスイッチ３１６の操作量が第２の閾値Ｔｈ２を超えた場合には、軸の回転速度やハンド１０７の把持力が徐々に低下することになる。そのため、例えば、イネーブルスイッチ３１６が第３のポジションに移行するような緊急事態が発生したとしても、イネーブルスイッチ３１６が実際に第３のポジションに移行するよりも前に、軸の回転速度やハンド１０７の把持力を低下させることができるので、速やかにロボット本体１００を停止させることが可能になる。この結果、教示作業の安全性を向上させることができる。なお、第１の閾値Ｔｈ１は、例えば、作業者が軸の回転速度やハンド１０７の把持力を調整する意思がない場合に保持可能なイネーブルスイッチ３１６の操作範囲を実験的に求めることで設定することができる。また、第２の閾値Ｔｈ２は、例えば、段階的に閾値を変化させつつ、その閾値を超えると多くの条件下でイネーブルスイッチ３１６が第３のポジションに移行することになる閾値を実験的に求めることで設定することができる。また、本実施例では、イネーブルスイッチ３１６の操作量が第２の閾値Ｔｈ２を超えた場合に、軸の回転速度やハンド１０７の把持力を徐々に減少させることとしたが、一律にゼロに変換することとしてもよい。
【００４５】
入力値の変換は、上述した以外にも様々な観点で行うことが可能である。例えば、図１０に示すように、イネーブルスイッチ３１６がオン状態になる第２のポジションの中間値付近に遊び範囲を設け、イネーブルスイッチ３１６の操作量がこの中間値付近から増加する場合と減少する場合とで、どちらも、図９（ｄ）に示すような変換を行うこととしてもよい。つまり、図１０に示した例では、イネーブルスイッチ３１６が第２のポジションから第３のポジションに向けて操作される場合にも、第２のポジションから第１のポジションに向けて操作される場合にも、どちらの場合でも、入力値の増加、減少という順に変換が行われることになる。このように入力値を変換することとすれば、イネーブルスイッチ３１６を押し込む動作と緩める動作の両方の動作において、軸の回転速度やハンド１０７の把持力を同様に調整することが可能になる。また、イネーブルスイッチ３１６を握りしめるような状況やイネーブルスイッチ３１６から手を離すような状況が生じたとしても、どちらの状況でも、イネーブルスイッチ３１６が実際にオフ状態になる前に軸の回転速度やハンド１０７の把持力を低下させることが可能になるため、速やかにロボット本体１００を停止させることができる。
【００４６】
Ｃ．変形例：
以上、本発明のいくつかの実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、以下のような変形が可能である。
【００４７】
上記実施例において、ソフトウェアによって実現した機能はハードウェアによって実現することが可能であり、その逆もまた可能である。例えば、図６や図８に示したフィルタ処理は、ＲＣ回路等によってハードウェア的に実現することが可能である。また、方向ボタン３１０や、教示ボタン３１１、速度選択ボタン３１２、把持力選択ボタン３１４は、それぞれ独立したボタンとして構成したが、ＧＵＩによってソフトウェア的に実現することも可能である。
【００４８】
上記実施例では、速度上限値や把持力上限値は、作業者によって予め設定されていることとしたが、これらの値は、作業者によって予め設定がされていなくても、デフォルト値（例えば５０％）が適用されることとしてもよい。
【００４９】
上記実施例では、イネーブルスイッチ３１６の押し込み量に応じて軸の回転速度やハンド１０７の把持力を調整することとしたが、調整可能な物理量（パラメータ）は、これらに限られない。例えば、各軸の回転トルクを調整することとしてもよいし、各軸の角度を調整可能としてもよい。各軸の角度を調整可能とすれば、ロボット本体１００の姿勢をイネーブルスイッチ３１６の押し込み量に応じて調整することが可能になる。また、軸の角度や回転速度だけではなく、各種座標系（ワールド座標系、ハンド座標系、ツール座標系等）におけるハンドやツールの位置ないし移動速度を調整可能としてもよい。
【００５０】
上記実施例では、イネーブルスイッチ３１６の内部の接点３１６ａの接触状態に応じてロボット本体１００を作動状態あるいは停止状態に切り替えている。これに対して、例えば、制御回路３５０が、イネーブルスイッチ３１６の押し込み量を抵抗値や圧力値に基づいて検出し、この押し込み量と所定の閾値とを対比することで、ロボット本体１００を作動状態あるいは停止状態に切り替えることとしてもよい。例えば、値の異なる閾値を２つ用意すれば、実施例と同様に、イネーブルスイッチ３１６を３つのポジションに遷移させることが可能になる。
【００５１】
上記実施例では、ロボット教示装置３００の制御回路３５０が、イネーブルスイッチ３１６のオン、オフ状態を判断している。これに対して、イネーブルスイッチ３１６の接点３１６ａを、接続ケーブルを介して直接的にロボット制御装置２００に接続することで、ロボット制御装置２００がイネーブルスイッチ３１６のオン、オフ状態を検出することとしてもよい。このような構成であれば、停止指令の遅延が発生しないため、より迅速にロボット本体１００を停止させることができる。
【符号の説明】
【００５２】
１０…ロボットシステム
１００…ロボット本体
１０１…ベース部
１０２…ショルダ部
１０３…下アーム
１０４…上アーム
１０５…手首
１０６…フランジ部
１０７…ハンド
２００…ロボット制御装置
３００…ロボット教示装置
３０２…タッチパネル
３０４…液晶表示器
３０６…モード切替スイッチ
３０８…非常停止スイッチ
３１０…方向ボタン
３１１…教示ボタン
３１２…速度選択ボタン
３１４…把持力選択ボタン
３１６…イネーブルスイッチ
３１６ａ…接点
３１６ｂ…圧力センサ
３５０…制御回路
３６０…通信インタフェース
【図１】
2012024848.tif 000003
【図２】
2012024848.tif 000004
【図３】
2012024848.tif 000005
【図４】
2012024848.tif 000006
【図５】
2012024848.tif 000007
【図６】
2012024848.tif 000008
【図７】
2012024848.tif 000009
【図８】
2012024848.tif 000010
【図９】
2012024848.tif 000011
【図１０】
2012024848.tif 000012