【課題】複数の操作者がロボットを操作する場合に、他の操作者による操作によって教示情報や設定パラメータ等が変更されていれば、ロボットの動作が想定外のものになり、危険であった。
【解決手段】操作受付装置2は、ロボット3の操作を受け付ける操作受付部21、操作者識別子を操作前に受け付ける識別子受付部22、操作に応じて制御情報を変更する変更部23、操作に応じた履歴情報と、操作者識別子と、操作の日時とを対応付けて履歴記憶部24に蓄積する蓄積部25、操作者識別子が受け付けられた際に、操作者識別子に対応する最新の日時より後の日時に対応する履歴情報を出力する出力部26を備える。このようにして、ロボット3の操作前に、他の操作者の操作履歴を知ることができるため、ロボット3の動作が想定外のものとならないようにすることができ、安全性を高めることができる。
前記出力部は、前記識別子受付部が受け付けた操作者識別子に対応する日時が前記履歴記憶部で記憶されていない場合に、前記履歴記憶部で記憶されている操作者識別子を出力する、請求項1記載の操作受付装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の操作者が同一のロボットに関する操作を行う場合に、他の操作者がパラメータや動作プログラム等を変更していることに気づかずに作業を進めると、操作者が意図していない設定のロボットを操作することになる。その結果、例えば、ロボットが操作者の意図していない動作を行う可能性があり、危険であった。また、例えば、誤ったパラメータで操作を進めることによって、作業の後戻りが発生したり、不適切な作業結果となり、ワークを破棄しなくてはならなくなったりする可能性があった。
【0005】
なお、上記特許文献1のように、操作履歴を記憶している場合には、他の操作者がロボットの設定等を変更しているかどうかを確認してから操作を開始すれば、適切な操作を行うことができるようになる。しかしながら、その確認を行うことなくロボットを操作した場合には、上述のような問題が生じることになる。
【0006】
本発明は、上記問題点を解決するためになされたものであり、複数の操作者が操作を行うロボットにおいて、ある操作者がロボットを操作する場合に、ロボットが想定外の動作を行わないようにすることができる装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明による操作受付装置は、ロボットに関して入力された操作を受け付ける操作受付部と、操作を入力する操作者を識別する操作者識別子を、操作受付部が操作を受け付ける前に受け付ける識別子受付部と、操作受付部が受け付けた操作に応じて、ロボットの制御で用いられる制御情報を変更する変更部と、操作の履歴に関する履歴情報と、操作者識別子と、日時とが対応付けられて記憶される履歴記憶部と、入力された操作に応じた履歴情報と、操作を入力した操作者の操作者識別子と、操作の入力に関する日時とを対応付けて履歴記憶部に蓄積する蓄積部と、識別子受付部が操作者識別子を受け付けた際に、操作者識別子に対応する最新の日時より後の日時に対応する履歴情報に関する出力を行う出力部と、を備えたものである。
このような構成により、各操作者は、前回に操作を終了してから現在までに行われた他人の操作の履歴に関する情報を操作前に確認できる。その結果、ロボットの動作が意図していないものとなることを回避することができる。
【0008】
また、本発明による操作受付装置では、出力部は、識別子受付部が受け付けた操作者識別子に対応する日時が履歴記憶部で記憶されていない場合に、履歴記憶部で記憶されている操作者識別子を出力してもよい。
このような構成により、初めてロボットを操作する際に、そのロボットを他のどのような操作者が操作しているのかを知ることができる。その結果、初めてロボットを操作する操作者は、自分の操作が他人に影響を及ぼしうることを自覚でき、より慎重に操作を行うようになり得る。
【0009】
また、本発明による操作受付装置では、出力部は、履歴記憶部で記憶されている操作者識別子を出力する際に、操作者識別子に対応する履歴情報をも出力してもよい。
このような構成により、今までに各操作者によって、どのような操作が行われたのかについても知ることができるようになる。
【0010】
また、本発明による操作受付装置では、操作受付部は、出力部による履歴情報の出力に応じて、履歴情報に応じた変更を適用するかどうかを示す指示をも受け付け、変更部は、変更を適用しないことを示す指示が操作受付部によって受け付けられた場合に、制御情報を、識別子受付部が受け付けた操作者識別子に対応する最新の日時に対応する履歴情報に応じた情報に復元してもよい。
このような構成により、前回に操作を終了してから現在までに行われた他人の操作の履歴を反映させるかどうかを決めることができるようになる。そして、例えば、他人の操作に好ましくない変更等が含まれていた場合には、前回に操作を終了した時点の設定となるように復元させることができる。
【0011】
また、本発明による操作受付装置では、操作受付部は、操作を入力した操作者にのみ適用される操作である個人操作と、すべての操作者に適用される操作である全体操作とを受け付け、履歴情報は、個人操作の履歴を示す個人履歴情報と、全体操作の履歴を示す全体履歴情報とを含み、変更部は、識別子受付部が操作者識別子を受け付けた際に、制御情報を、操作者識別子に対応する最新の日時に対応する個人履歴情報に応じた情報に復元し、出力部は、識別子受付部が操作者識別子を受け付けた際に、操作者識別子に対応する最新の日時より後の日時に対応する全体履歴情報に関する出力を行ってもよい。
このような構成により、個人操作については、前回に操作を終了した時点の設定となるようにできるため、個人の好みに応じた設定となる。一方、全体操作については、その設定が複数の操作者間で受け継がれるようになる。例えば、文字の大きさ等については、個人の好みが反映されることになる一方、動作プログラム等については、複数の操作者により、順次、改良していくことが可能となる。なお、この場合であっても、その全体操作に応じた他人の履歴に関する情報を操作前に確認できるため、ロボットが想定外の動作を行うことを回避することができる。
【0012】
また、本発明による操作受付装置は、ロボットに関して入力された操作を受け付ける操作受付部と、操作を入力する操作者を識別する操作者識別子を、操作受付部が操作を受け付ける前に受け付ける識別子受付部と、操作受付部が受け付けた操作に応じて、ロボットの制御で用いられる制御情報を変更する変更部と、操作の履歴に関する履歴情報と、操作者識別子と、日時とが対応付けられて記憶される履歴記憶部と、入力された操作に応じた履歴情報と、操作を入力した操作者の操作者識別子と、操作の入力に関する日時とを対応付けて前記履歴記憶部に蓄積する蓄積部と、を備え、変更部は、識別子受付部が操作者識別子を受け付けた際に、制御情報を、操作者識別子に対応する最新の日時に応じた情報に復元する、ものである。
このような構成により、各操作者は、前回に操作を終了した時点の設定でロボットを操作できるようになる。その結果、ロボットの動作が意図していないものとなることを回避することができる。
【発明の効果】
【0013】
本発明による操作受付装置によれば、複数の操作者が操作を行うロボットにおいて、ある操作者がロボットを操作する場合に、ロボットが想定外の動作を行わないようにすることができる。
【発明を実施するための形態】
【0015】
以下、本発明による操作受付装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【0016】
(実施の形態1)
本発明の実施の形態1によるロボットシステムについて、図面を参照しながら説明する。本実施の形態によるロボットシステムは、操作者ごとに操作の履歴を蓄積し、他の操作者による操作の履歴に関する情報を操作開始前に出力するものである。
【0017】
図1は、本実施の形態によるロボットシステムの構成を示す図である。本実施の形態によるロボットシステムは、ロボット制御装置1と、溶接トーチ3a及びワイヤ送給部3bを有するロボット3と、溶接電源4と、ティーチペンダント5とを備える。
【0018】
ロボット制御装置1は、教示情報や設定パラメータ等を含む制御情報が記憶される記憶部11と、その教示情報等を用いて、ロボット3や溶接電源4を制御する制御部12と、ロボット3に関する操作を受け付ける操作受付装置2とを備える。操作受付装置2は、操作受付部21と、識別子受付部22と、変更部23と、履歴記憶部24と、蓄積部25と、出力部26とを備える。
【0019】
ロボット3は、減速機を介して駆動モータにより駆動される関節によって連結された複数のアームを有している。その駆動モータは、エンコーダを有しており、そのエンコーダによって駆動モータの現在位置が検出されてもよい。また、そのロボット3の先端には、母材8に対してアーク溶接を行う溶接トーチ3aが取り付けられている。そして、溶接ワイヤがワイヤ送給部3bから送給され、溶接電源4によって、溶接トーチ3aの先端の溶接ワイヤと母材8との間に高電圧が印加されることによってアークが発生し、そのアークの熱で溶接ワイヤ及び母材8が溶融されることにより、母材8に対する溶接が行われる。なお、ロボット3の構成はすでに公知であり、その詳細な説明を省略する。また、アーク溶接では、シールドガスを溶接トーチ3aから噴出することが一般的であるが、その構成の説明は省略している。
【0020】
溶接電源4は、溶接で用いられる高電圧を溶接トーチ3aや母材8に供給する電源や、ワイヤ送給部3bによる溶接ワイヤの送給を制御するワイヤ送給制御部、ロボット制御装置1から受け取った溶接条件に応じて、その電源を制御する溶接制御部等を備えている。また、溶接電源4は、溶接電流、溶接電圧、シールドガス流量、ワイヤ送給速度等のデータを取得し、そのデータをロボット制御装置1に送信してもよい。なお、溶接電源4の構成はすでに公知であり、その詳細な説明を省略する。
【0021】
ティーチペンダント5は、操作者が教示情報や設定パラメータ等を含む制御情報の変更に関する操作を入力したり、ロボット3の操作を入力したりする際に用いられる可搬式の操作装置である。ティーチペンダント5によって入力されるロボット3の操作は、例えば、ロボット3の手先の位置及び姿勢の操作であってもよい。また、その操作は、例えば、ロボット3の手先の位置の変位や、その手先の姿勢の変位であってもよく、その他の操作であってもよい。また、ティーチペンダント5は、ロボット制御装置1からの情報を受け取り、ディスプレイ等に表示してもよい。
【0022】
記憶部11では、ロボット3の制御で用いられる情報である制御情報が記憶される。なお、その制御情報には、例えば、教示情報や設定パラメータ等が含まれていてもよく、ロボット3の制御で用いられるその他の情報が含まれていてもよい。その教示情報には、例えば、ロボット3の先端(溶接トーチ3a)に関する位置や姿勢の指令が含まれていてもよい。また、その教示情報には、溶接条件が含まれていてもよい。なお、記憶部11に制御情報が記憶される過程は問わない。例えば、記録媒体を介して制御情報が記憶部11で記憶されるようになってもよく、通信回線等を介して送信された制御情報が記憶部11で記憶されるようになってもよく、または、変更部23を介して入力された制御情報が記憶部11で記憶されるようになってもよい。また、例えば、ティーチペンダント5を介して制御情報が入力されてもよい。記憶部11での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
【0023】
制御部12は、その制御情報に応じて、ロボット3の制御と溶接電源4の制御とを行う。ロボット3を制御する際に、制御部12は、教示情報によって示されるロボット3の位置や姿勢を補間し、補間後の位置や姿勢を、逆運動学の計算によって各駆動モータの位置に変換して用いてもよい。また、制御部12は、ロボット3の各軸のエンコーダから受け取る駆動モータの現在位置等を用いて、ロボット3の制御を行ってもよい。その制御によって、ロボット3の溶接トーチ3aが所望の位置に移動されることになる。なお、その制御の際に、制御部12は、サーボコントローラを介してロボット3を制御してもよい。また、制御部12は、教示情報に含まれる溶接条件等に応じて、溶接電源による溶接の開始や終了、溶接電圧、溶接電流、シールドガス流量、溶接ワイヤの送給の開始や終了等を制御する。また、制御部12は、制御情報に含まれる設定パラメータに応じてロボット3を制御してもよい。また、制御部12は、ティーチペンダント5から入力される操作に応じてロボット3を制御してもよい。
【0024】
操作受付部21は、ロボット3に関して入力された操作を受け付ける。その操作は、例えば、ティーチペンダント5から入力されたものであってもよく、または、他のインターフェースから入力されたものであってもよい。また、その操作は、例えば、動作プログラムや溶接条件等の教示情報の作成や変更等に関する操作であってもよく、設定パラメータの設定や変更等に関する操作であってもよく、ロボット3の移動等に関する操作であってもよく、その他のロボット3に関する操作であってもよい。また、後述するように、出力部26が履歴情報に関する出力を行った場合に、操作受付部21は、その出力に応じて、その履歴情報に応じた変更を適用するかどうかを示す指示をも受け付けてもよい。
【0025】
操作受付部21は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された操作を受け付けてもよく、有線または無線の通信回線を介して送信された操作を受信してもよい。本実施の形態では、操作受付部21がティーチペンダント5を介して操作を受け付ける場合について主に説明する。なお、操作受付部21は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、操作受付部21は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0026】
識別子受付部22は、操作を入力する操作者を識別する操作者識別子を受け付ける。操作者識別子は、例えば、操作者の氏名や電話番号等であってもよく、操作者の社員ID等の識別子であってもよく、操作者を識別可能なその他の識別子であってもよい。識別子受付部22は、操作受付部21が操作を受け付ける前に、その操作を入力する操作者の操作者識別子を受け付けるものとする。そのため、操作受付部21は、例えば、識別子受付部22が操作者識別子を受け付けた後に、操作の受け付けを開始してもよい。例えば、識別子受付部22は、操作者のログイン時に操作者識別子を受け付けてもよい。
【0027】
識別子受付部22は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報を受け付けてもよい。本実施の形態では、識別子受付部22がティーチペンダント5を介して操作者識別子を受け付ける場合について主に説明する。なお、識別子受付部22は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、識別子受付部22は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0028】
変更部23は、操作受付部21が受け付けた操作に応じて、記憶部11で記憶されている制御情報を変更する。その変更は、例えば、制御情報への新規の教示情報等の追加であってもよく、制御情報に含まれる教示情報等の内容の変更であってもよく、制御情報に含まれる教示情報等の削除であってもよく、制御情報に関するその他の変更であってもよい。また、変更部23は、記憶部11で記憶されている制御情報を、履歴記憶部24で記憶されている履歴情報を用いて復元してもよい。その処理の詳細については後述する。
【0029】
履歴記憶部24では、操作の履歴に関する履歴情報と、操作者識別子と、日時とが対応付けられて記憶される。それらの情報は、蓄積部25によって蓄積される。それらの情報の詳細については後述する。履歴記憶部24での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。履歴記憶部24は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。ここで、「履歴情報と、操作者識別子と、日時とが対応付けられている」とは、操作者識別子から、履歴情報や日時を特定できればよいという意味である。したがって、履歴記憶部24では、履歴情報と操作者識別子と日時とを組として含む情報が記憶されてもよく、履歴情報と操作者識別子と日時とをリンク付ける情報が記憶されてもよい。後者の場合には、履歴記憶部24では、例えば、履歴情報や操作者識別子等の格納されている位置を示すポインタやアドレスを対応付ける情報が記憶されてもよい。また、履歴情報や操作者識別子等は、直接対応付けられてもよく、または、そうでなくてもよい。後者の場合には、例えば、他の情報を介してそれらが対応付けられてもよい。
【0030】
蓄積部25は、入力された操作に応じた履歴情報と、その操作を入力した操作者の操作者識別子と、その操作の入力に関する日時とを対応付けて履歴記憶部24に蓄積する。履歴情報は、入力された操作に応じて制御情報が変更された履歴を示す情報である。したがって、履歴情報は、変更部23による制御情報の変更履歴を示す情報であると考えてもよい。その履歴情報は、例えば、制御情報において、操作に応じた変更対象を示す情報と、その変更内容とを示す変更項目情報を含んでいてもよい。操作に応じた変更対象を示す情報は、例えば、作業プログラムや設定パラメータ等の識別子であってもよい。変更内容は、例えば、追加、変更、削除等であってもよい。また、履歴情報は、その変更内容の詳細を示す情報も含んでいてもよい。また、後述するように、履歴情報を用いた制御情報の復元が行われる場合には、履歴情報に、その制御情報の復元に用いられるバックアップ情報が含まれていてもよい。そのバックアップ情報は、例えば、ある時点の制御情報そのものであってもよく、または、その時点に関する制御情報の差分であってもよい。また、操作の入力に関する日時とは、その操作の入力に関係する日時であればどのようなものであってもよく、例えば、一連の操作が入力された期間の始期または終期の日時であってもよく、または、履歴情報等の蓄積される日時であってもよい。また、日時は、履歴情報の時間的な前後の判断に用いられるものであるため、その目的に応じた単位の情報であればよい。例えば、日時は、年月日と時分秒を含んでいてもよく、年月日と時分を含んでいてもよく、年月日と時間を含んでいてもよく、年月日のみであってもよい。また、蓄積部25は、例えば、図示しないカレンダー部や時計部等から現在の日時を取得してもよい。また、蓄積部25がそれらの情報を蓄積するタイミングは問わない。例えば、操作者による一連の操作が終了した時点で、その一連の操作に関する履歴情報と、操作者識別子と、日時とを蓄積してもよく、操作者による操作が入力されている際に、逐次、履歴情報とを蓄積してもよく、または、その他のタイミングでそれらの情報を蓄積してもよい。また、履歴情報と操作者識別子と日時とは、同じタイミングで蓄積されてもよく、異なるタイミングで蓄積されてもよい。また、履歴記憶部24においては、履歴情報と、操作者識別子と、日時とが一対一に対応付けられていてもよく、または、一対多に対応付けられていてもよい。例えば、1個の操作者識別子に対して、2個以上の履歴情報や日時が対応付けられていてもよい。
【0031】
出力部26は、識別子受付部22が操作者識別子を受け付けた際に、その操作者識別子に対応する最新の日時(すなわち、最後の日時)より後の日時に対応する履歴情報に関する出力を行う。すなわち、ある操作者が、操作の開始前に操作者識別子を入力すると、それに応じて、前回、その操作者が操作を終了した後に他の操作者が行った操作に対応する履歴情報に関する出力が行われることになる。その出力により、操作を開始しようとしている操作者は、前回の操作の終了時から現在までに他の操作者が行った操作の履歴に関する情報を知ることができる。そのため、その出力は、その操作者が操作を入力するよりも前に出力されることが好適である。その出力は、例えば、履歴情報の出力であってもよく、履歴情報が存在する旨(すなわち、前回の操作の終了時点から現在までの間に、他の操作者による操作があった旨)を示す情報の出力であってもよく、履歴情報に関するその他の出力であってもよい。なお、履歴情報の出力は、履歴情報の全体の出力であってもよく、または履歴情報の一部の出力であってもよい。後者の場合には、履歴情報の出力は、例えば、履歴情報に含まれる変更項目情報の出力であってもよい。履歴情報の出力によって、操作者が制御情報の変更の概要を知ることができるようになることが求められるため、変更項目情報が出力されることが好適である。このような出力が行われることにより、操作者に対して他の操作者が行った操作内容に関する注意喚起を行うことができる。すなわち、今からロボット3に関する操作を行おうとしている操作者に対して、前回から今までの間に他の操作者が行った操作の履歴等を示すことにより、ロボット3の動作が、その操作者の想定外のものとなることを回避することができる。なお、識別子受付部22が受け付けた操作者識別子に対応する最新の日時より後の日時に対応する履歴情報が存在しない場合、または、その履歴情報に有意な情報が含まれていない場合(例えば、履歴情報がヌルである場合)には、出力部26は、履歴情報に関する出力を行わなくてもよく、または、前回の操作時から制御情報に変化のない旨を出力してもよい。
【0032】
また、出力部26は、識別子受付部22が受け付けた操作者識別子に対応する日時が履歴記憶部24で記憶されていない場合、すなわち、その操作者識別子そのものや、その操作者識別子に対応する履歴情報がまだ履歴記憶部24で記憶されていない場合に、履歴記憶部24で記憶されている操作者識別子を出力してもよい。この出力は、通常、ある操作者が初めて操作受付装置2を介したロボット3の操作を行う際に行われることになる。その出力対象の操作者識別子によって、初めて操作受付装置2を介したロボット3の操作を行う操作者は、同じロボット3を操作している他の操作者の存在を知ることができ、自分の操作が他人に影響を及ぼしうることを自覚できる。その結果、例えば、その操作者は、より慎重に操作を行うようになり得る。なお、出力部26は、履歴記憶部24で記憶されている操作者識別子を出力する際に、その操作者識別子に対応する履歴情報をも出力してもよい。そのようにすることで、他の操作者がそれまでに行った操作内容についても知ることができるようになる。この場合にも、履歴情報の出力は、履歴情報の全体の出力であってもよく、または履歴情報の一部の出力であってもよい。
【0033】
なお、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。また、その出力内容は、最終的に、操作を開始しようとしている操作者が知ることができるようになることが好適である。本実施の形態では、出力部26がティーチペンダント5に出力する場合について主に説明する。なお、出力部26は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、出力部26は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0034】
ここで、変更部23による制御情報の復元の処理について説明する。まず、出力部26は、履歴情報に関する出力を行うと共に、その履歴情報に応じた変更を適用するかどうかを示す指示の入力要求をも出力してもよい。なお、履歴情報に関する出力が、その入力要求の出力であると考えてもよい。その入力要求に応じて、操作受付部21が、その履歴情報に応じた変更を適用する旨の指示、すなわち復元しない旨の指示を受け付けた場合には、制御情報に関する復元は行われないことになる。一方、操作受付部21が、その履歴情報に応じた変更を適用しないことを示す指示、すなわち復元する旨の指示を受け付けた場合には、変更部23は、記憶部11で記憶されている制御情報を、識別子受付部22が受け付けた操作者識別子に対応する最新の日時に対応する履歴情報に応じた情報に復元する。制御情報を、履歴情報に応じた情報に復元するとは、制御情報を、その履歴情報に応じた各操作が行われた時点の制御情報となるように復元することであってもよい。その復元を行う際には、履歴情報にバックアップ情報が含まれていることが好適である。変更部23は、そのバックアップ情報を用いることにより、制御情報を、操作を開始しようとしている操作者の前回の操作終了時点の内容となるように復元してもよい。そのバックアップ情報が、制御情報そのものである場合には、制御情報の復元は、例えば、記憶部11で記憶されている制御情報を、識別子受付部22で受け付けられた操作者識別子に対応する最新の日時に対応する履歴情報に含まれるバックアップ情報である制御情報に置き換えることによって行われてもよい。また、そのバックアップ情報が、制御情報の差分である場合には、制御情報の復元は、例えば、識別子受付部22で受け付けられた操作者識別子に対応する最新の日時より後の日時に対応する各バックアップ情報を用いて、その操作者識別子に対応する最新の日時に応じた制御情報となるまで、制御情報の変更を元に戻すことを繰り返すことによって行われてもよい。なお、その復元の操作自体が、受け付けられた操作として、履歴情報に含まれるようになってもよい。
【0035】
なお、記憶部11と、履歴記憶部24とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、制御情報を記憶している領域が記憶部11となり、履歴情報等を記憶している領域が履歴記憶部24となる。
【0036】
次に、ロボットシステムの動作について
図2のフローチャートを用いて説明する。
(ステップS101)識別子受付部22は、操作者識別子を受け付けたかどうか判断する。そして、操作者識別子を受け付けた場合には、ステップS102に進み、そうでない場合には、操作者識別子を受け付けるまで、ステップS101の処理を繰り返す。
【0037】
(ステップS102)出力部26等は、その受け付けられた操作者識別子に関する処理を行う。その処理の詳細については、
図3Aのフローチャートを用いて後述する。
【0038】
(ステップS103)操作受付部21は、ロボット3に関する操作を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。
【0039】
(ステップS104)変更部23は、受け付けられた操作に応じて、適宜、記憶部11で記憶されている制御情報を変更する。また、その受け付けられた操作が、ロボット3の動作に関する操作である場合には、制御部12は、その操作に応じてロボット3を動作させてもよい。また、蓄積部25等は、履歴情報の蓄積のために、その受け付けられた操作に応じた情報を一時的に記憶していてもよい。そして、ステップS103に戻る。
【0040】
(ステップS105)操作受付装置2は、一連の操作の入力が終了されたかどうか判断する。そして、一連の操作の入力が終了された場合には、ステップS106に進み、そうでない場合には、ステップS103に戻る。なお、操作受付装置2は、例えば、一連の操作の入力を終了する旨が入力された場合に、一連の操作の入力が終了されたと判断してもよく、あらかじめ決められた時間以上、操作の入力がない場合に、一連の操作の入力が終了されたと判断してもよい(タイムアウトの判断)。
【0041】
(ステップS106)蓄積部25は、その操作の入力の終了に応じた処理を行う。その処理の詳細については、
図3Bのフローチャートを用いて後述する。
なお、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0042】
図3Aのフローチャートは、
図2のフローチャートにおける操作者識別子に関する処理(ステップS102)の詳細を示すフローチャートである。
(ステップS201)出力部26は、識別子受付部22が受け付けた操作者識別子に対応する日時が履歴記憶部24で記憶されているかどうか判断する。そして、その日時が記憶されている場合には、ステップS202に進み、そうでない場合には、ステップS208に進む。
【0043】
(ステップS202)出力部26は、受け付けられた操作者識別子に対応する最新の日時より後の日時に対応する履歴情報を履歴記憶部24から取得する。
【0044】
(ステップS203)出力部26は、その取得した履歴情報に有意な変更点が含まれているかどうか判断する。そして、有意な変更点が含まれている場合には、ステップS204に進み、そうでない場合には、ステップS207に進む。
【0045】
(ステップS204)出力部26は、その取得した履歴情報に関する出力を行う。
【0046】
(ステップS205)操作受付部21は、復元する旨の指示を受け付けたか、復元しない旨の指示を受け付けたか判断する。そして、復元する旨の指示を受け付けた場合には、ステップS206に進み、復元しない旨の指示を受け付けた場合には、
図2のフローチャートに戻る。
【0047】
(ステップS206)変更部23は、復元する旨の指示に応じて、記憶部11で記憶されている制御情報を、識別子受付部22が受け付けた操作者識別子に対応する最新の日時に対応付けられている履歴情報に応じた情報に復元する。そして、
図2のフローチャートに戻る。
【0048】
(ステップS207)出力部26は、前回の操作時から現在までに制御情報に関する変更がない旨を出力する。そして、
図2のフローチャートに戻る。
【0049】
(ステップS208)蓄積部25は、識別子受付部22で受け付けられた操作者識別子を図示しない記録媒体に登録する。その登録は、例えば、ログイン情報に関する登録であってもよく、その他の登録であってもよい。
【0050】
(ステップS209)出力部26は、識別子受付部22で受け付けられた操作者識別子以外の操作者識別子を履歴記憶部24から読み出して出力する。なお、操作者識別子と共に、その操作者識別子に対応する履歴情報も出力されてもよい。そして、
図2のフローチャートに戻る。
【0051】
図3Bのフローチャートは、
図2のフローチャートにおける終了に応じた処理(ステップS106)の詳細を示すフローチャートである。
(ステップS301)蓄積部25は、蓄積対象の履歴情報を作成する。蓄積部25は、例えば、それまでに一時的に記憶していた操作の情報を用いて変更項目情報を作成してもよい。また、蓄積部25は、例えば、記憶部11で記憶されている制御情報にアクセスすることによって、バックアップ情報を作成してもよい。なお、バックアップ情報が、ある時点の制御情報そのものである場合には、例えば、蓄積部25は、まずバックアップ情報を作成し、そのバックアップ情報と、履歴記憶部24で記憶されている最新のバックアップ情報との差分を用いて、制御情報において変更された箇所を特定して変更項目情報を作成してもよい。また、バックアップ情報が、制御情報の差分である場合には、例えば、蓄積部25は、まずバックアップ情報を作成し、そのバックアップ情報を用いて、制御情報において変更された箇所を特定して変更項目情報を作成してもよい。
【0052】
(ステップS302)蓄積部25は、ステップS301で作成した履歴情報に有意な内容が含まれているかどうか判断する。すなわち、前回の他の操作者による操作の終了時点からその時点までに、制御情報において変更があったかどうか判断する。そして、変更があった場合には、ステップS303に進み、そうでない場合には、
図2のフローチャートに戻る。なお、
図2のフローチャートに戻る際にも、蓄積部25は、例えば、操作者識別子と日時のみを履歴記憶部24に蓄積してもよい。
【0053】
(ステップS303)蓄積部25は、ステップS302で作成した履歴情報と、操作者識別子と、その履歴情報に関する日時とを対応付けて履歴記憶部24に蓄積する。その操作者識別子は、その履歴情報に応じた操作を行った操作者の操作者識別子である。そして、
図2のフローチャートに戻る。
【0054】
次に、本実施の形態によるロボットシステムの動作について、具体例を用いて説明する。この具体例において、履歴記憶部24では、
図4Aで示される情報が記憶されているものとする。
図4Aで示されるテーブルの各レコードは、日時と、操作者識別子と、履歴情報とを含んでいる。また、履歴情報は、変更項目情報と、バックアップ情報とを含んでいる。例えば、2014年12月18日14時50分に、操作者識別子U321で識別される操作者(以下、この操作者を「操作者U321」と呼ぶことがある。他の操作者についても同様であるとする)によって、制御情報に含まれる動作プログラム「1020」が作成され、また動作プログラム「2010」が変更されたことが示されており、また、その操作の終了時点のバックアップ情報が「backup_201412181450」であることが示されている。
【0055】
2014年12月22日の16時に、操作者U321がティーチペンダント5を操作し、自らの操作者識別子「U321」を入力したとする。すると、その操作者識別子は識別子受付部22で受け付けられ、出力部26に渡される(ステップS101)。操作者識別子「U321」を受け取ると、出力部26は、
図4Aで示される情報において、操作者識別子「U321」を検索キーとする検索を行う。この場合には、その検索によって少なくとも1個のレコードがヒットするため(ステップS102,S201)、受け付けられた操作者識別子に対応する日時が記憶されていることになる。そして、出力部26は、ヒットしたレコードから、日時が最も新しいものであるレコードを特定する。この場合には、日時が「2014.12.18 14:50」であるレコードが特定されることになる。次に、出力部26は、そのレコードより現在に近いレコード、すなわち、日時が「2014.12.19 15:10」と「2014.12.22 11:45」の2個のレコードから、それぞれ日時と、操作者識別子と、変更項目情報とを読み出す(ステップS202)。その読み出した変更項目情報に情報が含まれるため、出力部26は、それらの情報をティーチペンダント5に出力する(ステップS203,S204)。その結果、ティーチペンダント5のディスプレイに、
図5Aで示される表示が行われる。その表示を見ることにより、操作者U321は、前回の操作の終了後、誰によってどのような内容の変更が行われたのかを知ることができる。また、例えば、操作者U123による動作プログラム「1020」の変更内容の詳細を知りたい場合には、操作者U321は、ティーチペンダント5を操作することにより、記憶部11にアクセスして、その変更内容の詳細を確認するようにしてもよい。この場合には、操作者U321は、その変更内容を受け入れても問題ないと考えたとする。すると、操作者は、
図5Aの表示において、「OK」ボタンをタップする。それに応じて、操作受付部21は、復元しない旨の指示を受け付け、復元は行われないことになる(ステップS205)。
【0056】
なお、操作者U321が
図5Aの表示において「前回に復元」ボタンをタップした場合には、それに応じて復元の指示が操作受付装置2に入力されることになる。そして、操作受付部21は、復元の指示を受け付け、その指示を変更部23と、識別子受付部22とに渡す(ステップS205)。識別子受付部22は、その指示を受け付けると、受け付けた操作者識別子「U321」を変更部23に渡す。変更部23は、操作受付部21から復元の指示を受け付け、識別子受付部22から操作者識別子を受け付けると、その受け付けた操作者識別子に対応する最新のバックアップ情報「backup_201412181450」を履歴記憶部24から読み出す。そして、そのバックアップ情報を用いて、2014年12月18日14時50分時点の制御情報となるように、記憶部11で記憶されている制御情報を復元することになる(ステップS206)。
【0057】
その後、操作者U321は、ティーチペンダント5を操作し、記憶部11で記憶されている制御情報に含まれるパラメータ「J1位置比例ゲイン」を変更する操作を入力したとする。すると、その操作が受け付けられ、それに応じて、制御情報が変更されることになる(ステップS103,S104)。また、操作者U321は、その変更後の制御情報を用いてロボット3を動作させる操作を行ってもよい。その場合には、その操作に応じて、ロボット3が動作する(ステップS103,S104)。
【0058】
そのような一連の操作を行った後に、操作者U321が、操作を終了する旨を入力したとする。すると、その入力に応じて、操作受付装置2は、一連の操作の入力が終了されたと判断する(ステップS105)。そして、蓄積部25は、それまでに行われた制御情報に関する操作を示す変更項目情報である『パラメータ「J1位置比例ゲイン」変更』と、バックアップ情報とを含む履歴情報を作成する(ステップS106,S301)。また、その履歴情報に有意な情報(パラメータの変更)が含まれているため、蓄積部25は、その時点の日時「2014年12月22日16時30分」を、図示しないカレンダー部等から取得し、操作者識別子「U321」を識別子受付部22から取得し、それらと履歴情報とを対応付けて、履歴記憶部24に蓄積する(ステップS302,S303)。その結果、履歴記憶部24で記憶されている情報は、
図4Bで示されるようになる。なお、バックアップ情報の名称は、その蓄積の際に取得された日時を用いて作成されるものとする。
【0059】
なお、新たな操作者が操作者識別子を入力した場合には、その入力に応じて、その操作者識別子が図示しない記録媒体に登録される(ステップS101,S102,S201,S208)。また、出力部26は、履歴記憶部24から操作者識別子を読み出し、それらをティーチペンダント5に出力する(ステップS209)。その結果、ティーチペンダント5のディスプレイに、
図5Bで示される表示が行われる。その表示を見ることによって、新たな操作者識別子を入力した操作者は、同じロボット3を操作している他の操作者がいることや、また、その操作者が誰であるのかなどについて知ることができる。また、その操作者識別子と共に、履歴情報も出力されてもよいことは上述の通りである。
【0060】
また、この具体例では、操作者識別子が出力される際に、操作者識別子がそのまま出力される場合について説明したが、そうでなくてもよい。例えば、その操作者識別子「U111」等が、その識別子で識別される操作者の氏名に変換されて出力されてもよい。その氏名も操作者の識別子であると考えられるため、氏名が出力された場合にも、操作者識別子が出力されたと考えることができる。
【0061】
以上のように、本実施の形態による操作受付装置2によれば、複数の操作者がロボット3について操作を行う場合に、前回の操作時から現在までに、他の操作者が行った制御情報の操作に関する情報を、操作の開始前に知ることができる。そのため、ロボット3の動作が、操作者にとって想定外のものとならないようにすることができ、ロボット3の干渉や事故等を防止でき、安全性を高めることができる。また、操作者が初めてロボット3を操作する場合には、他の操作者の識別子が出力されることになる。その結果、初めてロボット3を操作する者は、そのロボットを他の操作者が使用していることを知ることができ、自分の操作が他人に影響を及ぼしうることを自覚することができる。また、各操作者は、その操作を開始する際に、前回の操作時から現在までに他の操作者が行った制御情報に対する操作を受け入れるのか、または、前回の操作時の制御情報に復元させるのかを選択することもできる。そのため、例えば、他人の操作に好ましくない変更等が含まれていた場合には、復元を選択することにより、その変更等が反映されない環境でロボット3を操作することができ、操作者の利便性が向上することになる。
【0062】
なお、上記説明では、操作受付部21が受け付ける操作を特に区別しない場合について説明したが、そうでなくてもよい。以下、操作受付部21が、操作を入力した操作者にのみ適用される操作である個人操作と、すべての操作者に適用される操作である全体操作とを受け付ける場合について説明する。その個人操作は、通常、制御情報における個人的な設定、例えば、ティーチペンダント5において表示されるフォントの大きさや種類、フォントや背景の色、言語等に関するものであってもよい。全体操作は、通常、制御情報におけるロボット3の動作そのものに関係する設定、例えば、教示情報や、設定パラメータ等に関するものであってもよい。なお、個人操作と、全体操作とは、明確に分離されていることが好適である。また、その個人操作と、全体操作に応じて変更される制御情報も、明確に分離されていることが好適である。例えば、個人操作によって変更される制御情報が、個人制御情報であり、全体操作によって変更される制御情報が、全体制御情報であってもよい。その場合には、制御情報は、個人制御情報と、全体制御情報とを含んでいると考えてもよい。また、個人制御情報に関する履歴である個人履歴情報と、全体制御情報に関する履歴である全体履歴情報とが履歴記憶部24に蓄積されてもよい。その場合には、履歴情報は、個人操作の履歴を示す個人履歴情報と、全体操作の履歴を示す全体履歴情報とを含んでいると考えてもよい。例えば、
図6で示されるように、履歴情報は、個人履歴情報と全体履歴情報とを含んでおり、個人履歴情報が、変更項目情報とバックアップ情報とを含んでおり、全体履歴情報が、変更項目情報とバックアップ情報とを含んでいてもよい。なお、個人履歴情報の変更項目情報は、説明の便宜上、記載したものである。その個人履歴情報の変更項目情報は、出力対象とはならないため、個人履歴情報に含まれていなくてもよい。また、変更部23は、識別子受付部22が操作者識別子を受け付けた際に、制御情報を、その操作者識別子に対応する最新の日時に対応する個人履歴情報に応じた情報に復元してもよい。すなわち、変更部23は、ある操作者が操作を開始する前に、個人制御情報については、その操作者の前回の操作時と同様の情報となるように復元を行ってもよい。なお、その個人制御情報の復元も、上述した制御情報の復元と同様にして行われてもよい。また、全体制御情報については、上記説明の制御情報と同様に処理されてもよい。すなわち、出力部26は、識別子受付部22が操作者識別子を受け付けた際に、操作者識別子に対応する最新の日時より後の日時に対応する全体履歴情報に関する出力を行ってもよい。また、その出力に応じて、復元しない旨の指示が入力された場合には、その時点の全体制御情報がそのまま使用され、復元する旨の指示が入力された場合には、全体制御情報についても、前回の操作時と同様の情報となるように復元されてもよい。このようにすることで、例えば、フォントの大きさや言語などの属人的な設定の操作については、各操作者に応じた設定となり、動作プログラムやパラメータ等の属装置的な設定の操作については、各操作者間で共有されると共に、他の操作者が行った操作に関する注意喚起が行われるようになる。
【0063】
また、本実施の形態では、操作の開始前に各操作者が、前回の操作時の制御情報となるように復元するかどうかを選択できる場合について説明したが、そうでなくてもよい。そのような選択を行えないようにしてもよい。その選択が行えない場合には、復元が行われることがないため、例えば、履歴記憶部24で記憶される履歴情報に、バックアップ情報が含まれていなくてもよい。
【0064】
また、本実施の形態では、操作を開始しようとしている操作者の履歴が記憶されていなければ、他の操作者の操作者識別子が出力される場合について説明したが、そうでなくてもよい。例えば、操作を開始しようとしている操作者の履歴が記憶されていない場合に、他の操作者の操作者識別子が出力されなくてもよい。
【0065】
(実施の形態2)
本発明の実施の形態2によるロボットシステムについて、図面を参照しながら説明する。本実施の形態によるロボットシステムは、操作者ごとに操作の履歴を蓄積し、操作開始前に前回の終了時の状況を復元するものである。
【0066】
図7は、本実施の形態によるロボットシステムの構成を示すブロック図である。本実施の形態によるロボットシステムは、ロボット制御装置1が操作受付装置2に代えて操作受付装置6を備えている以外、
図1のロボットシステムと同様のものであり、その説明を省略する。また、操作受付装置6は、出力部26を備えておらず、変更部23が、識別子受付部22によって操作者識別子が受け付けられた際に、制御情報を、その操作者識別子に対応する最新の日時に応じた情報に復元する以外は、実施の形態1と同様のものである。すなわち、本実施の形態による操作受付装置6は、実施の形態1による操作受付装置2において、履歴情報に関する出力に応じて復元の指示が入力された際と同様の処理が絶えず行われることになる。なお、操作受付装置6では、履歴情報の出力は行われない。したがって、履歴情報には、変更項目情報が含まれていなくてもよい。一方、履歴情報を用いた制御情報の復元を行うことができるようにするため、履歴情報にはバックアップ情報が含まれていることが好適である。
【0067】
本実施の形態によるロボットシステムの動作は、
図2で示されるフローチャートと同様である。ただし、操作者識別子に関する処理(ステップS102)の詳細は、
図8で示されるフローチャートのようになる。その
図8のフローチャートについて説明する。
【0068】
(ステップS401)変更部23は、識別子受付部22が受け付けた操作者識別子に対応する日時が履歴記憶部24で記憶されているかどうか判断する。そして、その日時が記憶されている場合には、ステップS402に進み、そうでない場合には、ステップS403に進む。
【0069】
(ステップS402)変更部23は、記憶部11で記憶されている制御情報を、識別子受付部22が受け付けた操作者識別子に対応する最新の日時に対応付けられている履歴情報に応じた情報に復元する。そして、
図2のフローチャートに戻る。
【0070】
(ステップS403)変更部23は、記憶部11で記憶されている制御情報を、あらかじめ図示しない記録媒体で記憶されている初期の設定の制御情報に変更する。そして、
図2のフローチャートに戻る。
【0071】
なお、
図8のフローチャートのステップS403では、初めてロボット3を操作する操作者の制御情報を、初期の設定のものに変更する場合について説明したが、そうでなくてもよい。初めてロボット3を操作する操作者の制御情報は、その時点に記憶部11で記憶されているものとしてもよい。すなわち、ステップS401において、識別子受付部22が受け付けた操作者識別子に対応する日時が履歴記憶部24で記憶されていないと判断された場合には、
図2のフローチャートに戻ってもよい。
【0072】
以上のように、本実施の形態による操作受付装置6によれば、各操作者が操作を開始する時点に、前回の操作時の制御情報となるように制御情報を復元することができる。その結果、他の操作者によって変更された制御情報によってロボット3を操作することがないため、複数の操作者がロボット3の操作を行う場合であっても、ロボット3の動作が、操作者にとって想定外のものとならないようにすることができ、ロボット3の干渉や事故等を防止することができる。
【0073】
なお、上記各実施の形態では、ロボット3がアーク溶接を行う溶接ロボットである場合について主に説明したが、そうでなくてもよい。そのロボット3は、例えば、アーク溶接以外の溶接を行う溶接ロボットであってもよく、組立ロボットや搬送ロボット、塗装ロボット等であってもよい。また、ロボット3は、例えば、垂直多関節ロボットであってもよく、または、水平多関節ロボットであってもよい。このロボット3は、通常、ティーチングプレイバック方式のロボットであるが、そうでなくてもよい。
【0074】
また、上記各実施の形態において、操作受付装置2,6は、制御情報の記憶される記憶部11を備えていてもよい。その場合には、制御部12は、操作受付装置2,6が備えている記憶部11で記憶されている制御情報を用いて動作することになる。
【0075】
また、上記各実施の形態では、操作受付装置2,6がロボット制御装置1に含まれている場合について説明したが、そうでなくてもよい。操作受付装置2,6は、ティーチペンダント5に含まれていてもよく、ロボット制御装置1やティーチペンダント5と別に、独立して存在し、例えば、ロボット制御装置1やティーチペンダント5等と情報を送受信しながら、動作してもよい。
【0076】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0077】
また、上記各実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0078】
また、上記各実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0079】
また、上記各実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0080】
また、上記各実施の形態において、操作受付装置2,6に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0081】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0082】
また、本発明は、以上の各実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。