説明

ロボット制御装置

【課題】摩擦補償を適切に行うことでロボットの動作軌跡の精度を適切に高める。
【解決手段】ロボット制御装置3は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量がゼロである状態から出力軸を目標駆動方向に駆動させる場合に、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量が最大弾性変形量に到達した以後では弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置に関する。
【背景技術】
【0002】
モータ軸側ギアが回転することに連動して出力軸側ギアが回転することで出力軸が駆動可能に構成されてなる駆動軸を有するロボットの動作軌跡の精度を高める方法として、送り系のバックラッシに起因するロストモーション量、ギアの弾性変形に起因するロストモーション量及び静摩擦に起因するロストモーション量を予め計算しておき、軸の移動方向が反転する場合に、モータのギアをバックラッシ加速度で送り系のバックラッシに起因するロストモーション量だけ駆動させ、続いて弾性変形加速度でギアの弾性変形に起因するロストモーション量だけ駆動させ、続いて静摩擦加速度で静摩擦に起因するロストモーション量だけ駆動させる方法がある(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−282019号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている方法では理論上ではロボットの動作軌跡の精度を高めることが可能であるが、しかしながら、具体的にどのような動作制御で摩擦補償を行えば良いのかについては開示されておらず、ロボットの動作軌跡の精度を高めることができるという点で不確かな点が多い。
【0005】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができるロボット制御装置を提供することにある。
【課題を解決するための手段】
【0006】
請求項1に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。
【0007】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロである状態から出力軸を目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
【0008】
これにより、モータ軸側ギアと出力軸側ギアとが噛み合っている状態でモータ軸側ギアが回転することに連動して出力軸側ギアが回転する駆動軸の構成では、摩擦補償用トルクをモータ軸に印加すると、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因して弾性変形し、続いて一定量以上の摩擦補償用トルクを印加すると、モータ軸側ギアが回転を開始することに連動して出力軸側ギアが回転を開始するので、例えばロボットの駆動を開始する場合などであり、弾性変形していない停止状態から出力軸を目標駆動方向に駆動させる場合に、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0009】
以下、上記した請求項1に記載した発明の技術的特徴について、図17乃至図19を参照して説明する。上記した請求項1に記載した発明は、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させる点及び摩擦補償用トルクと加速トルクとを切分けて制御している点を特徴としている。
【0010】
理論上、弾性変形を考慮することなく摩擦補償だけを考慮してロボットの動作軌跡の精度を高めるようとする場合には、図17に示すように制御すれば良い。即ち、最大静止摩擦を超える摩擦補償用トルクを一気に(急激に)印加したとしても、ロボットの動作軌跡は線形となるので、静止摩擦分のトルクを加速トルクに加算すれば良い。
【0011】
しかしながら、摩擦補償だけでなく弾性変形をも考慮してロボットの動作軌跡の精度を高めようとする場合、上記した図17に示す技術思想にしたがって最大静止摩擦を超える摩擦補償用トルクを一気に印加すると、ロボットの動作軌跡は理論上では上記した図17に示したものと同様に線形となるが、現実的には制御対象となる物体は理論のように絶対的な硬度を持たず弾性変形する性質であるので、図18に示すように、弾性変形分だけの位置移動が先行し、物体の動作開始時に弾性変形分が戻ることで逆方向への位置移動が発生し、その後に加速トルクにより物体の位置移動が開始するという現象が発生する。即ち、物体の形状の揺り戻しによる動作軌跡のぐらつきが発生し、理論にしたがった動作軌跡とはならず、動作軌跡の精度を高めることは困難である。これは上記した特許文献1の技術に相当する。
【0012】
このような事情から、請求項1に記載した発明では、図19に示すように、摩擦補償用トルクと加速トルクとを切分けて制御し、摩擦補償用トルクを徐々に増加させることで、一旦弾性変形した物体を弾性変形させたままで加速トルクにより位置移動させることが可能となり、動作軌跡の精度を高めることが可能となる。
【0013】
尚、以上に説明した上記した請求項1に記載した発明の技術的特徴は後述する請求項2乃至8に記載した発明の技術的特徴と同様であり、請求項2乃至8に記載した発明は請求項1に記載した発明の技術的特徴と同じ理論に基づく発明である。
【0014】
請求項2に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダ角度と出力軸の回転角度を検出する出力軸側エンコーダ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。
【0015】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロである状態から出力軸を目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
これにより、上記した請求項1に記載したものと弾性変形量を計算する手順が異なるだけであり、上記した請求項1に記載したもの同様の作用効果を得ることができる。
【0016】
請求項3に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、弾性変形量ゼロ角度とモータ軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0017】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
【0018】
これにより、モータ軸側ギアと出力軸側ギアとが噛み合っている状態でモータ軸側ギアが回転することに連動して出力軸側ギアが回転する駆動軸の構成では、摩擦補償用トルクをモータ軸に印加すると、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因して弾性変形し、続いて一定量以上の摩擦補償用トルクを印加すると、モータ軸側ギアが回転を開始することに連動して出力軸側ギアが回転を開始するので、例えばロボットの動作途中で正転を一旦停止して正転を再開する場合などであり、弾性変形している停止状態から出力軸を弾性変形方向と同一方向である目標駆動方向に駆動させる場合に、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0019】
請求項4に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダ角度と出力軸の回転角度を検出する出力軸側エンコーダ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0020】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
これにより、上記した請求項3に記載したものと弾性変形量を計算する手順が異なるだけであり、上記した請求項3に記載したもの同様の作用効果を得ることができる。
【0021】
請求項5に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、弾性変形量ゼロ角度とモータ軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0022】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後にモータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
【0023】
これにより、モータ軸側ギアと出力軸側ギアとが噛み合っている状態でモータ軸側ギアが回転することに連動して出力軸側ギアが回転する駆動軸の構成では、摩擦補償用トルクをモータ軸に印加すると、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因して弾性変形し、続いて一定量以上の摩擦補償用トルクを印加すると、モータ軸側ギアが回転を開始することに連動して出力軸側ギアが回転を開始するので、例えばロボットの動作途中で正転を一旦停止して反転を開始する場合など、弾性変形している停止状態から出力軸を弾性変形方向と反対方向である目標駆動方向に駆動させる場合に、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0024】
請求項6に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダ角度と出力軸の回転角度を検出する出力軸側エンコーダ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0025】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後にモータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
これにより、上記した請求項5に記載したものと弾性変形量を計算する手順が異なるだけであり、上記した請求項5に記載したもの同様の作用効果を得ることができる。
【0026】
請求項7に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、弾性変形量ゼロ角度とモータ軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0027】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロである状態から出力軸を目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させ、又、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させ、更に、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後にモータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
【0028】
これにより、例えばロボットの駆動を開始する場合などであり、弾性変形していない停止状態から出力軸を目標駆動方向に駆動させる場合、例えばロボットの動作途中で正転を一旦停止して正転を再開する場合などであり、弾性変形している停止状態から出力軸を弾性変形方向と同一方向である目標駆動方向に駆動させる場合、例えばロボットの動作途中で正転を一旦停止して反転を開始する場合など、弾性変形している停止状態から出力軸を弾性変形方向と反対方向である目標駆動方向に駆動させる場合に、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0029】
請求項8に記載した発明によれば、最大弾性変形量角度記憶手段は、モータ軸のねじれ、モータ軸とモータ軸側ギアとの接続箇所のねじれ、モータ軸側ギアの変形、出力軸側ギアの変形及び出力軸側ギアと出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する。弾性変形量計算手段は、モータ軸の回転角度を検出するモータ軸側エンコーダ角度と出力軸の回転角度を検出する出力軸側エンコーダ角度との差分が最大弾性変形量角度を超えているか否かを判定し、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていなければ、モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が最大弾性変形量角度を越えていれば、モータ軸側エンコーダ角度を動作開始時の角度として判定する。弾性変形方向検出手段は、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分が示す正負を判定してモータ軸側ギアの弾性変形方向を検出する。
【0030】
モータ制御手段は、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロである状態から出力軸を目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させ、又、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させ、更に、モータ軸側ギアと出力軸側ギアとが停止しており且つ弾性変形量計算手段により計算された弾性変形量がゼロでない状態から出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後にモータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、出力軸を目標駆動方向に駆動させる。
これにより、上記した請求項7に記載したものと弾性変形量を計算する手順が異なるだけであり、上記した請求項7に記載したもの同様の作用効果を得ることができる。
【図面の簡単な説明】
【0031】
【図1】本発明の一実施形態を示す機能ブロック図
【図2】ロボット制御システムの全体構成を示す図
【図3】軸の駆動部分を概略的に示す図
【図4】フローチャート
【図5】図4相当図
【図6】図4相当図
【図7】図4相当図
【図8】モータ軸側ギアが動作開始時に弾性変形する態様を示す図及び摩擦補償用トルクの推移を示す図
【図9】図8相当図
【図10】図8相当図
【図11】モータ軸側ギアが動作停止時に弾性変形する態様を示す図及び摩擦補償用トルクの推移を示す図
【図12】図11相当図
【図13】外乱力及び摩擦に対する積分補償及び摩擦補償を概略的に示す図
【図14】図13相当図
【図15】図13相当図
【図16】測定結果を示す図
【図17】本発明の原理を説明する図
【図18】図17相当図
【図19】図17相当図
【発明を実施するための形態】
【0032】
以下、本発明の一実施形態について、図面を参照して説明する。図2は、ロボット制御システムの全体構成を示している。ロボット制御システム1は、例えば6軸の垂直多関節型ロボットからなるロボット2と、ロボット2の動作を制御するロボット制御装置3と、作業者が操作するティーチングペンダンド4とを備えて構成されている。
【0033】
ロボット2は、ベース5と、ベース5に水平方向に旋回可能に支持されているショルダ部6と、ショルダ部6に上下方向に旋回可能に支持されている下アーム7と、下アーム7に上下方向に旋回可能に支持されている第1の上アーム8と、第1の上アーム8の先端部に捻り回転可能に支持されている第2の上アーム9と、第2の上アーム9に上下方向に回転可能に支持されている手首10と、手首10に回転(捻り動作)可能に支持されているフランジ11とを備えて構成されている。
【0034】
上記したベース5を含め、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10及びフランジ11は、ロボット2におけるリンクとして機能し、ベース5を除く各リンクは前段のリンクに対して回転関節により回転可能に連結されている。最先端のリンクであるフランジ11にはワークを把持するためのハンド(図示せず)が取付け可能になっている。
【0035】
尚、本実施形態では、第1のリンクであるベース5と第2のリンクであるショルダ部6との間を連結する回転関節の関節軸を1軸、第2のリンクであるショルダ部6と第3のリンクである下アーム7との間を連結する回転関節の関節軸を2軸、第3のリンクである下アーム7と第4のリンクである第1の上アーム8との間を連結する回転関節の関節軸を3軸、第4のリンクである第1の上アーム8と第5のリンクである第2の上アーム9との間を連結する回転関節の関節軸を4軸、第5のリンクである第2の上アーム9と第6のリンクである手首10との間を連結する回転関節の関節軸を5軸、第6のリンクである手首10と第7のリンクであるフランジ11との間を連結する回転関節の関節軸を6軸として図示している。
【0036】
図1は、ロボット制御装置3及びロボット2の電気的な構成を機能ブロック図により示している。ロボット制御装置3は、マイクロコンピュータからなるCPU12(本発明でいう最大弾性変形量角度記憶手段、弾性変形量計算手段、弾性変形方向検出手段、モータ制御手段)と、CPU12からの動作指令に基づいて駆動信号をロボット2に出力する駆動回路13と、ロボット2の動作プログラムなどを記憶するRAM14と、ロボット2のシステムプログラムや動作プログラムを作成するためのロボット言語などを記憶するROM15とを備えて構成されている。ロボット2は、ショルダ部6、各アーム7〜9、手首10及びフランジ11を駆動させるモータ16と、モータ16の回転角度を検出するエンコーダ17とを備えている。尚、これらモータ16及びエンコーダ17はリンク毎に設けられている。
【0037】
CPU12は、リンク毎のエンコーダ17から入力したエンコーダ角度(エンコーダ値)に基づいてベース5に対するショルダ部6の回転角度、ショルダ部6に対する下アーム7の回転角度、下アーム7に対する第1の上アーム8の回転角度、第1の上アーム8に対する第2の上アーム9の回転角度、第2の上アーム9に対する手首10の回転角度、手首10に対するフランジ11の回転角度を検出し、ロボット2の位置(姿勢)を検出すると共に、エンコーダ角度をフィードバック制御して駆動回路13から駆動信号を出力させ、それらショルダ部6、各アーム7〜9、手首10及びフランジ11の動作を制御する。
【0038】
ロボット2における各軸の駆動部分は、図3に示すように、モータ16のモータ軸18に取付けられているモータ軸側ハーモニックギア(以下、モータ軸側ギアと称する)19と出力軸20に取付けられている出力軸側ハーモニックギア(以下、出力軸側ギアと称する)21とが噛み合っており、ロボット制御装置3からモータ16に駆動信号が出力されてトルク指令値が与えられることでモータ16がモータ軸側ギア19を回転させ、モータ軸側ギア19が回転されることに追従して出力軸側ギア21が回転されるように構成されている。尚、これ以降、モータ軸18の回転角度を検出するエンコーダ17が出力するエンコーダ角度をモータ軸側エンコーダ角度として定義し、出力軸20の回転角度を検出するエンコーダが出力するエンコーダ角度を出力軸側エンコーダ角度として定義する。
【0039】
上記した構成では、モータ軸18のねじれ、モータ軸18とモータ軸側ギア19との接続箇所のねじれ、モータ軸側ギア19の変形、出力軸側ギア21の変形及び出力軸側ギア21と出力軸20との接続箇所のねじれに起因する弾性変形が発生する。このような事情から、本実施形態ではCPU12は以下に示す制御を行う。以下、上記した構成の作用として、CPU12が本発明に関連して行う制御を図4乃至図16を参照して説明する。ロボット制御装置3において、CPU12は、RAM14に記憶されている動作プログラムを実行して所定周期(サンプリング単位周期)で以下に示すメイン処理を実行する。
【0040】
CPU12は、実行中にある動作プログラムから目標角度指令を取得すると(ステップS1)、その目標角度指令により指示されている目標角度(目標値)とエンコーダ17から入力しているモータ軸側エンコーダ角度とに基づいて指令速度を計算し(ステップS2)、計算した指令速度とエンコーダ速度とに基づいてトルク指令値を計算する(ステップS3)。そして、CPU12は、現在のモータ軸側エンコーダ角度と現在の出力軸側エンコーダ角度とに基づいて弾性変形量を更新する弾性変形量更新処理に移行する(ステップS4)。
【0041】
CPU12は、メイン処理から弾性変形量更新処理に移行すると、現在の出力軸側エンコーダ角度を制御視点角度とし、制御視点角度から現在のモータ軸側エンコーダ角度を減算した値を弾性変形量として計算し(ステップS11)、その計算した弾性変形量と予め記憶している正方向の最大弾性変形量及び負方向の弾性変形量との大小関係を比較判定する(ステップS12、S13)。ここで、CPU12は、計算した弾性変形量が正方向の最大弾性変形量を超えていなく(同等又は小さく)且つ負方向の最大弾性変形量を超えていない(同等又は大きい)と判定すると(ステップS12にて「NO」、S13にて「NO」)、モータ軸側ギア19が弾性変形中であると判定し、現在の弾性変形量を維持し(ステップS14)、弾性変形量更新処理を終了してメイン処理に戻り、弾性変形量から摩擦補償用トルクを決定する摩擦補償用トルク決定処理に移行する(ステップS5)。
【0042】
一方、CPU12は、計算した弾性変形量が正方向の最大弾性変形量を超えていると判定すると(ステップS12にて「YES」)、モータ軸側ギア19が弾性変形中でないと判定し、その正方向の最大弾性変形量を弾性変形量として設定し(ステップS15)、正方向の最大弾性変形量と現在のモータ軸側エンコーダ角度とを加算した値を制御視点角度として計算し(ステップS16)、弾性変形量更新処理を終了してメイン処理に戻り、摩擦補償用トルク決定処理に移行する(ステップS5)。
【0043】
又、CPU12は、計算した弾性変形量が負方向の最大弾性変形量を超えていると判定すると(ステップS13にて「YES」)、モータ軸側ギア19が弾性変形中でないと判定し、その負方向の最大弾性変形量を弾性変形量として設定し(ステップS17)、負方向の最大弾性変形量と現在のモータ軸側エンコーダ角度とを加算した値を制御視点角度として計算し(ステップS18)、弾性変形量更新処理を終了してメイン処理に戻り、摩擦補償用トルク決定処理に移行する(ステップS5)。
【0044】
次いで、CPU12は、メイン処理から摩擦補償用トルク決定処理に移行すると、目標方向と弾性変形方向とを比較し、目標方向と弾性変形方向とが逆方向であるか否かを判定する(ステップS21)。ここで、CPU12は、目標方向と弾性変形方向とが逆方向であると判定すると(ステップS21にて「YES」)、摩擦補償用トルクを減少させ(ステップS22)、摩擦補償用トルク決定処理を終了してメイン処理に戻り、停止時のチャタリングを防止する停止時チャタリング防止処理に移行する(ステップS6)。
【0045】
又、CPU12は、目標方向と弾性変形方向とが逆方向でないと判定すると(ステップS21にて「NO」)、弾性変形量が最大弾性変形量であるか否かを判定し(ステップS23)、弾性変形量が最大弾性変形量でないと判定すると(ステップS23にて「NO」)、摩擦補償用トルクを増加させ(ステップS24)、摩擦補償用トルク決定処理を終了してメイン処理に戻り、停止時チャタリング防止処理に移行する(ステップS6)。一方、CPU12は、弾性変形量が最大弾性変形量であると判定すると(ステップS23にて「YES」)、予め設定されている最大補償トルクを摩擦補償用トルクとして設定し(ステップS25)、摩擦補償用トルク決定処理を終了してメイン処理に戻り、停止時チャタリング防止処理に移行する(ステップS6)。
【0046】
次いで、CPU12は、メイン処理から停止時チャタリング防止処理に移行すると、計算した指令速度がゼロであるか否か(ロボット2の動作停止命令であるか否か)を判定する(ステップS31)。CPU12は、指令速度がゼロでないと判定すると(ステップS31にて「NO」)、指令速度ゼロフラグをオンに設定しているか否かを判定し(ステップS32)、指令速度ゼロフラグをオンに設定していないと判定すると(ステップS32にて「NO」)、現在の摩擦補償用トルクを保存補償トルクとして設定し(ステップS33)、停止時チャタリング防止処理を終了してメイン処理に戻る。そして、CPU12は、摩擦補償用トルクをトルク指令値に加算し(ステップS7)、メイン処理を終了する。
【0047】
ここで、CPU12は、指令速度がゼロであると判定すると(ステップS31にて「YES」)、指令速度ゼロフラグをオフに設定しているか否かを判定し(ステップS34)、指令速度ゼロフラグをオフに設定していると判定すると(ステップS34にて「YES」)、指令速度ゼロフラグをオンに設定し(ステップS35)、現在の保存補償トルクを摩擦補償用トルクとして設定し(ステップS36)、停止時チャタリング防止処理を終了してメイン処理に戻る。そして、CPU12は、摩擦補償用トルクをトルク指令値に加算し(ステップS7)、メイン処理を終了する。即ち、CPU12は、ロボット2の動作停止時には、ロボット2の動作を停止させる直前の摩擦補償用トルクを維持する。
【0048】
次いで、CPU12は、指令速度がゼロでないと判定し(ステップS31にて「NO」)、指令速度ゼロフラグをオンに設定していると判定すると(ステップS32にて「YES」)、指令速度ゼロフラグをオフに設定し(ステップS37)、外乱力に対する補償を行う積分補償の状態量を次に示す計算式にしたがって計算する(ステップS38)。
積分補償の状態量←積分補償の状態量−(保存補償トルク−摩擦補償用トルク)/積分補償ゲイン
【0049】
そして、CPU12は、現在の摩擦補償用トルクを保存補償トルクとして設定し(ステップS33)、停止時チャタリング防止処理を終了してメイン処理に戻る。そして、CPU12は、摩擦補償用トルクをトルク指令値に加算し(ステップS7)、メイン処理を終了する。
【0050】
尚、上記した処理では、現在の出力軸側エンコーダ角度を制御視点角度とし、モータ軸側エンコーダ角度と出力軸側エンコーダ角度との差分に基づいて弾性変形量を計算する方法を説明したが、エンコーダ17が電源投入時に示す角度を弾性変形量ゼロ角度とし、モータ軸側エンコーダ角度と弾性変形量ゼロ角度との差分に基づいて弾性変形量を計算するようにしても良い。
【0051】
又、このようにモータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させる点及び摩擦補償用トルクと加速トルクとを切分けて制御している点を特徴とするのは、前述した「課題を解決するための手段」で説明した通りである。
【0052】
図8乃至図10は、モータ軸側ギア19が動作開始時に弾性変形する態様及び摩擦補償用トルクの推移を示しており、図11及び図12は、モータ軸側ギア19が動作停止時に弾性変形する態様及び摩擦補償用トルクの推移を示している。尚、図8乃至図12中では、「a1」は制御視点角度を示しており、「a2」はモータ軸側エンコーダ角度を示している。
【0053】
図8は、モータ軸側ギア19の弾性変形量がゼロである状態から出力軸20を目標駆動方向に駆動させる場合を示しており、この場合は、摩擦補償用トルクがゼロの状態から摩擦補償用トルクをモータ軸側ギア19の弾性変形量が最大弾性変形量に達するまで正比例的に増加させ、モータ軸側ギア19の弾性変形量が最大弾性変形量に達した以後は一定値とする。即ち、摩擦補償用トルクが最大補償トルクを超えない領域では弾性変形し、摩擦補償用トルクが最大補償トルクを超えた領域では最大弾性変形量まで変形して出力軸20が動作開始する。
【0054】
図9は、モータ軸側ギア19の弾性変形量がゼロでない状態から出力軸20を目標駆動方向に駆動させる場合であり、出力軸を弾性変形方向と同一方向である目標駆動方向に駆動させる場合を示しており、この場合は、摩擦補償用トルクが所定値の状態から摩擦補償用トルクをモータ軸側ギア19の弾性変形量が最大弾性変形量に達するまで正比例的に増加させ、モータ軸側ギア19の弾性変形量が最大弾性変形量に達した以後は一定値とする。即ち、摩擦補償用トルクが最大補償トルクを超えた領域では最大弾性変形量まで変形して最初の弾性変形方向と同一方向に出力軸20が動作開始する。
【0055】
図10は、モータ軸側ギア19の弾性変形量がゼロでない状態から出力軸20を目標駆動方向に駆動させる場合であり、出力軸を弾性変形方向と反対方向である目標駆動方向に駆動させる場合を示しており、この場合は、摩擦補償用トルクが所定値の状態から摩擦補償用トルクをモータ軸側ギア19の弾性変形量が最大弾性変形量に達するまで正比例的に減少させ、モータ軸側ギア19の弾性変形量が最大弾性変形量に達した以後は一定値とする。即ち、摩擦補償用トルクが最大補償トルクを超えた領域では最大弾性変形量まで変形して最初の弾性変形方向と反対方向に出力軸20が動作開始する。
【0056】
図11は、出力軸側ギア21が目標位置を通過することなく停止した場合を示しており、この場合は、出力軸側ギア21が目標位置で停止した状態の摩擦補償用トルクを維持する。図12は、出力軸側ギア21が目標位置を通過して停止した場合を示しており、この場合は、出力軸側ギア21を目標位置まで戻すために摩擦補償用トルクを減少させ、出力軸側ギア21が目標位置で停止した状態の摩擦補償用トルクを維持する。
【0057】
ところで、上記したように摩擦補償を実施した場合では、理論上では振動することなくロボット2が動作停止すると考えられるか、実際には僅かな補償誤差や外乱力(主には重力)に起因して振動が発生する。そのため、ロボット2の動作停止時には摩擦補償を停止する必要があるが、単純に摩擦補償をオンオフする制御では不連続な部分が発生して新たな振動が発生する要因となる。即ち、図13に示すように、外乱力及び摩擦の和と積分補償及び摩擦補償の和とが同じであり両者の均衡が保たれている状況から摩擦が変化すると、摩擦が変化したことに追従して摩擦補償が変化することで、両者の均衡が継続して保たれることになる。
【0058】
一方、図14に示すように、外乱力及び摩擦の和と積分補償及び摩擦補償の和とが同じであり両者の均衡が保たれている状況で摩擦補償をオフすると、摩擦補償をオフした分だけ両者の均衡が崩れる。そして、両者の均衡が崩れると、オフした分の摩擦補償を時間が経過するにしたがって積分補償が補うことになり、その結果、両者の均衡が保たれるようになる。しかしながら、オフした分の摩擦補償を積分補償が補ったままの状況でロボット2の動作開始時(動作開始直後)に摩擦補償をオンすると、摩擦補償をオンした分だけ両者の均衡が崩れることになる。
【0059】
そこで、本実施形態では、図15に示すように、外乱力及び摩擦の和と積分補償及び摩擦補償の和とが同じであり両者の均衡が保たれている状況では摩擦補償をオフすることなく更新を停止する。即ち、ロボット2の動作停止直後では両者の均衡が保たれるようになる。その状況から時間経過にしたがって摩擦及び外乱力が変化すると、摩擦補償の更新を停止しているので、それら摩擦及び外乱力の変化分を積分補償が補うことで、両者の均衡が継続して保たれる。そして、ロボット2の動作開始時に摩擦補償の更新を再開し、更新を停止した時点から摩擦補償が変化することで摩擦と摩擦補償との均衡は保たれるが、その分、それまでに摩擦の変化分を補っていた積分補償に相当する分の補償量だけ均衡が崩れることになる。したがって、均衡を保つために、ロボット2の動作開始時の積分補償用トルク(状態量)を次式にしたがって計算して変更する。
【0060】
ロボットの動作開始時の積分補償の状態量(図15中(1)参照)
=ロボットの動作開始直前の積分補償の状態量(図15中(2)参照)−(ロボットの動作開始時の摩擦補償の状態量(図15中(3)参照)−ロボットの動作開始直前の摩擦補償の状態量(図15中(4)参照))
上記した計算式における(ロボットの動作開始時の摩擦補償の状態量−ロボットの動作開始直前の摩擦補償の状態量)は補正量に相当する。
【0061】
尚、上記した図15では、ロボット2の動作停止中に摩擦が増加したことで積分補償を加えたので、その加えた分を結果的に減じる場合を説明したが、これとは反対に、ロボット2の動作停止中に摩擦が低下したことで積分補償を減じた場合には、その減じた分を結果的に加えることになり、その場合も、不連続となることはなく、両者の均衡が継続して保たれることになる。
【0062】
図16は摩擦補償及び停止時チャタリング防止処理を行ったか否かによる動作中及び動作停止後の振動の発生状況を示す図であり、(a)は摩擦補償を行わなかった場合での振動の発生状況を示しており、(b)は摩擦補償を行わったが停止時チャタリング防止処理を行わなかった場合での振動の発生状況を示しており、(c)は摩擦補償を行って停止時チャタリング防止処理を行った場合での振動の発生状況を示している。図16から明らかなように、摩擦補償を行った場合には、摩擦補償を行わなかった場合に比べて、動作中には振動の発生が抑制されるが、その一方で、動作停止後には逆に振動が発生している。しかしながら、摩擦補償を行った後に上記した積分補償の状態量を変化させることで、摩擦補償を行わなかった場合と同程度まで振動の発生が抑制される。
【0063】
以上に説明したように本実施形態によれば、ロボット制御装置3において、モータ軸側ギア19と出力軸側ギア21とが停止しており且つ弾性変形量がゼロである状態から出力軸20を目標駆動方向に駆動させる場合に、モータ軸側ギア19に印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量が最大弾性変形量に到達した以後では弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加するように構成したので、例えばロボット2の駆動を開始する場合などであり、弾性変形していない停止状態から出力軸20を目標駆動方向に駆動させる場合に、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボット2の動作軌跡の精度を適切に高めることができる。
【0064】
又、モータ軸側ギア19と出力軸側ギア21とが停止しており且つ弾性変形量がゼロでない状態から出力軸20を弾性変形方向と同一方向である目標駆動方向に駆動させる場合に、モータ軸側ギア19に印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量が最大弾性変形量に到達した以後では弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加するように構成したので、例えばロボット2の動作途中で正転を一旦停止して正転を再開する場合などであり、弾性変形している停止状態から出力軸20を弾性変形方向と同一方向である目標駆動方向に駆動させる場合にも、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0065】
又、モータ軸側ギア19と出力軸側ギア21とが停止しており且つ弾性変形量がゼロでない状態から出力軸20を弾性変形方向と反対方向である目標駆動方向に駆動させる場合に、モータ軸側ギア19に印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後にモータ軸側ギア19に印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、弾性変形量が最大弾性変形量に到達した以後では弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加するように構成したので、例えばロボット2の動作途中で正転を一旦停止して正転を再開する場合などであり、弾性変形している停止状態から出力軸20を弾性変形方向と反対方向である目標駆動方向に駆動させる場合にも、このように弾性変形することを考慮して摩擦補償用トルクを印加することで摩擦補償を適切に行うことができ、ロボットの動作軌跡の精度を適切に高めることができる。
【0066】
更に、ロボット2の動作停止時では摩擦補償をオフすることなく更新を停止し、ロボット2の動作再開時では、ロボット2の動作再開時の摩擦補償とロボット2の動作再開直前の摩擦補償との差分を補正量として計算し、ロボット2の動作再開時の積分補償をロボット2の動作開始直前の積分補償から補正量を差引くことで計算するように構成したので、ロボット2の動作再開直後においても外乱力及び摩擦の和と積分補償及び摩擦補償の和との間で両者の均衡を保つことができ、ロボット2の動作開始から動作停止までの全体の動作軌跡の精度をより高めることができる。又、このように積分補償の状態量を変化させるだけで良いので、制御系の安定性に悪影響を与えることなく、単純な演算だけで実装可能である。
【0067】
本発明は、上記した実施形態にのみ限定されるものではなく、以下のように変形又は拡張することができる。
対象とするロボットは6軸の垂直多関節型ロボットに限らず他のロボットであっても良い。
【符号の説明】
【0068】
図面中、2はロボット、3はロボット制御装置、12はCPU(最大弾性変形量角度記憶手段、弾性変形量計算手段、弾性変形方向検出手段、モータ制御手段)、16はモータ、18はモータ軸、19モータ軸側ギア、20は出力軸、21は出力軸側ギアである。

【特許請求の範囲】
【請求項1】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、前記モータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された弾性変形量がゼロである状態から前記出力軸を目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項2】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記出力軸の回転角度を検出する出力軸側エンコーダが検出した角度である出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された弾性変形量がゼロである状態から前記出力軸を目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項3】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、前記モータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記弾性変形量ゼロ角度と前記モータ軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項4】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記出力軸の回転角度を検出する出力軸側エンコーダが検出した角度である出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項5】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、前記モータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記弾性変形量ゼロ角度と前記モータ軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後に目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項6】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記出力軸の回転角度を検出する出力軸側エンコーダが検出した角度である出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後に前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項7】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが電源投入時に示す角度を弾性変形量ゼロ角度とし、前記モータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記弾性変形量ゼロ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記弾性変形量ゼロ角度と前記モータ軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された弾性変形量がゼロである状態から前記出力軸を目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させ、又、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させ、更に、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後に前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。
【請求項8】
モータ軸側ギアと出力軸側ギアとが噛み合っている状態で前記モータ軸側ギアが回転することに連動して前記出力軸側ギアが回転することで前記出力軸が駆動可能に構成されてなる駆動軸の動作を制御するロボット制御装置において、
前記モータ軸のねじれ、前記モータ軸と前記モータ軸側ギアとの接続箇所のねじれ、前記モータ軸側ギアの変形、前記出力軸側ギアの変形及び前記出力軸側ギアと前記出力軸との接続箇所のねじれに起因する変形を弾性変形としてそれらの合算値である弾性変形量の最大値を最大弾性変形量角度として記憶する最大弾性変形量角度記憶手段と、
前記モータ軸の回転角度を検出するモータ軸側エンコーダが検出した角度であるモータ軸側エンコーダ角度と前記出力軸の回転角度を検出する出力軸側エンコーダが検出した角度である出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えているか否かを判定し、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えていない場合に前記モータ軸側エンコーダ角度を弾性変形中の角度として判定して弾性変形量を計算し、一方、前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が前記最大弾性変形量角度を超えている場合に前記モータ軸側エンコーダ角度を動作開始時の角度として判定する弾性変形量計算手段と、
前記モータ軸側エンコーダ角度と前記出力軸側エンコーダ角度との差分が示す正負を判定して前記モータ軸側ギアの弾性変形方向を検出する弾性変形方向検出手段と、
前記モータ軸側ギアに摩擦補償用トルクを印加するモータ制御手段とを備え、
前記モータ制御手段は、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された弾性変形量がゼロである状態から前記出力軸を目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させ、又、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と同一方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させ、更に、前記モータ軸側ギアと出力軸側ギアとが停止しており且つ前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量がゼロでない状態から前記出力軸を弾性変形方向検出手段により検出された弾性変形方向と反対方向である目標駆動方向に駆動させる場合には、前記モータ軸側ギアに印加する目標駆動方向とは反対方向への摩擦補償用トルクを徐々に減少させた後に前記モータ軸側ギアに印加する目標駆動方向への摩擦補償用トルクを徐々に増加させ、前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した以後では前記弾性変形量計算手段により計算された前記モータ軸側ギアの弾性変形量が最大弾性変形量に到達した時点での摩擦補償用トルクを一定値として印加し、前記出力軸を目標駆動方向に駆動させることを特徴とするロボット制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2010−214560(P2010−214560A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−66137(P2009−66137)
【出願日】平成21年3月18日(2009.3.18)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】