(57)【要約】【課題】複数の駆動部を備える多関節型のロボットにおいて、早期に故障するおそれのある駆動部を提示することができるロボット制御装置を提供する。【解決手段】ロボット制御装置としてのティーチングペンダント４は、ロボットに与えられる実行命令を命令解析部４４にて解析し、予め定められている作業サイクルを実行するための一連の実行命令の解析結果を当該作業サイクルにおける動作履歴として動作履歴記憶部４５に記憶し、その動作履歴に基づいてロボットの各軸のうち作業サイクル中に動作していない非動作軸が存在するか否かを非動作軸判定部４７にて判定し、非動作軸が存在する場合にはその旨を表示部４ａに表示することによりユーザに提示する。【選択図】図４
2014034095.tif 000002
【特許請求の範囲】
【請求項１】
複数のアームを有する多関節型のロボットを制御するするロボット制御装置であって、
前記ロボットに与えられる実行命令を解析する命令解析手段と、
予め定められている作業サイクルを実行するための一連の前記実行命令の解析結果を、当該作業サイクルにおける前記ロボットの動作履歴として記憶する動作履歴記憶手段と、
前記動作履歴に基づいて、前記ロボットの各軸のうち前記作業サイクル中に動作していない非動作軸が存在するか否かを判定する非動作軸判定手段と、
前記非動作軸が存在することをユーザに提示する提示手段と、
を備えることを特徴とするロボット制御装置。
【請求項２】
前記作業サイクル中において、前記アームを予め設定される教示点間で移動させる際、前記アームの移動態様が、当該アームの移動軌跡を相対的に重視した作業動作または当該アームの移動速度を相対的に重視した移動動作のいずれであるかを特定する移動態様特定手段をさらに備え、
前記提示手段は、前記移動動作が行われている期間を、前記非動作軸を動作させることが可能な動作可能期間としてさらに提示することを特徴とする請求項１記載のロボット制御装置。
【請求項３】
前記移動態様特定手段は、前記ロボットによりワークが移送されている状態である移送状態であるか否かをさらに特定し、
前記提示手段は、前記動作可能期間のうち、前記移送状態でない期間を優先して前記動作可能期間としてさらに提示することを特徴とする請求項２記載のロボット制御装置。
【請求項４】
前記提示手段は、前記作業サイクル中に前記動作可能期間が複数存在する際、長い期間から優先して提示することを特徴とする請求項２または３記載のロボット制御装置。
【請求項５】
ユーザの操作を入力する操作入力手段と、
ユーザによる操作に応じて前記動作可能期間に前記非動作軸を動作させるための補助実行命令を付加する補助命令付加手段と、
をさらに備えることを特徴とする請求項２から４のいずれか一項記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアームを有する多関節型のロボットを制御するロボット制御装置に関する。
【背景技術】
【０００２】
複数のアームを有する多関節型のロボットは、各軸に対応して複数の駆動部が設けられている。各駆動部は、一般的に、各軸を駆動するためのモータと、そのモータの出力を出力軸側に連結されているアームに伝達する歯車機構とを有している。この歯車機構は、例えば周知の波動歯車装置などが採用されており、各軸で歯数が異なるといった差違はあるものの、構造自体は概ね共通した設計となっている。このような歯車機構は潤滑剤が減少すると歯車の破損を招くなどのおそれがあることから、例えば特許文献１では、動作中の歯車に対して十分な潤滑を行うための対策が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７９６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、ロボットなどの産業機器は、一般的に予め耐用年数が想定されており、その耐用年数に耐えうる設計がなされている。具体的には、上記したように複数の駆動部を有する多関節型のロボットの場合、各駆動部の耐用年数が概ね一致するように設計されている。
しかしながら、実際にロボットを設置して予め定められている作業サイクルを繰り返し実行させた際、上記したように耐用年数が概ね一致するはずの駆動部のうち特定の駆動部が想定よりも短い期間で故障し、ロボット全体としての耐用年数の低下を招くことがあった。また、故障する駆動部が顧客ごと異なるなど、ロボットの設計上の不具合とは考えにくい状況であった。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、その目的は、複数の駆動部を備える多関節型のロボットにおいて、早期に故障するおそれのある駆動部を提示することができるロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
発明者は、故障したロボットを調査した結果、想定よりも短い期間で故障する駆動部が作業サイクル中に動作していない駆動部に集中していることを見いだした。多関節型のロボットの場合、様々な作業を実行する可能性があることから汎用性を考慮して複数の駆動部が設けられているものの、作業内容によっては全く動作しない駆動部も存在する。この場合、駆動部が動作しなければ歯車機構も動作しないことから、歯車機構の歯が摩耗したり破損したりするおそれは小さく、一般論で言えば、動作していない駆動部に故障が集中する状況は考えにくい。そこで、発明者は、駆動部に故障が生じる過程をさらに詳細に解析した結果、動作していない駆動部に故障が集中するのは、作業内容に対して可動軸の構成に冗長性のある多関節型のロボットに特有の現象であることを見いだした。
【０００７】
多関節型のロボットにおいては、他の駆動部の動作やアームの移動に起因する振動が動作していない駆動部に伝達される。そして、ロボットは予め定められている作業サイクルを繰り返し実行することから、動作していない駆動部には繰り返し振動が伝達されることになる。その振動は、駆動部の歯車機構にも伝達される。駆動部の歯車機構には、粘度が比較的大きい潤滑油が潤滑剤として一般的に用いられており、その潤滑油は、歯車機構が動作していない状況では固体に近い性質となっている。このため、歯車機構に振動が伝達されると、その振動によって潤滑油が部分的に欠落し、歯車機構の歯の間に潤滑油が存在しない欠落領域が比較的小さい範囲でまず発生する。この欠落領域は、作業サイクルが繰り返し実行されることによって、すなわち、振動が繰り返し伝達されることによって徐々に拡大していく。その際、噛み合った歯同士が直接的に接触する状態となり、その状態でさらに振動が繰り返し伝達された結果、直接的に接触した歯が損傷し、駆動部の故障を招いていたのである。
【０００８】
そこで、請求項１記載の発明では、ロボットに与えられる実行命令を解析し、予め定められている作業サイクルを実行するための一連の実行命令の解析結果を当該作業サイクルにおける動作履歴として記憶し、その動作履歴に基づいてロボットの各軸のうち作業サイクル中に動作していない駆動部である非動作軸が存在するか否かを判定し、非動作軸が存在することをユーザに提示する。
【０００９】
これにより、実際にロボットを設置しその動作をトレースすることにより、作業サイクル中に動作しない駆動部が存在することをユーザに提示することができる。したがって、上記したような故障が発生するおそれのある駆動部に対して、作業サイクル中に非動作軸を駆動させるための実行命令を付加するなどの対策を取ることが可能となり、特定の駆動部における故障の発生を抑制することができるようになる。また、ロボットの動作を目で見て非動作軸があるか否かをユーザが判断することは容易ではないものの、提示することで、容易に判断できるようになる。
【００１０】
請求項２記載の発明では、アームを予め設定される教示点間で移動させる際の移動態様が、アームの移動軌跡を相対的に重視した作業動作とアームの移動速度を相対的に重視した移動動作のいずれであるかを判定し、アームが移動動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示する。なお、作業動作とは、アームを教示点間で移動させる際、ワークを掴んだり組み付けたりするなどの作業を行うために移動軌跡を相対的に重視してアームを滑らかに移動させる制御を行うときの動作であり、一般的にはＣＰ（Continuous Path）動作と呼ばれている。また、移動動作とは、アームを教示点間で移動させる際、移動速度を相対的に重視して教示点間を素早く移動させる制御を行うときの動作、換言すると、軌跡をそれほど重視しない動作であり、一般的にはＰＴＰ（Point To Point）動作と呼ばれている。以下、便宜的に、作業動作をＣＰ動作、移動動作をＰＴＰ動作と称する。
【００１１】
上記したように非動作軸を提示することで故障するおそれのある駆動部に対して何らかの対処を施すことは可能となるものの、ユーザは、いつ駆動部を動作させればよいかを改めて考え直す必要がある。このとき、例えば一回の作業サイクルが終了する毎に非動作軸を動作させると、次の作業サイクルを実行するまでに本来の作業では不要な時間を要することになり、作業を行うために要する時間（以下、タクトタイムと称する）が長くなる。そして、タクトタイムが長くなると、所定の作業量をこなすためには余分に時間が掛かる一方、予め作業時間が決められている場合には実行可能な作業サイクル数が低下することになり、生産効率が低下する。このため、タクトタイムに影響を与えないように対象となる駆動部を動作させることが求められる。
【００１２】
さて、ロボットの作業サイクルに上記したＣＰ動作やＰＴＰ動作が含まれることは一般的に知られている。このため、タクトタイムに影響を与えることなく、また、ロボットの本来の作業に影響を与えることなく（アームの軌跡に大きな影響を与えることなく）駆動部を動作させるには、ＰＴＰ動作中に動作させることがまず考えられる。しかし、潤滑剤を満遍なく拡散させるために例えば歯車機構の歯の噛み合い位置を一回転させるような動作を行わせると、アームが大きく移動してしまい、いくら軌跡をそれほど重視していないＰＴＰ動作中といえども、アームやハンドあるいはハンドに保持されたワークなどが周辺設備に衝突するおそれがある。つまり、どの時期に駆動部を動作させればよいかは、ＰＴＰ動作中であればよいといった単純な問題ではない。
【００１３】
ここで、発明者による解析結果が有効活用されることになる。すなわち、発明者によって、潤滑剤の欠落領域が上記したように比較的小さい範囲でまず発生すること、さらに、発生当初の欠落領域が１歯未満程度の大きさであることが見いだされている。このため、発生当初の欠落領域に潤滑剤を拡散させるためには、潤滑剤が欠落していない部位に噛み合わせればよいこと、すなわち、歯車機構の歯の噛み合い位置を１歯以上移動させればよいことが明らかになった。換言すると、発生当初の欠落領域に対処するためには、アームを大きく動かす必要がないことが明らかになった。さらに、噛み合い位置を１歯以上動かす程度の動作であれば、ＰＴＰ動作中に十分実施可能であると考えられる。
【００１４】
このような解析結果の裏付けに基づいて、アームが移動動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示している。これにより、発生当初の欠落領域に潤滑剤を拡散させることが可能となり、欠落領域の拡大を抑制することができるとともに、非動作軸を動作させれば潤滑剤が拡散されることから、欠落領域の発生そのものを抑制することができる。また、上記したように非動作軸の動作はＰＴＰ動作中に実施可能な動作であることから、ＰＴＰ動作中に完了する。したがって、タクトタイムが長くなるなどの影響を与えることが無く、生産効率が低下するおそれを抑制することができる。
【００１５】
請求項３記載の発明では、ワークを移送していないと判定された期間を優先して提示する。ロボットは、与えられた指令に基づいて動作することから、通常は対象となるワークがどのようなものであるかを自身で把握することができない。そこで、ワークを移送していない期間を優先して提示することにより、本来の作業サイクルでは動作することを想定していない非動作軸を動作させた場合であっても、その動作に起因してワークが周辺設備に衝突するなどの不具合を生じさせることがない。
【００１６】
請求項４記載の発明では、作業サイクル中に複数の動作可能期間が存在する場合、最も動作時間の長い動作可能期間を優先して提示する。動作可能期間の動作時間が長ければ、非動作軸を動作させたとしても確実に本来の位置まで戻すことができ、アームの軌跡に大きな影響を与えることがない上、動作時間内でより非動作軸を大きく動かすことが可能となり、欠落領域の発生および拡大をさらに抑制することができる。
【００１７】
請求項５記載の発明では、動作可能期間に非動作軸を動作させるための補助実行命令を付加することができるので、補助実行命令を付加した状態でロボットの動作させることが可能となり、非動作軸の動作が可能であるか否かを判断することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態で対象とするロボットの構成を概略的に示す図
【図２】ロボットシステム１の電気的構成を概略的に示す図
【図３】駆動部の構成を概略的に示す図
【図４】ティーチングペンダントの電気的構成を概略的に示す図
【図５】ＣＰ動作およびＰＴＰ動作の一例を模式的に示す図
【図６】図３のＶＩ領域の拡大図で、潤滑油の欠落領域の遷移を模式的に示す図
【図７】ティーチングペンダントの処理の流れを示す図
【図８】ティーチングペンダントの提示画面の一例を示す図
【図９】本発明の第２実施形態で対象とするロボットの構成を概略的に示す図
【発明を実施するための形態】
【００１９】
（第１実施形態）
以下、本発明の第１実施形態について、図１から図６を参照しながら説明する。
図１に示すように、一般的な産業用に用いられるロボットシステム１は、多関節型のロボット２、ロボット２を制御するコントローラ３、コントローラ３に接続されたティーチングペンダント４（本実施形態におけるロボット制御装置に相当する）を備えている。
【００２０】
ロボット２は、いわゆる６軸の垂直多関節型ロボットとして周知の構成を備えており、ベース５上に、Ｚ方向の軸心を持つ第１軸（Ｊ１）を介してショルダ６が水平方向に回転可能に連結されている。ショルダ６には、Ｙ方向の軸心を持つ第２軸（Ｊ２）を介して上方に延びる下アーム７の下端部が垂直方向に回転可能に連結されている。下アーム７の先端部には、Ｙ方向の軸心を持つ第３軸（Ｊ３）を介して第一上アーム８が垂直方向に回転可能に連結されている。第一上アーム８の先端部には、Ｘ方向の軸心を持つ第４軸（Ｊ４）を介して第二上アーム９が捻り回転可能に連結されている。第二上アーム９の先端部には、Ｙ方向の軸心を持つ第５軸（Ｊ５）を介して手首１０が垂直方向に回転可能に連結されている。手首１０には、Ｘ方向の軸心を持つ第６軸（Ｊ６）を介してフランジ１１が捻り回転可能に連結されている。
【００２１】
ベース５、ショルダ６、下アーム７、第一上アーム８、第二上アーム９、手首１０およびフランジ１１は、ロボット２のアームとして機能し、アームの先端となるフランジ１１には、図示は省略するが、ハンド（エンドエフェクタとも呼ばれる）が取り付けられる。ハンドは、例えば図示しないワークを保持して移送したり、ワークを加工する工具などが取り付けられる。ロボット２に設けられている各軸（Ｊ１〜Ｊ６）には、それぞれに対応して駆動部２３（図２参照）が設けられている。
【００２２】
コントローラ３は、図２に示すように、ＣＰＵ１２、ＲＯＭ１３およびＲＡＭ１４、駆動回路１５、位置検出回路１６などを備えている。ＣＰＵ１２は、ＲＯＭ１３あるいはＲＡＭ１４などに記憶されているプログラムに基づいてコントローラ３全体を制御するとともに、周知のように、ロボット２に予め定められている作業サイクルを繰り返し実行させるための各種の指令を出力する。このＣＰＵ１２は、指令部１７、判定部１８および補助指令部１９を有している。これら指令部１７、判定部１８および補助指令部１９は、本実施形態ではＣＰＵ１２により実行されるプログラムによってソフトウェア的に構成されている。なお、指令部１７、判定部１８および補助指令部１９は、ハードウェア的に構成してもよい。
【００２３】
指令部１７は、ロボット２の駆動部２３を動作させるための駆動指令、つまり、モータ２０（図２参照）を駆動するための実行命令を各駆動部２３に対して個別に出力する。指令部１７は、特許請求の範囲に記載した指令手段を構成している。
判定部１８は、作業サイクル中にロボットの駆動部２３に対して駆動指令が出力されたか否かを個別に判定するとともに、作業サイクル中のアームの移動が作業動作（前述したＣＰ動作）あるいは移動動作（前述したＰＴＰ動作）のいずれであるか、ＰＴＰ動作中にワークを保持しているか否かをさらに判定する。判定部１８は、特許請求の範囲に記載した判定手段を構成している。以下、作業動作をＣＰ動作、移動動作をＰＴＰ動作と称して説明する。
【００２４】
補助指令部１９は、作業サイクル中に駆動指令が出力されていないと判定された駆動部２３に対してモータを駆動するための補助駆動指令を出力する。本実施形態では、補助駆動指令として、後述する減速機２２の歯車機構の歯の噛み合い位置を１歯以上移動させることができる補助駆動指令を出力する。補助指令部１９は、特許請求の範囲に記載した補助指令手段を構成している。
【００２５】
駆動回路１５は、ＣＰＵ１２から出力された指令をロボット２に与えるための電気信号に変換する例えばインバータ回路などにより構成されている。ロボット２は、第１軸Ｊ１〜第６軸Ｊ６をそれぞれ駆動するための複数のモータ２０、および各モータ２０に対応して設けられているエンコーダ２１を備えている。位置検出回路１６は、モータ２０の回転位置を検出するエンコーダ２１からの信号が入力され、モータ２０の回転位置を検出する。ＣＰＵ１２は、位置検出回路１６で検出したモータ２０の回転位置に基づいて、モータ２０をフィードバック制御する。
【００２６】
ロボット２では、モータ２０の出力は、減速機２２を介してアームに伝達される。これらモータ２０および減速機２２は、駆動部２３を構成している。なお、図２では、各駆動部２３によって駆動されるショルダ６、下アーム７、第一上アーム８、第二上アーム９、手首１０およびフランジ１１を便宜的にアームと示している。本実施形態では、減速機２２としていわゆる波動歯車装置を採用している。
【００２７】
この減速機２２は、図３に示すように、内周面に内歯３０が形成された円環状の剛性内歯歯車３１、この剛性内歯歯車３１の内側に同心状に設けられ、外歯３２を有する可撓性外歯歯車３３を備えている。可撓性外歯歯車３３は、図示は省略するが周知のように全体形状としてカップ状に形成されており、カップ状の底部に出力軸が取り付けられる。また、剛性内歯歯車３１の内歯３０と可撓性外歯歯車３３の外歯３２との間には、潤滑剤としての潤滑油Ｗ（図５参照）が充填されている。この潤滑油Ｗは、一般的に比較的粘性が高く、剛性内歯歯車３１と可撓性外歯歯車３３とが動作していれば歯車間に拡散して潤滑剤として機能する一方、動作していない状態では、固体に近い状態となる。なお、潤滑剤としては、油性のものに限らず、他のものであっても良い。
【００２８】
外歯３２の内周側にはウエーブベアリング３４が配設されている。このウエーブベアリング３４は、可撓性外輪３５、可撓性内輪３６、可撓性外輪３５と可撓性内輪３６との間に配列された複数個のボール３７とから構成されている。ウエーブベアリング３４の内側、つまり可撓性内輪３６の内周には、楕円形の剛性カム３８が固定されている。この剛性カム３８には、モータ２０の出力軸を連結するためのキー溝付きの嵌合孔３９が形成されている。
【００２９】
このような構成の減速機２２は、ウエーブベアリング３４の可撓性内輪３６および可撓性外輪３５が楕円形に撓められ、可撓性外輪３５が楕円形に撓むことによって、外歯３２形成部分が楕円形に撓められる。その結果、楕円形に撓んだ部分の長径方向両端部の２箇所において、外歯３２が部分的に剛性内歯歯車３１の内歯３０に噛み合うようになる。そして、剛性カム３８がモータ２０により回転駆動されると、可撓性外歯歯車３３の楕円形に撓んだ部分の長径部分が周方向に移動し、外歯３２の内歯３０に対する噛み合い位置が周方向に移動する。このとき、外歯３２が内歯３０よりも例えば２枚少なく設定されているので、噛み合い位置の移動に伴って、剛性内歯歯車３１と可撓性外歯歯車３３との間で相対的な回転が発生する。そして、可撓性外歯歯車３３が出力軸となってモータ２０の減速回転が取り出される。
【００３０】
ロボット制御装置としてのティーチングペンダント４は、図１に示すように例えば薄型の略矩形箱状に形成されており、概ね使用者が携帯あるいは所持して操作可能な程度の大きさとなっている。このティーチングペンダント４には、各種の表示を行う表示部４ａと、ユーザの操作を受け付ける操作入力部としてのスイッチ類４ｂとが設けられている。スイッチ類４ｂは、表示部４ａの画面に設けられているいわゆるタッチパネル式のスイッチや、表示部４ａの周辺などに設けられた機械式のスイッチなどで構成されている。
【００３１】
このティーチングペンダント４は、図４に示すように、ＣＰＵ４０、ＲＯＭ４１、ＲＡＭ４２、入出力部４３を備えている。ＣＰＵ４０は、表示部４ａおよびスイッチ類４ｂと接続されており、ティーチングペンダント４の操作画面の表示や、ユーザの操作の受け付けなどを行うことで、ティーチングペンダント４全体を制御する。また、表示部４ａは、後述するようにロボット２の動作をトレースするアプリケーションプログラム（以下、単にアプリと称する）の実行画面や実行結果（トレース結果）などが表示され、ユーザに提示される。スイッチ類４ｂは、ロボット２に対する後述する保持実行命令の入力操作が行われる。表示部４ａは、特許請求の範囲に記載した提示手段を構成しており、スイッチ類４ｂは、特許請求の範囲に記載した操作入力手段を構成している。
【００３２】
また、ティーチングペンダント４は、命令解析部４４、動作履歴記憶部４５、移動態様特定部４６、非動作軸判定部４７、および補助命令付加部４８を備えている。本実施形態では、これら各部４４〜４８は、ＣＰＵ４０により実行されるプログラムによってソフトウェア的に実現されている。なお、各部４４〜４８は、ハードウェア的に実現してもよい。
命令解析部４４は、ロボット２に与えられる実行命令を解析する。ロボット２に与えられる実行命令としては、大きく分けて、アームを駆動するために駆動部２３に与えられる動作命令と、分岐条件の判定などの制御命令とが存在する。命令解析部４４は、特許請求の範囲に記載した命令解析手段を構成している。
動作履歴記憶部４５は、ロボット２が予め定められている作業サイクルを実行するための一連の実行命令の解析結果を、当該作業サイクルにおけるロボット２の動作履歴として記憶する。動作履歴記憶部４５は、特許請求の範囲に記載した動作履歴記憶を構成している。
【００３３】
移動態様特定部４６は、作業サイクル中において、アームを予め設定される教示点間で移動させる際、アームの移動態様が当該アームの移動軌跡を相対的に重視した作業動作（ＣＰ動作）または当該アームの移動速度を相対的に重視した移動動作（ＰＴＰ動作）のいずれであるかを特定する。また、移動態様特定部４６は、ロボット２によりワークが保持されている（移送されている）状態である移送状態であるか否かを特定する。移動態様特定部４６は、特許請求の範囲に記載した移動態様特定手段を構成している。
非動作軸判定部４７は、動作履歴記憶部４５に記憶した動作履歴に基づいて、ロボット２の各軸のうち作業サイクル中に動作していない非動作軸が存在するか否かを判定する。非動作軸判定部４７は、特許請求の範囲に記載した非動作軸判定手段を構成している。
【００３４】
補助命令付加部４８は、動作可能期間に非動作軸を動作させるための補助実行命令（動作命令）を付加する。本実施形態では、補助実行命令として、歯車機構の歯を１歯以上移動させるような動作命令を出力している。この場合、一般的な構成のロボットでは、第４軸（Ｊ４）のギア比＝１００、第５軸（Ｊ５）の中心からハンド先端までの距離＝２００ｍｍとすると、モータを１回転（モータの出力軸が１回転。図３の歯車機構を一回転させるわけではない）させることでハンドの先端は最大で約１３ｍｍ（２π÷１００×２００＝４π）しか動作しない。補助命令付加部４８は、特許請求の範囲に記載した補助命令付加手段を構成している。
【００３５】
なお、ティーチングペンダント４は、コントローラ３に接続される端末装置であってもよい。具体的には、ティーチングペンダント４に表示部４ａとスイッチ類４ｂとを設け、つまり、ティーチングペンダント４には表示機能と操作入力機能とを持たせておき、ケーブルや無線通信等の通信手段でコントローラ３と接続し、ＣＰＵ４０の代わりにコントローラ３のＣＰＵ１２にて上記した各種の処理を実行し、ティーチングペンダント４側でその操作画面や実行結果を表示する構成としてもよい。その場合、上記した各部４４〜４８は、コントローラ３のＣＰＵ１２により実行されるプログラムによりソフトウェア的に実現したり、ハードウェア的に実現したりすればよい。即ち、本実施形態ではティーチングペンダント４単体でロボット制御装置を構成しているが、コントローラ３とティーチングペンダント４とを組み合わせてロボット制御装置を構成してもよい。或いは、コントローラ３に表示機能と操作入力機能とを持たせ、コントローラ３単体でロボット制御装置を構成してもよい。
【００３６】
このような構成のティーチングペンダント４は、ケーブルを経由してコントローラ３に接続され、入出力部４３を経由してコントローラ３との間で高速のデータ送受信を実行可能となっている。そのため、スイッチ類４ｂの操作により入力された操作信号などの情報は、ティーチングペンダント４からコントローラ３へ送信され、ロボット２のティーチングが行われる。また、ティーチングペンダント４は、コントローラ３からデータの受信も行う。具体的には、本実施形態では、ティーチングペンダント４は、作業サイクルを実行させるためのプログラムつまり一連の実行命令を、コントローラ３から受信する。
【００３７】
ここで、ロボット２が実行する作業サイクルについて説明する。
作業サイクルは、図５に示すように、予め定められている教示点Ｐ１〜Ｐ４を経由して、例えばワークの移送などを繰り返し行う作業である。例えば図５は、教示点Ｐ１を初期位置として、教示点Ｐ２まで移動した後、教示点Ｐ３にてワークをピックアップし、ワークを保持した状態で教示点Ｐ２、Ｐ１を経由した後、教示点Ｐ４にてワークをプレースする作業サイクルを模式的に示している。より具体的には、教示点Ｐ１−Ｐ２間ではアームが水平方向に大きく移動し、教示点Ｐ２−Ｐ３間およびＰ１−Ｐ４間ではアームが垂直に移動している。
【００３８】
この場合、アームが水平移動する際には例えば第１軸（Ｊ１）が動作し、アームが垂直移動する際には例えば第２軸（Ｊ２）、第３軸（Ｊ３）や第５軸（Ｊ５）が動作するものとする。また、アームが水平方向に大きく移動する教示点Ｐ１−Ｐ２間では、移動速度を重視した移動動作（以下、ＰＴＰ動作と称する）が行われ、ワークを所定位置からピックアップする教示点Ｐ２−Ｐ３間およびワークを所定位置にプレースする教示点Ｐ１−Ｐ４間では、位置決めの正確性を増すために移動軌跡を重視した作業動作（以下、ＣＰ動作と称する）が行われているものとする。
【００３９】
この図５に示す作業サイクルでは、アームを捻る動作（第４軸（Ｊ４）を駆動する動作）が必要ないため、第４軸（Ｊ４）は動作していない。換言すると、第４軸（Ｊ４）に対応して設けられている駆動部２３には、作業サイクル中にモータ２０を駆動するための実行命令（後述する動作命令）が出力されていない。以下、本実施形態では、第４軸（Ｊ４）に対応して設けられている駆動部２３のように作業サイクル中に動作しない駆動部２３を便宜的に非動作軸と称し、動作しない状態を非動作状態と称する。
【００４０】
さて、非動作軸は、作業サイクルが繰り返し実行されると、図６（ａ）〜（ｄ）に示すように、剛性内歯歯車３１の内歯３０と可撓性外歯歯車３３の外歯３２とが直接接触する可能性のある状態となる。具体的には、内歯３０と外歯３２との間に充填されている潤滑油Ｗは、通常であれば図６（ａ）に示すように拡散しているものの、非動作状態が続くと潤滑油Ｗが徐々に固体に近い状態となる。その状態で作業サイクルが繰り返し実行されると、つまり、非動作軸に他の駆動部２３やロボット２自体からの振動が伝達されると、図６（ｂ）に示すように、概ね１歯未満程度の大きさで潤滑油Ｗが部分的に欠落し、欠落領域Ｒが形成される。この図６（ｂ）は、発生当初の欠落領域Ｒの状態を示している。
【００４１】
この状態でさらに作業サイクルが繰り返し実行されると、欠落領域Ｒは、図６（ｃ）に示すように徐々に拡大していく。このように欠落領域Ｒが大きくなると、内歯３０と外歯３２とが直接的に接触するようになる。そして、作業サイクルが繰り返し実行され、振動が伝達されると、内歯３０と外歯３２とが接触を繰り返すようになり、その結果として、図６（ｄ）に示すように、例えば内歯３０が欠けるなどの破損部位Ｋが形成される。この状態では、破損部位Ｋがあることから、例えば作業サイクルが変更されて非動作軸が駆動されるようになると正常に動作せず、故障となってしまう。
【００４２】
このように、多関節型のロボット２では、特定の駆動部２３が全く動作しない状態で作業サイクルが繰り返し実行されることがあり、動作していないことから本来であれば耐用年数に影響がないと思われるその駆動部２３において、耐用年数が反って低下してしまうという現象が起こり得る。そして、この現象は、作業内容に対して駆動軸が冗長性を備えた構成となっている多関節型のロボット２に特有の問題である。
そこで、ティーチングペンダント４は、実機のロボット２の動作をトレースし、故障する可能性のある駆動部２３、つまり、非動作軸をユーザに事前に提示可能することで上記した問題に対処している。
【００４３】
次に、ティーチングペンダント４の作用について、図７に示す処理の流れとともに説明する。本実施形態では非動作軸として第４軸（Ｊ４）を想定しているため、第４軸（Ｊ４）（図７では「４軸目」と記載する）を対象として説明する。また、以下の処理は上記した各部４４〜４８によりそれぞれ実行されるものであるが、説明の簡略化のため、ティーチングペンダント４を主体として説明する。
ティーチングペンダント４は、図７に示すように、自身の動作モードがロボット２の動作をトレースするチェック動作であるか否かを判定し（Ｓ１）、チェック動作でない場合には（Ｓ１：ＮＯ）、そのまま処理を終了する。
【００４４】
これに対して、ティーチングペンダント４は、動作モードがチェック動作である場合には（Ｓ１：ＹＥＳ）、Ｆを０とする（Ｓ２）。ここで、Ｆとは、非動作軸（本実施形態では第４軸（Ｊ４））が動作したか否かを示すフラグであり、チェック動作の開始時に０にリセットされ、第４軸が動作したと判定されると１にセットされる。そして、トレースする実行命令が動作命令（駆動部２３を駆動するための動作命令）であるか否かを判定し（Ｓ３）、動作命令でない場合には（Ｓ３：ＮＯ）、ステップＳ７に移行する。そして、１サイクル（一回の作業サイクル）が終了したか否かを判定し（Ｓ７）、終了していなければ次の行（次の実行命令）を実行して（Ｓ９）、ステップＳ３に移行する。つまり、ティーチングペンダント４は、作業サイクルが終了するまで、ステップＳ３において実行命令を繰り返し解析する。
【００４５】
さて、ティーチングペンダント４は、ステップＳ３において実行命令が動作命令であると判定すると（Ｓ３：ＹＥＳ）、４軸目が動作するか否かを判定し（Ｓ４）、４軸目が動作する場合には（Ｓ４：ＹＥＳ）、Ｆを１とした後（Ｓ５）、ステップＳ６に移行する。これにより、この作業サイクル中には４軸目が動作することが示される。一方、４軸目が動作しない場合には（Ｓ４：ＮＯ）、ステップＳ５を省略して、当該動作における起動補完方法がＰＴＰ動作であるか否か、すなわち、ＰＴＰ動作であるか否かを判定する（Ｓ６）。そして、ＰＴＰ動作でなければ（Ｓ６：ＮＯ）、ステップＳ７に移行して上記したように１サイクルが終了したか否かを判定する。
【００４６】
これに対して、ティーチングペンダント４は、起動補完方法がＰＴＰである場合には（Ｓ６：ＹＥＳ）、当該ＰＴＰ動作において４軸目を動かす軌道（Ｐ）を計算する（Ｓ１０）。ここで、軌道（Ｐ）とは、４軸目を＋方向に回転させる動作である。続いて、プログラムの実行行、エンドエフェクタＩＯの状態（ワークを保持しているか否か、ＩＯ＝ＯＦＦで保持していない状態を示す）、当該ＰＴＰ動作の動作時間、および、４軸目の回転方向をＰＴＰ動作リスト（後述する図８のＭ３参照。作業サイクル中におけるＰＴＰ動作の動作履歴）に保存する。
【００４７】
このように、ティーチングペンダント４は、作業サイクル中のアームの動作を、アームの移動態様や動作時間とともに動作履歴として記憶する処理を、１サイクルが終了するまで繰り返す。なお、ステップＳ４でＦ＝１つまり４軸目が動作する場合であってもＰＴＰ動作であれば（Ｓ５：ＹＥＳ）ステップＳ９に移行するのは、そのＰＴＰ動作の動作時間などを予め計測しておき、今後の作業サイクルにおいて補助実行命令の出力対象となるＰＴＰ動作か否かを判定するためである。
そして、ティーチングペンダント４は、１サイクルが終了したと判定すると（Ｓ７：ＹＥＳ）、Ｆ＝０であるか否かを判定する（Ｓ８）。そして、Ｆ＝０でない場合には（Ｓ８：ＮＯ）、４軸目が動作していることから、処理を終了する。
【００４８】
これに対して、ティーチングペンダント４は、Ｆ＝０の場合には（Ｓ８：ＹＥＳ）、４軸目が動作していないことから、ＰＴＰ動作リストを同時間の長い順に並び替え（Ｓ１２）、ＰＴＰ動作リストをエンドエフェクタＩＯ＝ＯＦＦの順（つまり、ワークを保持していない順）で並び替え（Ｓ１３）、ユーザに４軸目が動作していないことを通知する（Ｓ１４）。具体的には、ティーチングペンダント４は、図８に示すようにＰＴＰ動作リストを表示部４ａに表示することで、ユーザに通知（提示）する（Ｓ１５）。表示部４ａには、図８に示すように、トレース画面として、シミュレーションの対象としたロボット２のモデルを表示する表示領域Ｍ１、非動作軸を示す表示領域Ｍ２、および、ＰＴＰ動作リストを表示する表示領域Ｍ３が設けられている。表示領域Ｍ１には、ロボット２のモデル化した外観、各軸の位置、および非動作軸がいずれであるかの表示（図８の場合、第４軸（Ｊ４）を反転表示することで、非動作軸であることを示している）が示されている。表示領域Ｍ２には、非動作軸が第４軸（Ｊ４）であることが示されている。
【００４９】
表示領域Ｍ３には、アームの移動態様である「動作態様」、作業サイクル中のＰＴＰ動作のうち何番目のＰＴＰ動作であるかを示す「順番」、当該ＰＴＰ動作の動作時間をミリ秒単位で示す「動作時間」、および当該ＰＴＰ動作においてワークを保持しているか否かを示す「ワーク保持」（非保持＝保持していない状態、保持＝保持している状態を示す）が示されている。この表示領域Ｍ３には、作業サイクル中に実行される複数のＰＴＰ動作のうち、動作時間の長い順、且つ、ワークを保持しているか否かの順にしたがって、ＰＴＰ動作の動作履歴が示されている。より具体的には、最も動作時間の長いＰＴＰ動作を優先してリストの上位に表示する一方、同時間が長くてもワークを保持しているＰＴＰ動作（「順番」＝３のＰＴＰ動作）については、動作時間が短くワークを保持していないＰＴＰ動作（「順番」＝７のＰＴＰ動作）よりもリストの下位に表示されている。
【００５０】
このようにＰＴＰ動作リストを表示すると、ティーチングペンダント４は、ユーザによる操作をスイッチ類４ｂから受け付け、４軸目の動作指示があれば（Ｓ１６：ＹＥＳ）、具体的には、図８に示すように４軸目を動作させるＰＴＰ動作が選択されれば（図８では、「順番」＝４のＰＴＰ動作が選択された状態を、ハッチングにて模式的に示している）、指定した行のＰＴＰ動作を、４軸目が動作するように変更する（Ｓ１７）。これにより、図８の場合では「順番」＝４のＰＴＰ動作にて、第４軸（Ｊ４）が動作することになる。なお、ユーザによる動作指示が行われない場合には（Ｓ１６：ＮＯ）、そのまま処理を終了する。
【００５１】
このように、ティーチングペンダント４は、作業サイクル中にロボット２に与えられる実行命令をトレースし、各ＰＴＰ動作について、その動作時間およびワークを保持しているか否かを動作履歴として記憶し、何番目のＰＴＰ動作にて補助実行命令を出力可能であるかを判定し、ユーザの操作入力に応じてそのＰＴＰ動作の実行行を変更する（実行命令に補助実行命令を付加する）。
【００５２】
このように、本来の（つまり、ユーザが当初設定した）作業サイクルでは動作しない非動作軸を提示し、ユーザの操作に応じて補助実行命令の付加を可能とすることで、非動作軸（第４軸（Ｊ４））を動作させるように作業サイクルを変更することが可能となり、上記したような非動作状態で振動が伝達されることにより発生する欠落領域Ｒに対して、発生当初においては欠落領域Ｒに潤滑油Ｗを補充することができ、また、非動作軸を駆動させて潤滑油Ｗを予め拡散させることで欠落領域Ｒの発生そのものを抑制することができるようになる。
【００５３】
以上説明した本実施形態によれば、次のような効果を奏する。
ロボット制御装置としてのティーチングペンダント４は、ロボット２に与えられる実行命令を解析し、予め定められている作業サイクルを実行するための一連の実行命令の解析結果を当該作業サイクルにおける動作履歴として記憶し、その動作履歴に基づいてロボットの各軸のうち作業サイクル中に動作していない駆動部２３である非動作軸が存在するか否かを判定し、非動作軸が存在することをユーザに提示する。これにより、実際にロボット２を設置した際、その動作をトレースすることにより、作業サイクル中に動作しない駆動部２３が存在することがユーザに提示される。したがって、上記したような故障が発生するおそれのある駆動部２３に対して、非動作軸を駆動させるための実行命令を付加するなどの対策を取ることが可能となり、特定の駆動部２３における故障の発生を抑制することができるようになる。
【００５４】
また、実際にロボット２を設置した状態で、実際のアームの軌道を確認しながら非動作軸が存在するか否かが提示されるので、周辺設備と衝突するおそれを防止できる。このとき、ロボット２の動作を目で見て非動作軸があるか否かをユーザが判断することは容易ではないが、表示部４ａに非動作軸を表示するので、容易に非動作軸が存在するか否かを確認することができる。
【００５５】
アームを予め設定される教示点間（Ｐ１〜Ｐ４）で移動させる際の移動態様が、ＰＴＰ動作およびＣＰ動作のいずれであるかを判定し、アームがＰＴＰ動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示する。このとき、ＰＴＰ動作している期間を動作可能期間とするのは、前述のように発明者の解析結果の裏付けに基づいている。これにより、発生当初の欠落領域Ｒに潤滑油Ｗを拡散させることが可能となり、欠落領域Ｒの拡大を抑制することができるとともに、非動作軸を動作させれば潤滑油Ｗが拡散されることから、欠落領域Ｒの発生そのものを抑制することができる。また、前述のように非動作軸の動作はＰＴＰ動作中に実施可能な動作であることから、ＰＴＰ動作中に完了するので、タクトタイムが長くなるなどの影響を与えることが無く、生産効率が低下するおそれを抑制することができる。
【００５６】
また、動作可能期間をユーザに提示することで、どのＰＴＰ動作で非動作軸を動作させればよいかをユーザは直ぐに判断できるので、利便性が向上する。
作業サイクル中に複数のＰＴＰ動作が存在する場合、最も動作時間の長いＰＴＰ動作を優先して提示する。ＰＴＰ動作の動作時間が長ければ、非動作軸を動作させたとしても確実に本来の位置まで戻すことができるので、アームの軌跡に大きな影響を与えることがない上、動作時間内でより非動作軸を大きく動かすことが可能となり、欠落領域Ｒの発生および拡大をさらに抑制することができる。
このとき、ワークを移送していないと判定された期間を優先して提示するので、本来の（当初の）作業サイクルでは想定していない非動作軸を動作させた場合であっても、その動作に起因してワークが周辺設備に衝突するなどの不具合を生じさせることがない。
【００５７】
（第２実施形態）
第１実施形態では６軸の垂直多関節型ロボットを例示したが、図１１に示すような４軸の水平多関節型ロボットに適用してもよい。尚、第１実施形態と実質的に共通する部位には同一の符号を付し、詳細な説明は省略する。
【００５８】
図１１に示すように、ロボットシステム６１を構成するロボット６２は、設置面に固定されるベース６３と、このベース６３上にＺ方向の軸心を持つ第１軸（Ｊ６１）を中心に回転可能に連結された第一アーム６４と、第一アーム６４の先端部上にＺ方向の軸心を持つ第２軸（Ｊ６２）を中心に回転可能に連結された第二アーム６５と、第二アーム６５の先端部に上下動可能（矢印Ａ方向）で且つＺ方向の軸心を持つ第３軸（Ｊ６３）を中心に回転可能に設けられたシャフト６６とから構成されている。シャフト６６の先端部（下端部）には、ツールなどを取り付けるためのフランジ６７が位置決めされて着脱可能に取り付けられるようになっている。
【００５９】
このような構成においても、第１実施形態の図６と同様の処理を行うことにより、複数の軸に対応して設けられている駆動部２３が非動作軸であるか否かを判定し、作業サイクル中のＰＴＰ動作中に補助実行命令を出力することにより、欠落領域Ｒの拡大や発生そのものを抑制することができるなど、第１実施形態と同様の効果を得ることができる。
【００６０】
（その他の実施形態）
本発明は上記した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
ロボット制御装置は、上記したようにティーチングペンダント４単体やコントローラ３とティーチングペンダント４との組み合わせ等により構成してもよいが、コントローラ３に表示機能と操作入力機能とを持たせ、コントローラ３単体でロボット制御装置を構成するようにしてもよい。また、ティーチングペンダント４の形状等は、各実施形態で例示したものに限定されない。また、各実施形態ではティーチングペンダント４を専用端末として設けた例を示したが、例えばいわゆるノート型パソコン等を採用し、ティーチング用アプリケーションを実行することでティーチングを行うような構成であってもよい。即ち、ロボット制御装置は、各実施形態にて例示したもの以外の構成を採用することができる。
【００６１】
各実施形態では歯車機構として波動歯車装置を例示したが、歯車を利用するものでれば他の構成のものであっても本発明を適用することができる。
第１実施形態では第４軸（Ｊ４）を対象としたが、他の軸を対象として図９と同様の処理を実行することにより、ロボット２に設けられている複数の駆動部２３の全てに対して非動作軸と判定された場合には動作させることができるようになり、第１実施形態と同様の効果を得ることができる。
【００６２】
もちろん、全ての軸を対象として個別に図７と同様の処理を行い、非動作軸と判定された全ての駆動部２３に対して同一の作業サイクル中に個別に補助実行命令を出力するようにしてもよい。その場合、複数の非動作軸が特定された場合には、同一のＰＴＰ動作中に補助実行命令を出力してもよいし、異なるＰＴＰ動作でそれぞれ補助実行命令を出力するようにしてもよい。
【００６３】
各実施形態では歯車機構の歯を１歯以上移動させるような補助実行命令を出力するようにしたが、補助実行命令を出力する動作可能期間の動作時間に応じて、その移動量を帳調整するようにしてもよい。例えば、動作可能期間の動作時間が長ければ、移動量を大きくしてもよい。これは、動作時間が長ければ動作可能期間が終了するまでに本来の噛み合い位置に戻すことができるためである。このようにすれば、潤滑油Ｗの拡散をさらに促進でき、欠落領域Ｒの発生より確実に予防できるようになる。この場合、アームの軌跡に与える影響を少なくするためには、動作可能期間としてＰＴＰ動作を選択することが望ましい。
【００６４】
各実施形態では潤滑油Ｗとして非動作状態では個体に近い性質を有するものを例示したが、常時液体の性質を有するものであってもよい。この場合、潤滑油Ｗの量が減少した部位すなわち潤滑油Ｗが切れた部位が欠落領域Ｒに相当すると考えればよいことから、図６と同様の処理を実行することにより、各実施形態と同様の効果を得ることができる。
【００６５】
第１実施形態では６軸ロボット、第２実施形態では４軸ロボットを例示したが、例えば７軸ロボットなど軸数が異なるロボットであっても本発明を適用することができる。
第１実施形態では、ＰＴＰ動作時に軌道（Ｐ）を計算したが、軌道（Ｐ）とは逆回転する軌道（Ｑ）を計算してもよい。これは、軌道（Ｐ）でアームを回転させると周辺設備と衝突して動作可能期間とはならないＰＴＰ動作であっても、軌道（Ｑ）で回転させれば衝突せずに動作可能期間の候補となる可能性があるためである。また、軌道（Ｐ）と軌道（Ｑ）の双方を計算するようにしてもよい。このように複数の軌道を計算するようにすれば、動作可能期間の選択肢を増加させることができる。
【符号の説明】
【００６６】
図面中、２はロボット、３はコントローラ（ロボット制御装置）、４はティーチングペンダント（ロボット制御装置）、４ａは表示部（提示手段）、４ｂはスイッチ類（操作入力手段）、４４は命令解析部（命令解析手段）、４５は動作履歴記憶部（動作履歴記憶手段）、４６は移動態様特定部（移動態様特定手段）、４７は非動作軸判定部（非動作軸判定手段）、４８は補助命令付加部（補助命令付加手段）、６はショルダ（アーム）、７は下アーム（アーム）、８は第一上アーム（アーム）、９は第二上アーム（アーム）、１０は手首（アーム）、６１はロボットシステム、６２はロボット、６４は第一アーム（アーム）、６５は第二アーム（アーム）、６６はシャフト（アーム）、Ｊ１〜Ｊ６、Ｊ６１〜Ｊ６４は軸を示す。
【図１】
2014034095.tif 000003
【図２】
2014034095.tif 000004
【図３】
2014034095.tif 000005
【図４】
2014034095.tif 000006
【図５】
2014034095.tif 000007
【図６】
2014034095.tif 000008
【図７】
2014034095.tif 000009
【図８】
2014034095.tif 000010
【図９】
2014034095.tif 000011