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