(57)【要約】【課題】  入力軸エンコーダ、出力軸エンコーダを利用した出力軸を高精度に位置決めする制御やねじれフィードバック制御を実現させることができる角度検出方法、および該角度検出方法を実行する角度検出装置を提供する。【解決手段】  入力軸エンコーダ、出力軸エンコーダ、モータ、減速機などで構成されるロボットアームにおいて、入力軸エンコーダの回転の周期性を利用した回転位置情報を基準にして出力軸エンコーダ検出誤差を補正する。このように、入出力軸のエンコーダ検出誤差を補正することで、出力軸を高精度に位置決めする制御やねじれフィードバック制御を実現させることができる。【選択図】  図１
2015194462.tif 000002
【特許請求の範囲】
【請求項１】
第一の軸、動力伝達部、および第二の軸が順に連結され、前記第一の軸および前記第二の軸の回転角度をそれぞれ検出する第一のエンコーダおよび第二のエンコーダを備えた角度検出装置による角度検出方法であって、
前記第一の軸の第一の回転角度、および前記第二の軸の第二の回転角度を検出する工程と、
第一のエンコーダにて検出された回転角度において周期的な角度ごとに採取された第一の回転角度群にそれぞれ対応する第二のエンコーダにて検出された第二の回転角度群を採取する工程と、
前記第二の回転角度群に基づいて生成される第二の補正テーブルを作成する工程と、
前記補正テーブルに基づいて前記第二の回転角度を補正する工程と、
を備えた角度検出方法。
【請求項２】
第一の軸、動力伝達部、および第二の軸が順に連結され、前記第一の軸の回転角度を検出する第一のエンコーダと前記第二の軸に連結され、前記第一の軸の回転角度を検出する第二のエンコーダとを備えた角度検出装置による角度検出方法であって、
前記第一の軸の第一の回転角度、および前記第一の軸の第二の回転角度を検出する工程と、
第一のエンコーダにて検出された回転角度において周期的な角度ごとに採取された第一の回転角度群にそれぞれ対応する第二のエンコーダにて検出された第二の回転角度群を採取する工程と、
前記第二の回転角度群に基づいて生成される第二の補正テーブルを作成する工程と、
前記補正テーブルに基づいて前記第二の回転角度を補正する工程と、
第一の回転角度と第二の回転角度の差を計算することで第二の軸の回転角度を検出する工程と、
を備えた角度検出方法。
【請求項３】
補正された前記第二の回転角度に対応する第一の回転角度を演算することで前記第一の回転角度を補正する工程を備えたことを特徴とする請求項１または２に記載の角度検出方法。
【請求項４】
前記周期的な角度は３６０度毎の角度を基準にして採取された第一の回転角度群であることを特徴とする請求項１ないし３のいずれか１項記載の角度検出方法。
【請求項５】
前記周期的な角度は１８０度毎の角度を基準にして採取された第一の回転角度群であることを特徴とする請求項１ないし３のいずれか１項記載の角度検出方法。
【請求項６】
請求項１ないし５のいずれか１項記載の角度検出方法で補正した第一の回転角度を基準にして、補正後の前記第一の回転角度における周期的な角度ごとに補正後の前記第二の回転角度を再度補正する工程、を少なくとも１回以上繰り返すことを特徴とする請求項１ないし５のいずれか１項記載の角度検出方法。
【請求項７】
請求項１ないし６のいずれか１項記載の角度検出方法における各工程をコンピュータに実行させるプログラム。
【請求項８】
請求項７記載のプログラムを記録した記憶媒体。
【請求項９】
第一の軸、動力伝達部、および第二の軸が順に連結され、前記第一の軸および前記第二の軸の回転角度をそれぞれ検出する第一のエンコーダおよび第二のエンコーダを備えた角度検出装置であって、
請求項７記載のプログラムを記憶した制御部を備えた角度検出装置。
【請求項１０】
モータと請求項９記載の角度検出装置よりなる回転駆動装置。
【請求項１１】
関節部を有するロボットアームと、前記ロボットアームの関節部に請求項１０記載の回転駆動装置を備えていることを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軸と回転ディスクの偏心に起因するエンコーダ検出誤差を補正する方法に関するものである。
【背景技術】
【０００２】
ロボットアームは従来、関節機構を駆動するためのサーボモータ（以下、モータ）、高出力トルクを得るための減速機からなる回転駆動装置を有している。回転駆動装置には回転子の角度検出するためのロータリエンコーダ（以下、エンコーダ）が具備されている。エンコーダはモータの回転軸に直結されており、エンコーダで検出した回転角度の情報をモータにフィードバックすることで、ロボットアームの先端位置を制御していた。
【０００３】
近年、高精度な部品を組み立てることができる産業用ロボットの需要が増えているため、ロボットアームの先端位置の制御においても高精度化が求められている。ロボットアームの先端位置の位置決め精度の劣化要因としては、ロボットアームの回転駆動装置における減速機の角度伝達誤差やねじれ、エンコーダ検出誤差などがある。このエンコーダ検出誤差とは、エンコーダの軸と回転ディスクの取付け時の偏心による理想的な位置に対しての偏差から生じる誤差である。
【０００４】
まず、エンコーダの内部構造について図３を用いて説明する。図３において、エンコーダ３０１は軸３０３に固定され周方向に透過部と不透過部が回転ディスクパターンとして規則的に配列された回転ディスク３０２である。さらに、この回転ディスク３０２に対向して配置されエンコーダ３０１の匡体に対して位置が固定された固定スリット３０５、発光素子３０４、受光素子３０６で構成されている。
【０００５】
軸３０３には、ユーザーが回転角度を検出したい回転軸（以下の議論では減速機に対するインプットの意味で、“入力軸”と記載することがある）に接続される。入力軸と軸３０３とが互いに接続されて一体に回転することで入力軸の回転角度をエンコーダ３０１で検出することができる。
【０００６】
これは、一般的な透過型光学式アブソリュートエンコーダである。発光素子３０４からの光が回転ディスク３０２に投光されると、固定スリット３０５を介して、受光素子３０６が受光・不受光を繰返しオンオフの電気信号として検出することで回転位置を演算する。
【０００７】
エンコーダはモータの軸芯などの回転子に具備され、ロボットアームの回転駆動装置における高精度な回転位置の制御を実現している。以下順を追って説明するが、回転ディスク３０２の回転中心と軸３０３とに偏心があると、この偏心に起因するエンコーダ検出誤差が、高精度な回転位置の制御に無視できない影響を与える。
【０００８】
一方、ロボットアームなど、モータの回転を、減速機を介してトルクに変換することで駆動する機器に関しては、減速機の出力軸（以下、“出力軸”と記載することがある）にエンコーダを設ける技術が知られている。この技術は出力軸を高精度に位置決めする制御や、減速機のトルクに比例したねじれを検出するねじれフィードバック制御を行うものである。このねじれフィードバック制御とは、減速機自体のねじれ剛性が必ずしも高くないため、モータの回転軸（入力軸）が決められた回転角度に回転位置が制御されていても、出力軸がその狙いの回転角度に制御されない問題に対処するものである。
【０００９】
このねじれフィードバック制御を実行する方法が、例えば、特開２０１２−１３７３１０号（特許文献１）に記載されている。特許文献１記載のようにモータの回転角度を検出する入力軸エンコーダ、減速機の出力側の回転子の回転角度を検出する出力軸エンコーダ、モータ、減速機などで構成されるロボットアームの回転駆動装置が知られている。
【００１０】
しかし、ねじれフィードバック制御は、出力軸エンコーダと入力軸エンコーダの回転位置情報の差をねじれ量として検出し、そのねじれ量をモータにフィードバックすることで制御する。したがって、回転駆動装置における減速機の角度伝達誤差に対する補正にはなるが、エンコーダ検出誤差が原因で発生する位置決め精度の劣化に対処する技術ではない。
【００１１】
そのため、そもそもエンコーダ自体に、回転ディスクの回転中心と軸との偏心に起因するエンコーダ検出誤差があると、正確な回転駆動装置の回転角度を検出することは難しい。このエンコーダ検出誤差があるために、ロボットアームなど減速機を利用した機器においては、特許文献１記載の技術を活用したとしても出力軸を高精度に位置決めする制御やねじれフィードバック制御を行うことには限界がある。
【００１２】
たとえば入力軸エンコーダのエンコーダ検出誤差の対処を行わずに、出力軸エンコーダの出力値から回転位置を補正しようとすると、エンコーダ検出誤差が小さいエンコーダを出力軸に設ける必要がある。これは、入力軸エンコーダ検出誤差に減速機の減速比を乗算した量が出力軸の位置決め誤差として生じてしまうためである。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１２−１３７３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
一般的に、エンコーダ検出誤差が小さいエンコーダは非常に高価であるため、そのエンコーダをロボットアームの入出力軸に設けることは必ずしも現実的ではない。
【００１５】
すなわち、この従来の方法では、回転駆動装置に配置したエンコーダのエンコーダ検出誤差を十分に考慮していなかった。そのため、ロボットアームの先端位置決め精度を向上させるための出力軸を高精度に位置決めする制御やねじれフィードバック制御を行うことが現実的には困難であるという問題があった。
【００１６】
本発明は上述した課題を解決するためになされたものであって、入力軸エンコーダ、出力軸エンコーダを利用した出力軸を高精度に位置決めする制御やねじれフィードバック制御を実現させることができる角度検出方法、および該角度検出方法を実行する角度検出装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するための手段は、第一の軸、動力伝達部、および第二の軸が順に連結され、前記第一の軸および前記第二の軸の回転角度をそれぞれ検出する第一のエンコーダおよび第二のエンコーダを備えた角度検出装置による角度検出方法であって、
前記第一の軸の第一の回転角度、および前記第二の軸の第二の回転角度を検出する工程と、
第一のエンコーダにて検出された回転角度において周期的な角度ごとに採取された第一の回転角度群にそれぞれ対応する第二のエンコーダにて検出された第二の回転角度群を採取する工程と、
前記第二の回転角度群に基づいて生成される第二の補正テーブルを作成する工程と、
前記補正テーブルに基づいて前記第二の回転角度を補正する工程と、
を備えた角度検出方法である。
【発明の効果】
【００１８】
本発明によれば、入力軸エンコーダ（第一のエンコーダ）の回転の周期性を利用した回転位置情報を基準にして出力軸エンコーダ（第二のエンコーダ）の検出誤差を補正している。そのため、入力軸エンコーダにエンコーダ検出誤差がある場合でもロボットアームの回転駆動装置における高い位置決め精度を達成できる。
【００１９】
また、エンコーダ検出誤差がある安価なエンコーダをロボットアームの入出力軸に設けても上記の高精度補正をすることができるため、追加的構成物を設けることなく高い位置決め精度を達成できる。
【図面の簡単な説明】
【００２０】
【図１】角度検出方法のフローチャートである。
【図２】回転駆動装置の断面図及び信号フローである。
【図３】エンコーダの内部構造を示す図である。
【図４】偏心とエンコーダ検出誤差の関係を示す図である。
【図５】エンコーダ出力値と偏心によるエンコーダ検出誤差の関係を示す図である。
【図６】減速比１０：１における入出力軸のエンコーダ検出誤差の関係を示す図である。
【図７】入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差を示す図である。
【図８】入出力軸エンコーダ検出誤差がもたらす出力軸位置決め合計誤差を示す図である。
【図９】出力軸エンコーダ検出誤差のサンプリング方法を示す図である。
【図１０】出力軸エンコーダ検出誤差のサンプリングデータの線形補間を示す図である。
【図１１】補正後の出力軸エンコーダ検出誤差を示す図である。
【図１２】補正後の出力軸エンコーダ検出誤差がもたらす入力軸位置決め誤差を示す図である。
【図１３】入出力軸エンコーダ検出誤差がもたらす入力軸位置決め合計誤差を示す図である。
【図１４】補正後の入力軸エンコーダ検出誤差を示す図である。
【図１５】本発明と従来技術を比較する補正シミュレーション結果を示す図である。
【図１６】垂直多関節６軸ロボットを示す図である。
【図１７】エンコーダ検出誤差補正を繰り返し行った時のフローチャートである。
【図１８】第５の実施例の回転駆動装置の断面図である。
【図１９】第５の実施例のエンコーダ検出誤差補正方法のフローチャートである。
【図２０】第５の実施例の出力軸エンコーダ検出誤差のサンプリング方法を示す図である。
【図２１】第５の実施例の出力軸エンコーダ検出誤差のサンプリングデータの正弦波推定補間を示す図である。
【図２２】第５の実施例の補正後の出力軸エンコーダ検出誤差を示す図である。
【発明を実施するための形態】
【００２１】
以下本発明にかかる実施形態・実施例を説明するにあたり、まずエンコーダ３０１の軸３０３と回転ディスク３０２にかかる偏心とエンコーダ検出誤差について定量的に説明する。
【００２２】
図４は偏心とエンコーダ検出誤差の関係を示す図である。ここで説明する偏心とはエンコーダ３０１の軸３０３の中心点と回転ディスク３０２の中心点との偏差のことである。図４において、４０１はエンコーダ位置情報を示す回転ディスクパターンであり、４０２は回転ディスクパターン４０１が軸３０３の在る点Ａに対して偏心距離εだけ偏心した時の回転ディスクパターンを示している。
【００２３】
このような偏心は、回転ディスクと軸との取付けの際などに生じるものである。また図４では説明のため、回転ディスクパターンが描く円の半径に対する偏心の大きさを誇張して描いている。
【００２４】
図中、軸３０３の在るＡ点から、回転ディスクパターンの中心がＡ´点に偏心した様子を描いており、その方向を基準角度である０度とし、左回転を正回転として描いている。
【００２５】
二点破線によって描かれている円は、偏心した回転ディスクパターンが軸３０３の在るＡ点を中心として回転した際の包絡線を示している。偏心距離εの大きさに応じて回転ディスクパターンはこの二点破線の円の内側を回転移動する。もちろん偏心距離εがゼロの場合は、この二点破線の円は図中の点Ａを中心とする半径Ｒの円に一致する。
【００２６】
偏心した方向の軸と偏心した方向と垂直に交わる軸、つまり、０度から１８０度の軸と９０度から２７０度の軸については、理想的なエンコーダ検出位置を示している。Ａ点は軸３０３の中心点、すなわち、回転ディスクパターン４０１の中心点であり、Ａ´点は偏心時回転ディスクパターン４０２の中心点である。Ｂ点、Ｃ点、Ｄ点、Ｅ点は回転ディスクパターン４０１の位置情報０度、９０度、１８０度、２７０度をそれぞれ示しており、Ｂ´点、Ｃ´点、Ｄ´点、Ｅ´点は、偏心時のエンコーダ検出位置情報をそれぞれ示している。まず、偏心した方向の軸の検出誤差について、すなわち図４中のＡ点を起点としてＢ点とＢ´点、Ｄ点とＤ´点ではそれぞれ０度、１８０度の位置で検出されるため、偏心によるエンコーダ検出誤差は実質的には生じない。
【００２７】
それに対して、偏心した方向と垂直に交わる軸の検出誤差について、Ｃ点とＣ´点で比較すると、Ｃ´点はＣ点よりも進んだ位置として検出され、Ｅ点とＥ´点では、Ｅ´点はＥ点よりも遅れた位置で検出されるため、偏心によるエンコーダ検出誤差が生じてしまう。ここで、エンコーダ検出誤差をθ［ｒａｄ］、偏心距離をε、回転ディスクパターン４０１の半径をＲとした場合、エンコーダ検出誤差θ［ｒａｄ］は、関係式（１）によって表現される。
θ＝ｓｉｎ−１（ε／Ｒ）・・・（１）
つまり、この関係式（１）に基づいたエンコーダ検出誤差θ［ｒａｄ］が現れてしまうことで、理想的な位置に対して偏差が生じてしまう。
【００２８】
図５は偏心のあるエンコーダにおけるエンコーダ出力値とエンコーダ検出誤差の関係を示す図である。図５（Ａ）において、Ａ線は偏心がない時のエンコーダ出力値であり、Ｂ線は偏心がある時のエンコーダ出力値である。つまり、Ｂ線とＡ線のエンコーダ出力値の差分の量が偏心によるエンコーダ検出誤差であり、このエンコーダ検出誤差を表している図が図５（Ｂ）である。エンコーダ偏心とエンコーダ検出誤差の関係は、ｓｉｎ関数で表わされていることより、エンコーダ３０１の軸３０３が１回転（３６０度）すると正弦波状のエンコーダ検出誤差が１周期分生じ、２回転（７２０度）すると２周期分生じることを示している。すなわち、エンコーダ３０１の軸３０３がＮ回転（３６０×Ｎ度）すると正弦波状のエンコーダ検出誤差がＮ周期分現れる。このようなエンコーダ検出誤差があるために、ロボットアームの先端位置決め精度が劣化してしまうため、以下説明する構成を以て解決する。
【００２９】
また、検出誤差として、エンコーダ３０１と回転ディスク３０２の取付け時の軸３０３と回転ディスク３０２の中心とのずれによる誤差と説明したが、原因はこれに限定されるものではない。例えば、入力軸２０５と出力軸２０６との検出誤差を含める形態であってもよい。つまり、入力軸２０５と出力軸２０６との検出誤差とは、入力軸２０５と出力軸２０６との偏心によっても誤差が生じる。この軸同士を精度よく組み立てたつもりでも軸部材の剛性や噛み合わせ、負荷などにより回転させると発生する誤差を示す。すなわち、検出誤差として、軸３０３が１回転した時に位置再現性を示す正弦波状の誤差であれば、以下に示す本発明は実施できる。
【実施例１】
【００３０】
図２は本発明の特徴を最もよく表す図であり、本発明の角度検出装置を備えた回転駆動装置の断面図及び信号フローである。図２（Ａ）において、モータ２０３は第一の回転軸である入力軸２０５を回転させる。また、動力伝達部である減速機２０４は入力軸２０５の回転に応じて、あらかじめ定められている減速比、例えば１０：１で減速して第二の軸である出力軸２０６を回転させる。すなわち、モータ２０３が入力軸２０５を回転させ、この入力軸２０５が回転することで、減速機２０４を介して出力軸２０６が回転する。
【００３１】
ここで、減速機２０４について説明する。入力軸２０５と結合された波動を発生させるウェーブジェネレータ（ＷＧ）２１３が回転することにより、外歯車であるフレックススプライン（ＦＳ）２１４が楕円形状に撓められ、フレックススプライン（ＦＳ）２１４における楕円の長軸方向の両端位置で内歯車であるサーキュラースプライン（ＣＳ）２１５と噛み合う。この時、フレックススプライン（ＦＳ）２１４とサーキュラースプライン（ＣＳ）２１５との間に相対回転が発生し、フレックススプライン（ＦＳ）から大幅に減速された回転力が出力軸に伝達されて出力される。本実施例では、波動歯車を利用した減速機２０４について説明しているが、これに限定されるものではない。
【００３２】
入力軸エンコーダ２０１はモータ２０３によって回転される入力軸２０５の回転位置に応じた入力軸信号を検出する。また、出力軸エンコーダ２０２は入力軸２０５と減速機２０４を介して連結される出力軸２０６の回転位置に応じた出力軸信号を出力する。すなわち、入力軸エンコーダ２０１はモータ２０３の入力軸２０５の軸芯を中心に入力軸の回転角度を検知する機能を有しており、入力軸２０５の機械角３６０度の何処に位置するのかを検知できる。それに対して、出力軸エンコーダ２０２はモータ２０３の入力軸２０５から減速機を介して接続された出力軸２０６の回転における回転角度を検知する機能を有しており、出力軸２０５の機械角３６０度の何処に位置するのかを検知できる。
【００３３】
このように、第一の軸、動力伝達部、および第二の軸が順に連結され、前記第一の軸および前記第二の軸の回転角度をそれぞれ検出する第一のエンコーダおよび第二のエンコーダを備えた角度検出装置が構成されている。そしてモータ２０３とこの角度検出装置とで回転駆動装置が形成されている。
【００３４】
また、図３を用いて前述したように、入出力軸エンコーダとして透過型光学式アブソリュートエンコーダを説明したが、反射型、磁気式、インクリメンタルなどの種類のエンコーダ３０１を組み合わせて用いても良い。さらに、エンコーダ３０１の替わりにレゾルバなどの角度検出器を備えさせても同様の効果があるため、本実施例を含む各実施例に適用することができる。
【００３５】
出力軸２０６には通常、負荷２０７と連結されており、入力軸エンコーダ２０１側には後述する第１の位置情報生成部２０８と第１の補正演算部２１０を備えている。出力軸エンコーダ２０２側には後述する第２の位置情報生成部２０９と第２の補正演算部２１１等からなる演算部を備えてある。
【００３６】
回転駆動装置によって例えばロボットアームを駆動させるケースでは、負荷はロボットアームにおけるリンクなどが相当し、負荷の大きさに応じて減速機の減速比やモータのスペックがユーザーによって選択されることになる。
【００３７】
本発明は次の点で従来技術と異なっている。すなわち、入力軸エンコーダ２０１の回転の周期性を利用し、例えば、入力軸エンコーダ２０１の３６０度毎の周期的な回転位置情報を基準にして、出力軸エンコーダ検出誤差を補正することである。
【００３８】
本発明について具体的に説明する。図１（Ａ）は本実施例にかかる角度検出方法における信号や情報のやり取りを描いたフローチャートである。まず入力軸エンコーダ２０１からの入力軸信号を第１の位置情報生成部２０８が受信し、同様に、出力軸エンコーダ２０２からの出力軸信号を第２の位置情報生成部２０９が受信する。次に、第１の位置情報生成部２０８から出力される第一の回転角度である第１の回転位置情報と第２の位置情報生成部２０８から出力される第二の回転角度である第２の回転位置情報を第２の補正演算部２１１に入力する。
【００３９】
第２の補正演算部２１１では、まず、出力軸エンコーダ（第二のエンコーダ）における検出誤差のサンプリングを行う。そのために、入力軸エンコーダ２０１（第一のエンコーダ）の３６０度毎の第１の回転位置情報（第一の回転角度群）に対する第２の回転位置情報（第二の回転角度群）を演算する。
【００４０】
すなわち第一の回転角度群のデータは、第一の回転角度のデータから規則的かつ離散的に採取したものであり、第一の回転角度のデータの全体に対する部分集合になっている。
【００４１】
おなじく、第二の回転角度群のデータも第二の回転角度のデータ全体に対する部分集合になっている。
【００４２】
図９は出力軸エンコーダの検出誤差のサンプリング方法を示す図である。図９のように入力軸エンコーダ２０１の３６０度毎の第１の回転位置情報（第一の回転角度群）に対する第２の回転位置情報（第二の回転角度群）を演算すると、減速比１０：１であるため、出力軸エンコーダ検出誤差のサンプル数は１０点となる。次に、図１のフローチャートにも記載の通り、出力軸エンコーダ検出誤差をサンプリングしたデータを補間し、補間した情報に基づいて、補正テーブルを生成する。図１０は出力軸エンコーダ検出誤差のサンプリングデータの線形補間を示す図である。図１０では、減速比が１０：１であるため、サンプル数は１０点で線形補間しているが、減速比が大きければ大きいほどサンプル数が増えるため、線形補間された波形は正弦波の形に近くなる。補正テーブルに関して、補正するということはエンコーダ検出誤差を打ち消すように制御することであるため、図１０のような補間した波形を打ち消すようなデータを補正テーブルとすればよい。図１０の下図に描いた補完データは、入力軸エンコーダ２０１の３６０度毎の第１の回転位置情報（第一の回転角度群）に対応するデータから生成されたものである。したがって、入力軸エンコーダがたとえ偏心によるエンコーダ検出誤差を持っていたとしても、上述したようにその影響は低く抑えられている。
【００４３】
そして、第２の補正演算部２１１により、補正テーブル（補正テーブルが補完データそのものであってもよい）に基づいて出力軸エンコーダの検出誤差を補正し、第２の位置情報生成部２０９を更新することで、出力軸エンコーダ検出誤差の補正は完了である。
【００４４】
図１１は補正前後の出力軸エンコーダ検出誤差をそれぞれ示す図である。図１１に描かれているように、補正前では出力軸エンコーダ検出誤差の絶対値が１０分であった。それに対して、補正後では出力軸エンコーダの検出誤差の絶対値０．４８分となり、エンコーダ検出誤差に起因する角度の検出誤差が改善されていることがわかる。
【００４５】
なおエンコーダ検出誤差に起因する角度の検出誤差の改善の度合いは後にまとめて表記する。
【００４６】
このように、本実施例の角度検出方法を用いることで、エンコーダを構成する部品の偏心に起因するエンコーダ検出誤差の補正をすることができる。
【００４７】
図１（Ａ）、図９を用いて前述したように本実施例では、入力軸エンコーダ２０１の３６０度毎の回転位置情報を基準にして、出力軸エンコーダ検出誤差を補正すると説明したが、これに限定されるものではない。例えば、サンプリングデータの量を少なくするために、サンプリングを間引くことでサンプル数を減らしても、入力軸エンコーダ２０１の回転位置情報の基準が一定であるため、出力軸エンコーダの検出誤差を補正することができる。また、入力軸エンコーダ２０１の３６０度毎以外の回転位置情報のサンプリング間隔を、例えば、１８０度毎の周期的な回転位置情報でも出力軸エンコーダ検出誤差を補正することができる。
【００４８】
また、図９に示すように、入力軸エンコーダ２０１のサンプリング初期位相を２７０度で、説明したが、サンプリング初期位相は任意であっても入出力軸エンコーダの相対的な検出誤差を演算することができるため、本発明は実施できる。また、図１０に示すように、サンプリングデータの補間方法を線形補間として説明したが、サンプリングデータの中から、正のピーク点、負のピーク点、ゼロクロス点をピックアップしてその点から正弦波を推定する一般的な正弦波推定補間などでも良い。
【００４９】
以上のように、本発明はエンコーダ誤差の補正効果が大きいため、ロボットアームの先端位置決め精度を向上させるための出力軸を高精度に位置決めする制御やねじれフィードバック制御に好適に適用できる。
【００５０】
また本実施例の角度検出方法における各工程をコンピュータに実行させるプログラムを作成し利用してもよいし、プログラムを記録した記憶媒体を利用することももちろん可能である。
【実施例２】
【００５１】
実施例２において、実施例１と同様なものに関しては説明を省略し、実施例１と異なるものに関してのみ説明する。実施例１では、入力軸エンコーダ２０１の３６０度毎の回転位置情報を基準にして出力軸エンコーダ検出誤差を補正すると説明した。これに対して、実施例２では、補正後の出力軸エンコーダ２０２の回転位置情報を基準にして入力軸エンコーダ検出誤差を補正することについて説明する。
【００５２】
図１（Ｂ）は本実施例にかかる角度検出方法における信号や情報のやり取りを描いたフローチャートである。
【００５３】
第１の補正演算部２１０では補正後の出力軸エンコーダ２０２の第２の回転位置情報に対する入力軸エンコーダ２０１の第１の回転位置情報を演算する。補正後の出力軸エンコーダ２０２の第２の回転位置情報（補正された前記第二の回転角度）を基準としているため、回転位置に対応する検出誤差は一定となる。つまり、入力軸エンコーダの検出誤差を補正する場合には、入力軸エンコーダの検出誤差のサンプリング間隔は任意でよく、それ以外の演算方法の詳細については、前述した第２の補正演算部における処理と同様である。
【００５４】
図１２は補正後の出力軸エンコーダの検出誤差がもたらす入力軸位置決め誤差を示す図である。減速機２０４の減速比が１０：１であるため、補正後の出力軸エンコーダ検出誤差の絶対値（０．４８分）に減速比（１／１０）を除算したものが、補正後の出力軸エンコーダ検出誤差がもたらす入力軸位置決め誤差の絶対値（４．８分）になることを示している。図１３は入出力軸エンコーダ検出誤差がもたらす入力軸位置決め合計誤差を示す図である。これは、図６の入力軸エンコーダ検出誤差と図１２の補正後の出力軸エンコーダ検出誤差がもたらす入力軸位置決め誤差を加算した図である。絶対値で２０分の正弦波１周期の入力軸エンコーダ検出誤差に、絶対値４．８分の補正後の出力軸エンコーダ検出誤差がもたらす入力軸位置決め誤差を加算している。そのため、入出力軸エンコーダ検出誤差がもたらす入力軸位置決め合計誤差は、図１３のような絶対値で最大２４．８分の誤差を持つ波形となる。図１４は補正後の入力軸エンコーダ検出誤差を示す図である。図１４より、補正前では入力軸エンコーダ検出誤差の絶対値が２０分であったのに対して、入力軸エンコーダ検出誤差の絶対値が４．８分となり、改善されていることは明らかである。この実施例においては、減速比（１／１０）の逆数分、つまり１０回転分のデータを入力軸エンコーダ２０１の補正テーブルとして使用している。
【００５５】
以上のように、本発明はエンコーダ誤差の補正効果が大きいため、ロボットアームの先端位置決め精度を向上させるための出力軸を高精度に位置決めする制御やねじれフィードバック制御に好適に適用できる。
【実施例３】
【００５６】
図１６は垂直多関節６軸ロボットアームを示す図である。図１６において、６０１〜６０６はそれぞれ第１〜第６の関節を示していて、それぞれの関節はリンクによって連結されている。図１６は前述の角度検出方法をロボットアームに適用した例である。ただし本発明は垂直多関節６軸ロボットへの適用に限定されるものではない。本発明の角度検出装置は第１〜第６の関節のうち少なくとも１つに備えられ、ロボットアームのそれぞれの関節における基準角度からの回転角度を検出させるためのものである。モータと角度検出装置とで回転駆動装置を構成している。関節部を有するロボットアームと、そのロボットアームの関節部に回転駆動装置を備えている点に特徴がある。
【００５７】
また、本実施例の角度検出方法における各工程をコンピュータに実行させるプログラムを記憶した制御部を備えた角度検出装置を備えたロボットアームでもある。制御部は角度検出装置に設けられていてもよいし、ロボットアームの制御部がその機能を兼ねても良い。
【実施例４】
【００５８】
実施例４において、実施例２と同様なものに関しては説明を省略し、実施例２と異なるものに関してのみ説明する。実施例２では、入力軸エンコーダ２０１の３６０度毎の回転位置情報を基準にして出力軸エンコーダ検出誤差を補正し、補正後の出力軸エンコーダ２０２の回転位置情報を基準にして入力軸エンコーダ検出誤差を補正すると説明した。これに対して、実施例４では、実施例２の一連の補正手順を繰返し行うことで、さらなる誤差の低減が期待できる。図１７はエンコーダ検出誤差の補正を繰り返し行った時のフローチャートである。図１７に示すように、１回目の補正では、実施例２と同様に、第１、第２の位置情報生成部から出力される第１、第２の回転位置情報を利用してエンコーダ検出誤差を補正する。そして、２回目の補正では１回目で補正した第１、第２の補正後の回転位置情報を利用してエンコーダ検出誤差を補正する。つまり、２回目の補正では、補正後の入力軸エンコーダ２０１の回転位置情報を基準にして、補正後の出力軸エンコーダの検出誤差を再度補正する。
【００５９】
そして再度補正した出力軸エンコーダ２０２の回転位置情報を基準にして補正後の入力軸エンコーダ検出誤差を再度補正することである。ここで、補正する回数は限定されるものではなく、交互に何度繰り返し補正してもよい。
【００６０】
すなわち、補正後の前述の第一の回転角度における周期的な角度ごとに補正後の第二の回転角度を再度補正する工程、を少なくとも１回以上繰り返す点に特徴がある。
【００６１】
以上、説明したように、補正後の回転位置情報を利用してエンコーダ検出誤差を繰り返し補正することで、補正効果を大きくすることができる。
【実施例５】
【００６２】
実施例５において、実施例１ないし２と同様なものに関しては説明を省略し、実施例１ないし２と異なるものに関してのみ説明する。実施例１ないし２では、出力軸エンコーダ２０２により出力軸２０６の回転角度を検出していた。これに対して、実施例５では、出力軸エンコーダ２０２により入力軸２０５の回転角度を検出し、入力軸エンコーダ２０１により検出された入力軸２０５の回転角度と出力軸エンコーダ２０２により検出された入力軸２０５の回転角度の差を計算することで、出力軸２０６の回転角度を求める方法である。
【００６３】
次に、回転駆動装置の構成を説明する。図１８は第５の実施例の回転駆動装置のブロック図を示している。２１２はリンクであり、リンク２１２は減速機２０４の出力軸２０６に接続させていて、リンク２１２に出力軸エンコーダ２０２を連結させている。また、入力軸２０５の回転角度を出力軸エンコーダ２０２で検出できるように、リンク２１２を中空構造にさせている。このように構成させることで、出力軸エンコーダ２０２で入力軸２０５の回転角度を検出させることができる。
【００６４】
次に、出力軸２０６の回転角度を求める方法について、具体的に説明する。例えば、減速機２０４の減速比が１０：１の場合、出力軸２０６を１回転（３６０度）させるためには、入力軸２０５を１０回転（３６００度）させる必要がある。入力軸２０５を１０回転（３６００度）させると、出力軸エンコーダ２０２はリンク２１２に連結されているため、出力軸エンコーダ２０２自身が１回転（３６０度）する。そのため、入力軸２０５と出力軸２０６が同じ方向で回転した場合、出力軸エンコーダ２０２で検出される回転角度は９回転（３２４０度）となる。そして、入力軸エンコーダ２０１で検出される回転角度３６００度と出力軸エンコーダ２０２で検出される回転角度３２４０度の差を計算することで、出力軸２０６の回転角度３６０度を求めることができる。
【００６５】
次に、エンコーダ検出誤差の補正方法について説明する。図２０は第５の実施例の出力軸エンコーダ検出誤差のサンプリング方法を示す図である。入力軸エンコーダ２０１の検出誤差が±２０分、出力軸エンコーダ２０２の検出誤差が±１０分、減速機２０４の減速比が１０：１の条件において、出力軸２０６を１回転（３６０度）させた場合の例である。この場合、入力軸エンコーダ２０１は１０回転するため、１０周期分の正弦波状の検出誤差が現れ、また、出力軸エンコーダ２０２は９回転するため、９周期分の正弦波状の検出誤差が現れることを示している。そして、入力軸エンコーダ２０１の３６０度毎の回転角度を基準にして得られる出力軸エンコーダ２０２の検出誤差のサンプル数については、入力軸エンコーダ２０１の正弦波が１０周期分であるため、１０ポイントである。
【００６６】
図２１は第５の実施例の出力軸エンコーダ検出誤差のサンプリングデータの正弦波推定補間を示す図である。出力軸エンコーダ２０２のサンプリングデータは１０ポイントであり、そのサンプルの中から、最大値、最小値、回転位置間隔（サンプリング周波数）を求めることができるため、図２１のような正弦波を推定することができる。図２２は第５の実施例の補正後の出力軸エンコーダ検出誤差を示す図である。図２２は補正前の出力軸エンコーダ２０２の検出誤差から正弦波推定補完した補正量との差を補正後の出力軸エンコーダ２０２の検出誤差としている。補正効果としては、補正前の出力軸エンコーダ２０２の検出誤差の絶対値±１０分に対して、補正後の出力軸エンコーダ２０２の検出誤差の絶対値±０．４９分であるため、９７．６％の補正効果がある。
【００６７】
図１９は第５の実施例のエンコーダ検出誤差補正方法のフローチャートを示している。図１９のように、出力軸エンコーダ２０２は入力軸信号を第２の位置情報生成部２０９に送信している。また、第２の補正演算部２１１では、第１の回転位置情報と補正した第２の回転位置情報の差を計算する出力軸角度計算工程を追加している。その他のフローに関しては、実施例１ないし２と同様であり、補正した第２の回転位置情報に対する第１の回転位置情報を演算することで、入力軸エンコーダ２０１の検出誤差を補正することができる。
【００６８】
ここで、本実施例と実施例１ないし２の違いについて説明する。実施例１ないし２では、例えば、回転駆動装置の構成を多軸のロボットアームに適用した場合、出力軸エンコーダ２０２を固定する手段として、入力軸エンコーダ２０１と共通の固定台２１６にする必要がある。しかし、このように構成させると、出力軸２０６が無限回転できず、また、回転駆動装置のサイズも大きくなってしまう。これに対して、実施例５では、回転駆動装置の構成を多軸のロボットアームに適用した場合、出力軸エンコーダ２０２をリンク２１２に接続させている構成をとっているため、リンク２１２を無限回転させることが可能となり、また、回転駆動装置の小型化を図ることができる。
【００６９】
以上、説明したように、第５の実施形態においても、本発明の補正方法を用いることで、入力軸エンコーダと出力軸エンコーダの検出誤差を低減させることができる。
【００７０】
（比較例１）
ここで、従来技術（上述の特開２０１２−１３７３１０号公報）によるエンコーダ検出誤差の補正方法について図を用いて詳細に説明する。まず、図６、図７、図８について説明する。図６は減速比１０：１における入出力軸のエンコーダ検出誤差を示す図である。減速比が１０：１、入力軸エンコーダ検出誤差の絶対値が２０分、出力軸エンコーダ検出誤差の絶対値が１０分の場合の例である。減速比が１０：１であるため、入力軸エンコーダの入力軸が１０回転（３６００度）すると、出力軸エンコーダの出力軸が１回転（３６０度）することを示している。すなわち、正弦波状の出力軸エンコーダ検出誤差の１周期分を得るためには、入力軸エンコーダの軸を減速比（１／１０）の逆数分（１０）の回転をさせる必要がある。図７は入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差を示す図である。これは、図６の入力軸エンコーダ検出誤差を出力軸換算した図である。減速比が１０：１であるため、入力軸エンコーダ検出誤差の絶対値（２０分）に減速比（１／１０）を乗算したものが、入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差の絶対値（２分）になることを示している。図８は入出力軸エンコーダ検出誤差がもたらす出力軸位置決め合計誤差を示す図である。図６の出力軸エンコーダ検出誤差と図７の入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差を加算した図である。これは、絶対値１０分の正弦波１周期の出力軸エンコーダ検出誤差に、絶対値２分の正弦波１０周期の入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差を加算している。そのため、入出力軸エンコーダ検出誤差がもたらす出力軸位置決め合計誤差は、絶対値１２分の誤差を持つ波形となる。
【００７１】
従来技術では、出力軸エンコーダ検出誤差を入力軸エンコーダの回転位置情報を基準に補正しようとしているため、図７のような入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差が生じてしまう。つまり、実際には、図６のような絶対値１０分の正弦波１周期の出力軸エンコーダ検出誤差しかないものが、図８のような絶対値１２分の誤差を持つ波形に見えてしまう。そのため、この出力軸位置決め誤差が出力軸エンコーダ検出誤差の補正に影響を与えることとなり、入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差の分が出力軸エンコーダ検出誤差として残ってしまうため、補正効果が小さくなってしまうことがわかる。
【００７２】
まとめとして、図１５に本発明と従来技術（比較例１）を比較する補正シミュレーション結果を図示した。前提条件として、補正前の入出力軸のエンコーダ検出誤差は理想的な正弦波と仮定している。また、パラメータとして、減速比は１０：１、５０：１、出力軸エンコーダ検出誤差の絶対値は±１０分、±５分、入力軸エンコーダ検出誤差の絶対値は±２０分としている。図１５より、条件Ａでは、前述した例を示している。条件Ｂでは、条件Ａに対して減速比を１０：１から５０：１に変更した場合である。条件Ｃでは、条件Ｂに対して出力軸エンコーダ検出誤差を１０分から５分に変更した場合である。図１５より、全ての条件において、本発明は従来技術よりも補正効果が大きいことは明らかである。また、本発明の補正効果の特徴としては、２つある。１つ目は、減速比が大きければ大きいほど、入出力軸エンコーダ検出誤差の補正効果が大きいことである。これは、減速比が大きいほど、出力軸エンコーダ検出誤差のサンプル数が増え、線形補間された波形が正弦波の形に近くなるためである。２つ目は、出力軸エンコーダ検出誤差に対する入力軸エンコーダ検出誤差の比が大きければ大きいほど、従来技術に対して、本発明の効果が大きくなることである。これは、従来技術では、前述した通り、補正した結果として、入力軸エンコーダ検出誤差がもたらす出力軸位置決め誤差が生じてしまうため、出力軸エンコーダ検出誤差が小さいほど、入力軸エンコーダ検出誤差の影響が大きくなってしまうためである。
【００７３】
このように、本発明の補正方法を用いることで、従来技術よりも効果が大きいエンコーダ検出誤差の補正をすることができる。
【００７４】
以上のことから、本発明はエンコーダ検出誤差の補正効果が大きく、高精度に入出力軸位置を検知できるため、ロボットアームの先端位置決め精度を向上に好適な出力軸を高精度に位置決めする制御やねじれフィードバック制御ができるようになることが分かる。
【符号の説明】
【００７５】
２０１  入力軸エンコーダ
２０２  出力軸エンコーダ
２０３  モータ
２０４  減速機
２０５  入力軸
２０６  出力軸
２０７  負荷
２０８  第１の位置情報生成部
２０９  第２の位置情報生成部
２１０  第１の補正演算部
２１１  第２の補正演算部
２１２  リンク
２１３  ウェーブジェネレータ（ＷＧ）
２１４  フレックススプライン（ＦＳ）
２１５  サーキュラースプライン（ＣＳ）
２１６  固定台
２１７  ベアリング
２１８  空隙
３０１  エンコーダ
３０２  回転ディスク
３０３  軸
３０４  発光素子
３０５  固定スリット
３０６  受光素子
４０１  回転ディスクパターン
４０２  偏心時回転ディスクパターン
６０１−６０６  関節
【図１】
2015194462.tif 000003
【図２】
2015194462.tif 000004
【図３】
2015194462.tif 000005
【図４】
2015194462.tif 000006
【図５】
2015194462.tif 000007
【図６】
2015194462.tif 000008
【図７】
2015194462.tif 000009
【図８】
2015194462.tif 000010
【図９】
2015194462.tif 000011
【図１０】
2015194462.tif 000012
【図１１】
2015194462.tif 000013
【図１２】
2015194462.tif 000014
【図１３】
2015194462.tif 000015
【図１４】
2015194462.tif 000016
【図１５】
2015194462.tif 000017
【図１６】
2015194462.tif 000018
【図１７】
2015194462.tif 000019
【図１８】
2015194462.tif 000020
【図１９】
2015194462.tif 000021
【図２０】
2015194462.tif 000022
【図２１】
2015194462.tif 000023
【図２２】
2015194462.tif 000024