(57)【要約】【課題】複雑な追加の機器を用いることなく、適切なタイミングでロボットを低速モード又は低出力モードに切替えられるロボット制御装置を提供する。【解決手段】ロボット制御装置１０は、予め定められる制限条件が成立したときに、ロボット１００を駆動するモータ１０２の動作を制限する機能を有している。ロボット制御装置１０は、ロボット１００の動作実績に応じて、制限条件が成立するか否かを判定する判定部３４と、判定部３４によって制限条件が成立すると判定されたときに、モータ１０２の動作を制限する制限部３５と、を備えている。【選択図】図３
2016159367.tif 000002
【特許請求の範囲】
【請求項１】
予め定められる制限条件が成立したときに、ロボットを駆動する少なくとも１つの駆動装置の動作を制限するロボット制御装置であって、
前記ロボットの動作実績に応じて、前記制限条件が成立するか否かを判定する判定部と、
前記判定部によって前記制限条件が成立すると判定されたときに、前記少なくとも１つの駆動装置の動作を制限する制限部と、を備える、ロボット制御装置。
【請求項２】
当該ロボット制御装置は、動作プログラムに含まれる少なくとも１つの動作命令に従って前記ロボットを制御するように構成されており、
当該ロボット制御装置は、前記少なくとも１つの動作命令の実行回数をカウントするカウント部をさらに備えており、
前記判定部は、前記少なくとも１つの動作命令の実行回数が予め定められる第１の閾値以下であるときに、前記制限条件が成立すると判定するように構成される、請求項１に記載のロボット制御装置。
【請求項３】
当該ロボット制御装置は、前記ロボットが動作する際に、前記ロボットが、前記ロボットの動作領域を分割して形成される複数の小領域に進入する進入回数をそれぞれカウントするカウント部をさらに備えており、
前記判定部は、前記進入回数が予め定められる第２の閾値以下であるときに、前記制限条件が成立すると判定するように構成される、請求項１に記載のロボット制御装置。
【請求項４】
前記制限部は、前記制限条件が成立したときに、前記少なくとも１つの駆動装置に対するトルク指令値を予め定められる範囲に制限するように構成される、請求項１から３のいずれか１項に記載のロボット制御装置。
【請求項５】
当該ロボット制御装置は、
前記ロボットに付与される外力を検出する力検出部と、
前記力検出部によって検出される外力が予め定められる第３の閾値を超えるときに、前記ロボットを停止させる動作停止部と、をさらに備えており、
前記制限部は、前記制限条件が成立したときに、前記第３の閾値を、該第３の閾値よりも小さい第４の閾値によって置換するように構成される、請求項１から４のいずれか１項に記載のロボット制御装置。
【請求項６】
前記少なくとも１つの駆動装置が、位置及び速度の少なくともいずれか一方の検出値に基づいてフィードバック制御されるように構成されており、
前記制限部は、前記制限条件が成立したときに、前記駆動装置のフィードバック制御において用いられる位置ループゲイン及び速度ループゲインのうちの少なくともいずれか一方を低減するように構成される、請求項１から５のいずれか１項に記載のロボット制御装置。
【請求項７】
前記制限部は、前記制限条件が成立したときに、前記少なくとも１つの駆動装置の速度を制限するように構成される、請求項１から６のいずれか１項に記載のロボット制御装置。
【請求項８】
前記動作プログラムが変更されたときに、前記実行回数を初期値にリセットするリセット部をさらに備える、請求項２に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットを制御するロボット制御装置に関する。
【背景技術】
【０００２】
ロボットの動作プログラムを作成した後、動作プログラムの内容を確認するために、ロボットを試運転することが一般的である。このとき、ロボットの周囲の物体及び作業者の安全を確保するために、ロボットを低速又は低出力で動作させることが望ましい。
【０００３】
軸の出力を制限し、ロボットの動作範囲内における物体及び作業者の安全性を向上する技術が公知である。特許文献１には、ユーザからの指令に応じて、通常運転時よりも低いトルクでロボットを駆動し、作業の安全性を確認できるように構成されたスカラロボットが開示されている。特許文献２には、教示した工具の移動軌跡を確認する工程において、モータ出力が安全範囲内になるようにしたロボットの運転方法が開示されている。
【０００４】
特許文献３には、ロボットの周囲の状況に応じて、通常の動作モードよりも低出力でロボットを動作させるように動作モードを切替えるロボットシステムが開示されている。特許文献４には、工作機械に対してワークを搬入又は搬出するローダを制御するローダ制御装置において、起動後における予め定められる時間又はサイクル数の間は、通常よりも低い速度でローダを動作させることが開示されている。
【０００５】
特許文献５には、ロボットの動作領域の一部に割当てられる特定領域において特定動作を実行する際に、一般的な動作に適用される汎用パラメータとは異なる専用パラメータを用いるように構成されたロボット制御装置が開示されている。特許文献５に開示される発明によれば、高い精度が要求される動作を実行するときのみに専用パラメータを適用することによって、要求される精度の達成と作業効率の維持とを両立することが意図されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１０８０６５号公報
【特許文献２】特開昭６２−１６６４１０号公報
【特許文献３】特開２０１４−１７６９３４号公報
【特許文献４】特開２００４−２１６５０４号公報
【特許文献５】特開２００９−１４２９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
自動的に動作モードが切替わるように構成された従来のシステムにおいては、通常の出力で動作する通常モードか、又は低出力で動作する低出力モードのいずれかが選択的に適用される。そのため、ロボットの試運転の際には、動作プログラムの一部について安全性が確認できた後であっても、動作プログラム全体が低出力モードで実行される。それにより、試運転に要する時間が増大し、効率が低下する。操作者が手動で動作モードを選択するように構成されたシステムにおいては、実際には安全性が確認できていないにもかかわらず、通常モードで試運転が実行される可能性がある。動作領域に依存して動作モードを切替えるように構成されたシステムにおいては、安全性が確認できた後も、低出力モードで試運転が行われる可能性がある。
【０００８】
したがって、複雑な追加の機器を用いることなく、適切なタイミングでロボットを低速モード又は低出力モードに切替えられるロボット制御装置が求められている。
【課題を解決するための手段】
【０００９】
本願の１番目の発明によれば、予め定められる制限条件が成立したときに、ロボットを駆動する少なくとも１つの駆動装置の動作を制限するロボット制御装置であって、前記ロボットの動作実績に応じて、前記制限条件が成立するか否かを判定する判定部と、前記判定部によって前記制限条件が成立すると判定されたときに、前記少なくとも１つの駆動装置の動作を制限する制限部と、を備える、ロボット制御装置が提供される。
本願の２番目の発明によれば、１番目の発明に係るロボット制御装置が、動作プログラムに含まれる少なくとも１つの動作命令に従って前記ロボットを制御するように構成されており、当該ロボット制御装置は、前記少なくとも１つの動作命令の実行回数をカウントするカウント部をさらに備えており、前記判定部は、前記少なくとも１つの動作命令の実行回数が予め定められる第１の閾値以下であるときに、前記制限条件が成立すると判定するように構成される。
本願の３番目の発明によれば、１番目の発明に係るロボット制御装置が、前記ロボットが動作する際に、前記ロボットが、前記ロボットの動作領域を分割して形成される複数の小領域に進入する進入回数をそれぞれカウントするカウント部をさらに備えており、前記判定部は、前記進入回数が予め定められる第２の閾値以下であるときに、前記制限条件が成立すると判定するように構成される。
本願の４番目の発明によれば、１番目から３番目のいずれかの発明に係るロボット制御装置において、前記制限部は、前記制限条件が成立したときに、前記少なくとも１つの駆動装置に対するトルク指令値を予め定められる範囲に制限するように構成される。
本願の５番目の発明によれば、１番目から４番目のいずれかの発明に係るロボット制御装置が、前記ロボットに付与される外力を検出する力検出部と、前記力検出部によって検出される外力が予め定められる第３の閾値を超えるときに、前記ロボットを停止させる動作停止部と、をさらに備えており、前記制限部は、前記制限条件が成立したときに、前記第３の閾値を、該第３の閾値よりも小さい第４の閾値によって置換するように構成される。
本願の６番目の発明によれば、１番目から５番目のいずれかの発明に係るロボット制御装置において、前記少なくとも１つの駆動装置が、位置及び速度の少なくともいずれか一方の検出値に基づいてフィードバック制御されるように構成されており、前記制限部は、前記制限条件が成立したときに、前記駆動装置のフィードバック制御において用いられる位置ループゲイン及び速度ループゲインのうちの少なくともいずれか一方を低減するように構成される。
本願の７番目の発明によれば、１番目から６番目のいずれかの発明に係るロボット制御装置において、前記制限部は、前記制限条件が成立したときに、前記少なくとも１つの駆動装置の速度を制限するように構成される。
本願の８番目の発明によれば、２番目の発明に係るロボット制御装置が、前記動作プログラムが変更されたときに、前記実行回数を初期値にリセットするリセット部をさらに備えている。
【００１０】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【００１１】
本発明に係るロボット制御装置によれば、動作プログラムを実行する際に、動作実績に応じて動作プログラムの少なくとも一部を低速度又は低出力の動作モードに自動的に切替えられる。したがって、複雑な追加の機器を用いることなく、必要に応じて適切なタイミングでロボットの動作を制限できるようになる。それにより、作業効率を維持しながら、ロボットの周囲の物体及び作業者の安全を確保できる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るロボット制御装置の構成例を示す図である。
【図２】ロボット制御装置のサーボ回路の機能ブロック図である。
【図３】一実施形態に係るロボット制御装置の機能ブロック図である。
【図４】一実施形態に係るロボット制御装置を用いてロボットを試運転させる際のフローチャートである。
【図５】制限対象を設定する際において、教示操作盤のディスプレイに表示される画面の例を示す図である。
【図６】速度制限をモータに付与する際において、教示操作盤のディスプレイに表示される画面の例を示す図である。
【図７】制限条件の内容を設定する際において、教示操作盤のディスプレイに表示される画面の例を示す図である。
【図８】ロボットを試運転させる際に、ロボット制御装置によって実行される処理を示すフローチャートである。
【図９】ロボットの動作領域を分割して形成される小領域の例を示す図である。
【図１０】制限条件を設定する際において、教示操作盤のディスプレイに表示される画面の例を示す図である。
【図１１】第２の実施形態に係るロボット制御装置において所定の制御周期で繰返し実行される処理を示すフローチャートである。
【図１２】第一の実施形態の変形例に係るロボット制御装置の機能ブロック図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために寸法が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が使用される。
【００１４】
図１は、一実施形態に係るロボット制御装置１０を備えたロボットシステム１の構成例を示す図である。ロボットシステム１は、ロボット制御装置１０と、ロボット制御装置１０によって制御されるロボット１００と、ロボット制御装置１０に接続されている教示操作盤２００と、を備えている。ロボット１００は、任意の公知の構成を有する多関節ロボットである。図１では、簡単のため、ロボット１００の関節軸を駆動する駆動装置として作用するモータ１０２、及びモータ１０２の回転位置、回転速度などを検出するエンコーダ１０４のみが図示されている。
【００１５】
教示操作盤２００は、液晶ディスプレイなどの公知のディスプレイ２０２と、キーボードなどの公知の入力デバイス２０４と、を備えている。ディスプレイ２０２は、入力手段としての機能を有するタッチパネルであってもよい。入力デバイス２０４は、データ並びにパラメータの入力及び編集を実行するのに使用される。また、入力デバイス２０４は、手動送り処理を実行する際に、ロボット１００に対する指令を手動で入力するのに使用されてもよい。
【００１６】
ロボット制御装置１０は、ロボット制御装置１０の全体を制御するホストＣＰＵ１１と、種々のシステムプログラムを記憶するＲＯＭ１２と、ホストＣＰＵ１１による計算結果などのデータを一時的に記憶するＲＡＭ１３と、ロボットを動作させる動作プログラムなどの各種プログラム、及びそれらプログラムに関連するパラメータなどを記憶する不揮発性メモリ１４と、を備えている。
【００１７】
図１に示されるように、ホストＣＰＵ１１には、複数の共有ＲＡＭ１５が接続されている。共有ＲＡＭ１５には、サーボ回路２０がそれぞれ接続されている。
【００１８】
共有ＲＡＭ１５は、ホストＣＰＵ１１から指令その他の制御信号を受信するとともに、それらをサーボ回路２０に出力する。また、共有ＲＡＭ１５は、サーボ回路２０から種々の信号を受信するとともにホストＣＰＵ１１に出力する。サーボ回路２０は、図示されないものの、ＣＰＵ、ＲＯＭ及びＲＡＭなどを含むハードウェア構成をそれぞれ有している。
【００１９】
図１には、簡単のため、３つの共有ＲＡＭ１５及び３つのサーボ回路２０のみが示されているものの、ロボット１００の関節軸と同じ数の共有ＲＡＭ１５及びサーボ回路２０が設けられてもよい。すなわち、ロボット１００が６つの関節軸を有する垂直多関節型ロボットである場合、共有ＲＡＭ１５、サーボ回路２０、モータ１０２及びエンコーダ１０４は、それぞれ６つずつ設けられる。
【００２０】
図２は、サーボ回路２０の機能ブロック図である。サーボ回路２０は、第１の減算器２１と、位置制御部２２と、第２の減算器２３と、微分器２４と、速度制御部２５と、トルク制限部２６と、電流制御部２７と、を備えるデジタル回路である。
【００２１】
第１の減算器２１は、位置指令に含まれるモータ１０２の目標位置から、モータ１０２の検出位置を減算する。位置指令は、ホストＣＰＵ１１（図１参照）によって動作プログラムに従って作成される。位置指令は、共有ＲＡＭ１５を介してサーボ回路２０の第１の減算器２１に入力される。モータ１０２の検出位置は、エンコーダ１０４によって取得される。第１の減算器２１によって計算される位置偏差量は、位置制御部２２に入力される。
【００２２】
位置制御部２２は、第１の減算器２１によって計算された位置偏差量に、予め定められる位置ループゲインを乗じて速度指令を作成する。位置制御部２２によって作成される速度指令は、第２の減算器２３に入力される。
【００２３】
第２の減算器２３は、位置制御部２２によって計算される速度指令から、モータ１０２の検出速度を減算する。モータ１０２の検出速度は、エンコーダ１０４によって取得される検出位置を微分器２４によって微分することによって求められる。第２の減算器２３によって計算される速度偏差量は、速度制御部２５に入力される。
【００２４】
速度制御部２５は、第２の減算器２３によって計算された速度偏差量に、予め定められる速度ループゲインを乗じてトルク指令を作成する。速度制御部２５によって作成されるトルク指令は、トルク制限部２６を介して電流制御部２７に入力される。
【００２５】
トルク制限部２６は、モータ１０２を保護することを目的として設けられる。例えば、モータ１０２に対して定められる最大電流よりも大きい電流がモータに供給されるのを防止するために、トルク制限部２６は、トルク指令を最大電流に対応する値にクランプする機能を有する。しかしながら、トルク制限部２６の機能は前述したものに限定されず、予め定められる任意の上限値又は下限値に対してトルク指令をクランプできるように構成されてもよい。
【００２６】
電流制御部２７は、トルク制限部２６を介して入力されるトルク指令に応じてモータ１０２を駆動するための電流指令を作成する。モータ１０２は、電流制御部２７からの電流指令に従って供給される電流を受けて駆動される。
【００２７】
図３は、一実施形態に係るロボット制御装置１０の機能ブロック図である。ロボット制御装置１０は、力検出部３１と、動作停止部３２と、カウント部３３と、判定部３４と、制限部３５と、を備えている。
【００２８】
力検出部３１は、力センサ１０６と協働してロボット１００に作用する外力を検出する。力センサ１０６は、例えばロボット１００の各々の関節軸に設けられている。力検出部３１は、力センサ１０６が取付けられた関節軸に作用する力を取得する。
【００２９】
動作停止部３２は、力検出部３１によって検出される力が予め定められる閾値を超えたときに、ホストＣＰＵ１１又はサーボ回路２０によってロボット１００を停止させる。
【００３０】
カウント部３３は、ロボット１００を試運転する際に、ロボット１００の動作実績を収集する機能を有する。一実施形態において、カウント部３３は、動作プログラムに含まれる少なくとも１つの動作文の実行回数をカウントする。
【００３１】
判定部３４は、カウント部３３からロボット１００の動作実績、例えば動作文の実行回数を、予め定められる閾値と比較することによって、制限条件が成立したか否か、すなわちモータ１０２の動作を制限すべきか否かを判定する。
【００３２】
制限部３５は、判定部３４によってモータ１０２の動作を制限すべきであると判定された場合に、モータ１０２の動作を制限する。例えば、制限部３５は、モータ１０２の出力を制限し、ロボット１００を低出力モードに切替えて動作させる。或いは、制限部３５は、モータ１０２の速度を制限し、ロボット１００を低速モードに切替えて動作させる。
【００３３】
図４は、一実施形態に係るロボット制御装置１０を用いてロボット１００を試運転させる際のフローチャートである。ステップＳ４０１〜Ｓ４０３は、試運転の前に実行される準備工程である。ステップＳ４０１では、試運転の際に安全を確保するために制限されるべき制限対象を設定する。一実施形態によれば、モータ１０２の出力が制限されてもよい。別の実施形態によれば、モータ１０２の回転速度が制限されてもよい。
【００３４】
ステップＳ４０２では、制限方法を設定する。一実施形態によれば、モータ１０２のフィードバック制御において用いられる位置ループゲイン又は速度ループゲインが低減されてもよい。別の実施形態によれば、モータ１０２に対するトルク指令値が、予め定められる上限値及び下限値によって決定される所定の範囲に含まれるよう制限される。
【００３５】
ステップＳ４０３では、制限条件を設定する。一実施形態によれば、動作プログラムに含まれる同一の動作文の実行回数が、予め定められる閾値以下の場合は、当該動作文を実行する際にモータ１０２の動作に制限が課される。
【００３６】
ステップＳ４０１〜Ｓ４０３までの準備工程が完了したら、ステップＳ４０４に進み、ロボット１００の試運転を実行する。なお、ステップＳ４０１〜ステップＳ４０３を実行する順番は、図示された例に限定されない。ロボット１００の試運転は、動作プログラムに従って実行される。或いは、操作者が、教示操作盤２００を用いた手動送り処理によって、ロボット１００に対する指令を順次付与することにおってロボット１００の試運転を実行してもよい。
【００３７】
図５を参照して、図４のステップＳ４０１の工程についてより詳細に説明する。図５は、制限対象を設定する際に、教示操作盤２００のディスプレイ２０２に表示される画面の例を示している。この例では、モータ１０２の出力を制限する際の画面を示している。一実施形態によれば、６つの関節軸Ｊ１〜Ｊ６に対して制限の有効又は無効を一括して切換えられるようになっている。しかしながら、制限の有効又は無効を関節軸Ｊ１〜Ｊ６に対して個別に切替可能であってもよい。図示された例において、教示操作盤２００は、関節軸Ｊ１〜Ｊ６に対してパラメータを個別に設定できるように構成されている。
【００３８】
図５に示されるように、「剛性」、「トルク」及び「衝突」の各項目が「有効」に設定されている。したがって、図示された例では、各項目に対応する制限がそれぞれ有効になっている。
【００３９】
「剛性」の項目は、位置制御部２２において用いられる位置ループゲイン、又は速度制御部２５において用いられる速度ループゲインを変更するのに使用される。一実施形態によれば、出力制限が付与されない場合の位置ループゲイン及び速度ループゲインに対して、出力制限を付与する場合の位置ループゲイン及び速度ループのゲインが百分率で設定される。ここで設定された位置ループゲイン及び速度ループゲインは、不揮発性メモリ１４（図１参照）に記憶される。
【００４０】
位置制御部２２によって作成される速度指令、及び速度制御部２５によって作成されるトルク指令の大きさは、位置ループゲイン及び速度ループゲインにそれぞれ比例する。そのため、位置ループゲイン又は速度ループゲインを小さく設定すれば、モータ１０２の出力が低下する。したがって、ロボット１００が動作中に周囲の物体又は作業者に接触した場合であっても、ロボット１００から物体又は作業者に対して付与される力が低下し、重大な事故の発生を防止できる。
【００４１】
図５に示される「トルク」の項目は、関節軸Ｊ１〜Ｊ６によって付与されるトルクに上限値及び下限値を設定する。すなわち、各関節軸Ｊ１〜Ｊ６のトルクのトレランスを入力できるようになっている。すなわち、トルク制限を有効にした場合、関節軸Ｊ１〜Ｊ６のトルクは、「開始時のトルク±トレランス（入力値）」の範囲に制限される。「開始時のトルク」は、ロボット１００に作用する重力に対抗して作用し、ロボット１００を支持するのに必要なトルクである。トルク制限の上限値及び下限値は、不揮発性メモリ１４に記憶される。このように、各回転軸Ｊ１〜Ｊ６のトルクを上限値又は下限値に従ってクランプすることによって、ロボット１００が周囲の物体又は作業者に接触したとしても、ロボット１００から物体又は作業者に対して付与される力が低下し、重大な事故の発生を防止できる。
【００４２】
「衝突」の項目は、動作停止部３２において、力検出部３１によって検出される力との比較対象に用いられる閾値を設定するのに用いられる。動作停止部３２は、モータ１０２の出力制限又は速度制限が有効であるか無効であるかに拘わらず、力検出値が閾値を超えたときにロボット１００を停止させる。図５に示される入力値は、出力制限が無効であるときに用いられる基準閾値に対して、出力制限が有効であるときに用いられるべき閾値を百分率で表記したものである。このように、衝突判定の閾値を小さく設定することによって、ロボット１００が周囲の物体又は作業者に接触した場合に、ロボット１００を速やかに停止できる。したがって、重大な事故の発生を防止できる。
【００４３】
図６は、速度制限をモータ１０２に付与する際において、教示操作盤２００のディスプレイ２０２に表示される画面の例を示している。この例では、速度制限の有効又は有効をすべての関節軸Ｊ１〜Ｊ６に対して一括で切替えられるようになっている。「各軸上限」の項目には、各関節軸Ｊ１〜Ｊ６の速度の上限値が、最大速度に対する百分率で入力される。また、「直交上限」の項目には、ロボット１００のエンドエフェクタの直交座標系における速度に対する上限値が入力される。
【００４４】
速度制限を有効にした場合、ロボット１００が周囲の物体又は作業者に接触するのを未然に発見できるようになる可能性が高くなる。速度制限は、例えばホストＣＰＵ１１からサーボ回路２０に出力される位置指令を変更することによって行われてもよい。すなわち、位置指令に含まれる目標位置を微分して得られる速度が上限値を超えている場合は、当該上限値にクランプした速度に従って目標位置が変更されてもよい。
【００４５】
図７を参照して、図４のステップＳ４０３の工程についてより詳細に説明する。図７は、制限条件の内容を設定する際において、教示操作盤２００のディスプレイ２０２に表示される画面の例を示している。「確認回数」の項目には、動作プログラムを実行する際に出力制限又は速度制限を付与すべき回数（閾値）が入力される。「制限方法」の項目では、「低出力モード」又は「低速モード」のいずれかが選択される。
【００４６】
図示される例では、動作プログラムの動作文の実行回数が２回までは「低出力モード」で試運転が実行される。他方、或る動作文の実行回数が３回以上である場合は、当該動作文は、制限が付与されない通常モードで実行される。一実施形態によれば、動作プログラムのすべての動作文に対して共通の閾値が設定されるものの、必要に応じて各々の動作文に対して閾値が個別に設定されてもよい。
【００４７】
図８を参照して、図４のステップＳ４０４の工程について説明する。図８は、ロボット１００を試運転させる際に、ロボット制御装置１０によって実行される処理を示すフローチャートである。ロボット１００の試運転は、少なくとも１つの動作文を含む動作プログラムをロボット１００に実行させるよう開始信号が入力されたときに、自動的に実行される。
【００４８】
ロボット制御装置１０は開始信号の入力を監視している。ステップＳ８０１では、開始信号が入力されたか否かを判定する。開始信号が入力されない場合（ステップＳ８０１の判定が否定された場合）は、ステップＳ８０２に進んで手動送り処理が実行され、教示操作盤２００の入力デバイス２０４を用いて入力された指令をロボット１００に実行させる。他方、開始信号が入力された場合（ステップＳ８０１の判定が肯定された場合）は、ステップＳ８０３に進み、動作プログラムが一時停止されているか否かを判定する。
【００４９】
動作プログラムが一時停止されていると判定された場合（ステップＳ８０３の判定が肯定された場合）は、ステップＳ８０４に進み、カウント部３３が現在の動作文の実行回数に「１」を加算する。他方、ステップＳ８０３の判定が否定された場合、ステップＳ８０５に進み、動作プログラムの最初の動作文を現在の動作文に設定する。
【００５０】
ステップＳ８０６では、判定部３４が、現在の動作文の実行回数が予め定められる閾値を超えたか否かを判定する。実行回数が閾値を超えたと判定された場合（ステップＳ８０６の判定が肯定された場合）、ステップＳ８０７においてモータ１０２に対する制限を無効にするとともに、ステップＳ８０９にさらに進み、現在の動作文を実行する。
【００５１】
他方、実行回数が閾値以下であると判定された場合（ステップＳ８０６の判定が否定された場合）、ステップＳ８０８においてモータ１０２に対する制限を有効にした上で、現在の動作文を実行する。
【００５２】
ステップＳ８１０では、現在の動作文が動作プログラムの最後の動作文であるか否かを判定する。ステップＳ８１０の判定が肯定された場合、動作プログラムの安全確認工程を終了する。他方、ステップＳ８１０の判定が否定された場合、ステップＳ８１１に進み、現在の動作文がその次の動作文によって置換される。次いでステップＳ８０５に戻り、次の動作文についてステップＳ８０６〜Ｓ８１０の処理が繰返される。
【００５３】
本実施形態に係るロボット制御装置によれば、次のような効果が得られる。
（１）動作プログラムに含まれる各々の動作文の実行回数に応じて、低出力又は低速モードに切替えて当該動作文が実行される。実行回数が少なく、安全性が確認できていないとみなされる動作文は、低出力又は低速で実行される。したがって、ロボットの周囲の物体又は作業者の安全を確保しつつ、必要な試運転を実行できる。
【００５４】
（２）低出力モード又は低速モードへの切替えは、動作文の実行回数に応じて自動的に行われる。操作者が動作モードの切替操作を行う必要がないので、操作ミスを防止できるとともに、作業効率が向上する。
（３）低出力モード又は低速モードに切替えるための追加の機器が不要である。したがって、安価なロボット制御装置を提供できる。
【００５５】
図９〜図１１を参照して、第２の実施形態に係るロボット制御装置１０について説明する。本実施形態によれば、ロボット１００の動作領域を分割して形成される小領域への進入回数に応じてモータ１０２の動作を制限するか否かを決定する。
【００５６】
図９は、ロボット１００の動作領域１１０を分割して形成される小領域の例を示している。図において、実線の円は、ロボット１００の動作領域１１０を示している。すなわち、最大ストロークを有するロボット１００のエンドエフェクタが通る軌跡が円で示されている。一実施形態において、動作領域１１０は、円の中心から半径方向外側に向かって等間隔に３個の領域に分割されるとともに、中心周りに３０度ごとに１２個の領域に分割されている。すなわち、動作領域１１０は３６個の小領域に分割されている。
【００５７】
図示されるように、エンドエフェクタの位置Ｐは、或る小領域１２０に含まれる。カウント部３３（図３参照）は、エンドエフェクタが小領域１２０に進入する進入回数をカウントする。進入回数は、不揮発性メモリ１４（図１参照）に記憶される。
【００５８】
ロボット制御装置１０のホストＣＰＵ１１（図１参照）は、既知のロボット機構部の幾何学情報を参照し、各関節軸のモータ１０２の現在位置からエンドエフェクタの位置Ｐを取得する。ホストＣＰＵ１１は、エンドエフェクタの位置Ｐからエンドエフェクタが存在する小領域１２０を特定できる。なお、図示した例では、２次元空間において動作領域１１０を小領域に分割した例を説明したものの、３次元空間でも同様に複数の小領域に分割されていてもよい。
【００５９】
図１０は、本実施形態において、制限条件を設定する際に、教示操作盤２００のディスプレイ２０２に表示される画面の例を示している。図示された例では、判定部３４における判定処理に用いられる閾値として「１」が入力されている。したがって、小領域１２０に進入した進入回数が０回又は１回である場合、モータ１０２の動作に制限が付与される。
【００６０】
図１１は、第２の実施形態に係るロボット制御装置１０において所定の制御周期で繰返し実行される処理を示すフローチャートである。
【００６１】
ステップＳ１１０１において、ロボット１００のエンドエフェクタが位置する現在の領域（小領域１２０）を特定する。エンドエフェクタの位置Ｐは、前述したように、エンコーダ１０４によって検出されるモータ１０２の現在の位置と、ロボット機構部の幾何学情報と、に基づいてホストＣＰＵ１１によって計算される。
【００６２】
ステップＳ１１０２において、ステップＳ１１０１で求められた現在の領域が、前回の制御周期のステップＳ１１０１において特定された直前の領域と一致するか否かを判定する。現在の領域が直前の領域と一致しない場合（ステップＳ０２の判定が否定された場合）、ステップＳ１１０３に進み、カウント部３３が現在の領域への進入回数に「１」を加算する。他方、現在の領域が直前の領域と一致する場合（ステップＳ１１０２の判定が肯定された場合）、ステップＳ１１０３をバイパスしてステップＳ１１０４に進む。なお、ステップＳ１１０２が初めて実行されるときは、ステップＳ１１０２の判定は常に肯定され、ステップＳ１１０３に進む。
【００６３】
ステップＳ１１０４では、判定部３４が、現在の領域への進入回数が予め定められる閾値を超えたか否かを判定する。例えば図１０を参照して前述したように、閾値が「１」に設定されている場合、現在の領域への進入回数が２回以上のときに、ステップ１１０４の判定が肯定される。
【００６４】
現在の領域への進入回数が閾値以下の場合（ステップＳ１１０４の判定が否定された場合）、ステップＳ１１０５に進み、予め設定されたモータ１０２への制限を有効にする。他方、ステップＳ１１０４の判定が肯定された場合、ステップＳ１１０６に進み、モータ１０２への制限を無効にする。
【００６５】
ステップＳ１１０７では、次回の制御周期におけるステップＳ１１０２の判定に用いられる「直前の領域」をステップＳ１１０１で特定された「現在の領域」によって置換する。ステップＳ１１０１〜Ｓ１１０７の処理は、ロボット１００が動作プログラムによって定められる一連の処理を完了するまで繰返し実行される。
【００６６】
図１２は、前述した第一の実施形態の変形例に係るロボット制御装置１０の機能ブロック図である。本変形例に係るロボット制御装置１０は、不揮発性メモリ１４に記憶される動作文の実行回数をリセットするリセット部３６をさらに備えている。例えば、動作文の内容に影響を及ぼす変更が動作プログラムに加えられた場合、影響を受けた動作文の実行回数をリセットして初期値に戻すことによって、変更後の動作プログラムを安全に実行できるようになる。
【００６７】
以上、本発明の種々の実施形態について説明したが、当業者であれば、他の実施形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施形態の構成要素を削除又は置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００６８】
１０    ロボット制御装置
２０    サーボ回路
２１    第１の減算器
２２    位置制御部
２３    第２の減算器
２４    微分器
２５    速度制御部
２６    トルク制限部
２７    電流制御部
３１    力検出部
３２    動作停止部
３３    カウント部
３４    判定部
３５    制限部
３６    リセット部
１００    ロボット
１０２    モータ
１０４    エンコーダ
１１０    動作領域
１２０    小領域
【図１】
2016159367.tif 000003
【図２】
2016159367.tif 000004
【図３】
2016159367.tif 000005
【図４】
2016159367.tif 000006
【図５】
2016159367.tif 000007
【図６】
2016159367.tif 000008
【図７】
2016159367.tif 000009
【図８】
2016159367.tif 000010
【図９】
2016159367.tif 000011
【図１０】
2016159367.tif 000012
【図１１】
2016159367.tif 000013
【図１２】
2016159367.tif 000014