(57)【要約】【課題】実際の角度を測定せずに、関節軸の経年変化によるたわみ補正を容易にする。【解決手段】重力方向の負荷がかかる重力軸２０，３０，５０の位置指令値θｎを出力する位置指令部８１と、負荷トルクτ（θｎ）を計算する負荷トルク算出部８５と、負荷トルクにばね定数Ｋ（ｎ）を乗じてたわみによる補正量ｄθｎとするたわみ角補正算出部８６と、補正量を位置指令値に加えてサーボモータへ出力する指令値補正部８７を備えた多関節ロボット１において、重力軸に予め所定角度に定めた角度確認位置を設け、重力軸が角度確認位置となるように位置合わせし、確認位置指令値θ（ｎ，ｉ）と理論上の位置指令値θｔｎとの差ｄθ（ｎ，ｉ）を確認位置負荷トルクτｎで除した値をばね定数Ｋ（ｎ）として記憶し、その後、重力軸の位置指令値から負荷トルク算出部で負荷トルクを計算し、負荷トルクにばね定数を乗じて重力方向のたわみ角を補正する。【選択図】        図１
2013244540.tif 000002
【特許請求の範囲】
【請求項１】
駆動側軸と、前記駆動側軸に取り付けられたサーボモータと、前記サーボモータに減速機を介して前記駆動側軸に対して回動又は揺動可能にされた従動側軸と、前記サーボモータを駆動する制御部と、を複数個備え、  前記駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかる一組以上の重力軸と、前記重力軸の位置（角度）指令値を出力する位置指令部と、前記位置（角度）指令値から前記重力軸に加わる負荷トルクを計算する負荷トルク算出部と、前記負荷トルクにばね定数を乗じてたわみによる位置（角度）補正量とするたわみ角補正算出部と、前記位置（角度）補正量を前記位置指令値に加えて前記重力軸のサーボモータへ出力する指令値補正部と、を備えた多関節ロボットであって、
前記重力軸に予め所定角度に定めた角度確認位置が設けられており、前記制御部により前記重力軸が前記角度確認位置となるように位置合わせし、前記確認位置（角度）指令値と前記角度確認位置における理論上の確認位置（角度）指令値との差を前記角度確認位置における確認位置負荷トルクで除した値をばね定数として記憶し、その後、前記重力軸の位置（角度）指令値から前記負荷トルク算出部で負荷トルクを計算し、該負荷トルクに前記ばね定数を乗じて重力方向のたわみ角を補正する多関節ロボットの重力たわみ角補正方法。
【請求項２】
請求項１記載の前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記負荷トルク算出部で前記重力軸の前記角度確認位置における確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算する又は、前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記重力軸の前記角度確認位置における理論上の確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算するようにした請求項１記載の多関節ロボットの重力たわみ角補正方法。
【請求項３】
前記確認位置負荷トルクを前記制御部により前記重力軸が前記角度確認位置となるように位置決めしたときの前記サーボモータの負荷トルクとした請求項１記載の多関節ロボットの重力たわみ角補正方法。
【請求項４】
第Ｎ（Ｎは０又は正の整数）番目の前記ばね定数を求めるための位置合わせ時に、前記制御部により前記重力軸を前記角度確認位置となるように回動された時の位置指令値である第Ｎ確認位置（角度）指令値と、前記角度確認位置における理論上の確認位置（角度）指令値との差を前記確認位置負荷トルクで除して第Ｎばね定数とし、少なくとも前記第Ｎ確認位置指令値及び前記第Ｎばね定数を記憶し、
前記第Ｎの位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋１確認位置（角度）指令値と、前記第Ｎの位置指令値とから位置差を求め、前記位置差を前記確認位置負荷トルクで除してＮ＋１ばね定数差とし、
前記第Ｎばね定数と前記Ｎ＋１ばね定数差との和を新たな第Ｎ＋１のばね定数として記憶し、
さらに、前記第Ｎ＋１の位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋２確認位置（角度）指令値と、前記第Ｎ＋１の位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋２ばね定数差とし、
前記第Ｎ＋１ばね定数と前記Ｎ＋２ばね定数差との和を新たな第Ｎ＋２のばね定数として記憶し、
前記第Ｎの位置合わせ後、前記Ｎ＋１の位置合わせ前の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎのばね定数とし、
前記第Ｎ＋１の位置合わせ後、前記Ｎ＋２の位置合わせ前の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎ＋１のばね定数とし、
前記第Ｎ＋２の位置合わせ後の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎ＋２のばね定数とし、
以後ばね定数を前回と今回の位置合わせ時の位置差とばね定数差から求める請求項１乃至３のいずれか位置に記載の多関節ロボットの重力たわみ角補正方法。
【請求項５】
前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記多関節ロボットの出荷時又は稼働初期時である請求項４に記載の多関節ロボットの重力たわみ角補正方法。
【請求項６】
前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記制御部により前記重力軸を前記角度確認位置となるように回動される理論上の確認位置（角度）指令値と前記確認位置負荷トルクから理論上得られるたわみ量を前記確認位置負荷トルクで除した値をばね定数として記憶するようにした請求項４又は５に記載の多関節ロボットの重力たわみ角補正方法。
【請求項７】
前記第Ｎと第Ｎ＋１の位置合わせの間の稼働時間を記憶し、前記ばね定数差を前記稼働時間で除した値が所定の値を超えたときに信号として出力するようにした請求項４乃至６のいずれか一に記載の多関節ロボットの重力たわみ角補正方法。
【請求項８】
駆動側軸と、前記駆動側軸に取り付けられたサーボモータと、前記サーボモータに減速機を介して前記駆動側軸に対して回動又は揺動可能にされた従動側軸と、前記サーボモータを駆動する制御部と、を複数個備え、
前記駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかる一組以上の重力軸と、前記重力軸の位置（角度）指令値を出力する位置指令部と、前記位置（角度）指令値から前記重力軸に加わる負荷トルクを計算する負荷トルク算出部と、前記負荷トルクにばね定数を乗じてたわみによる位置（角度）補正量とするたわみ角補正算出部と、前記位置（角度）補正量を前記位置指令値に加えて前記重力軸のサーボモータへ出力する指令値補正部と、を備えた多関節ロボットであって、
前記重力軸に予め所定角度に定めた角度確認位置が設けられており、
前記制御部により前記重力軸が前記角度確認位置となるように位置合わせし、前記重力軸の前記角度確認位置における確認位置（角度）指令値と前記角度確認位置における理論上の確認位置（角度）指令値との差を前記角度確認位置における確認位置負荷トルクで除した値をばね定数とするばね定数算出部と、前記ばね定数を記憶するばね定数記憶部と、を有し、
前記重力軸の位置（角度）指令値から前記負荷トルク算出部で負荷トルクを計算し、該負荷トルクに前記ばね定数記憶部のばね定数を乗じて重力方向のたわみ角を補正するたわみ角補正算出部を有する多関節ロボットの重力たわみ角補正装置。
【請求項９】
前記確認位置負荷トルクは、請求項１記載の前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記負荷トルク算出部で前記重力軸の前記角度確認位置における確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算する又は、前記重力軸の前記角度確認位置における理論上の確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算するようにした請求項８記載の多関節ロボットの重力たわみ角補正装置。
【請求項１０】
前記確認位置負荷トルクを前記制御部により前記重力軸が前記角度確認位置となるように位置決めしたときの前記サーボモータの負荷トルクとした請求項８記載の多関節ロボットの重力たわみ角補正装置。
【請求項１１】
第Ｎ（Ｎは０又は正の整数）番目の前記ばね定数を求めるための位置合わせ時に、前記制御部により前記重力軸を前記角度確認位置となるように回動された時の位置指令値である第Ｎ確認位置（角度）指令値と、前記角度確認位置における理論上の確認位置（角度）指令値との差を前記確認位置負荷トルクで除して第Ｎばね定数とし、少なくとも前記第Ｎ確認位置指令値を記憶する指令記憶部、前記第Ｎばね定数を記憶するばね定数記憶部と、
前記第Ｎの位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋１確認位置（角度）指令値と、前記第Ｎの位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋１ばね定数差とし、
前記第Ｎばね定数と前記Ｎ＋１ばね定数差との和を新たな第Ｎ＋１のばね定数として前記記憶部に記憶するばね定数差分算出部と、を有し、
さらに、前記ばね定数差分算出部は、前記第Ｎ＋１の位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋２確認位置（角度）指令値と、前記第Ｎ＋１の位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋２ばね定数差として計算し、
前記第Ｎ＋１ばね定数と前記Ｎ＋２ばね定数差との和を新たな第Ｎ＋２のばね定数として前記ばね定数記憶部に記憶し、以後ばね定数を前回と今回の位置合わせ時の位置差とばね定数差から求めるようにされている請求項８乃至１０のいずれか一に記載の多関節ロボットの重力たわみ角補正装置。
【請求項１２】
前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記多関節ロボットの出荷時又は稼働初期時である請求項１１に記載の多関節ロボットの重力たわみ角補正装置。
【請求項１３】
記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記制御部により前記重力軸を前記角度確認位置となるように回動される理論上の確認位置（角度）指令値と前記確認位置負荷トルクから理論上得られるたわみ量を前記確認位置負荷トルクで除した値をばね定数として記憶するようにした請求項１１又は１２に記載の多関節ロボットの重力たわみ角補正装置。
【請求項１４】
前記第Ｎと第Ｎ＋１の位置合わせの間の稼働時間を記憶する稼働時間記憶部と、前記ばね定数差を前記稼働時間で除した値が所定の値（閾値）を超えたときに信号として出力する信号出力部を有する請求項１１乃至１３のいずれか一に記載の多関節ロボットの重力たわみ角補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経年劣化が生じた場合でも産業用ロボットにおける関節のたわみに起因する位置のずれを精度良く補正できる産業用ロボットシステムの重力たわみ角補正方法及び装置に関する。
【背景技術】
【０００２】
図１に示すように、垂直多関節型ロボット１においては各関節（軸）２０，３０，５０の回転方向に重力が作用するため、アーム（リンク）２１〜６１やエンドエフェクター７０の自重から関節部にたわみが生じ、サーボモータへの位置（角度）指令値θｎ（ｎ＝２０，３０，５０）が目標（図１の二点鎖線）どおりであっても、可動アームの位置が目標とする位置からずれるθ（ｎ，ｉ）（図１の点線）。このため、ロボットの関節部の減速機やアームのたわみの影響による位置のずれｄθｎを補正する。
【０００３】
しかし、長年稼動していた場合、歯車や軸受などの機械要素で構成されるロボットの関節は、磨耗等により機械要素に隙間が増える等の経年変化が起き、図１の実線で示すようにたわみ量θ（ｎ，ｉ）が増す。このため、さらに経年変化に応じたたわみ量ｄθ（ｎ，ｉ）の補正が必要になる。そこで、特許文献１においては、個々のロボットや関節の稼動中に加わった負荷トルクやサーボトルク指令値および稼働時間の積算値等から経年変化によるたわみ角を推定計算している。この推定計算された経年変化によるたわみ角をサーボモータの位置指令値に加えることにより、経年変化を考慮したたわみによる位置のずれの補正を行っている。
【０００４】
しかし、このものは関節部の補正値の経年変化をトルクやサーボトルクの積算値および稼働時間のいずれか１つの変数の関数として表している。このため、さまざまな条件で使用される産業用ロボットには適切ではなく、場合によっては、経過年数に従い目標位置からのずれが大きくなっていくといった問題がある。たとえば、経年変化が稼動時間で決定される場合、単純に稼働時間に応じて補正量が推定される。しかし、ある軸の可動や負荷トルクが極端に少ないプログラムでは、経年劣化の進行があらかじめ求めておいた経年たわみの推定式と一致しない場合が生じる。この場合の補正量は過大または過小となり、目標位置からのずれが拡大する。また、トルクの積算で経年劣化を推定する場合も、一般的に歯車や軸受などの機械要素の磨耗は単に加わったトルクだけで進行するわけではなく、回転量も大きな影響を与える。このため、経年たわみもトルクやサーボトルクの積算値だけでは精度よく推定することはできないため、稼動年数が長時間になれば、実機の経年たわみと経年たわみの推定式の差異が発生し、逆に目標位置からのずれを増大してロボットの作業品質が低下する問題もあった。
【０００５】
そこで、特許文献２のものにおいては、各関節の位置（角度）指令値に応じた負荷トルクに、各関節毎に定めたばね定数を乗じてたわみ角を計算し、計算されたたわみ角をサーボモータに入力される位置指令値に加えてたわみ角を補正している。このとき使用するばね定数は、制御部から位置（角度）指令値を与えた関節の実際の位置（角度）を取得し、位置（角度）指令値と関節の実際の位置（角度）とのずれ量、位置（角度）指令値での関節にかかる負荷（関節）トルクとを求め、さらに、求めたずれ量を関節トルクで除して算出したものをばね定数として用いている。そして、定期的に各関節部のばね定数を算出することにより、関節の経年（時）的な変化に応じてたわみ補正を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１５４８７９号公報
【特許文献２】特開２０１０−０５８２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献２のものは、ずれ量を得るためには、関節のサーボモータへの制御部からの位置（角度）指令値に対する実際の位置（角度）を取得（測定あるいは検出）する必要がある。このため、位置（角度）検出器を必要とし、費用もかかる。さらに、ばね定数は常時算出する必要がないので、検出器の用途が他にない場合は配線等も含め邪魔となり無駄である。また、経年変化により、検出器の故障や磨耗等の誤差も発生する。実施例においては、垂直位置と水平位置の二箇所の位置で測定している。このため、測定場所を広くしておく必要がある。また、垂直位置では、歯車等の機械要素のバックラッシ等の影響もあり、測定が困難な場合がある等の問題があった。また、経年変化に対応してばね定数を更新しているが、ばね定数の状態から機械要素の寿命や異常を判断することについては触れていない。
【０００８】
本発明の課題は、前述した問題点に鑑みて、実際の位置（角度）を測定する必要がなく、産業用ロボットにおける関節のたわみに起因する位置のずれを経年変化が生じても簡単にたわみ補正の精度維持できるようにし、また異常等を容易に判定できる重力たわみ角補正方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明においては、駆動側軸と、前記駆動側軸に取り付けられたサーボモータと、前記サーボモータに減速機を介して前記駆動側軸に対して回動又は揺動可能にされた従動側軸と、前記サーボモータを駆動する制御部と、を複数個備え、  前記駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかる一組以上の重力軸と、前記重力軸の位置（角度）指令値を出力する位置指令部と、前記位置（角度）指令値から前記重力軸に加わる負荷トルクを計算する負荷トルク算出部と、前記負荷トルクにばね定数を乗じてたわみによる位置（角度）補正量とするたわみ角補正算出部と、前記位置（角度）補正量を前記位置指令値に加えて前記重力軸のサーボモータへ出力する指令値補正部と、を備えた多関節ロボットであって、
前記重力軸に予め所定角度に定めた角度確認位置が設けられており、前記制御部により前記重力軸が前記角度確認位置となるように位置合わせし、前記確認位置（角度）指令値と前記角度確認位置における理論上の確認位置（角度）指令値との差を前記角度確認位置における確認位置負荷トルクで除した値をばね定数として記憶し、その後、前記重力軸の位置（角度）指令値から前記負荷トルク算出部で負荷トルクを計算し、該負荷トルクに前記ばね定数を乗じて重力方向のたわみ角を補正する多関節ロボットの重力たわみ角補正方法を提供することにより前述した課題を解決した。
【００１０】
即ち、重力負荷がかかる関節軸である重力軸に予め所定角度に定めた角度確認位置を設け、制御部により重力軸が角度確認位置となるように位置合わせする。この時の制御部からの確認位置（角度）指令値とたわみのない場合の理論上の確認位置（角度）指令値との差をたわみ補正量とすることができる。従って、このたわみ補正量を確認位置負荷トルクで除した値をばね定数とすることにより、従来と同様な計算により各重力軸（関節）のたわみ量の補正を行うのである。特許文献２のものがばね定数を得るために位置指令値による位置を測定器にて測定するのに対して、本発明においては、確認位置を位置合わせし、それに対する指令値を用いて、測定作業をすることなくばね定数を算出することができる。
【００１１】
所定の角度確認位置は重力負荷がある程度かかり、ばね定数が平均的な値となる位置であればよい。また、角度確認位置は、駆動軸側と従動軸側との合わせマークや、両者にピン孔を設けて、ピン孔が一致するように制御し、ピン孔に微少隙間で嵌合するピンが挿入摺動自在になる位置を確認位置としてもよい。また、合わせマークを設け、さらには拡大鏡で確認するようにしてもよい。また、マークをロボット外部よりレーザー測定器等で測定してもよい。また、信頼性をあげるため確認位置を複数設けても良い。
【００１２】
また、請求項２に記載の発明においては、請求項１記載の前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記負荷トルク算出部で前記重力軸の前記角度確認位置における確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算する又は、前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記重力軸の前記角度確認位置における理論上の確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算するようにした。
【００１３】
確認位置負荷トルクは、確認位置（角度）指令値に対する負荷トルク計算値と、角度確認位置における理論上の確認位置（角度）指令値に対する負荷トルク計算値とは、誤差の範囲内であり、いずれを用いてもよい。
【００１４】
請求項３に記載の発明においては、前記確認位置負荷トルクを前記制御部により前記重力軸が前記角度確認位置となるように位置決めしたときの前記サーボモータの負荷トルクとした。確認位置負荷トルクは計算値でも求まるが、サーボモータ電流からも求めることができる。エンドエフェクター等の交換により負荷条件を変更した場合に、再計算条件等を設定せずに直接確認位置負荷トルクを求めることができる。
【００１５】
かかる補正方法によれば、確認位置でのばね定数の再設定（リセット）により、最新のばね定数を用いて、ロボットの重力軸（関節）のたわみを補正することができる。一方、エンドエフェクターの交換は、頻繁に行われるものではない。また、重力軸等の経年変化は短時間で変化するものではなく、数ヶ月〜数年以上にわたる。この場合、前述の補正方法では、ばね定数を求められるが、ばね定数の変化状況までは捉えられない。また、エンドエフェクターを交換した場合には、ばね定数は全く新規の値となるので、経年変化による影響を判断できない。
【００１６】
そこで、請求項４に記載の発明においては、第Ｎ（Ｎは０又は正の整数）番目の前記ばね定数を求めるための位置合わせ時に、前記制御部により前記重力軸を前記角度確認位置となるように回動された時の位置指令値である第Ｎ確認位置（角度）指令値と、前記角度確認位置における理論上の確認位置（角度）指令値との差を前記確認位置負荷トルクで除して第Ｎばね定数とし、少なくとも前記第Ｎ確認位置指令値及び前記第Ｎばね定数を記憶し、
前記第Ｎの位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋１確認位置（角度）指令値と、前記第Ｎの位置指令値とから位置差を求め、前記位置差を前記確認位置負荷トルクで除してＮ＋１ばね定数差とし、
前記第Ｎばね定数と前記Ｎ＋１ばね定数差との和を新たな第Ｎ＋１のばね定数として記憶し、
さらに、前記第Ｎ＋１の位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋２確認位置（角度）指令値と、前記第Ｎ＋１の位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋２ばね定数差とし、
前記第Ｎ＋１ばね定数と前記Ｎ＋２ばね定数差との和を新たな第Ｎ＋２のばね定数として記憶し、
前記第Ｎの位置合わせ後、前記Ｎ＋１の位置合わせ前の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎのばね定数とし、
前記第Ｎ＋１の位置合わせ後、前記Ｎ＋２の位置合わせ前の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎ＋１のばね定数とし、
前記第Ｎ＋２の位置合わせ後の多関節ロボットの制御において、前記重力方向のたわみ角を補正するたわみ角補正算出部のばね定数を前記第Ｎ＋２のばね定数とし、
以後ばね定数を前回と今回の位置合わせ時の位置差とばね定数差から求める多関節ロボットの重力たわみ角補正方法とした。
【００１７】
即ち、過去と現在の確認位置での確認位置指令値の位置差を求め、位置差を確認位負荷トルクで除してばね定数の差分を求め、ばね定数の差分を前回のばね定数に加えて新たなばね定数を求める。
【００１８】
そして、請求項５に記載の発明においては、前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記多関節ロボットの出荷時又は稼働初期時とした。これにより、実際の稼働状態での初期値を設定し、経年変化としてとらえることができる。また、稼働後の経過後でも、それから後の経年変化を測定できる。
【００１９】
また、請求項６に記載の発明においては、前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記制御部により前記重力軸を前記角度確認位置となるように回動される理論上の確認位置（角度）指令値と前記確認位置負荷トルクから理論上得られるたわみ量を前記確認位置負荷トルクで除した値をばね定数として記憶するようにした。これにより、エンドエフェクターの交換等があっても理論（計算）上のばね定数から経年変化等を求めることができる。
【００２０】
さらに、請求項７に記載の発明においては、前記第Ｎと第Ｎ＋１の位置合わせの間の稼働時間を記憶し、前記ばね定数差を前記稼働時間で除した値が所定の値を超えたときに信号として出力するようにした多関節ロボットの重力たわみ角補正方法とした。経年変化異常や故障でばね定数の差分が大きくなった場合の検知が可能である。
【００２１】
かかる多関節ロボットの重力たわみ補正方法を行うに当たり、請求項８に記載の発明においては、駆動側軸と、前記駆動側軸に取り付けられたサーボモータと、前記サーボモータに減速機を介して前記駆動側軸に対して回動又は揺動可能にされた従動側軸と、前記サーボモータを駆動する制御部と、を複数個備え、
前記駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかる一組以上の重力軸と、前記重力軸の位置（角度）指令値を出力する位置指令部と、前記位置（角度）指令値から前記重力軸に加わる負荷トルクを計算する負荷トルク算出部と、前記負荷トルクにばね定数を乗じてたわみによる位置（角度）補正量とするたわみ角補正算出部と、前記位置（角度）補正量を前記位置指令値に加えて前記重力軸のサーボモータへ出力する指令値補正部と、を備えた多関節ロボットであって、
前記重力軸に予め所定角度に定めた角度確認位置が設けられており、
前記制御部により前記重力軸が前記角度確認位置となるように位置合わせし、前記重力軸の前記角度確認位置における確認位置（角度）指令値と前記角度確認位置における理論上の確認位置（角度）指令値との差を前記角度確認位置における確認位置負荷トルクで除した値をばね定数とするばね定数算出部と、前記ばね定数を記憶するばね定数記憶部と、を有し、
前記重力軸の位置（角度）指令値から前記負荷トルク算出部で負荷トルクを計算し、該負荷トルクに前記ばね定数記憶部のばね定数を乗じて重力方向のたわみ角を補正するたわみ角補正算出部を有する多関節ロボットの重力たわみ角補正装置を提供する。
【００２２】
また、請求項９に記載の発明においては、前記確認位置負荷トルクは、請求項１記載の前記制御部により前記重力軸が前記角度確認位置となるように位置決めし、前記負荷トルク算出部で前記重力軸の前記角度確認位置における確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算する又は、前記重力軸の前記角度確認位置における理論上の確認位置（角度）指令値から前記重力軸に加わる確認位置負荷トルクを計算する多関節ロボットの重力たわみ角補正装置とする。
【００２３】
さらに、請求項１０に記載の発明においては、前記確認位置負荷トルクを前記制御部により前記重力軸が前記角度確認位置となるように位置決めしたときの前記サーボモータの負荷トルクとした。
【００２４】
また、請求項１１に記載の発明においては、第Ｎ（Ｎは０又は正の整数）番目の前記ばね定数を求めるための位置合わせ時に、前記制御部により前記重力軸を前記角度確認位置となるように回動された時の位置指令値である第Ｎ確認位置（角度）指令値と、前記角度確認位置における理論上の確認位置（角度）指令値との差を前記確認位置負荷トルクで除して第Ｎばね定数とし、少なくとも前記第Ｎ確認位置指令値を記憶する指令記憶部、前記第Ｎばね定数を記憶するばね定数記憶部と、
前記第Ｎの位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋１確認位置（角度）指令値と、前記第Ｎの位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋１ばね定数差とし、
前記第Ｎばね定数と前記Ｎ＋１ばね定数差との和を新たな第Ｎ＋１のばね定数として前記記憶部に記憶するばね定数差分算出部と、を有し、
さらに、前記ばね定数差分算出部は、前記第Ｎ＋１の位置合わせ後に、前記制御部により前記軸を前記角度確認位置となるように回動された時の位置指令である第Ｎ＋２確認位置（角度）指令値と、前記第Ｎ＋１の位置指令値とから位置差を求め、
前記位置差を前記確認位置負荷トルクで除してＮ＋２ばね定数差として計算し、
前記第Ｎ＋１ばね定数と前記Ｎ＋２ばね定数差との和を新たな第Ｎ＋２のばね定数として前記ばね定数記憶部に記憶し、以後ばね定数を前回と今回の位置合わせ時の位置差とばね定数差から求めるようにされている多関節ロボットの重力たわみ角補正装置とした。
【００２５】
さらに、また、請求項１２に記載の発明においては、前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記多関節ロボットの出荷時又は稼働初期時である多関節ロボットの重力たわみ角補正装置とした。
【００２６】
また、請求項１３に記載の発明においては、前記第Ｎの位置合わせの初期値（Ｎ＝０）が、前記制御部により前記重力軸を前記角度確認位置となるように回動される理論上の確認位置（角度）指令値と前記確認位置負荷トルクから理論上得られるたわみ量を前記確認位置負荷トルクで除した値をばね定数として記憶するようにした。
【００２７】
請求項１４に記載の発明においては、前記第Ｎと第Ｎ＋１の位置合わせの間の稼働時間を記憶する稼働時間記憶部と、前記ばね定数差を前記稼働時間で除した値が所定の値（閾値）を超えたときに信号として出力する信号出力部を有する多関節ロボットの重力たわみ角補正装置とした。
【発明の効果】
【００２８】
本発明においては、重力軸に予め所定角度に定めた角度確認位置を設け、制御部により重力軸が角度確認位置となるように位置合わせし、確認位置指令値と理論上の確認位置指令値と、確認位置負荷トルクとからばね定数を求めるようにしたので、構造も簡単で経年誤差もすくない。また、位置測定器を常に設ける必要はなく、配線や検出器等の配置に考慮する必要がない。さらに、検出器の経年変化による影響も少ない等の効果を有する（請求項１、８）。
【００２９】
また、請求項２、９に記載の発明においては、確認位置負荷トルクは、角度確認位置における負荷トルク算出部で確認位置指令値から求めた負荷トルク又は、理論上の確認位置指令値を用いるので、都度計算することなく、テーブル等に記憶させればよく、手順を簡略化できる。
【００３０】
さらに、請求項３、１０に記載の発明においては、動力軸の角度確認位置での確認位置負荷トルクをサーボモータの負荷トルクとしたので、負荷条件の変更時に、再計算条件等の入力が不要であり、ばね定数の設定が簡単になる。
【００３１】
また、請求項４、１１に記載の発明においては、確認位置での過去と現在の確認位置指令値を比較して、ばね定数の差分を求めるようにしたので、ばね定数の経年変化を捉えることができる。また、差分を求めると同時に、最新のばね定数を得ることができる。
【００３２】
さらにまた、請求項５、１２に記載の発明においては、確認位置合わせの初期値を多関節ロボットの出荷時又は稼働初期時とし、稼働状態開始時からの経年変化としてとらえることができ、実際の運転に即した判断ができる。
【００３３】
また、請求項６、１３に記載の発明においては、確認位置となるように回動される確認位置指令値と、理論上の確認位置指令値とから得られたたわみ量を確認位置負荷トルクで除した理論上のばね定数をばね定数とした。このように、理論上のばね定数から経年変化等を求めることができるので、エンドエフェクターの交換があっても、経年変化を評価できるものとなった。
【００３４】
また、請求項７、１４に記載の発明においては、位置合わせの間の稼働時間を記憶し、ばね定数差を稼働時間で除した値が所定の値を超えたときに、信号を出力し、差分の状態を判断できるようにしたので、ばね定数の差分により経年変化による異常や故障の検知が可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態における垂直多関節型の産業用ロボットが経年変化により位置や姿勢が変化した状態を簡略化して示す模式図である。
【図２】本発明の実施の形態における産業用ロボットの関節構造を簡略化して示す部分断面図である。
【図３】本発明の実施の形態における垂直多関節型の産業用ロボットが経年変化により関節部にたわみが発生した状態を簡略化して示す部分側面図である。
【図４】本発明の実施の形態における関節構造の可動側アームと固定側アームの位置あわせを簡略化して示す部分側面図である。
【図５】本発明の実施の形態における垂直多関節型の産業用ロボットの可動アームと固定アームの位置決め作業を位置決め穴とピンを用いて一致させた状態を簡略化して示す部分断面図である。
【図６】本発明の第一の実施の形態における制御部の機能構成を簡略化して示すブロック図である。
【図７】本発明の第二の実施の形態における制御部の機能構成を簡略化して示すブロック図である。
【図８】本発明の第三の実施の形態における制御部の機能構成を簡略化して示すブロック図である。
【図９】本発明の第三の実施の形態における経年変化したばね定数を求める手順を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態について図面に基づいて説明する。代表的なものとして重力軸を有する６軸の多関節産業用ロボットに適用した例について説明する。図１に示すように、多関節ロボット１は、ベース２上に対して垂直の旋回軸３を有し、旋回軸３回りに回転する旋回軸１０及びアーム（リンク）１１、アーム１１軸に対して直角方向に揺動する揺動軸２０及びアーム２１が設けられている。さらに、アーム２１軸に対して直角方向に揺動する揺動軸３０及びアーム３１が設けられている。また、アーム３１軸に対して軸周りに回転する旋回軸４０及びアーム４１、アーム４１軸に対して直角方向に揺動する揺動軸５０及びアーム５１、アーム５１軸に対して軸周りに回転する旋回軸６０及びアーム６１、が設けられている。アーム６１の先端には把持装置や計測装置等のエンドエフェクター７０が取り付けられている。
【００３７】
アーム１１、２１、３１、４１、５１、６１はそれぞれの軸（関節）１０、２０、３０、４０、５０、６０に回転自在に支持された可動側（従動側軸２０ｂ）アームである。また、旋回軸３は軸１０を介してアーム１１の固定側（駆動側軸２０ａ・以下同じ）、アーム１１は軸２０を介してアーム２１の固定側、アーム２１はアーム３０を介してアーム３１の固定側、アーム３１は軸４０を介してアーム４１の固定側、アーム４１はアーム５０を介してアーム５１の固定側、アーム５１はアーム６０を介してアーム６１の固定側となる。
【００３８】
各軸及びアームは、図２に示すように、例えば揺動軸２０（３０、５０）は、アーム１１（２１、４１）に固定された駆動側軸２０ａ（３０ａ，５０ａ）と、駆動側軸に取り付けられ、位置検出器２５を有するサーボモータ２４と、サーボモータに減速機２３を介して駆動側軸に対して揺動可能にされた可動側アーム２１（３１、５１）に接続された従動側軸２０ｂ（３０ｂ，５０ｂ）とからなる。さらに、図１に示すように、各サーボモータはそれぞれのサーボモータ２４を駆動するアーム制御部８０が組み込まれた制御装置７１に接続されている。ここで、軸２０、３０、５０は、駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかる重力軸である。
【００３９】
なお、軸１０、４０、６０は図１のように直線上に配置されている場合は、重力軸とする必要はない。しかし、ロボットの姿勢によって、駆動側及び従動側軸の軸回転方向に重力方向の負荷がかかり、撓みが無視できない場合があるが、その場合は重力軸として扱えばよい。
【００４０】
本発明の重力軸においては予め所定角度に定めた角度確認位置１２，２２が設けられている。角度確認位置は、例えば、図２、３に示すように、それぞれにお互いの位置を一致させることができる位置合わせ用穴１２，２２が設けられている。図４，５に示すように、重力軸２０（３０、５０）を制御部８０により回動させ、ピン１３を穴１２，２２に挿入し、ピンが摺動自在になるように一致させることで精度よく位置あわせができるようになっている。なお、この位置合わせ手段は、このような機械的なものでもよいし、タッチセンサー、近接センサーなど電気的なものでもよい。また、目盛等を設けてもよい。
【００４１】
一方、各重力軸を制御するための制御部８０は、図６に示すように、重力軸の位置（角度）指令値θｎを出力する位置指令部８１と、位置（角度）指令値から重力軸に加わる負荷トルクτ（θｎ）を計算する負荷トルク算出部８５が設けられている。求められた負荷トルクτ（θｎ）にばね定数Ｋ（ｎ）を乗じてたわみによる位置（角度）補正量ｄθｎを算出するたわみ角補正算出部８６と、位置（角度）補正量ｄθｎを位置指令値θｎに加えて重力軸のサーボモータへθを出力する指令値補正部８７を備えている。ばね定数Ｋ（ｎ）はばね定数記憶部８８に記憶されている。指令値補正部８７からサーボモータ２４へは、一般的なサーボモータ制御が行われ、位置ループ８２、速度ループ８３、電流ループ８４回路が設けられている。位置ループ８２はサーボモータ位置検出器２５より、速度ループ８３は位置検出器２５よりの信号を微分Ｓし、電流ループ８４は電流検出部８４ｂよりの信号をそれぞれフィードバックされている。
【００４２】
さらに、本発明の第一の実施の形態においては、ばね定数記憶部８８に記憶すべきばね定数Ｋ（ｎ）を計算するばね定数算出部８９が設けられている。また、角度確認位置での理論上の確認位置指令値θｔｎが記憶されている（９６）。指令により対象重力軸が角度確認位置となるように位置合わせされた状態で、負荷トルク算出部８５で確認位置負荷トルクτｎが出力できるようにされている。この確認位置負荷トルクは図６の点線で示す理論上の値を用いてもよい。ばね定数算出部８９では、角度確認位置における確認位置（角度）指令値θ（ｎ，ｉ）と角度確認位置における理論上の確認位置（角度）指令値θｔｎとの差ｄθ（ｎ，ｉ）＝θ（ｎ，ｉ）−θｔｎを確認位置負荷トルクτｎで除した値Ｋ（ｎ）＝ｄθ（ｎ，ｉ）／τｎをばね定数として出力し、ばね定数記憶部８８に記憶できるようにされている。
【００４３】
かかる第一の実施の形態においては、角度確認位置となるように位置合わせすることにより、容易にばね定数Ｋ（ｎ）を求められる。このばね定数を次回の角度確認位置での位置合わせを行うまで、ばね定数記憶部８８に記憶し、従来と同様なたわみ補正を行えばよい。
【００４４】
次に本発明の第二の実施の形態について説明する。第一の実施の形態と同様な部分については、同符号を付し、説明を省略する。図７に示すように、第一の実施の形態とは確認位置負荷トルクτｎをサーボモータ電流値Ｉから実負荷トルク計算部９７で負荷トルクに換算し、確認位置負荷トルクとして記憶する（９８）。
【００４５】
次に本発明の第三の実施の形態について説明する。第三の実施の形態の特徴は経年時間、変化の状況を考慮した点である。前述したと同様の部分ついては、同符号を付し説明を省略する。図８に示すように、第三の実施の形態においては、前述したばね定数記憶部８８、ばね定数算出部８９′にさらに、前回の角度確認位置での角度確認位置指令値θ（ｎ，Ｎ）を記憶する指令記憶部９０、ばね定数差分算出部９１が設けられている。ばね定数差分算出部９１は、確認位置合わせ後に、軸を角度確認位置となるように回動された時の位置指令値θ（ｎ，Ｎ＋１）から指令記憶部９０の指令値θ（ｎ，Ｎ）を差し引いた値を位置差Δθ（ｎ，Ｎ＋１）として求め、位置差を確認位置負荷トルクτｎで除してばね定数差ΔＫ（ｎ，Ｎ＋１）とし、ばね定数記憶部８８の値Ｋ（ｎ）にばね定数差ΔＫ（ｎ，Ｎ＋１）を足して新たなばね定数Ｋ（ｎ）として、ばね定数記憶部８８に記憶するようにされている。
【００４６】
また、前回から次の角度確認位置合わせまでの稼働時間Ｔを記憶する稼働時間記憶部９２が設けられている。これは各動力軸それぞれに設けても、あるいは全体の稼働時間を共通の稼働時間としてもよい。また、求めたばね定数差ΔＫ（ｎ，Ｎ＋１）を稼働時間Ｔで除し、閾値記録部９３に記録されている所定の値（閾値）Ｕを超えたとき信号９５を出力する信号出力部９４が設けられている。
【００４７】
かかる第三の実施の形態について説明する。前述したように、補正するたわみ角θ（ｎ，ｉ）（ここで、ｎは軸番号、ｉは補正回数を示す）はばね定数に確認位置負荷トルクτｎを乗じたもので近似できる。θ（ｎ，ｉ）＝Ｋ（ｎ，ｉ）×τ（ｎ）であらわされ、ここで、簡単のため負荷トルクはほぼ一定とみなす。ｎはそれぞれ重力軸２０，３０，５０に対応する。
【００４８】
本発明の差分によりばね定数を決定するためには、まず、初期値として、出荷時または稼動当初に図５に示すように確認位置合わせを行い、図１に点線で示すたわみ角θ（ｎ，ｉ）を補正し、その角度指令値θ（ｎ，ｉ）を初期値θ（ｎ，Ｎ）として指令記憶部９０に記録しておく。また、ばね定数Ｋ（ｎ）は理論上のたわみ角θｔｎを確認位置負荷トルクτｎで除した値Ｋ（ｎ，Ｎ）を初期値としてばね定数記憶部８８に記憶させておく。出荷時または稼動当初では角度確認位置を再現させると図５に示すように位置あわせ位置が一致する。
【００４９】
しかし、稼動による経年変化にて、図１の実線に示すように、関節部の剛性が低下し、たわみ角が増加し、θ（ｎ，ｉ＋１）となるため、前記確認位置を再現しても図４に示すよう確認位置合わせ手段にずれが生じる。かかる場合の経年変化した実機関節（重力軸）のばね定数を求める方法を図９のフローチャートに基づいて説明する。
【００５０】
図９に示すように、第１ステップ（Ｓ１）では間接部（軸）に設けられた位置合わせ手段を用いて、前述したと同様の位置あわせを行う。第２ステップ（Ｓ２）で確認位置指令値θ（ｎ，Ｎ＋１）を取得する。さらに、第３ステップ（Ｓ３）では、指令記憶部９０に記録されている前回の位置あわせ時の確認位置指令値θ（ｎ，Ｎ）と現在の確認位置指令値θ（ｎ，Ｎ＋１）の差を求め、たわみ角の変化量Δθ（ｎ，Ｎ＋１）が求められる。
Δθ（ｎ，Ｎ＋１）＝θ（ｎ，Ｎ＋１）−θ（ｎ，Ｎ）・・・（式１）
ここで求めたたわみ角差（変化量）Δθ（ｎ，Ｎ＋１）は、前回実施した軸確認位置合わ
せから経年変化により増加したたわみ角を意味する。
【００５１】
第４ステップ（Ｓ４）では、確認位置合わせ時の軸ｎに加わる負荷トルクτ（ｎ）を確認位置指令値から負荷トルク算出部８５で算出する。なお、負荷トルクは略一定として、都度計算することなく一定の値として記憶しておいてもよい。
【００５２】
第５ステップ（Ｓ５）では、負荷トルクＴ（ｎ）でたわみ角変化量Δθ（ｎ，Ｎ＋１）
を除して、ばね定数差（変化量）ΔＫ（ｎ，Ｎ＋１）を求める。
ΔＫ（ｎ，Ｎ＋１）＝Δθ（ｎ，Ｎ＋１）／Ｔ（ｎ）・・・（式２）
【００５３】
第６ステップ（Ｓ６）では、ばね定数記憶部８８に記録されているばね定数Ｋ（ｎ，Ｎ）にばね定数差ΔＫ（ｎ，Ｎ＋１）を加え、
経年変化が進行した現在のばね定数Ｋ（ｎ，Ｎ＋１）とする。
Ｋ（ｎ，Ｎ＋１）＝Ｋ（ｎ，Ｎ）＋ΔＫ（ｎ，Ｎ＋１）・・・（式３）
【００５４】
第７ステップ（Ｓ７）では、式（３）（Ｓ７）求めた現在のばね定数Ｋ（ｎ，Ｎ＋１）を新たなばね定数とするため、Ｎ＝Ｎ＋１としてばね定数記憶部８８に記録し、経年変化に応じたたわみ角補正量の算出に用いる。また、このばね定数は次回の更新まで使用される。また、確認位置指令値θ（ｎ，Ｎ＋１）を新たな確認位置指令値とするため、Ｎ＝Ｎ＋１として指令記憶部９０に記録する。次回（Ｎ+２）の位置合わせ時には、ステップ１に戻り、これを繰り返す。
【００５５】
このように、初期値を定めた後は、指令記憶部９０に記憶された前の確認位置指令値と、ばね定数記憶部８８に記憶されたばね定数と、後の確認位置指令値を式１乃至式３に代入して新たなばね定数を得ることができる。
【００５６】
ここで、第６ステップで、経年変化が進行した現在のばね定数が（式３）のＫ（ｎ，Ｎ＋１）＝Ｋ（ｎ，Ｎ）＋ΔＫ（ｎ，Ｎ＋１）となることを説明する。まず、初期状態Ｎ＝
０の軸のたわみ角θ（ｎ，０）は、初期状態の関節ばね定数Ｋ（ｎ，０）と軸に加わる負荷トルクＴ（ｎ）を用いて（式４）のように表すことができる。
θ（ｎ，０）＝Ｋ（ｎ，０）×Ｔ（ｎ）・・・（式４）
【００５７】
つぎに経年変化より増加したたわみ角θ（ｎ，１）は、（式５）のように初期状態の関節のたわみ角θ（ｎ，０）にたわみ角の増加分Δθ（ｎ，１）で表すことができる。
θ（ｎ，１）＝θ（ｎ，０）＋Δθ（ｎ，１）・・・（式５）
【００５８】
ここで、θ（ｎ，１）、Δθ（ｎ，１）をそれぞれのばね定数Ｋ（ｎ，１）、ばね定数
差ΔＫ（ｎ，１）で表すと（式６）、（式７）のようになる。
θ（ｎ，１）＝Ｋ（ｎ，１）×Ｔ（ｎ）・・・（式６）
Δθ（ｎ，１）＝ΔＫ（ｎ，１）×Ｔ（ｎ）・・・（式７）
【００５９】
これら（式４）、（式６）、（式７）を（式５）に代入すると（式８）が得られる。
Ｋ（ｎ，１）×Ｔ（ｎ）＝Ｋ（ｎ，０）×Ｔ（ｎ）＋ΔＫ（ｎ，１）×Ｔ（ｎ）・・・（式８)
（式８）の両辺を負荷トルクＴ（ｎ）で除すると、Ｎ＝０の場合の（式３）が得られる。したがって、現在のばね定数Ｋ（ｎ，Ｎ）にばね定数の変化量ΔＫ（ｎ，Ｎ＋１）を（式
３）のように加えることで経年変化が進行した現在のばね定数Ｋ（ｎ，Ｎ＋１）になる。
【００６０】
さらに、確認位置合わせ時に、式３で求めたばね定数差ΔＫ（ｎ，Ｎ＋１）を、稼働時間記憶部９２に記憶されている稼働時間Ｔで除し、所定の値Ｕを超えたとき、信号出力部９４から信号９５を出力し、警報又は非常停止することにより、保守、点検を容易化する。あるいは、確認位置動作の確認不良を検出すること等が可能である。
【符号の説明】
【００６１】
１    多関節ロボット
１２，２２  角度確認位置
２０、３０、５０  重力軸（間接）
２０ａ、３０ａ、５０ａ  駆動側軸
２０ｂ、３０ｂ、５０ｂ  従動側軸
２３  減速機
２４  サーボモータ
７１  制御装置
８０  制御部  ８６  たわみ角補正算出部
８１  位置指令部
８５  負荷トルク算出部
８６  たわみ角補正算出部
８７  指令値補正部
８８  ばね定数記憶部
８９、８９′  ばね定数算出部
９０  指令記憶部
９１  ばね定数差分算出部
９２  稼働時間記憶部
９３  閾値記録部
９４  信号出力部
９５  信号
θｎ  位置（角度）指令値
Ｋ（ｎ）、Ｋ（ｎ，ｉ）  ばね定数
ΔＫ（ｎ，ｉ）  ばね定数差
θ（ｎ，ｉ）  確認位置（角度）指令値
θｔｎ  理論上の確認位置（角度）指令値
ｄθｎ、ｄθ（ｎ，ｉ）  位置（角度）補正量
Δθ（ｎ，ｉ）  位置差
Ｔ    稼働時間
τｎ  確認位置負荷トルク
τ（θｎ）  負荷トルク
Ｕ    閾値
【図１】
2013244540.tif 000003
【図２】
2013244540.tif 000004
【図３】
2013244540.tif 000005
【図４】
2013244540.tif 000006
【図５】
2013244540.tif 000007
【図６】
2013244540.tif 000008
【図７】
2013244540.tif 000009
【図８】
2013244540.tif 000010
【図９】
2013244540.tif 000011