JP6396718B2 - トルク算出装置 - Google Patents

トルク算出装置 Download PDF

Info

Publication number
JP6396718B2
JP6396718B2 JP2014168636A JP2014168636A JP6396718B2 JP 6396718 B2 JP6396718 B2 JP 6396718B2 JP 2014168636 A JP2014168636 A JP 2014168636A JP 2014168636 A JP2014168636 A JP 2014168636A JP 6396718 B2 JP6396718 B2 JP 6396718B2
Authority
JP
Japan
Prior art keywords
torque
motor
time
external force
objective function
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.)
Active
Application number
JP2014168636A
Other languages
English (en)
Other versions
JP2016045643A (ja
Inventor
洋人 坂原
洋人 坂原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daihen Corp
Original Assignee
Daihen Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daihen Corp filed Critical Daihen Corp
Priority to JP2014168636A priority Critical patent/JP6396718B2/ja
Publication of JP2016045643A publication Critical patent/JP2016045643A/ja
Application granted granted Critical
Publication of JP6396718B2 publication Critical patent/JP6396718B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)

Description

本発明は、モータの動作に関する目的関数を最適化するようにトルクを算出するトルク算出装置に関する。
一般的なサーボモータのコントローラは、まず位置や速度、トルクの時系列の指令値を算出し、次に各時刻の指令値と応答値と比較することによって、各時刻に必要なトルクを算出し、モータを動作させていた。
なお、そのような制御において、外力などに起因する想定外の状態変化が発生することがある。そのような外力の影響を考慮した従来技術として、例えば、外力を検知し、要因を切り分けることで、制御系において、直接制御量の操作量が外力に影響されないようにすることが行われている(例えば、特許文献1参照)。
特開2012−108914号公報
上述のようなサーボモータのコントローラでは、外力などに起因する想定外の状態変化が発生した場合に、その変化を適切に利用するのではなく、かえってその変化をなくすための制御が行われていた。例えば、図6で示されるように、外力によって状態が変化した場合には、図中の矢印で示されるように、現在の応答値を現在の指令値に近づける制御が行われることになる。すなわち、応答値が目標値に達していても、現在の指令値が目標値に達していない場合には、モータが一旦、現在の指令値の位置に戻り、再び指令値に応じて最終目標値へ向かうように制御が行われることになる。その結果として、余分なエネルギーが必要になる可能性があり、その余分なエネルギーによって発熱の問題が起こったり、コスト増大が引き起こされたりすることになる。また、上記特許文献1に記載された制御方法においても、外力の影響を低減することが行われており、外力を利用することは行われていなかった。
本発明は、上記課題を解決するためになされたものであり、外力等によって想定外の状態変化が起こった場合であっても、その変化後の状態から最終目標に向かう適切なトルク指令値を求めることができるトルク算出装置を提供することを目的とする。
上記目的を達成するため、本発明によるトルク算出装置は、モータの動作に関する関数であり、モータのトルクを含む関数である目的関数、及び目的関数に関する条件であり、モータの速度、モータによって移動される移動対象の速度、移動対象の移動時間、モータの移動量、移動対象の移動量、及びトルクの少なくともいずれかに関する条件である制約条件が記憶される記憶部と、モータに関する現在のフィードバック値を用いて、制約条件を満たすように、目的関数を最適化する最適解であるトルクを算出し、算出したトルクに応じて、モータのトルクをフィードバック制御する制御部にトルク指令値を出力する算出部と、を備えたものである。
このような構成により、例えば、外力によって現在のフィードバック値に想定外の変化が起こった場合であっても、その変化後の現在のフィードバック値から目標に向かうようにトルク指令値を求めることができる。その結果、外力等による状態変化を適切に利用しうることになる。また、例えば、不必要な動作を行わないようにできた場合には、モータの消費エネルギーを削減できることになる。また、目的関数に応じた量、例えば、モータによって消費されるエネルギーや、モータによって移動される移動対象の移動時間等を低減させる制御が可能となる。
また、本発明によるトルク算出装置では、目的関数は、外力をも含む関数であり、モータに作用する外力に関する情報である外力情報が記憶される外力記憶部をさらに備え、算出部は、外力情報をも用いてトルクを算出してもよい。
このような構成により、目的関数においてあらかじめ外力を考慮することによって、より精度の高い制御が可能となる。
また、本発明によるトルク算出装置では、目的関数は、モータによって移動される移動対象の移動時間を示す関数であってもよい。
このような構成により、移動対象の移動時間を低減させるようにモータを制御できるようになる。
また、本発明によるトルク算出装置では、目的関数は、モータによって消費されるエネルギーに関する関数であってもよい。
このような構成により、モータによって消費されるエネルギーを低減させるようにモータを制御できるようになる。
また、本発明によるトルク算出装置では、モータは、溶接ワイヤを送給するモータであってもよい。
このような構成により、ワイヤ送給装置のモータによって消費されるエネルギーを低減させることができる。
また、本発明によるトルク算出装置では、モータは、ロボットの関節を動作させるモータであってもよい。
このような構成により、例えば、ロボットのモータによって消費されるエネルギーを低減させることができる。
本発明によるトルク算出装置によれば、現在のフィードバック値に想定外の変化が起こった場合であっても、その変化後の現在のフィードバック値から目標に向かうようにトルク指令値を求めることができ、外力等による変化を適切に利用しうることになる。また、目的関数に応じた量、例えば、モータによって消費されるエネルギーや、モータによって移動される移動対象の移動時間等を低減させることができる。
本発明の実施の形態によるトルク算出装置の構成を示すブロック図 同実施の形態における指令値の算出について説明するための図 同実施の形態によるトルク算出装置の動作を示すフローチャート 同実施の形態におけるトルク等の時間変化の一例を示す図 同実施の形態におけるトルク等の変更について説明するための図 従来の制御方法による指令値と応答値との一例を示す図
以下、本発明によるトルク算出装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態によるトルク算出装置は、モータの動作に関する目的関数を最適化するようにトルクを算出するものである。
図1は、本実施の形態によるトルク算出装置1の構成を示すブロック図である。本実施の形態によるトルク算出装置1は、記憶部11と、外力記憶部12と、算出部13と、制御部14とを備える。なお、図1では、トルク算出装置1の制御対象となる装置が、溶接ワイヤを送給するワイヤ送給装置2である場合について示しているが、そうでなくてもよい。トルク算出装置1の制御対象となる装置は、例えば、モータにより駆動される関節によって連結された複数のアームを有するロボットであってもよく、その他のサーボモータを有する装置等であってもよい。そのロボットは、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、そのロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。
記憶部11では、目的関数と、その目的関数に関する条件である制約条件とが記憶される。目的関数は、モータの動作に関する関数である。すなわち、目的関数は、例えば、モータによって消費されるエネルギーに関する関数であってもよく、モータによって移動される移動対象の移動時間を示す関数であってもよく、モータの動作に関するその他の関数であってもよい。モータによって消費されるエネルギーに関する関数とは、例えば、エネルギーそのものを示す関数であってもよく、エネルギーに応じた値、例えば、エネルギーの自乗やエネルギーの1/2乗、エネルギーに比例した値、実効トルク、エネルギーと正の相関を有する値などを示す関数であってもよい。ここで、エネルギーを示す関数とは、関数の値によってエネルギーの値が示されることを意味している。また、その目的関数は、モータのトルクを含む関数である。すなわち、その目的関数は、モータのトルクを引数(変数)として含む関数である。また、その目的関数は、トルク以外の引数、例えば、モータの動作に関するタイミングを示す時刻や期間を含んでいてもよい。また、その目的関数は、外力をも含む関数であってもよい。外力を含むとは、外力の大きさを含むことであると考えてもよい。その外力は、例えば、制御対象のモータに作用する、外力に応じたトルクであってもよい。本実施の形態では、目的関数が外力をも含む関数である場合について主に説明する。そのモータは、例えば、ワイヤ送給装置2において溶接ワイヤを送給するモータであってもよく、ロボットにおいて関節を動作させるモータであってもよく、その他の装置で用いられるモータであってもよい。本実施の形態では、そのモータがワイヤ送給装置2において溶接ワイヤを送給するモータである場合について主に説明する。その溶接ワイヤを送給するモータは、例えば、溶接ワイヤの前進(インチング)及び後退(リトラクト)を繰り返して実行させるためのものであってもよい。また、移動対象の移動時間とは、移動対象が第1の位置から第2の位置に移動するのにかかる時間(期間)のことである。その移動時間は、その移動対象を移動させるために動作するモータの駆動時間と等しいため、モータの移動時間(駆動時間)であると考えてもよい。また、記憶部11では、2以上の目的関数が記憶されていてもよい。例えば、モータの動作が複数の期間に分けられ、現在の時点が含まれる期間ごとに目的関数が異なる場合に、現在の時点が含まれる期間に応じた複数の目的関数が記憶されていてもよい。具体的には、モータの動作が加速期間、等速期間、減速期間の3つに分けられる場合に、現在の時点が加速期間に含まれるときの目的関数と、現在の時点が等速期間に含まれるときの目的関数と、現在の時点が減速期間に含まれるときの目的関数とが記憶されていてもよい。
制約条件は、モータの速度、モータによって移動される移動対象の速度、その移動対象の移動時間、モータの移動量、その移動対象の移動量、及びトルクの少なくともいずれかに関する条件である。また、制約条件には、それ以外の条件が含まれていてもよい。モータの移動量とは、モータの回転量であると考えてもよい。その条件は、例えば、モータの速度等の値を特定の値に決める条件(例えば、時刻tのモータの速度はvであるという条件など)であってもよく、モータの速度等の値の範囲を制限する条件(例えば、モータの速度はv以下であるという条件など)であってもよい。なお、制約条件が、モータのトルクに関する条件を含む場合に、そのトルクに関する条件は、加速度に関する条件であると考えてもよい。トルクと加速度とは慣性モーメントを介して関係づけられるからである。また、複数の目的関数が存在する場合に、制約条件は、すべての目的関数に対して同じであってもよく、または、目的関数ごとに異なっていてもよい。
記憶部11に目的関数等が記憶される過程は問わない。例えば、記録媒体を介して目的関数等が記憶部11で記憶されるようになってもよく、通信回線等を介して送信された目的関数等が記憶部11で記憶されるようになってもよく、または、入力デバイスを介して入力された目的関数等が記憶部11で記憶されるようになってもよい。記憶部11での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
外力記憶部12では、モータに作用する外力に関する情報である外力情報が記憶される。その外力情報によって示される外力は、例えば、ワイヤ送給装置2やロボット等において外乱オブザーバによって求めた外力であってもよく、計算によって算出された外力であってもよく、ワイヤ送給装置2等においてセンサ等によって測定した外力であってもよい。例えば、制御対象のモータが溶接ワイヤを送給する場合には、その外力は、例えば、溶接ワイヤの摩擦に関する外力や、溶接ワイヤをワイヤリールから引き出す摩擦に関する外力、アーク発生時に溶接ワイヤをインチング方向に吸い寄せる外力などであってもよい。また、例えば、制御対象のモータが産業用ロボットの関節を動作させる場合には、その外力は、例えば、関節の摩擦に関する外力や、搬送対象やアームにかかる重力に関する外力などであってもよい。また、加速期間、等速期間などのように複数の期間が存在する場合には、外力情報は、その期間ごとに設定されていてもよい。また、外力情報が示す外力は、時系列に沿って一定の値であってもよく、または、そうでなくてもよい。後者の場合には、例えば、外力は時間に依存して変化してもよく、または、モータの速度等に応じて変化してもよい。
外力記憶部12に外力情報が記憶される過程は問わない。例えば、記録媒体を介して外力情報が外力記憶部12で記憶されるようになってもよく、通信回線等を介して送信された外力情報が外力記憶部12で記憶されるようになってもよく、または、入力デバイスを介して入力された外力情報が外力記憶部12で記憶されるようになってもよい。また、外力記憶部12で記憶されている外力情報は、外力の変化に応じて更新されることが好適である。例えば、ワイヤ送給装置2の溶接ワイヤの種類やコンジットケーブルの種類が変わった場合には、溶接ワイヤに作用する摩擦力が変化しうる。したがって、そのような場合には、その変化後の外力を示すものとなるように外力情報が更新されることが好適である。外力記憶部12での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。外力記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
算出部13は、モータに関する現在のフィードバック値を用いて、制約条件を満たすように、目的関数を最適化する最適解であるトルクを算出する。そして、算出部13は、算出したトルクに応じてトルク指令値を制御部14に出力する。なお、目的関数が外力も含むものである場合には、算出部13は、外力記憶部12で記憶されている外力情報をも用いてトルクを算出してもよい。外力情報をも用いるとは、その外力情報によって示される外力の値を、目的関数に代入して最適解であるトルクを算出することである。また、モータに関する現在のフィードバック値は、例えば、モータの現在位置、モータの現在速度、モータの現在電流(現在トルク)のいずれかであってもよく、または、それらの任意の2以上の組み合わせであってもよい。モータの現在位置は、例えば、エンコーダによって取得されたものであってもよい。また、モータの現在速度は、例えば、その現在位置を時間微分したものであってもよい。また、モータの現在電流は、例えば、電流計によって取得されたものであってもよい。算出部13は、例えば、その現在位置等を制御部14から受け取ってもよく、または、制御対象のモータから受け取ってもよい。目的関数を最適化する最適解とは、目的関数を最大または最小にする解である。目的関数がエネルギーや移動時間である場合には、通常、そのエネルギー等を最小にする解が算出される。なお、本実施の形態では、最適解としてトルクが算出されることになる。また、目的関数にトルク以外の変数(例えば、時刻等)も含まれる場合には、目的関数を最適化することによって、その変数に関する値も算出されることになる。その目的関数を最適化する最適解を算出する方法、例えば、最急降下法等を用いた算出方法はすでに公知であり、その説明を省略する。なお、その算出されたトルクは、例えば、時系列のトルクであってもよい。すなわち、その算出時点以降に時間変化するトルクが算出されてもよい。目的関数に、例えば、複数の期間ごとのトルクが変数として含まれている場合には、各変数の値が算出されることによって、結果として、時系列のトルクが算出されることになってもよい。時系列のトルクは、その算出時点において目標を達成できるように(制約条件を満たすように)算出されたトルクとなる。したがって、想定外の外力等がない場合には、その算出したトルクに応じた制御が行われることによって、モータの所望の動作が達成されることになる。算出部13は、その算出したトルクを用いて、トルク指令値を算出する。例えば、外力が存在しない場合には、その算出したトルクがそのままトルク指令値となる。一方、外力が存在する場合には、算出部13は、その外力を相殺できるようにトルク指令値を算出する。すなわち、算出部13は、外力を相殺した結果が算出したトルクとなるようにトルク指令値を算出する。したがって、算出部13は、最適化問題を解く際だけでなく、トルク指令値を算出する際にも、外力記憶部12で記憶されている外力情報を用いてもよい。なお、外力も時系列に沿って変化する場合には、その外力の時間変化に応じてトルク指令値も時間変化することになる。
また、後述する具体例でも説明するように、トルクを算出する現時点が含まれる期間によっては、最適化問題を解くことなく、制約条件のみを用いて、目的関数に含まれるすべての変数(引数)を算出できることもある。そうであっても、最適化問題を解くことによってトルクを算出する期間があるのであれば、全体としてみれば、算出部13は、目的関数と制約条件とを用いて、目的関数の最適解であるトルクを算出していると考えることができる。また、制約条件の個数の方が目的関数に含まれる変数の個数よりも多い場合もありうる。そのような場合には、算出部13は、一部の制約条件のみを用いてトルクを算出してもよい。したがって、制約条件を満たすようにトルクを算出することには、制約条件の一部を満たすようにトルクを算出することが含まれると考えてもよい。
なお、算出部13がトルクを算出するタイミングは問わない。例えば、算出部13は、トルクを定期的に算出してもよく、あらかじめ決められたイベントの発生時にトルクを算出してもよい。そのイベントは、例えば、モータの状態が想定以上に変化したことであってもよい。具体的には、予測値と現在値との差が閾値以上になったことであってもよい。なお、その予測値や現在値は、例えば、トルク、速度、または位置に関する予測値や現在値であってもよい。トルクの予測値とは、算出部13によって算出されたトルクであってもよい。また、速度や位置の予測値とは、その算出されたトルクに応じた速度や位置であってもよい。また、トルク等の現在値は、現在のフィードバック値であってもよい。また、算出部13は、動作の開始時にもトルクの算出を行ってもよい。その場合には、現在のフィードバック値が初期値であるとしてトルクの算出を行ってもよい。
また、モータの動作が複数の期間に分けられており、その期間ごとの目的関数等が設定されている場合には、算出部13は、現在の時点(算出時点)が含まれる期間に応じた目的関数等を用いてトルクを算出してもよい。なお、そのようにして算出するトルクは、その期間以後の期間をもカバーする時系列のトルクであってもよい。
制御部14は、算出部13が出力したトルク指令値を用いて、モータのトルクをフィードバック制御する。すなわち、制御対象のモータのトルクがトルク指令値に近づくようにフィードバック制御を行う。具体的には、制御部14は、制御対象のモータの現在電流(現在トルク)を受け取り、その現在電流に応じたトルクがトルク指令値に近づくように、モータのトルクを制御する。この制御は、モータのサーボコントローラにおける電流ループとして知られている制御である。
なお、本実施の形態では、トルク算出装置1が制御部14を有している場合について主に説明するが、そうでなくてもよい。ワイヤ送給装置2やロボット等の制御対象のモータを有する装置が制御部14を有していてもよく、その他の装置が制御部14を有していてもよい。制御部14がトルク算出装置1の外部に存在する場合には、算出部13は、その制御部14を有している装置にトルク指令値を出力するものとする。
また、記憶部11と、外力記憶部12とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、目的関数等を記憶している領域が記憶部11となり、外力情報を記憶している領域が外力記憶部12となる。
また、制御対象のモータが複数存在する場合には、そのモータごとに上述したトルク指令値の出力が行われてもよい。また、その場合には、モータごとに目的関数や制約条件が異なっていてもよく、または、そうでなくてもよい。
ここで、本実施の形態によるトルク指令値の算出について、図2を用いて説明する。時刻t1において、目標時刻に目標値に到達するように算出されたトルク指令値に応じた位置は、図2の左側のグラフにおいて破線で示される指令経路であったとする。一方、想定外の外力等によって時刻t2においては、図2の右側のグラフで示されるように、算出された指令経路と大きく異なる動作経路となっていたとする。すると、算出部13は、時刻t2に再度、目標時刻に目標値に到達するようにトルク指令値を算出する。そのトルク指令値に応じた位置は、図2の右側のグラフにおいて破線で示される指令経路であったとする。すると、それ以降はその指令経路に応じたトルク指令値となるように制御が行われることになる。その結果、図6で示されるような不必要な制御が行われることを回避することができる。
次に、トルク算出装置1の動作について図3のフローチャートを用いて説明する。なお、このフローチャートでは、目的関数が外力をも含む関数である場合について説明する。
(ステップS101)算出部13は、トルクの算出を行うかどうか判断する。そして、トルクの算出を行う場合には、ステップS102に進み、そうでない場合には、ステップS105に進む。なお、算出部13は、前述のように、トルクの算出を行うと定期的に判断してもよく、または、予測値と現在値(実測値)とが閾値以上乖離していることが検知されたことなどのイベントの発生に応じてトルクの算出を行うと判断してもよい。
(ステップS102)算出部13は、記憶部11から目的関数と制約条件とを読み出す。なお、複数の目的関数が存在する場合には、算出部13は、例えば、その時点に応じた目的関数を読み出してもよい。
(ステップS103)算出部13は、外力記憶部12から外力情報を読み出す。
(ステップS104)算出部13は、読み出した外力情報を代入した目的関数と、制約条件と、現在のフィードバック値とを用いて、目的関数を最適化する最適解としてのトルクを算出する。また、算出部13は、その算出結果を用いて、外力を考慮したトルクを算出する。その外力は、外力記憶部12で記憶されている外力情報によって示されるものであってもよい。その算出されたトルクは、トルクの時間変化であってもよい。例えば、現時点がtpである場合に、時系列に沿ったトルクτp(t)が算出されてもよい。なお、外力が存在しない場合には、最適化問題を解くことによって算出したトルクがそのままτp(t)となってもよい。また、算出されたトルクは、図示しない記録媒体で記憶されてもよい。そして、ステップS101に戻る。
(ステップS105)算出部13は、トルク指令値を出力するタイミングであるかどうか判断する。そして、トルク指令値を出力するタイミングである場合には、ステップS106に進み、そうでない場合には、ステップS101に戻る。なお、算出部13は、例えば、トルク指令値を出力するタイミングであると定期的に判断してもよい。また、トルク指令値を出力するタイミングとなるまでに、少なくともステップS104におけるトルクの算出が行われているものとする。
(ステップS106)算出部13は、トルク指令値を制御部14に出力する。その結果、制御部14は、モータの現在のトルクがそのトルク指令値となるようにモータのトルクを制御する。そして、ステップS101に戻る。なお、算出部13は、ステップS104で算出した最新のトルクτp(t)を用いて、現時点に対応するトルクを特定してもよい。例えば、現時点がtkである場合に、算出部13は、その時点のトルクτp(tk)を特定してもよい。そのτp(tk)がトルク指令値となる。
なお、図3のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態によるトルク算出装置1の動作について、具体例を用いて説明する。この具体例では、溶接ワイヤを送給するワイヤ送給装置2のモータを制御する場合について説明する。その溶接ワイヤの送給では、次のような条件があるとする。
・インチング、リトラクトをあらかじめ決められた期間tcycごとに繰り返す。
・一回のインチング量はxiである。
・一回のリトラクト量はxr(=xi−δ)である。
なお、δは、一回のインチング、リトラクトによる前進量である。
・インチング時、リトラクト時のモータの最高速度はそれぞれvi、vrである。
また、その溶接ワイヤの送給では、次のような既知の外力があるとする。したがって、これらの外力の値を示す外力情報が、外力記憶部12で記憶されているものとする。
・ワイヤ送給の摩擦τfr:溶接ワイヤの送給方向と逆向きに発生する。
・ワイヤリールの摩擦τfr2:リールから溶接ワイヤを引き出すときにのみ発生する。
・アーク反力τarc:アーク発生時に溶接ワイヤの前進方向に発生する。
また、この具体例では、目的関数をモータの実効トルクTの自乗とする。すなわち、図4で示されるように、周期的にインチング、リトラクトが行われる場合には、時刻t0における目的関数Tは、次式のようになる。なお、図4において、モータの加速度に応じたトルクτ1,τ2,τ3,τ4,τ5,τ6を実線で示しており、またモータにかかる外力に応じたトルクτfr,τfr2,τarcを破線で示している。なお、図4のトルクτfr2,τarcは、厳密にはワイヤ送給の摩擦に応じたトルクをも含んでいる。すなわち、期間T3の外力は厳密には−τfr2−τfrであり、期間T6の外力は厳密にはτarc+τfrであるが、この具体例では説明の便宜上、それらを−τfr2,τarcとしている。また、図4では、トルクτ1等に応じた速度及び位置の時間変化も示している。そのτ1等は、モータの加速度に応じたトルクであるため、モータは、それらのトルクに応じた加速度で動作するように制御されることになる。なお、この具体例では、説明の便宜上t0=0としている。
={(τ1+τfr×t1+(τ2−τfr×(tfr2−t1
+(τ3−τfr2×(t2−tfr2
+(τ4+τfr×(t3−t2
+(τ5−τfr×(tarcs−t3+tcyc−tarce
+(τ−τarc×(tarce−tarcs)}/tcyc (1)
なお、この具体例におけるワイヤ送給では、インチング時、リトラクト時に、まず等加速で速度の絶対値が最大値となるまで加速し、それから減速するものとする。また、t1は、インチング時に速度が最大となる時刻であり、tfr2は、ワイヤリールからの溶接ワイヤの引き出しが開始される時刻であり、t2は、速度が0となる時刻であり、t3は、リトラクト時に速度の絶対値が最大となる時刻である。tarcsは、アークの開始時刻であり、tarceは、アークの終了時刻であり、両者とも既知である。また、tcycは、インチング、リトラクトが繰り返される周期であり、上述のように既知である。また、tfr2は、上述のように、ワイヤリールからの溶接ワイヤの引き出しが開始される時刻、すなわち、位置がxrとなる時刻である。したがって、tfr2は算出することができる。上記(1)式で示される目的関数において、τ1,τ2,τ3,τ4,τ5,τ6,t1,t2,t3が変数である。それらの変数が求まれば、トルクの時間変化がわかることになる。
次に、制約条件について説明する。まず、インチング速度に関する制約条件は、次式のようになる。なお、αは、イナーシャ(慣性モーメント)の逆数である。また、(2)式は、速度0からviまでの加速時の条件であり、(3)式は、速度viから0までの減速時の条件である。
τ1×α×t1=vi (2)
τ2×α×(tfr2−t1)+τ3×α×(t2−tfr2)=vi (3)
また、リトラクト速度に関する制約条件は、次式のようになる。なお、(4)式は、速度0から−vrまでの減速時の条件であり、(5)式は、速度−vrから0までの加速時の条件である。
τ4×α×(t3−t2)=vr (4)
τ5×α×(tarcs−t3+tcyc−tarce
+τ6×α×(tarce−tarcs)=vr (5)
なお、インチング速度、リトラクト速度は、インチング時、リトラクト時のモータの速度である。
また、インチング量に関する制約条件は、次式のようになる。
{t1×vi+(tfr2−t1)×(2vi−τ2×α×(tfr2−t1))
+(t2−tfr2)×(vi−τ2×α×(tfr2−t1))}/2=xi (6)
また、リトラクト量に関する制約条件は、次式のようになる。
{(t3−t2)×vr+(tarcs−t3)×(2vr−τ5×α×(tarcs−t3))
+(tarce−tarcs)×(2vr−2τ5×α×(tarcs−t3
−τ6×α×(tarce−tarcs))
+(tcyc−tarce)×(vr−τ5×α×(tarcs−t3
−τ6×α×(tarce−tarcs))}/2=xr (7)
なお、インチング量、リトラクト量は、インチング時、リトラクト時のモータの移動量である。したがって、xiは、インチング時のモータの移動量であり、xrは、リトラクト時のモータの移動量である。
また、時刻に関する制約条件は、次の通りである。
3>t2>tfr2>t1
上記(1)式の目的関数には9個の変数が含まれており、(2)〜(7)式の6個の制約条件が存在するため、変数を3個に減らすことができる。したがって、算出部13は、目的関数を最小化するように、その3個の変数を求めることによって、すべての変数を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。ここで、制約条件の数は、7個であってもよい。その場合には、例えば、時刻t2からt3までの期間をあらかじめ決められた値とする制約条件を追加してもよく、または、その他の制約条件を追加してもよい。制約条件が7個である場合には、目的関数を最小にする2個の変数を求めることによって、すべての変数を算出できることになる。また、制約条件の個数は、それら以外であってもよい。
次に、期間T1に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおける目的関数Tは、次式のようになる。なお、次式の目的関数は、時刻tpからtcycまでの実効トルクの自乗である。このように、目的関数は、現時点tpから、目標とする状態(この具体例では、インチング、リトラクトの1周期の終わり)までの消費エネルギー等を示すものであってもよい。
={(τ1+τfr×(t1−tp)+(τ2−τfr×(tfr2−t1
+(τ3−τfr2×(t2−tfr2
+(τ4+τfr×(t3−t2
+(τ5−τfr×(tarcs−t3+tcyc−tarce
+(τ−τarc×(tarce−tarcs)}/(tcyc−tp) (11)
また、時刻t0における制約条件のうち、(2)、(6)式は、次式のようになる。それ以外の制約条件は、(3)〜(5)、(7)式と同じである。そのように、制約条件は、現時点tpから、目標とする状態(この具体例では、インチング、リトラクトの1周期の終わり)までの条件を示すものであってもよい。なお、目的関数や制約条件におけるトルクτ1等は、時刻tpに算出される新しいトルクである。また、vpは、時刻tpのモータの速度であり、xpは、時刻tpのモータの位置である。それらの速度や位置は、モータに関する現在のフィードバック値である。したがって、この具体例では、現在のフィードバック値は制約条件に代入されることになる。
τ1×α×(t1−tp)=vi−vp (12)
{(t1−tp)×(vp+vi)+(tfr2−t1)×(2vi−τ2×α×(tfr2−t1))
+(t2−tfr2)×(vi−τ2×α×(tfr2−t1))}/2=xi−xp (16)
なお、この期間T1に含まれる時刻tpにおいては、目的関数には、9個の変数が含まれており、(3)〜(5)、(7)、(12)、(16)式の6個の制約条件が存在するため、変数を3個に減らすことができる。したがって、算出部13は、目的関数を最小化するように、その3個の変数を求めることによって、すべての変数を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。また、時刻t0における目的関数等は、この期間T1に含まれる時刻tpの目的関数等において、tp=0,vp=0,xp=0にしたものとなる。
次に、期間T2に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおける目的関数Tは、次式のようになる。なお、次式の目的関数は、時刻tpからtcycまでの実効トルクの自乗である。
={(τ2−τfr×(tfr2−tp)+(τ3−τfr2×(t2−tfr2
+(τ4+τfr×(t3−t2
+(τ5−τfr×(tarcs−t3+tcyc−tarce
+(τ−τarc×(tarce−tarcs)}/(tcyc−tp) (21)
また、時刻t0における制約条件のうち、(2)式は不要となり、(3)、(6)式は、次式のようになる。それ以外の制約条件は、(4)、(5)、(7)式と同じである。なお、目的関数や制約条件におけるトルクτ2等は、時刻tpに算出される新しいトルクである。
τ2×α×(tfr2−tp)+τ3×α×(t2−tfr2)=vp (23)
{(tfr2−tp)×(2vp−τ2×α×(tfr2−tp))
+(t2−tfr2)×(vp−τ2×α×(tfr2−tp))}/2=xi−xp (26)
なお、この期間T2に含まれる時刻tpにおいては、目的関数には、2個の変数τ1,t1を除いた7個の変数が含まれており、(4)、(5)、(7)、(23)、(26)式の5個の制約条件が存在するため、変数を2個に減らすことができる。したがって、算出部13は、目的関数を最小化するように、その2個の変数を求めることによって、すべての変数を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。
次に、期間T3に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおける目的関数Tは、次式のようになる。なお、次式の目的関数は、時刻tpからtcycまでの実効トルクの自乗である。
={(τ3−τfr2×(t2−tp
+(τ4+τfr×(t3−t2
+(τ5−τfr×(tarcs−t3+tcyc−tarce
+(τ−τarc×(tarce−tarcs)}/(tcyc−tp) (31)
また、時刻t0における制約条件のうち、(2)式は不要となり、(3)、(6)式は、次式のようになる。それ以外の制約条件は、(4)、(5)、(7)式と同じである。なお、目的関数や制約条件におけるトルクτ3等は、時刻tpに算出される新しいトルクである。
τ3×α×(t2−tp)=vp (33)
{(t2−tp)×vp}/2=xi−xp (36)
なお、その(36)式により、時刻t2は決定される。したがって、この期間T3に含まれる時刻tpにおいては、目的関数には、4個の変数τ1,τ2,t1,t2を除いた5個の変数が含まれており、(4)、(5)、(7)、(33)式の4個の制約条件が存在するため、変数を1個に減らすことができる。したがって、算出部13は、目的関数を最小化するように、その1個の変数を求めることによって、すべての変数を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。
次に、期間T4に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおける目的関数Tは、次式のようになる。なお、次式の目的関数は、時刻tpからtcycまでの実効トルクの自乗である。
={(τ4+τfr×(t3−tp
+(τ5−τfr×(tarcs−t3+tcyc−tarce
+(τ−τarc×(tarce−tarcs)}/(tcyc−tp) (41)
また、時刻t0における制約条件のうち、(2)、(3)、(6)式は不要となり、(4)、(7)式は、次式のようになる。それ以外の制約条件は、(5)式と同じである。なお、目的関数や制約条件におけるトルクτ4等は、時刻tpに算出される新しいトルクである。また、δ=xi−xrである。
τ4×α×(t3−tp)=vr+vp (44)
{(t3−tp)×(vr−vp)+(tarcs−t3)×(2vr−τ5×α×(tarcs−t3))
+(tarce−tarcs)×(2vr−2τ5×α×(tarcs−t3
−τ6×α×(tarce−tarcs))
+(tcyc−tarce)×(vr−τ5×α×(tarcs−t3
−τ6×α×(tarce−tarcs))}/2=xp−δ (47)
なお、この期間T4に含まれる時刻tpにおいては、目的関数には、5個の変数τ1,τ2,τ3,t1,t2を除いた4個の変数が含まれており、(5)、(44)、(47)式の3個の制約条件が存在するため、変数を1個に減らすことができる。したがって、算出部13は、目的関数を最小化するように、その1個の変数を求めることによって、すべての変数を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。
次に、期間T5に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおいては、時刻t0における制約条件のうち、(2)、(3)、(4)、(6)式は不要となり、(5)、(7)式は、次式のようになる。なお、目的関数や制約条件におけるトルクτ5等は、時刻tpに算出される新しいトルクである。
τ5×α×(tarcs−tp+tcyc−tarce
+τ6×α×(tarce−tarcs)=−vp (55)
{(tarcs−tp)×(−2vp−τ5×α×(tarcs−tp))
+(tarce−tarcs)×(−2vp−2τ5×α×(tarcs−tp
−τ6×α×(tarce−tarcs))
+(tcyc−tarce)×(−vp−τ5×α×(tarcs−tp
−τ6×α×(tarce−tarcs))}/2=xp−δ (57)
なお、この期間T5に含まれる時刻tpにおいては、未定の変数はτ5,τ6の2個である。また、(55)、(57)式の2個の制約条件が存在するため、その2個の変数τ5,τ6を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。このように、期間T5に含まれる時刻tpにおいては、目的関数を最適化するまでもなく、制約条件からトルクが算出されることになる。
次に、期間T6に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおいては、時刻t0における制約条件のうち、(2)、(3)、(4)、(6)式は不要となり、(5)、(7)式は、次式のようになる。なお、目的関数や制約条件におけるトルクτ5等は、時刻tpに算出される新しいトルクである。
τ6×α×(tarce−tp
+τ5×α×(tcyc−tarce)=−vp (65)
{(tarce−tp)×(−2vp−τ6×α×(tarce−tp))
+(tcyc−tarce)×(−vp−τ6×α×(tarce−tp))}/2
=xp−δ (67)
なお、この期間T6に含まれる時刻tpにおいては、未定の変数はτ5,τ6の2個である。また、(65)、(67)式の2個の制約条件が存在するため、その2個の変数τ5,τ6を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。このように、期間T6に含まれる時刻tpにおいても、目的関数を最適化するまでもなく、制約条件からトルクが算出されることになる。
次に、期間T7に含まれる時刻tpにトルクを算出する処理について説明する。その時刻tpにおいては、時刻t0における制約条件のうち、(2)、(3)、(4)、(6)式は不要となり、(5)、(7)式は、次式のようになる。なお、目的関数や制約条件におけるトルクτ5は、時刻tpに算出される新しいトルクである。
τ5×α×(tcyc−tp)=−vp (75)
{(tcyc−tp)×(−vp)}/2=xp−δ (77)
なお、この期間T7に含まれる時刻tpにおいては、未定の変数はτ5の1個である。また、上記(77)式は、変数に関する条件となっていないため、実質的な制約条件は(75)式のみとなる。したがって、(75)式の制約条件から変数τ5を算出することができ、制約条件に応じた目的を達成するためのトルクの時間変化を知ることができる。このように、期間T7に含まれる時刻tpにおいても、目的関数を最適化するまでもなく、制約条件からトルクが算出されることになる。
上述のように、T1〜T7の各期間について、目的関数と制約条件とが設定されていることになる。したがって、その期間ごとの目的関数及び制約条件が、記憶部11で記憶されることになる。なお、期間T5等のように目的関数を最適化する必要がない場合には、未定の変数を算出するために必要な制約条件のみが記憶部11で記憶されていてもよい。この具体例では、上述のように、期間T5〜T7においては、最適化問題を解くことなくトルクを算出することができるが、その他の期間については、最適化問題を解くことによってトルクを算出しているため、全期間を考慮した場合には、算出部13は、最適化問題を解くことによってトルクを算出していると考えることができる。
また、この具体例におけるモータの動作は周期的であるため、時刻tcyc以降の次の周期においても、T1〜T7の各期間と同様の目的関数と制約条件を用いることによって、トルクの時間変化を算出することができる。具体的には、時刻tpを、0からtcycまでの時刻であるtp−n×tcyc(nは1以上の整数である)とすることにより、上述の説明と同様の目的関数等を用いることができる。
なお、上記説明では、インチング量やリトラクト量といった位置の変化量(移動量)に関する制約条件を設定しているが、それを位置に関する制約条件としてもよい。その場合には、例えば、1回目の周期が終わった時点、すなわち時刻tcycの位置がδから少しずれていたとしても、2回目の周期が終わった時点において、位置が2δに近づくように制御できることになる。なお、モータの位置とは、基準位置からの変化量(移動量)であるため、モータや移動対象の位置に関する制約条件は、モータや移動対象の移動量に関する制約条件に含まれると考えることができる。
次に、トルクを算出する時刻tpが期間T1〜T7のいずれに含まれるのかを判断する方法について説明する。基本的には、ある時刻tpがどの期間に属するのかについては、時刻tpと時刻t1等とを比較することによって判断することができる。しかしながら、例えば、tp<t1であっても、速度vpがviを超えている場合には、その時刻tpは、期間T2であると考えるべきである。したがって、次のように判断するものとする。なお、以下の説明において、最新の算出結果に応じた時刻t1等を用いるものとする。
・t0<tp<t1の場合
p<viであれば、期間T1
p≧viであれば、期間T2
・t1<tp<tfr2の場合
p<xrであれば、期間T2
p≧xrであれば、期間T3
・tfr2<tp<t2の場合
p>0であれば、期間T3
p≦0であれば、期間T4
・t2<tp<t3の場合
p>−vrであれば、期間T4
p≦−vrであれば、期間T5
なお、それ以降の期間T5〜T7については、時刻tarcs,tarce,tcycが固定値であるため、時刻tpとそれらの時刻との大小を比較することによって、時刻tpが期間T5,T6,T7のいずれに属するのかを判断することができる。
次に、各トルク等を算出する処理の手順について説明する。まず、溶接ワイヤの送給を開始する時刻t0に、算出部13は、トルクを算出するタイミングであると判断し(ステップS101)、時刻t0に対応する目的関数等を読み出す(ステップS102,S103)。なお、時刻t0に対応する目的関数等は、期間T1の目的関数等において、tp=0等としたものであってもよい。また、算出部13は、外力情報の示す外力を代入した目的関数や、制約条件を用いて、最適解であるトルクτ1,τ2,τ3,τ4,τ5,τ6、及び時刻t1,t2,t3を算出し、外力を考慮したトルクの時間変化τ0(t)を算出して図示しない記録媒体に蓄積する(ステップS104)。ここで、トルクτ1等は、モータの加速度に応じたトルクである。すなわち、モータは、そのトルクτ1等に応じた加速度で加速される必要がある。そのため、モータを動作させるためのトルク指令値は、外力であるτfr等の影響をなくす必要があるため、時刻t0に算出したトルクの時間変化τ0(t)は、次式のようになる。
τ0(t)=τ1+τfr (期間T1
−τ2+τfr (期間T2
−τ3+τfr2 (期間T3
−τ4−τfr (期間T4
τ5−τfr (期間T5
τ6−τarc (期間T6
τ5−τfr (期間T7
また、算出部13は、そのトルクの時間変化τ0(t)を用いて、トルク指令値を出力するタイミングごとにトルク指令値を制御部14に出力する。例えば、算出部13は、トルク指令値を出力する時点tkが含まれる期間に応じたトルク指令値τ0(tk)を制御部14に出力する。すると、そのトルク指令値τ0(tk)に応じて、制御部14は、ワイヤ送給装置2のモータのトルクを制御する(ステップS105,S106)。このモータのトルクの制御は、あらかじめ決められた周期ごとに繰り返される。
なお、算出部13は、算出したトルクから想定される位置(例えば、図4で示される位置)と、エンコーダによって測定されたモータの現在位置とを比較し、両者の差があらかじめ決められた閾値以上となると、トルクを再度、算出すると判断する(ステップS101)。その時点の時刻tpは、t0<tp<t1であったとする。すると、算出部13は、その時刻tpが含まれる期間を特定する。具体的には、t0<tp<t1であるため、算出部13は、その時点の速度vpがviより大きいかどうか判断する。その場合には、vp<viであったとすると、算出部13は、期間T1に応じた目的関数等を読み出し、トルク等を算出し、図示しない記録媒体に蓄積する(ステップS102〜S104)。そして、その後は、その最新のトルク等を用いたトルク指令値τp(tk)の出力が行われることになる(ステップS105,S106)。図5は、そのようにして変更されたトルク等を示すグラフである。時刻t0に算出されたトルク等に応じた速度、位置を破線で示しており、時刻tpに算出されたトルク等に応じた速度、位置を実線で示している。時刻t1'、tfr2'は、時刻t0に算出された時刻t1、tfr2である。また、図5では、時刻t0に算出された時刻tp以降のトルクを細線で示している。なお、外力に応じたトルクについては、時刻tpに算出された時刻tfr2に応じて示している。図5で示される状況では、想定外の外力の影響によって、時刻tpの時点で速度や位置が想定していた値に達していないことになる。従来の制御方法であれば、目標とする位置と現実の位置との乖離を小さくするため、トルクが一気に大きくなるように制御されることになるが、その場合にはモータの消費エネルギーが大きくなってしまう。一方、本実施の形態によるトルク算出装置1では、制約条件を満たす範囲において、モータの消費エネルギーが最小となるようにトルクが算出されるため、溶接ワイヤの送給に関する要件を満たしながらも、モータの消費エネルギーを削減することができるようになる。
なお、この具体例で用いた目的関数や制約条件は一例であり、それ以外の目的関数や制約条件を用いてもよいことは言うまでもない。例えば、インチング量やリトラクト量に代えて、溶接ワイヤの平均送給速度(モータの平均速度)を用いた制約条件を設定してもよい。
また、この具体例では、制御対象のモータが、溶接ワイヤの送給のような周期的な動作を行う場合について説明したが、そうでなくてもよい。制御対象のモータが、ロボットの関節の動作のように、加速期間、等速期間、減速期間に応じた動作を行う場合であっても、同様にしてトルクを算出することができる。具体的には、加速期間の終期の速度(速度の最大値)が設定されており、また加速期間の始期から減速期間の終期までの全期間の長さが設定されており、また、その全期間におけるモータの全移動量(全回転量)が設定されているとする。すると、モータの消費エネルギーに応じた目的関数に含まれる変数は、例えば、加速期間の終期の時刻、等速期間の終期の時刻、加速期間のトルク、減速期間のトルクの4個になる。また、例えば、2個の制約条件、すなわち、加速期間の終期の速度に関する制約条件と、全移動量に関する制約条件とを設定すると、目的関数の変数を2個に減らすことができ、目的関数を最小にする2個の変数を求めることによって、すべての変数を算出できる。そのようにして、ロボットの関節を動作させるモータに関するトルクを算出することができる。
以上のように、本実施の形態によるトルク算出装置1によれば、外力等によって、制御対象のモータの状態に想定外の変化が起こったとしても、その変化後の状態から目標に向かうようにトルク指令値が求められるようになる。その結果、例えば、外力が目標に向かう方向に状態を変化させた場合には、その外力をも利用したモータの制御が可能となる。また、目的関数を最適化するようにトルクを算出するため、その目的関数に応じた量を最適化するようにトルクを制御できる。例えば、エネルギーや移動時間等を最小化するトルクを取得することができることになる。また、モータの消費エネルギーを削減した場合には、モータの発熱を抑えることができ、定格電流の小さいモータを使用することもできるようになる。
なお、本実施の形態では、ワイヤ送給装置2が有する、溶接ワイヤを送給するためのモータを制御する場合について説明したが、それ以外のモータを制御してもよいことは上述の通りである。トルク算出装置1は、例えば、産業用ロボットの関節を動作させるモータに関するトルクを算出してもよい。
また、本実施の形態では、溶接ワイヤのインチング、リトラクトを行うためのモータの消費エネルギーに応じた目的関数を最適化するようにトルク等を算出する場合について説明したが、上述のように、目的関数は、その他の最適化したい量を示す関数であってもよい。
また、本実施の形態では、トルク算出装置1が外力記憶部12を有する場合について説明したが、そうでなくてもよい。トルク算出装置1は、外力記憶部12を有していなくてもよい。その場合には、算出部13は、外力情報を用いないでトルクを算出してもよい。すなわち、目的関数に外力が含まれていなくてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、トルク算出装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上より、本発明によるトルク算出装置によれば、目的関数に応じた量、例えば、モータの消費エネルギー等を最適化するようにトルクを求められるという効果が得られ、例えば、ワイヤ送給装置や産業用ロボットの有するモータのトルクに関する算出を行うトルク算出装置等として有用である。
1 トルク算出装置
11 記憶部
12 外力記憶部
13 算出部
14 制御部

Claims (4)

  1. モータの動作に関する関数であり、当該モータのトルクを含む関数である目的関数、及び当該目的関数に関する条件であり、前記モータの速度、前記モータによって移動される移動対象の速度、前記移動対象の移動時間、前記モータの移動量、前記移動対象の移動量、及びトルクの少なくともいずれかに関する条件である制約条件が記憶される記憶部と、
    前記モータに関する現在のフィードバック値を用いて、前記制約条件を満たすように、前記目的関数を最適化する最適解であるトルクを算出し、当該算出したトルクに応じて、前記モータのトルクをフィードバック制御する制御部にトルク指令値を出力する算出部と、を備え
    前記目的関数は、前記モータによって移動される移動対象の移動時間を示す関数、または前記モータによって消費されるエネルギーに関する関数である、トルク算出装置。
  2. 前記目的関数は、外力をも含む関数であり、
    前記モータに作用する外力に関する情報である外力情報が記憶される外力記憶部をさらに備え、
    前記算出部は、前記外力情報をも用いてトルクを算出する、請求項1記載のトルク算出装置。
  3. 前記目的関数は、前記モータによって消費されるエネルギーに関する関数であり、
    前記モータは、溶接ワイヤを送給するモータである、請求項1または請求項2記載のトルク算出装置。
  4. 前記モータは、ロボットの関節を動作させるモータである、請求項1または請求項記載のトルク算出装置。
JP2014168636A 2014-08-21 2014-08-21 トルク算出装置 Active JP6396718B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014168636A JP6396718B2 (ja) 2014-08-21 2014-08-21 トルク算出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014168636A JP6396718B2 (ja) 2014-08-21 2014-08-21 トルク算出装置

Publications (2)

Publication Number Publication Date
JP2016045643A JP2016045643A (ja) 2016-04-04
JP6396718B2 true JP6396718B2 (ja) 2018-09-26

Family

ID=55636176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014168636A Active JP6396718B2 (ja) 2014-08-21 2014-08-21 トルク算出装置

Country Status (1)

Country Link
JP (1) JP6396718B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019111604A (ja) * 2017-12-22 2019-07-11 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3885313B2 (ja) * 1997-02-03 2007-02-21 日本軽金属株式会社 溶接ワイヤ送給装置
JP3805476B2 (ja) * 1997-05-20 2006-08-02 三菱電機株式会社 モータ制御装置
JP3878086B2 (ja) * 2001-09-19 2007-02-07 株式会社神戸製鋼所 タンデム圧延機のバランス制御装置
JP2010012889A (ja) * 2008-07-02 2010-01-21 Honda Motor Co Ltd 車両の駆動力制御装置
JP4947073B2 (ja) * 2009-03-11 2012-06-06 トヨタ自動車株式会社 ロボット装置及びその制御方法

Also Published As

Publication number Publication date
JP2016045643A (ja) 2016-04-04

Similar Documents

Publication Publication Date Title
JP5751433B2 (ja) モータ制御装置及びモータ制御方法
JP5242342B2 (ja) ロボット制御装置
JP4756618B2 (ja) 多関節ロボットにおける衝突検出・停止制御法
US9405288B2 (en) Robot apparatus and controlling method of the robot apparatus
WO2011036750A1 (ja) ロボット制御装置
CN105619424B (zh) 电机驱动设备的控制设备及方法、多轴电机的控制设备
JP5003832B1 (ja) モータ制御装置及びモータ制御方法
JP5231935B2 (ja) ロボット制御装置
JP2016013613A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法
JPWO2011161765A1 (ja) ロボット制御装置
US8901870B2 (en) Synchronous control apparatus
US20190193269A1 (en) Robot control system and method of controlling a robot
EP3435597A1 (en) Communication control system and communication control method
JP6564433B2 (ja) ロボットシステム
EP3441201B1 (en) Method for operating a robot and robotic system
US20170220006A1 (en) Proportional integral derivative control incorporating multiple actuators
JP2014123188A (ja) 分散制御装置及び分散制御方法
JP6396718B2 (ja) トルク算出装置
JP5912953B2 (ja) 制御装置、及び制御方法
JP5687302B2 (ja) 負荷駆動制御装置及び負荷駆動制御方法
WO1997001801A1 (fr) Procede de regulation des operations d'acceleration et de deceleration d'un robot
JP5151994B2 (ja) 慣性モーメント同定装置とその同定方法、ならびにその同定装置を備えたモータ制御装置
WO2002025390A1 (fr) Procede de servocommande
JP2014117787A (ja) 制御装置
Messner et al. Efficient online computation of smooth trajectories along geometric paths for robotic manipulators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180830

R150 Certificate of patent or registration of utility model

Ref document number: 6396718

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250