(第1実施形態)
図1は、本発明の例示的な第1実施形態に係る出力制御装置1を含む減速機システム7の構成を示すブロック図である。減速機システム7は、例えば、精密加工機または3D測定装置、産業用ロボット等において回転機構として利用される。図1では、出力制御装置1を二点鎖線にて囲む。減速機システム7は、出力制御装置1と、減速機2と、モータ3と、モータエンコーダ4と、駆動制御機構5と、を含む。図2は、モータ3および減速機2を示す断面図である。図2では、減速機2の中心軸J1を含む断面を示す。図2では、モータ3の一部の内部構成の図示を省略し、減速機2の一部の断面の平行斜線を省略する。
モータ3は、例えば、静止部、回転部および軸受部を含むサーボモータである。モータエンコーダ4は、モータ3の出力軸であるモータ出力軸31の回転を検出する。具体的には、モータエンコーダ4は、モータ出力軸31の回転速度および回転位置を検出する。モータ出力軸31の回転位置とは、モータ出力軸31の周方向における向きであり、例えば、回転開始時における位置を基準とする角度位置である。
モータエンコーダ4は、例えば、モータ3に内蔵される。モータエンコーダ4は、例えば、光学式のロータリエンコーダである。モータエンコーダ4は、例えば、磁気式のエンコーダであってもよい。モータエンコーダ4は、モータ出力軸31の回転に応じて変化するパルス信号を出力する。以下の説明では、モータエンコーダ4から出力される連続するパルス信号を「パルス列」とも呼ぶ。
駆動制御機構5は、外部から入力される指令信号、および、モータエンコーダ4からの出力に基づいてモータ3の出力を制御する。指令信号は、減速機システム7の外部に設けられる指令信号発生器8から発信されるパルス信号である。駆動制御機構5では、指令信号発生器8からの指令信号と、モータエンコーダ4から出力されるモータ出力軸31の回転を示す信号とが比較される。駆動制御機構5に入力される指令信号の分解能は、例えば、モータエンコーダ4から駆動制御機構5に入力される上記信号の分解能と等しい。そして、これらの信号の比較結果に基づいて、モータ3に供給される電力が駆動制御機構5により制御され、モータ出力軸31の回転が制御される。すなわち、モータエンコーダ4および駆動制御機構5により、モータ3のフィードバック制御が行われる。
減速機2は、トラクション方式の減速機である。減速機2は、モータ3のモータ出力軸31に接続される。減速機2は、減速機入力軸21と、減速機出力軸22と、複数の遊星ローラ23と、インターナルリング24と、を含む。減速機入力軸21は、中心軸J1上に配置され、モータ出力軸31に接続される。図2に示す例では、減速機入力軸21は、モータ出力軸31と一繋がりの部材である。換言すれば、1つの軸部材が、減速機2の減速機入力軸21およびモータ3のモータ出力軸31として共用される。上述のモータエンコーダ4は、減速機2の減速機入力軸21の回転を検出する機構と捉えることもできる。
複数の遊星ローラ23は、太陽ローラである減速機入力軸21の周囲に配置される。減速機入力軸21の外周面は、複数の遊星ローラ23の外周面と潤滑油の膜を介して接する。減速機入力軸21は、複数の遊星ローラ23により挟まれる。減速機2では、例えば、3個の遊星ローラ23が設けられる。各遊星ローラ23は、遊星軸部231を中心として回転可能である。
インターナルリング24は、複数の遊星ローラ23の周囲を囲む。インターナルリング24の内周面は、複数の遊星ローラ23の外周面と潤滑油の膜を介して接する。減速機出力軸22は、インターナルリング24の内側にて中心軸J1上に配置される。減速機出力軸22は、軸受部により回転可能に支持される。複数の遊星ローラ23の遊星軸部231は、減速機出力軸22の円板状の端部221に固定される。減速機2では、減速機入力軸21が回転すると、減速機入力軸21とインターナルリング24との間に挟まれた複数の遊星ローラ23が摩擦伝動により回転し、減速機出力軸22が減速機入力軸21に対して所定の減速比にて回転する。図2に示す例では、減速比は、例えば5である。
出力制御装置1は、減速機システム7の出力、すなわち、減速機2の出力を制御する。出力制御装置1は、各種演算処理を行うCPUと、基本プログラムを記憶するROMと、各種情報を記憶するRAMとを含む一般的なコンピュータシステムの構成を含む。出力制御装置1の機能は専用の電気的回路により実現されてもよく、部分的に専用の電気的回路が用いられてもよい。
出力制御装置1は、減速機エンコーダ11と、誤差取得部12と、補正部13と、を含む。減速機エンコーダ11は、減速機2の出力軸である減速機出力軸22の回転を検出する。具体的には、減速機エンコーダ11は、減速機出力軸22の回転速度および回転位置を検出する。減速機出力軸22の回転位置とは、減速機出力軸22の周方向における向きであり、例えば、回転開始時における位置を基準とする角度位置である。
減速機エンコーダ11は、例えば、減速機2のケーシングの外部に配置される。減速機エンコーダ11は、例えば、光学式のロータリエンコーダである。減速機エンコーダ11は、減速機出力軸22に取り付けられるエンコーダホイールと、エンコーダホイールの外縁部に対向する光学センサと、を含む。減速機エンコーダ11は、例えば、磁気式のエンコーダであってもよい。減速機エンコーダ11は、減速機出力軸22の回転に応じて変化するパルス信号を出力する。以下の説明では、減速機エンコーダ11から出力される連続するパルス信号を「パルス列」とも呼ぶ。減速機エンコーダ11は、減速機2のケーシング内に配置されてもよい。
誤差取得部12は、指令信号発生器8からの指令信号、モータエンコーダ4からの出力、および、減速機エンコーダ11からの出力に基づいて、モータ3への入力と減速機2からの出力の誤差である出力誤差を取得する。補正部13は、誤差取得部12により取得された出力誤差に基づいて、指令信号発生器8から駆動制御機構5に入力される指令信号を補正する。
誤差取得部12は、モータ検出信号カウンタ121と、減速機検出信号カウンタ122と、を含む。モータ検出信号カウンタ121には、モータエンコーダ4から出力されるモータ出力軸31の回転を示すパルス信号が入力される。以下、モータエンコーダ4から誤差取得部12に入力される信号を「モータ検出信号」という。モータ検出信号カウンタ121では、パルス列であるモータ検出信号のパルス(以下、「検出パルス信号」ともいう。)が数えられる。減速機検出信号カウンタ122には、減速機エンコーダ11から出力される減速機出力軸22の回転を示すパルス信号が入力される。以下、減速機エンコーダ11から誤差取得部12に入力される信号を「減速機検出信号」という。減速機検出信号カウンタ122では、パルス列である減速機検出信号のパルス(以下、「検出パルス信号」ともいう。)が数えられる。
モータ検出信号の分解能は、減速機検出信号の分解能よりも高い。モータ検出信号の分解能は、減速機検出信号の分解能のN倍である。好ましくは、Nは正の整数、すなわち、2以上の所定数である。より好ましくは、モータ検出信号の分解能は、減速機検出信号の分解能の2の累乗倍である。詳細には、モータ検出信号の分解能は、減速機検出信号の分解能の2の整数累乗倍である。以下の説明では、モータ検出信号の分解能は、減速機検出信号の分解能の2の5乗倍、すなわち、32倍であるものとして説明する。換言すれば、以下の説明では、上述のNが32であるものとして説明する。減速機検出信号の分解能は、例えば、約3分である。
モータエンコーダ4から出力される信号の分解能が、減速機検出信号の分解能の2の累乗倍ではない場合、例えば、モータエンコーダ4とモータ検出信号カウンタ121との間に逓倍器が設けられ、モータ検出信号の分解能が、減速機検出信号の分解能の2の累乗倍とされてもよい。上述のように、指令信号発生器8からの指令信号は、モータ3のフィードバック制御に利用される。したがって、上記逓倍器が設けられる場合、指令信号の分解能とモータエンコーダ4から駆動制御機構5に入力される信号の分解能とを合わせるために、補正後の指令信号に対して分周処理を行う分周器が、指令信号発生器8と駆動制御機構5との間に設けられる。
図3は、出力制御装置1による減速機システム7の制御の流れを示す図である。出力制御装置1では、減速機エンコーダ11による減速機出力軸22の回転の測定、および、モータエンコーダ4によるモータ出力軸31の回転の測定が、継続的に行われている。図4は、減速機エンコーダ11から誤差取得部12に入力される減速機検出信号、および、モータエンコーダ4から誤差取得部12に入力されるモータ検出信号を示す図である。図4に示す例では、減速機検出信号の隣接する2つの検出パルス信号P1の間に、モータ検出信号の32個の検出パルス信号P2が存在する。
減速機エンコーダ11による減速機検出信号の検出パルス信号P1が誤差取得部12に入力されると(ステップS11)、減速機検出信号カウンタ122において、減速機出力軸22の回転位置を示す数値(以下、「上位位置指示値」という。)が「1」増加される。また、モータ検出信号カウンタ121において、減速機出力軸22の回転位置を示す数値(以下、「下位位置指示値」という。)が、例えば「00000」にリセットされる。これにより、モータ検出信号が減速機検出信号に同期される(ステップS12)。下位位置指示値は、2進数により表現されており、例えば、「00000」から「11111」までの32個の値をとる。下位位置指示値は、2進数以外により表現されてもよい。
また、誤差取得部12では、上位位置指示値から求められる減速機出力軸22の実際の回転位置である現状回転位置が、指令信号発生器8からの指令信号に対応する減速機出力軸22の回転位置である指示回転位置と比較される。そして、現状回転位置と指示回転位置との差が、上述の出力誤差として取得される。換言すれば、減速機検出信号の検出パルス信号P1が入力された際に、誤差取得部12により、指令信号と減速機検出信号とが比較されて出力誤差が取得される(ステップS13)。出力誤差は、減速機2における減速機入力軸21と遊星ローラ23との間の滑り、および、遊星ローラ23とインターナルリング24との間の滑り等に起因して生じる。
本実施形態では、減速機システム7の減速機2において、指令信号通りに減速機2が駆動すると仮定した場合の減速機出力軸22の回転角度(以下、「基準回転角度」という。)と、実際の減速機出力軸22の回転角度との差である滑り角度は、例えば、最大で基準回転角度の約0.3%である。
続いて、補正部13により、ステップS13にて取得された出力誤差に基づいて、指令信号発生器8から駆動制御機構5に入力される指令信号が補正される(ステップS16)。具体的には、減速機出力軸22の現状回転位置が指示回転位置よりも遅れている場合、補正部13が指令信号を遅らせて、指示回転位置を現状回転位置に一致させる。一方、減速機出力軸22の現状回転位置が指示回転位置よりも進んでいる場合、補正部13が指令信号を進ませて、指示回転位置を現状回転位置に一致させる。
そして、駆動制御機構5において、補正部13により補正された指令信号、および、モータエンコーダ4からの出力に基づいて、モータ3の出力が、補正された指令信号に一致するように制御される(ステップS17)。
ステップS17が終了すると、ステップS11に戻る。ステップS11において減速機検出信号の検出パルス信号P1が誤差取得部12に入力されない場合、モータエンコーダ4によるモータ検出信号の検出パルス信号P2が誤差取得部12に入力されると(ステップS14)、モータ検出信号カウンタ121において、下位位置指示値が「1」増加される。これにより、下位位置指示値は2進数の「00001」となる。
続いて、誤差取得部12において、上位位置指示値および下位位置指示値から、減速機出力軸22の回転位置である現状回転位置が推定される。具体的には、ステップS13にて上位位置指示値から求められた減速機出力軸22の回転位置に、下位位置指示値から推定される減速機出力軸22の回転角度が加算されることにより、減速機出力軸22の現状回転位置が推定される。
下位位置指示値からの減速機出力軸22の回転角度の推定は、例えば、次のように行われる。まず、減速機検出信号において連続する2つの検出パルス信号P1間における減速機出力軸22の回転角度(以下、「上位単位回転角度」という。)が、減速機検出信号の分解能に基づいて求められる。続いて、上位単位回転角度を、上述のNにより除算することにより、モータ検出信号において連続する2つの検出パルス信号P2間における減速機出力軸22の回転角度(以下、「下位単位回転角度」という。)が求められる。当該Nは、減速機検出信号の分解能に対するモータ検出信号の分解能の割合であり、本実施形態では32である。そして、下位単位回転角度に下位位置指示値が乗算されることにより、ステップS13にて上位位置指示値から求められた減速機出力軸22の回転位置からの減速機出力軸22の回転角度が推定される。
誤差取得部12では、上記のように推定された減速機出力軸22の現状回転位置と、指令信号発生器8からの指令信号に対応する減速機出力軸22の回転位置である指示回転位置とが比較される。そして、当該現状回転位置と指示回転位置との差が、上述の出力誤差として取得される。換言すれば、モータ検出信号の検出パルス信号P2が入力された際に、誤差取得部12により、指令信号とモータ検出信号とが比較され、出力誤差が推定されて取得される(ステップS15)。
続いて、補正部13により、ステップS15にて取得された出力誤差に基づいて、上記と同様に、指令信号発生器8から駆動制御機構5に入力される指令信号が補正される(ステップS16)。そして、駆動制御機構5において、補正部13により補正された指令信号、および、モータエンコーダ4からの出力に基づいて、モータ3の出力が、補正された指令信号に一致するように制御される(ステップS17)。
ステップS17が終了すると、ステップS11に戻る。出力制御装置1では、ステップS11において減速機検出信号の次の検出パルス信号P1が入力されるまでの間、上述のステップS11,S14〜S17が繰り返される。本実施形態では、ステップS11,S14〜S17が31回繰り返され、下位位置指示値は2進数の「11111」になる。そして、ステップS11において減速機検出信号の次の検出パルス信号P1が入力されると、上述のステップS11〜S13,S16,S17が行われ、上位位置指示値が「1」増加するとともに、下位位置指示値は2進数の「00000」にリセットされる。
図5は、ステップS13およびステップS15にて求められる減速機出力軸22の現状回転位置と、指令信号に対応する指示回転位置との関係を示す図である。図5の横軸は経過時間を示し、縦軸は減速機出力軸22の回転位置を示す。図5の縦軸の左側の数値は上位位置指示値を示し、縦軸の右側の数値は下位位置指示値を10進法にて示す。図6は、図5に示す上記関係の一部を拡大して示す図である。図6では、図5中の一点鎖線の円にて囲む領域を拡大して示す。
図5および図6中の大きい黒丸は、減速機検出信号の検出パルス信号P1が入力された際に、減速機検出信号から求められた減速機出力軸22の現状回転位置を示す。図5および図6中の小さい黒丸は、減速機検出信号の検出パルス信号P1が入力されず、モータ検出信号の検出パルス信号P2が入力された際に、モータ検出信号から推定して求められた減速機出力軸22の現状回転位置を示す。図5および図6中のこれらの黒丸をつなぐ実線91は、減速機出力軸22の現状回転位置の変化を示す。
図5および図6中の白抜き丸は、検出パルス信号P1または検出パルス信号P2が入力された際の指示回転位置を示す。白抜き丸により示される指示回転位置は、ステップS16において補正される前の指示回転位置である。指示回転位置に対応する指令信号は、検出パルス信号P1または検出パルス信号P2が入力される毎に、減速機出力軸22の現状回転位置に対応する値に補正される。これにより、図5および図6中に破線92にて示すように、指示回転位置が補正される。図5および図6では、破線92にて示す指示回転位置の補正量を実際よりも大きく描いている。後述する二点鎖線93についても同様である。
一方、図5および図6中における二点鎖線93は、図3に示すフローチャートにおいて、ステップS15が行われないと仮定した場合の指令信号に対応する指示回転位置を示す。すなわち、図5および図6中の二点鎖線93は、従来の減速機システムにおける出力制御を示す。
二点鎖線93にて示す従来例では、モータ検出信号の検出パルス信号が入力された際には指令信号の補正は行われず、減速機検出信号の検出パルス信号が入力された際にのみ、指示回転位置が現状回転位置に一致するように、指令信号の補正が行われる。このように、従来の出力制御では、指令信号の補正が行われる間隔が、減速機検出信号の分解能に依存するため、減速機の入出力間の誤差補正における精度向上に限界がある。
これに対し、実線91および破線92にて示す減速機システム7における出力制御では、指令信号の補正が行われる間隔を、モータ検出信号の分解能に依存させることにより、指令信号の補正と補正との間における減速機の入出力間の誤差を小さく抑制することができる。その結果、減速機の入出力間の誤差補正が高精度に行われる。具体的には、本実施形態に係る減速機システム7における出力制御では、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に減速機2に生じる滑り角度の最大値は、従来の出力制御における当該滑り角度の約1/32である。
ところで、減速機システム7では、減速機2に生じる滑り角度が比較的大きい場合、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に、誤差取得部12に入力されるモータ検出信号の検出パルス信号P2の数が、上述のNを超える場合がある。この場合、N番目を超えた検出パルス信号P2に基づいて減速機出力軸22の回転位置を推定すると、推定された回転位置は、実際にはまだ通過していない減速機検出信号の次の検出パルス信号P1に対応する回転位置、または、当該回転位置よりも進んだ回転位置となる。その結果、次の検出パルス信号P1が入力された際の指令信号の補正量が大きくなる。
そこで、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に、誤差取得部12に入力されるモータ検出信号の検出パルス信号P2の数が上述のNを超えた場合、減速機検出信号の次の検出パルス信号P1が入力されるまで、出力誤差の取得が停止される。具体的な出力制御の流れを、図7に示す。図7では、ステップS14の後、下位位置指示値が2進数の「11111」よりも大きくなると(ステップS141)、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に、誤差取得部12に入力されるモータ検出信号の検出パルス信号P2の数が、上述のNを超えたと判断される。この場合、ステップS15〜S17は行われず、ステップS11に戻る。これにより、減速機検出信号の検出パルス信号P1が入力された際に取得される出力誤差が大きくなることが抑制され、指令信号の補正量が小さく抑制される。
上述のように、図5および図6では、減速機出力軸22の滑りを補正するための指示回転位置の補正量を実際よりも大きく描いているが、実際の減速機出力軸22の滑り角度は、例えば、上述のように基準回転角度の約0.3%である。この場合、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に減速機2にて生じる滑り角度は、モータ検出信号の検出パルス信号P2から次の検出パルス信号P2までの間に減速機出力軸22が回転する角度の約0.1倍である。
上記説明では、減速機出力軸22が一方の回転方向に回転し、上位位置指示値および下位位置指示値が1ずつ増加する場合について説明したが、減速機出力軸22は他方の回転方向にも回転する。減速機出力軸22が当該他方の回転方向に回転する場合、上位位置指示値および下位位置指示値は1ずつ減少する。この場合、図7のステップS141では、ステップS14の後、下位位置指示値が2進数の「00000」よりも小さくなると、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に、誤差取得部12に入力されるモータ検出信号の検出パルス信号P2の数が、上述のNを超えたと判断される。そして、ステップS15〜S17は行われず、ステップS11に戻る。これにより、上記と同様に、減速機検出信号の検出パルス信号P1が入力された際に取得される出力誤差が大きくなることが抑制され、指令信号の補正量が小さく抑制される。
減速機2の出力を精度良く制御するためには、指示回転位置に対応する指令信号を補正する際に、指令信号を2以上変更することなく、1だけ増加または減少させることが好ましい。減速機出力軸22の現状回転位置の指示回転位置からのずれが、減速機出力軸22の回転方向前側に生じる場合と、回転方向後側に生じる場合とがあることを考慮すると、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に減速機2にて生じる滑り角度は、モータ検出信号の検出パルス信号P2から次の検出パルス信号P2までの間に減速機出力軸22が回転する角度の0.5倍以下であることが好ましい。
以上に説明したように、出力制御装置1は、モータ3と、減速機2と、モータエンコーダ4と、駆動制御機構5と、を含む減速機システム7の出力を制御する。減速機2は、モータ3の出力軸であるモータ出力軸31に接続される。モータエンコーダ4は、モータ出力軸31の回転を検出する。駆動制御機構5は、外部から入力される指令信号およびモータエンコーダ4からの出力に基づいてモータ3の出力を制御する。
出力制御装置1は、減速機エンコーダ11と、誤差取得部12と、補正部13と、を含む。減速機エンコーダ11は、減速機2の出力軸である減速機出力軸22の回転を検出する。誤差取得部12は、指令信号、モータエンコーダ4からの出力、および、減速機エンコーダ11からの出力に基づいて、モータ3への入力と減速機2からの出力との誤差である出力誤差を取得する。補正部13は、当該出力誤差に基づいて、駆動制御機構5に入力される指令信号を補正する。指令信号、モータエンコーダ4から誤差取得部12に入力されるモータ検出信号、および、減速機エンコーダ11から誤差取得部12に入力される減速機検出信号は、パルス信号である。モータ検出信号の分解能は、減速機検出信号の分解能よりも高い。
誤差取得部12は、減速機検出信号の検出パルス信号P1が入力された際に、指令信号と減速機検出信号とを比較して出力誤差を取得するとともに、モータ検出信号を減速機検出信号に同期させる。また、誤差取得部12は、減速機検出信号の次の検出パルス信号P1が入力されるまでの間において、モータ検出信号の検出パルス信号P2が入力された際に、指令信号とモータ検出信号とを比較して出力誤差を推定して取得する。
これにより、出力制御装置1では、減速機検出信号の検出パルス信号が入力された際のみに指令信号の補正を行う従来の出力制御に比べて、指令信号に対応する指示回転位置と、減速機出力軸22の実際の回転位置である現状回転位置との比較が、頻繁に行われて出力誤差が取得される。換言すれば、出力制御装置1では、指示回転位置と現状回転位置との比較、および、出力誤差の取得が、短い時間間隔にて行われる。これにより、出力誤差を精度良く取得することができる。その結果、減速機システム7において、減速機2からの出力を高精度に制御することができる。
出力制御装置1における出力制御方法は、a)指令信号、モータエンコーダ4からの出力、および、減速機エンコーダ11からの出力に基づいて、モータ3への入力と減速機2からの出力との誤差である出力誤差を取得する工程(ステップS11〜S15)と、b)当該出力誤差に基づいて駆動制御機構5に入力される指令信号を補正する工程(ステップS16)と、を含む。当該a)工程は、a1)減速機検出信号の検出パルス信号P1が入力された際に、指令信号と減速機検出信号とを比較して出力誤差を取得するとともに、モータ検出信号を減速機検出信号に同期させる工程(ステップS11〜S13)と、a2)減速機検出信号の次の検出パルス信号P1が入力されるまでの間において、モータ検出信号の検出パルス信号P2が入力された際に、指令信号とモータ検出信号とを比較して出力誤差を推定して取得する工程(ステップS11,S14,S15)と、を含む。当該出力制御方法では、上述のように、減速機出力軸22の回転は減速機エンコーダ11により検出される。また、指令信号、モータエンコーダ4からのモータ検出信号、および、減速機エンコーダ11からの減速機検出信号は、パルス信号であり、モータ検出信号の分解能は減速機検出信号の分解能よりも高い。
当該出力制御方法では、上述のように、減速機検出信号の検出パルス信号が入力された際のみに指令信号の補正を行う従来の出力制御に比べて、指令信号に対応する指示回転位置と、減速機出力軸22の実際の回転位置である現状回転位置との比較が、頻繁に行われて出力誤差が取得される。換言すれば、当該出力制御方法では、指示回転位置と現状回転位置との比較、および、出力誤差の取得が、短い時間間隔にて行われる。これにより、出力誤差を精度良く取得することができる。その結果、減速機システム7において、減速機2からの出力を高精度に制御することができる。
上述のように、出力制御装置1では、モータ検出信号の分解能が、減速機検出信号の分解能の2以上の所定数倍である。また、図7に示すように、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に、誤差取得部12に入力されるモータ検出信号の検出パルス信号P2の数が上記所定数を超えた場合、減速機検出信号の次の検出パルス信号P1が入力されるまで、出力誤差の取得が停止される。これにより、上述のように、減速機検出信号の検出パルス信号P1が入力された際に取得される出力誤差が大きくなることを抑制し、指令信号の補正量を小さく抑制することができる。その結果、減速機システム7において、減速機2からの出力をさらに高精度に制御することができる。
出力制御装置1では、モータ検出信号の分解能が、減速機検出信号の分解能の2の累乗倍である。これにより、誤差取得部12における減速機検出信号およびモータ検出信号の処理を、2進数を用いて容易に行うことができる。誤差取得部12における当該処理とは、例えば、モータ検出信号の減速機検出信号への同期である。
上述のように、減速機2は、トラクション方式の減速機である。このため、例えば、減速機入力軸21と遊星ローラ23との間の滑り、および、遊星ローラ23とインターナルリング24との間の滑り等に起因して、出力誤差が生じる可能性がある。出力制御装置1は、上述のように、減速機2の出力誤差を精度良く取得し、減速機2からの出力を高精度に制御することができるため、トラクション方式の減速機2の出力制御に特に適している。
出力制御装置1により取得される出力誤差は、必ずしも、減速機入力軸21と遊星ローラ23との間の滑り、または、遊星ローラ23とインターナルリング24との間の滑りに起因するものには限定されない。出力制御装置1により取得される出力誤差には、例えば、減速機入力軸21または遊星ローラ23の遊星軸部231の傾き、または、減速機入力軸21または遊星ローラ23の真円度に起因する出力誤差も含まれてよい。これらの出力誤差も、出力制御装置1により、上記と同様に精度良く取得することができる。その結果、減速機システム7において、減速機2からの出力を高精度に制御することができる。
上述のように、出力制御装置1では、減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に減速機2に生じる滑り角度が、モータ検出信号の検出パルス信号P2から次の検出パルス信号P2までの間に減速機出力軸22が回転する角度の0.5倍以下である。これにより、減速機システム7において、減速機2からの出力をさらに高精度に制御することができる。
ところで、減速機エンコーダ11では、円板部材であるエンコーダホイールの中心を減速機出力軸22に正確に取り付けることは容易ではない。したがって、エンコーダホイールは、減速機出力軸22に対して偏芯することがある。この場合、センサの検出位置を通過するエンコーダホイールの開口の速度が、エンコーダホイールの回転位置に応じて変動する。換言すると、減速機出力軸22の一定回転、すなわち、一定速度での回転に対する減速機検出信号の検出パルス信号の周期が周期的に変動する。次に、減速機エンコーダ11の偏芯等の影響を抑制しつつ減速機システム7の出力誤差を精度良く取得する手法を、第2実施形態として説明する。
(第2実施形態)
図8は、本発明の例示的な第2実施形態に係る出力制御装置1aの構成の一部を示すブロック図である。図8の出力制御装置1aでは、誤差取得部12aの構成が、図1の誤差取得部12と相違する。他の構成は、図1の出力制御装置1と同様である。出力制御装置1aの誤差取得部12aは、変動情報記憶部129と、比較部120と、を含む。変動情報記憶部129は、変動情報81を記憶する。変動情報81は、減速機エンコーダ11における複数の角度範囲に関して、減速機出力軸22の一定回転に対する減速機検出信号の検出パルス信号(以下、「減速機検出パルス信号」という。)の周期の変動を示す。減速機エンコーダ11における複数の角度範囲は、周方向の全範囲を複数に分割して得られる。
本実施形態では、減速機出力軸22が一定速度で回転する際に、連続する2つの減速機検出パルス信号の間の期間に検出されるモータ検出信号の検出パルス信号(以下、「モータ検出パルス信号」という。)の個数により、減速機検出パルス信号の周期が表される。出力制御装置1aでは、モータ検出信号の分解能は、減速機検出信号の分解能の2の5乗倍、すなわち、32倍である。したがって、減速機エンコーダ11が偏芯していない場合、減速機検出パルス信号の周期は、いずれの回転位置においても32個のモータ検出パルス信号で表される。実際には、減速機エンコーダ11の偏芯等の影響により、減速機エンコーダ11における複数の角度範囲では、減速機検出パルス信号の周期が、31、32または33個のモータ検出パルス信号で表される。変動情報81は、当該複数の角度範囲において、当該周期を示すモータ検出パルス信号の個数を実質的に示す。モータ検出信号の分解能は、減速機検出信号の分解能の32倍以外であってよい。
好ましい変動情報81は、減速機検出パルス信号の周期を示すモータ検出パルス信号の個数が変化する回転位置と、当該回転位置における当該個数の変化量を示す。これにより、変動情報81のサイズを小さくすることができる。変動情報81は、減速機検出パルス信号の周期の変動を示す他の種類の値、または、当該変動を示す関数等であってもよい。変動情報81は、減速機2毎の固有の情報である。変動情報81は、例えば、減速機2が組み立てられる工場において、測定により取得される。本実施形態では、モータ3と減速機2とが予め組み合わされた状態で工場から出荷され、変動情報81は、モータ3の駆動回路に設けられるメモリ32に予め記録される。メモリ32には、モータ3およびモータエンコーダ4の固有の情報も記録されてよい。
比較部120は、モータ検出信号カウンタ121と、減速機検出信号カウンタ122と、指令信号下位カウンタ123と、指令信号上位カウンタ124と、カウント上限変更部125と、比較器126と、を含む。モータ検出信号カウンタ121には、モータエンコーダ4からモータ検出信号のモータ検出パルス信号が入力される。減速機検出信号カウンタ122には、減速機エンコーダ11から減速機検出信号の減速機検出パルス信号が入力される。減速機検出パルス信号の比較部120への入力により、モータ検出信号カウンタ121の値がリセットされる。
指令信号下位カウンタ123には、指令信号のパルス信号(以下、「指令パルス信号」という。)が入力される。指令信号下位カウンタ123の値が、カウント可能な指令パルス信号の上限値(以下、「下位カウント上限値」という。)に到達すると、次の指令パルス信号の入力により、指令信号下位カウンタ123の値がリセットされる。また、指令信号上位カウンタ124の値が「1」増加する。指令信号下位カウンタ123は、下位カウント上限値が変更可能なカウンタである。
本実施形態では、モータ検出信号カウンタ121の値、減速機検出信号カウンタ122の値、指令信号下位カウンタ123の値、および、指令信号上位カウンタ124の値は、2進数により表される。例えば、モータ検出信号カウンタ121の値、および、指令信号下位カウンタ123の値は、5ビットで表される。減速機検出信号カウンタ122の値、および、指令信号上位カウンタ124の値は、13ビットで表される。モータ検出信号カウンタ121の値と減速機検出信号カウンタ122の値とを組み合わせた18ビットの値により、モータ検出信号および減速機検出信号が示す回転位置、すなわち現状回転位置が表される。当該18ビットの値において、モータ検出信号カウンタ121の値が下位の5ビットであり、減速機検出信号カウンタ122の値が上位の13ビットである。また、指令信号下位カウンタ123の値と指令信号上位カウンタ124の値とを組み合わせた18ビットの値により、指令信号が示す回転位置、すなわち指示回転位置が表される。当該18ビットの値において、指令信号下位カウンタ123の値が下位の5ビットであり、指令信号上位カウンタ124の値が上位の13ビットである。各カウンタの値は、上記とは異なるビット数で表されてもよく、必ずしも2進数で表される必要はない。
比較器126は、モータ検出信号および減速機検出信号が示す現状回転位置と、指令信号が示す指示回転位置とを比較する。実際には、モータ検出信号カウンタ121および減速機検出信号カウンタ122が示す18ビットの値と、指令信号下位カウンタ123および指令信号上位カウンタ124が示す18ビットの値とを比較する。両値の差が、出力誤差として取得され、補正部13に出力される。既述のように、補正部13は、駆動制御機構5に入力される指令信号を補正する。カウント上限変更部125は、指令信号下位カウンタ123においてカウント可能な指令パルス信号の上限値、すなわち、下位カウント上限値を変動情報81に基づいて変更する。
図9は、出力制御装置1aによる減速機システム7の制御の流れを示す図である。図9では、図3中のステップS13が省略されるとともに、ステップS15がステップS15aに置き換えられる。減速機システム7では、起動動作として、出力制御装置1aによりモータ3のメモリ32から変動情報81が読み出されて、変動情報記憶部129に記録される。
減速機システム7の通常動作では、減速機エンコーダ11による減速機出力軸22の回転の測定、および、モータエンコーダ4によるモータ出力軸31の回転の測定が、継続的に行われている。また、指令信号発生器8からの指令信号の入力も、継続的に行われている。図10ないし図12は、減速機検出信号、モータ検出信号および指令信号を示す図であり、上段、中段および下段に減速機検出信号、モータ検出信号および指令信号をそれぞれ示している。図10ないし図12に示す例では、連続する2つの減速機検出パルス信号P1の間に、それぞれ32、31、33個のモータ検出パルス信号P2が存在する。
減速機検出パルス信号P1が誤差取得部12aに入力されると(ステップS11)、減速機検出信号カウンタ122の値が「1」増加する。図10ないし図12では、減速機検出信号を示す上段の横軸に「0*****」と記すことにより、減速機検出信号カウンタ122の値の下一桁が0であることを示している。減速機検出信号カウンタ122の値の下一桁が1である場合も同様である。モータ検出信号および減速機検出信号が示す指示回転位置を表す際に、下位の5ビットにはモータ検出信号カウンタ121の値が用いられるため、「*****」と記している。また、減速機検出パルス信号P1の入力により、モータ検出信号カウンタ121において次のモータ検出パルス信号P2の入力により値がリセットされる状態となる。したがって、減速機検出パルス信号P1の入力により、実質的に、モータ検出信号が減速機検出信号に同期される(ステップS12)。
続いて、モータ検出パルス信号P2が誤差取得部12aに入力されると(ステップS14)、モータ検出信号カウンタ121の値がリセットされ、「00000」になる。以下の説明では、2進数で表される各カウンタの値を、{00000}のように記す。図10ないし図12では、モータ検出信号を示す中段の横軸に5ビットの値を記している。また、最も左側のモータ検出パルス信号P2が入力された際における現状回転位置を示す10進数の値が「0」であるものとして、各モータ検出パルス信号P2に対応する現状回転位置を示す10進数の値を括弧内に記している。
誤差取得部12aでは、指令パルス信号P0が入力される毎に、指令信号下位カウンタ123の値が「1」増加する。図9では、指令信号の入力に係る処理の図示を省略している。モータ検出パルス信号P2の入力により、モータ検出信号カウンタ121および減速機検出信号カウンタ122が示す現状回転位置の値と、指令信号下位カウンタ123および指令信号上位カウンタ124が示す指示回転位置の値とが比較器126に入力される。これにより、モータ検出信号および減速機検出信号が示す現状回転位置と、指令信号が示す指示回転位置とが比較され、両回転位置の差が、出力誤差として取得される(ステップS15a)。変動情報81に基づく指示回転位置の変更については後述する。
続いて、補正部13により、当該出力誤差に基づいて、指令信号発生器8から駆動制御機構5に入力される指令信号が補正される(ステップS16)。ここで、指令信号発生器8の一例では、指令信号が、正転パルス信号と、逆転パルス信号とを含み、正転パルス信号が指示する正転方向に減速機出力軸22が回転している。この場合に、現状回転位置が指示回転位置よりも遅れているときには、補正部13が、出力誤差に応じた個数のパルスを正転パルス信号に追加する。また、現状回転位置が指示回転位置よりも進んでいるときには、補正部13が、出力誤差に応じた個数のパルスを逆転パルス信号に追加する。駆動制御機構5では、補正部13により補正された指令信号、および、モータエンコーダ4からの出力に基づいて、モータ3の出力が、補正された指令信号に一致するように制御される(ステップS17)。
出力制御装置1aでは、ステップS11において次の減速機検出パルス信号P1が入力されるまでの間、上述のステップS11,S14,S15a,S16,S17が繰り返される。上記処理の繰り返しでは、モータ検出パルス信号P2が入力される毎に、モータ検出信号カウンタ121の値が「1」増加する。指令パルス信号P0が入力される毎に、指令信号下位カウンタ123の値が「1」増加する。
比較部120では、指令パルス信号P0が入力される毎に、指令信号上位カウンタ124の値がカウント上限変更部125に入力される。指令信号上位カウンタ124が示す値は、減速機検出信号カウンタ122が示す値と実質的に比較されるため、指令信号上位カウンタ124の値は、減速機エンコーダ11におけるエンコーダホイールの回転位置をほぼ示す。カウント上限変更部125は、指令信号上位カウンタ124の値を用いて変動情報81を参照する。これにより、現状回転位置における減速機検出パルス信号P1の周期が、「31」、「32」または「33」のいずれの個数のモータ検出パルス信号P2で表されるかが特定される。特定された個数から1を引いた値が、下位カウント上限値として、指令信号下位カウンタ123に設定される。
図10では、下位カウント上限値が「31」である場合を示している。下位カウント上限値が「31」である期間は、減速機検出パルス信号P1の周期が、32個のモータ検出パルス信号P2で表される期間である。したがって、一の減速機検出パルス信号P1の入力後、次の減速機検出パルス信号P1が入力されるまでの間に、モータ検出信号カウンタ121の値は、{00000}から{11111}まで増加する。そして、当該次の減速機検出パルス信号P1および次のモータ検出パルス信号P2aの入力により、減速機検出信号カウンタ122の値が「1」増加し、モータ検出信号カウンタ121の値は{00000}となる(ステップS11,S12,S14)。
一方、下位カウント上限値が「31」であるため、指令信号下位カウンタ123の値が{11111}に到達すると、次の指令パルス信号P0aの入力により、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。図10ないし図12では、指令信号下位カウンタ123および指令信号上位カウンタ124が示す18ビットの値のうち下位6ビットの値を、指令信号を示す下段の横軸に示している。当該下位6ビットのうち、指令信号上位カウンタ124が示す上位1ビットの値にアンダーラインを付している。また、最も左側の指令パルス信号P0が入力された際における指示回転位置を示す10進数の値が「0」であるものとして、各指令パルス信号P0に対応する指示回転位置を示す10進数の値を括弧内に記している。下位カウント上限値が「31」である期間では、ステップS15aにおいて、変動情報81に基づく指示回転位置の変更を行うことなく、現状回転位置の値と指示回転位置の値との比較が行われる。
図11では、下位カウント上限値が「30」である場合を示している。下位カウント上限値が「30」である期間は、減速機検出パルス信号P1の周期が、31個のモータ検出パルス信号P2で表される期間である。したがって、一の減速機検出パルス信号P1の入力後、次の減速機検出パルス信号P1が入力されるまでの間に、モータ検出信号カウンタ121の値は、{00000}から{11110}まで増加する。そして、当該次の減速機検出パルス信号P1および次のモータ検出パルス信号P2bの入力により、減速機検出信号カウンタ122の値が「1」増加し、モータ検出信号カウンタ121の値は{00000}となる(ステップS11,S12,S14)。これにより、当該モータ検出パルス信号P2bに対応する現状回転位置の値は、「32」となる。換言すると、現状回転位置の値は、「30」の次に「31」とはならず、「32」となる。
一方、下位カウント上限値が「30」であるため、指令信号下位カウンタ123の値が{11110}に到達すると、次の指令パルス信号P0bの入力により、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。これにより、指令パルス信号P0bに対応する指示回転位置の値は、「32」となる。換言すると、指示回転位置の値は、「30」の次に「31」とはならず、「32」となる。
このように、現状回転位置の値が「31」をスキップする場合に、指示回転位置の値も「31」をスキップする。すなわち、指示回転位置の値が、1つの指令パルス信号P0分だけ強制的に進められ、現状回転位置の値に合わせられる。実際には、減速機2に生じる滑り等による両回転位置間のずれは生じる。以下同様である。以上のように、下位カウント上限値が「30」である期間では、ステップS15aにおいて、変動情報81に基づいて指示回転位置を変更しつつ、現状回転位置の値と指示回転位置の値との比較が行われる。
図12では、下位カウント上限値が「32」である場合を示している。下位カウント上限値が「32」である期間は、減速機検出パルス信号P1の周期が、33個のモータ検出パルス信号P2で表される期間である。したがって、一の減速機検出パルス信号P1の入力後、次の減速機検出パルス信号P1が入力されるまでの間に、33個のモータ検出パルス信号P2が検出される。実際には、モータ検出信号カウンタ121の値は5ビットで表されるため、33番目のモータ検出パルス信号P2cの入力では、32番目のモータ検出パルス信号P2の入力による値である{11111}が維持される。そして、当該次の減速機検出パルス信号P1および次のモータ検出パルス信号P2dの入力により、減速機検出信号カウンタ122の値が「1」増加し、モータ検出信号カウンタ121の値は{00000}となる(ステップS11,S12,S14)。これにより、当該モータ検出パルス信号P2dに対応する現状回転位置の値は、「32」となる。換言すると、現状回転位置の値は、「31」の次にもう一度「31」となり、その後、「32」となる。
一方、下位カウント上限値が「32」であるため、指令信号下位カウンタ123の値が{11111}に到達し、続いて、次の指令パルス信号P0cが入力されても、指令信号下位カウンタ123の値は{11111}で維持される。このときの指令信号下位カウンタ123の値は、実質的には10進数の「32」を示す。そして、さらに次の指令パルス信号P0dの入力により、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。これにより、指令パルス信号P0dに対応する指示回転位置の値は、「32」となる。換言すると、指示回転位置の値は、「31」の次にもう一度「31」となり、その後、「32」となる。
このように、現状回転位置の値が「31」を繰り返す場合に、指示回転位置の値も「31」を繰り返す。すなわち、指示回転位置の値が、1つの指令パルス信号P0分だけ強制的に遅らされ、現状回転位置の値に合わせられる。以上のように、下位カウント上限値が「32」である期間では、ステップS15aにおいて、変動情報81に基づいて指示回転位置を変更しつつ、現状回転位置の値と指示回転位置の値との比較が行われる。
ここで、ステップS15aにおける現状回転位置の値と指示回転位置の値との比較において、指示回転位置を変更しない比較例の出力制御装置を想定する。比較例の出力制御装置では、図11中の指令パルス信号P0bに対応する指示回転位置の値は、「31」となる。したがって、比較器126では、現状回転位置の値「32」と、指示回転位置の値「31」とが比較される。また、図12中の指令パルス信号P0dに対応する指示回転位置の値は、「33」となる。したがって、比較器126では、現状回転位置の値「32」と、指示回転位置の値「33」とが比較される。このように、比較例の出力制御装置では、減速機エンコーダ11の偏芯等により、減速機検出パルス信号P1の周期が変動することに起因して、比較器126にて比較される現状回転位置の値と指示回転位置の値とがずれてしまう。この場合、出力誤差を精度良く取得することができない。
これに対し、出力制御装置1aでは、比較部120が、連続する2つの減速機検出パルス信号P1の間の期間にカウント可能な指令パルス信号P0の上限値を、変動情報81に基づいて変更しつつ、指令パルス信号P0のカウント値が示す回転位置とモータ検出信号が示す回転位置とを比較する。これにより、減速機エンコーダ11の偏芯等により、減速機検出パルス信号P1の周期が変動することに起因して、比較器126にて比較される現状回転位置の値と指示回転位置の値とがずれることが防止または抑制される。その結果、出力誤差が精度良く取得され、減速機2の入出力間の誤差補正が高精度に行われる。
出力制御装置1aでは、モータ検出信号カウンタ121の値と、指令信号下位カウンタ123の値とが、異なるビット数で表されてよい。この場合、カウント上限変更部125において、指令信号が示す回転位置が変更されるタイミングが適宜調整される。
上記説明では、指令信号が含む正転パルス信号が指示する回転方向に減速機出力軸22が回転する場合について説明した。この場合、指令信号下位カウンタ123の値、指令信号上位カウンタ124の値、モータ検出信号カウンタ121の値、および、減速機検出信号カウンタ122の値が1ずつ増加する。減速機出力軸22は、指令信号が含む逆転パルス信号が指示する回転方向にも回転する。この場合、指令信号下位カウンタ123の値、指令信号上位カウンタ124の値、モータ検出信号カウンタ121の値、および、減速機検出信号カウンタ122の値が1ずつ減少する。
具体的に、減速機検出パルス信号P1の入力後、次のモータ検出パルス信号P2が入力されることにより、モータ検出信号カウンタ121の値が{11111}にリセットされる。下位カウント上限値が「31」である期間では、減速機検出パルス信号P1の周期が、32個のモータ検出パルス信号で表されるため、値がリセットされる直前のモータ検出信号カウンタ121の値は、{00000}である。すなわち、モータ検出信号カウンタ121の値は、{00000}から{11111}に変わる。指令信号下位カウンタ123では、下位カウント上限値が「31」である場合、値が{00000}である状態で、次の指令パルス信号P0が入力されると、値が{11111}となる。
下位カウント上限値が「30」である期間では、減速機検出パルス信号P1の周期が、31個のモータ検出パルス信号で表されるため、値がリセットされる直前のモータ検出信号カウンタ121の値は、{00001}である。すなわち、モータ検出信号カウンタ121の値は、{00001}から{11111}に変わる。指令信号下位カウンタ123では、下位カウント上限値が「30」である場合、値が{00001}である状態で、次の指令パルス信号P0が入力されると、指令信号下位カウンタ123の値が{11111}となる。
下位カウント上限値が「32」である期間では、減速機検出パルス信号P1の周期が、33個のモータ検出パルス信号で表されるため、値がリセットされる直前の2つのモータ検出パルス信号P2の入力では、モータ検出信号カウンタ121の値が{00000}で維持される。すなわち、モータ検出信号カウンタ121の値は、{00000}、{00000}、{11111}の順に変わる。指令信号下位カウンタ123では、下位カウント上限値が「32」である場合、値が{00000}である状態で、次の指令パルス信号P0が入力されると、指令信号下位カウンタ123の値が{00000}で維持される。そして、さらに次の指令パルス信号P0が入力されると、指令信号下位カウンタ123の値が{11111}となる。
このように、逆転パルス信号が指示する回転方向に減速機出力軸22が回転する場合も、指示回転位置の値が、減速機検出パルス信号P1の周期の変動による現状回転位置の値の変化に合わせられる。比較部120では、いずれの場合も、指令信号下位カウンタ123の値が{11111}となる際に、指令信号上位カウンタ124の値が「1」減少する。
以上に説明したように、出力制御装置1aの誤差取得部12aは、減速機検出信号の検出パルス信号P1が入力された際に、モータ検出信号を減速機検出信号に同期させる。また、誤差取得部12aは、減速機検出信号の次の検出パルス信号P1が入力されるまでの間において、モータ検出信号の検出パルス信号P2が入力された際に、指令信号とモータ検出信号とを比較して出力誤差を推定して取得する。これにより、出力制御装置1aでは、指示回転位置と現状回転位置との比較、および、出力誤差の取得が、短い時間間隔にて行われる。その結果、出力誤差を精度良く取得することができる。また、補正部13が、当該出力誤差に基づいて、駆動制御機構5に入力される指令信号を補正することにより、減速機2からの出力を高精度に制御することができる。
出力制御装置1aにおける出力制御方法では、上述のa)工程が、a1)減速機検出信号の検出パルス信号P1が入力された際に、モータ検出信号を減速機検出信号に同期させる工程(ステップS11,S12)と、a2)減速機検出信号の次の検出パルス信号P1が入力されるまでの間において、モータ検出信号の検出パルス信号P2が入力された際に、指令信号とモータ検出信号とを比較して出力誤差を推定して取得する工程(ステップS11,S14,S15a)と、を含む。これにより、指示回転位置と現状回転位置との比較、および、出力誤差の取得が、短い時間間隔にて行われる。その結果、出力誤差を精度良く取得することができる。また、出力制御方法が、当該出力誤差に基づいて駆動制御機構5に入力される指令信号を補正する工程(ステップS16)を含むことにより、減速機2からの出力を高精度に制御することができる。
誤差取得部12aは、変動情報記憶部129と、比較部120と、を含む。変動情報記憶部129は、減速機エンコーダ11における複数の角度範囲に関して、減速機出力軸22の一定回転に対する減速機検出信号の検出パルス信号P1の周期の変動を示す変動情報81を記憶する。比較部120は、減速機エンコーダ11の各角度範囲における検出パルス信号P1が入力される所定の期間において、指令信号が示す回転位置を変動情報81に基づいて変更しつつ、指令信号が示す回転位置とモータ検出信号が示す回転位置とを比較して出力誤差を取得する。これにより、減速機エンコーダ11の偏芯等により、減速機検出信号の検出パルス信号P1の周期が変動することに起因して、比較される現状回転位置の値と指示回転位置の値とがずれることが防止または抑制される。その結果、減速機システム7の出力誤差をより精度良く取得することができる。
モータ3は、変動情報81が記録されたメモリ32を含む。誤差取得部12aが、メモリ32から変動情報81を取得する。これにより、モータ3および減速機2の各組合せに対する適切な変動情報81を、容易に取得することができる。減速機システム7の設計によっては、変動情報81がモータ3のメモリ32以外から取得されてもよい。
変動情報81を用いて減速機システム7の出力誤差をより精度良く取得する上記手法は、モータ検出信号を用いない出力制御装置において採用されてもよい。次に、モータ検出信号を用いない出力制御装置について、第3実施形態として説明する。
(第3実施形態)
図13は、本発明の例示的な第3実施形態に係る出力制御装置1bの構成の一部を示すブロック図である。図13の出力制御装置1bは、モータ検出信号が利用されない点で、図8の出力制御装置1aと相違する。具体的には、出力制御装置1aにおけるモータ検出信号カウンタ121および減速機検出信号カウンタ122が、出力制御装置1bでは、検出信号下位カウンタ121aおよび検出信号上位カウンタ122aに置き換えられ、減速機検出信号が検出信号下位カウンタ121aに入力される。他の構成は、図8の出力制御装置1aと同様である。出力制御装置1bが設けられる減速機システム7では、モータエンコーダ4が省略されてもよい。
図14は、出力制御装置1bによる減速機システム7の制御の流れを示す図である。図14では、図9中のステップS12,S14が省略される。出力制御装置1bでは、第2実施形態と同様に、起動動作として、モータ3のメモリ32から変動情報81が読み出されて、変動情報記憶部129に記録される。
減速機出力軸22は正転方向に一定回転しており、減速機検出信号の検出パルス信号、すなわち減速機検出パルス信号が検出信号下位カウンタ121aに入力されると(ステップS11)、検出信号下位カウンタ121aの値が「1」増加する。検出信号下位カウンタ121aの値が{11111}の状態で減速機検出パルス信号が入力された場合には、検出信号上位カウンタ122aの値が「1」増加し、検出信号下位カウンタ121aの値が{00000}となる。
誤差取得部12bでは、指令信号のパルス信号、すなわち指令パルス信号が入力される毎に、指令信号下位カウンタ123の値が「1」増加する。図14では、指令信号の入力に係る処理の図示を省略している。減速機検出パルス信号の入力により、検出信号下位カウンタ121aおよび検出信号上位カウンタ122aが示す現状回転位置の値と、指令信号下位カウンタ123および指令信号上位カウンタ124が示す指示回転位置の値とが比較器126に入力される。これにより、減速機検出信号が示す現状回転位置と、指令信号が示す指示回転位置とが比較され、両回転位置の差が、出力誤差として取得される(ステップS15a)。変動情報81に基づく指示回転位置の変更については後述する。
補正部13では、上記第2実施形態と同様に、出力誤差に基づいて、指令信号発生器8から駆動制御機構5に入力される指令信号が補正される(ステップS16)。駆動制御機構5では、補正部13により補正された指令信号に基づいて、モータ3が制御される(ステップS17)。出力制御装置1bでは、上述のステップS11,S15a,S16,S17が繰り返される。
このとき、カウント上限変更部125では、指令信号上位カウンタ124の値を用いて変動情報81が参照され、下位カウント上限値が指令信号下位カウンタ123に設定される。本実施形態における変動情報81の取得では、例えば、減速機出力軸22が一定回転する場合に、32個の減速機検出パルス信号が検出される平均時間、厳密には、1番目の減速機検出パルス信号の検出から、33番目の減速機検出パルス信号が検出される直前までの平均時間が基準時間として求められる。そして、減速機エンコーダ11における各角度範囲において、基準時間に検出される減速機検出パルス信号の個数が求められ、変動情報81として取得される。ここでは、基準時間に検出される減速機検出パルス信号の個数は、「31」、「32」または「33」のいずれかである。カウント上限変更部125は、変動情報81において特定される個数が「31」、「32」および「33」である場合に、それぞれ「32」、「31」および「30」を下位カウント上限値として指令信号下位カウンタ123に設定する。
一方、指令信号発生器8では、減速機エンコーダ11の角度範囲に関係なく、32個の指令パルス信号が基準時間内に出力される。下位カウント上限値が「31」である期間では、32個の減速機検出パルス信号が基準時間内に検出されるため、ステップS15aにおいて、変動情報81に基づく指示回転位置の変更を行うことなく、現状回転位置の値と指示回転位置の値との比較が行われる。すなわち、指令信号下位カウンタ123の値が{11111}に到達すると、次の指令パルス信号の入力により、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。
下位カウント上限値が「30」である期間では、33個の減速機検出パルス信号が基準時間内に検出されるため、ステップS15aにおいて、変動情報81に基づいて指示回転位置を強制的に進めつつ、現状回転位置の値と指示回転位置の値との比較が行われる。すなわち、指令信号下位カウンタ123の値が{11110}に到達すると、次の指令パルス信号の入力では、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。これにより、基準時間の経過により、33個の指令パルス信号に相当する角度だけ指示回転位置が進む。
下位カウント上限値が「32」である期間では、31個の減速機検出パルス信号が基準時間内に検出されるため、ステップS15aにおいて、変動情報81に基づいて指示回転位置を強制的に遅らせつつ、現状回転位置の値と指示回転位置の値との比較が行われる。具体的には、指令信号下位カウンタ123の値が{11111}に到達すると、次の指令パルス信号の入力では、{11111}が維持される。そして、さらに次の指令パルス信号の入力により、指令信号下位カウンタ123の値が{00000}にリセットされ、指令信号上位カウンタ124の値が「1」増加する。これにより、基準時間の経過により、実質的に31個の指令パルス信号に相当する角度だけ指示回転位置が進む。
上記では、ステップS15aにおいて、指示回転位置を変更しつつ、現状回転位置の値と指示回転位置の値との比較が行われるが、現状回転位置を変更しつつ、現状回転位置の値と指示回転位置の値との比較が行われてもよい。この場合、例えば検出信号下位カウンタ121aに対して下位カウント上限値が設定される。減速機出力軸22は、逆転方向に回転してもよく、一定回転である必要もない。
以上に説明したように、出力制御装置1bは、モータ3と、減速機2と、駆動制御機構5と、を含む減速機システム7の出力を制御する。減速機2は、モータ3の出力軸であるモータ出力軸31に接続される。駆動制御機構5は、外部から入力される指令信号に基づいてモータ3の出力を制御する。出力制御装置1bは、減速機エンコーダ11と、誤差取得部12bと、補正部13と、を含む。減速機エンコーダ11は、減速機2の出力軸である減速機出力軸22の回転を検出する。誤差取得部12bは、指令信号、および、減速機エンコーダ11からの出力に基づいて、モータ3への入力と減速機2からの出力との誤差である出力誤差を取得する。補正部13は、当該出力誤差に基づいて、駆動制御機構5に入力される指令信号を補正する。指令信号、および、減速機エンコーダ11から誤差取得部12bに入力される減速機検出信号は、パルス信号である。
誤差取得部12bは、変動情報記憶部129と、比較部120と、を含む。変動情報記憶部129は、減速機エンコーダ11における複数の角度範囲に関して、減速機出力軸22の一定回転に対する減速機検出信号の検出パルス信号の周期の変動を示す変動情報81を記憶する。比較部120は、減速機エンコーダ11の各角度範囲における検出パルス信号が入力される所定の期間において、指令信号が示す回転位置、または、減速機検出信号が示す回転位置の一方を変動情報81に基づいて変更しつつ、指令信号が示す回転位置と減速機検出信号が示す回転位置とを比較して出力誤差を取得する。
これにより、減速機エンコーダ11の偏芯等により、減速機検出信号の検出パルス信号の周期が変動することに起因して、比較される現状回転位置の値と指示回転位置の値とがずれることが防止または抑制される。その結果、出力制御装置1bでは、減速機システム7の出力誤差をより精度良く取得することができ、減速機2からの出力を高精度に制御することができる。
上述の出力制御装置1,1a,1b、減速機システム7、および、減速機システム7の制御方法では、様々な変更が可能である。
例えば、モータ検出信号の分解能は、減速機検出信号の分解能よりも高いのであれば、必ずしも減速機検出信号の分解能の2の累乗倍である必要はない。また、モータ検出信号の分解能は、必ずしも減速機検出信号の分解能の整数倍である必要もなく、様々に変更されてよい。
減速機検出信号の検出パルス信号P1から次の検出パルス信号P1までの間に減速機2にて生じる滑り角度は、モータ検出信号の検出パルス信号P2から次の検出パルス信号P2までの間に減速機出力軸22が回転する角度の0.5倍よりも大きくてもよい。
減速機システム7では、モータ出力軸31に接続された減速機2の減速機入力軸21の回転を検出するエンコーダが、モータエンコーダ4として設けられてもよい。この場合、当該モータエンコーダ4は、減速機入力軸21を介してモータ出力軸31の回転を間接的に検出する。
出力制御装置1,1a,1bは、上述のように、様々な原因による減速機2の出力誤差を精度良く取得し、減速機2からの出力を高精度に制御することができる。このため、出力制御装置1,1a,1bにより出力制御される減速機システム7の減速機2は、必ずしもトラクション方式の減速機には限定されない。例えば、減速機2は、ギア方式の減速機であってもよい。この場合、出力制御装置1,1a,1bにより、ギアの軸の傾き等に起因する出力誤差を精度良く取得することができる。その結果、減速機システム7において、減速機2からの出力を高精度に制御することができる。
出力制御装置1,1a,1bは、必ずしも減速機システム7に組み込まれる必要はなく、様々な既存の減速機システムに取り付けられて、当該減速機システムの出力制御に利用されてよい。
上記実施の形態および各変形例における構成は、相互に矛盾しない限り適宜組み合わされてよい。