ロボットの制御装置
【課題】 バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制できる。
【解決手段】 ロボットの制御装置は、モータ11と、モータ軸12に接続されるエンコーダ13と、モータ軸12に接続され、モータ軸12の回転を減速する減速機14と、減速機14の駆動軸16に接続される位置検出器10と、駆動軸16に接続される駆動用フレーム15と、減速機14と駆動用フレーム15との間に設けられ、駆動用フレーム15に、駆動軸16の回転方向と逆方向の外部拘束力を負荷するねじりバネ18と、駆動用フレーム15の向きが所定の範囲内にある場合、ねじりバネ18から駆動用フレーム15への外部拘束力の負荷を制限する制限ピン21と、エンコーダ13および位置検出器10からの出力に基づいて、モータ11の回転を制御するモータ制御部17とを含む。
【解決手段】 ロボットの制御装置は、モータ11と、モータ軸12に接続されるエンコーダ13と、モータ軸12に接続され、モータ軸12の回転を減速する減速機14と、減速機14の駆動軸16に接続される位置検出器10と、駆動軸16に接続される駆動用フレーム15と、減速機14と駆動用フレーム15との間に設けられ、駆動用フレーム15に、駆動軸16の回転方向と逆方向の外部拘束力を負荷するねじりバネ18と、駆動用フレーム15の向きが所定の範囲内にある場合、ねじりバネ18から駆動用フレーム15への外部拘束力の負荷を制限する制限ピン21と、エンコーダ13および位置検出器10からの出力に基づいて、モータ11の回転を制御するモータ制御部17とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの制御装置に関し、特に、バックラッシの発生を抑制して位置決め精度を向上させるロボットの制御装置に関する。
【背景技術】
【0002】
ロボットハンド(道具類(特に人の手に合わせて作られた道具類)を利用するために開発された装置)は、複数のフィンガにより構成されていることが多い。これら複数のフィンガは、それぞれ複数の関節を持っていることが多い。このような多関節ロボットハンドによって、人の手が行っている作業を実現させるためには、各関節において次の要件を満たすような制御が必要である。第1の要件は、作業対象を把持するために十分なトルクを発生させていることである。第2の要件は、各関節の角度の精度が高いことである。第3の要件は、ロボットハンドが人の手と同程度のサイズである(作業の対象物が人の手のサイズに合わせて作られているため)ことである。
【0003】
第1の要件を満たすため、これら複数の関節は、それぞれモータ出力によって駆動することが多い。このモータ出力は、減速機により減速・高トルク化された出力である。減速・高トルク化される理由は、一般に、ロボットのアクチュエータとして用いられるモータが、人の手の関節と比較して発生トルクが小さい点にある。
【0004】
しかしながら、ロボットの関節を駆動させるためによく用いられた減速機(ハーモニックドライブ(登録商標)などの、バックラッシュが少ない高精度な減速機)は、その構造上サイズを小さくすることが困難である。このことは、上述した第3の要件を満たし難いことを意味する。また、そのような減速機は遊星歯車減速機などの一般的な減速機に比べて高価である。このことは、将来多くの関節を有するロボットハンドを商品化する際、コスト増加の大きな要因のひとつとなり得る。このため、安価に関節の位置を制御するための工夫がなされている。
【0005】
特許文献1は、一般的なギアによる減速機を用いながら、高精度に関節の位置を制御するための制御装置を開示する。図17は、特許文献1に開示された制御装置の一例を示したブロック図である。特許文献1に開示された制御装置は、駆動用フレーム(駆動用フレームは減速機の駆動軸により駆動される)に、減速機の駆動軸が回転する方向とは逆方向の外部拘束力、または減速機の駆動軸が回転する方向と同じ方向であって駆動軸の回転力よりも大きい外部拘束力を負荷する。
【0006】
この発明によると、減速機に対し一定方向の負荷が与えられるので、バックラッシュを除去できる。バックラッシュが除去されるので、関節の位置を高精度に制御できる。また、人の手と同サイズ程度のロボットハンドに減速機を納めることができる。
【特許文献1】特開2003−291082号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、前述の特許文献1に開示された発明では、実施の形態に応じて、次にあげるいずれかの問題点がある。第1の問題点は、ロボットハンドに適用すると、十分な拘束力が得られない(ひいては、ロボットハンドの各フィンガの位置について、十分な精度が得られない)という問題点である。たとえば、ロボットの自重により拘束力を発生させる場合、特許文献1に開示された発明をロボットハンドに適用すると、バックラッシュを除去するための十分な拘束力が得られないことがある。人と同じサイズのフィンガを持つロボットハンドの場合、フィンガの重量が小さ過ぎることがあるからである。第2の問題点は、余分なエネルギを消費することがあるという問題点である。余分なエネルギを消費する期間の例として、待機中の期間がある。待機中に余分なエネルギが消費されるのは、待機中はバックラッシュを除去する必要がないにも関わらず、バックラッシュを除去しているからである。第3の問題点は、拘束力の算出が困難であるという問題点である。たとえば、引張りバネにより拘束力を発生させると、拘束力の算出が困難となることがある。拘束力が、駆動用フレームの角度に応じて、非線形に変化するからである。引張りバネにより拘束力を発生させる場合、ロボットが物体を把持する際に、バネが障害となる可能性があるという問題点もある(ロボットのフィンガが閉じる方向にバネを設置する必要があるからである)。
【0008】
本発明は、上記問題点を解決するためになされたものであり、その目的は、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制できる、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のある局面にしたがうと、ロボットの制御装置は、第1のモータと、第1のモータのモータ軸に接続されるエンコーダと、第1のモータのモータ軸に接続され、モータ軸の回転を減速する第1の減速機と、第1の減速機の駆動軸に接続される位置検出器と、駆動軸に接続される駆動用フレームと、第1の減速機と駆動用フレームとの間に設けられ、駆動用フレームに、駆動軸の回転方向と逆方向の外部拘束力を負荷する第1のねじりバネと、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限するための制限手段と、エンコーダおよび位置検出器からの出力に基づいて、第1のモータの回転を制御するためのモータ制御手段とを含む。
【0010】
すなわち、第1のねじりバネは、駆動用フレームに、駆動軸の回転方向と逆方向の外部拘束力を負荷する。外部拘束力が負荷されるので、バックラッシを生じる減速機を用いても十分な精度が得られる。制限手段は、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、駆動用フレームの向きが所定の範囲とは別の範囲内にある場合に外部拘束力が負荷されるので、駆動用フレームの向きが所定の範囲内にある場合、外部拘束力の負荷に対する余分なエネルギの消費を消費しなくなる。その結果、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0011】
また、上述の第1のねじりバネは、駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束可能な外部拘束力を負荷するねじりバネを含むことが望ましい。
【0012】
すなわち、駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束可能な外部拘束力を負荷する。駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束されるので、外部拘束力が小さくても、第1の減速機のバックラッシを拘束できる。これにより、モータ制御手段は、エンコーダおよび位置検出器からの出力に基づいて、第1のモータの回転を容易に制御できる。その結果、容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0013】
また、上述のモータ制御手段は、外部拘束力を表わす一定値を用いて、第1のモータの回転を制御するための手段を含むことが望ましい。
【0014】
すなわち、制限手段は、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。駆動用フレームの向きが所定の範囲内にある場合に外部拘束力の負荷が制限されると、第1のねじりバネが負荷する外部拘束力を一定値とみなし得る場合が生じる。これにより、モータ制御手段は、外部拘束力を表わす一定値を用いて、第1のモータの回転を制御する。外部拘束力を表わす一定値が用いられると、容易にモータを制御できる。その結果、容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0015】
また、上述の外部拘束力を表わす一定値は、駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を含むことが望ましい。
【0016】
すなわち、モータ制御手段は、駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を用いて、第1のモータの回転を制御する。これにより、モータ制御手段は、より容易にモータを制御できる。その結果、より容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0017】
また、上述の制限手段は、第1のねじりバネと駆動用フレームとの接触を制限することにより、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する第1の部材を含むことが望ましい。
【0018】
すなわち、第1の部材は、第1のねじりバネと駆動用フレームとの接触を制限することにより、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、制限手段の構造は簡単になる。その結果、構造が簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0019】
また、上述の第1の部材は、第1のねじりバネが、駆動用フレームの一部であって第1の減速機と駆動用フレームとの間に突出した第2の部材に接触することを制限することで、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する部材を含むことが望ましい。
【0020】
すなわち、負荷を制限する部材は、第1のねじりバネが、駆動用フレームの一部であって第1の減速機と駆動用フレームとの間に突出した第2の部材に接触することを制限することで、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、制限手段の構造はより簡単になる。その結果、構造がより簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0021】
また、上述のロボットの制御装置は、第1の部材の位置を、駆動用フレームが回転する方向に沿って変更するための変更手段をさらに含むことが望ましい。
【0022】
すなわち、変更手段は、第1の部材の位置を、駆動用フレームが回転する方向に沿って変更する。これにより、外部拘束力の負荷が制限される範囲は変更される。負荷が制限される範囲が変更されると、ロボットの制御装置の汎用性は高くなる。その結果、汎用性が高く、構造がより簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0023】
また、上述の変更手段は、第1の部材を取付け、かつ駆動軸の周りを回転する第3の部材と、第3の部材の回転に用いる動力を発生する装置とを含むことが望ましい。
【0024】
すなわち、動力を発生する装置は、第3の部材の回転に用いる動力を発生する。第3の部材は、第1の部材を取付け、かつ駆動軸の周りを回転する。これにより、範囲を変更する装置は、簡単な構造になる。その結果、汎用性が高く、構造がさらに簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0025】
また、上述の動力を発生する装置は、トルクを生成する第2のモータと、第2のモータから第3の部材へ、トルクを一方向に伝達する第2の減速機とを含むことが望ましい。
【0026】
すなわち、第2のモータは、トルクを生成する。第2の減速機は、第2のモータから第3の部材へ、トルクを一方向に伝達する。これにより、範囲を変更する装置は、より簡単な構造になる。その結果、汎用性が高く、構造が特に簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0027】
また、上述のロボットの制御装置は、駆動用フレームの向きが、第1のねじりバネから外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレームに、第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する第2のねじりバネをさらに含むことが望ましい。
【0028】
すなわち、第2のねじりバネは、駆動用フレームの向きが、第1のねじりバネから外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレームに、第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する。これにより、駆動用フレームが第2のねじりバネによって外部拘束力を負荷される向きに向くことは制限される。その結果、駆動用フレームの向きを制限でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【発明の効果】
【0029】
本発明に係るロボットの制御装置は、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制できる。
【発明を実施するための最良の形態】
【0030】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【0031】
<第1の実施の形態>
以下、本発明の第1の実施の形態に係る制御装置について説明する。
【0032】
図1は、本発明の第1の実施の形態における制御装置のブロック図である。この制御装置は、ロボットハンドの関節(本実施の形態の場合、ロボットハンドの関節であれば、どの関節であってもよい。ロボットハンドの関節の例として、指の関節や腕の関節がある。)を制御するロボットの制御装置である。この制御装置は、位置検出器10と、トルクを生成するモータ11と、モータ11が生成したトルクを伝達するモータ軸12と、モータ11のモータ軸12に接続されるエンコーダ13と、モータ11のモータ軸12に接続され、モータ軸12の回転を減速する減速機14と、ロボットのフィンガなどとして力を受ける駆動用フレーム15と、駆動用フレーム15に接続され、駆動用フレーム15を駆動する減速機14の駆動軸16と、モータ制御部17と、減速機14と駆動用フレーム15との間に設けられ、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力(駆動軸16とは別の、駆動用フレーム15の動きに拘束を加える力)を負荷するねじりバネ18と、減速機14に取付けられ、ねじりバネ18に接触する作用ピン19と、駆動用フレーム15に取付けられ、ねじりバネ18に接触する作用ピン20と、制限ピン21とを含む。
【0033】
位置検出器10は、減速機14の駆動軸16に接続される。位置検出器10は、減速機14の駆動軸16の回転の向き、駆動軸16の回転の有無、および駆動軸16の角速度を検出する装置である。位置検出器10の出力は、モータ制御部17に出力される。これにより、モータ制御部17は、駆動軸16の角度を監視できる。本実施の形態の場合、位置検出器10は、可変抵抗式のポテンショメータ(駆動軸16の角度に応じて出力される電力の電圧が変化する装置)である。位置検出器10の小型化と簡単な構成による駆動軸16の監視とを実現できるためである。また、モータ制御部17によるモータ11の制御を容易に実現できるためである。モータ11の制御を容易に実現できるのは、位置検出器10の出力から関節角度の絶対値を容易に検出できるからである。位置検出器10は、駆動用フレーム15および駆動軸16に直結接続されている。この状態で、モータ11をある方向に回転させると、減速機14の減速比に対応する角速度で駆動軸16が回転することになる。モータ11が途中で逆回転すると、バックラッシが発生する。これにより、モータ11の制御量に対する位置決め精度を確保することができなくなる。しかし、駆動軸16に直結して取付けられた駆動用フレーム15に、駆動軸16に対して一方向の外部拘束力が加えられる(外部拘束力はねじりバネ18により加えられる)と、駆動軸16が回転する方向とは逆方向の力が発生することになる。逆方向の力が発生するので、モータ11が途中で逆回転するときに、モータ11の回転にあわせて、駆動軸16が回転する。その結果、位置決め精度を確保することができるようになる。
【0034】
エンコーダ13は、モータ11の回転の有無、モータ軸12の角速度、およびモータ軸12の角度を検出する装置である。本実施の形態の場合、エンコーダ13は、機械式の機構により2相パルスを出力するインクリメンタル式のエンコーダである。本実施の形態の場合、エンコーダ13がインクリメンタル式なので、モータ軸12の角度の絶対値を求める際などには、位置検出器10により検出した角度を用いる必要がある。エンコーダ13によりモータ軸12の角度などが検出されると、モータ軸12の位置決め精度を高くできる。エンコーダ13自体の分解能を高くできるためである。エンコーダ13の出力は、モータ制御部17に出力される。これにより、モータ制御部17は、モータ軸12の角度を監視できる。
【0035】
モータ制御部17は、位置検出器10およびエンコーダ13の検出結果と、外部拘束力に対する制御量とから、モータ11を駆動するための制御信号(制御信号の値は制御量に応じて定められる)を生成してモータ11へ出力する。
【0036】
ねじりバネ18は、作用ピン19および作用ピン20にトルクを伝えることによって、バックラッシを解消する外部拘束力を発生させる。本実施の形態の場合、ねじりバネ18は、駆動用フレーム15が物体を把持する方向と反対の方向に、駆動軸16を中心とするトルクを発生させる。このようなトルクが発生するので、上述したように、位置検出器10の位置決め精度を確保できる。
【0037】
作用ピン20は、駆動用フレーム15に取付けられることにより、駆動用フレーム15の一部となった部材である。作用ピン20は、減速機14と駆動用フレーム15との間に突出する。
【0038】
制限ピン21は、ねじりバネ18と駆動用フレーム15(厳密には、駆動用フレーム15の一部であって減速機14と駆動用フレーム15との間に突出した作用ピン20)との接触を制限することにより、駆動用フレーム15の向き(すなわち関節角度θ)が所定の範囲(すなわち作業領域)内にある場合、ねじりバネ18から駆動用フレーム15への外部拘束力の負荷を制限する部材である。制限ピン21の存在により、待機領域において、駆動用フレーム15に外部拘束力が伝わらなくなる。作業領域では、制限ピン21がねじりバネ18と駆動用フレーム15との接触を制限できないので、ねじりバネ18から駆動用フレーム15に外部拘束力が伝わる。これにより、作業領域と待機領域とで、制御装置は異なる挙動を取ることとなる。
【0039】
図2は、図1において一点鎖線で示した箇所の断面を表わす図である。駆動用フレーム15は、図2において二点鎖線で描かれている。このことは、駆動用フレーム15がその他の部位(図2において実線で描かれている部位)よりも紙面の手前側に存在することを表している。本実施の形態において、図2における時計回りの方向を正回転の方向と定義する。本実施の形態において、駆動用フレーム15は、正回転の方向に回転する。これにより、本実施の形態の場合、上述のロボットは物体に接触できる。本実施の形態において、減速機14の長手方向の中心軸と駆動用フレーム15の長手方向の中心軸とが一致する位置(図2に示す位置)を、駆動用フレーム15の原点と定義する。本実施の形態の場合、上述したロボットが作業していない状態(待機状態)にあれば、駆動用フレーム15は原点付近にある。本実施の形態の場合、上述したロボットが作業している状態(作業状態)にあれば、駆動用フレーム15は、原点よりも正回転の方向に回転することにより、物体に接触する。
【0040】
図3を参照して、モータ制御部17は、入力回路61と、検出回路62と、メモリ63と、演算回路64と、出力回路65とを含む。入力回路61は、位置検出器10およびエンコーダ13からの電力やパルスを受付ける。入力回路61は、位置検出器10が出力した電力の電圧を検出する回路でもある。入力回路61は、エンコーダ13が出力したパルスをカウントする回路でもある。検出回路62は、入力回路61が位置を検出した結果、および図示しない他のセンサが位置を検出した結果から、現在のモータ11の回転位置やバックラッシ量を検出する。本実施の形態において検出回路62がバックラッシ量の検出する方法は、次の通りである。まず、バックラッシの影響がなくなる位置から一定方向にモータ11を回転させ、次に同じ回転量分だけモータ11を逆回転させる。このとき、バックラッシの影響があれば、エンコーダ13の値は元の値に戻るが位置検出器10の値はモータ回転前とモータ回転後とで異なるものとなる。検出回路62は、この位置ずれを検出することにより、バックラッシ量を得る。位置ずれはバックラッシ量に相当するからである。なお、バックラッシ量には、ギアの磨耗などによる経年変化がある。しかし通常数日単位で使用する場合、バックラッシ量にはほとんど経年変化は見られない。したがって、本実施の形態の場合、検出回路62は、制御装置の起動時にバックラッシ量を検出し、メモリ63にその値を記憶させて使用するものとする。メモリ63は、演算回路64がモータ11の回転速度などを算出するために必要な値を記憶する。メモリ63が記憶する値の1つに、外部拘束力を表わす定数が含まれる。演算回路64は、検出回路62から出力されるバックラッシ量および駆動軸の回転角と、メモリ63に記憶された外部拘束力を表わす定数とから、駆動軸16の角度が目標の角度となるように、モータ11の回転速度や回転量などの制御信号を出力回路65へ出力する。これによって、モータ11が所定の回転を行ない、位置決めを行なうことが可能となる。出力回路65は、モータ11へ、演算回路64が出力した制御信号を、パルスとして出力する。
【0041】
図4を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。
【0042】
ステップ100(以下、ステップをSと略す。)にて、演算回路64は、メモリ63から、ユーザが発生させたいトルクTDを読取る。S102にて、入力回路61は、位置検出器10およびエンコーダ13から、現在の関節角度(減速機14に対する駆動用フレーム15の角度)θを表わすデータを読取る。データが読取られると、入力回路61は、それらのデータを検出回路62に出力する。検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する。算出された現在の関節角度θは演算回路64に出力される。
【0043】
S104にて、演算回路64は、モータ11が発生すべきトルクTMを計算する。本来、モータ11が発生すべきトルクTMは、次の式で算出される。
【0044】
TM=TD−TCS
但し、TCSは、ねじりバネ18が発生させたトルクを表わす。図5を参照して、トルクTCSは、次の式で表わされる。
【0045】
TCS=−KCS(θ−θAB) (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
ただし、KCSのねじりバネ18のバネ定数を表わす。
【0046】
図5は、関節角度θに対する、ねじりバネが発生させたトルクを表わす図である。θABは、本実施の形態にかかる制御装置において、制限ピン21による制限がない場合に、トルクTCSの値が「0」となる関節角度を表わす。θACは、図17に示す制御装置において、ねじりバネ80が発生させたトルクの値が「0」となる関節角度を表わす。θAAは、本実施の形態にかかる制御装置における、作業領域(ねじりバネ18が発生させたトルクTCSを、外部拘束力として駆動用フレーム15に伝える領域)と待機領域(ねじりバネ18が発生させたトルクTCSが、駆動用フレーム15に伝えられない領域)との境界となる関節角度を表わす(本実施の形態の場合、駆動用フレーム15が物体に接触し得る関節角度とθAAとを一致させることとする)。折れ線70は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18が発生させたトルクTCSを表わす。直線72は、図17に示す制御装置において、関節角度θに対する、ねじりバネ80が発生させたトルクを表わす。本実施の形態の場合、上述したねじりバネ18およびねじりバネ80は、同じ関節角度θAAにおいて、同じ値のトルクTAAを駆動用フレーム15に伝えることとする。同じ関節角度θAAにおいて、同じ値のトルクTAAを駆動用フレーム15に伝えるとすると、図5に示す折れ線70および直線72から、トルクTCSを一定値とみなし得る程度まで、ねじりバネ18のバネ定数を小さくできることは明らかである。このため、本実施の形態におけるトルクTCSは、次の式で表わされる。
【0047】
TCS=−TAA (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
このとき、トルクTCSの値は、駆動用フレーム15の向きが所定の範囲内にあるか否かに応じて定まる一定値とみなされる。これにより、モータ制御部17は、外部拘束力を表わす一定値のトルクTCSを用いて、モータ11の回転を制御することとなる。
【0048】
S106にて、演算回路64は、トルクTMを発生させる有効電圧VMを求める。モータ11の回転が「0」である場合のトルクは「起動トルク」と呼ばれる。起動トルクは、モータ11の有効電圧と比例する。比例定数を「C」、モータ11の回転数を「0」と仮定した場合、有効電圧VMは下記の式により求められる。
【0049】
VM=C×TM
S108にて、演算回路64は、有効電圧VMを満足する(すなわち有効電圧VMを発生させる)デューティ比αを求める。デューティ比αは次の式により求められる。
【0050】
α=VM/VMAX
但し、VMAXはモータ11に供給される電圧の最大値を表わす。
【0051】
S110にて、演算回路64は、デューティ比αが「1」以下か否かを判断する。デューティ比αが「1」以下と判断した場合(S110にてYES)、処理はS114へと移される。もしそうでないと(S110にてNO)、処理はS112へと移される。
【0052】
S112にて、演算回路64は、デューティ比αを「1」に再設定する。S114にて、演算回路64は、デューティ比αの値を出力回路65に出力する。出力回路65は、デューティ比αに対応するPWM(Pulse Width Modulation)パルスをモータ11に出力する。
【0053】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0054】
[θ<θAAの場合]
演算回路64は、メモリ63からトルクTDを読取る(S100)。トルクTDが読取られると、入力回路61は、位置検出器10およびエンコーダ13から現在の関節角度θを表わすデータを読取る。データが読取られると、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θは「0」(駆動用フレーム15が、図2に示す位置にある)とする。関節角度θが出力されると、演算回路64は、トルクTMを計算する(S104)。この場合、制限ピン21は、ねじりバネ18が発生させた外部拘束力を駆動用フレーム15に伝えないので、トルクTCS=0となる。トルクTCS=0なので、トルクTM=TDである。
【0055】
トルクTMが計算されると、演算回路64は、有効電圧VMを求める(S106)。有効電圧VMが求められると、演算回路64は、有効電圧VMを満足するデューティ比αを求める(S108)。デューティαが求められると、演算回路64は、デューティ比αが「1」以下か否かを判断する(S110)。デューティ比αが「1」以下の場合(S110にてYES)、出力回路65は、デューティ比αに対応するPWMパルスをモータ11に出力する(S114)。このS100〜S114の処理により、モータ制御部17は、エンコーダ13および位置検出器10からの出力に基づいて、モータ11の回転を制御することとなる。
【0056】
[θ=θAAの場合]
S100の処理を経て、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θはθAAとする。図6は、このときの駆動用フレーム15の向きを表わす図である。関節角度θの値がθAA以上になると、駆動用フレーム15の位置が、ねじりバネ18から外部拘束力を負荷されることとなる。ねじりバネ18は、駆動用フレーム15の向きが、ねじりバネ18から外部拘束力を負荷される範囲内にある場合に、減速機14のバックラッシを拘束可能な外部拘束力を負荷することとなる。関節角度θが出力されると、演算回路64は、トルクTMを計算する(S104)。この場合、制限ピン21は、ねじりバネ18が発生させた外部拘束力を駆動用フレーム15に伝えるので、トルクTCS=−KCS(θ−θAB)となる。トルクTCS=−KCS(θ−θAB)なので、トルクTM=TD−KCS(θ−θAB)となる。
【0057】
[θ>θAAの場合]
S100の処理を経て、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θ>θAAとする。図7は、このときの駆動用フレーム15の位置を表わす図である。関節角度θが出力されると、S104〜S108の処理を経て、演算回路64は、デューティ比αが「1」以下か否かを判断する(S110)。デューティ比αが「1」を超える場合(S110にてNO)、演算回路64は、デューティ比αを「1」に再設定する(S112)。
【0058】
以上のようにして、本実施の形態に係る制御装置は、待機領域において、駆動用フレームにバックラッシ解消用の拘束力が加わることを制限する。これにより、従来の制御装置に比べ、バネ定数が大幅に小さな(図5に示す線の傾きが大幅に小さな)ねじりバネを用いても、十分な拘束力を加えることができる。バネ定数が大幅に小さなバネを用いてもバックラッシが解消されるので、バネ発生トルクの算出に当り、関節角度の影響を無視できる。関節角度の影響を無視できるので、バネ発生トルクの算出に当り、より簡単な近似式を用いることができる。バックラッシ解消用の拘束力の制限がない場合、作業領域においてねじりバネにより十分な拘束力を得るためには、バネ定数が比較的大きなねじりバネを用いる必要がある。ねじりバネが発生させるトルクは、関節角度に比例して増大する。トルクが関節角度に比例して増大すると、関節角度が大きくなるにつれ、モータに対する負荷が大きくなる。さらに、トルクが関節角度に比例して増減すると、拘束力を計算する際、関節角度に応じてトルクを計算する必要が生じる。関節角度に応じてトルクを計算すると、拘束力の計算が困難になる。また、本実施の形態に係る制御装置は、待機領域において、駆動用フレームにバックラッシ解消用の拘束力が加わることを制限する。これにより、関節角度が待機領域にある場合に、余分なエネルギが消費されない。また、本実施の形態に係る制御装置は、ねじりバネを用いて、バックラッシ解消用の拘束力を与える。ねじりバネにより拘束力が与えられるので、バックラッシを生じる減速機を用いることができる。ねじりバネにより拘束力が与えられるので、人の手サイズのロボットハンドに拘束力を与えるための機構を内蔵することが容易になる。また、本実施の形態に係る制御装置は、ピンにより、拘束力を制限する。拘束力の制限は、簡単な構造により実現できる。また、本実施の形態に係る制御装置において、θ=θAAの時、外部拘束力のベクトルの向きと駆動用フレームが物体から受ける反力のベクトルの向きとが一致するので、モータ制御部により、ロボットハンドが物体を把持した瞬間の前後で連続して位置を制御することは、容易となる。その結果、人の手サイズのロボットハンドに適用することが容易で、構造が簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できるロボットの制御装置を提供することができる。
【0059】
なお、位置検出器10に、1回転上の絶対位置を出力するアブソリュート式のエンコーダを使用することができる。また、位置検出器10は、光学式の機構により2相パルスを出力するインクリメンタル式のエンコーダであってもよい。また、位置検出器10は、磁気式の機構により2相パルスを出力するインクリメンタル式のエンコーダであってもよい。
【0060】
<第2の実施の形態>
以下、本発明の第2の実施の形態に係る制御装置について説明する。
【0061】
図8を参照して、本実施の形態に係る制御装置は、減速機14に代え、第1減速機30を含む。制限ピン21に代えて、別の制限ピン40を含む。モータ制御部17に代えて、別のモータ制御部44を含む。本実施の形態に係る制御装置は、第2減速機32と、追加モータ34と、追加エンコーダ36と、追加モータ軸38と、回転ステージ42とを含む。第1減速機30は、モータ11からの出力を減速する。これにより、モータ11の出力は高トルク化される。第2減速機32は、追加モータ34から回転ステージ42へ、トルクを一方向に伝達する。本実施の形態において、第2減速機32の減速比は、制限ピン40がねじりバネ18から力を受けても、追加モータ34が回転しない程度のトルク損失を有する。追加モータ34は、回転ステージ42を回転させるためのトルクを生成する。これにより、第2減速機32および追加モータ34は、回転ステージ42の回転に用いる動力を発生する装置となる。追加エンコーダ36は、追加モータ軸38の角度を検出する。追加モータ軸38は、追加モータ34の出力を第2減速機32に伝達する。制限ピン40は、ねじりバネ18が駆動用フレーム15に拘束力を与えることを制限する。回転ステージ42は、制限ピン40を取付け、かつ駆動軸16の周りを回転する。これにより、第2減速機32、追加モータ34、および回転ステージ42は、制限ピン40の位置を、駆動軸16の中心からの距離が一定となるように、駆動用フレーム15が回転する方向に沿って変更する装置となる。モータ制御部44は、第1の実施の形態にかかるモータ制御部17と同様に、モータ11を駆動するための制御信号を生成してモータ11へ出力する。モータ制御部44は、追加エンコーダ36の検出結果と、メモリ63が記憶した値とから、追加モータ34を駆動するための制御信号(制御信号の値は制御量に応じて定められる)を生成して追加モータ34へ出力する回路でもある。
【0062】
図9は、図8において一点鎖線で示した箇所の断面を表わす図である。制限ピン40が図9に示す位置にある場合、作業領域と待機領域との境界となる関節角度の値は、θAAである。図10は、回転ステージ42が制限ピン40を図9の位置とは異なる位置に移動させた場合の同じ箇所の断面を表わす図である。
【0063】
図11を参照して、モータ制御部44は、入力回路61に代え、別の入力回路90を含む。出力回路65に代え、別の出力回路96を含む。入力回路90は、位置検出器10およびエンコーダ13からの信号を受付ける。入力回路90は、追加エンコーダ36からの信号を受付ける回路でもある。出力回路96は、モータ11へ、演算回路64が出力した制御信号を出力する。出力回路96は、追加モータ34へ、演算回路64が出力した制御信号を出力する回路でもある。
【0064】
なお、その他のハードウェア構成については前述の第1の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【0065】
図12を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。なお、図12に示したフローチャートの中で、前述の図4に示したステップには同じステップ番号を付してある。それらの処理も同じである。したがって、それらについての詳細な説明はここでは繰り返さない。
【0066】
S120にて、演算回路64は、メモリ63から、制限ピン40の位置の値を読取る。このとき読取られる値は、駆動フレーム15が担当する作業の内容に応じた値である。S122にて、演算回路64は、メモリ63から読取った制限ピン40の位置を出力回路96に出力する。出力回路96は、追加モータ34に演算回路64が出力した値に対応する信号を出力する。追加モータ34は、出力回路96が出力した信号に応じて回転ステージ42を回転させる。
【0067】
S124にて、入力回路90は、位置検出器10およびエンコーダ13から、現在の関節角度(減速機14に対する駆動用フレーム15の角度)θを表わすデータを読取る。データが読取られると、入力回路90は、それらのデータを検出回路62に出力する。検出回路62は、入力回路90が出力したデータから現在の関節角度θを算出する。算出された現在の関節角度θは演算回路64に出力される。S126にて、演算回路64は、デューティ比αの値を出力回路96に出力する。出力回路96は、デューティ比αに対応するPWMパルスをモータ11に出力する。
【0068】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0069】
演算回路64はメモリ63から制限ピン40の位置の値を読取る(S120)。位置の値が読取られると、演算回路64は、その値を出力回路96に出力する。出力回路96は、その値に対応する信号を追加モータ34に出力する。追加モータ34は、その信号に対応するように回転ステージ42を回転させる(S122)。
【0070】
制限ピン40の位置が変更されると、待機領域および作業領域の範囲は変化する。図13は、制限ピン40の位置が変更されることにより、待機領域および作業領域の範囲が変化することを表わす図である。図13を参照して、θAAは、制限ピン40の位置が変更される前の、待機領域と作業領域との境界を表わす。θADは、制限ピン40の位置が変更された後の、待機領域と作業領域との境界を表わす(このとき、ねじりバネ18が実際に発生させているトルクの値はTADで表わされる)。折れ線74は、制限ピン40の位置が変更された後の、関節角度θに対する、ねじりバネ18が発生させたトルクTCSを表わす。第1の実施の形態において説明したように、ねじりバネ18が発生させたトルクTCSは一定値とみなすことができる。このため、本実施の形態においても、トルクTCSは、第1の実施の形態と同じ式で表わされることとする。
【0071】
TCS=−TAA (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
図13に示す折れ線70および折れ線74から、制限ピン40の位置が変更されることにより、待機領域と作業領域との境界における、トルクTCSの値は変化する。本実施の形態の場合、制限ピン40の位置が変更されることにより、外部拘束力が不十分とならないよう、ねじりバネ18のバネ定数を定める必要がある。
【0072】
回転ステージ42が回転すると、S100の処理を経て、検出回路62は、入力回路90が出力したデータから現在の関節角度θを算出する(S124)。関節角度θが算出されると、S104〜S112の処理を経て、出力回路96は、デューティ比αに対応するPWMパルスをモータ11に出力する(S126)。
【0073】
以上のようにして、本実施の形態に係る制御装置は、駆動フレームが担当する作業の内容に応じて、作業領域および待機領域を自由に変更できる。作業領域および待機領域が自由に変更できるので、様々なロボットハンドに適用できる。様々な用途に用いるロボットハンドに適用することもできる。その結果、汎用化が容易で、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できる制御装置を提供することができる。
【0074】
<第3の実施の形態>
以下、本発明の第3の実施の形態に係る制御装置について説明する。
【0075】
図14を参照して、本実施の形態に係る制御装置は、作用ピン20に代えて、作用ピン52を含む。作用ピン19に代えて、作用ピン54を含む。本実施の形態における制御装置は、ねじりバネ50をさらに含む。ねじりバネ50は、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力を負荷する。ねじりバネ50は、制限ピン21に接触しない。なお、その他のハードウェア構成、処理フローについては前述の第1の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【0076】
図15を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。なお、図15に示したフローチャートの中で、前述の図4に示したステップには同じステップ番号を付してある。それらの処理も同じである。したがって、それらについての詳細な説明はここでは繰り返さない。
【0077】
S130にて、演算回路64は、モータ11が発生すべきトルクTMを計算する。本来、モータ11が発生すべきトルクTMは、次の式で算出される。
TM=TD−TCS
【0078】
本実施の形態の場合、本来のトルクTCSは、次の式で表わされる。
【0079】
TCS=−KCS(θ−θAB)−KCSD(θ−θBB) (θ≧θBBのとき)
TCS=−KCS(θ−θAB) (θBB>θ≧θAAのとき)
TCS=0 (θAA>θのとき)
なお、KCSDは、ねじりバネ50のバネ定数を表わす。
【0080】
図16は、関節角度θに対する、ねじりバネが発生させたトルクを表わす図である。θABは、制限ピン21による制限がない場合に、トルクTCSの値が「0」となる関節角度を表わす。θAAは、本実施の形態にかかる制御装置における、作業領域と待機領域との境界となる関節角度を表わす。θBBは、ねじりバネ50が発生させたトルクが、駆動用フレーム15に伝えられ始める関節角度を表わす。この図から明らかなように、本実施の形態におけるねじりバネ50は、駆動用フレーム15の向きが、ねじりバネ18から外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力を負荷する。直線76は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ50が発生させたトルクを表わす。直線76の傾きから明らかなように、ねじりバネ50のバネ定数はねじりバネ18のバネ定数より大きい。直線77は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18が発生させたトルクを表わす。折れ線78は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18およびねじりバネ50が発生させたトルクTCSを表わす。本来、直線77と折れ線78とは、関節角度θAA〜θBBの範囲内で重複する。図16において、直線77は、本来の位置とは若干異なる位置に表示されている。その理由は、直線77と折れ線78との区別を明確化するためである。第1の実施の形態で説明したように、ねじりバネ18が発生させたトルクは一定値とみなすことができる。このため、図16を参照して、本実施の形態におけるトルクTCSは、次の式で表わされる。
TCS=−TAA−KCSD(θ−θBB) (θ≧θBBのとき)
TCS=−TAA (θBB>θ≧θAAのとき)
TCS=0 (θAA>θのとき)
【0081】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0082】
この場合、関節角度θはθBBより大きいこととする。S100〜S102の処理を経て、演算回路64は、トルクTMを計算する(S130)。この場合、θ>θBBなので、トルクTM=TD−TAA−KCSD(θ−θBB)である。
【0083】
以上のようにして、本実施の形態に係る制御装置は、関節角度が所定の値を超えた場合、ねじりバネから受けるトルクが大きくなる。複数のねじりバネそれぞれに外部拘束力を発生させるからである。ねじりバネから受けるトルクが大きくなると、駆動用フレームが予想外の力を受けたことにより関節角度が所定の値を超えた場合、力を受けたことによる衝撃は、ねじりバネによって和らげられる。衝撃が和らげられるので、減速機などの破壊を防止できる。駆動用フレームの動作に制限を加えることもできる。その結果、破壊に強く、駆動用フレームの動作に制限を加えることができ、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できる制御装置を提供することができる。
【0084】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施の形態における制御装置のブロック図である。
【図2】本発明の第1の実施の形態における固定ピンおよび制限ピンの配置を表わす図である。
【図3】本発明の第1の実施の形態におけるモータ制御部のブロック図である。
【図4】本発明の第1の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図5】本発明の第1の実施の形態におけるねじりバネが発生させたトルクを表わす図である。
【図6】本発明の第1の実施の形態における駆動用フレームが待機領域と作業領域との境界にある状態を表わす図である。
【図7】本発明の第1の実施の形態における駆動用フレームが作業領域にある状態を表わす図である。
【図8】本発明の第2の実施の形態における制御装置のブロック図である。
【図9】本発明の第2の実施の形態における第1減速機および第2減速機の配置を表わす図である。
【図10】本発明の第2の実施の形態における回転ステージが回転ピンを移動させた状況を表わす図である。
【図11】本発明の第2の実施の形態におけるモータ制御部のブロック図である。
【図12】本発明の第2の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図13】本発明の第2の実施の形態における制限ピンの位置が変更されることにより、待機領域および作業領域の範囲が変化することを表わす図である。
【図14】本発明の第3の実施の形態における制御装置のブロック図である。
【図15】本発明の第3の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図16】本発明の第3の実施の形態におけるねじりバネが発生させたトルクを表わす図である。
【図17】従来の制御装置の一例を示したブロック図である。
【符号の説明】
【0086】
10 位置検出器、11 モータ、12 モータ軸、13 エンコーダ、14 減速機、15 駆動用フレーム、16 駆動軸、18,50,80 ねじりバネ、17,44 モータ制御部、19,20,52,54 作用ピン、21,40 制限ピン、30 第1減速機、32 第2減速機、34 追加モータ、36 追加エンコーダ、38 追加モータ軸、42 回転ステージ、61,90 入力回路、62 検出回路、63 メモリ、64 演算回路、65,96 出力回路、70,74,78 折れ線、72,76,77 直線。
【技術分野】
【0001】
本発明は、ロボットの制御装置に関し、特に、バックラッシの発生を抑制して位置決め精度を向上させるロボットの制御装置に関する。
【背景技術】
【0002】
ロボットハンド(道具類(特に人の手に合わせて作られた道具類)を利用するために開発された装置)は、複数のフィンガにより構成されていることが多い。これら複数のフィンガは、それぞれ複数の関節を持っていることが多い。このような多関節ロボットハンドによって、人の手が行っている作業を実現させるためには、各関節において次の要件を満たすような制御が必要である。第1の要件は、作業対象を把持するために十分なトルクを発生させていることである。第2の要件は、各関節の角度の精度が高いことである。第3の要件は、ロボットハンドが人の手と同程度のサイズである(作業の対象物が人の手のサイズに合わせて作られているため)ことである。
【0003】
第1の要件を満たすため、これら複数の関節は、それぞれモータ出力によって駆動することが多い。このモータ出力は、減速機により減速・高トルク化された出力である。減速・高トルク化される理由は、一般に、ロボットのアクチュエータとして用いられるモータが、人の手の関節と比較して発生トルクが小さい点にある。
【0004】
しかしながら、ロボットの関節を駆動させるためによく用いられた減速機(ハーモニックドライブ(登録商標)などの、バックラッシュが少ない高精度な減速機)は、その構造上サイズを小さくすることが困難である。このことは、上述した第3の要件を満たし難いことを意味する。また、そのような減速機は遊星歯車減速機などの一般的な減速機に比べて高価である。このことは、将来多くの関節を有するロボットハンドを商品化する際、コスト増加の大きな要因のひとつとなり得る。このため、安価に関節の位置を制御するための工夫がなされている。
【0005】
特許文献1は、一般的なギアによる減速機を用いながら、高精度に関節の位置を制御するための制御装置を開示する。図17は、特許文献1に開示された制御装置の一例を示したブロック図である。特許文献1に開示された制御装置は、駆動用フレーム(駆動用フレームは減速機の駆動軸により駆動される)に、減速機の駆動軸が回転する方向とは逆方向の外部拘束力、または減速機の駆動軸が回転する方向と同じ方向であって駆動軸の回転力よりも大きい外部拘束力を負荷する。
【0006】
この発明によると、減速機に対し一定方向の負荷が与えられるので、バックラッシュを除去できる。バックラッシュが除去されるので、関節の位置を高精度に制御できる。また、人の手と同サイズ程度のロボットハンドに減速機を納めることができる。
【特許文献1】特開2003−291082号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、前述の特許文献1に開示された発明では、実施の形態に応じて、次にあげるいずれかの問題点がある。第1の問題点は、ロボットハンドに適用すると、十分な拘束力が得られない(ひいては、ロボットハンドの各フィンガの位置について、十分な精度が得られない)という問題点である。たとえば、ロボットの自重により拘束力を発生させる場合、特許文献1に開示された発明をロボットハンドに適用すると、バックラッシュを除去するための十分な拘束力が得られないことがある。人と同じサイズのフィンガを持つロボットハンドの場合、フィンガの重量が小さ過ぎることがあるからである。第2の問題点は、余分なエネルギを消費することがあるという問題点である。余分なエネルギを消費する期間の例として、待機中の期間がある。待機中に余分なエネルギが消費されるのは、待機中はバックラッシュを除去する必要がないにも関わらず、バックラッシュを除去しているからである。第3の問題点は、拘束力の算出が困難であるという問題点である。たとえば、引張りバネにより拘束力を発生させると、拘束力の算出が困難となることがある。拘束力が、駆動用フレームの角度に応じて、非線形に変化するからである。引張りバネにより拘束力を発生させる場合、ロボットが物体を把持する際に、バネが障害となる可能性があるという問題点もある(ロボットのフィンガが閉じる方向にバネを設置する必要があるからである)。
【0008】
本発明は、上記問題点を解決するためになされたものであり、その目的は、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制できる、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のある局面にしたがうと、ロボットの制御装置は、第1のモータと、第1のモータのモータ軸に接続されるエンコーダと、第1のモータのモータ軸に接続され、モータ軸の回転を減速する第1の減速機と、第1の減速機の駆動軸に接続される位置検出器と、駆動軸に接続される駆動用フレームと、第1の減速機と駆動用フレームとの間に設けられ、駆動用フレームに、駆動軸の回転方向と逆方向の外部拘束力を負荷する第1のねじりバネと、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限するための制限手段と、エンコーダおよび位置検出器からの出力に基づいて、第1のモータの回転を制御するためのモータ制御手段とを含む。
【0010】
すなわち、第1のねじりバネは、駆動用フレームに、駆動軸の回転方向と逆方向の外部拘束力を負荷する。外部拘束力が負荷されるので、バックラッシを生じる減速機を用いても十分な精度が得られる。制限手段は、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、駆動用フレームの向きが所定の範囲とは別の範囲内にある場合に外部拘束力が負荷されるので、駆動用フレームの向きが所定の範囲内にある場合、外部拘束力の負荷に対する余分なエネルギの消費を消費しなくなる。その結果、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0011】
また、上述の第1のねじりバネは、駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束可能な外部拘束力を負荷するねじりバネを含むことが望ましい。
【0012】
すなわち、駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束可能な外部拘束力を負荷する。駆動用フレームの向きが第1のねじりバネから外部拘束力を負荷される範囲内にある場合に、第1の減速機のバックラッシを拘束されるので、外部拘束力が小さくても、第1の減速機のバックラッシを拘束できる。これにより、モータ制御手段は、エンコーダおよび位置検出器からの出力に基づいて、第1のモータの回転を容易に制御できる。その結果、容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0013】
また、上述のモータ制御手段は、外部拘束力を表わす一定値を用いて、第1のモータの回転を制御するための手段を含むことが望ましい。
【0014】
すなわち、制限手段は、駆動用フレームの向きが所定の範囲内にある場合、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。駆動用フレームの向きが所定の範囲内にある場合に外部拘束力の負荷が制限されると、第1のねじりバネが負荷する外部拘束力を一定値とみなし得る場合が生じる。これにより、モータ制御手段は、外部拘束力を表わす一定値を用いて、第1のモータの回転を制御する。外部拘束力を表わす一定値が用いられると、容易にモータを制御できる。その結果、容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0015】
また、上述の外部拘束力を表わす一定値は、駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を含むことが望ましい。
【0016】
すなわち、モータ制御手段は、駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を用いて、第1のモータの回転を制御する。これにより、モータ制御手段は、より容易にモータを制御できる。その結果、より容易にモータを制御でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0017】
また、上述の制限手段は、第1のねじりバネと駆動用フレームとの接触を制限することにより、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する第1の部材を含むことが望ましい。
【0018】
すなわち、第1の部材は、第1のねじりバネと駆動用フレームとの接触を制限することにより、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、制限手段の構造は簡単になる。その結果、構造が簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0019】
また、上述の第1の部材は、第1のねじりバネが、駆動用フレームの一部であって第1の減速機と駆動用フレームとの間に突出した第2の部材に接触することを制限することで、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する部材を含むことが望ましい。
【0020】
すなわち、負荷を制限する部材は、第1のねじりバネが、駆動用フレームの一部であって第1の減速機と駆動用フレームとの間に突出した第2の部材に接触することを制限することで、第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する。これにより、制限手段の構造はより簡単になる。その結果、構造がより簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0021】
また、上述のロボットの制御装置は、第1の部材の位置を、駆動用フレームが回転する方向に沿って変更するための変更手段をさらに含むことが望ましい。
【0022】
すなわち、変更手段は、第1の部材の位置を、駆動用フレームが回転する方向に沿って変更する。これにより、外部拘束力の負荷が制限される範囲は変更される。負荷が制限される範囲が変更されると、ロボットの制御装置の汎用性は高くなる。その結果、汎用性が高く、構造がより簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0023】
また、上述の変更手段は、第1の部材を取付け、かつ駆動軸の周りを回転する第3の部材と、第3の部材の回転に用いる動力を発生する装置とを含むことが望ましい。
【0024】
すなわち、動力を発生する装置は、第3の部材の回転に用いる動力を発生する。第3の部材は、第1の部材を取付け、かつ駆動軸の周りを回転する。これにより、範囲を変更する装置は、簡単な構造になる。その結果、汎用性が高く、構造がさらに簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0025】
また、上述の動力を発生する装置は、トルクを生成する第2のモータと、第2のモータから第3の部材へ、トルクを一方向に伝達する第2の減速機とを含むことが望ましい。
【0026】
すなわち、第2のモータは、トルクを生成する。第2の減速機は、第2のモータから第3の部材へ、トルクを一方向に伝達する。これにより、範囲を変更する装置は、より簡単な構造になる。その結果、汎用性が高く、構造が特に簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【0027】
また、上述のロボットの制御装置は、駆動用フレームの向きが、第1のねじりバネから外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレームに、第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する第2のねじりバネをさらに含むことが望ましい。
【0028】
すなわち、第2のねじりバネは、駆動用フレームの向きが、第1のねじりバネから外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレームに、第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する。これにより、駆動用フレームが第2のねじりバネによって外部拘束力を負荷される向きに向くことは制限される。その結果、駆動用フレームの向きを制限でき、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制するロボットの制御装置を提供することができる。
【発明の効果】
【0029】
本発明に係るロボットの制御装置は、バックラッシを生じる減速機を用いても十分な精度が得られ、かつ余分なエネルギの消費を抑制できる。
【発明を実施するための最良の形態】
【0030】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【0031】
<第1の実施の形態>
以下、本発明の第1の実施の形態に係る制御装置について説明する。
【0032】
図1は、本発明の第1の実施の形態における制御装置のブロック図である。この制御装置は、ロボットハンドの関節(本実施の形態の場合、ロボットハンドの関節であれば、どの関節であってもよい。ロボットハンドの関節の例として、指の関節や腕の関節がある。)を制御するロボットの制御装置である。この制御装置は、位置検出器10と、トルクを生成するモータ11と、モータ11が生成したトルクを伝達するモータ軸12と、モータ11のモータ軸12に接続されるエンコーダ13と、モータ11のモータ軸12に接続され、モータ軸12の回転を減速する減速機14と、ロボットのフィンガなどとして力を受ける駆動用フレーム15と、駆動用フレーム15に接続され、駆動用フレーム15を駆動する減速機14の駆動軸16と、モータ制御部17と、減速機14と駆動用フレーム15との間に設けられ、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力(駆動軸16とは別の、駆動用フレーム15の動きに拘束を加える力)を負荷するねじりバネ18と、減速機14に取付けられ、ねじりバネ18に接触する作用ピン19と、駆動用フレーム15に取付けられ、ねじりバネ18に接触する作用ピン20と、制限ピン21とを含む。
【0033】
位置検出器10は、減速機14の駆動軸16に接続される。位置検出器10は、減速機14の駆動軸16の回転の向き、駆動軸16の回転の有無、および駆動軸16の角速度を検出する装置である。位置検出器10の出力は、モータ制御部17に出力される。これにより、モータ制御部17は、駆動軸16の角度を監視できる。本実施の形態の場合、位置検出器10は、可変抵抗式のポテンショメータ(駆動軸16の角度に応じて出力される電力の電圧が変化する装置)である。位置検出器10の小型化と簡単な構成による駆動軸16の監視とを実現できるためである。また、モータ制御部17によるモータ11の制御を容易に実現できるためである。モータ11の制御を容易に実現できるのは、位置検出器10の出力から関節角度の絶対値を容易に検出できるからである。位置検出器10は、駆動用フレーム15および駆動軸16に直結接続されている。この状態で、モータ11をある方向に回転させると、減速機14の減速比に対応する角速度で駆動軸16が回転することになる。モータ11が途中で逆回転すると、バックラッシが発生する。これにより、モータ11の制御量に対する位置決め精度を確保することができなくなる。しかし、駆動軸16に直結して取付けられた駆動用フレーム15に、駆動軸16に対して一方向の外部拘束力が加えられる(外部拘束力はねじりバネ18により加えられる)と、駆動軸16が回転する方向とは逆方向の力が発生することになる。逆方向の力が発生するので、モータ11が途中で逆回転するときに、モータ11の回転にあわせて、駆動軸16が回転する。その結果、位置決め精度を確保することができるようになる。
【0034】
エンコーダ13は、モータ11の回転の有無、モータ軸12の角速度、およびモータ軸12の角度を検出する装置である。本実施の形態の場合、エンコーダ13は、機械式の機構により2相パルスを出力するインクリメンタル式のエンコーダである。本実施の形態の場合、エンコーダ13がインクリメンタル式なので、モータ軸12の角度の絶対値を求める際などには、位置検出器10により検出した角度を用いる必要がある。エンコーダ13によりモータ軸12の角度などが検出されると、モータ軸12の位置決め精度を高くできる。エンコーダ13自体の分解能を高くできるためである。エンコーダ13の出力は、モータ制御部17に出力される。これにより、モータ制御部17は、モータ軸12の角度を監視できる。
【0035】
モータ制御部17は、位置検出器10およびエンコーダ13の検出結果と、外部拘束力に対する制御量とから、モータ11を駆動するための制御信号(制御信号の値は制御量に応じて定められる)を生成してモータ11へ出力する。
【0036】
ねじりバネ18は、作用ピン19および作用ピン20にトルクを伝えることによって、バックラッシを解消する外部拘束力を発生させる。本実施の形態の場合、ねじりバネ18は、駆動用フレーム15が物体を把持する方向と反対の方向に、駆動軸16を中心とするトルクを発生させる。このようなトルクが発生するので、上述したように、位置検出器10の位置決め精度を確保できる。
【0037】
作用ピン20は、駆動用フレーム15に取付けられることにより、駆動用フレーム15の一部となった部材である。作用ピン20は、減速機14と駆動用フレーム15との間に突出する。
【0038】
制限ピン21は、ねじりバネ18と駆動用フレーム15(厳密には、駆動用フレーム15の一部であって減速機14と駆動用フレーム15との間に突出した作用ピン20)との接触を制限することにより、駆動用フレーム15の向き(すなわち関節角度θ)が所定の範囲(すなわち作業領域)内にある場合、ねじりバネ18から駆動用フレーム15への外部拘束力の負荷を制限する部材である。制限ピン21の存在により、待機領域において、駆動用フレーム15に外部拘束力が伝わらなくなる。作業領域では、制限ピン21がねじりバネ18と駆動用フレーム15との接触を制限できないので、ねじりバネ18から駆動用フレーム15に外部拘束力が伝わる。これにより、作業領域と待機領域とで、制御装置は異なる挙動を取ることとなる。
【0039】
図2は、図1において一点鎖線で示した箇所の断面を表わす図である。駆動用フレーム15は、図2において二点鎖線で描かれている。このことは、駆動用フレーム15がその他の部位(図2において実線で描かれている部位)よりも紙面の手前側に存在することを表している。本実施の形態において、図2における時計回りの方向を正回転の方向と定義する。本実施の形態において、駆動用フレーム15は、正回転の方向に回転する。これにより、本実施の形態の場合、上述のロボットは物体に接触できる。本実施の形態において、減速機14の長手方向の中心軸と駆動用フレーム15の長手方向の中心軸とが一致する位置(図2に示す位置)を、駆動用フレーム15の原点と定義する。本実施の形態の場合、上述したロボットが作業していない状態(待機状態)にあれば、駆動用フレーム15は原点付近にある。本実施の形態の場合、上述したロボットが作業している状態(作業状態)にあれば、駆動用フレーム15は、原点よりも正回転の方向に回転することにより、物体に接触する。
【0040】
図3を参照して、モータ制御部17は、入力回路61と、検出回路62と、メモリ63と、演算回路64と、出力回路65とを含む。入力回路61は、位置検出器10およびエンコーダ13からの電力やパルスを受付ける。入力回路61は、位置検出器10が出力した電力の電圧を検出する回路でもある。入力回路61は、エンコーダ13が出力したパルスをカウントする回路でもある。検出回路62は、入力回路61が位置を検出した結果、および図示しない他のセンサが位置を検出した結果から、現在のモータ11の回転位置やバックラッシ量を検出する。本実施の形態において検出回路62がバックラッシ量の検出する方法は、次の通りである。まず、バックラッシの影響がなくなる位置から一定方向にモータ11を回転させ、次に同じ回転量分だけモータ11を逆回転させる。このとき、バックラッシの影響があれば、エンコーダ13の値は元の値に戻るが位置検出器10の値はモータ回転前とモータ回転後とで異なるものとなる。検出回路62は、この位置ずれを検出することにより、バックラッシ量を得る。位置ずれはバックラッシ量に相当するからである。なお、バックラッシ量には、ギアの磨耗などによる経年変化がある。しかし通常数日単位で使用する場合、バックラッシ量にはほとんど経年変化は見られない。したがって、本実施の形態の場合、検出回路62は、制御装置の起動時にバックラッシ量を検出し、メモリ63にその値を記憶させて使用するものとする。メモリ63は、演算回路64がモータ11の回転速度などを算出するために必要な値を記憶する。メモリ63が記憶する値の1つに、外部拘束力を表わす定数が含まれる。演算回路64は、検出回路62から出力されるバックラッシ量および駆動軸の回転角と、メモリ63に記憶された外部拘束力を表わす定数とから、駆動軸16の角度が目標の角度となるように、モータ11の回転速度や回転量などの制御信号を出力回路65へ出力する。これによって、モータ11が所定の回転を行ない、位置決めを行なうことが可能となる。出力回路65は、モータ11へ、演算回路64が出力した制御信号を、パルスとして出力する。
【0041】
図4を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。
【0042】
ステップ100(以下、ステップをSと略す。)にて、演算回路64は、メモリ63から、ユーザが発生させたいトルクTDを読取る。S102にて、入力回路61は、位置検出器10およびエンコーダ13から、現在の関節角度(減速機14に対する駆動用フレーム15の角度)θを表わすデータを読取る。データが読取られると、入力回路61は、それらのデータを検出回路62に出力する。検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する。算出された現在の関節角度θは演算回路64に出力される。
【0043】
S104にて、演算回路64は、モータ11が発生すべきトルクTMを計算する。本来、モータ11が発生すべきトルクTMは、次の式で算出される。
【0044】
TM=TD−TCS
但し、TCSは、ねじりバネ18が発生させたトルクを表わす。図5を参照して、トルクTCSは、次の式で表わされる。
【0045】
TCS=−KCS(θ−θAB) (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
ただし、KCSのねじりバネ18のバネ定数を表わす。
【0046】
図5は、関節角度θに対する、ねじりバネが発生させたトルクを表わす図である。θABは、本実施の形態にかかる制御装置において、制限ピン21による制限がない場合に、トルクTCSの値が「0」となる関節角度を表わす。θACは、図17に示す制御装置において、ねじりバネ80が発生させたトルクの値が「0」となる関節角度を表わす。θAAは、本実施の形態にかかる制御装置における、作業領域(ねじりバネ18が発生させたトルクTCSを、外部拘束力として駆動用フレーム15に伝える領域)と待機領域(ねじりバネ18が発生させたトルクTCSが、駆動用フレーム15に伝えられない領域)との境界となる関節角度を表わす(本実施の形態の場合、駆動用フレーム15が物体に接触し得る関節角度とθAAとを一致させることとする)。折れ線70は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18が発生させたトルクTCSを表わす。直線72は、図17に示す制御装置において、関節角度θに対する、ねじりバネ80が発生させたトルクを表わす。本実施の形態の場合、上述したねじりバネ18およびねじりバネ80は、同じ関節角度θAAにおいて、同じ値のトルクTAAを駆動用フレーム15に伝えることとする。同じ関節角度θAAにおいて、同じ値のトルクTAAを駆動用フレーム15に伝えるとすると、図5に示す折れ線70および直線72から、トルクTCSを一定値とみなし得る程度まで、ねじりバネ18のバネ定数を小さくできることは明らかである。このため、本実施の形態におけるトルクTCSは、次の式で表わされる。
【0047】
TCS=−TAA (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
このとき、トルクTCSの値は、駆動用フレーム15の向きが所定の範囲内にあるか否かに応じて定まる一定値とみなされる。これにより、モータ制御部17は、外部拘束力を表わす一定値のトルクTCSを用いて、モータ11の回転を制御することとなる。
【0048】
S106にて、演算回路64は、トルクTMを発生させる有効電圧VMを求める。モータ11の回転が「0」である場合のトルクは「起動トルク」と呼ばれる。起動トルクは、モータ11の有効電圧と比例する。比例定数を「C」、モータ11の回転数を「0」と仮定した場合、有効電圧VMは下記の式により求められる。
【0049】
VM=C×TM
S108にて、演算回路64は、有効電圧VMを満足する(すなわち有効電圧VMを発生させる)デューティ比αを求める。デューティ比αは次の式により求められる。
【0050】
α=VM/VMAX
但し、VMAXはモータ11に供給される電圧の最大値を表わす。
【0051】
S110にて、演算回路64は、デューティ比αが「1」以下か否かを判断する。デューティ比αが「1」以下と判断した場合(S110にてYES)、処理はS114へと移される。もしそうでないと(S110にてNO)、処理はS112へと移される。
【0052】
S112にて、演算回路64は、デューティ比αを「1」に再設定する。S114にて、演算回路64は、デューティ比αの値を出力回路65に出力する。出力回路65は、デューティ比αに対応するPWM(Pulse Width Modulation)パルスをモータ11に出力する。
【0053】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0054】
[θ<θAAの場合]
演算回路64は、メモリ63からトルクTDを読取る(S100)。トルクTDが読取られると、入力回路61は、位置検出器10およびエンコーダ13から現在の関節角度θを表わすデータを読取る。データが読取られると、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θは「0」(駆動用フレーム15が、図2に示す位置にある)とする。関節角度θが出力されると、演算回路64は、トルクTMを計算する(S104)。この場合、制限ピン21は、ねじりバネ18が発生させた外部拘束力を駆動用フレーム15に伝えないので、トルクTCS=0となる。トルクTCS=0なので、トルクTM=TDである。
【0055】
トルクTMが計算されると、演算回路64は、有効電圧VMを求める(S106)。有効電圧VMが求められると、演算回路64は、有効電圧VMを満足するデューティ比αを求める(S108)。デューティαが求められると、演算回路64は、デューティ比αが「1」以下か否かを判断する(S110)。デューティ比αが「1」以下の場合(S110にてYES)、出力回路65は、デューティ比αに対応するPWMパルスをモータ11に出力する(S114)。このS100〜S114の処理により、モータ制御部17は、エンコーダ13および位置検出器10からの出力に基づいて、モータ11の回転を制御することとなる。
【0056】
[θ=θAAの場合]
S100の処理を経て、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θはθAAとする。図6は、このときの駆動用フレーム15の向きを表わす図である。関節角度θの値がθAA以上になると、駆動用フレーム15の位置が、ねじりバネ18から外部拘束力を負荷されることとなる。ねじりバネ18は、駆動用フレーム15の向きが、ねじりバネ18から外部拘束力を負荷される範囲内にある場合に、減速機14のバックラッシを拘束可能な外部拘束力を負荷することとなる。関節角度θが出力されると、演算回路64は、トルクTMを計算する(S104)。この場合、制限ピン21は、ねじりバネ18が発生させた外部拘束力を駆動用フレーム15に伝えるので、トルクTCS=−KCS(θ−θAB)となる。トルクTCS=−KCS(θ−θAB)なので、トルクTM=TD−KCS(θ−θAB)となる。
【0057】
[θ>θAAの場合]
S100の処理を経て、検出回路62は、入力回路61が出力したデータから現在の関節角度θを算出する(S102)。この場合、関節角度θ>θAAとする。図7は、このときの駆動用フレーム15の位置を表わす図である。関節角度θが出力されると、S104〜S108の処理を経て、演算回路64は、デューティ比αが「1」以下か否かを判断する(S110)。デューティ比αが「1」を超える場合(S110にてNO)、演算回路64は、デューティ比αを「1」に再設定する(S112)。
【0058】
以上のようにして、本実施の形態に係る制御装置は、待機領域において、駆動用フレームにバックラッシ解消用の拘束力が加わることを制限する。これにより、従来の制御装置に比べ、バネ定数が大幅に小さな(図5に示す線の傾きが大幅に小さな)ねじりバネを用いても、十分な拘束力を加えることができる。バネ定数が大幅に小さなバネを用いてもバックラッシが解消されるので、バネ発生トルクの算出に当り、関節角度の影響を無視できる。関節角度の影響を無視できるので、バネ発生トルクの算出に当り、より簡単な近似式を用いることができる。バックラッシ解消用の拘束力の制限がない場合、作業領域においてねじりバネにより十分な拘束力を得るためには、バネ定数が比較的大きなねじりバネを用いる必要がある。ねじりバネが発生させるトルクは、関節角度に比例して増大する。トルクが関節角度に比例して増大すると、関節角度が大きくなるにつれ、モータに対する負荷が大きくなる。さらに、トルクが関節角度に比例して増減すると、拘束力を計算する際、関節角度に応じてトルクを計算する必要が生じる。関節角度に応じてトルクを計算すると、拘束力の計算が困難になる。また、本実施の形態に係る制御装置は、待機領域において、駆動用フレームにバックラッシ解消用の拘束力が加わることを制限する。これにより、関節角度が待機領域にある場合に、余分なエネルギが消費されない。また、本実施の形態に係る制御装置は、ねじりバネを用いて、バックラッシ解消用の拘束力を与える。ねじりバネにより拘束力が与えられるので、バックラッシを生じる減速機を用いることができる。ねじりバネにより拘束力が与えられるので、人の手サイズのロボットハンドに拘束力を与えるための機構を内蔵することが容易になる。また、本実施の形態に係る制御装置は、ピンにより、拘束力を制限する。拘束力の制限は、簡単な構造により実現できる。また、本実施の形態に係る制御装置において、θ=θAAの時、外部拘束力のベクトルの向きと駆動用フレームが物体から受ける反力のベクトルの向きとが一致するので、モータ制御部により、ロボットハンドが物体を把持した瞬間の前後で連続して位置を制御することは、容易となる。その結果、人の手サイズのロボットハンドに適用することが容易で、構造が簡単で、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できるロボットの制御装置を提供することができる。
【0059】
なお、位置検出器10に、1回転上の絶対位置を出力するアブソリュート式のエンコーダを使用することができる。また、位置検出器10は、光学式の機構により2相パルスを出力するインクリメンタル式のエンコーダであってもよい。また、位置検出器10は、磁気式の機構により2相パルスを出力するインクリメンタル式のエンコーダであってもよい。
【0060】
<第2の実施の形態>
以下、本発明の第2の実施の形態に係る制御装置について説明する。
【0061】
図8を参照して、本実施の形態に係る制御装置は、減速機14に代え、第1減速機30を含む。制限ピン21に代えて、別の制限ピン40を含む。モータ制御部17に代えて、別のモータ制御部44を含む。本実施の形態に係る制御装置は、第2減速機32と、追加モータ34と、追加エンコーダ36と、追加モータ軸38と、回転ステージ42とを含む。第1減速機30は、モータ11からの出力を減速する。これにより、モータ11の出力は高トルク化される。第2減速機32は、追加モータ34から回転ステージ42へ、トルクを一方向に伝達する。本実施の形態において、第2減速機32の減速比は、制限ピン40がねじりバネ18から力を受けても、追加モータ34が回転しない程度のトルク損失を有する。追加モータ34は、回転ステージ42を回転させるためのトルクを生成する。これにより、第2減速機32および追加モータ34は、回転ステージ42の回転に用いる動力を発生する装置となる。追加エンコーダ36は、追加モータ軸38の角度を検出する。追加モータ軸38は、追加モータ34の出力を第2減速機32に伝達する。制限ピン40は、ねじりバネ18が駆動用フレーム15に拘束力を与えることを制限する。回転ステージ42は、制限ピン40を取付け、かつ駆動軸16の周りを回転する。これにより、第2減速機32、追加モータ34、および回転ステージ42は、制限ピン40の位置を、駆動軸16の中心からの距離が一定となるように、駆動用フレーム15が回転する方向に沿って変更する装置となる。モータ制御部44は、第1の実施の形態にかかるモータ制御部17と同様に、モータ11を駆動するための制御信号を生成してモータ11へ出力する。モータ制御部44は、追加エンコーダ36の検出結果と、メモリ63が記憶した値とから、追加モータ34を駆動するための制御信号(制御信号の値は制御量に応じて定められる)を生成して追加モータ34へ出力する回路でもある。
【0062】
図9は、図8において一点鎖線で示した箇所の断面を表わす図である。制限ピン40が図9に示す位置にある場合、作業領域と待機領域との境界となる関節角度の値は、θAAである。図10は、回転ステージ42が制限ピン40を図9の位置とは異なる位置に移動させた場合の同じ箇所の断面を表わす図である。
【0063】
図11を参照して、モータ制御部44は、入力回路61に代え、別の入力回路90を含む。出力回路65に代え、別の出力回路96を含む。入力回路90は、位置検出器10およびエンコーダ13からの信号を受付ける。入力回路90は、追加エンコーダ36からの信号を受付ける回路でもある。出力回路96は、モータ11へ、演算回路64が出力した制御信号を出力する。出力回路96は、追加モータ34へ、演算回路64が出力した制御信号を出力する回路でもある。
【0064】
なお、その他のハードウェア構成については前述の第1の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【0065】
図12を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。なお、図12に示したフローチャートの中で、前述の図4に示したステップには同じステップ番号を付してある。それらの処理も同じである。したがって、それらについての詳細な説明はここでは繰り返さない。
【0066】
S120にて、演算回路64は、メモリ63から、制限ピン40の位置の値を読取る。このとき読取られる値は、駆動フレーム15が担当する作業の内容に応じた値である。S122にて、演算回路64は、メモリ63から読取った制限ピン40の位置を出力回路96に出力する。出力回路96は、追加モータ34に演算回路64が出力した値に対応する信号を出力する。追加モータ34は、出力回路96が出力した信号に応じて回転ステージ42を回転させる。
【0067】
S124にて、入力回路90は、位置検出器10およびエンコーダ13から、現在の関節角度(減速機14に対する駆動用フレーム15の角度)θを表わすデータを読取る。データが読取られると、入力回路90は、それらのデータを検出回路62に出力する。検出回路62は、入力回路90が出力したデータから現在の関節角度θを算出する。算出された現在の関節角度θは演算回路64に出力される。S126にて、演算回路64は、デューティ比αの値を出力回路96に出力する。出力回路96は、デューティ比αに対応するPWMパルスをモータ11に出力する。
【0068】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0069】
演算回路64はメモリ63から制限ピン40の位置の値を読取る(S120)。位置の値が読取られると、演算回路64は、その値を出力回路96に出力する。出力回路96は、その値に対応する信号を追加モータ34に出力する。追加モータ34は、その信号に対応するように回転ステージ42を回転させる(S122)。
【0070】
制限ピン40の位置が変更されると、待機領域および作業領域の範囲は変化する。図13は、制限ピン40の位置が変更されることにより、待機領域および作業領域の範囲が変化することを表わす図である。図13を参照して、θAAは、制限ピン40の位置が変更される前の、待機領域と作業領域との境界を表わす。θADは、制限ピン40の位置が変更された後の、待機領域と作業領域との境界を表わす(このとき、ねじりバネ18が実際に発生させているトルクの値はTADで表わされる)。折れ線74は、制限ピン40の位置が変更された後の、関節角度θに対する、ねじりバネ18が発生させたトルクTCSを表わす。第1の実施の形態において説明したように、ねじりバネ18が発生させたトルクTCSは一定値とみなすことができる。このため、本実施の形態においても、トルクTCSは、第1の実施の形態と同じ式で表わされることとする。
【0071】
TCS=−TAA (θ≧θAAのとき)
TCS=0 (θ<θAAのとき)
図13に示す折れ線70および折れ線74から、制限ピン40の位置が変更されることにより、待機領域と作業領域との境界における、トルクTCSの値は変化する。本実施の形態の場合、制限ピン40の位置が変更されることにより、外部拘束力が不十分とならないよう、ねじりバネ18のバネ定数を定める必要がある。
【0072】
回転ステージ42が回転すると、S100の処理を経て、検出回路62は、入力回路90が出力したデータから現在の関節角度θを算出する(S124)。関節角度θが算出されると、S104〜S112の処理を経て、出力回路96は、デューティ比αに対応するPWMパルスをモータ11に出力する(S126)。
【0073】
以上のようにして、本実施の形態に係る制御装置は、駆動フレームが担当する作業の内容に応じて、作業領域および待機領域を自由に変更できる。作業領域および待機領域が自由に変更できるので、様々なロボットハンドに適用できる。様々な用途に用いるロボットハンドに適用することもできる。その結果、汎用化が容易で、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できる制御装置を提供することができる。
【0074】
<第3の実施の形態>
以下、本発明の第3の実施の形態に係る制御装置について説明する。
【0075】
図14を参照して、本実施の形態に係る制御装置は、作用ピン20に代えて、作用ピン52を含む。作用ピン19に代えて、作用ピン54を含む。本実施の形態における制御装置は、ねじりバネ50をさらに含む。ねじりバネ50は、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力を負荷する。ねじりバネ50は、制限ピン21に接触しない。なお、その他のハードウェア構成、処理フローについては前述の第1の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【0076】
図15を参照して、制御装置で実行されるプログラムは、トルクの設定に関し、以下のような制御構造を有する。なお、図15に示したフローチャートの中で、前述の図4に示したステップには同じステップ番号を付してある。それらの処理も同じである。したがって、それらについての詳細な説明はここでは繰り返さない。
【0077】
S130にて、演算回路64は、モータ11が発生すべきトルクTMを計算する。本来、モータ11が発生すべきトルクTMは、次の式で算出される。
TM=TD−TCS
【0078】
本実施の形態の場合、本来のトルクTCSは、次の式で表わされる。
【0079】
TCS=−KCS(θ−θAB)−KCSD(θ−θBB) (θ≧θBBのとき)
TCS=−KCS(θ−θAB) (θBB>θ≧θAAのとき)
TCS=0 (θAA>θのとき)
なお、KCSDは、ねじりバネ50のバネ定数を表わす。
【0080】
図16は、関節角度θに対する、ねじりバネが発生させたトルクを表わす図である。θABは、制限ピン21による制限がない場合に、トルクTCSの値が「0」となる関節角度を表わす。θAAは、本実施の形態にかかる制御装置における、作業領域と待機領域との境界となる関節角度を表わす。θBBは、ねじりバネ50が発生させたトルクが、駆動用フレーム15に伝えられ始める関節角度を表わす。この図から明らかなように、本実施の形態におけるねじりバネ50は、駆動用フレーム15の向きが、ねじりバネ18から外部拘束力を負荷される範囲のうち、外部拘束力の負荷が始まる向きとは別の向きにある場合に、駆動用フレーム15に、減速機14の駆動軸16の回転方向と逆方向の外部拘束力を負荷する。直線76は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ50が発生させたトルクを表わす。直線76の傾きから明らかなように、ねじりバネ50のバネ定数はねじりバネ18のバネ定数より大きい。直線77は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18が発生させたトルクを表わす。折れ線78は、本実施の形態にかかる制御装置において、関節角度θに対する、ねじりバネ18およびねじりバネ50が発生させたトルクTCSを表わす。本来、直線77と折れ線78とは、関節角度θAA〜θBBの範囲内で重複する。図16において、直線77は、本来の位置とは若干異なる位置に表示されている。その理由は、直線77と折れ線78との区別を明確化するためである。第1の実施の形態で説明したように、ねじりバネ18が発生させたトルクは一定値とみなすことができる。このため、図16を参照して、本実施の形態におけるトルクTCSは、次の式で表わされる。
TCS=−TAA−KCSD(θ−θBB) (θ≧θBBのとき)
TCS=−TAA (θBB>θ≧θAAのとき)
TCS=0 (θAA>θのとき)
【0081】
以上のような構造およびフローチャートに基づく、制御装置の動作について説明する。
【0082】
この場合、関節角度θはθBBより大きいこととする。S100〜S102の処理を経て、演算回路64は、トルクTMを計算する(S130)。この場合、θ>θBBなので、トルクTM=TD−TAA−KCSD(θ−θBB)である。
【0083】
以上のようにして、本実施の形態に係る制御装置は、関節角度が所定の値を超えた場合、ねじりバネから受けるトルクが大きくなる。複数のねじりバネそれぞれに外部拘束力を発生させるからである。ねじりバネから受けるトルクが大きくなると、駆動用フレームが予想外の力を受けたことにより関節角度が所定の値を超えた場合、力を受けたことによる衝撃は、ねじりバネによって和らげられる。衝撃が和らげられるので、減速機などの破壊を防止できる。駆動用フレームの動作に制限を加えることもできる。その結果、破壊に強く、駆動用フレームの動作に制限を加えることができ、バックラッシを生じる減速機を用いても十分な精度が得られ、余分なエネルギを消費せず、かつ容易にモータを制御できる制御装置を提供することができる。
【0084】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施の形態における制御装置のブロック図である。
【図2】本発明の第1の実施の形態における固定ピンおよび制限ピンの配置を表わす図である。
【図3】本発明の第1の実施の形態におけるモータ制御部のブロック図である。
【図4】本発明の第1の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図5】本発明の第1の実施の形態におけるねじりバネが発生させたトルクを表わす図である。
【図6】本発明の第1の実施の形態における駆動用フレームが待機領域と作業領域との境界にある状態を表わす図である。
【図7】本発明の第1の実施の形態における駆動用フレームが作業領域にある状態を表わす図である。
【図8】本発明の第2の実施の形態における制御装置のブロック図である。
【図9】本発明の第2の実施の形態における第1減速機および第2減速機の配置を表わす図である。
【図10】本発明の第2の実施の形態における回転ステージが回転ピンを移動させた状況を表わす図である。
【図11】本発明の第2の実施の形態におけるモータ制御部のブロック図である。
【図12】本発明の第2の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図13】本発明の第2の実施の形態における制限ピンの位置が変更されることにより、待機領域および作業領域の範囲が変化することを表わす図である。
【図14】本発明の第3の実施の形態における制御装置のブロック図である。
【図15】本発明の第3の実施の形態に係るトルクの設定処理の制御の手順を示すフローチャートである。
【図16】本発明の第3の実施の形態におけるねじりバネが発生させたトルクを表わす図である。
【図17】従来の制御装置の一例を示したブロック図である。
【符号の説明】
【0086】
10 位置検出器、11 モータ、12 モータ軸、13 エンコーダ、14 減速機、15 駆動用フレーム、16 駆動軸、18,50,80 ねじりバネ、17,44 モータ制御部、19,20,52,54 作用ピン、21,40 制限ピン、30 第1減速機、32 第2減速機、34 追加モータ、36 追加エンコーダ、38 追加モータ軸、42 回転ステージ、61,90 入力回路、62 検出回路、63 メモリ、64 演算回路、65,96 出力回路、70,74,78 折れ線、72,76,77 直線。
【特許請求の範囲】
【請求項1】
第1のモータと、
前記第1のモータのモータ軸に接続されるエンコーダと、
前記第1のモータのモータ軸に接続され、前記モータ軸の回転を減速する第1の減速機と、
前記第1の減速機の駆動軸に接続される位置検出器と、
前記駆動軸に接続される駆動用フレームと、
前記第1の減速機と前記駆動用フレームとの間に設けられ、前記駆動用フレームに、前記駆動軸の回転方向と逆方向の外部拘束力を負荷する第1のねじりバネと、
前記駆動用フレームの向きが所定の範囲内にある場合、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限するための制限手段と、
前記エンコーダおよび位置検出器からの出力に基づいて、前記第1のモータの回転を制御するためのモータ制御手段とを含むロボットの制御装置。
【請求項2】
前記第1のねじりバネは、前記駆動用フレームの向きが前記第1のねじりバネから前記外部拘束力を負荷される範囲内にある場合に、前記第1の減速機のバックラッシを拘束可能な外部拘束力を負荷するねじりバネを含む、請求項1に記載のロボットの制御装置。
【請求項3】
前記モータ制御手段は、前記外部拘束力を表わす一定値を用いて、前記第1のモータの回転を制御するための手段を含む、請求項1に記載のロボットの制御装置。
【請求項4】
前記外部拘束力を表わす一定値は、前記駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を含む、請求項3に記載のロボットの制御装置。
【請求項5】
前記制限手段は、前記第1のねじりバネと駆動用フレームとの接触を制限することにより、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する第1の部材を含む、請求項1に記載のロボットの制御装置。
【請求項6】
前記第1の部材は、前記第1のねじりバネが、前記駆動用フレームの一部であって前記第1の減速機と前記駆動用フレームとの間に突出した第2の部材に接触することを制限することで、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する部材を含む、請求項5に記載のロボットの制御装置。
【請求項7】
前記ロボットの制御装置は、前記第1の部材の位置を、前記駆動用フレームが回転する方向に沿って変更するための変更手段をさらに含む、請求項5に記載のロボットの制御装置。
【請求項8】
前記変更手段は、
前記第1の部材を取付け、かつ前記駆動軸の周りを回転する第3の部材と、
前記第3の部材の回転に用いる動力を発生する装置とを含む、請求項7に記載のロボットの制御装置。
【請求項9】
前記動力を発生する装置は、
トルクを生成する第2のモータと、
前記第2のモータから前記第3の部材へ、トルクを一方向に伝達する第2の減速機とを含む、請求項8に記載のロボットの制御装置。
【請求項10】
前記ロボットの制御装置は、前記駆動用フレームの向きが、前記第1のねじりバネから前記外部拘束力を負荷される範囲のうち、前記外部拘束力の負荷が始まる向きとは別の向きにある場合に、前記駆動用フレームに、前記第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する第2のねじりバネをさらに含む、請求項1に記載のロボットの制御装置。
【請求項1】
第1のモータと、
前記第1のモータのモータ軸に接続されるエンコーダと、
前記第1のモータのモータ軸に接続され、前記モータ軸の回転を減速する第1の減速機と、
前記第1の減速機の駆動軸に接続される位置検出器と、
前記駆動軸に接続される駆動用フレームと、
前記第1の減速機と前記駆動用フレームとの間に設けられ、前記駆動用フレームに、前記駆動軸の回転方向と逆方向の外部拘束力を負荷する第1のねじりバネと、
前記駆動用フレームの向きが所定の範囲内にある場合、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限するための制限手段と、
前記エンコーダおよび位置検出器からの出力に基づいて、前記第1のモータの回転を制御するためのモータ制御手段とを含むロボットの制御装置。
【請求項2】
前記第1のねじりバネは、前記駆動用フレームの向きが前記第1のねじりバネから前記外部拘束力を負荷される範囲内にある場合に、前記第1の減速機のバックラッシを拘束可能な外部拘束力を負荷するねじりバネを含む、請求項1に記載のロボットの制御装置。
【請求項3】
前記モータ制御手段は、前記外部拘束力を表わす一定値を用いて、前記第1のモータの回転を制御するための手段を含む、請求項1に記載のロボットの制御装置。
【請求項4】
前記外部拘束力を表わす一定値は、前記駆動用フレームの向きが所定の範囲内にあるか否かに応じて定まる値を含む、請求項3に記載のロボットの制御装置。
【請求項5】
前記制限手段は、前記第1のねじりバネと駆動用フレームとの接触を制限することにより、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する第1の部材を含む、請求項1に記載のロボットの制御装置。
【請求項6】
前記第1の部材は、前記第1のねじりバネが、前記駆動用フレームの一部であって前記第1の減速機と前記駆動用フレームとの間に突出した第2の部材に接触することを制限することで、前記第1のねじりバネから駆動用フレームへの外部拘束力の負荷を制限する部材を含む、請求項5に記載のロボットの制御装置。
【請求項7】
前記ロボットの制御装置は、前記第1の部材の位置を、前記駆動用フレームが回転する方向に沿って変更するための変更手段をさらに含む、請求項5に記載のロボットの制御装置。
【請求項8】
前記変更手段は、
前記第1の部材を取付け、かつ前記駆動軸の周りを回転する第3の部材と、
前記第3の部材の回転に用いる動力を発生する装置とを含む、請求項7に記載のロボットの制御装置。
【請求項9】
前記動力を発生する装置は、
トルクを生成する第2のモータと、
前記第2のモータから前記第3の部材へ、トルクを一方向に伝達する第2の減速機とを含む、請求項8に記載のロボットの制御装置。
【請求項10】
前記ロボットの制御装置は、前記駆動用フレームの向きが、前記第1のねじりバネから前記外部拘束力を負荷される範囲のうち、前記外部拘束力の負荷が始まる向きとは別の向きにある場合に、前記駆動用フレームに、前記第1の減速機の駆動軸の回転方向と逆方向の外部拘束力を負荷する第2のねじりバネをさらに含む、請求項1に記載のロボットの制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2006−263832(P2006−263832A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−81843(P2005−81843)
【出願日】平成17年3月22日(2005.3.22)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願日】平成17年3月22日(2005.3.22)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]