(57)【要約】【課題】ロボット本体に対して温度センサ等の別部材を搭載することなく、ロボット本体の停止中でも適度に昇温可能なロボット装置及びロボット装置の制御方法を提供する。【解決手段】制御系は、モータ１０１ａに電流を入力することで回転を発生させる回転制御部８１ｑと、モータ１０１ａに電流を入力することでモータ１０１ａに回転を発生させずに発熱させる発熱制御部８１ｄと、モータ１０１ａを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算し、発熱制御部８１ｄに昇温用の電流を出力させるための昇温用の電流指令を生成し、ロボット本体２の停止時には、発熱制御部８１ｄに昇温用の電流指令を送信するＣＰＵ３０と、を備える。【選択図】図２
2015188972.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、前記モータを制御可能な制御系と、を備えるロボット装置において、
前記制御系は、前記モータに電流を入力することで回転を発生させる回転制御部と、前記モータに前記電流を入力することで前記モータに回転を発生させずに発熱させる発熱制御部と、前記モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算し、前記発熱制御部に前記昇温用の電流を出力させるための昇温用の電流指令を生成し、前記ロボット本体の停止時には、前記発熱制御部に前記昇温用の電流指令を送信する制御部と、を備える、
ことを特徴とするロボット装置。
【請求項２】
前記モータは、ｑ軸電流及びｄ軸電流に基づくベクトル制御により制御可能なブラシレスモータであり、
前記回転制御部は、前記モータに前記ｑ軸電流を入力することで回転を発生させ、
前記発熱制御部は、前記モータに前記ｄ軸電流を入力することで前記モータに回転を発生させずに発熱させる、
ことを特徴とする請求項１記載のロボット装置。
【請求項３】
前記昇温用の電流は、前記ロボット本体が実際に所定の動作を行う際に前記モータに通電される電流の実測値に基づいて設定される、
ことを特徴とする請求項１又は２に記載のロボット装置。
【請求項４】
前記昇温用の電流は、前記ロボット本体が所定の動作を行う際に推測される前記ロボット本体の駆動トルクに基づいて設定される、
ことを特徴とする請求項１又は２に記載のロボット装置。
【請求項５】
前記所定温度は、前記ロボット本体の停止時に、前記ロボット本体が停止せずに動作していれば達すると推測される温度である、
ことを特徴とする請求項１乃至４のいずれか１項に記載のロボット装置。
【請求項６】
前記制御部は、前記ロボット本体の稼働開始時刻には前記ロボット本体が前記所定温度に達しているように、前記ロボット本体が前記昇温用の電流により昇温する際の熱時定数に基づき現在の温度から前記所定温度まで昇温するのに要する昇温時間を演算し、前記稼働開始時刻よりも前記昇温時間の前に前記昇温用の電流指令を前記発熱制御部に送信する、
ことを特徴とする請求項１乃至５のいずれか１項に記載のロボット装置。
【請求項７】
前記制御系は、前記ロボット本体に設けられると共に前記回転制御部及び前記発熱制御部を有するモータ制御部と、前記ロボット本体と別個に設けられると共に前記制御部を有する制御装置と、を備える、
ことを特徴とする請求項１乃至６のいずれか１項に記載のロボット装置。
【請求項８】
複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、制御部を有し、前記モータに電流を入力することにより回転及び熱の少なくとも一方を発生し、前記ロボット本体の動作を制御可能な制御系と、を備えるロボット装置の制御方法において、
前記制御部が、前記モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算する電流演算工程と、
前記制御部が、前記ロボット本体の停止時に、前記モータに前記昇温用の電流を供給して昇温させる昇温工程と、を備える、
ことを特徴とするロボット装置の制御方法。
【請求項９】
複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、制御部を有し、前記モータに電流を入力することにより回転及び熱の少なくとも一方を発生し、前記ロボット本体の動作を制御可能な制御系と、を備えるロボット装置の制御方法において、
前記制御部が、前記モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算する電流演算工程と、
前記制御部が、前記ロボット本体の稼働開始時刻には前記ロボット本体が前記所定温度に達しているように、前記ロボット本体が前記昇温用の電流により昇温する際の熱時定数に基づき現在の温度から前記所定温度まで昇温するのに要する昇温時間を演算する時間演算工程と、
前記制御部が、前記稼働開始時刻よりも前記昇温時間の前に、前記モータに前記昇温用の電流を供給して昇温を開始する昇温工程と、を備える、
ことを特徴とするロボット装置の制御方法。
【請求項１０】
請求項８又は９に記載のロボット装置の制御方法の各工程をコンピュータに実行させるためのロボット制御プログラム。
【請求項１１】
請求項１０に記載のロボット制御プログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節を有する多関節アームを備えるロボット装置及びロボット装置の制御方法に関する。
【背景技術】
【０００２】
従来、垂直多関節アーム及びエンドエフェクタ（以下、ロボット本体と呼ぶ）と、ロボット本体を制御する制御装置とを備えたロボット装置が普及している。一般にロボット本体は、モータ等の駆動機構と、タイミングベルトやプーリ等の伝達機構とを備えている。これらの駆動機構や伝達機構は、稼働時の熱損失や摩擦等によって発熱し、熱源になる。このため、ロボット本体を長時間稼動させると、温度が停止時よりも１０℃〜数１０℃高い状態（以下、暖機状態と呼ぶ）になる。
【０００３】
このロボット本体が設置された生産ラインにおいて、メンテナンスや稼働時間外の停止、あるいは何らかの理由による一時的な停止等、ロボット本体は動作可能であっても動作を中断せざるを得ない場合がある。この動作停止期間中は、ロボット本体が発熱しなくなるため、動作を再開した直後のロボットは暖機状態よりも温度の低い状態（以下、冷機状態と呼ぶ）となる。
【０００４】
このような暖機状態及び冷機状態という異なる温度条件下でロボット本体を動作させると、各状態の間でロボット本体の停止位置や減速停止時の誤差量が僅かに変化してしまい、ロボット本体の運動精度を低下させてしまうことが知られている。ロボット本体を冷機状態から暖機状態にするまでには、動作開始後２〜４時間掛かることがあり、例えば１日８時間操業する場合は、操業時間の２５〜５０％でロボット本体の運動精度が低下してしまい、作業効率が低下する可能性があるという問題があった。
【０００５】
これを解決するために、ロボット本体にヒータ及び温度センサを搭載し、ヒータによりロボット本体を加熱可能にしたロボット装置が開発されている（特許文献１参照）。このロボット装置によれば、ロボット本体を強制的に加熱すると共に、温度センサを利用したフィードバック制御でロボット本体の温度を適温に制御することにより、ロボット本体を冷機状態から暖機状態にする時間を短縮することができる。
【０００６】
また、ロボット本体に温度センサを搭載し、駆動用のブラシレスモータをベクトル制御する際にｄ軸電流を調整することで発熱量を増加可能にしたロボット装置が開発されている（特許文献２参照）。このロボット装置によれば、ｄ軸電流を調整してロボット本体を加熱すると共に、温度センサを利用したフィードバック制御でロボット本体の温度を適温に制御することにより、ロボット本体を冷機状態から暖機状態にする時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２３５８３９号公報
【特許文献２】特開昭６３−１２７８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１及び２に記載されたロボット装置では、いずれも温度センサが搭載されているので、機構及び制御系が複雑化し、ロボット装置のコストの増加も招いてしまうという問題があった。また、ロボット本体を加熱制御する際の設定温度については特に考慮されていないので、発熱量が必要以上に大きくなってエネルギの消費量が過大になったり、あるいは発熱が不十分になる可能性があるという問題があった。
【０００９】
本発明は、ロボット本体に対して温度センサ等の別部材を搭載することなく、ロボット本体の停止中でも適度に昇温可能なロボット装置及びロボット装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、前記モータを制御可能な制御系と、を備えるロボット装置において、前記制御系は、前記モータに電流を入力することで回転を発生させる回転制御部と、前記モータに前記電流を入力することで前記モータに回転を発生させずに発熱させる発熱制御部と、前記モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算し、前記発熱制御部に前記昇温用の電流を出力させるための昇温用の電流指令を生成し、前記ロボット本体の停止時には、前記発熱制御部に前記昇温用の電流指令を送信する制御部と、を備えることを特徴とする。
【００１１】
また、本発明は、複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、制御部を有し、前記モータに電流を入力することにより回転及び熱の少なくとも一方を発生し、前記ロボット本体の動作を制御可能な制御系と、を備えるロボット装置の制御方法において、前記制御部が、前記モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算する電流演算工程と、前記制御部が、前記ロボット本体の停止時に、前記モータに前記昇温用の電流を供給して昇温させる昇温工程と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、制御部が、モータを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算し、ロボット本体の停止時に、モータに昇温用の電流を供給して所定温度まで昇温させる。このため、ロボット本体に対して温度センサ等の別部材を搭載することなく、ロボット本体の停止時に昇温できるようになる。しかも、所定温度までの昇温であるので、必要以上の昇温や不十分な昇温を防止して適度に昇温できるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るロボット装置の概略構成を示す説明図である。
【図２】本発明の実施形態に係るロボット装置の概略構成を示すブロック図である。
【図３】本発明の実施形態に係るロボット装置の電流制御器の概略構成を示す説明図である。
【図４】本発明の実施形態に係るロボット装置が稼働中に一時停止する場合の手順を示すフローチャートである。
【図５】本発明の実施形態に係るロボット装置が稼働中に一時停止する場合の経過時間とロボット本体の温度との関係を示すグラフである。
【図６】本発明の実施形態に係るロボット装置が稼働前に昇温する場合の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１５】
図１に示すように、ロボット装置１は、ロボット本体２と、ロボット本体２を制御する制御装置３とを備えている。ロボット本体２は、複数の関節を有する６軸の垂直多関節アーム（以下、アームと呼ぶ）２０と、エンドエフェクタであるハンド２１とを備えている。本実施形態では、アーム２０として６軸の垂直多関節アームを適用しているが、軸数は用途や目的に応じて適宜変更してもよい。
【００１６】
ハンド２１は、アーム２０の先端リンク６７に取り付けられて支持され、アーム２０の動作により位置及び姿勢の少なくとも一自由度が調整されるようになっている。ハンド２１は、ハンド本体２４と、ハンド本体２４に対して移動可能に配設されて、ワークＷを把持可能な複数の指２３とを備えている。アーム２０は、７つのリンク６１〜６７と、各リンク６１〜６７を揺動又は回動可能に連結する６つの関節７１〜７６とを備えている。各リンク６１〜６７としては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを採用してもよい。
【００１７】
図２に示すように、例えば、関節７１は、関節機構１０１と、モータ制御部８１と、を備えている。関節機構１０１は、関節７１を駆動するモータ１０１ａと、モータ１０１ａの回転角度を検知するエンコーダ１０１ｂとを備えている。また、関節機構１０１は、タイミングベルトやプーリなどによって構成される不図示の動力伝達機構と、歯車等によって構成される不図示の減速機構と、モータ１０１ａの非通電時に位置姿勢を支える不図示のブレーキ機構等とを備えている。モータ１０１ａは、複数の関節７１〜７６のうちの少なくとも一部の関節の駆動源として設けられ、例えばｑ軸電流及びｄ軸電流に基づくベクトル制御により制御可能なブラシレスモータとしている。これらモータ１０１ａ及びエンコーダ１０１ｂは、モータ制御部８１に接続され、モータ制御部８１は、後述する制御装置３に接続されている。
【００１８】
モータ制御部８１は、モータ制御切換部８１ａと、回転制御部８１ｑと、発熱制御部８１ｄと、モータ電流制御器９１とを備えている。モータ制御切換部８１ａは、後述する状態選択部３４から伝達される信号に基づいて、モータ１０１ａの制御状態を回転制御と発熱制御とで切り換えるようになっている。回転制御部８１ｑは、後述する回転指令生成部３５ｑからの回転指令値Ｃｑに基づき、指令された回転状態へとモータ１０１ａを制御するためのモータ１０１ａのトルク指令Ｉｑを生成するようになっている。発熱制御部８１ｄは、後述する発熱指令生成部３５ｄからの発熱指令値Ｃｄに基づき、指令された発熱状態にモータ１０１ａを昇温させるために通電する電流量を決定する発熱指令Ｉｄを生成するようになっている。
【００１９】
モータ電流制御器９１は、トルク指令Ｉｑに基づきモータ１０１ａの巻線に出力する電圧Ｖｑを決定する第１の励磁部９１ｑと、発熱指令Ｉｄに基づきモータ１０１ａの巻線に出力する電圧Ｖｄを決定する第２の励磁部９１ｄと、を備えている。
【００２０】
図３に示すように、モータ電流制御器９１では、入力されたトルク指令Ｉｑは、後述するトルク寄与電流ｉｑとの差分を取られ、ＰＩＤ制御演算部１１０ｑにおいてＰＩＤ（比例、積分、微分）制御によって演算され、出力値ｖｑとして出力される。この時の演算式は、数式１のようになる。
【００２１】
【数１】
2015188972.tif 000003
但し、Ｋｐｉｑ：ＰＩＤ制御の比例制御ゲイン、Ｋｉｉｑ：ＰＩＤ制御の積分制御ゲイン、Ｋｄｉｑ：ＰＩＤ制御の微分制御ゲイン、ｎ：モータ電流制御器の識別インデックス、ｋ：制御周期ごとに＋１されるインデックス、Ｉｑｎ，ｋ：モータ電流制御器ｎの時刻ｋ＋１におけるトルク指令値、ｉｑｎ，ｋ：モータ電流制御器ｎの時刻ｋ＋１におけるトルク寄与電流、ｖｑｎ，ｋ＋１：モータ電流制御器ｎの時刻ｋ＋１におけるｑ軸出力
【００２２】
モータ電流制御器９１では、入力された発熱指令Ｉｄは、後述する発熱電流ｉｄとの差分を取られ、ＰＩＤ制御演算部１１０ｄにおいてＰＩＤ制御によって演算され、出力値ｖｄとして出力される。この時の演算式は、数式２のようになる。
【００２３】
【数２】
2015188972.tif 000004
但し、Ｋｐｉｄ：ＰＩＤ制御の比例制御ゲイン、Ｋｉｉｄ：ＰＩＤ制御の積分制御ゲイン、Ｋｄｉｄ：ＰＩＤ制御の微分制御ゲイン、ｎ：モータ電流制御器の識別インデックス、ｋ：制御周期ごとに＋１されるインデックス、Ｉｄｎ，ｋ：モータ電流制御器ｎの時刻ｋ＋１における発熱指令値、ｉｄｎ，ｋ：モータ電流制御器ｎの時刻ｋ＋１における発熱電流、ｖｄｎ，ｋ＋１：モータ電流制御器ｎの時刻ｋ＋１におけるｄ軸出力
【００２４】
出力値ｖｑ，ｖｄは、出力デューティ値演算部１１１において、相電圧Ｕ，Ｖ，Ｗに変換され、各相電圧Ｕ，Ｖ，Ｗに応じて出力デューティ値が演算される。ここでの変換式は、数式３のようになる。
【００２５】
【数３】
2015188972.tif 000005
【００２６】
相電圧Ｕ，Ｖ，Ｗの出力デューティ値は、ゲート回路１１２及びブリッジ回路１１３において、スイッチング素子をＰＷＭ駆動によりオンオフ制御してモータ１０１ａに入力される。これにより、第１の励磁部９１ｑの駆動電流量（ｑ軸電流）及び第２の励磁部９１ｄの駆動電流量（ｄ軸電流）を独立に制御することができる。
【００２７】
また、ブリッジ回路１１３とモータ１０１ａとの間の接続線には電流検出素子が設けられており、電流検出素子はモータ１０１ａのＵ相及びＶ相の電流を電圧として計測する。計測された電圧は、Ａ／Ｄ変換器１１４，１１５によって量子化された数値データに変換される。Ａ／Ｄ変換器１１４，１１５からの数値データは、エンコーダ１０１ｂからの検出信号を電気角変換部１１７において変換した数値データを参照し、電流値演算部１１６においてトルク寄与電流ｉｑと発熱電流ｉｄとに変換される。ここでの変換式は、数式４のようになる。
【００２８】
【数４】
2015188972.tif 000006
【００２９】
尚、他の関節７２〜７６についても、上述した関節７１と同様の構成であるので、詳細な説明を省略する。以下、関節７１〜７６及び各関節７１〜７６が有するモータ等については、代表して関節７１のみについて説明するものとする。
【００３０】
制御装置３は、コンピュータにより構成され、モータ１０１ａを制御することによりロボット本体２を制御可能になっている。図１に示すように、制御装置３を構成するコンピュータは、例えばＣＰＵ（制御部）３０と、各部を制御するためのプログラムを記憶するＲＯＭ３１と、データを一時的に記憶するＲＡＭ３２と、入出力インタフェース回路（Ｉ／Ｆ）３３とを備えている。
【００３１】
図２に示すように、ＣＰＵ３０は、回転指令生成部３５ｑと、発熱指令生成部３５ｄと、状態選択部３４とを備えている。
【００３２】
回転指令生成部３５ｑは、ＲＡＭ３２に予め記録されている教示データに基づいてモータ１０１ａの運動状態の時系列の目標値を設定し、回転指令値Ｃｑとして出力するようになっている。回転指令値Ｃｑは、上述した回転制御部８１ｑに入力され、モータ１０１ａがｑ軸電流制御によって回転駆動される。
【００３３】
発熱指令生成部３５ｄは、力学解析等の手段を用いてモータ１０１ａの負荷、即ち出力トルクを推定するようになっている。即ち、教示データに基づいてモータ１０１ａが稼働する際に、角度(位置)、(角)速度、(角)加速度、トルク等の運動状態を算出し、これらの運動状態に基づいて出力トルクを推定する。そして、発熱指令生成部３５ｄは、モータ１０１ａを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算するようになっている。更に、発熱指令生成部３５ｄは、発熱制御部８１ｄに昇温用の電流を出力させるための昇温用の電流指令を生成し、発熱指令値Ｃｄとして出力するようになっている。発熱指令値Ｃｄは、上述した発熱制御部８１ｄに入力され、モータ１０１ａがｄ軸電流制御によって回転駆動することなく昇温される。尚、ここでの所定温度は、ロボット本体２の停止時に、ロボット本体２が停止せずに動作していれば達すると推測される温度としている。また、昇温用の電流は電流値と通電時間との積算で求められる電流量として算出し、電流値及び通電時間は許容範囲内で適宜調整することが好ましい。
【００３４】
状態選択部３４は、工場のライン全体の状態を示す信号３０ａに基づき、ロボット本体２の動作状態を駆動モードと発熱モードとで選択するようになっている。例えば、状態選択部３４は、ライン全体が正常に稼働しているという信号３０ａが入力されている場合は、回転指令生成部３５ｑに対して信号を送信し、モータ１０１ａを回転駆動させるようになっている（駆動モード）。また、状態選択部３４は、ラインの一部が停止したという信号３０ａが入力された場合は、発熱指令生成部３５ｄに対して信号を送信し、モータ１０１ａを回転させることなく発熱させるようになっている（発熱モード）。即ち、ＣＰＵ３０は、ロボット本体２の停止時には、発熱制御部８１ｄに発熱指令値Ｃｄを送信するようになっている。
【００３５】
ここで、本実施の形態では、モータ制御部８１とＣＰＵ３０とにより、ロボット本体２の動作を制御可能な制御系１０を構成している。即ち、制御系１０は、ロボット本体２に設けられると共に回転制御部８１ｑ及び発熱制御部８１ｄを有するモータ制御部８１と、ロボット本体２と別個に設けられると共に発熱指令生成部３５ｄを有するＣＰＵ３０と、を備えている。
【００３６】
上述したロボット装置１の制御方法の手順について、図４に示すフローチャートに沿って説明する。尚、ここでのロボット装置１は、例えば工場で用いられるものとし、ロボット本体２が同じ動作を繰り返す動作を行うものとする。また、ここでのサイクル動作とは、ロボット本体２が繰り返し行う一連の動作を意味する。動作周期とは、１つのサイクル動作が始まってから、次のサイクル動作が始まるまでの時間を意味する。待機動作とは、１つのサイクル動作が終わってから、次のサイクル動作が始まるまでの間、ロボット本体２が静止している状態を意味する。
【００３７】
図４に示すように、工場のラインの操業が開始する場合等にロボット装置１の電源がオンされる（ステップＳ１）。ＣＰＵ３０の発熱指令生成部３５ｄは、教示データ等に基づいて、出力トルクを演算し、発熱指令値Ｃｄを生成する（ステップＳ２、電流演算工程）。即ち、電流演算工程では、ＣＰＵ３０は、モータ１０１ａを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を出力トルクから演算し、昇温用の電流を発生させる発熱指令値Ｃｄを生成する。
【００３８】
具体的には、発熱指令生成部３５ｄは、製造ラインの設計時に定めるロボット動作のタイミングチャートに基づき、ロボットの動作周期を決定する。そして、発熱指令生成部３５ｄは、動力学解析に基づき、ロボット本体２のサイクル動作時のロボット本体２のモータ駆動トルクを計算する。一般に、モータの駆動トルクは、ｑ軸電流と比例関係にある（Ｔ＝Ｋｉ、Ｔ：モータトルク、ｉ；ｑ軸電流、Ｋ：トルク定数）。このため、トルクＴをトルク定数Ｋで除した値が、ｑ軸電流、即ちモータ電流となる。更に、この方法と同様にして、待機動作時のモータ電流も算出する。そして、発熱指令値Ｃｄとしては、動作周期の間、動作周期時のｑ軸電流を通電し、待機動作の間、待機動作時のｑ軸電流を通電する時系列のサイクルとなるように、発熱制御部８１ｄに動作させるような値とする。即ち、ここでの方法では、負荷の推定を、動力学解析から求められるモータの駆動トルクをトルク定数で除した時系列データから行うようにしている。
【００３９】
その後、ロボット装置１の運転が開始されると（ステップＳ３）、予め規定された組立等の動作を実行する。ラインが正常に稼働している際には、上位からその旨の信号３０ａが送信され、状態選択部３４は駆動モードを選択して実行する（ステップＳ４）。駆動モードでは、回転指令生成部３５ｑは、回転指令値Ｃｑを生成して回転制御部８１ｑに発信する。モータ制御部８１は、モータ制御切換部８１ａにより回転制御部８１ｑを起動する。回転制御部８１ｑは、モータ１０１ａの運動状態を制御するサーボ機構であり、エンコーダ１０１ｂからの回転角度と回転指令値Ｃｑに基づき、トルク指令Ｉｑを決定し、第１の励磁部９１ｑによりｑ軸電流を制御してモータ１０１ａを回転制御する。一方、発熱制御部８１ｄは停止しており、発熱指令Ｉｄとして常に０を出力し、第２の励磁部９１ｄは励磁電流（ｄ軸電流）ｉｄを常に０となるよう制御する。
【００４０】
ＣＰＵ３０は、状態選択部３４に入力される上位からの信号３０ａに基づき、ラインが停止したか否かを判断する（ステップＳ５）。ＣＰＵ３０が、ラインは停止していないと判断した場合は、予め規定されたサイクルが終了したか否かを判断する（ステップＳ６）。ＣＰＵ３０が、規定サイクルが終了したと判断した場合は処理を終了し、規定サイクルが終了していないと判断した場合は駆動モードを続行する（ステップＳ４）。ここで、ロボット本体２の運転開始後はロボット本体２の温度は急激に上昇し、ある程度の時間が経過するとほぼ一定になる（図５の時間０〜ｔ１参照）。
【００４１】
一方、ラインが不測の理由により停止した場合は、上位からその旨の信号３０ａが送信され、ＣＰＵ３０はステップＳ５においてラインは停止したと判断し、状態選択部３４は発熱モードを選択する（ステップＳ７、昇温工程）。即ち、昇温工程では、ＣＰＵ３０は、ロボット本体２の停止時に、モータ１０１ａに昇温用の電流を供給して昇温させる。
【００４２】
発熱モードでは、発熱指令生成部３５ｄは、予め生成しておいた発熱指令値Ｃｄを発熱制御部８１ｄに発信する。また、停止した状況によっては、予め生成した発熱指令値Ｃｄを適宜対応させて変更するようにしてもよい。モータ制御部８１は、モータ制御切換部８１ａにより回転制御部８１ｑを停止し、発熱制御部８１ｄを起動する。回転制御部８１ｑは停止信号を受信すると、トルク指令Ｉｑとして常に０を出力し、モータ１０１ａはトルクを出力しない状態となる。発熱制御部８１ｄは、エンコーダ１０１ｂからの回転角度と発熱指令値Ｃｄに基づき、発熱指令Ｉｄを決定し第２の励磁部９１ｄに出力する。第２の励磁部９１ｄは、駆動モード実施時と同等の発熱を行う電流をモータ１０１ａへ通電することにより、モータ１０１ａの発熱状態を稼働時の状態と同一に維持する。この時、モータ１０１ａはトルクを支持しないのでロボット本体２の関節７１〜７６はブレーキ機構によって支持される。
【００４３】
ＣＰＵ３０は、状態選択部３４に入力される上位からの信号３０ａに基づき、ラインが復旧したか否かを判断する（ステップＳ８）。ＣＰＵ３０が、ラインは復旧していないと判断した場合は、発熱モードを続行する（ステップＳ７）。ＣＰＵ３０が、ラインは復旧したと判断した場合は、再度駆動モードを実行する（ステップＳ４）。この時、ロボット本体２は発熱モードによって駆動モードと同等の暖機状態にあるので、ライン停止前と同等の精度を持つ動作を直ちに再開することができる。
【００４４】
次に、上述のロボット本体２の稼働開始前に昇温を開始する場合のロボット装置１の制御方法の手順について、図６に示すフローチャートに沿って説明する。ここでは、例えば工場のラインに設置されたロボット本体２を、朝の稼働開始時に暖機させておく場合について説明する。
【００４５】
図６に示すように、工場のラインの操業が開始する前（例えば、数時間前）等にロボット装置１の電源がオンされる（ステップＳ１１）。これは、例えば、前日の終業時に電源をオンしておく。発熱指令生成部３５ｄは、教示データ等に基づいて、出力トルクを演算し、発熱指令値Ｃｄを生成する（ステップＳ１２、電流演算工程）。即ち、電流演算工程では、ＣＰＵ３０は、モータ１０１ａを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を出力トルクから演算し、昇温用の電流を発生させる発熱指令値Ｃｄを生成する。
【００４６】
発熱指令生成部３５ｄは、ロボット本体２が昇温用の電流により昇温する際の熱時定数に基づき現在の温度から所定温度まで昇温するのに要する昇温時間を演算する（ステップＳ１３、時間演算工程）。この時間演算工程では、ロボット本体２の稼働開始時刻にはロボット本体２が所定温度に達しているように昇温時間を演算する。ここでの現在の温度は、例えば、ロボット本体２に設けられた温度センサからの検出値を用いたり、あるいは気温等を考慮して適宜入力してもよい。また、稼働開始時刻は、使用者が適宜入力する。
【００４７】
そして、ＣＰＵ３０は、現在時刻が稼働開始時刻の昇温時間前であるか否かを判断する（ステップＳ１４）。ＣＰＵ３０が、現在時刻は稼働開始時刻の昇温時間前ではないと判断した場合は、再度時刻を判断する（ステップＳ１４、昇温工程）。ＣＰＵ３０が、現在時刻は稼働開始時刻の昇温時間前であると判断した場合は、モータ１０１ａに昇温用の電流を供給して昇温を開始する（ステップＳ１５、昇温工程）。尚、ここでの昇温方法は、図４のステップＳ７と同様であるので、詳細な説明は省略する。
【００４８】
これにより、ロボット本体２の稼働開始時には、ロボット本体２は通常の稼働時と同等の暖機状態にあるので、通常の稼働時と同等の精度を持つ動作を直ちに実行することができる。
【００４９】
上述したように本実施形態のロボット装置１によれば、ＣＰＵ３０が、モータ１０１ａを回転させることなく所定温度まで昇温させるために必要な昇温用の電流を演算し、ロボット本体２の停止時に所定温度まで昇温させる。このため、ロボット本体２に対して温度センサ等の別部材を搭載することなく、ロボット本体２の停止時に昇温できるようになる。しかも、所定温度までの昇温であるので、必要以上の昇温や不十分な昇温を防止して適度に昇温できるようになる。
【００５０】
また、本実施形態のロボット装置１によれば、発熱指令生成部３５ｄは、力学解析等の手段を用いてモータ１０１ａの負荷、即ち出力トルクを推定するので、高精度な制御が可能になる。即ち、ロボット本体２の駆動系の走行抵抗（摩擦、粘性負荷）が大きい場合、モータに電流が通電することによる発熱（ジュール熱）の他に、駆動系の機械的な負荷（走行抵抗）が大きくなる。この場合、ロボットの運動エネルギが熱に変換されることによる駆動系の発熱が無視できないほど大きくなる。この時のエネルギ損失を何らかの解析モデルで見積もり、それに相当する発熱量を、これまでに計算した駆動トルクに相当する発熱指令値に上乗せすることで、より実際に近い発熱量を算出することが可能になる。
【００５１】
上述した実施形態では、ＣＰＵ３０は、ロボット本体２が所定の動作を行う際に推測されるロボット本体２の駆動トルクに基づいて昇温用の電流を設定したが、これには限られない。例えば、ロボット本体２が実際に所定の動作を行う際にモータ１０１ａに通電される電流の実測値に基づいて設定するようにしてもよい。この場合、例えば、ロボット本体２の作業中に温度状態が安定してから、サイクル動作におけるｑ軸電流の時刻歴応答を記録し続ける。同様に、実作業中に、動作周期及び待機動作時の駆動電流を記録し続ける。得られた複数サイクルのモータ電流の時刻歴応答の各時刻における平均、動作周期の平均、待機動作時の平均をそれぞれ求める。そして、発熱制御時のｄ軸電流の指令値は、時刻歴応答の各時刻における平均を動作周期の平均ごとに繰り返し出力する。また、次のサイクルが開始するまでの間は、待機動作時の平均の電流値を指令値とする。この方法によれば、複雑な計算を不要として、簡易に設定できるようになる。
【００５２】
また、上述した実施形態では、ブレーキ機構の動作について特に限定はしていないが、例えば、モータ１０１ａの出力トルクが０であり、関節に配置されたブレーキ機構で自重を支持する状態で発熱制御を実施するようにしてもよい。この場合は、モータ１０１ａのトルクが無くても、関節を確実に固定することができる。
【００５３】
あるいは、モータ１０１ａの出力トルクにより負荷の静的成分、即ち自重及び起動トルクを支持し、発熱制御での指令値が推定された負荷の動的成分、即ち速度や加速度等に起因する負荷に相当する量であるようにしてもよい。この場合、ブレーキ機構の動作によらず、モータ１０１ａのみでも関節を固定することができるようになる。
【００５４】
更には、発熱制御実施時に、関節に配置されたブレーキ機構は自重を支持しない解放状態であるようにしてもよい。この場合、ブレーキ機構も発熱することから、その熱も利用してロボット本体２の昇温を行うことができる。
【００５５】
尚、以上述べた本実施形態の各処理動作は具体的にはＣＰＵ３０により実行されるものである。従って、上述した機能を実現するソフトウェアのロボット制御プログラムを記録した記録媒体をＣＰＵ３０に供給し、ＣＰＵ３０が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した各実施の形態の機能を実現することになり、ロボット制御プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【００５６】
また、本実施形態では、コンピュータ読み取り可能な記録媒体がＲＯＭ３１であり、ＲＯＭ３１にプログラムが格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【実施例】
【００５７】
工場のラインに設置されたロボット装置について、所定の動作を行わせた際の稼働後の経過時間とロボット本体の温度との関係を求めた。その結果を図５に示す。図５中、ｔ１においてラインが停止し、ｔ２においてラインが復旧したものとする。
【００５８】
（実施例）
上述した本実施の形態のロボット装置１での結果を、図５のＴ１に示す。
【００５９】
（比較例１）
上述した本実施の形態のロボット装置１で、ｔ１〜ｔ２の範囲でもロボット本体２の動作を停止しなかった場合の結果を、図５のＴ２に示す。
【００６０】
（比較例２）
上述した本実施の形態のロボット装置１で、ｔ１〜ｔ２の範囲でも昇温動作を行わなかった場合の結果を、図５のＴ３に示す。
【００６１】
これらの結果から明らかなように、ｔ１〜ｔ２の範囲において、本実施の形態のロボット本体２ではロボット本体２が停止しなかった比較例１とほぼ変わらない温度を維持することができた。また、本実施の形態のロボット本体２は、ｔ１〜ｔ２の範囲において昇温動作を行わなかった比較例２に比べて、短い時間で温度を平衡状態に復帰させることができた。従って、動作を復帰させた後、直ちに高精度な動作が可能であることが確認された。
【符号の説明】
【００６２】
１…ロボット装置、２…ロボット本体、３…制御装置、１０…制御系、２０…多関節アーム、３０…ＣＰＵ（制御部）、７１〜７６…複数の関節、８１…モータ制御部、８１ｄ…発熱制御部、８１ｑ…回転制御部、１０１ａ…モータ、Ｃｄ…発熱指令値（昇温用の電流指令）
【図１】
2015188972.tif 000007
【図２】
2015188972.tif 000008
【図３】
2015188972.tif 000009
【図４】
2015188972.tif 000010
【図５】
2015188972.tif 000011
【図６】
2015188972.tif 000012