(57)【要約】【課題】入力されたキューに基づいてエラー処理を実行するエラー処理手段を備えるものにあって、キューが溢れることに起因した不具合を未然に防止する。【解決手段】ロボットシステム中のエラーを検出するエラー検出部１４、エラー処理の実行を要求するキューを出力する信号処理部１５、キューに基づいてエラー処理を実行するエラー処理部１６、キューのエラー内容を記憶する記憶部１７を設けると共に、信号処理部１５に、判断部１８及びキュー制限部１９を設ける。判断部１８は、エラー発生時のエラー内容と、記憶部１７に記憶されている前回のエラー内容とが同一であるかどうかを判断し、キュー制限部１９は、判断部１８が同一のエラーでないと判断した場合にキューの出力を許容すると共に、同一のエラーと判断したときに、キューの出力を制限する。【選択図】図１
2009032060.tif 000002
【特許請求の範囲】
【請求項１】
エラー発生を検出するエラー検出手段と、
このエラー検出手段がエラーを検出したときに、当該エラーの内容に応じたエラー処理の実行を要求するキューを出力するキュー出力手段と、
このキュー出力手段から出力されたキューに基づいてエラー処理を実行するエラー処理手段とを具備し、
ロボットを制御するロボット制御装置において、
前記キュー出力手段から出力されるキューのエラー内容を記憶する記憶手段と、
前記エラー検出手段がエラーを検出したときに、そのエラー内容と前記記憶手段に記憶されている前回のエラー内容とが同一であるかどうかを判断する判断手段と、
この判断手段により同一のエラーであると判断された場合に、前記キュー出力手段によるキューの出力を制限する制限手段とを備えることを特徴とするロボット制御装置。
【請求項２】
前記制限手段は、前記判断手段が同一のエラーであると判断した場合に、同一内容のエラーの発生が所定回数以上連続したことを条件に、前記キュー出力手段によるキューの出力を禁止するように構成されていることを特徴とする請求項１記載のロボット制御装置。
【請求項３】
前記制限手段は、前回のエラー発生時からの未だ所定時間が経過していないことを条件に、前記判断手段が同一のエラーであると判断した場合に、前記キュー出力手段によるキューの出力を制限するように構成されていることを特徴とする請求項１又は２記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御するものであって、エラー発生を検出したときに、エラー処理の実行を要求するキューを出力し、そのキューに基づいてエラー処理を実行するようにしたロボット制御装置に関する。
【背景技術】
【０００２】
産業用ロボットのシステムにおいては、例えば組立用の多関節型ロボットと、このロボットを制御するロボット制御装置（コントローラ）とを備えると共に、このロボット制御装置に、ティーチングペンダント等と称される手動操作用の操作ペンダントや、プログラミング用のパソコン等の周辺機器を接続して構成される。
【０００３】
このとき、ロボット制御装置には、周辺機器等のエラーを検出するエラー検出部、このエラー検出部がエラーを検出したときに、そのエラーの内容に応じたキュー（エラー処理の実行を要求する信号）を出力する信号処理部、前記キューに基づいてエラー処理を実行するエラー処理部などが設けられている。これにより、例えばユーザ（オペレータ）が前記操作ペンダントの操作を誤った場合などにおいて、そのエラーの内容に応じたエラー処理が行われるようになっている。
【０００４】
ここで、上記信号処理部から出力されたキューは、エラー処理部のバッファに入力され、入力順にエラー処理が行われるようになっている。このとき、キューを記憶するバッファは、容量が限られているので、キューが溢れてしまう虞がある。その対策として、例えば特許文献１では、リクエストを受信する業務システムにおいて、リクエストの件数がしきい値を越えてキューが溢れそうな場合に、キュー容量を拡張する（或いはキューを閉塞する）ことが提案されている。
【特許文献１】特開２００６−３０１９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記したロボットのシステムにおいては、近年、ユーザが、アプリケーションに応じて、パッケージ命令（ライブラリ）を組合せたり、修正を加えたりすることにより、比較的簡単にロボットプログラムを作成することができるものが開発されてきている。ところが、このようにユーザが自由にロボットプログラムを作成できることに伴い、プログラムの実行時における、プログラムミス等に起因するエラーの発生が起こりやすくなる事情が生ずる。
【０００６】
具体例をあげると、例えば、操作ペンダントのタッチパネル上に設定されたキーによりロボットの動作を行わせるような場合、操作ミスや、ロボットの動作条件に合っていない指令信号が出るといったエラーが発生しやすくなり、このような場合、同一のエラーが短時間に多量に（例えば一度に何百も）発生する虞がある。このような同時に多量のエラーが発生すると、信号処理部から多量のキューが出力され、エラー処理部のバッファに入力されるようになる。
【０００７】
このとき、上記特許文献１に記載されたような、リクエスト件数をしきい値と比較して、しきい値を超えたらキューの容量を拡張するといった対策では、多量のキューの入力に間に合わず、結局、キューがバッファから溢れてしまうことになる。キューが溢れるようなことがあると、エラー処理がしきれなくなり、制御装置の動作が中断してしまう等の不具合を招いてしまうことになる。また、特許文献１のキューを閉塞する対策を採用した場合には、必要なエラー処理が行われなくなる虞がある。
【０００８】
本発明は上記事情に鑑みてなされたもので、その目的は、入力されたキューに基づいてエラー処理を実行するエラー処理手段を備えるものにあって、キューが溢れることに起因した、エラー処理がしきれなくなる等の不具合を未然に防止することができるロボット制御装置を提供するにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のロボット制御装置は、エラー検出手段がエラーを検出することに基づいてキュー出力手段から出力されるキューのエラー内容を記憶する記憶手段と、エラー検出手段がエラーを検出したときに、そのエラー内容と前記記憶手段に記憶されている前回のエラー内容とが同一であるかどうかを判断する判断手段と、この判断手段により同一のエラーであると判断された場合に、キュー出力手段によるエラー処理手段に対するキューの出力を制限する制限手段とを備えるところに特徴を有する（請求項１の発明）。
【００１０】
本発明においては、発生したエラーの内容が記憶手段に記憶され、次にエラーが発生した際には、判断手段により、前回のエラー内容と同一であるかどうかが判断される。そして、同一内容のエラーであった場合には、制限手段によって、キュー出力手段によるキューの出力が制限される。異なった内容のエラーであった場合には、キュー出力手段により、エラー処理手段に対してエラー処理の実行を要求するキューが出力されることは勿論である。
【００１１】
従って、同一のエラーが短時間に多量に発生した場合に、キュー出力手段から出力されるキューが制限されるようになり、エラー処理手段に一度に多量のキューが入力されて、キューがバッファから溢れてしまうといったことを未然に防止することができる。この場合、短時間に発生した同一のエラーについては、エラー処理手段によるエラー処理が少なくとも一度実行されれば済み、必要なエラー処理が行われなくなることもない。
【００１２】
本発明においては、上記制限手段を、判断手段が同一のエラーであると判断した場合に、同一内容のエラーの発生が所定回数以上連続したことを条件に、キュー出力手段によるキューの出力を禁止するように構成することができる（請求項２の発明）。また、制限手段を、前回のエラー発生時からの未だ所定時間が経過していないことを条件に、判断手段が同一のエラーであると判断した場合に、キュー出力手段によるキューの出力を制限するように構成することもできる（請求項３の発明）。
【００１３】
これらによれば、制限手段によるキュー出力手段のキューの出力の制限（禁止）が、上記した一定の条件で行われることになる。この場合、同一内容のエラーの連続的な発生が所定回数未満の少数である場合や、前回のエラーの発生時から所定時間以上が経過した後に、同一内容のエラーの発生があった場合は、キューの出力が制限されなくなるので、キューがバッファから溢れることを未然に防止するという目的を達成しながらも、必要なエラー処理を確実に行うことができるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を具体化した一実施例について、図面を参照しながら説明する。図３は、本実施例におけるロボットシステム１の外観構成を概略的に示している。このシステム１は、図１にも示すように、例えば組立用のロボット２と、このロボット２を制御する本実施例に係るロボット制御装置（コントローラ）３とを備えると共に、前記ロボット制御装置３に、周辺機器としての、操作ペンダントたるティーチングペンダント４及びプログラミング用のパソコン５を接続して構成されている。
【００１５】
前記ロボット２は、例えば６軸の小形垂直多関節（６軸）型ロボットとして構成されている。周知のように、このロボット２は、夫々サーボモータにより駆動される６軸のアーム６を有し、アーム６の先端部に、作業用のツール例えばワークを把持するためのハンドを備えている。このロボット２は、前記ロボット制御装置３に接続ケーブル７を介して接続され、前記各軸のサーボモータやハンドがロボット制御装置３により制御されるようになっている。
【００１６】
前記ティーチングペンダント４は、ユーザが携帯して（手で持運んで）操作できる程度のコンパクトな大きさの薄形のほぼ矩形箱状に構成されている。このティーチングペンダント４の表面部の中央部には、例えば比較的大形のカラー液晶ディスプレイからなる表示部１１が設けられており、各種の画面が表示されるようになっている。前記表示部１１の表面にはタッチパネルが設けられている。また、ティーチングペンダント４には、表示部１１の周囲部に位置して、各種の操作キー（メカスイッチ）が設けられ、前記タッチパネルと併せてキー操作部１２が設けられている。
【００１７】
図示はしないが、ティーチングペンダント４内には、マイコンを主体とした制御回路や、前記ロボット制御装置３との間での高速データ転送を行なうためのインタフェース等が設けられている。このティーチングペンダント４は、ケーブル８を介してロボット制御装置３に接続され、前記キー操作部１２からの入力操作信号等が、ティーチングペンダント４からロボット制御装置３に送られるようになっている。また、ロボット制御装置３から、制御信号や表示用の信号等がティーチングペンダント４に送られると共に、ティーチングペンダント４に駆動用電源が供給されるようになっている。
【００１８】
これにて、ユーザは、ティーチングペンダント４を用いてロボット２の運転や設定などの各種の機能を実行させることが可能とされている。具体的には、ユーザが、キー操作部１２を操作することにより、既に記憶（設定）されているロボット２のロボットプログラムのリストを呼出して、選択し、ロボット２を起動させたり、ロボットプログラムや各種パラメータの設定、変更等を行ったりすることができる。また、ロボット２をマニュアル操作により動作させて各種の教示（ダイレクトティーチング）作業を行ったりすることができる。このとき、前記表示部１１には、メニュー画面、設定入力画面、状況表示画面等の必要な情報を表示する各種の画面が表示される。
【００１９】
前記パソコン５は、例えば汎用のノートパソコンからなり、プログラミングソフトを実行させることにより、ユーザ（オペレータ）が、アプリケーションに応じて、前記ロボット２の動作手順等を記述したロボットプログラムを作成することができるようになっている。この場合、ユーザが、アプリケーションに応じて、パッケージ命令（ライブラリ）を組合せたり、修正を加えたりすることにより、比較的簡単にロボットプログラムを作成することができるものとなっている。このパソコン５は、ケーブル９を介してロボット制御装置３に接続され、作成されたロボットプログラムが、ロボット制御装置３に入力されるようになっている。
【００２０】
前記ロボット制御装置３は、矩形箱状をなすフレーム１３内に、詳しく図示はしないが、制御回路やサーボ制御部、電源装置、周辺機器との間での高速データ転送を行なうためのインタフェース部等を組込んで構成されている。前記制御回路は、ＣＰＵ、ＲＯＭ、ＲＡＭ等からなるマイコンを主体として構成され、予め入力，記憶されたロボットプログラムや、各種データ及びパラメータ、ティーチングペンダント４からの操作信号等に従って、サーボ制御部を介して前記ロボット２の各軸サーボモータを駆動し、もって、ロボット２を制御するようになっている。
【００２１】
さて、本実施例では、前記ロボット制御装置３（制御回路）は、そのハードウエア構成及びソフトウエア構成により、図１に示すように、エラー処理に関連する各種の機能を実現するようになっている。即ち、ロボット制御装置３には、エラー検出手段としてのエラー検出部１４、信号処理部１５、エラー処理手段としてのエラー処理部１６、記憶手段としての記憶部１７が設けられる。更に、前記信号処理部１５には、判断部１８及びキュー制限部１９が含まれている。
【００２２】
そのうちエラー検出部１４は、ロボットシステム１中においてエラーが発生したことを検出するものであり、このエラー検出部１４がエラーを検出した際には、信号処理部１５（判断部１８）に対してエラー信号（エラーの内容（エラー番号）を含んだ信号）を出力する。前記信号処理部１５は、キュー出力手段として機能し、エラー検出部１４からエラー信号が入力されたときに、基本的には、当該エラーの内容に応じたエラー処理の実行を要求する信号であるキューを、前記エラー処理部１６に対して出力する。
【００２３】
前記エラー処理部１６は、前記信号処理部１５（キュー制限部１９）から出力されたキューに基づいて、そのエラー内容に応じたエラー処理を実行する。このエラー処理部１６には、前記キューが入力、蓄積されるＦＩＦＯ型のバッファ（図示省略）が設けられており、エラー処理部１６は、入力されたキューの順にエラー処理を実行するようになっている。
【００２４】
尚、上記キューが入力されるバッファには、容量に限界があることは周知の通りである。また、本実施例におけるエラーとは、ロボット２の緊急停止を招くような安全上極めて重要となるエラーを対象とせず、例えばユーザがティーチングペンダント４の操作を誤った場合などの、入力信号を無効化し、ユーザに警告を出力するといった、エラー処理部１６によりソフトウエア的に解消可能な、比較的簡易なエラーを言う。
【００２５】
このとき、本実施例では、前記信号処理部１５から出力された最新のキューのエラー内容が、前記記憶部１７に記憶されるようになっている。そして、次の作用説明（フローチャート説明）でも述べるように、前記信号処理部１５の判断部１８は、前記エラー検出部１４からエラー検出信号が入力されたときに、そのエラー内容と、前記記憶部１７に記憶されている前回（最新）のエラー内容とが同一であるかどうかを判断するようになっている。
【００２６】
さらに、信号処理部１５のキュー制限部１９は、判断部１８が同一のエラーでないと判断した場合には、キューの出力を許容すると共に、判断部１８が同一のエラーと判断した場合に、キューの出力を制限する、即ちキューの出力を禁止するようになっている。従って、前記判断部１８が、判断手段として機能し、キュー制限部１９が、制限手段として機能するのである。
【００２７】
また、本実施例では、キュー制限部１９は、判断部１８が同一のエラーと判断した場合に、同一内容のエラーの発生が、所定回数（例えば３回）以上連続したことを条件に、前記信号処理部１５からエラー処理部１６に対するキューの出力を禁止するようになっている。つまり、同一内容のエラーが発生しても、その連続回数が所定回数（３回）未満であるときには、キューの出力を許容するようになっている。
【００２８】
次に、上記構成の作用について、図２も参照して述べる。図２のフローチャートは、ロボット制御装置３（主として信号処理部１５）が実行する、エラー発生時における処理の手順を示している。即ち、システム１のいずれかでエラーが発生し、エラー検出部１４がエラーを検出すると、まず、ステップＳ１にて、前回と同じ内容のエラーかどうかが判断される。この判断は、判断部１８において、エラー検出部１４から入力されたエラー検出信号のエラー内容と、記憶部１７に記憶されている前回（最新）のエラー内容とが同一であるかどうかを判断することにより行われる。
【００２９】
前回と同じ内容のエラーではなかった場合には（ステップＳ１にてＮｏ）、ステップＳ２に進み、発生回数をカウントするためのカウンタＮが０にリセットされ、これと共に、ステップＳ３にて、現在のエラー情報（エラーの内容）が記憶部１７に保存される。そして、次のステップＳ４にて、発生したエラーの内容に応じたエラー処理の実行を要求するキューが、キュー制限部１９からエラー処理部１６に対して出力される。ステップＳ５では、エラー処理部１６によるエラー処理が実行され、リターンされる。これにより、エラーが発生したときに、前回と同じエラーでない場合には、そのままエラー処理が行われるのである。
【００３０】
一方、前回と同じ内容のエラーが発生した場合には（ステップＳ１にてＹｅｓ）、ステップＳ６にて、発生回数（カウンタ）Ｎが、指定回数Ｎdef （例えば３回）よりも小さいかどうかが判定される。カウンタＮが３未満であった場合、つまり同一内容のエラーの連続発生回数が３回以下である場合には（ステップＳ６にてＹｅｓ）、ステップＳ７にて、現在のエラー情報（エラーの内容）が記憶部１７に保存され、これと共に、ステップＳ８にて、発生回数のカウンタＮが１だけインクリメントされる。そして、ステップＳ４に進み、キューがエラー処理部１６に対して出力され、ステップＳ５にて、エラー処理部１６によるエラー処理が実行される。
【００３１】
これに対し、発生回数（カウンタ）Ｎが、指定回数Ｎdef （例えば３回）以上である場合には（ステップＳ６にてＮｏ）、キューの出力や、エラー処理が行われずにそのままリターンされる。これにより、同一内容のエラーの発生が、所定回数（例えば３回）以上連続したことを条件に、前記信号処理部１５からエラー処理部１６に対するキューの出力が制限（禁止）されるのである。
【００３２】
ここで、上記した本実施例のロボットシステム１においては、ユーザが、アプリケーションに応じて、比較的簡単にロボットプログラムを作成することができるため、プログラムの実行時における、プログラムミス等に起因するエラーの発生が起こりやすくなる事情がある。具体例をあげると、例えば、ティーチングペンダント４のタッチパネル上に設定されたキーによりロボット２の動作を行わせるような場合、操作ミスや、ロボット２の動作条件に合っていない指令信号が出るといったエラーが発生しやすくなる。
【００３３】
この場合、同一のエラーが短時間に多量に（例えば一度に何百も）発生することがある。もし、同時に多量のエラーが発生し、それに伴い信号処理部１５から多量のキューがエラー処理部１６に対して出力されるようなことがあると、エラー処理部１６のバッファからキューが溢れてしまう虞がある。このようにキューが溢れるようなことがあると、エラー処理部１６がエラーの処理をしきれなくなり、ロボット制御装置３の動作が中断してしまう等の不具合を招くことになる。
【００３４】
ところが、本実施例では、同一のエラーが短時間に多量に発生した場合に、判断部１８の判断に基づいて、キュー制限部１９により、信号処理部１５から出力されるキューが制限されるようになり、エラー処理部１６に一度に多量のキューが入力されて、キューがバッファから溢れてしまうといったことを未然に防止することができるのである。この場合、短時間に発生した同一のエラーについては、エラー処理部１６によるエラー処理が少なくとも一度実行されれば済み、必要なエラー処理が行われなくなることもない。
【００３５】
このように本実施例によれば、入力されたキューに基づいてエラー処理を実行するエラー処理部１６を備えるものにあって、信号処理部１５から出力されるキューのエラー内容を記憶部１７に記憶すると共に、エラー検出部１４がエラーを検出したときに、判断部１８により、そのエラー内容と記憶部１７に記憶されている前回のエラー内容とが同一であるかどうかを判断し、同一のエラーであると判断された場合に、キュー制限部１９によりキューの出力を制限するようにしたので、キューが溢れることに起因した、エラー処理がしきれなくなる等の不具合を未然に防止することができるという優れた効果を奏する。
【００３６】
また、特に本実施例では、同一内容のエラーの発生が所定回数以上連続したことを条件に、キュー制限部１９によりキューの出力が禁止されるように構成した。これにより、同一内容のエラーの連続的な発生が所定回数（３回）以下の少数である場合には、キューが出力されるので、キューがバッファから溢れることを未然に防止するという目的を達成しながらも、エラー処理部１６による必要なエラー処理を確実に行うことができる。
【００３７】
尚、上記実施例では、同一内容のエラーの発生が所定回数以上連続したことを条件に、キュー制限部１９によりキューの出力を禁止するように構成したが、それに加えて、或いはそれに代えて、前回のエラー発生時からの未だ所定時間（例えば１０分）が経過していないことを条件に、判断手段が同一のエラーであると判断した場合に、キュー出力手段によるキューの出力を制限するように構成することもできる。これによっても、キューがバッファから溢れることを未然に防止するという目的を達成しながらも、必要なエラー処理を確実に行うことができるようになる。そのような条件を付与せずに、キューの出力を禁止する構成としても良い。
【００３８】
その他、ティーチングペンダント４は、表示部１１を有しない比較的簡易な構成のものであっても良く、またロボットシステム１全体の構成や、ロボット２、ロボット制御装置３の形状や構造などについても、種々の変形が可能であるなど、本発明は要旨を逸脱しない範囲内で適宜変更して実施し得るものである。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例を示すもので、ロボット制御装置の要部の構成を示す機能ブロック図
【図２】エラー発生時の処理手順を示すフローチャート
【図３】ロボットのシステムの構成を概略的に示す斜視図
【符号の説明】
【００４０】
図面中、１はロボットシステム、２はロボット、３はロボット制御装置、４はティーチングペンダント、５はパソコン、１２はキー操作部、１４はエラー検出部（エラー検出手段）、１５は信号処理部（キュー出力手段）、１６はエラー処理部（エラー処理手段）、１７は記憶部（記憶手段）、１８は判断部（判断手段）、１９はキュー制限部（制限手段）を示す。
【図１】
2009032060.tif 000003
【図２】
2009032060.tif 000004
【図３】
2009032060.tif 000005