JP2014000649A - ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 - Google Patents
ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2014000649A JP2014000649A JP2012138399A JP2012138399A JP2014000649A JP 2014000649 A JP2014000649 A JP 2014000649A JP 2012138399 A JP2012138399 A JP 2012138399A JP 2012138399 A JP2012138399 A JP 2012138399A JP 2014000649 A JP2014000649 A JP 2014000649A
- Authority
- JP
- Japan
- Prior art keywords
- temperature
- frame
- robot arm
- driving
- estimated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39192—Compensate thermal effects, expansion of links
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49209—Compensation by using temperature feelers on slide, base, workhead
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
【課題】ロボットアーム本体の駆動再開時に正確にフレームの温度を推定して、ロボットアーム本体の先端を目標位置に正確に位置決めする。
【解決手段】フレーム温度演算部105は、ロボットアーム本体の駆動中に、フレームの熱特性、温度センサ130〜134による温度検出結果及びフレームの前回の推定温度に基づいてフレームの今回の推定温度を所定時間間隔で推定する。フレーム温度演算部105は、ロボットアーム本体の駆動を再開したときには、フレームの熱特性、ロボットアーム本体の駆動を停止していた駆動停止時間、及びロボットアーム本体の駆動を停止する直前に求めたフレームの推定温度に基づき、フレームの前回の推定温度を推定する。
【選択図】図3
【解決手段】フレーム温度演算部105は、ロボットアーム本体の駆動中に、フレームの熱特性、温度センサ130〜134による温度検出結果及びフレームの前回の推定温度に基づいてフレームの今回の推定温度を所定時間間隔で推定する。フレーム温度演算部105は、ロボットアーム本体の駆動を再開したときには、フレームの熱特性、ロボットアーム本体の駆動を停止していた駆動停止時間、及びロボットアーム本体の駆動を停止する直前に求めたフレームの推定温度に基づき、フレームの前回の推定温度を推定する。
【選択図】図3
Description
本発明は、ロボットアームを制御するロボット制御装置、ロボット制御装置を備えたロボット装置、ロボット制御方法、プログラム及び記録媒体に関する。
一般に、関節で連結された複数のフレームを有するロボットアームでは、各関節を駆動するモータがフレームの内部に配置された構成となっている。そして、各モータには、モータの過熱を防止するために、モータの温度を検出する温度センサが設けられている。
このように、モータは発熱体であるため、モータを内蔵したロボットアーム本体を駆動し続けると、モータの発熱によりフレームが熱膨張し、ロボットアーム本体の先端の位置がずれることがあった。
そこで従来、モータに設けられた温度センサの検出温度、及びフレームの前の推定温度に基づいてフレームの現在の温度を推定し、フレームの現在の推定温度及びフレームの熱膨張率に基づき、ロボットアーム本体の先端の位置ずれを計算していた。そして、ロボットアーム本体の先端の目標位置に対するずれ量を解消するように各モータの回転位置を制御していた(特許文献1参照)。
しかしながら、ロボットアーム本体の駆動を停止する(即ち、電源を切る)と、ロボットアーム本体が駆動停止している間は、ロボット制御装置におけるプログラムの実行が停止し、フレームの温度の計算は行われないのが一般的である。
したがって、従来の構成では、ロボットアーム本体が駆動停止している間は、駆動停止時間中のフレームの温度履歴が分からないため、ロボットアーム本体の駆動再開時にフレームの温度を正確に推定することはできなかった。そのため、従来、ロボットアーム本体の各フレームの温度を正確に推定するためには、各フレームの温度が雰囲気温度に収束するまでロボットアーム本体の駆動を再開するのを待つ必要があり、改良が求められていた。
そこで、本発明は、ロボットアーム本体の駆動再開時に正確にフレームの温度を推定して、ロボットアーム本体の先端を目標位置に正確に位置決めすることを目的とするものである。
本発明は、関節を有するロボットアーム本体と、前記ロボットアーム本体のフレームの内部に設けられ、前記関節を駆動するアクチュエータと、前記アクチュエータの温度を検出する温度センサと、を有するロボットアームを制御するロボット制御装置において、入力を受けた駆動指令に基づいて前記アクチュエータの駆動を制御する駆動制御部と、前記ロボットアーム本体の駆動中に、前記フレームの熱特性、前記温度センサによる温度検出結果及び前記フレームの前回の推定温度に基づいて前記フレームの今回の推定温度を所定時間間隔で推定し、前記フレームの今回の推定温度から前記ロボットアーム本体の先端の推定位置を推定し、前記ロボットアーム本体の先端の目標位置に対する推定位置のずれ量に基づいて、前記駆動指令を算出する演算部と、を備え、前記演算部は、前記ロボットアーム本体の駆動を再開したときには、前記フレームの熱特性、前記ロボットアーム本体の駆動を停止していた駆動停止時間、及び前記ロボットアーム本体の駆動を停止する直前に求めた前記フレームの推定温度に基づき、前記フレームの前回の推定温度を推定することを特徴とする。
また、本発明は、ロボットアームが、関節を有するロボットアーム本体、前記ロボットアーム本体のフレームの内部に設けられ、前記関節を駆動するアクチュエータ、及び前記アクチュエータの温度を検出する温度センサを有しており、入力を受けた駆動指令に基づいて、前記アクチュエータの駆動を制御する駆動制御部と、前記駆動制御部に前記駆動指令を出力する演算部と、を有するロボット制御装置を用いて、前記ロボットアームを制御するロボット制御方法において、前記演算部が、前記ロボットアーム本体の駆動中に、前記フレームの熱特性、前記温度センサによる温度検出結果及び前記フレームの前回の推定温度に基づいて前記フレームの今回の推定温度を所定時間間隔で推定する温度推定工程と、前記演算部が、前記フレームの今回の推定温度から前記ロボットアーム本体の先端の位置を推定し、前記ロボットアーム本体の先端の目標位置に対する推定位置のずれ量を算出するずれ量算出工程と、前記演算部が、前記ずれ量に基づいて前記駆動指令を算出する駆動指令算出工程と、前記演算部が、前記ロボットアーム本体の駆動を停止した後に前記ロボットアーム本体の駆動を再開した場合には、前記フレームの熱特性、前記ロボットアーム本体の駆動を停止していた駆動停止時間、及び前記ロボットアーム本体の駆動を停止する直前に求めた前記フレームの推定温度に基づき、前記フレームの前回の推定温度を推定する駆動再開時温度推定工程と、を備えたことを特徴とする。
本発明によれば、フレームの温度が雰囲気温度に下がり切る前にロボットアーム本体の駆動を再開しても、正確にフレームの温度を推定することができる。その結果、駆動再開時においてロボットアーム本体の先端を目標位置に正確に位置決めすることができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るロボット装置の概略構成を示す説明図である。ロボット装置100は、多関節のロボットアーム本体115を有するロボットアーム114と、ロボットアーム本体115の先端115aに設けられた、エンドエフェクタとしてのロボットハンド129と、を備えている。また、ロボット装置100は、ロボットアーム114及びロボットハンド129を制御するロボット制御装置101を備えている。
ロボットアーム114は、各関節121〜124で連結された複数のフレーム116〜120と、各関節121〜124を駆動する複数のアクチュエータとしての電動モータ(以下、「モータ」という)125〜128と、を有している。
具体的に説明すると、第2フレーム117は、第1フレーム116に対して第1関節121で回転可能(旋回可能)に連結されており、第3フレーム118は、第2フレーム117に対して第2関節122で回転可能(旋回可能)に連結されている。また、第4フレーム119は、第3フレーム118に対して第3関節123で回転可能に連結されており、第5フレーム120は、第4フレーム119に対して第4関節124で回転可能(旋回可能)に連結されている。
第1関節121を駆動する第1モータ125は、第1フレーム116の内部に配置されており、第2関節122を駆動する第2モータ126は、第2フレーム117の内部に配置されている。また、第3関節123を駆動する第3モータ127は、第3フレーム118の内部に配置されており、第4関節124を駆動する第4モータ128は、第4フレーム119の内部に配置されている。
更に、各モータ125〜128の内部には、各モータ125〜128の温度を検出するための熱電対、測温抵抗体、サーミスタ等の温度センサ131〜134がそれぞれ設置されている。
エンドエフェクタとしてのロボットハンド129は、第5フレーム120の先端に設置され、不図示のワークを把持する等、ワークに直接効果を与えるものである。なお、ロボットアーム114のロボットアーム本体115の周囲には、ロボットアーム本体115の周囲温度(雰囲気温度)を検出するための熱電対、測温抵抗体、サーミスタ等の温度センサ130が設けられている。
図2は、本発明の実施形態に係るロボット制御装置の構成を示すブロック図である。ロボット制御装置101は、演算部としてのCPU103、ROM141、RAM142、記憶部としてのHDD104、記録ディスクドライブ143及び各種のインタフェース144〜147を備えている。更に、ロボット制御装置101は、複数のモータ125〜128の駆動を制御する駆動制御部としてのモータ制御部102を有している。
CPU103には、ROM141、RAM142、HDD104、記録ディスクドライブ143及び各種のインタフェース144〜147が、バス148を介して接続されている。ROM141には、BIOS等の基本プログラムが格納されている。RAM142は、CPU103の演算処理結果を一時的に記憶する記憶装置である。
HDD104は、CPU103の演算処理結果である各種のデータ等を記憶する記憶部であると共に、CPU103に各種演算処理を実行させるためのプログラム151を記録するものである。CPU103は、HDD104に記録(格納)されたプログラム151に基づいて各種演算処理を実行する。
温度センサ130〜134は、インタフェース144に接続されており、CPU103は、インタフェース144及びバス148を介して温度センサ130〜134からの温度検出結果(温度データ)の入力を受ける。
モータ制御部102は、インタフェース147に接続されている。CPU103は、各モータ125〜128の回転角度の制御量を示すそれぞれの駆動指令のデータを所定時間間隔でバス148及びインタフェース147を介してモータ制御部102に出力する。モータ制御部102は、演算部としてのCPU103から入力を受けた各駆動指令に基づき、各モータ125〜128への電流の出力量を演算し、各モータ125〜128へ電流を供給して、ロボットアーム本体115の先端115aの位置制御を行う。各駆動指令は、各モータ125〜128へ出力する電流値を示す電流指令である。
なお、インタフェース145には、モニタ149が接続されており、モニタ149には、各種画像が表示される。インタフェース146は、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置150が接続可能に構成されている。記録ディスクドライブ143は、記録ディスク152に記録されたプログラム等を読み出すことができる。
図3は、本発明の実施形態に係るロボット制御装置の機能を示す機能ブロック図である。本実施形態では、演算部としてのCPU103は、操作者による電源オン等の起動操作により、プログラム151(図2)をHDD104から読み出して実行する。そして、CPU103は、プログラム151を実行することにより、フレーム温度演算部105、フレーム膨張演算部106、順運動学演算部107及び逆運動学演算部108として機能する。なお、CPU103は、操作者による電源オフ等の操作或いは緊急停止により、プログラム151の実行を停止する。
記憶部としてのHDD104は、互いに異なる記憶エリアを示す、データ記憶部109、温度計算式記憶部110、膨張計算式記憶部111及び軌道記憶部112を有している。なお、本実施形態では、HDD104がこれら記憶部109〜112を有しているが、記憶媒体はHDD104に限らず、電源オフとなってもデータが消去されない書き換え可能な不揮発性の記憶媒体であればいかなる記憶媒体でもよい。また、記憶媒体の数も、1つに限定するものではなく、複数であってもよい。
フレーム温度演算部105は、ロボットアーム本体115の駆動中、各温度センサ130〜134による温度検出結果及び各フレーム116〜119の前回の推定温度に基づいて各フレーム116〜119の今回の推定温度を所定時間間隔で演算により推定する。ここで、「今回の推定温度」とは、「現在の推定温度」であり、「前回の推定温度」とは、「今回の推定温度」に対して所定時間間隔前に推定したものである。このフレーム温度演算部105は、複数のフレーム116〜120のうち、発熱体であるモータ125〜128が内部に設けられたフレーム116〜119の推定温度を推定している。
データ記憶部109には、フレーム温度演算部105により算出された各フレーム116〜119の推定温度が記憶される。また、データ記憶部109には、この推定温度に対応付けられ、この推定温度の算出処理を開始した時の時刻が記憶される。また、データ記憶部109には、温度センサ130により検出され、この推定温度を求めたときに使用された周囲温度が記憶される。つまり、これら推定温度、周囲温度及び時刻がデータとしてデータ記憶部109に記憶される。
なお、データ記憶部109には、各フレーム116〜119の推定温度が算出される度に各データが上書きされるようにするのが好ましいが、順次、各データを記憶させるようにしてもよい。いずれにしても、フレーム温度演算部105は、ロボットアーム本体115の駆動中は、データ記憶部109に記憶されている各フレーム116〜119の最新の推定温度を、各フレーム116〜119の今回の推定温度を求める際の前回の推定温度として読み出す。
温度計算式記憶部110には、各フレーム116〜119の温度の推定に使用する演算式が記憶されている。つまり、フレーム温度演算部105は、温度計算式記憶部110に記憶された演算式を用いて、各フレーム116〜119の推定温度を算出する。
膨張計算式記憶部111には、各フレーム116〜119の膨張量を演算する演算式が記憶されている。フレーム膨張演算部106は、フレーム温度演算部105から各フレーム116〜119の今回の推定温度を取得し、膨張計算式記憶部111に記憶された演算式を用いて、各フレーム116〜119の膨張量を演算により推定する。
軌道記憶部112には、ロボットアーム本体115の目標軌道(即ち、ロボットアーム本体115の先端115aの目標位置)が記憶されている。
順運動学演算部107は、各フレーム116〜119の膨張量からロボットアーム本体115の先端115aの推定位置を順運動学を用いて算出し、軌道記憶部112から読み込んだ目標位置と推定位置との差分である位置のずれ量を算出する。そして、このずれ量に基づいて、モータ制御部102に出力する駆動指令を算出する。
図4は、本発明の実施形態に係るロボット制御装置のCPUの制御動作を示すフローチャートである。以下、ロボット制御装置101の動作について、図4に示すフローチャートを参照しながら詳細に説明する。
まず、フレーム温度演算部105は、ロボットアーム本体115の駆動を再開すると、データ記憶部109に記憶されている各フレーム116〜119の推定温度、周囲温度及び時刻のデータを読み出す(S1)。ここで、データ記憶部109から読み出すデータは、ロボットアーム本体115が駆動停止する直前の各フレーム116〜119の推定温度、これら推定温度を推定した時刻、及び推定温度を演算したときに用いた周囲温度である。
なお、ロボットアーム本体115の駆動を再開するとは、ロボット制御装置101のCPU103がプログラム151の実行を再開する(駆動指令の演算処理が可能となる状態になる)ことである。つまり、駆動を再開した時刻は、CPU103がプログラム151に従って演算処理を再開した時刻である。また、ロボットアーム本体115の駆動を停止するとは、CPU103がプログラム151の実行を停止することである。つまり、駆動を停止した時刻は、CPU103がプログラム151に従う演算処理を停止した時刻である。
次に、フレーム温度演算部105は、現在の時刻(即ち、ロボットアーム本体115の駆動を再開した時の時刻)と、データ記憶部109から読み出してきた時刻との差分である経過時間(駆動停止時間)を算出する(S2)。つまり、このステップS2では、フレーム温度演算部105は、読み込んだ時刻と現在時刻との差分を算出することで、各フレーム116〜119の温度の算出が停止してから再開するまでの経過時間を見積もる。
また、フレーム温度演算部105は、現在の時刻(即ち、ロボットアーム本体115の駆動を再開した時の時刻)で温度センサ130から周囲温度を読み込む。(S3)。
次に、フレーム温度演算部105は、温度計算式記憶部110から以下の式(1)〜式(4)の計算式を読み出す。そして、フレーム温度演算部105は、データ記憶部109から読み出したデータから、ロボットアーム本体115の駆動再開時における各フレーム116〜119の推定温度を、式(1)〜式(4)を用いて算出する(S4:駆動再開時温度推定工程)。
α1s=A1・α1e・exp(−Δt/B1)+(1−A1)・α1e・exp(−Δt/C1)+ΔαR ・・・(1)
α2s=A2・α2e・exp(−Δt/B2)+(1−A2)・α2e・exp(−Δt/C2)+ΔαR ・・・(2)
α3s=A3・α3e・exp(−Δt/B3)+(1−A3)・α3e・exp(−Δt/C3)+ΔαR ・・・(3)
α4s=A4・α4e・exp(−Δt/B4)+(1−A4)・α4e・exp(−Δt/C4)+ΔαR ・・・(4)
α1s=A1・α1e・exp(−Δt/B1)+(1−A1)・α1e・exp(−Δt/C1)+ΔαR ・・・(1)
α2s=A2・α2e・exp(−Δt/B2)+(1−A2)・α2e・exp(−Δt/C2)+ΔαR ・・・(2)
α3s=A3・α3e・exp(−Δt/B3)+(1−A3)・α3e・exp(−Δt/C3)+ΔαR ・・・(3)
α4s=A4・α4e・exp(−Δt/B4)+(1−A4)・α4e・exp(−Δt/C4)+ΔαR ・・・(4)
式(1)は第1フレーム116、式(2)は第2フレーム117、式(3)は第3フレーム118、式(4)は第4フレーム119のロボットアーム本体115を駆動再開した時の推定温度を算出する計算式である。
ここで、αis(i=1,2,3,4)は、ロボットアーム本体115の駆動再開時の各フレーム116〜119の推定温度であり、後の演算に用いる、各フレーム116〜119の前回の推定温度となる。
αie(i=1,2,3,4)は、ステップS1で読み出した、ロボットアーム本体115の駆動を停止する直前の各フレーム116〜119の推定温度である。Δtは、ステップS2で算出した駆動停止時間(経過時間)である。ΔαRは、ステップS1でデータ記憶部109から読み出した周囲温度に対する、ステップS3で温度センサ130から読み込んだ現在(ロボットアーム本体115の駆動再開時)の周囲温度の変化分である。
また、Ai、Bi、Ci(i=1,2,3,4)は、各フレーム116〜119から大気への放熱特性と各モータ125〜128から各フレーム116〜119への伝熱特性を示す係数である。これら係数Ai、Bi、Ciは、第1フレーム116から第4フレーム119の特性を予め測定することで決定する。
つまり、フレーム温度演算部105は、ステップS4において、各フレーム116〜119の熱特性(放熱特性及び伝熱特性)、駆動停止時間Δt、及び各フレーム116〜119の推定温度αieに基づき、各フレーム116〜119の推定温度αisを推定する。
ここで、ロボットアーム本体115の駆動再開時の第1フレーム116の温度推定方法を例に挙げて詳しく説明する。
図5は、ロボットアーム本体115の駆動を停止した時と駆動を再開した時とのモータ温度、フレーム温度及び周囲温度の温度変化を説明するための図である。なお、図5において、tは時間、teはロボットアーム本体115の駆動を停止した(電源を切った)時刻、tsはロボットアーム本体115の駆動を再開した時刻である。また、αは上昇温度、α1eはロボットアーム本体115の駆動を停止する直前の第1フレーム116の推定温度、α1sは駆動再開時の第1フレーム116の推定温度、αRは周囲温度、ΔαRは駆動停止時に対する駆動再開時の周囲温度の変化分である。
図5において、時刻0から時刻teまでロボットアーム本体115を駆動させている。この間に第1モータ125の温度は、図5に示すように温度上昇し、第1フレーム116の今回の推定温度は、後述する方法で時刻teまで、第1モータ125の検出温度及び第1フレーム116の前回の推定温度から推定する。
ロボットアーム本体115の駆動を停止した時刻teからロボットアーム本体115の駆動を再開した時刻tsまでの駆動停止時間Δtの間は、第1モータ125の検出温度の取得や第1フレーム116の推定温度の算出は行われない。ロボットアーム本体115の駆動を再開した時刻tsにおける第1フレーム116の温度α1sは、時刻teから時刻tsまでの第1モータ125の温度履歴と、周囲温度の変化分ΔαRで決まるものである。そのため、ロボットアーム本体115の駆動を再開した時の第1モータ125の温度α1Mでは第1フレーム116の温度α1sを推定することはできない。
そこで、本実施形態では、フレーム温度演算部105は、上述した式(1)に、第1フレーム116の推定温度α1eと、駆動停止時間Δtと、周囲温度の変化分ΔαRとの値を代入することで、第1フレーム116の推定温度α1sを推定する。このように推定した第1フレーム116の推定温度α1sは、後のステップS6の計算処理において、第1フレーム116の前回の推定温度として用いる。
次に、フレーム温度演算部105は、前回、各フレーム116〜119の推定温度を演算した時刻から所定時間間隔後に、温度センサ130〜134から、モータ125〜128の温度と、ロボットアーム本体115の周囲温度とを読み込む(S5)。ここで、前回、各フレーム116〜119の推定温度を演算した時刻には、駆動開始時に各フレーム116〜119の推定温度を演算した時刻αisも含んでいる。
そして、フレーム温度演算部105は、温度計算式記憶部110から読み出した計算式を用いて、各フレーム116〜119の今回(現在)の推定温度を推定する演算処理を実行する(S6:温度推定工程)。算出した各フレーム116〜119の今回の推定温度は、フレーム膨張演算部106に出力する。
ここで、ステップS6において、フレーム温度演算部105により温度計算式記憶部110から読み出される計算式は、例えば以下のように記述される。
α’1=α1+dt(D1・αM1−E1・α1+F1・αR) ・・・(5)
α’2=α2+dt(D2・αM2−E2・α2+F2・αR) ・・・(6)
α’3=α3+dt(D3・αM3−E3・α3+F3・αR) ・・・(7)
α’4=α4+dt(D4・αM4−E4・α4+F4・αR) ・・・(8)
α’1=α1+dt(D1・αM1−E1・α1+F1・αR) ・・・(5)
α’2=α2+dt(D2・αM2−E2・α2+F2・αR) ・・・(6)
α’3=α3+dt(D3・αM3−E3・α3+F3・αR) ・・・(7)
α’4=α4+dt(D4・αM4−E4・α4+F4・αR) ・・・(8)
式(5)は第1フレーム116、式(6)は第2フレーム117、式(7)は第3フレーム118、式(8)は第4フレーム119の今回の推定温度を算出する計算式である。
ここで、式(5)乃至式(8)は以下のように導き出した。まず、各フレーム116〜119に伝熱される熱量をQin(J)、各フレーム116〜119から周囲への放熱量をQout(J)とすると、以下の式(9)及び式(10)となる。
Qin=k・S/x(αM−α)dt ・・・(9)
Qout=hS’(α−αR)dt ・・・(10)
Qin=k・S/x(αM−α)dt ・・・(9)
Qout=hS’(α−αR)dt ・・・(10)
ここで、kは各モータ125〜128から各フレーム116〜119への熱の伝わり易さを示す熱伝導率(W/mK)、Sは熱の伝わる断面積(m2)、xは熱の伝わる距離(m)である。αMはモータ温度の基準値からの温度変化量(℃)、αはフレーム温度の基準値からの温度変化量(℃)、hは各フレーム116〜119から周囲への放熱のし易さを示す熱伝達率(W/m2K)である。S’は各フレーム116〜119から周囲へ放熱する表面積(m2)である。dtは計算間隔(所定時間間隔)である。
更に、各フレーム116〜119の温度上昇は、QinとQoutの差によるものであるため、以下の式(11)で示すことができる。
Qin−Qout=cρV(α’−α) ・・・(11)
Qin−Qout=cρV(α’−α) ・・・(11)
ここで、cは各フレーム116〜119の比熱(J/kgK)、ρは各フレーム116〜119の密度(kg/m3)、Vは各フレーム116〜119の体積(m3)である。αは各フレーム116〜119の前回の推定温度(℃)、α’は各フレーム116〜119の今回の推定温度(℃)である。
次に式(9)、式(10)、式(11)を次式(12)のように整理した。
K1(αM−α)dt−K2(α−αR)dt=K3(α’−α) ・・・(12)
K1(αM−α)dt−K2(α−αR)dt=K3(α’−α) ・・・(12)
K1はk・S/x、K2はhS’、K3はcρVとした。
更に式(12)を整理すると、次式(13)で表すことができる。
α’=α+dt(D・αM−E・α+F・αR) ・・・(13)
α’=α+dt(D・αM−E・α+F・αR) ・・・(13)
DはK1/K3、Eは(K1+K2)/K3、FはK2/K3とした。式(13)は各フレーム116〜119に有るため、式(5)乃至式(8)の4つの式を用意した。Di、Ei、Fi(i=1,2,3,4)は、各フレーム116〜119において温度特性を予め測定することで決定する係数である。
つまり、フレーム温度演算部105は、ステップS6において、各フレーム116〜119の熱特性、温度センサ130〜134による温度検出結果及び各フレームの前回の推定温度αiに基づいて、各フレームの今回の推定温度α’iを推定する。
次に、第1フレーム116の温度算出方法を例に挙げて詳しく説明する。図6は、ロボットアーム本体115の駆動中におけるモータ温度、フレーム温度及び周囲温度の温度変化を説明するための図である。図6において、α1は現在の時刻tnに対して所定時間間隔dt前の時刻tn−1に算出した第1フレーム116の前回の推定温度である。α’1は時刻tnにおいて算出した第1フレーム116の今回の推定温度である。αM1は第1モータ125の温度、αRは周囲温度である。
第1フレーム116の推定温度α’1は、前回算出した第1フレーム116の推定温度α1と、現在の第1モータ温度αM1及び周囲温度αRを用いて、式(5)により算出される。計算間隔(所定時間間隔)dtは、例えば1秒である。
この計算を所定時間間隔dtで繰り返すことにより、モータ温度の履歴、フレーム温度の履歴及び周囲温度の履歴を、式(5)〜式(8)に示すように、積分することになる。したがって、ロボットアーム本体115の駆動中に動作が変わり、モータ125〜128の発熱量が変わった場合や周囲温度が変動した場合でも、精度良くフレーム116〜119の温度を推定することができる。
なお、ロボットアーム本体115の駆動再開時は、このステップS6において各フレーム116〜119の今回の推定温度を求める際に用いる前回の推定温度を、ステップS1〜S4の処理によって求めている。
次に、フレーム温度演算部105は、推定した各フレーム116〜119の推定温度と、推定温度を推定した時刻と、推定温度を算出するのに用いた周囲温度とをデータ記憶部109へ送信し、これらデータをデータ記憶部109に記憶させる(S7)。
また、フレーム温度演算部105は、推定した各フレーム116〜119の今回の推定温度のデータを、フレーム膨張演算部106へ送る。
フレーム膨張演算部106は、膨張計算式記憶部111から以下の式(14)〜式(17)の計算式を読み出し、各フレーム116〜119の今回の推定温度から、式(14)〜式(17)の計算式を用いて各フレーム116〜119の膨張量を算出する(S8)。
ΔL1=α’1×δ1×L1 ・・・(14)
ΔL2=α’2×δ2×L2 ・・・(15)
ΔL3=α’3×δ3×L3 ・・・(16)
ΔL4=α’4×δ4×L4 ・・・(17)
ΔL1=α’1×δ1×L1 ・・・(14)
ΔL2=α’2×δ2×L2 ・・・(15)
ΔL3=α’3×δ3×L3 ・・・(16)
ΔL4=α’4×δ4×L4 ・・・(17)
式(14)は第1フレームの膨張量を算出する計算式であり、式(15)は第2フレーム、式(16)は第3フレーム、式(17)は第4フレームの計算式を示す。つまり、これら計算式には、フレーム116〜119の膨張率の情報と長さの情報が含まれている。
ここで、δi(i=1,2,3,4)は、各フレーム材料の膨張係数であり、例えば一般的なアルミニウムの場合、24×10−6/℃である。ここで用いる膨張係数δiは、フレーム116〜119の材質が複数で構成される場合はその平均値を用いても良い。
また、Li(i=1,2,3,4)は、各フレーム116〜119の長さであり、例えば軸間距離を示す。フレーム116〜119の長さLiは、熱による膨張量ΔLiを算出するための長さであるため、熱膨張に寄与しない部分があればその長さを除いても良い。
フレーム膨張演算部106は、演算した各フレーム116〜119の膨張量を、順運動学演算部107に送る。
順運動学演算部107は、順運動学の計算により、各フレーム116〜119の熱による膨張量のデータを用いて、ロボットアーム本体115の先端115aの推定位置を算出する。そして、順運動学演算部107は、軌道記憶部112からロボットアーム本体115の先端115aの目標位置を読み込み、読み込んだ目標位置に対する推定位置のずれ量を算出する(S9:ずれ量算出工程)。順運動学演算部107は、算出したずれ量のデータを逆運動学演算部108に送る。
次に、逆運動学演算部108は、ロボットアーム本体115の先端115aの位置のずれ量から逆運動学計算により各関節121〜124の回転角度の補正量を算出し(S10)、補正量を加味した制御量となる駆動指令を算出する(S11)。つまり、逆運動学演算部108は、これらステップS10,S11により、先端115aのずれ量に基づいて駆動指令を算出する(駆動指令算出工程)。逆運動学演算部108(つまり、CPU103)は、モータ制御部102に算出した駆動指令を出力する。モータ制御部102は、駆動指令の入力を受けて各モータ125〜128に電流を供給し、各モータ125〜128は、駆動指令に応じた制御量で各関節121〜124を駆動する。
CPU103は、補正制御がONかどうかをチェックし(S12)、ONであれば(S12:Yes)、ステップS5の演算処理に戻り、制御を繰り返す。補正制御がOFFであれば(S12:No)、補正制御を停止する。ここで、補正制御OFFの状態というのは、ロボットアーム本体115の駆動停止の状態であり、緊急停止をした場合や、ロボット装置100の電源をOFFにした場合などである。
そして、CPU103は、ロボットアーム本体115の駆動を再開した場合、ステップS1から処理を実行し、上述したように、駆動再開時の各フレーム116〜119の推定温度を、データ記憶部109に記録されている駆動停止前のデータを用いて推定する。
以上、本実施形態によれば、ロボットアーム本体115の駆動停止後、フレーム116〜119の温度が雰囲気温度に下がり切る前にロボットアーム本体115の駆動を再開しても、正確にフレーム116〜119の温度を推定することができる。その結果、駆動再開時においてロボットアーム本体115の先端115aを目標位置に正確に位置決めすることができる。
また、ロボットアーム本体115の周囲温度をもフレーム116〜119の温度推定計算に用いるため、周囲温度の変化によるフレーム116〜119の熱膨張の変化があっても、先端115aの位置ずれの補正を精度良く行うことができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
上記実施形態では、ロボットアーム114が、垂直多関節ロボットである場合について説明したが、水平多関節ロボット、パラレルリンクロボットなどであってもよい。
また、上記実施形態では、周囲温度(雰囲気温度)が変化する場合について説明したが、これに限定するものではない。ロボットアーム114の置かれている環境が一定の温度環境であれば、各フレーム116〜119の温度推定の演算の際に、周囲温度の変化分を加味しなくてもよい。即ち、式(1)〜式(4)の演算式において、+ΔαRを省略すればよい。
また、上記実施形態では、アクチュエータが電動モータである場合について説明したが、アクチュエータはこれに限定するものではない。例えば関節が直動関節の場合には、アクチュエータとして、電動モータの代わりに電動リニアアクチュエータを用いることも可能であり、この場合でも本発明は適用可能である。特に、アクチュエータとして、電動アクチュエータを用いた場合には、通電による発熱量が多いため、本発明により効果的にロボットアーム本体の先端を目標位置に位置決めすることができる。
また、上記実施形態では、ロボットアーム本体の関節数が4つの場合について説明したが、これに限定するものではなく、ロボットアーム本体の関節数が1つ以上あればよい。
また、以上述べた実施形態の各処理動作は具体的にはロボット制御装置101の演算部としてのCPU103により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体をロボット制御装置101に供給し、ロボット制御装置101のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD104であり、HDD104にプログラム151が格納される場合について説明したが、これに限定するものではない。プログラム151は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図2に示すROM141、外部記憶装置150、記録ディスク152等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
100…ロボット装置、101…ロボット制御装置、102…モータ制御部(駆動制御部)、103…CPU(演算部)、104…HDD(記憶部)、114…ロボットアーム、115…ロボットアーム本体、115a…先端、116〜119…フレーム、121〜124…関節、125〜128…電動モータ(アクチュエータ)、130…温度センサ、131〜134…温度センサ
Claims (7)
- 関節を有するロボットアーム本体と、前記ロボットアーム本体のフレームの内部に設けられ、前記関節を駆動するアクチュエータと、前記アクチュエータの温度を検出する温度センサと、を有するロボットアームを制御するロボット制御装置において、
入力を受けた駆動指令に基づいて前記アクチュエータの駆動を制御する駆動制御部と、
前記ロボットアーム本体の駆動中に、前記フレームの熱特性、前記温度センサによる温度検出結果及び前記フレームの前回の推定温度に基づいて前記フレームの今回の推定温度を所定時間間隔で推定し、前記フレームの今回の推定温度から前記ロボットアーム本体の先端の推定位置を推定し、前記ロボットアーム本体の先端の目標位置に対する推定位置のずれ量に基づいて、前記駆動指令を算出する演算部と、を備え、
前記演算部は、前記ロボットアーム本体の駆動を再開したときには、前記フレームの熱特性、前記ロボットアーム本体の駆動を停止していた駆動停止時間、及び前記ロボットアーム本体の駆動を停止する直前に求めた前記フレームの推定温度に基づき、前記フレームの前回の推定温度を推定することを特徴とするロボット制御装置。 - 前記演算部は、前記ロボットアーム本体の駆動を再開したときに求めた前記フレームの前回の推定温度を、前記駆動停止時間の経過により変化した前記ロボットアーム本体の周囲温度の変化分で補正することを特徴とする請求項1に記載のロボット制御装置。
- 前記演算部が推定した前記フレームの推定温度を、推定した時刻と対応付けて記憶する記憶部を備え、
前記演算部は、前記駆動停止時間として、前記記憶部に記憶されている前記ロボットアーム本体の駆動を停止する直前の前記フレームの推定温度に対応付けられた時刻と、前記ロボットアーム本体の駆動を再開した時刻との差分を演算することを特徴とする請求項1又は2に記載のロボット制御装置。 - 関節を有するロボットアーム本体、前記ロボットアーム本体のフレームの内部に設けられ、前記関節を駆動するアクチュエータ、及び前記アクチュエータの温度を検出する温度センサを有するロボットアームと、
請求項1乃至3のいずれか1項に記載のロボット制御装置と、を備えたロボット装置。 - ロボットアームが、関節を有するロボットアーム本体、前記ロボットアーム本体のフレームの内部に設けられ、前記関節を駆動するアクチュエータ、及び前記アクチュエータの温度を検出する温度センサを有しており、入力を受けた駆動指令に基づいて、前記アクチュエータの駆動を制御する駆動制御部と、前記駆動制御部に前記駆動指令を出力する演算部と、を有するロボット制御装置を用いて、前記ロボットアームを制御するロボット制御方法において、
前記演算部が、前記ロボットアーム本体の駆動中に、前記フレームの熱特性、前記温度センサによる温度検出結果及び前記フレームの前回の推定温度に基づいて前記フレームの今回の推定温度を所定時間間隔で推定する温度推定工程と、
前記演算部が、前記フレームの今回の推定温度から前記ロボットアーム本体の先端の位置を推定し、前記ロボットアーム本体の先端の目標位置に対する推定位置のずれ量を算出するずれ量算出工程と、
前記演算部が、前記ずれ量に基づいて前記駆動指令を算出する駆動指令算出工程と、
前記演算部が、前記ロボットアーム本体の駆動を停止した後に前記ロボットアーム本体の駆動を再開した場合には、前記フレームの熱特性、前記ロボットアーム本体の駆動を停止していた駆動停止時間、及び前記ロボットアーム本体の駆動を停止する直前に求めた前記フレームの推定温度に基づき、前記フレームの前回の推定温度を推定する駆動再開時温度推定工程と、を備えたことを特徴とするロボット制御方法。 - コンピュータに請求項5に記載のロボット制御方法の各工程を実行させるためのプログラム。
- 請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138399A JP2014000649A (ja) | 2012-06-20 | 2012-06-20 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
US13/914,372 US20130345871A1 (en) | 2012-06-20 | 2013-06-10 | Robot controlling device, robot device, robot controlling method, program for carrying out the robot controlling method and recording medium in which the program has been recorded |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138399A JP2014000649A (ja) | 2012-06-20 | 2012-06-20 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014000649A true JP2014000649A (ja) | 2014-01-09 |
Family
ID=49775081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012138399A Pending JP2014000649A (ja) | 2012-06-20 | 2012-06-20 | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130345871A1 (ja) |
JP (1) | JP2014000649A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015141583A (ja) * | 2014-01-29 | 2015-08-03 | 株式会社デンソーウェーブ | ロボット装置の位置決め精度補正方法 |
JP2015188972A (ja) * | 2014-03-28 | 2015-11-02 | キヤノン株式会社 | ロボット装置及びロボット装置の制御方法 |
JP2018103310A (ja) * | 2016-12-26 | 2018-07-05 | 株式会社デンソーウェーブ | マニプレータの動作判定装置 |
JP2018103311A (ja) * | 2016-12-26 | 2018-07-05 | 株式会社デンソーウェーブ | マニプレータの動作判定装置 |
JP2018103274A (ja) * | 2016-12-22 | 2018-07-05 | オークマ株式会社 | 工作機械の温度推定方法及び熱変位補正方法 |
JP6528913B1 (ja) * | 2018-02-26 | 2019-06-12 | 三菱電機株式会社 | 補正関数生成装置、ロボット制御システム及びロボットシステム |
JP2020102550A (ja) * | 2018-12-21 | 2020-07-02 | キヤノン株式会社 | 搬送装置、基板処理装置、および物品製造方法 |
JP2020116664A (ja) * | 2019-01-22 | 2020-08-06 | ファナック株式会社 | ロボット装置及び熱変位量推定装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9915965B2 (en) * | 2015-03-16 | 2018-03-13 | The Florida International University Board Of Trustees | Flexible, secure energy management system |
US11011397B2 (en) * | 2018-12-20 | 2021-05-18 | Axcelis Technologies, Inc. | Wafer soak temperature readback and control via thermocouple embedded end effector for semiconductor processing equipment |
US10928827B2 (en) * | 2019-01-07 | 2021-02-23 | Toyota Research Institute, Inc. | Systems and methods for generating a path for a vehicle |
-
2012
- 2012-06-20 JP JP2012138399A patent/JP2014000649A/ja active Pending
-
2013
- 2013-06-10 US US13/914,372 patent/US20130345871A1/en not_active Abandoned
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015141583A (ja) * | 2014-01-29 | 2015-08-03 | 株式会社デンソーウェーブ | ロボット装置の位置決め精度補正方法 |
JP2015188972A (ja) * | 2014-03-28 | 2015-11-02 | キヤノン株式会社 | ロボット装置及びロボット装置の制御方法 |
JP2018103274A (ja) * | 2016-12-22 | 2018-07-05 | オークマ株式会社 | 工作機械の温度推定方法及び熱変位補正方法 |
JP2018103310A (ja) * | 2016-12-26 | 2018-07-05 | 株式会社デンソーウェーブ | マニプレータの動作判定装置 |
JP2018103311A (ja) * | 2016-12-26 | 2018-07-05 | 株式会社デンソーウェーブ | マニプレータの動作判定装置 |
JP6528913B1 (ja) * | 2018-02-26 | 2019-06-12 | 三菱電機株式会社 | 補正関数生成装置、ロボット制御システム及びロボットシステム |
WO2019163116A1 (ja) * | 2018-02-26 | 2019-08-29 | 三菱電機株式会社 | 補正関数生成装置、ロボット制御システム及びロボットシステム |
JP2020102550A (ja) * | 2018-12-21 | 2020-07-02 | キヤノン株式会社 | 搬送装置、基板処理装置、および物品製造方法 |
JP2020116664A (ja) * | 2019-01-22 | 2020-08-06 | ファナック株式会社 | ロボット装置及び熱変位量推定装置 |
Also Published As
Publication number | Publication date |
---|---|
US20130345871A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014000649A (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
JP6541301B2 (ja) | ロボット装置、ロボット装置の制御方法、ロボット制御プログラム、及び記録媒体 | |
JP4650062B2 (ja) | ロボット制御装置およびロボットの位置決め精度補正方法 | |
US10239206B2 (en) | Robot controlling method, robot apparatus, program and recording medium | |
JP5238885B2 (ja) | ロボット制御装置 | |
JP2019532858A5 (ja) | ||
JP2009066696A (ja) | パワーアシスト装置およびその制御方法 | |
JP2016002634A (ja) | 工作機械の熱変位補正装置 | |
CN101384879A (zh) | 铰接探针头部装置和方法 | |
WO2021246524A1 (ja) | 射出成形機の制御装置及びプログラム | |
JP7400211B2 (ja) | ロボットシステム、制御装置およびロボットの制御方法 | |
WO2019227315A1 (zh) | 云台和电机控制方法、装置 | |
JP2015066669A (ja) | ロボット装置及びロボット制御方法 | |
JP2007112188A (ja) | 電動パワーステアリング装置 | |
JP2015150676A (ja) | ロボット装置、ロボット制御方法及びプログラム、並びに記録媒体 | |
JP6897104B2 (ja) | 熱電対による温度測定装置 | |
JP2009014136A (ja) | 磁気軸受装置 | |
JP2009297829A (ja) | 制御装置 | |
US7158114B2 (en) | Force-feedback input device | |
JPH1115511A (ja) | ロボットの衝突検知方式 | |
JP6805812B2 (ja) | マニプレータの動作判定装置 | |
JP2009254104A (ja) | 受配電設備用導体監視装置 | |
JP2014124740A (ja) | ロボット | |
JP2005218226A (ja) | モータ制御方法および装置 | |
JP2006334699A (ja) | ボールねじ熱変位の補正方法 |