(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】制御装置、制御方法および管理装置
(51)【国際特許分類】
B25J 3/00 20060101AFI20231017BHJP
【FI】
B25J3/00 Z
(21)【出願番号】P 2019207087
(22)【出願日】2019-11-15
【審査請求日】2022-09-14
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100077665
【氏名又は名称】千葉 剛宏
(74)【代理人】
【識別番号】100116676
【氏名又は名称】宮寺 利幸
(74)【代理人】
【識別番号】100191134
【氏名又は名称】千馬 隆之
(74)【代理人】
【識別番号】100136548
【氏名又は名称】仲宗根 康晴
(74)【代理人】
【識別番号】100136641
【氏名又は名称】坂井 志郎
(74)【代理人】
【識別番号】100180448
【氏名又は名称】関口 亨祐
(72)【発明者】
【氏名】高橋 精吾
(72)【発明者】
【氏名】戸田 俊太郎
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2016-124060(JP,A)
【文献】特開2012-217267(JP,A)
【文献】特開2017-074658(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 3/00
(57)【特許請求の範囲】
【請求項1】
少なくとも2つ以上の関節を有する多関節アームと、前記多関節アームを支持する基台とを有するロボットを制御する制御装置であって、
前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部と、
前記プログラム解析部の解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定部と
、
前記基台に近い側からの順位が2番目以降の
なかで、最も前記未来残寿命が短い1つの前記関節、または、所定の閾値よりも前記未来残寿命が短い1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定部と、
前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動するモータを制御するモータ制御部と、
を備える制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記プログラム解析部は、分岐命令を有する前記ステップでの分岐選択を履歴情報として記憶部に格納し、
前記寿命推定部は、前記記憶部に記憶された前記履歴情報と前記プログラム解析部の解析結果とに基づいて、前記未来残寿命を推定する、制御装置。
【請求項3】
請求項1または2に記載の制御装置であって、
前記待機状態の直前の前記動作の終了通知を前記ロボットから受けた時点から、前記待機状態の次の前記動作の開始命令を外部から受ける時点までの時間を計測する計測部を備え、
前記寿命推定部は、前記計測部で計測された時間と、前記プログラム解析部の解析結果とに基づいて、前記未来残寿命を推定する、制御装置。
【請求項4】
請求項1~3のいずれか1項に記載の制御装置であって、
前記寿命推定部は、1つの前記ステップが実行される度に、前記未来残寿命を推定する、制御装置。
【請求項5】
請求項1~
4のいずれか1項に記載の制御装置であって、
前記モータ制御部は、前記冷却対象関節を冷却するための前記モータの前記未来残寿命が長いほど前記モータが冷却動作する際の駆動量が大きくなるように前記モータを制御する、制御装置。
【請求項6】
少なくとも2つ以上の関節を有する多関節アームと、前記多関節アームを支持する基台とを備えるロボットを制御する制御装置の制御方法であって、
前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析する解析ステップと、
前記解析ステップの解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定ステップと
、
前記基台に近い側からの順位が2番目以降の
なかで、最も前記未来残寿命が短い1つの前記関節、または、所定の閾値よりも前記未来残寿命が短い1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定ステップと、
前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動するモータを制御するモータ制御ステップと、
を含む制御方法。
【請求項7】
請求項
6に記載の制御方法であって、
前記解析ステップは、分岐命令を有する前記ステップでの分岐選択を履歴情報として記憶部に格納し、
前記寿命推定ステップは、前記記憶部に記憶された前記履歴情報と前記解析ステップの解析結果とに基づいて、前記未来残寿命を推定する、制御方法。
【請求項8】
請求項
6または
7に記載の制御方法であって、
前記待機状態の直前の前記動作の終了通知を前記ロボットから受けた時点から、前記待機状態の次の前記動作の開始命令を外部から受ける時点までの時間を計測する計測ステップを含み、
前記寿命推定ステップは、前記計測ステップで計測された時間と、前記解析ステップの解析結果とに基づいて、前記未来残寿命を推定する、制御方法。
【請求項9】
請求項
6~
8のいずれか1項に記載の制御方法であって、
前記寿命推定ステップは、1つの前記ステップが実行される度に、前記未来残寿命を推定する、制御方法。
【請求項10】
請求項
6~
9のいずれか1項に記載の制御方法であって、
前記モータ制御ステップは、前記冷却対象関節を冷却するための前記モータの前記未来残寿命が長いほど前記モータが冷却動作する際の駆動量が大きくなるように前記モータを制御する、制御方法。
【請求項11】
モータの駆動によって回動する関節を複数備える多関節アームおよび前記多関節アームを支持する基台を含む複数のロボットを管理する管理装置であって、
複数の前記ロボットごとに、前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部と、
複数の前記ロボットごとに、前記プログラム解析部の解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定部と、
複数の前記ロボットごとに
、前記基台に近い側からの順位が2番目以降の
なかで、最も前記未来残寿命が短い1つの前記関節、または、所定の閾値よりも前記未来残寿命が短い1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定部と、
複数の前記ロボットごとに、前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動する前記モータを制御するモータ制御部と、
を備える管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の関節を有する多関節アームを備えるロボットを制御する制御装置、制御方法および管理装置に関する。
【背景技術】
【0002】
多関節アームにおける関節を潤滑に回動させるために用いられているグリースは、高温になると劣化の進行度合いが大きくなる。グリースの劣化を抑えるため、下記特許文献1にはモータに冷却手段を設ける発明が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、モータに冷却手段を設けることにより、コストがかかり、当該冷却手段の分だけ余分にモータを大きくしなければならない場合がある。ここで、複数の関節の各々に冷却手段を設けずに関節を冷却する手法として、冷却対象の関節よりも多関節アームを支持する基台側の関節を回動させて冷却対象の関節に風をあてる手法が考えられる。この手法では、冷却対象の関節よりも基台側の関節が複数ある場合、複数の関節のうち、グリースの劣化の程度が大きい関節を回動させると、回動させた関節の寿命が短命化する傾向にある。つまり、複数の関節における寿命のばらつきが大きくなる傾向にある。
【0005】
本発明は、複数の関節の寿命のばらつきを低減させ得る制御装置、制御方法および管理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、
少なくとも2つ以上の関節を有する多関節アームと、前記多関節アームを支持する基台とを有するロボットを制御する制御装置であって、
前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部と、
前記プログラム解析部の解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定部と、
複数の前記関節の各々の前記未来残寿命に基づいて、前記基台に近い側からの順位が2番目以降の1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定部と、
前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動するモータを制御するモータ制御部と、
を備える。
【0007】
また、本発明の第2の態様は、
少なくとも2つ以上の関節を有する多関節アームと、前記多関節アームを支持する基台とを備えるロボットを制御する制御装置の制御方法であって、
前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析する解析ステップと、
前記解析ステップの解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定ステップと、
複数の前記関節の各々の前記未来残寿命に基づいて、前記基台に近い側からの順位が2番目以降の1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定ステップと、
前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動するモータを制御するモータ制御ステップと、
を含む。
【0008】
また、本発明の第3の態様は、
モータの駆動によって回動する関節を複数備える多関節アームおよび前記多関節アームを支持する基台を含む複数のロボットを管理する管理装置であって、
複数の前記ロボットごとに、前記多関節アームに対する複数の動作の各々と、時間的に隣接する前記動作の間に次の前記動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部と、
複数の前記ロボットごとに、前記プログラム解析部の解析結果に基づいて、未実行の前記ステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の前記関節の各々の未来残寿命を推定する寿命推定部と、
複数の前記ロボットごとに、複数の前記関節の各々の前記未来残寿命に基づいて、前記基台に近い側からの順位が2番目以降の1つの前記関節を、冷却が必要な冷却対象関節として特定する関節特定部と、
複数の前記ロボットごとに、前記待機状態の際に、前記冷却対象関節と前記冷却対象関節よりも前記基台側の前記関節との前記未来残寿命の差が小さくなるように、前記冷却対象関節よりも前記基台側の前記関節を回動する前記モータを制御するモータ制御部と、
を備える。
【発明の効果】
【0009】
本発明の態様によれば、複数の関節の寿命のばらつきを低減させることができ、この結果、最も劣化が早い関節の未来残寿命を延ばすことができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態のロボット制御システムの構成を示す図である。
【
図4】分岐命令を有する動作プログラムを示す概念図である。
【
図5】制御装置の処理の流れを示すフローチャートである。
【
図6】変形例3のロボット制御システムの構成を示す図である。
【発明を実施するための形態】
【0011】
本発明について、好適な実施形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【0012】
[実施形態]
図1は、実施形態のロボット制御システム10の構成を示す図である。ロボット制御システム10は、ロボット12と、ロボット12を制御する制御装置14とを備える。
【0013】
ロボット12は、多関節アーム16と、多関節アーム16を支持する基台18とを備える。多関節アーム16は、複数の関節20を有する。複数の関節20の各々は、関節軸と、関節軸を回転可能に支持するベアリングと、関節軸とベアリングとの間の摩擦などを低減するグリース(潤滑剤)とを有する。
【0014】
複数の関節20の各々は、制御装置14の制御に応じて順方向または逆方向に駆動するモータ22と、モータ22の動力を関節軸に伝達する動力伝達機構とを有する。モータ22が順方向に駆動すると、動力伝達機構および関節軸を通じて、当該モータ22に対応する関節20が順方向に回動する。一方、モータ22が逆方向に駆動すると、動力伝達機構および関節軸を通じて、当該モータ22に対応する関節20が逆方向に回動する。つまり、複数の関節20の各々は、自身が有するモータ22の駆動に応じて回動する。
【0015】
制御装置14は、複数の関節20のなかから冷却対象関節を1つ特定し、特定した冷却対象関節のグリースの温度を低下させる処理を実行する。
図2は、制御装置14の機能ブロックを示す図である。制御装置14は、プロセッサ30と、記憶部32とを有する。プロセッサ30の具体例としてCPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられ、記憶部32の具体例としてハードディスクなどが挙げられる。
【0016】
記憶部32には、基本プログラム、動作プログラム、および、複数の関節20の各々の残寿命などが記憶される。基本プログラムは、オペレーションを司るシステムソフトウェアである。動作プログラムは、多関節アーム16に割り当てられる作業に必要な動作を行わせるためのプログラムである。残寿命は、今後どの程度使用できるのかという寿命の残余量を意味する。
【0017】
プロセッサ30は、記憶部32に記憶された基本プログラムを実行することで、プログラム解析部34、計測部36、寿命推定部38、関節特定部40、条件決定部42およびモータ制御部44として機能する。
【0018】
プログラム解析部34は、記憶部32に記憶された動作プログラムを読み出し、読み出した動作プログラムを解析する。
図3は、動作プログラムを示す概念図である。動作プログラムは、多関節アーム16に対する複数の動作の各々をステップとして含む。
図3に示す例では、動作プログラムは、時間の経過に沿って「動作A」、「動作B」、「動作C」および「動作D」の4つの動作をステップとして含む。なお、動作プログラムが含む動作は、具体的には、当該動作が行われるように複数の関節20の各々を制御するための指令値などにより示される。
【0019】
また、動作プログラムは、時間的に隣接する動作の間に次の動作を待機する少なくとも1つの待機状態をステップとして含む。
図3に示す例では、「動作A」と「動作B」との間に「待機A」の待機状態がステップとして含まれ、「動作C」と「動作D」との間に「待機B」の待機状態がステップとして含まれる。待機状態では、動作プログラムに含まれる動作は行われないが、ロボット12と協働して作業する他のロボットまたは装置が動作する。他のロボットまたは装置の動作に要する時間は、ロボット12を制御する制御装置14側では未知であるため、動作プログラムでは、待機状態の時間(待機状態を維持する時間)は規定されていない。
【0020】
動作プログラムは、分岐命令を有する場合がある。
図4は、分岐命令を有する動作プログラムを示す概念図である。動作プログラムが分岐命令を有する場合、分岐命令から分岐する2以上のステップのうち任意の1つが分岐選択されるため、複数の進行パターンが動作プログラムに存在することになる。
図4に示す例では、「動作B」および「待機B」の各々に待機命令が含まれ、「パターン1」、「パターン2」および「パターン3」の3つの進行パターンが動作プログラムに存在する。
【0021】
プログラム解析部34は、動作プログラムの内容としてステップ数や分岐構造などを解析する。プログラム解析部34は、動作プログラムが分岐命令を有する場合、その分岐命令において分岐選択されたステップを履歴情報として記憶部32に格納してもよい。
【0022】
計測部36は、待機状態の時間を計測するものである。計測部36は、ロボット12から待機状態の直前の動作の終了通知を受けた時点から、その待機状態の次の動作の開始命令を外部から受ける時点までの時間を計測する。なお、次の動作の開始命令を出力する対象は、上記のように、ロボット12と協働して作業する他のロボットまたは装置である。
【0023】
図3に示す例では、計測部36は、ロボット12から「待機A」の直前の「動作A」の終了通知を受けたときに計測を開始し、「待機A」の次の「動作B」の開始命令を外部から受けたときに計測を終了する。また、計測部36は、ロボット12から「待機B」の直前の「動作C」の終了通知を受けたときに計測を開始し、「待機B」の次の「動作D」の開始命令を外部から受けたときに計測を終了する。
【0024】
計測部36は、時間の計測を終了すると、待機命令の固有ID(ここでは「待機A」または「待機B」)ごとに計測した時間を履歴情報として記憶部32に記憶する。
【0025】
寿命推定部38は、プログラム解析部34の解析結果に基づいて、複数の関節20の各々の未来残寿命を推定するものである。未来残寿命は、未来の残寿命である。寿命推定部38は、動作プログラムの1つのステップが実行される度に、実行されたステップよりも後の未実行のステップが開始されてからの複数の関節20の各々の未来残寿命を推定する。
【0026】
寿命推定部38は、未実行のステップが開始されてから所定時間を経過したときの複数の関節20の各々の未来残寿命を推定してもよく、未実行のステップが開始されてから所定のステップ数を経過したときの複数の関節20の各々の未来残寿命を推定してもよい。以下では、未実行のステップが開始されてから所定時間を経過したときの未来残寿命を推定するものとして説明を行う。所定時間はできるだけ長く設定したほうが遠い未来の残寿命を推定することが可能となるが、制御装置14のプロセッサ30の処理速度や記憶容量などに基づく能力の制限があるため、無制限に長い時間に設定することはできない。なお、複数の関節20の各々に対する寿命推定部38の処理の内容は同じであるため、ここでは、ある1つの関節20に対する寿命推定部38の処理について説明する。
【0027】
関節20の発熱量と、関節20が有するグリースの劣化の進行度とは相関関係にあり、関節20の発熱量が大きいほどグリースの劣化の進行度が高まる。発熱量とグリースの劣化の関係は特開2018-146561号公報に示されている。グリースの劣化の進行度は、関節20の消費寿命と直接的な相関をもつ。つまり、関節20の発熱量が大きいほど関節20の消費寿命が大きくなる。なお、消費寿命は、どの程度寿命を消費したのかという寿命の消費量を意味する。
【0028】
寿命推定部38は、動作プログラムの解析結果に基づいて、未実行のステップが開始されてから所定時間を経過したときの関節20の発熱量を取得する。寿命推定部38は、発熱量と回転速度との相関を示すデータベースまたは関係式を用いて、動作プログラムが規定する複数の動作の各々の指令値(回転速度)の合計から関節20の発熱量を取得してもよい。なお、データベースまたは関係式における発熱量は、モータ22の発熱量および負荷トルクに起因する発熱量の少なくとも一方を含んでもよい。
【0029】
寿命推定部38は、関節20の発熱量を取得すると、発熱量と消費寿命との相関を示すデータベースまたは関係式を用いて、関節20の発熱量に対応する消費寿命を取得する。寿命推定部38は、取得した関節20の消費寿命を、記憶部32に記憶された残寿命情報が示す残寿命から減算することで、未来残寿命を推定する。
【0030】
寿命推定部38は、動作プログラムが分岐命令を有する場合、動作プログラムに存在する複数の進行パターンの各々の未来残寿命を推定する。この場合、寿命推定部38は、分岐命令において分岐選択されたステップとして、記憶部32に記憶される履歴情報に基づいて、動作プログラムに存在する複数の進行パターンの各々に進行する確率を求め、推定した各未来残寿命を重み付けしてもよい。なお、周辺機器の稼働状態や学習装置などを用いて、動作プログラムに存在する複数の進行パターンの各々に進行する確率が求められてもよい。
【0031】
ところで、動作プログラムに待機状態が規定されている場合、その待機状態の前の動作が終了してから次の動作が開始されるまで、動作プログラムにしたがって制御装置14に制御されるロボット12は静止している。このため、待機状態のときには関節20で発生した熱が放熱して関節20が冷める傾向にある。寿命推定部38は、待機状態のときの放熱量を考慮して未来残寿命を推定してもよい。
【0032】
すなわち、寿命推定部38は、履歴情報として記憶部32に記憶された待機命令の固有IDごとに、複数の待機状態の時間の平均値を求める。また、寿命推定部38は、待機状態の時間と放熱量との相関を示すデータベースまたは関係式を用いて、求めた平均値に対応する関節20の放熱量を、取得した関節20の発熱量から減算し、減算した結果得られた発熱量に対応する消費寿命を取得する。これにより、真値に近い未来残寿命を推定することができ、推定精度が向上する。なお、待機状態の時間の平均値を用いて消費寿命を推定する場合を示したが、分散などの平均以外の統計的指標や、周辺機器の稼働状態や学習装置などを用いて待機時間を推定し、そこから消費寿命を推定してもよい。
【0033】
寿命推定部38は、動作プログラムが規定する1つの動作が実際に実行された場合、その動作に消費した実際の消費寿命を用いて、記憶部32に記憶された残寿命の値を更新する。すなわち、寿命推定部38は、実際の消費寿命を、記憶部32に記憶された残寿命情報が示す残寿命から減算し、減算結果として得られる値を、現在の残寿命として、記憶部32に記憶する。なお、実際の消費寿命は、未来残寿命を推定するときに説明した消費寿命と同様にして取得することができる。
【0034】
関節特定部40は、寿命推定部38が推定した未来残寿命に基づいて、複数の関節20のうちの1つの関節20を、冷却が必要な冷却対象関節として特定するものである。なお、基台18に近い側からの順位が1番目の関節20は、冷却対象関節を冷却するために使用する候補となるため、関節特定部40は、1番目の関節を冷却対象関節から除外する。
【0035】
関節特定部40は、基台18に近い側からの順位が2番目以降の関節20のなかで、最も未来残寿命が短い1つの関節20、あるいは、所定の閾値よりも未来残寿命が短い1つの関節20を、冷却対象関節として特定する。なお、最も未来残寿命が短い関節20、あるいは、所定の閾値よりも未来残寿命が短い関節20が複数ある場合、関節特定部40は、例えば、基台18に最も近い側の関節20を冷却対象関節として特定する。
【0036】
ここで、本実施形態では、
図1に示すように、関節20の数は、4つとする。また、基台18に近い側からの順位が1番目の関節20は関節20Aとし、当該順位が2番目の関節20は関節20Bとし、当該順位が3番目の関節20は関節20Cとし、当該順位が4番目の関節20は関節20Dとする。また、関節特定部40では、3番目の関節20Cが冷却対象関節として特定されたものとする。
【0037】
条件決定部42は、冷却対象関節を冷却する冷却動作の条件を決定するものである。条件決定部42は、冷却対象関節(関節20C)と冷却対象関節(関節20C)よりも基台18側の関節20A、20Bとの未来残寿命の差が小さくなるように、当該関節20A、20Bの少なくとも1つに対する冷却動作の条件を決定する。条件は、関節20A、20Bの少なくとも1つを回動するモータ22の回転角、回転方向、および、回転速度を含む。例えば、冷却動作対象の関節20Aが、所定の回転角度の範囲において正方向と逆方向とへ交互に所定の回転速度で回動するように、関節20Aが有するモータ22の回転角、回転方向、および、回転速度が決定される。
【0038】
モータ制御部44は、動作プログラムにしたがって複数の関節20の各々のモータ22を制御する。
図3に示す例では、モータ制御部44は、「動作A」の指令値を用いて複数の関節20の少なくとも1つのモータ22を制御することで、多関節アーム16に対して「動作A」を実行させる。また、モータ制御部44は、「動作A」と同様にして、多関節アーム16に対して「動作B」、「動作C」および「動作D」を順次実行させる。
【0039】
モータ制御部44は、待機状態のときには、条件決定部42が決定した冷却動作の条件にしたがって、冷却対象関節よりも基台18側の関節20A、20Bの少なくとも1つのモータ22を制御することで、多関節アーム16に対して冷却動作を実行させる。つまり、モータ制御部44は、待機状態のときには、冷却動作の条件にしたがってモータ22を制御することで、関節20A、20Bの少なくとも1つを所定の回転角度の範囲において正方向と逆方向とへ交互に所定の回転速度で回動させる。これにより、冷却対象関節(20C)に風をあてて冷却することができる。
【0040】
本実施形態の場合、モータ制御部44は、冷却動作の条件にしたがって、冷却対象関節(関節20C)と、冷却対象関節(関節20C)よりも基台18側の関節20A、20Bとの未来残寿命の差が小さくなるように、関節20A、20Bの少なくとも1つのモータ22を制御している。これにより、冷却対象関節(関節20C)と冷却対象関節よりも基台18とは反対側の関節20Dを冷却しつつ、冷却に用いられた冷却対象関節よりも基台18側の関節20A、20Bの未来残寿命のばらつきを低減させることができる。この結果、複数の関節20A~20Dの寿命のばらつきを低減させることができる。
【0041】
なお、
図3に示す例では、「待機A」および「待機B」の2つの待機状態が動作プログラムに含まれている。動作プログラムに複数の待機状態が含まれている場合、モータ制御部44は、複数の待機状態の少なくとも1つの待機状態のときに、冷却動作を実行させればよい。
【0042】
次に、
図5を用いて、制御装置14の制御方法を説明する。
図5は、制御装置14の処理の流れを示すフローチャートである。
【0043】
ステップS1において、プログラム解析部34は、記憶部32に記憶された動作プログラムを読み出し、読み出した動作プログラムの内容としてステップ数や分岐構造などを解析する。プログラム解析部34の解析が終了すると、制御装置14の処理はステップS2に移行する。
【0044】
ステップS2において、プログラム解析部34は、動作プログラムの解析結果を内部メモリなどに格納する。なお、動作プログラムの解析結果として、未実行のステップが開始されてから所定時間経過したときのステップ数などが含まれる。動作プログラムの解析結果が格納されると、制御装置14の処理はステップS3に移行する。
【0045】
ステップS3において、寿命推定部38は、ステップS2で格納された動作プログラムの解析結果に基づいて、未実行のステップが開始されてから所定時間を経過したときの複数の関節20の各々の未来残寿命を推定する。寿命推定部38の推定が終了すると、制御装置14の処理はステップS4に移行する。
【0046】
ステップS4において、関節特定部40は、ステップS3で推定された複数の関節20の各々の未来残寿命に基づいて、1つの関節20を冷却対象関節として特定する。関節特定部40の特定が終了すると、制御装置14の処理はステップS5に移行する。
【0047】
ステップS5において、条件決定部42は、ステップS3で推定された複数の関節20の各々の未来残寿命と、ステップS4で特定された冷却対象関節とに基づいて、冷却対象関節よりも基台18側の関節20の少なくとも1つに対する冷却動作の条件を決定する。条件決定部42の決定が終了すると、制御装置14の処理はステップS6に移行する。
【0048】
ステップS6において、モータ制御部44は、動作プログラムにしたがって複数の関節20の各々のモータ22を制御することで、多関節アーム16に対して、動作プログラムに規定される複数の動作の1つを実行させる。1つの動作を実行させるモータ制御部44の制御が終了すると、制御装置14の処理はステップS7に移行する。
【0049】
ステップS7において、寿命推定部38は、ステップS6の動作に消費した実際の消費寿命を取得し、取得した消費寿命を用いて、記憶部32に記憶された残寿命の値を更新する。記憶部32に記憶された残寿命の値が更新されると、制御装置14の処理はステップS8に移行する。
【0050】
ステップS8において、モータ制御部44は、ステップS6で実行した動作の次の動作を待機する待機状態が動作プログラムで規定されているか否かを認識する。ここで、待機状態が動作プログラムで規定されていない場合、制御装置14の処理はステップS1に戻る。これに対して、待機状態が動作プログラムで規定されている場合、制御装置14の処理はステップS9に移行する。
【0051】
ステップS9において、計測部36は、ステップS6でのモータ制御部44の制御に応じた動作の終了通知をロボット12から受けた時点から、次の動作の開始命令を外部から受ける時点までの時間を計測する。また、モータ制御部44は、次の動作の開始命令を受けるまで、ステップS5で決定された冷却動作の条件にしたがって、冷却対象関節よりも基台18側の関節20の少なくとも1つのモータ22を制御することで、多関節アーム16に対して冷却動作を実行させる。外部から次の動作の開始命令を制御装置14が受けると、モータ制御部44は冷却動作を停止し、制御装置14の処理はステップS10に移行する。
【0052】
ステップS10において、寿命推定部38は、ステップS9の冷却動作に消費した実際の消費寿命を取得し、取得した消費寿命を用いて、記憶部32に記憶された残寿命の値を更新する。記憶部32に記憶された残寿命の値が更新されると、制御装置14の処理はステップS1に戻る。
【0053】
このようにして制御装置14では、動作プログラムのすべてのステップが終了するまで、または、外部から非常停止命令を受けるまで、ステップS1~S10の各処理が繰り返し行われる。
【0054】
[変形例]
上記実施形態について、以下の変形が可能である。
【0055】
(変形例1)
条件決定部42は、冷却対象関節を冷却するためのモータ22の未来残寿命が長いほどモータ22が冷却動作する際の駆動量が大きくなるように、冷却動作の条件を設定してもよい。モータ制御部44は、冷却動作の条件にしたがって、未来残寿命が長いほどモータ22の駆動量が大きくなるように、モータ22を制御する。これにより、未来残寿命が短い関節20よりも先端側の関節20を冷却しつつ、冷却に用いられた関節20の未来残寿命のばらつきを低減させることができる。この結果、複数の関節20のばらつきを低減させることができる。
【0056】
(変形例2)
条件決定部42は、冷却動作の条件として、多関節アーム16が動作許可領域以外の領域で動作しない回転角を取得してもよい。すなわち、条件決定部42は、所定の動作許可領域以外の領域で多関節アーム16が動作しない範囲で回転角を取得する。これにより、ロボット12の冷却動作時に、ロボット12の周辺の部材とロボット12とが接触することを回避することができる。
【0057】
(変形例3)
図6は、変形例3のロボット制御システム10の構成を示す図である。なお、上記の実施形態のロボット制御システム10の構成要素と同等の構成要素については同じ符号を付し、重複する説明は省略する。
【0058】
本変形例のロボット制御システム10は、複数のロボット12、複数の制御装置14および管理装置50を有する。本変形例のロボット制御システム10では、複数の制御装置14の各々に対して1つのロボット12が接続される。複数の制御装置14の各々は、動作プログラムを保持しており、当該動作プログラムにしたがって、対応するロボット12を制御する。複数の制御装置14の各々が保持する動作プログラムは、複数の制御装置14に共通していてもよく、複数の制御装置14ごとに異なっていてもよい。
【0059】
なお、複数の制御装置14の少なくとも1つに対して複数のロボット12が接続されていてもよい。複数の制御装置14の少なくとも1つに対して複数のロボット12が接続される場合、複数のロボット12が接続された制御装置14は、動作プログラムにしたがって、複数のロボット12の各々を個別に制御する。この場合、動作プログラムは、複数のロボット12に共通していてもよく、複数のロボット12ごとに異なっていてもよい。
【0060】
管理装置50は、複数のロボット12を管理するものである。この管理装置50は、ネットワーク52を介して、複数のロボット12の各々に接続される制御装置14と各種の情報を授受することで、複数のロボット12を管理する。
【0061】
管理装置50は、上記の実施形態のプログラム解析部34、計測部36、寿命推定部38、関節特定部40、条件決定部42およびモータ制御部44を有する。なお、モータ制御部44の制御にしたがってモータ22を駆動するサーボアンプは、複数のロボット12の各々に設けられる。
【0062】
変形例3では、管理装置50が、複数のロボット12ごとに多関節アーム16のなかで冷却が必要な関節20を回動させることで、複数の多関節アーム16の各々に対する関節20の寿命のばらつきを一括して低減することができる。
【0063】
なお、管理装置50は、プログラム解析部34、計測部36、寿命推定部38、関節特定部40、条件決定部42およびモータ制御部44のすべてを有していた。しかし、プログラム解析部34、計測部36、寿命推定部38、関節特定部40、条件決定部42およびモータ制御部44の一部を、複数のロボット12に接続される制御装置14の各々が有してもよい。
【0064】
また、複数のロボット12のうち、1つのロボット12が管理装置50として機能してもよい。この場合、管理装置50として機能する1つのロボット12に接続された制御装置14が、プログラム解析部34、計測部36、寿命推定部38、関節特定部40、条件決定部42およびモータ制御部44を有する。なお、モータ制御部44の制御にしたがってモータ22を駆動するサーボアンプは、複数のロボット12の各々に設けられる。
【0065】
(変形例4)
上記の変形例3では、1つのロボット12に対して1つの制御装置14が直接的に接続された。しかし、複数のロボット12に対して1つの制御装置(以下、統括用の制御装置と称する)14がネットワーク52を介して接続されていてもよい。統括用の制御装置14は、複数のロボット12の各々を個別に制御する。
【0066】
複数のロボット12の各々を制御する制御内容は、上記のように、複数のロボット12に共通したものであってもよく、複数のロボット12ごとに異なったものであってもよい。なお、統括用の制御装置14は、管理装置50に組み込まれていてもよく、当該管理装置50とは別に設けられていてもよい。ただし、モータ制御部44の制御にしたがってモータ22を駆動するサーボアンプは、複数のロボット12の各々に設けられる。
【0067】
[発明]
上記の実施形態および変形例から把握しうる発明として、以下に、第1の発明および第2の発明を記載する。
【0068】
<第1の発明>
第1の発明は、少なくとも2つ以上の関節(20)を有する多関節アーム(16)と、多関節アーム(16)を支持する基台(18)とを有するロボット(12)を制御する制御装置(14)である。制御装置(14)は、多関節アーム(16)に対する複数の動作の各々と、時間的に隣接する動作の間に次の動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部(34)と、プログラム解析部(34)の解析結果に基づいて、未実行のステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の関節(20)の各々の未来残寿命を推定する寿命推定部(38)と、複数の関節(20)の各々の未来残寿命に基づいて、基台(18)に近い側からの順位が2番目以降の1つの関節(20)を、冷却が必要な冷却対象関節として特定する関節特定部(40)と、待機状態の際に、冷却対象関節と冷却対象関節よりも基台(18)側の関節(20)との未来残寿命の差が小さくなるように、冷却対象関節よりも基台(18)側の関節(20)を回動するモータ(22)を制御するモータ制御部(44)と、を備える。
【0069】
これにより、冷却対象関節と冷却対象関節よりも基台(18)とは反対側の関節(20)とを冷却しつつ、冷却に用いられた基台(18)側の関節(20)の未来残寿命のばらつきを低減させることができる。この結果、複数の関節(20)の寿命のばらつきを低減させることができ、最も劣化が早い関節の未来残寿命を延ばすことが可能になる。
【0070】
プログラム解析部(34)は、分岐命令を有するステップでの分岐選択を履歴情報として記憶部(32)に格納し、寿命推定部(38)は、記憶部(32)に記憶された履歴情報とプログラム解析部(34)の解析結果とに基づいて、未来残寿命を推定してもよい。これにより、分岐命令での分岐選択を考慮して未来残寿命を推定することができる。
【0071】
制御装置(14)は、待機状態の直前の動作の終了通知をロボット(12)から受けた時点から、待機状態の次の動作の開始命令を外部から受ける時点までの時間を計測する計測部(36)を備え、寿命推定部(38)は、計測部(36)で計測された時間と、プログラム解析部(34)の解析結果とに基づいて、未来残寿命を推定してもよい。待機状態のときには関節(20)で発生した熱が放熱するため、待機状態の有無に応じて、関節(20)の発熱量に対して相関をもつ関節(20)の寿命が変化し易い。したがって、実際に計測された待機状態の時間に基づいて未来残寿命が推定されることで、単に、複数の動作から未来残寿命が推定される場合に比べて、推定精度を向上することができる。
【0072】
寿命推定部(38)は、1つのステップが実行される度に、未来残寿命を推定してもよい。これにより、複数のステップが実行される度に未来残寿命が推定される場合に比べて、未来残寿命を真値に近づけることができ、この結果、推定精度を向上することができる。
【0073】
関節特定部(40)は、基台(18)に近い側からの順位が2番目以降の関節(20)のなかで最も未来残寿命が短い1つを冷却対象関節として特定してもよい。これにより、最も未来残寿命が短い関節(20)を冷却することができる。
【0074】
モータ制御部(44)は、冷却対象関節を冷却するためのモータ(22)の未来残寿命が長いほどモータ(22)が冷却動作する際の駆動量が大きくなるようにモータ(22)を制御してもよい。これにより、冷却に用いられた基台(18)側の関節(20)の未来残寿命のばらつきを低減させることができる。
【0075】
<第2の発明>
第2の発明は、少なくとも2つ以上の関節(20)を有する多関節アーム(16)と、多関節アーム(16)を支持する基台(18)とを備えるロボット(12)を制御する制御装置(14)の制御方法である。制御方法は、多関節アーム(16)に対する複数の動作の各々と、時間的に隣接する動作の間に次の動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析する解析ステップ(S1)と、解析ステップ(S1)の解析結果に基づいて、未実行のステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の関節(20)の各々の未来残寿命を推定する寿命推定ステップ(S3)と、複数の関節(20)の各々の未来残寿命に基づいて、基台(18)に近い側からの順位が2番目以降の1つの関節(20)を、冷却が必要な冷却対象関節として特定する関節特定ステップ(S4)と、待機状態の際に、冷却対象関節と冷却対象関節よりも基台(18)側の関節(20)との未来残寿命の差が小さくなるように、冷却対象関節よりも基台(18)側の関節(20)を回動するモータ(22)を制御するモータ制御ステップ(S9)と、を含む。
【0076】
これにより、冷却対象関節と冷却対象関節よりも基台(18)とは反対側の関節(20)とを冷却しつつ、冷却に用いられた基台(18)側の関節(20)の未来残寿命のばらつきを低減させることができる。この結果、複数の関節(20)の寿命のばらつきを低減させることができる。
【0077】
解析ステップ(S1)は、分岐命令を有するステップでの分岐選択を履歴情報として記憶部(32)に格納し、寿命推定ステップ(S3)は、記憶部(32)に記憶された履歴情報と解析ステップ(S1)の解析結果とに基づいて、未来残寿命を推定してもよい。これにより、分岐命令での分岐選択を考慮して未来残寿命を推定することができる。したがって、単に、複数の動作から未来残寿命が推定される場合に比べて、推定精度を向上することができる。
【0078】
制御方法は、待機状態の直前の動作の終了通知をロボット(12)から受けた時点から、待機状態の次の動作の開始命令を外部から受ける時点までの時間を計測する計測ステップ(S9)を含み、寿命推定ステップ(S3)は、計測ステップ(S9)で計測された時間と、解析ステップ(S1)の解析結果とに基づいて、未来残寿命を推定してもよい。待機状態のときには関節(20)で発生した熱が放熱するため、待機状態の有無に応じて、関節(20)の発熱量に対して相関をもつ関節(20)の寿命が変化し易い。したがって、実際に計測された待機状態の時間に基づいて未来残寿命が推定されることで、単に、複数の動作から未来残寿命が推定される場合に比べて、推定精度を向上することができる。
【0079】
寿命推定ステップ(S3)は、1つのステップが実行される度に、未来残寿命を推定してもよい。これにより、複数のステップが実行される度に未来残寿命が推定される場合に比べて、未来残寿命を真値に近づけることができ、この結果、推定精度を向上することができる。
【0080】
関節特定ステップ(S4)は、基台(18)に近い側からの順位が2番目以降の関節(20)のなかで最も未来残寿命が短い1つを冷却対象関節として特定してもよい。これにより、最も未来残寿命が短い関節(20)を冷却することができる。
【0081】
モータ制御ステップ(S9)は、冷却対象関節を冷却するためのモータ(22)の未来残寿命が長いほどモータ(22)が冷却動作する際の駆動量が大きくなるようにモータ(22)を制御してもよい。これにより、冷却に用いられた基台(18)側の関節(20)の未来残寿命のばらつきを低減させることができる。
【0082】
<第3の発明>
第3の発明は、モータ(22)の駆動によって回動する関節(20)を複数備える多関節アーム(16)および多関節アーム(16)を支持する基台(18)を含む複数のロボット(12)を管理する管理装置(50)である。管理装置(50)は、複数のロボット(12)ごとに、多関節アーム(16)に対する複数の動作の各々と、時間的に隣接する動作の間に次の動作を待機する少なくとも1つの待機状態とをステップとして含むプログラムを解析するプログラム解析部(34)と、複数のロボット(12)ごとに、プログラム解析部(34)の解析結果に基づいて、未実行のステップが開始されてから所定時間を経過したとき、または、所定のステップ数を経過したときの複数の関節(20)の各々の未来残寿命を推定する寿命推定部(38)と、複数のロボット(12)ごとに、複数の関節(20)の各々の未来残寿命に基づいて、基台(18)に近い側からの順位が2番目以降の1つの関節(20)を、冷却が必要な冷却対象関節として特定する関節特定部(40)と、複数のロボット(12)ごとに、待機状態の際に、冷却対象関節と冷却対象関節よりも基台側の関節(20)との未来残寿命の差が小さくなるように、冷却対象関節よりも基台(18)側の関節(20)を回動するモータ(22)を制御するモータ制御部(44)と、を備える。
【0083】
これにより、複数のロボット(12)ごとに、冷却対象関節と冷却対象関節よりも基台(18)とは反対側の関節(20)とを冷却しつつ、冷却に用いられた基台(18)側の関節(20)の未来残寿命のばらつきを低減させることができる。この結果、複数のロボット(12)ごとに、複数の関節(20)の寿命のばらつきを低減させることができ、最も劣化が早い関節の未来残寿命を延ばすことが可能になる。
【符号の説明】
【0084】
10…ロボット制御システム 12…ロボット
14…制御装置 16…多関節アーム
18…基台 20、20A~20D…関節
22…モータ 30…プロセッサ
32…記憶部 34…プログラム解析部
36…計測部 38…寿命推定部
40…関節特定部 42…条件決定部
44…モータ制御部 50…管理装置