(58)【調査した分野】(Int.Cl.,DB名)
複数の動作軸のそれぞれを駆動する複数のモータを備えたロボット(10)により把持されるワークの負荷パラメータを設定する負荷パラメータ設定装置(20)において、
前記ロボットにより把持されるべき複数種類のワークのそれぞれに対応した複数の負荷パラメータを記憶する記憶部(21)と、
前記記憶部に記憶された複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記ロボットにより把持された前記ワークの負荷パラメータを選択するための指標を算出する指標算出部(29)と、
該指標算出部により算出された指標に基づいて、前記記憶部に記憶された複数の負荷パラメータから、前記ワークの負荷パラメータを選択する選択部(24)と、を具備する負荷パラメータ設定装置。
前記指標算出部は、前記複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記複数のモータのうちの一つのモータが出力する複数の理論トルクを算出する理論トルク算出部(22)と、
前記一つのモータの電流フィードバック情報に基づいて、前記一つのモータの実トルクを算出する実トルク算出部(23)と、を含んでおり、
前記選択部は、前記複数の理論トルクのうち、前記実トルクに最も近い理論トルクに対応する負荷パラメータを選択する請求項1から3のいずれか一項に記載の負荷パラメータ設定装置。
前記指標を算出することは、前記複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記複数のモータのうちの一つのモータが出力する複数の理論トルクを算出することと、
前記一つのモータの電流フィードバック情報に基づいて、前記一つのモータの実トルクを算出することとを含んでおり、
前記複数の理論トルクのうち、前記実トルクに最も近い理論トルクに対応する負荷パラメータを選択するようにした、請求項6から8のいずれか一項に記載の負荷パラメータ設定方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、操作者は、把持されたワークの負荷パラメータの切替えを忘れた場合または負荷パラメータを誤って設定する場合がある。このような場合には、負荷パラメータに応じた適切な制御を行うことができない。また、引用文献1および引用文献2においては、負荷パラメータを求めるのに複雑な計算をする必要があり、時間がかかって処理が遅延するという問題がある。
【0006】
本発明はこのような事情に鑑みてなされたものであり、複雑な計算を行うことなしに、ロボットにより把持されたワークに応じた負荷パラメータを自動的に設定することのできる負荷パラメータ設定装置および負荷パラメータ設定方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前述した目的を達成するために1番目の発明によれば、複数の動作軸のそれぞれを駆動する複数のモータを備えたロボットにより把持されるワークの負荷パラメータを設定する負荷パラメータ設定装置において、前記ロボットにより把持されるべき複数種類のワークのそれぞれに対応した複数の負荷パラメータを記憶する記憶部と、前記記憶部に記憶された複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記ロボットにより把持された前記ワークの負荷パラメータを選択するための指標を算出する指標算出部と、該指標算出部により算出された指標に基づいて、前記記憶部に記憶された複数の負荷パラメータから、前記ワークの負荷パラメータを選択する選択部と、を具備する負荷パラメータ設定装置が提供される。
2番目の発明によれば、1番目の発明において、さらに、前記負荷パラメータを選択する前記ロボットの動作領域を指定する動作領域指定部を具備する。
3番目の発明によれば、1番目または2番目の発明において、前記ロボットの動作プログラムは、前記負荷パラメータを選択する指令を含む。
4番目の発明によれば、1番目から3番目のいずれかの発明において、前記指標算出部は、前記複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記複数のモータのうちの一つのモータが出力する複数の理論トルクを算出する理論トルク算出部と、前記一つのモータの電流フィードバック情報に基づいて、前記一つのモータの実トルクを算出する実トルク算出部と、を含んでおり、前記選択部は、前記複数の理論トルクのうち、前記実トルクに最も近い理論トルクに対応する負荷パラメータを選択する。
5番目の発明によれば、4番目の発明において、前記理論トルク算出部は前記理論トルクを算出する複数の算出手法を有しており、前記複数の算出手法のうちの一つの算出手法を設定する算出手法設定部を具備する。
6番目の発明によれば、複数の動作軸のそれぞれを駆動する複数のモータを備えたロボットにより把持されるワークの負荷パラメータを設定する負荷パラメータ設定方法において、前記ロボットにより把持されるべき複数種類のワークのそれぞれに対応した複数の負荷パラメータを記憶し、前記記憶された複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記ロボットにより把持された前記ワークの負荷パラメータを選択するための指標を算出し、算出された前記指標に基づいて、前記記憶された複数の負荷パラメータから、前記ワークの負荷パラメータを選択する、負荷パラメータ設定方法が提供される。
7番目の発明によれば、6番目の発明において、さらに、前記負荷パラメータを選択する前記ロボットの動作領域を指定することを含む。
8番目の発明によれば、6番目または7番目の発明において、前記ロボットの動作プログラムは、前記負荷パラメータを選択する指令を含む。
9番目の発明によれば、6番目から8番目のいずれかの発明において、前記指標を算出することは、前記複数の負荷パラメータのそれぞれについて、前記ロボットの現在位置姿勢に基づいて、前記複数のモータのうちの一つのモータが出力する複数の理論トルクを算出することと、前記一つのモータの電流フィードバック情報に基づいて、前記一つのモータの実トルクを算出することとを含んでおり、前記複数の理論トルクのうち、前記実トルクに最も近い理論トルクに対応する負荷パラメータを選択するようにした。
10番目の発明によれば、9番目の発明において、さらに、前記理論トルクを算出する複数の算出手法のうちの一つの算出手法を設定することを含む。
【発明の効果】
【0008】
1番目および6番目の発明においては、指標算出部により算出された指標に基づいて、複数の負荷パラメータから、ワークに適した負荷パラメータを選択することにより負荷パラメータを設定している。このため、複雑な計算を行うことなしに、ロボットにより把持されたワークに応じた負荷パラメータを自動的に選択することができる。また、予め記憶された複数の負荷パラメータから一つの負荷パラメータを単に選択しているので、操作者がロボットにより把持されるべきワークを指定する必要はなく、また、操作者が誤って負荷パラメータを設定することもない。
2番目および7番目の発明においては、ロボットが所定の動作領域に侵入した場合に、負荷パラメータを自動的に選択することができる。このため、操作者が負荷パラメータの切換えを忘れる事態を避けられる。
3番目および8番目の発明においては、ロボットの動作プログラムに負荷パラメータを選択することが記述されている。このため、操作者は明示的に負荷パラメータ切換えを行うタイミングを指定できる。
4番目および9番目の発明においては、簡単な計算により算出された複数の理論トルクのうち、実トルクに最も近い理論トルクに対応した負荷パラメータを選択することにより負荷パラメータを設定している。このため、複雑な計算を行うことなしに、負荷パラメータを簡単に選択することができる。
5番目および10番目の発明においては、一つの算出手法による算出結果が好ましくない場合には、他の算出手法を採用することができる。
【0009】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図1は本発明に基づくパラメータ選択装置を含むシステムの略図である。
図1に示されるシステム1は、ロボット10と、ロボット10を制御するロボット制御装置20とを主に含んでいる。
【0012】
ロボット10は多関節ロボットであり、複数のサーボモータM1〜Mnにより駆動される複数の動作軸を有している。これら複数のサーボモータM1〜Mnのそれぞれには、サーボモータM1〜Mnの位置を検出するエンコーダE1〜Enが取付けられている。そして、ロボット10の先端には、ワークCを把持するハンド11が設けられている。
【0013】
ロボット制御装置20はデジタルコンピュータであり、各動作軸のサーボ制御器#1〜#nからなるサーボ制御部15を有している。これらサーボ制御器#1〜#nは、ロボット10の移動指令を受信して、ロボット10の各動作軸に付属したエンコーダE1〜Enから受取るフィードバック信号と併せてサーボアンプA1〜Anにトルク指令を出力する。これらサーボアンプA1〜Anは、各トルク指令に基づいて各動作軸のサーボモータM1〜Mnに電流を供給して、それらを駆動する。これにより、ロボット10のハンド11を所望の位置に位置決めする。
【0014】
また、ロボット制御装置20は、ロボット10により把持されるワークAの負荷パラメータを設定する負荷パラメータ設定装置としての役目も果たす。
図1に示されるように、ロボット制御装置20は、ロボット10により把持されるべき複数種類のワークのそれぞれに対応した複数の負荷パラメータ21aを記憶する記憶部21を含んでいる。また、記憶部21は、ロボット10の動作プログラム21bも記憶するものとする。
【0015】
ここで、
図2は記憶部に記憶された負荷パラメータを示す図である。
図2に示されるように、負荷パラメータは、ワークAの重量W、重心位置B、イナーシャI、寸法Sのうちの少なくとも一つから構成される。これら負荷パラメータは、ワークAの種類毎(A1、A2、A3、…An)に、予め実験などにより求められ、テーブルの形で記憶部21に記憶される。
【0016】
再び
図1を参照すると、ロボット制御装置20は、記憶部21に記憶された複数の負荷パラメータのそれぞれについて、ロボット10の現在位置姿勢に基づいて、ロボット10に把持されたワークの負荷パラメータを選択するための指標を算出する指標算出部29を含んでいる。
【0017】
図1から分かるように、指標算出部29は、複数の負荷パラメータ21aのそれぞれについて、ロボット10の現在位置姿勢に基づいて、複数のサーボモータM1〜Mnのうちの一つのモータが出力する複数の理論トルクを算出する理論トルク算出部22と、前述した一つのモータの電流フィードバック情報に基づいて、一つのモータの実トルクを算出する実トルク算出部23と、を含んでいる。電流フィードバック情報として、サーボアンプA1〜AnがサーボモータM1〜Mnに供給した電流を使用してもよい。
【0018】
さらに、ロボット制御装置20は、指標算出部29により算出された指標に基づいて、記憶部21に記憶された複数の負荷パラメータから、ワークの負荷パラメータを選択する選択部24を含んでいる。選択部24は、理論トルク算出部22により算出された複数の理論トルクのうち、実トルク算出部23により算出された実トルクに最も近い理論トルクに対応する負荷パラメータを選択してもよい。
【0019】
さらに、ロボット制御装置20は、負荷パラメータを選択するロボット10の動作領域を指定する動作領域指定部25と、理論トルク算出部22に含まれた、理論トルクを算出するための複数の算出手法のうちの一つの算出手法を設定する算出手法設定部26とを含んでいる。
【0020】
図3は本発明に基づくパラメータ選択装置の第一のフローチャートを示す図である。
図3に示される内容は、記憶部21に記憶された動作プログラム21bに基づいて、ロボット10が動作されるときに、所定の制御周期毎に繰返し実施されるものとする。なお、
図3に示される内容が実施されるときには、ロボット10のハンド11は任意のワークを把持しているものとする。
【0021】
はじめに、ステップS11においては、負荷パラメータを変更する必要があるか否かを判定する。負荷パラメータを変更する必要がないときにはステップS15に進んで、ロボット10を継続して動作させる。負荷パラメータを変更する必要があるときにはステップS12に進む。
【0022】
この点に関し、
図4は動作プログラムの一部分を示す図である。
図4の動作プログラム21bには、「負荷パラメータの自動選択命令」が二箇所で記載されている。従って、動作プログラム21bの内容が「負荷パラメータの自動選択命令」を示す行まで進行したときに、負荷パラメータを変更する必要があると判定される。
【0023】
再び
図3を参照すると、ステップS12においては、指標算出部29の理論トルク算出部22は、ロボット10の各動作軸のモータM1〜Mnに設けられたエンコーダE1〜Enからロボット10の現在の位置姿勢を把握する。そして、理論トルク算出部22は、記憶部21に記憶された負荷パラメータのそれぞれに関し、ロボット10の現在の位置姿勢に基づいて、モータM1〜Mnのうちの一つのモータが出力する複数の理論トルクを理論指標として算出する。
【0024】
上記一つのモータは、負荷パラメータに応じたトルクの変化が大きいロボット10の動作軸を駆動するモータである。ロボット10が静止状態にある場合には、上記一つのモータは、重力によるトルクが最もかかる動作軸、例えばロボット10の肩部に相当する動作軸を駆動するモータM2である。
【0025】
次いで、ステップS13においては、指標算出部29の実トルク算出部23は、一つのモータMnの電流フィードバック情報に基づいて、一つのモータMnの実トルクを実指標として算出する。次いで、ステップS14においては、選択部24は、理論トルク算出部22により算出された複数の理論トルクと、実トルク算出部23により算出された実トルクとを比較する。そして、選択部24は、複数の理論トルクのうち、実トルクに最も近い理論トルクに対応する負荷パラメータを選択し、その負荷パラメータをロボット10に対して設定する。
【0026】
次いで、ステップS15においては、選択された負荷パラメータを用いてロボット10を動作させる。そして、ステップS16において動作プログラム21bの内容が終了したと判定された場合には、処理を終了する。
【0027】
本発明においては、理論トルクは記憶部に記憶された負荷パラメータを用いて算出される。このため、理論トルクを算出するのに複雑な計算式を用いる必要がない。そして、簡単な計算により算出された複数の理論トルクから実トルクに最も近い理論トルクを求め、この理論トルクに対応した負荷パラメータを単に選択している。このため、本発明においては、複雑な計算を行うことなしに、ロボット10により把持されたワークに応じた負荷パラメータを自動的に選択することができる。
【0028】
また、予め記憶された複数の負荷パラメータから一つの負荷パラメータを単に選択しているので、操作者がロボット10により把持されるべきワークを指定する必要はなく、操作者が誤って負荷パラメータを設定することもない。さらに、本発明においては、負荷パラメータを選択するのに、特別なハードウェアを別途使用することがなく、従って、負荷パラメータ設定装置20を安価に構成することができる。
【0029】
前述した実施形態においては、選択部24は、実トルクに最も近い理論トルクに対応した負荷パラメータを選択している。図示しない実施形態においては、実トルクよりも大きくて且つ実トルクに最も近い理論トルクに対応した負荷パラメータを選択するようにしてもよい。
【0030】
また、前述した実施形態における理論トルク算出部22および実トルク算出部23の代わりに、ロボット10に作用する理論的な力を算出する理論力算出部およびロボット10に作用する実際の力を算出する実際力算出部が備えられていてもよい。
【0031】
この場合、理論力算出部は、ロボット10の現在の位置姿勢、速度、加速度などに基づいて、負荷パラメータ毎の理論的な力を理論指標として算出する。また、実際力算出部はロボット10の例えばロボットベースに備えられた力センサであり、実際の力を実指標として出力する。そして、前述したのと同様に、選択部24は、負荷パラメータのそれぞれについて算出された複数の理論力のうち、実際力に最も近い理論力に対応する負荷パラメータを選択する。このような場合にも、前述したのと同様の効果が得られるのは明らかであろう。なお、力センサは、負荷パラメータを選択できる程度の精度を有していれば十分である。言い換えれば、この場合の力センサの精度はそれほど高くなくてもよい。
【0032】
ところで、
図1に示される動作領域指定部25を用いて、負荷パラメータが選択されるロボット10の動作領域を予め指定してもよい。
図5は、他の動作プログラムの一部分を示す図である。
図5に示される動作プログラムは、位置1、位置2、位置3および位置4への動作命令を含んでいる。そして、動作領域指定部25によって、例えば位置2を含む所定範囲および位置4を含む所定範囲に対し、負荷パラメータが選択されるよう予め指定されているものとする。
【0033】
図5に示される動作プログラムに基づいてロボット10が動作される場合には、ロボット10が位置2を含む所定範囲および位置4を含む所定範囲に移動されると、前述したような負荷パラメータの選択が自動的に行われる。このような場合には、操作者が負荷パラメータの切替えを忘れる事態を避けられる。あるいは、ロボット10が位置2または位置4を含む所定範囲から出たときに、前述した負荷パラメータの選択が行われるようにしてもよい。
【0034】
ところで、
図6は本発明に基づくパラメータ選択装置の第二のフローチャートを示す図である。
図6に示される内容は、記憶部21に記憶された動作プログラム21bに基づいて、ロボット10が動作されるときに、所定の制御周期毎に繰返し実施されるものとする。また、
図3を参照して説明したのと同じステップについては、重複を避けるために説明を省略する。なお、
図6に示される内容が実施されるときには、ロボット10のハンド11は任意のワークを把持しているものとする。
【0035】
図6に示されるようにステップS11とステップS12との間のステップS11aにおいて、算出手法設定部26は、理論トルクを算出する複数の算出手法のうちの一つの算出手法を設定する。本発明において、理論トルク算出部22は、第一算出手法〜第三算出手法を有するものとする。
【0036】
第一算出手法は、例えば
図3を参照したように、複数の理論トルクのうち、実トルクに最も近い理論トルクに対応する負荷パラメータを選択する手法である。この手法はロボット10が静止している場合に特に有利である。
【0037】
第二算出手法は、例えば以下の通りである。ロボット10が動作を継続している一定時間帯または一定区間において所定の制御周期毎に、ロボット10のモータ、例えばモータM2が出力すべき複数の理論トルクと一つの実トルクとの組を前述したように算出して記憶部21に順次記憶する。そして、記憶された複数の組のそれぞれに対して複数の理論トルクのそれぞれと一つの実トルクとの間の偏差の絶対値を前述したように求める。そして、これら偏差の絶対値の平均値および分散を求め、平均値または分散が最も小さい組を決定する。そして、決定された組における複数の理論トルクのうち、実トルクに最も近い理論トルクに対応する負荷パラメータを選択する。
【0038】
ロボット10が静止しているときに算出された理論トルクおよび実トルクを、実際に動作している最中のロボット10に適用するのは、これらトルクが必要な精度を有していないので、好ましくない。また、ロボット10が速度および/または加速度を伴って動作しているときに理論トルクおよび実トルクを算出すると、これらトルクは瞬間的な誤差を含む場合がある。この点に関し、前述した第二算出手法は平均値および分散を使用しているので、瞬間的な誤差の影響を受けない。このため、第二算出手法は、ロボット10が速度および/または加速度を伴って動作している場合に特に有利である。
【0039】
また、前述した第一算出手法においては、負荷パラメータを推定するときにロボット10を動作させていない。さらに、前述した第二算出手法においてはロボット10を動作させているものの、負荷パラメータを推定するためにロボット10を特別に動作させているわけではない。このため、重量が互いにほぼ等しくてイナーシャが互いに異なる二種類のワークの負荷パラメータが記憶部21に記憶されている場合には、これら負荷パラメータから適切な負荷パラメータを選択できない可能性がある。
【0040】
このため、第三算出手法においては、負荷パラメータを推定するためにロボット10が特別に動作される。そのような特別な動作は、ロボット10の各動作軸に速度および加速度がかかる所定の動作である。第三算出手法においては、前述した特別の動作をロボット10に行わせ、その結果、ロボットのモータM2が出力すべき理論トルクおよび実トルクがイナーシャの違いにより十分に異なるようになる。そして、前述したのと同様に、それらトルクを用いて負荷パラメータを選択する。
【0041】
図6のステップS11aにおいては、例えば第一算出手法が設定されたものとする。そして、ステップS12においては第一算出手法に基づいて理論トルクを算出する。その後、前述したように実トルクを算出し(ステップS13)、負荷パラメータを選択する(ステップS14)。次いで、ステップS14aにおいて、理論トルクと実トルクとの間の偏差の絶対値を算出する。ステップS14aにおいて使用される理論トルクは、実トルクに最も近い理論トルクである。
【0042】
そして、この理論トルクと実トルクとの間の偏差の絶対値が所定の閾値よりも小さいか否かを判定する。所定の閾値は実験等により予め求められたものとする。偏差の絶対値が所定の閾値よりも小さい場合には、理論トルクが実トルクに比較的近く、理論トルクを算出した第一算出手法は適切であったと判断できる。そのような場合には、選択された負荷パラメータを用いてロボット10を動作させ(ステップS15)、所定の場合に動作を終了する(ステップS16)。
【0043】
これに対し、偏差の絶対値が所定の閾値よりも小さくない場合には、理論トルクが実トルクから比較的乖離しており、理論トルクを算出した第一算出手法は適切でない可能性が高い。そのような場合には、ステップS11aに戻る。そして、算出手法設定部26は、複数の算出手法のうちの他の算出手法、例えば第二算出手法を設定する。
【0044】
そして、ステップS12においては第二算出手法に基づいて理論トルクを算出する。その後、前述したように実トルクを算出し(ステップS13)、負荷パラメータを選択する(ステップS14)。次いで、ステップS14aにおいて、理論トルクと実トルクとの間の偏差の絶対値を前述したように算出する。そして、理論トルクと実トルクとの間の偏差の絶対値が所定の閾値よりも小さくないと判定された場合には、ステップS11aに戻り、算出手法設定部26が第三算出手法を設定して、同様な処理を繰返す。当然のことながら、他の算出手法が準備されていてもよい。
【0045】
図6を参照して説明した実施形態においては、一つの算出手法による算出結果が好ましくない場合には、他の算出手法を採用する。そして、偏差の絶対値が所定の閾値よりも小さくなるまで処理を繰返すものとする。このため、
図6に示される実施形態においては、適切な負荷パラメータに基づいて、ロボット10を正確に動作させられるのが分かるだろう。
【0046】
さらに、図示しない実施形態においては、算出処理に要する時間が最も短い手法、または負荷パラメータを推定するためにロボット10を特別に動作させる必要のない手法を第一算出手法としてもよい。そして、第一算出手法よりも算出処理に時間がかかる手法、または負荷パラメータを推定するためにロボット10を特別に動作させる必要がある手法を第二算出手法として採用することもできる。この図示しない実施形態において第一算出手法を通じて選択された負荷パラメータによりロボット10が動作される場合には、算出処理または負荷パラメータを設定するのに要する時間を抑えられるのが分かるであろう。
【0047】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。