説明

関節駆動装置および関節駆動装置の制御方法

【課題】 関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る関節駆動装置を提供する。
【解決手段】 装置のモータ側にエンコーダを接続する一方、関節部側にポテンショメータを接続し、ポテンショメータおよびエンコーダの値を読み込んでメモリに記憶した後(S201、S202)、記憶したポテンショメータの値を関節角度θに、記憶したエンコーダ3の値を関節角度θにそれぞれ変換し、その角度差θ−θを計算する(S203)。角度差と関節部の負荷トルクとの関係を示す負荷トルクデータを予め記憶部に記憶し、その負荷トルクデータと、S203で算出された角度差とに基づいて、関節部の負荷トルクを推定する(S204)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、関節駆動装置および関節駆動装置の制御方法に関し、特に、関節部を回動させるための関節側回転部材と、該関節側回転部材へ動力を供給するための回転型アクチュエータと、該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材とを備える関節駆動装置および関節駆動装置の制御方法に関する。
【背景技術】
【0002】
関節駆動装置として、たとえば、ロボットハンドを例に挙げることができる。人の手に合わせて作られた道具類を人の手が利用するように器用に利用するために、人の手のように多関節フィンガを複数組み合わせたロボットハンドの開発が進められている。
【0003】
実際に人の手のような器用な動作をロボットハンドに行なわせるためには、複数の関節部を独立して駆動するための機構が必要となる。しかしながら、たとえばモータ等で構成されるアクチュエータ本体を直接関節部に設置した場合、フィンガのリンクの重量が増加するとともに、フィンガ自体のサイズが大きくなる等の問題が生じる。
【0004】
このため、現在では、人の手のサイズに近いコンパクトなロボットハンドを構成するために掌部分にモータ等のアクチュエータを集中配置し、アクチュエータ本体から各関節部に対してリンク機構により動力を伝達する方法や、アクチュエータと関節部とのそれぞれにプーリを取付け、プーリ同士をワイヤ、タイミングベルト等の弾性を有する動力伝達部材で連結して用いて動力を伝達する方法が考えられている。
【0005】
前者の方法を採用した場合には、フィンガの各関節角度を十分にとる必要性があるために機構が複雑になる傾向がある。また、リンク機構の性質上、トルクを平均して伝達することが難しい等の問題がある。
【0006】
一方、後者の方法であれば、タイミングベルトの歯飛びを起こさせないための工夫や、ワイヤテンションを一定に保つためのメンテナンス作業が必要になるものの、前者の方法に比較して動力伝達を単純化することができる。このため、設計が容易である。さらに、トルク伝達の異方性等がないため、取り扱いも容易である。
【0007】
このような理由から、ロボットハンドに代表される小型の関節駆動装置の駆動系としては、後者の方法、すなわち、アクチュエータと、関節部側に取付けたプーリとの間をワイヤあるいはタイミングベルトで結んで動力を伝達する方法を用いることが多い。
【0008】
ロボットハンドが物体を安定に把持し続けるためには、各指の接触力のバランスをとる必要がある。各指の接触力を調整するために、一般的には、各フィンガの関節部のトルクを所定の値に制御するフィードバック系あるいはサーボ系を使用する。
【0009】
ところが、ロボットハンド等の関節駆動装置の場合には、アクチュエータを構成するギア等の動力駆動機構部分のがたつきでバックラッシュが生じる。したがって、関節部を目標角度位置に正確に回動させるためには、関節部側の状態、およびバックラッシュの大きさを把握する必要がある。
【0010】
また、ワイヤあるいはタイミングベルト駆動型の関節駆動装置の場合、フレームの撓みの他、動力伝達部材が弛むことによるコンプライアンス(compliance)性を有するため、アクチュエータ側のトルク出力を求めることと同時に、実際の関節部側のトルク情報を取得することが重要である。
【0011】
特許文献1および非特許文献1には、関節部のトルクをワイヤ張力から推定する方法が開示されている。前者にはプーリ両端のワイヤに押し当てたカンチレバーの撓み量からワイヤ張力を測定する方法が開示されており、後者には張力差動型トルクセンサを用いてワイヤ張力を測定する方法が開示されている。いずれもプーリ両端のワイヤ張力の差分から関節トルクを推定する方法であるといえる。
【0012】
特許文献1に開示された関節駆動装置の概略構成を図8(A)に示す。また、非特許文献1に開示された関節駆動装置の概略構成を図8(B)に示す。
【0013】
(A)、(B)のいずれも、モータ軸S1に連結された主動側プーリP1と、関節部Jの関節軸S2に連結された従動側プーリP2との間に、ワイヤWが掛け渡されており、主動側プーリP1の回転がワイヤWによって従動側プーリP2に伝達されて、リンクLが連結された関節軸S2がメカリミットML1およびメカリミットML2によって規制される範囲で回動する。
【0014】
(A)に示される関節駆動装置の場合には、板ばね状の2つのカンチレバーCLがフレームFに取付けられている。また、カンチレバーCLの先端にはワイヤWに張力を与えるテンションプーリP3が設けられている。さらに、カンチレバーCLの両側には図示しない歪ゲージが設けられる。(A)に示される関節駆動装置では、双方の歪ゲージの出力に基づいて、8の字状に襷掛けされた上下のワイヤWの各々にかかる張力を測定することにより関節部Jのトルクを推定する。
【0015】
一方、(B)に示される関節駆動装置の場合には、ワイヤWを挟んでテンションを与えているテンションプーリP4が張力計測用梁Bを介してフレームFに取付けられている。(B)に示される関節駆動装置では、張力計測用梁Bに取付けた歪ゲージにより、8の字状に襷掛けされた上下のワイヤWの各々にかかる張力の差分を測定し、その測定結果に基づいて、関節部Jのトルクを推定する。
【0016】
なお、(A)および(B)に示されたトルクの推定手法は原理的には動力伝達部材がベルトであっても同様に利用することが可能である。
【特許文献1】特開平6−8178号公報
【非特許文献1】金子真人,横井一仁,鈴木夏夫,谷江和雄,「プーリ・ワイヤ駆動系におけるトルクセンシングとトルク制御」,日本ロボット学会誌,1989年2月,第7巻,第1号,p.62−p.70
【発明の開示】
【発明が解決しようとする課題】
【0017】
関節駆動装置をデジタル制御するためには、アナログ情報をデジタル変換してデジタル量として処理する必要がある。しかしながら、一般に、アナログ情報をデジタル変換するA/D変換回路は純粋なデジタル回路に比較して大きいために、装置へ組み込んだときの占有スペースが大きくなる。また、アナログ入力に応じてA/D変換回路を設計する必要があり、設計および製作が完了した後にアナログ入力を増やすことは困難になるので、回路設計の柔軟性が乏しくなる。
【0018】
したがって、関節駆動装置をコンパクト化し、かつ、回路設計の柔軟性を高めるためには、極力、アナログ情報の入力を避ける必要がある。
【0019】
ところが、従来においては、たとえば、図8に示されるように、歪ゲージからのアナログ入力を必要としていた。特に、図8(A)の場合には、それぞれの関節についてプーリ両側のワイヤに押し付けたカンチレバーにそれぞれ2枚の歪みゲージが必要であるため、ブリッジ回路を組んで2個のアナログ入力が必要になる。また、張力作動型トルクセンサを用いる図8(B)の場合であっても、2枚の歪ゲージを用いるために、ブリッジ回路を組んで1個のアナログ入力が各関節に必要になる。
【0020】
本発明は、上記のような課題を解決するためになされたものであって、歪ゲージ等からの情報の入力を必要とすることなく、回転型アクチュエータおよび関節側回転部材の回転角度の情報を入力することによって、関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る関節駆動装置の提供を目的とする。
【課題を解決するための手段】
【0021】
この発明のある局面に係る関節駆動装置は、関節部を回動させるための関節側回転部材と、該関節側回転部材へ動力を供給するための回転型アクチュエータと、該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、前記回転型アクチュエータを制御する制御手段とを備え、該制御手段は、前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1算出手段と、前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2算出手段と、前記第1算出手段の算出値と前記第2算出手段の算出値との角度差を算出する角度差算出手段と、前記角度差と前記関節側回転部材に対する負荷トルクとの関係を示す負荷トルクデータを予め記憶する記憶手段と、前記角度差算出手段により算出された角度差と、前記記憶手段に記憶されている負荷トルクデータとから、前記関節側回転部材に対する負荷トルクを特定する負荷トルク特定手段とを備える。
【0022】
この発明の他の局面に係る関節駆動装置は、関節部を回動させるための関節側回転部材と、該関節側回転部材へ動力を供給するための回転型アクチュエータと、該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、前記回転型アクチュエータを制御する制御手段とを備え、該制御手段は、前記動力側回転角度検出手段の検出出力と、前記関節側回転角度検出手段の検出出力とに基づいて、前記回転型アクチュエータの回転角を制御するために用いる基準値を補正する基準値補正手段と、該基準値補正手段が補正した基準値を基準として、前記関節側回転部材の回転角を予め定めた目標角度に制御するために必要となる前記回転型アクチュエータの制御量を算出する制御量算出手段と、該制御量算出手段が算出した制御量に基づいて前記回転型アクチュエータを駆動する駆動制御手段とを備える。
【0023】
この発明の他の局面に係る関節駆動装置は、関節部を正逆両方向に回動させるための関節側回転部材と、前記関節部の正方向への所定角以上の回動を規制する正方向規制部材と、前記関節部の逆方向への所定角以上の回動を規制する逆方向規制部材と、前記関節側回転部材へ動力を供給するための回転型アクチュエータと、該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、前記回転型アクチュエータを制御する制御手段とを備え、該制御手段は、前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1正方向最大角算出手段と、前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1逆方向最大角算出手段と、前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2正方向最大角算出手段と、前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2逆方向最大角算出手段と、前記第1正方向最大角算出手段の算出値と前記第1逆方向最大角算出手段の算出値との差数と、前記第2正方向最大角算出手段の算出値と前記第2逆方向最大角算出手段の算出値との差数との差を算出することによって、前記動力伝達部材のコンプライアンス成分および前記回転型アクチュエータのバックラッシュ成分によって生じる動力伝達前後角度差を算出する角度差算出手段とを備える。
【発明の効果】
【0024】
本発明によれば、回転型アクチュエータおよび関節側回転部材の回転角度の情報を入力することによって、関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る。これは制御回路を小型化、省略化することに寄与するので、コンパクトかつ高性能な関節部駆動装置を容易かつ安価に構成することができるようになる。
【発明を実施するための最良の形態】
【0025】
本発明の実施の形態について図面を参照しながら詳細に説明する。図1は本発明に係る関節駆動装置1の平面図である。また、図2は、関節駆動装置1を図1の矢印L方向から見た図である。なお、図1および図2では、関節駆動装置1の制御を行なう制御回路等、電気的回路の図示は省略している。
【0026】
関節駆動装置1は、DCモータであるモータ4を駆動源として、関節部11に連結されたリンク14を回動させる。関節駆動装置1のフレーム13には、遊星ギアから成るギア5によって回転速度が1/256に減速されたモータ4の駆動力を伝達するモータ軸9が挿通されている。モータ軸9には、主動側プーリ6が連結されている。モータ4と、ギア5と、モータ軸9と、主動側プーリ6とにより、動力伝達機構の一例となる回転型アクチュエータが構成される。
【0027】
関節部11の関節軸10には、従動側プーリ7が連結されている。従動側プーリ7はリンク14に固定されており、関節軸10を軸として回転する。
【0028】
主動側プーリ6と従動側プーリ7との間には、弾性を有する動力伝達部材の一例となるワイヤ12が8の字状に掛け渡されている。なお、弾性を有する動力伝達部材として、ワイヤに代えて、タイミングベルトを採用してもよい。
【0029】
フレーム13には、リンク14の回動角を規制する規制部材の一例となるメカリミット30,40が取付けられている(図2では取付け構造の図示を省略)。リンク14が矢印R1の方向(正方向)、すなわち時計回りに所定角度回動すると、リンク14がメカリミット30に当たって、それ以上の回動が規制される。同様に、リンク14が矢印R2の方向(逆方向)、すなわち反時計回りに回ると、リンク14がメカリミット40に当たってそれ以上の回動が規制される。
【0030】
モータ4には、モータ4の回転角を検出するためのエンコーダ3が接続されている。このエンコーダ3は、たとえば、インクリメンタル型の相対角度検出センサを構成するパルスエンコーダである。エンコーダ3は、モータ4が1回転する間に所定数のパルスを出力する。関節部11には、関節軸10においてフレーム13とリンク14とのなす角度を検出するためのポテンショメータ8が接続されている。以下、関節軸10においてフレーム13とリンク14とのなす角度を“関節角度”という。ポテンショメータ8は、たとえば、関節角度が0度〜320度変化するのに応じて、出力電圧が0V〜2.5Vまで変化するように電気的に接続されている。
【0031】
図3は、関節駆動装置1の電気的構成要素をブロック図として表したものである。関節駆動装置1は、図1および図2では図示が省略されている制御回路2、モータサーボ回路15、モータドライバ16、およびA/D変換回路17をさらに備えている。
【0032】
制御回路2は、CPU20、RAM22、ROM21を備えるマイクロコンピュータを含んでいる。ROM21には、CPU20を動作させる制御プログラムを記憶する領域とは別に、推定用データ記憶領域23が設けられている。この推定用データ記憶領域23には、後述する関節部11への負荷トルクを推定するためのデータや、ギア5等の動力機構部分のがたつきで生じるバックラッシュの大きさを推定するためのデータが記憶されている。
【0033】
制御回路2からモータサーボ回路15へは、エンコーダ3の制御目標値が入力される。さらに、モータサーボ回路15には、エンコーダ3から出力されるパルス信号が入力される。モータサーボ回路15は、エンコーダ3のパルス信号をカウントしてモータ4の回転状況を特定し、モータドライバ16に入力するPWM(Pulse Width Modulation)波形のデューティー比を変化させて、制御回路2から指令を受けたエンコーダ3の制御目標値相当の角度だけモータ4を駆動する。また、モータサーボ回路15は、エンコーダ3のパルス信号を制御回路2へ入力する。モータ4は、モータドライバ16からの駆動信号に応答して回転する。すなわち、モータ4、モータサーボ回路15、およびモータドライバ16は、モータ4の位置制御サーボ系を構成している。
【0034】
モータ4の回転は、図1および図2に示したギア5、モータ軸9、主動側プーリ6、および動力伝達部材であるワイヤ12により、関節部11に伝達される。これにより、関節部11において、リンク14(図1、図2参照)が回動する。また、リンク14の回動による関節角度の変化は、ポテンショメータ8の出力電圧を変化させる。この出力電圧は、A/D変換回路17によりアナログ情報からデジタル情報に変換されて制御回路2に入力される。制御回路2は、このデジタル情報に基づいて、関節角度を特定する。
【0035】
次に、関節角度の算出手順について説明する。ここでは、関節駆動装置1の構成が、たとえば、以下のとおりであるものとする。
【0036】
・プーリの直径比:主動側プーリ6(直径15mm)/従動側プーリ7=3/2
・ワイヤ長:50mm
・A/D変換回路17の分解能:12ビット
・ギア5による減速割合:1/256
・エンコーダ3のパルス発生割合:16パルス/1回転
[エンコーダ3のカウント値から関節角度を算出する手順]
主動側プーリ6と従動側プーリ7との直径比が3:2であり、ギア5によるモータ4の回転速度の減速割合が1/256であるため、ワイヤ12およびギア5に弾性やバックラッシュがない理想的な回転伝達状態においては、モータ4が1回転するごとに、関節軸10は1/384回転することになる((2/3)×(1/256))。
【0037】
モータ4に接続されたエンコーダ3は、モータ4が1回転する間に16パルスをカウントアップするので、関節角度を基準とすれば、エンコーダ3の分解能は、5.86×10−2度となる((1/384)×(1/16)×360度)。
【0038】
関節部11の原点位置(関節角度=0度)におけるエンコーダ3のカウント値をnE0とし、ある時点でのエンコーダ3のカウント値をnとすると、式1を用いることによって、エンコーダ3のカウント値nから関節角度θを算出できる。なお、式1においてCはエンコーダ3のカウント値を関節角度に変換する係数である。この係数は、エンコーダ3の分解能により定まるため、たとえば、5.86×10−2度/パルスである。
【0039】
(式1) θ=C(n−nE0)
[ポテンショメータ8の出力値から関節角度を算出する手順]
ポテンショメータ8に接続されるA/D変換回路17の分解能が12ビットであるため、ポテンショメータ8による関節角度の分解能は8.78×10−2度である(360度/212)。
【0040】
ポテンショメータ8のA/D変換後の値をn、関節部11の原点位置におけるポテンショメータ8のカウント値をnP0とすると、式2を用いることによって、ポテンショメータ8の出力値から関節角度θを計算できる。なお、式2において、CはA/D変換回路17から出力されるパルス数を関節角度に変換する係数である。この係数は、ポテンショメータ8による関節角度の分解能により定まるため、たとえば、8.78×10−2度/パルスである。
【0041】
(式2) θ=C(n−nP0)
次に、関節駆動装置1の制御回路2が実行する各種の制御について、図4〜図6を参照して説明する。
【0042】
図4は、初期化処理を説明するためのフローチャートである。この初期化処理は、エンコーダ3およびポテンショメータ8の出力値が正常値であるか否かをチェックするとともに、ポテンショメータ8に基づく式2の演算式のパラメータを補正し、さらには、関節駆動装置1の動力駆動機構のバックラッシュを推定するための処理である。
【0043】
まず、内側に関節が回る方向、すなわち、リンク14が図2に示したR1方向に回転するように、モータ4を駆動させる(S1)。このとき、移動目標となる関節角度を定めずに、モータ4が起動トルクT1を発生する一定電圧V1で、モータ4を連続して駆動させる。そして、リンク14が当初、いずれの関節角度の位置から回動し始めたとしてもメカリミット30にリンク14が当たる十分な時間T1が経過した時点で、モータ4の駆動を停止させる。
【0044】
次に、ポテンショメータ8の出力値をデジタル変換した値nP+を、A/D変換回路17から入力し、制御回路2内のメモリ(RAM22)に記憶する(S2)。
【0045】
次に、前記式1を用いて、入力値nP+に基づいた関節角度θP+を算出する(S3)。次に、算出した関節角度θP+が予め定めた正常範囲に収まっているか否かを判断する(S4)。たとえば、制御回路2のROM23内には、関節角度θP+が予め定めた正常範囲に収まっているか否かを判断するために用いる、関節角度θP+の閾値データが記憶されており、制御回路2は、この閾値データに基づいて、S4の判断を行なう。
【0046】
算出した関節角度θP+が正常な範囲に収まっていないならば(S4でNO)、初期化処理を中断する。このような減少が生じる原因としては、ポテンショメータ8に繋がる電気系統の切断あるいは故障、ポテンショメータ8の取付け位置の機械的なずれ、あるいは、モータ4の故障等が考えられる。
【0047】
S4において、算出した関節角度θP+が正常な範囲に収まっているならば(S4でYES)、モータサーボ回路15を介してエンコーダ3の値nE+を入力し、制御回路2内のメモリ(RAM22)に記憶する(S5)。
【0048】
次に、外側に関節が回る方向、すなわち、リンク14が図2に示したR2方向に回転するように、S1と逆方向にモータ4を駆動させる(S6)。このとき、移動目標となる関節角度を定めずに、モータ4が起動トルクT1を発生する一定電圧V1で、モータ4を連続して駆動させる。そして、そして、リンク14が当初、いずれの関節角度の位置から回動し始めたとしてもリンク14がメカリミット40に当たる十分な時間T1が経過した時点で、モータ4の駆動を停止させる。
【0049】
次に、ポテンショメータ8の出力値をデジタル変換した値nP−を、A/D変換回路17から入力し、制御回路2内のメモリ(RAM22)に記憶する(S7)。
【0050】
次に、前記式2を用いて、入力値nP−に基づいた関節角度θP−を算出する(S8)。次に、算出した関節角度θP−が予め定めた正常範囲に収まっているか否かを判断する(S9)。たとえば、制御回路2のROM23内には、関節角度θP−が予め定めた正常範囲に収まっているか否かを判断するために用いる、関節角度θP−の閾値データが記憶されており、制御回路2は、この閾値データに基づいて、S9の判断を行なう。
【0051】
算出した関節角度θP−が正常な範囲に収まっていないならば(S9でNO)、初期化処理を中断する。一方、算出した関節角度θP−が正常な範囲に収まっているならば(S9でYES)、モータサーボ回路15を介してエンコーダ3の値nE−を入力し(図3参照)、制御回路2内のメモリ(RAM22)に記憶する(S10)。
【0052】
次に、S5およびS10において入力されたエンコーダ3の値に基づいて、エンコーダ3の値が正常に変化しているか否かを判断する(S11)。具体的には、S5において取得したエンコーダ3のパルス数nE+とS10において取得したエンコーダ3のパルス数nE−との差分nE+−nE−が、リンク14がメカリミット30とメカリミット40との間を回動する間にエンコーダ3によってカウントすることが期待されるパルス数に対して一定の範囲内に収まっているか否かを判別する。たとえば、制御回路2のROM23内には、エンコーダ3の閾値データが記憶されており、制御回路2は、この閾値データに基づいて、S11の判断を行なう。
【0053】
エンコーダ3のパルス数の差分(nE+−nE−)が、期待される値の範囲内に無い場合(S11でNO)には、初期化処理を異常終了する。このような現象が起きる原因としてはエンコーダ3に繋がる電気系系統の切断、あるいはエンコーダ3やそれに関わる回路の故障が考えられる。
【0054】
エンコーダ3のパルス数の差分が期待される値の範囲内にある場合(S11でYES)には、ギア等の動力駆動機構部分のがたつきによるバックラッシュ成分とワイヤ12のコンプライアンス成分とによって生じる、アクチュエータ側と関節部側との間の角度差αを算出する(S12)。
【0055】
このバックラッシュ成分およびコンプライアンス成分が存在することによって、関節部11が固定されている場合であってもモータ4が若干回転し、逆にモータ4の駆動が停止している場合であっても関節部11が若干回転してしまう。そのため、アクチュエータ側の制御上の角度から計算で求められる関節角度と、関節部側の実際の関節角度との間で角度差αが生じる。この角度差αの大きさを特定することは、動力伝達系の制御の正確性を高めるために重要である。角度差αのうち、特にバックラッシュ成分に起因するものを、無負荷時のバックラッシュαという。
【0056】
ここで、S12において制御回路2が実行する処理を詳細に説明する。
【0057】
まず、メカリミット30にリンク14を押し当てた状態とメカリミット40にリンク14を押し当てた状態とのそれぞれでエンコーダ3から入力された値nE+(S5で入力),nE−(S10で入力)に基づいて、前記式1を用いて関節角度を算出する。nE+に基づいて算出された関節角度をθE+とし、nE−に基づいて算出された関節角度をθE−とする。
【0058】
次に、メカリミット30にリンク14を押し当てた状態とメカリミット40にリンク14を押し当てた状態とのそれぞれのポテンショメータ8の出力値(デジタル値)nP+(S2で入力),nP−(S7で入力)に基づいてS3およびS8ですでに算出されている関節角度θP+およびθP−を読み出す。
【0059】
最後に、「(θE+−θE−)−(θP+−θP−)」を実行することによって、角度差αを算出する。すなわち、角度差α=(θE+−θE−)−(θP+−θP−)である。
【0060】
ところで、図4に示される初期化処理中のエンコーダ3による関節角度換算値の変化量(θE+−θE−)と、ポテンショメータ8による関節角度換算値の変化量(θP+−θP−)との角度差αは、式3に示すように、バックラッシュαの関数と考えることができる。
【0061】
(式3) α(α)=(θE+−θE−)−(θP+−θP−)
モータ4に一定電圧V1を連続的に印加して、リンク14をメカリミット30または40に押し付ける場合、関節角度換算値の変化量の差αはバックラッシュαについて単調増加になる。したがって電圧V1下におけるαとαとの関係を事前に検定しておくことにより、関節角度換算値の変化量の差αからバックラッシュαを算出できる。
【0062】
関節駆動装置1のROM21内の推定用データ記憶領域23(図3参照)には、事前に検定しておいたαとαとの関係を示すバックラッシュデータが記憶されている。初期化処理のS12では、さらに、推定用データ記憶領域23からバックラッシュデータが読出されて、算出した角度差αに対応するバックラッシュαが算出される。
【0063】
S12でバックラッシュの推定処理が終了した後、θP+,θP−と、メカリミット30,40にリンク14が接している時の機械的にあるべき角度θ,θとの比較により、ポテンショメータ入力値を関節角度に変換するために用いる前記式2のパラメータC,nP0の補正を行なう(S13)。
【0064】
具体的には、以下の式4および式5に従う演算をして、パラメータC,nP0を補正する。
【0065】
(式4) C=(θ−θ)/(nP+−nP−
(式5) nP0=nP+−(θ/C
以降、パラメータCおよびnP0は、変更せず、固定値とする。
【0066】
なお、式4および式5は、既知の(θ,nP+)および(θ,nP−)の各々を、前記式2「θ=C(n−nP0)」に代入して、
θ=C(nP+−nP0)
θ=C(nP−−nP0)
とし、これを連立方程式として、CおよびnP0を導出するものである。
【0067】
たとえば、伝達機構がマニプレータやロボットフィンガに搭載され機構の周囲をケース等でシールドされた状態であっても本実施の形態の手法は適用可能である。つまり、上記のような初期化処理を制御回路2が実行することにより、ワイヤ12を直接観測できない条件下であっても簡易に伝達系のバックラッシュを推定することができるようになるので、メンテナンスが容易である。また、本実施の形態によれば、ワイヤ張力等、ワイヤ12を直接観測することによって得られるアナログ入力を必要とすることなく、伝達系のバックラッシュを推定できるために、関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る。
【0068】
次に、図5を用いて、位置制御サーボ補正処理を説明する。この処理は、関節角度が所望の値になるように装置を制御するための処理である。
【0069】
まず、ポテンショメータ8の値nを入力し、メモリ(RAM22)に記憶し、入力値に基づいて、前記式2によって関節角度θを算出する(S101)。関節部11とポテンショメータ8は直接接続してあるので、θは実際の関節角度θを正確に反映している。なお、S101では、図4の初期化処理のS13において補正されたパラメータCおよびnP0が用いられる。
【0070】
次に、エンコーダ3のカウント値nを入力し、メモリ(RAM22)に記憶する(S102)。エンコーダ3と関節部11との間には動力伝達系(ギア5およびワイヤ12)が存在することから、エンコーダ3のカウント値nから前記式1を用いて算出した関節角度θは、実際の関節角度θを正確に反映していない。したがって、単にエンコーダ3のパルスカウントのみに基づいてサーボ形を構成した場合、リンク14を目標の関節角度θの位置に正確に制御することができない。
【0071】
そこで式6の計算により、エンコーダ3のパルスカウント原点を、初期値nE0から関節角度制御の回毎(i回毎)に逐次変更して、nE0に補正する(S103)。
【0072】
(式6) nE0=(1−k)nE0i−1+k(n−θ/C
(ただし、iは自然数であり、nE0=nE0である)
式6において、θ/Cは、実際の関節角度θに対応するエンコーダ3のパルスカウント値である。したがって、n−θ/Cは、前回(i−1回目)のエンコーダ3のパルスカウント値nと、実際にカウントされるべきエンコーダ3のパルスカウント値θ/Cとの差、すなわち、今回(i回目)の制御に際して、補正すべき原点の誤差である。
【0073】
理論上は、この誤差(n−θ/C)を、前回のエンコーダ3のパルスカウント原点nE0i−1に加算することによって、次回の制御に用いるパルスカウント原点を求めることができる。
【0074】
しかしながら、このようなパルスカウント原点の補正処理が毎回行なわれることで処理S103の実行周期が大きくなると、一度の変更によるパルスカウント原点nE0の変化が大きくなり、制御系の振動が生じやすくなる。そこで、本実施の形態では、1以下の比例ゲインであるkを式6に示すように採用し、ゲインkを適切に設定して振動を抑制している。
【0075】
以上の計算が終わった後、式7によって、次回の関節角度目標値θに制御するためのエンコーダ制御目標値nを算出する(S104)。
【0076】
(式7) n=nE0+θ/C
この式7は、前記式1の「θ=C(n−nE0)」から変形した式「n=nE0+θ/C」を応用したものである。
【0077】
最後に、S104において算出したエンコーダ制御目標値nをモータサーボ回路15に設定する(S105)。なお、モータサーボ回路15は、モータドライバ16を制御して、設定されたエンコーダ制御目標値に従う回転量だけモータ4を駆動させる。
【0078】
以上のような制御を行なうことにより、ワイヤやギア等バックラッシュあるいはコンプライアンスをもった動力伝達形を持った装置であっても、振動を生じさせることなく正確に関節部11を目標関節角度に制御することが可能になる。また、極力、アナログ入力を必要とせずに、正確に関節部11を目標関節角度に制御することができるために、関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る。
【0079】
次に、図6を用いて、関節トルク推定処理を説明する。この処理は、図4の初期化処理が実行された後に、ポテンショメータ8およびエンコーダ3の出力値に基づいて、関節部11のトルクを推定するための処理である。なお、この処理は、図5を用いて説明を行った関節角度の制御が実行されていないときに行なわれる。したがってパルスカウント原点を補正するS103の処理も実行しておらず、エンコーダ3のパルスカウント原点は一定である。
【0080】
まず、ポテンショメータ8の値nを入力して、メモリ(RAM22)に記憶する(S201)。次に、エンコーダ3の値nを入力して、メモリ(RAM22)に記憶する(S202)。
【0081】
次に、記憶したポテンショメータ8の値nを前記式2により関節角度θに、記憶したエンコーダ3の値nを前記式1により関節角度θに、それぞれ変換し、その角度差θ−θを計算する(S203)。
【0082】
ポテンショメータ8およびエンコーダ3の値に基づいて算出した関節角度の角度差αは、ワイヤ12およびギア5からなる動力伝達系のコンプライアンス性およびバックラッシュによって生じるものと考えてよい。これを図示すると、図7のようになる。
【0083】
図7は、関節部11の負荷トルクTと角度差α(θ−θ)との関係を示している。理想的に動力伝達系のバックラッシュαが存在しない場合には、両者の関係は、図中の直線C2で表される。しかしながら、実際にはバックラッシュαが存在するために、両者の関係は直線では表されず、角度差軸部分で断続する図中のC1のような関係をなす。
【0084】
バックラッシュαの角度差軸方向の中央値は、エンコーダ3の原点nE0をどのタイミングで初期化したかによって変化する。エンコーダ3のパルスカウント原点は、前記式6によって、逐次、補正されるが、初期化したときの原点の初期値nE0は、以下のようにして求められる。
【0085】
前記式2「θ=C(n−nP0)」を用いて、ポテンショメータ値nから角度θを算出し、θをθとする。
【0086】
前記式1「θ=C(n−nE0)」を「nE0=(n−θ/C)」と変形した式に、エンコーダ値nを代入し、さらに、θに算出したθを代入し、初期値nE0を求める。
【0087】
このように、エンコーダ3のパルスカウント原点を初期化したときに、バックラッシュαが、初期化されたパルスカウント原点に対していずれの側に偏っているかを判別できないために、C1はグラフ原点を中心として、角度差軸方向にバックラッシュα分の不確定性を持つことになる。
【0088】
C1が角度差軸方向に確定していれば、関節部11の負荷トルクが0の場合以外は、角度差θ−θと関節部11の負荷トルクTとの関係が一意に決まるので、S203によって算出した角度差θ−θから関節部11の負荷トルクTを推定することができるようになる。
【0089】
関節駆動装置1のROM21内の推定用データ記憶領域23(図3参照)には、事前に検定しておいたC1に従う、角度差θ−θと関節部11の負荷トルクTとの関係を示す負荷トルクデータが記憶されている。S204では、推定用データ記憶領域23から負荷トルクデータを読出して、S203で算出した角度差θ−θに対応する関節部11の負荷トルクTを算出する。エンコーダ3およびポテンショメータ8それぞれの停止が推定された後、処理S201〜S204によりトルクの推定を行ない、モータ4の電圧の調整を行なう。
【0090】
なお、図6に示される関節トルク推定処理の前に、図4に示される初期化処理が実行されるために、図4に示されるフローチャートにおいて、モータ4に発生させる動力を可能な限り低減させた状態で角度差αが推定された後(図4のS12)、関節部11にかかるトルクが図6に示されるフローチャートによって推定されることになる。
【0091】
このように、本実施の形態の場合には、ワイヤ張力等、ワイヤ12を直接観測することによって得られるアナログ入力を必要とすることなく、関節部11の負荷トルクTを推定できるために、関節部の制御の正確性を高めながらも、極力、アナログ情報の入力数を低減し得る。
【0092】
図7のグラフ中のC1は、たとえば、モータ4の出力トルクを複数段階に変化させながら角度差θ−θを計測することにより特定することが可能である。しかしながら、モータ4の出力トルクを変更してからその値が安定するのを待ってからデータを取得するという手順では、作業に時間がかかるという問題がある。実用的な手法として以下のような方法がある。
【0093】
まず、バックラッシュαを算出する。バックラッシュαは、前記式3を利用して算出できる。すなわち、前述したように、電圧V1下におけるαとαとの関係を事前に検定しておくことにより、関節角度換算値の変化量の差αからバックラッシュαを算出できる。これにより、角度差軸上の正の値と負の値との2点を特定できる。
【0094】
次に、トルクを計測する直前までは関節部11を駆動する最低限のトルクT2でモータ4を回転させる。やがて、ポテンショメータ8の値θの変化がなくなり、エンコーダ3の値θの変化がなくなった時点での角度差θ−θを計算する。そして、計算した角度差θ−θとトルクT2とに基づいて、図7のグラフに点をプロットする(たとえば、図7のPT)。これにより、C1を確定させることができる。
【0095】
以上、説明した本実施の形態では、制御に必要なアナログ入力数は、関節角度検出用センサがポテンショメータであれば1であり、従来技術として説明した図8の構成に比較すると、極力、アナログ入力数を減少させることができる。
【0096】
同様に、アクチュエータ側および関節部側のうちのいずれか一方の回転角度センサを、ポテンショメータ等アナログ出力を持ったセンサで構成し、もう一方の回転角度センサをロータリエンコーダによって構成した場合であっても、アナログ入力はアクチュエータごとに1個となるので、従来の構成以下のアナログ入力数で、バックラッシュ推定、関節部側トルク推定等が可能になり、制御の正確性を高めることができる。
【0097】
また、本実施の形態において、ポテンショメータ8に代えて、アブソルート型エンコーダのようなデジタル的な絶対角度検出手段を用いてもよく、この場合には、制御に必要な入力をすべてデジタル入力とすることが可能になる。
【0098】
同様に、アクチュエータ側および関節側の回転角度センサを両方ともロータリエンコーダのようなデジタル出力を持ったセンサによって構成すれば、ハンドやマニプレータの制御回路に代表される関節駆動装置は、アナログ入力を必要としない。
【0099】
その結果、A/D変換回路を減少あるいは不要とすることができ、コンパクトかつ高性能な関節駆動装置を容易かつ安価に構成することができる。
【0100】
また、本実施の形態では、ワイヤやベルト等弾性を持った動力伝達機構で接続されたアクチュエータおよび関節部それぞれに角度センサを取付ける。そして、関節部を所望の角度まで回転させるために、アクチュエータのサーボ系をアクチュエータ本体と、アクチュエータの回転角度を計測する角度センサにより構成している。これにより、動力伝達機構に弾性があっても剛性の高い制御を行なうことができる。
【0101】
さらに、本実施の形態では、上記サーボ系の目標値を、関節部側に取付けた角度センサの読み値と回転型アクチュエータ側に取付けた角度センサの読み値の差分に比較的低いゲインをかけたもので逐次修正することにより、関節部が目標角度に到達することを保証している。そして、上記のような構成をとることにより、動力伝達部材の弾性の影響下であっても振動を生じさせることなく正確に関節部の角度位置決めを行なうことができるようになる。
【0102】
本発明の関節駆動装置1をロボットフィンガに用いる場合、無負荷状態に置いて回転型アクチュエータの回転角度の読み値と関節部の回転角度の読み値とを一致させておけば、回転型アクチュエータ側の回転角度センサ読み値と、関節側の回転角度センサ読み値との差は、その中間にある弾性を持った動力伝達部材の変形によって生じたものと考えられるようになる。
【0103】
したがって、回転型アクチュエータ側の回転角度センサの読み値と、関節側の回転角度センサの読み値との差は、関節部に働くトルクを反映して生じているものと捉えられるので、関節部に働くトルクと回転角度センサの読み値の差との関係を事前に測定しておけば回転角度センサの読み値の差に基づいて関節部に働くトルクを検出することができる。
【0104】
以上をまとめると、ワイヤあるいはベルト等弾性を持った動力伝達部材により動力伝達を行なうハンドやマニプレータに本発明を適用することにより、振動を発生させることなく確実に関節角度の位置決めを行なう位置制御が可能になり、また、関節部に働くトルクの制御をすることが可能になる。
【0105】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0106】
【図1】関節駆動装置の平面図である。
【図2】関節駆動装置を図1の矢印L方向から見た図である。
【図3】関節駆動装置の構成を示すブロック図である。
【図4】初期化処理を説明するためのフローチャートである。
【図5】位置制御サーボ補正処理を説明するためのフローチャートである。
【図6】関節トルク推定処理を説明するためのフローチャートである。
【図7】関節部の負荷トルクと角度差との関係を示す図である。
【図8】従来の関節駆動装置を示す図である。
【符号の説明】
【0107】
1 関節駆動装置、2 制御回路、 20 CPU、21 ROM、22 RAM、3 エンコーダ、4 モータ、5 ギア、6 主動側プーリ、7 従動側プ−リ、8 ポテンショメータ、9 モータ軸、10 関節軸、11 関節部、12 ワイヤ、13 フレーム、14 リンク、15 モータサーボ回路、16 モータドライバ、17 A/D変換回路、30 メカリミット(内側)、40 メカリミット(外側)。

【特許請求の範囲】
【請求項1】
関節部を回動させるための関節側回転部材と、
該関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、
前記回転型アクチュエータを制御する制御手段とを備え、
該制御手段は、
前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1算出手段と、
前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2算出手段と、
前記第1算出手段の算出値と前記第2算出手段の算出値との角度差を算出する角度差算出手段と、
前記角度差と前記関節側回転部材に対する負荷トルクとの関係を示す負荷トルクデータを予め記憶する記憶手段と、
前記角度差算出手段により算出された角度差と、前記記憶手段に記憶されている負荷トルクデータとから、前記関節側回転部材に対する負荷トルクを特定する負荷トルク特定手段とを備えることを特徴とする、関節駆動装置。
【請求項2】
関節部を回動させるための関節側回転部材と、
該関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、
前記回転型アクチュエータを制御する制御手段とを備え、
該制御手段は、
前記動力側回転角度検出手段の検出出力と、前記関節側回転角度検出手段の検出出力とに基づいて、前記回転型アクチュエータの回転角を制御するために用いる基準値を補正する基準値補正手段と、
該基準値補正手段が補正した基準値を基準として、前記関節側回転部材の回転角を予め定めた目標角度に制御するために必要となる前記回転型アクチュエータの制御量を算出する制御量算出手段と、
該制御量算出手段が算出した制御量に基づいて前記回転型アクチュエータを駆動する駆動制御手段とを備えることを特徴とする、関節駆動装置。
【請求項3】
関節部を正逆両方向に回動させるための関節側回転部材と、
前記関節部の正方向への所定角以上の回動を規制する正方向規制部材と、
前記関節部の逆方向への所定角以上の回動を規制する逆方向規制部材と、
前記関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、
前記回転型アクチュエータを制御する制御手段とを備え、
該制御手段は、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1正方向最大角算出手段と、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1逆方向最大角算出手段と、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2正方向最大角算出手段と、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2逆方向最大角算出手段と、
前記第1正方向最大角算出手段の算出値と前記第1逆方向最大角算出手段の算出値との差数と、前記第2正方向最大角算出手段の算出値と前記第2逆方向最大角算出手段の算出値との差数との差を算出することによって、前記動力伝達部材のコンプライアンス成分および前記回転型アクチュエータのバックラッシュ成分によって生じる動力伝達前後角度差を算出する角度差算出手段とを備えることを特徴とする、関節駆動装置。
【請求項4】
前記動力側回転角度検出手段と前記関節側回転角度検出手段とのうち少なくとも一方は、検出値として出力される情報がデジタル情報である回転角度センサであることを特徴とする、請求項1〜請求項3のいずれかに記載の関節駆動装置。
【請求項5】
前記動力側回転角度検出手段は、前記回転型アクチュエータの一部を構成するモータに取付けた相対角度検出センサであり、
前記関節側回転角度検出手段は、絶対角度検出型センサであることを特徴とする、請求項1〜請求項4のいずれかに記載の関節駆動装置。
【請求項6】
前記関節部の正方向への所定角以上の回動を規制する正方向規制部材と、
前記関節部の逆方向への所定角以上の回動を規制する逆方向規制部材とをさらに備え、
前記制御手段は、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1正方向最大角算出手段と、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1逆方向最大角算出手段と、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2正方向最大角算出手段と、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2逆方向最大角算出手段と、
前記第1正方向最大角算出手段の算出値と前記第1逆方向最大角算出手段の算出値との差数と、前記第2正方向最大角算出手段の算出値と前記第2逆方向最大角算出手段の算出値との差数との差を算出することによって、前記動力伝達部材のコンプライアンス成分および前記回転型アクチュエータのバックラッシュ成分によって生じる動力伝達前後角度差を算出する角度差算出手段とをさらに備え、
前記負荷トルク特定手段は、前記角度差算出手段が前記動力伝達前後角度差を算出した後に、前記負荷トルクを特定することを特徴とする、請求項1に記載の関節駆動装置。
【請求項7】
関節部を回動させるための関節側回転部材と、
該関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、
前記回転型アクチュエータを制御する制御手段とを備える関節駆動装置の制御方法であって、
前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1算出ステップと、
前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2算出ステップと、
前記第1算出ステップの算出値と前記第2算出ステップの算出値との角度差を算出する角度差算出ステップと、
前記角度差と前記関節側回転部材に対する負荷トルクとの関係を示す負荷トルクデータを予め記憶する手段であって前記関節駆動装置が備える記憶手段に記憶されている負荷トルクデータと、前記角度差算出ステップにより算出された角度差とから、前記関節側回転部材に対する負荷トルクを特定する負荷トルク特定ステップとからなることを特徴とする、関節駆動装置の制御方法。
【請求項8】
関節部を回動させるための関節側回転部材と、
該関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段と、
前記回転型アクチュエータを制御する制御手段とを備える関節駆動装置の制御方法であって、
前記動力側回転角度検出手段の検出出力と、前記関節側回転角度検出手段の検出出力とに基づいて、前記回転型アクチュエータの回転角を制御するために用いる基準値を補正する基準値補正ステップと、
該基準値補正ステップにより補正された基準値を基準として、前記関節側回転部材の回転角を予め定めた目標角度に制御するために必要となる前記回転型アクチュエータの制御量を算出する制御量算出ステップと、
該制御量算出ステップにより算出された制御量に基づいて前記回転型アクチュエータを駆動する駆動制御ステップとからなることを特徴とする、関節駆動装置の制御方法。
【請求項9】
関節部を正逆両方向に回動させるための関節側回転部材と、
前記関節部の正方向への所定角以上の回動を規制する正方向規制部材と、
前記関節部の逆方向への所定角以上の回動を規制する逆方向規制部材と、
前記関節側回転部材へ動力を供給するための回転型アクチュエータと、
該回転型アクチュエータと前記関節側回転部材との間に掛け渡されて前記回転型アクチュエータの動力を前記関節側回転部材へ伝達する、弾性を有する動力伝達部材と、
前記回転型アクチュエータの回転角を検出するための動力側回転角度検出手段と、
前記関節側回転部材の回転角を検出するための関節側回転角度検出手段とを備える関節駆動装置の制御方法であって、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1正方向最大角算出ステップと、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記動力側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第1逆方向最大角算出ステップと、
前記関節部が前記正方向規制部材によって規制される最大限まで前記正方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2正方向最大角算出ステップと、
前記関節部が前記逆方向規制部材によって規制される最大限まで前記逆方向に回動しているときの前記関節側回転角度検出手段の検出出力に基づいて、前記関節側回転部材の回転角を算出する第2逆方向最大角算出ステップと、
前記第1正方向最大角算出ステップの算出値と前記第1逆方向最大角算出ステップの算出値との差数と、前記第2正方向最大角算出ステップの算出値と前記第2逆方向最大角算出ステップの算出値との差数との差を算出することによって、前記動力伝達部材のコンプライアンス成分および前記回転型アクチュエータのバックラッシュ成分によって生じる動力伝達前後角度差を算出する角度差算出手段ステップとからなることを特徴とする、関節駆動装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−55927(P2006−55927A)
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願番号】特願2004−238572(P2004−238572)
【出願日】平成16年8月18日(2004.8.18)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】