(57)【要約】【課題】装着物に加わる外力又はトルクを許容範囲内とし、動作時間の延長を防止する。【解決手段】ロボット制御装置２は、動作開始時の各関節１２の位置と、動作終了後の各関節の位置と、予め指定された各関節の動作速度と、各関節における許容トルク又は許容加速度と、に基づいて各関節の動作開始から動作終了までの速度カーブを計算する速度カーブ算出手段２１と、速度カーブ算出手段により算出された速度カーブに基づいて、アームに取り付けられる装着物１８（１５，１６，１７）にかかる外力又はトルクを算出する負荷算出手段２３と、装着物の許容外力又は許容トルクに対する負荷算出手段により算出された装着物にかかる外力又はトルクの比率を算出する比率算出手段２４と、算出された比率が１を超えた場合に、速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数を乗じて速度カーブを補正する補正手段２５と、を備える。【選択図】図１
2009028851.tif 000002
【特許請求の範囲】
【請求項１】
複数のアームが関節によって回転自在に連結されたロボットの駆動を制御するロボット制御装置において、
動作開始時の各関節の位置と、動作終了後の各関節の位置と、予め指定された各関節の動作速度と、各関節における許容トルク又は許容加速度と、に基づいて各関節の動作開始から動作終了までの速度カーブを計算する速度カーブ算出手段と、
前記速度カーブ算出手段により算出された速度カーブに基づいて、前記アームに取り付けられる装着物にかかる外力又はトルクを算出する負荷算出手段と、
前記装着物の許容外力又は許容トルクに対する前記負荷算出手段により算出された前記装着物にかかる外力又はトルクの比率を算出する比率算出手段と、
前記比率算出手段により算出された比率が１を超えた場合に、前記速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数を乗じて前記速度カーブを補正する補正手段と、
を備えることを特徴とするロボット制御装置。
【請求項２】
各関節の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブに合わせて、他の関節の速度カーブにおける加速時間及び減速時間を前記一の関節の速度カーブにおける加速時間及び減速時間に一致させるようにそれぞれの関節の速度カーブを再算出する速度カーブ再算出手段を備えることを特徴とする請求項１に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節を有するロボットの駆動を制御するロボット制御装置に関する。
【背景技術】
【０００２】
産業用ロボットは主に腕構造からなり、垂直多関節構造のロボットが代表的な構造である。このようなロボットの各関節にはサーボモータが取り付けられ、減速機を介して、それぞれの軸が適切な速度及び加減速度で動作する（例えば、特許文献１参照。）。この加減速度を決定する場合、多くの場合、モータの出力可能なトルクや加減速度、各軸に取り付けられた減速機が壊れない許容トルクや許容加減速度を満足するように決定され、通常の産業用ロボットにおいては、そのモータや減速機の許容トルクや許容加減速度を満足するように動作した場合、ロボット本体は故障しないように設計されている。
【特許文献１】特開平１１−３３９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、ロボット本体に取り付けられるツールや、ツールに取り付けられた信号ケーブルを固定しておく台などをロボット本体に取り付ける場合、そのツールや台も動作によって加わる力やトルクによって故障や破損しないように十分な剛性を持って設計されなくてはならない。
そのため、ロボットが動作する加速度や速度の最悪値を見積もって剛性を設計する必要がある。その結果、その最悪値での動作以外の動作においては必要以上の剛性となってしまう。また、剛性アップのために生じる重量アップにより、モータや減速機に加わるトルクが増加するため、動作速度や加減速度を常時落とさなくてはならなくなり、作業時間が必要以上に延長してしまうという問題がある。
【０００４】
このような問題に対して、上記の特許文献１においては、ロボットがワークを把持している場合、各軸の許容加速度を変更して動作させる旨が提案されているが、ワーク把持中は許容加速度を常時低下させることには代わりはなく、動作時間の延長は避けられない。
従って、ツールやロボット本体に取り付けられた負荷に対して加わる力やトルクを許容値以内に抑える必要があるが、モータや減速機のトルクは、直接各関節の加減速で制御できるのだが、ツールに加わる外力やトルクは各関節の加減速によって制御することはできなかった。
【０００５】
例えば、ツール先端位置をあまり変化させないでツール姿勢を変化させる場合、ツールの直線動作は生じないため力がほとんど加わらない。そのため、ツールの許容外力又は許容トルクによっては制限されず、ロボットは各軸の許容外力又は許容トルクにて動作すればよい。しかし、従来からの方法、例えば、特許文献１の場合のようにツールを把持している間は、加速度を落とすことになるため、動作時間が延長してしまうという問題があった。
【０００６】
そこで、本発明は、上記の問題を解決するためになされたものであり、ツール等に加わる外力又はトルクが許容値を超えないようにするとともに、動作時間の延長を防止することができるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、複数のアームが関節によって回転自在に連結されたロボットの駆動を制御するロボット制御装置において、
動作開始時の各関節の位置と、動作終了後の各関節の位置と、予め指定された各関節の動作速度と、各関節における許容トルク又は許容加速度と、に基づいて各関節の動作開始から動作終了までの速度カーブを計算する速度カーブ算出手段と、
前記速度カーブ算出手段により算出された速度カーブに基づいて、前記アームに取り付けられる装着物にかかる外力又はトルクを算出する負荷算出手段と、
前記装着物の許容外力又は許容トルクに対する前記負荷算出手段により算出された前記装着物にかかる外力又はトルクの比率を算出する比率算出手段と、
前記比率算出手段により算出された比率が１を超えた場合に、前記速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数を乗じて前記速度カーブを補正する補正手段と、
を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のロボット制御装置において、
各関節の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブに合わせて、他の関節の速度カーブにおける加速時間及び減速時間を前記一の関節の速度カーブにおける加速時間及び減速時間に一致させるようにそれぞれの関節の速度カーブを再算出する速度カーブ再算出手段を備えることを特徴とする。
【発明の効果】
【０００９】
請求項１に記載の発明によれば、速度カーブ算出手段は、動作開始時の各関節の位置と、動作終了後の各関節の位置と、予め指定された各関節の動作速度と、各関節における許容トルク又は許容加速度と、に基づいて各関節の動作開始から動作終了までの速度カーブを計算する。
次いで、負荷算出手段は、速度カーブ算出手段により算出された速度カーブに基づいて、アームに取り付けられる装着物にかかる外力又はトルクを算出する。
次いで、比率算出手段は、装着物の許容外力又は許容トルクに対する負荷算出手段により算出された装着物にかかる外力又はトルクの比率を算出する。
そして、補正手段は、比率算出手段により算出された比率が１を超えた場合に、速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数を乗じて速度カーブを補正する。
これにより、動作速度や加減速度を低下させる部分は、比率が１を超えた場合だけであるため、動作速度や加減速度を常時落とす必要はなく、作業時間が必要以上に延長してしまうことがない。
また、モータや減速機のトルクを制御できるのは勿論のこと、装着物に加わる外力又はトルクも制御することができる。
よって、装着物に加わる外力又はトルクが許容値を超えないようにするとともに、動作時間の延長を防止することができる。
【００１０】
請求項２に記載の発明によれば、速度カーブ再算出手段は、各関節の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブに合わせて、他の関節の速度カーブにおける加速時間及び減速時間を一の関節の速度カーブにおける加速時間及び減速時間に一致させるようにそれぞれの関節の速度カーブを再算出する。
これにより、速度カーブを最も加減速度が小さな速度カーブに合わせて再算出することができるので、アームや関節にかかる外力又はトルクを許容範囲内に抑えることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明に係るロボット制御装置の最良の形態について詳細に説明する。
＜ロボット＞
最初に、ロボット制御装置により駆動が制御されるロボットについて説明する。
図１に示すように、ロボット１は、例えば、自動車の車体フレーム等のスポット溶接ラインで用いられる。ロボット１は、土台となるベース１１と、関節１２で連結された複数のアーム１３と、各関節１２に設けられ、減速機を介して関節に接続されるサーボモータ１４と、を備えている。
連結された各アーム１３のうち、最も先端に位置するアーム１３の先端部には、装着物としてのツールであるスポット溶接ガン１５が設けられている。
少なくとも一部のアーム１３には、サーボモータ１４等に接続される装着物としての信号ケーブル１６を固定する装着物としての固定台１７が設けられている。
各関節１２は、アーム１３の一端部を揺動可能として他端部を軸支する揺動関節と、アーム１３自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、ロボット１はいわゆる多関節型ロボットに相当する。
【００１２】
＜ロボット制御装置＞
図１、図２に示すように、ロボット制御装置２は、ティーチング或いはプログラミングにより設定されたロボット１の教示動作データに従って、サーボモータ１４に駆動停止に関する制御信号を出力する。
図１に示すように、ロボット制御装置２は、速度カーブ算出部２１と、速度カーブ再算出部２２と、負荷算出部２３と、比率算出部２４と、補正部２５と、指令値算出部２６と、サーボアンプ２７と、を備えている。
【００１３】
速度カーブ算出部２１は、動作開始時の各関節１２の位置と、動作終了後の各関節１２の位置と、予め指定された各関節１２の動作速度と、各関節１２における許容トルク又は許容加速度と、に基づいて各関節１２の動作開始から動作終了までの速度カーブを計算する。すなわち、速度カーブ算出部２１は、速度カーブ算出手段として機能する。
【００１４】
例えば、６軸のロボットの場合において、動作開始時の各関節１２の位置をθ01,θ02,…,θ06とし、動作終了時の各関節１２の位置をθ11,θ12,…,θ16とし、その各関節１２の許容加減速度をα1,…,α6、最高速度をv1,…,v6とする。そして、動作開始および動作終了時は動作速度０になるとする。
これらの条件に基づいて、速度カーブ算出部２１が各関節１２の速度カーブを計算する場合、まず各関節１２それぞれで、各関節１２の動作量θ1i-θ0i(i=1,…,6)になるように、図３のような台形状の速度カーブを作成する。速度カーブの作成時においては、動作開始時の各関節１２の位置と、動作終了後の各関節１２の位置とから動作距離を求め、この動作距離と予め指定された動作速度から動作時間、動作加速度を算出する。このときの動作加速度は、各関節１２やその関節１２に連結されるアーム１３の許容加速度の範囲内になるように加速時間、定速時間、減速時間が決定され、図３のような速度カーブが関節１２毎に作成される。
【００１５】
速度カーブ再算出部２２は、各関節１２の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節１２の速度カーブに合わせて、他の関節１２の速度カーブにおける加速時間、定速時間、減速時間を一の関節１２の速度カーブにおける加速時間、定速時間、減速時間に一致させるようにそれぞれの速度カーブを再算出する。すなわち、速度カーブ再算出部２２は、速度カーブ再算出手段として機能する。
【００１６】
図３に示す速度カーブを例に挙げて説明すると、６つの関節１２の速度カーブをそれぞれ１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅ，１２ｆとすると、動作時間が最も長い関節１２の速度カーブは、１２ｂである。従って、速度カーブ再算出部２２は、他の関節１２の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆの動作時間が一の速度カーブ１２ｂの動作時間（加速時間、定速時間、減速時間）と等しくなるように、他の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆを再計算する。
これにより、図４に示すような全ての関節１２の加速時間、減速時間、定速時間が一致する速度カーブが得られる。この速度カーブは全ての関節１２の許容加速度、最高速度を満足しているほか、各関節１２が同時に動き出し、同時に到達するように動作する。
【００１７】
負荷算出部２３は、速度カーブ算出部２１により算出された速度カーブに基づいて、アーム１３に取り付けられるスポット溶接ガン１５、信号ケーブル１６、固定台１７（以下、装着物１８という）にかかる外力又はトルクを算出する。すなわち、負荷算出部２３は、負荷算出手段として機能する。本実施形態では、負荷算出部２３は、速度カーブ算出部２１により速度カーブを算出した後、速度カーブ再算出部２２により再計算された速度カーブに基づいて、外力又はトルクを算出する。
【００１８】
具体的には、図４に示すように、各関節１２の速度カーブにおいて、加速開始時、加速終了時、定速時間の中間時、減速開始時、減速終了時における速度でロボット１の装着物１８の動作速度v、動作加速度a、動作角速度ω、動作角加速度dωを算出する。これらの値は、公知のニュートンオイラー法によって算出される。
このとき、装着物１８の重さm、慣性モーメント行列をIとすると、それらに加わる力ベクトルFとトルクベクトルNは、
F＝m・a・・・・・（１）
N＝I・dω＋ω×I・ω・・・・・（２）
で算出される。ここで・は乗算を、×はベクトルの外積をあらわす。
【００１９】
比率算出部２４は、装着物１８の許容外力又は許容トルクに対する負荷算出部２３により算出された装着物１８にかかる外力又はトルクの比率を算出する。すなわち、比率算出部２４は、比率算出手段として機能する。
【００２０】
具体的には、装着物１８の許容外力をFa、許容トルクをNaとすると、比率γ＝|F|／Fa、γ＝|N|／Naで算出することができる。ここで、|F|は力ベクトルの大きさを、|N|はトルクベクトルの大きさを表す。
【００２１】
補正部２５は、比率算出部２４により算出された比率が１を超えた場合に、速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数を乗じて速度カーブを補正する。すなわち、補正部２５は、補正手段として機能する。
【００２２】
具体的には、|F|>Faもしくは|N|>Naとなった場合、γ＞１となるので、この場合には、許容外力又は許容トルクオーバーとして、比率γの逆数１／γ＝Fa／|F|、１／γ＝Na/|N|を動作速度に乗じて速度を低下させるように補正する。これにより、装着物１８にかかる外力又はトルクを抑制することができる。
【００２３】
指令値算出部２６は、補正部２５により補正された速度カーブに基づいてサーボモータ１４に送信する指令値を算出する。すなわち、指令値算出部２６は、指令値算出手段として機能する。
【００２４】
サーボアンプ２７は、指令値算出部２６によって算出された指令値に基づいて、サーボモータ１４の駆動を制御する。
【００２５】
図２は、ロボット制御装置２の構成を示すブロック図である。
ロボット制御装置２は、各処理を行うＣＰＵ３１と、このＣＰＵ３１により実行され、上述の機能を果たすための各プログラムが記憶されるとともにＣＰＵ３１の作業エリアとなるメモリ３２と、を備えている。
メモリ３２には、速度カーブ算出プログラム３２ａと、速度カーブ再算出プログラム３２ｂと、負荷算出プログラム３２ｃと、比率算出プログラム３２ｄと、補正プログラム３２ｅと、指令値算出プログラム３２ｆと、が記憶されている。
【００２６】
ＣＰＵ３１が速度カーブ再算出プログラム３２ｂを実行することにより、ロボット制御装置２は、速度カーブ再算出手段として機能する。
ＣＰＵ３１が負荷算出プログラム３２ｃを実行することにより、ロボット制御装置２は、負荷算出手段として機能する。
ＣＰＵ３１が比率算出プログラム３２ｄを実行することにより、ロボット制御装置２は、比率算出手段として機能する。
ＣＰＵ３１が補正プログラム３２ｅを実行することにより、ロボット制御装置２は、補正手段として機能する。
ＣＰＵ３１が指令値算出プログラム３２ｆを実行することにより、ロボット制御装置２は、指令値算出手段として機能する。
また、ＣＰＵ３１には、サーボアンプ２７に接続されている。
なお、上記の各プログラムは、別個に構成されていてもよいし、一つのプログラムとして構成されていてもよい。
【００２７】
＜ロボット制御装置の処理＞
次に、ロボット制御装置２によるロボット１の駆動の制御の流れについて、図５のフローチャートを用いて説明する。
図５に示すように、速度カーブ算出部２１は、動作開始時の各関節１２の位置と、動作終了後の各関節１２の位置と、予め指定された各関節１２の動作速度と、各関節１２における許容トルク又は許容加速度と、に基づいて各関節１２の動作開始から動作終了までの速度カーブを計算する（ステップＳ１）。
【００２８】
次いで、速度カーブ再算出部２２は、各関節１２の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブ１２ｂに合わせて、他の関節の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆにおける加速時間、定速時間、減速時間を一の関節の速度カーブ１２ｂにおける加速時間、定速時間、減速時間に一致させるようにそれぞれの関節の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆを再算出する（ステップＳ２）。
【００２９】
次いで、負荷算出部２３は、速度カーブ再算出部２２により算出された速度カーブに基づいて、アーム１３に取り付けられる装着物１８にかかる負荷（外力又はトルク）を算出する（ステップＳ３）。
【００３０】
次いで、比率算出部２４は、速度カーブにおける加速開始時、加速終了時、定速時、減速開始時、減速終了時のいずれかにおける装着物１８の許容外力又は許容トルクに対する負荷算出部２３により算出された装着物１８にかかる外力又はトルクの比率γを算出する（ステップＳ４）。
【００３１】
次いで、ロボット制御装置２は、比率算出部２４により算出された比率γが１を超えているか否かを判断する（ステップＳ５）。
ここで、ロボット制御装置２が、比率γが１を超えたと判断した場合（ステップＳ５：ＹＥＳ）、補正部２５は、速度カーブの算出に用いられる動作速度および動作加速度に当該比率の逆数１／γを乗じて速度カーブを補正する（ステップＳ６）。
【００３２】
ステップＳ６の処理後、又は、ステップＳ５において、ロボット制御装置２が、比率γが１を超えていないと判断した場合（ステップＳ５：ＮＯ）、ロボット制御装置２は、比率γを算出すべき動作速度および動作加速度の全てについて比率γを算出したか否かを判断する（ステップＳ７）。比率γを算出すべき動作速度および動作加速度とは、上述したように、加速開始時、加速終了時、定速時間の中間時、減速開始時、減速終了時における動作速度および動作加速度である。
【００３３】
ステップＳ７において、ロボット制御装置２が、比率γを算出すべき動作速度の全てについて比率γを算出したと判断した場合（ステップＳ７：ＹＥＳ）、指令値算出部２６は、サーボモータ１４を駆動させるための制御信号である指令値を速度カーブに基づいて算出する（ステップＳ８）。そして、指令値算出部２６により算出された指令値をサーボアンプ２７に送信し、サーボアンプ２７は、受信した指令値に基づいてサーボモータ１４の駆動を制御する（ステップＳ９）。
一方、ステップＳ７において、ロボット制御装置２が、比率γを算出すべき動作速度の全てについて比率γを算出していないと判断した場合（ステップＳ７：ＮＯ）、ステップＳ４に戻って、比率算出部２４は、未だ算出されていない箇所の比率γを算出する。
【００３４】
＜作用効果＞
以上のように、ロボット制御装置２によれば、速度カーブ算出部２１は、動作開始時の各関節１２の位置と、動作終了後の各関節１２の位置と、予め指定された各関節１２の動作速度と、各関節１２における許容トルク又は許容加速度と、に基づいて各関節１２の動作開始から動作終了までの速度カーブを計算する。
次いで、速度カーブ再算出部２２は、各関節１２の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブ１２ｂに合わせて、他の関節の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆにおける加速時間、定速時間、減速時間を一の関節の速度カーブ１２ｂにおける加速時間、定速時間、減速時間に一致させるようにそれぞれの他の関節の速度カーブ１２ａ，１２ｃ，１２ｄ，１２ｅ，１２ｆを再算出する。
次いで、負荷算出部２３は、速度カーブ算出部２１及び速度カーブ再算出部２２により算出された速度カーブに基づいて、アーム１３に取り付けられる装着物１８にかかる外力又はトルクを算出する。
次いで、比率算出部２４は、装着物１８の許容外力又は許容トルクに対する負荷算出部２３により算出された装着物１８にかかる外力又はトルクの比率を算出する。
そして、補正部２５は、比率算出部２４により算出された比率γが１を超えた場合に、速度カーブの算出に用いられる動作速度および動作加速度に当該比率γの逆数を乗じて速度カーブを補正する。
【００３５】
これにより、動作速度や加減速度を低下させる部分は、比率γが１を超えた場合だけであるため、動作速度や加減速度を常時落とす必要はなく、作業時間が必要以上に延長してしまうことがない。
また、モータや減速機のトルクを制御できるのは勿論のこと、装着物１８に加わる外力又はトルクも制御することができる。
よって、装着物１８に加わる外力又はトルクが許容値を超えないようにするとともに、動作時間の延長を防止することができる。
また、速度カーブ再算出部２２によって、速度カーブを最も加減速度が小さな速度カーブに合わせて再算出することができるので、アーム１３や関節１２にかかる外力又はトルクを許容範囲内に抑えることができる。
【００３６】
＜その他＞
本発明は上記実施形態に限定されるものではない。例えば、速度カーブは、常に台形状に作成されるものではなく、動作距離が小さければ、図６に示すように、定速区間のない三角形状に作成される。
この場合においても、速度カーブ再算出部２２は、各関節１２の速度カーブの算出後、動作開始から動作終了までの動作時間が最も長い一の関節の速度カーブ１２ｑに合わせて、他の関節の速度カーブ１２ｐ，１２ｒ，１２ｓ，１２ｔ，１２ｕにおける加速時間、減速時間を一の関節の速度カーブ１２ｑにおける加速時間、減速時間に一致させるようにそれぞれの関節の速度カーブ１２ｐ，１２ｒ，１２ｓ，１２ｔ，１２ｕを再算出すればよい。
また、比率算出部２４は、速度カーブにおける加速開始時、加速終了時（減速開始時）、減速終了時における装着物１８の許容外力又は許容トルクに対する負荷算出部２３により算出された装着物１８にかかる外力又はトルクの比率γを算出すればよい。
従って、定速動作がない場合であっても、同じ制御方法でロボット１の駆動を制御することができる。
【図面の簡単な説明】
【００３７】
【図１】ロボット及びロボット制御装置の概略を示す図。
【図２】ロボット制御装置の構成を示すブロック図。
【図３】各関節の速度カーブを示す図。
【図４】再算出後の速度カーブを示す図。
【図５】ロボット制御装置によるロボットの駆動制御のフローチャート。
【図６】関節の動作量が少ない場合における速度カーブを示す図。
【符号の説明】
【００３８】
１  ロボット
２  ロボット制御装置
１２  関節
１３  アーム
１５  スポット溶接ガン（装着物）
１６  信号ケーブル（装着物）
１７  固定台（装着物）
１８  装着物
２１  速度カーブ算出部（速度カーブ算出手段）
２２  速度カーブ再算出部（速度カーブ再算出手段）
２３  負荷算出部（負荷算出手段）
２４  比率算出部（比率算出手段）
２５  補正部（補正手段）
【図１】
2009028851.tif 000003
【図２】
2009028851.tif 000004
【図３】
2009028851.tif 000005
【図４】
2009028851.tif 000006
【図５】
2009028851.tif 000007
【図６】
2009028851.tif 000008