(57)【要約】【課題】モータに与える制御量が大きくなった場合でも、飽和による制御不能に陥ることなく、各モータの回転速度および回転量を適正に制御できるようにする。【解決手段】モータ４，８の回転速度を制御するための並進制御量Ｓを出力する並進コントローラ３０と、モータ４，８の回転量を制御するための差動制御量Ｚａ，Ｚｂを出力する差動コントローラ３１，３２と、並進コントローラ３０から出力される並進制御量Ｓと差動コントローラ３１，３２から出力される差動制御量Ｚａ，Ｚｂに基づいて、各モータへ与える駆動制御量Ｔａ，Ｔｂを算出する演算器１６，１８と、算出された駆動制御量Ｔａ，Ｔｂを補正する制御量補正部３とを備える。制御量補正部３は、駆動制御量Ｔａ，Ｔｂが上限閾値および下限閾値を超えないように、並進制御量Ｓおよび差動制御量Ｚａ，Ｚｂを補正し、補正された駆動制御量Ｕａ，Ｕｂを出力する。【選択図】図１
2008072851.tif 000002
【特許請求の範囲】
【請求項１】
複数のモータの回転速度および回転量が等しくなるように同期制御を行うモータ制御装置であって、
各モータの回転速度をそれぞれ検出する速度検出手段と、
前記速度検出手段の検出結果に基づいて、各モータの回転速度を制御するための並進制御量を生成する並進制御量生成手段と、
各モータの回転量をそれぞれ検出する回転量検出手段と、
前記回転量検出手段の検出結果に基づいて、各モータの回転量を制御するための差動制御量を生成する差動制御量生成手段と、
前記並進制御量生成手段で生成された並進制御量および前記差動制御量生成手段で生成された差動制御量に基づいて、各モータへ与える駆動制御量を算出する制御量算出手段と、
前記制御量算出手段で算出された駆動制御量を補正する制御量補正手段とを備え、
前記駆動制御量に対して上限閾値および下限閾値が設定され、
前記制御量補正手段は、各駆動制御量の大小を比較判別して、大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値を下回る場合に、大きい駆動制御量が上限閾値以下となり、かつ、小さい駆動制御量が下限閾値以上となるように、並進制御量および差動制御量を補正することを特徴とするモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置において、
前記制御量補正手段は、さらに、
大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値以上である場合に、大きい駆動制御量が上限閾値以下となるように、並進制御量を減少方向に補正することを特徴とするモータ制御装置。
【請求項３】
請求項１に記載のモータ制御装置において、
前記制御量補正手段は、さらに、
大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値以上である場合に、大きい駆動制御量が上限閾値以下となるように、並進制御量を減少させる第１の補正を行い、
前記第１の補正の結果、小さい駆動制御量が下限閾値を下回る場合は、当該駆動制御量が下限閾値以上となるように、差動制御量を変更する第２の補正を行うことを特徴とするモータ制御装置。
【請求項４】
請求項１に記載のモータ制御装置において、
前記制御量補正手段は、さらに、
大きい駆動制御量が上限閾値以下であり、かつ、小さい駆動制御量が下限閾値を下回る場合に、小さい駆動制御量が下限閾値以上となるように、並進制御量を増加方向に補正することを特徴とするモータ制御装置。
【請求項５】
請求項１に記載のモータ制御装置において、
前記制御量補正手段は、さらに、
大きい駆動制御量が上限閾値以下であり、かつ、小さい駆動制御量が下限閾値を下回る場合に、小さい駆動制御量が下限閾値以上となるように、並進制御量を増加させる第３の補正を行い、
前記第３の補正の結果、大きい駆動制御量が上限閾値を上回る場合は、当該駆動制御量が上限閾値以下となるように、差動制御量を変更する第４の補正を行うことを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモータの回転速度および回転量が等しくなるように同期制御を行うモータ制御装置に関する。
【背景技術】
【０００２】
例えば、車室上部に開閉自在なルーフを備え、このルーフが折り畳まれて後部トランク内に収納されるようになっているコンバーチブル車では、ルーフやトランクなどの被移動体の移動は、左右に配備された２つのモータを回転させることにより行われる。しかしながら、モータの特性のばらつきや、モータにより駆動されるリンク機構の摩擦力のばらつき、あるいは車体の傾きによるモータの負荷の差などに基因して、２つのモータの回転速度や回転量（回転角度）が異なると、被移動体にアンバランスな力が作用して被移動体が変形し、極端な場合は破損することがある。
【０００３】
そこで、２つのモータの回転速度や回転量が同じになるように制御するモータ制御装置が下記の特許文献１〜３で提案されている。また、特許文献４には、２つのモータで負荷を駆動するツイン・ドライブ方式において、剛性が極めて低い負荷を駆動しても、負荷の捻れ振動を抑制することができる技術が開示されている。特許文献５には、電磁弁などのアクチュエータをＰＷＭ（Pulse Width Modulation）制御する場合において、駆動信号のデューティ比が１００％以上の場合に出力をＯＦＦにしてアクチュエータの寿命を延ばすようにした技術が開示されている。
【０００４】
【特許文献１】特許第３４６７４４０号公報
【特許文献２】特許第３５５０１１４号公報
【特許文献３】特開２００１−５１７２２号公報
【特許文献４】特開２００３−１１６２９２号公報
【特許文献５】特開平５−３２４００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
２つのモータで１つの被移動体を駆動する場合の同期制御においては、各モータの回転速度および回転量を検出し、それらの検出結果に基づくフィードバック制御が行われる。すなわち、各モータに対して、回転速度が目標速度となるように速度指令値が与えられるとともに、モータ間の回転量（角度）のずれがゼロとなるように回転量指令値が与えられる。これらの速度指令値と回転量指令値との和が、モータに対する駆動制御量となる。そして、この駆動制御量に基づき、モータに印加されるＰＷＭ信号のデユーティが決まり、各モータは回転速度および回転量が同じになるように制御される。
【０００６】
しかしながら、被移動体の駆動機構における摩擦力等に基因して、左右のモータ間で回転量（角度）の差が大きくなると、そのずれを是正するために回転量指令値が大きくなって駆動制御量も増大し、ＰＷＭ信号のデユーティが限界値を超えて飽和する場合がある。例えば、被移動体の右側に設けられたモータの回転量が大きく、左側に設けられたモータの回転量が小さければ、右側のモータの回転量を小さくし、左側のモータの回転量を大きくするように制御が行われるが、左側のモータに対する駆動制御量がきわめて大きい場合、ＰＷＭ信号のデユーティが計算上、上限値（例えば１００％）を超え、デユーティは上限値で飽和してしまうことになる。このようにデユーティが飽和すると、正常なフィードバック制御が行えなくなって回転量のずれを是正することが不可能となる。また、２つのモータで１つの被移動体を駆動する場合の同期制御においては、制御系に比例要素および積分要素を有する場合がある。そして、制御中に、積分演算量が過大に出力され、ＰＷＭ信号のデューティが限界値を超えてしまうことがある。このような場合、従来は、新たに積分の演算を行わないという対策が講じられていた。しかし、このような対策では、次のような問題が生じる。すなわち、ＰＷＭ信号のデューティが限界値を超えてしまう場合には、積分要素は、限界値を超えてしまったときの積分演算量を出力し続けることになる。この場合、積分演算量が大きいため、比例要素の比例演算量を減らすだけでは、制御が目標値に迅速に追従しないという問題が生じる。
【０００７】
そこで、本発明の課題は、モータに与える制御量が大きくなった場合でも、飽和による制御不能に陥ることなく、各モータの回転速度および回転量を適正に制御することができるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るモータ制御装置は、複数のモータの回転速度および回転量が等しくなるように同期制御を行うモータ制御装置であって、各モータの回転速度をそれぞれ検出する速度検出手段と、この速度検出手段の検出結果に基づいて、各モータの回転速度を制御するための並進制御量を生成する並進制御量生成手段と、各モータの回転量をそれぞれ検出する回転量検出手段と、この回転量検出手段の検出結果に基づいて、各モータの回転量を制御するための差動制御量を生成する差動制御量生成手段と、並進制御量生成手段で生成された並進制御量および差動制御量生成手段で生成された差動制御量に基づいて、各モータへ与える駆動制御量を算出する制御量算出手段と、この制御量算出手段で算出された駆動制御量を補正する制御量補正手段とを備える。駆動制御量に対しては、上限閾値および下限閾値が設定されており、制御量補正手段は、各駆動制御量の大小を比較判別して、大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値を下回る場合に、大きい駆動制御量が上限閾値以下となり、かつ、小さい駆動制御量が下限閾値以上となるように、並進制御量および差動制御量を補正する。
【０００９】
本発明では、上記のような制御量補正手段を設けて、駆動制御量が上限閾値および下限閾値を超えないように並進制御量と差動制御量を補正するようにしたので、モータ間で回転量の差が大きくなった場合でも、モータに与えられる駆動制御量が閾値を超えて飽和することがない。このため、飽和による制御不能を回避して各モータに対する制御を正常に行うことができ、モータ間で回転速度および回転量を同じにすることができる。この結果、例えば２つのモータによって１つの被移動体を移動させる場合に、被移動体にアンバランスな力が働かないようにして、被移動体の変形や破損を防止することができる。
【００１０】
本発明においては、大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値以上である場合に、大きい駆動制御量が上限閾値以下となるように、並進制御量を減少方向に補正する機能を制御量補正手段にもたせることができる。これによると、大きい方の駆動制御量が上限閾値を上回る場合には、並進制御量が減少するように補正が行われる結果、これに追随して当該駆動制御量が上限閾値以下となり、上限での飽和が是正される。
【００１１】
また、本発明においては、大きい駆動制御量が上限閾値を上回り、かつ、小さい駆動制御量が下限閾値以上である場合に、大きい駆動制御量が上限閾値以下となるように、並進制御量を減少させる第１の補正を行い、この第１の補正の結果、小さい駆動制御量が下限閾値を下回る場合は、当該駆動制御量が下限閾値以上となるように、差動制御量を変更する第２の補正を行う機能を制御量補正手段にもたせることができる。これによると、大きい方の駆動制御量が上限閾値を上回る場合には、並進制御量が減少するように第１の補正が行われる結果、これに追随して当該駆動制御量が上限閾値以下となり、上限での飽和が是正される。また、第１の補正により小さい方の駆動制御量が下限閾値を下回る場合には、差動制御量の変更によって当該駆動制御量が下限閾値以上となり、下限での飽和が是正される。
【００１２】
また、本発明においては、大きい駆動制御量が上限閾値以下であり、かつ、小さい駆動制御量が下限閾値を下回る場合に、小さい駆動制御量が下限閾値以上となるように、並進制御量を増加方向に補正する機能を制御量補正手段にもたせることができる。これによると、小さい方の駆動制御量が下限閾値を下回る場合には、並進制御量が増加するように補正が行われる結果、これに追随して当該駆動制御量が下限閾値以上となり、下限での飽和が是正される。
【００１３】
また、本発明においては、大きい駆動制御量が上限閾値以下であり、かつ、小さい駆動制御量が下限閾値を下回る場合に、小さい駆動制御量が下限閾値以上となるように、並進制御量を増加させる第３の補正を行い、この第３の補正の結果、大きい駆動制御量が上限閾値を上回る場合は、当該駆動制御量が上限閾値以下となるように、差動制御量を変更する第４の補正を行う機能を制御量補正手段にもたせることができる。これによると、小さい方の駆動制御量が下限閾値を下回る場合には、並進制御量が増加するように第３の補正補正が行われる結果、これに追随して当該駆動制御量が下限閾値以上となり、下限での飽和が是正される。また、第３の補正により大きい駆動制御量が上限閾値を上回る場合には、差動制御量の変更によって当該駆動制御量が上限閾値以下となり、上限での飽和が是正される。
【発明の効果】
【００１４】
こうして本発明によれば、モータに与える制御量が大きくなった場合でも、飽和による制御不能に陥ることなく、各モータの回転速度および回転量を適正に制御することができるモータ制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の実施形態に係るモータ制御装置の制御ブロック図である。３０は２つのモータ４，８の回転速度を制御する並進コントローラであって、以下に述べる並進ＦＢ（フィードバック）出力発生器１、並進ＦＦ（フィードフォワード）出力発生器２、演算器１４および演算器１５から構成される。並進ＦＢ出力発生器１は、モータ４，８の回転速度が同じになるように制御するもので、例えば、入力される偏差に比例した信号を出力する比例要素と、偏差の時間積分値に比例した信号を出力する積分要素とから構成されている。並進ＦＦ出力発生器２は、目標速度と等しい値の速度値を出力するフィードフォワード要素からなる。このように比例動作と積分動作にフィードフォワード動作を組み合わせることにより、目標値に対する良好な応答特性を得ることができる。なお、並進ＦＢ出力発生器１においては、比例要素と積分要素に微分要素を加え、ＰＩＤ制御を行う構成としてもよい。また、並進ＦＦ出力発生器２は、本発明にとって必須ではなく、省略することもできる。
【００１６】
３は本発明の特徴をなす制御量補正部であって、モータ４，８に与えられる駆動制御量に対して所定の補正を行うものである。これの詳細については後述する。４は被移動体を移動させる一方のモータ（モータＡ）、５はモータ４の回転量（回転角度）を検出する回転量検出器、６はモータ４の回転速度を検出する速度検出器である。検出器５，６は、例えば、モータ４の回転に同期したパルスを発生する１個のロータリエンコーダを用いて構成することができる。７は差動ＦＢ（フィードバック）出力発生器であって、モータ４に対する回転量制御用のフィードバック信号を生成して出力する。８は被移動体を移動させる他方のモータ（モータＢ）、９はモータ８の回転量（回転角度）を検出する回転量検出器、１０はモータ８の回転速度を検出する速度検出器である。検出器９，１０も、モータ８の回転に同期したパルスを発生する１個のロータリエンコーダを用いて構成することができる。１１は差動ＦＢ（フィードバック）出力発生器であって、モータ８に対する回転量制御用のフィードバック信号を生成して出力する。差動ＦＢ出力発生器７，１１は、前述の比例要素や積分要素などから構成される。モータ４とモータ８は、車両のルーフやトランクなどの被移動体の左右に配備されており、２つのモータ４，８の回転によって、各モータと連動するリンク機構（図示省略）を介して１つの被移動体を移動させるようになっている。
【００１７】
１２は、回転量検出器５，９によって検出された各モータ４，８の回転量を平均して、平均回転量を算出する平均回転量演算部である。１３は、速度検出器６，１０によって検出された各モータ４，８の回転速度を平均して、平均速度を算出する平均速度演算部である。１４は、並進コントローラ３０に入力される目標速度と、平均速度演算部１３から出力される平均速度との偏差を演算する演算器である。１５は、並進ＦＢ出力発生器１の出力と、並進ＦＦ出力発生器２の出力とを加算する演算器である。１６は、演算器１５の出力すなわち並進コントローラ３０の出力と、差動ＦＢ出力発生器７の出力とを加算する演算器である。１７は、平均回転量演算部１２の出力と、回転量検出器５の出力との差を演算する演算器である。差動ＦＢ出力発生器７および演算器１７により差動コントローラ３１が構成される。１８は、演算器１５の出力すなわち並進コントローラ３０の出力と、差動ＦＢ出力発生器１１の出力とを加算する演算器である。１９は、平均回転量演算部１２の出力と、回転量検出器９の出力との差を演算する演算器である。差動ＦＢ出力発生器１１および演算器１９により差動コントローラ３２が構成される。
【００１８】
以上の構成において、回転量検出器５，９は本発明における回転量検出手段の一実施形態を構成し、速度検出器６，１０は本発明における速度検出手段の一実施形態を構成し、並進コントローラ３０は本発明における並進制御量生成手段の一実施形態を構成し、差動コントローラ３１，３２は本発明における差動制御量生成手段の一実施形態を構成し、演算器１６，１８は本発明における制御量算出手段の一実施形態を構成し、制御量補正部３は本発明における制御量補正手段の一実施形態を構成している。
【００１９】
次に、モータ４，８の制御動作について説明する。図示しない操作スイッチを操作して、ルーフ等の被移動体の開閉動作を開始すると、並進コントローラ３０に被移動体の位置に応じた目標速度Ｙｏが入力される。この目標速度Ｙｏは演算器１４に入力され、目標速度Ｙｏと、平均速度演算部１３の出力である平均速度Ｙｍとの偏差Ｙｏ−Ｙｍが演算される。演算された偏差は並進ＦＢ出力発生器１に入力され、並進ＦＢ出力発生器１は比例、積分等の処理を行なって、偏差に応じた信号を出力する。また、目標速度Ｙｏは並進ＦＦ出力発生器２にも入力され、フィードフォワードの処理が行なわれる。並進ＦＢ出力発生器１の出力Ｐおよび並進ＦＦ出力発生器２の出力Ｑは、演算器１５で加算される。並進コントローラ３０は、演算器１５での加算結果を回転速度の指令値、すなわち並進制御量Ｓとして出力する。
【００２０】
並進コントローラ３０から出力された並進制御量Ｓは、共通の指令値として、演算器１６および演算器１８へ与えられる。演算器１６では、この並進制御量Ｓと、差動コントローラ３１から与えられる後述の差動制御量Ｚａとが加算され、この加算結果Ｓ＋Ｚａが駆動制御量Ｔａとして制御量補正部３へ与えられる。通常の状態、すなわち後述する制御量の飽和が発生していない状態では、制御量補正部３は駆動制御量Ｔａに対して補正を行わず、駆動制御量Ｔａと等しい駆動制御量Ｕａをモータ４へ出力する。制御量の飽和が発生している状態では、制御量補正部３は駆動制御量Ｔａに対して補正を行い、補正された駆動制御量Ｕａをモータ４へ出力する。この補正については後で詳しく説明する。
【００２１】
また、演算器１８では、並進コントローラ３０から与えられる並進制御量Ｓと、差動コントローラ３２から与えられる後述の差動制御量Ｚｂとが加算され、この加算結果Ｓ＋Ｚｂが駆動制御量Ｔｂとして制御量補正部３へ与えられる。通常の状態、すなわち後述する制御量の飽和が発生していない状態では、制御量補正部３は駆動制御量Ｔｂに対して補正を行わず、駆動制御量Ｔｂと等しい駆動制御量Ｕｂをモータ８へ出力する。制御量の飽和が発生している状態では、制御量補正部３は駆動制御量Ｔｂに対して補正を行い、補正された駆動制御量Ｕｂをモータ８へ出力する。この補正については後で詳しく説明する。
【００２２】
モータ４は、駆動制御量Ｕａに従って所定の回転速度および回転量（回転角度）で回転する。モータ４の回転量は回転量検出器５で検出され、回転速度は速度検出器６で検出される。回転量検出器５で検出された回転量Ｘａは平均回転量演算部１２に与えられるとともに、演算器１７に与えられる。速度検出器６で検出された回転速度Ｙａは、平均速度演算部１３に与えられる。
【００２３】
一方、モータ８は、駆動制御量Ｕｂに従って所定の回転速度および回転量（回転角度）で回転する。モータ８の回転量は回転量検出器９で検出され、回転速度は速度検出器１０で検出される。回転量検出器９で検出された回転量Ｘｂは平均回転量演算部１２に与えられるとともに、演算器１９に与えられる。速度検出器１０で検出された回転速度Ｙｂは、平均速度演算部１３に与えられる。
【００２４】
平均速度演算部１３は、速度検出器６，１０から出力された各モータ４，８の回転速度Ｙａ，Ｙｂに基づいて、平均速度Ｙｍを算出する。平均速度Ｙｍは、
Ｙｍ＝（Ｙａ＋Ｙｂ）／２
から求められる。なお、ここでは平均速度ＹｍをＹａ，Ｙｂの算術平均（相加平均）として算出したが、これ以外の方法で算出してもよい。例えば、幾何平均（相乗平均）として算出する場合は、平均速度Ｙｍは、
Ｙｍ＝（Ｙａ・Ｙｂ）１／２
から求められる。
【００２５】
算出された平均速度Ｙｍは、フィードバック用の速度制御量として平均速度演算部１３から並進コントローラ３０の演算器１４へ与えられる。演算器１４は、前述のように目標速度Ｙｏと平均速度Ｙｍとの偏差Ｙｏ−Ｙｍを演算する。この偏差は並進ＦＢ出力発生器１に与えられ、並進ＦＢ出力発生器１は偏差に対して比例・積分等の処理を行う。並進ＦＢ出力発生器１の出力Ｐは、演算器１５において並進ＦＦ出力発生器２の出力Ｑと加算され、並進コントローラ３０からは上記偏差に応じた並進制御量Ｓが出力される。
【００２６】
一方、平均回転量演算部１２は、回転量検出器５，９から出力された各モータ４，８の回転量Ｘａ，Ｘｂに基づいて、平均回転量Ｘｍを算出する。平均回転量Ｘｍは、
Ｘｍ＝（Ｘａ＋Ｘｂ）／２
から求められる。なお、ここでは平均回転量ＸｍをＸａ，Ｘｂの算術平均（相加平均）として算出したが、これ以外の方法で算出してもよい。例えば、幾何平均（相乗平均）として算出する場合は、平均回転量Ｘｍは、
Ｘｍ＝（Ｘａ・Ｘｂ）１／２
から求められる。
【００２７】
算出された平均回転量Ｘｍは、演算器１７，１９に共通に与えられる。演算器１７は、平均回転量Ｘｍと、回転量検出器５で検出されたモータ４の回転量Ｘａとの偏差Ｘｍ−Ｘａを演算する。この演算結果は、差動ＦＢ出力発生器７へ与えられる。差動ＦＢ出力発生器７は、上記偏差に応じた回転量の指令値、すなわち差動制御量Ｚａを出力する。この差動制御量Ｚａは、モータ４に対する回転量制御用のフィードバック信号として演算器１６に与えられる。演算器１６では、並進制御量Ｓと差動制御量Ｚａとが加算されて駆動制御量Ｔａ（＝Ｓ＋Ｚａ）が算出され、この駆動制御量Ｔａが制御量補正部３に入力される。制御量補正部３は、必要な場合は、後述する補正演算により駆動制御量Ｔａを補正した上で、最終的な駆動制御量Ｕａをモータ４に出力する。モータ４は、この駆動制御量Ｕａに従う回転速度および回転量で回転する。
【００２８】
一方、演算器１９は、平均回転量Ｘｍと、回転量検出器９で検出されたモータ８の回転量Ｘｂとの偏差Ｘｍ−Ｘｂを演算する。この演算結果は、差動ＦＢ出力発生器１１へ与えられる。差動ＦＢ出力発生器１１は、上記偏差に応じた回転量の指令値、すなわち差動制御量Ｚｂを出力する。この差動制御量Ｚｂは、モータ８に対する回転量制御用のフィードバック信号として演算器１８に与えられる。演算器１８では、並進制御量Ｓと差動制御量Ｚｂとが加算されて駆動制御量Ｔｂ（＝Ｓ＋Ｚｂ）が算出され、この駆動制御量Ｔｂが制御量補正部３に入力される。制御量補正部３は、必要な場合は、後述する補正演算により駆動制御量Ｔｂを補正した上で、最終的な駆動制御量Ｕｂをモータ８に出力する。モータ８は、この駆動制御量Ｕｂに従う回転速度および回転量で回転する。
【００２９】
図１の装置においては、並進コントローラ３０からモータ４，８に対して共通に出力される並進制御量Ｓに基づいて、各モータの回転速度が目標速度となるように制御が行われ、モータ４，８は同じ速度で回転する。また、差動コントローラ３１，３２からモータ４，８に個別に与えられる差動制御量Ｚａ，Ｚｂに基づいて、各モータの回転量を独立して制御することができる。したがって、モータ４，８の回転量が共に平均回転量Ｘｍとなるように制御することにより、回転速度に影響を与えずに、２つのモータの回転量を同じにして、モータ間の回転量のずれをなくすことができる。
【００３０】
次に、制御量補正部３における処理の詳細につき、種々のケースに場合分けをして説明する。
【００３１】
［ケース１］制御量の飽和がない場合
図２は、飽和が発生していない場合の並進制御量と差動制御量の大きさを模式的に示した図である。Ｓは並進制御量、Ｚ１，Ｚ２は差動制御量を表している。差動制御量のうち、Ｚ１はモータの回転量を増加させるように働く差動制御量、Ｚ２はモータの回転量を減少させるように働く差動制御量である。例えば、図１において、モータ４の回転量を増加させ、モータ８の回転量を減少させる場合は、差動コントローラ３１から出力される差動制御量ＺａがＺ１に相当し、差動コントローラ３２から出力される差動制御量ＺｂがＺ２に相当する。並進制御量と差動制御量との和が駆動制御量となる。すなわち、一方のモータの駆動制御量はＳ＋Ｚ１であり、他方のモータの駆動制御量はＳ＋Ｚ２である。ここで、Ｚ１は正の値をとり、Ｚ２は負の値をとる。したがって、双方の駆動制御量を比較した場合、Ｓ＋Ｚ１は大きい駆動制御量であり、Ｓ＋Ｚ２は小さい駆動制御量となる。ＭＡＸは、大きい駆動制御量Ｓ＋Ｚ１の上限閾値であり、ＭＩＮは、小さい駆動制御量Ｓ＋Ｚ２の下限閾値である。これらの上限閾値ＭＡＸおよび下限閾値ＭＩＮは、制御量補正部３に備わるメモリ（図示省略）に記憶されている。制御量補正部３は、駆動制御量の大小を比較判別して、大きい駆動制御量が上限閾値を上回っているか否か、小さい駆動制御量が下限閾値を下回っているか否かを判定し、その判定結果に応じた処理を行う。以上に関しては、後述する図３〜図７においても同様である。
【００３２】
図２の（ａ）では、Ｚ１とＺ２との関係は｜Ｚ１｜＞｜Ｚ２｜であり、図２の（ｂ）では、｜Ｚ１｜＜｜Ｚ２｜となっているが、いずれにおいても、一方のモータの駆動制御量Ｓ＋Ｚ１は上限閾値を上回らず、他方のモータの駆動制御量Ｓ＋Ｚ２は下限閾値を下回らない。このような場合は、各モータの駆動制御量が適正な範囲にあって飽和していないので、駆動制御量を補正する必要はない。したがって、制御量補正部３は、並進制御量や差動制御量に対する補正を行わず、入力された駆動制御量をそのままモータ４，８に出力する（図１において、Ｕａ＝Ｔａ，Ｕｂ＝Ｔｂとなる）。モータ４，８は、駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝（Ｓ＋Ｚａ）／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝（Ｓ＋Ｚｂ）／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００３３】
［ケース２］上限で飽和がある場合−その１−
図３（ａ）は、上限で飽和が発生した場合の並進制御量と差動制御量の大きさを模式的に示した図である。ここでは、大きい駆動制御量Ｓ＋Ｚ１が上限閾値ＭＡＸを上回っており、ＭＡＸを超えた部分で飽和状態となる。制御量が飽和状態になると、正常なフィードバック制御を行うことが不可能となり、モータの同期制御ができなくなる。そこで、この場合は、制御量補正部３において、図３（ｂ）に示すように、並進制御量Ｓをαだけ減少させる補正を行う。ここでは、αの値を次のように選定する。
α＝ＭＡＸ−Ｚ１−Ｓ        …（１）
図３（ｂ）のＳ’は補正後の並進制御量を表しており、
Ｓ’＝Ｓ＋α  （α＜０）    …（２）
である。なお、差動制御量Ｚ１，Ｚ２はそのままとする。
【００３４】
αを式１のように選定して、並進制御量Ｓを式２のように補正することにより、大きい駆動制御量Ｓ’＋Ｚ１は、上限閾値ＭＡＸの値に等しくなり、上限の飽和が解消される。このとき、並進制御量Ｓが減少することで、小さい駆動制御量もＳ’＋Ｚ２に減少するので、制御量補正部３は、小さい駆動制御量Ｓ’＋Ｚ２が下限閾値ＭＩＮを下回るか否かを判定する。図３（ｂ）の場合は、小さい駆動制御量Ｓ’＋Ｚ２は下限閾値ＭＩＮを下回らないので、下限での飽和は発生しない。したがって、制御量補正部３はそれ以上の補正を行わない。小さい駆動制御量Ｓ’＋Ｚ２が下限閾値ＭＩＮを下回る場合については、後の図４Ａ，図４Ｂで説明する。
【００３５】
上述した補正によって、補正後の大きい駆動制御量Ｓ’＋Ｚ１と小さい駆動制御量Ｓ’＋Ｚ２は、それぞれＳ’＋Ｚ１＝ＭＡＸ、Ｓ’＋Ｚ２≧ＭＩＮとなって、いずれも閾値の範囲内の適正な値となる。なお、Ｓ’＋Ｚ１の値は必ずしもＭＡＸの値と一致する必要はなく、Ｓ’＋Ｚ１≦ＭＡＸの関係を満たせばよい。このケース２の補正においては、差動制御量Ｚ１，Ｚ２はそのままとし、並進制御量Ｓのみを加法的に操作（Ｓ’＝Ｓ＋α）するだけで補正が行えるので、演算処理が簡単となる。
【００３６】
上記のケース２を図１に当てはめると、制御量補正部３に与えられる駆動制御量のうち、例えばＴａをＳ＋Ｚ１（Ｚ１＝Ｚａ）とし、ＴｂをＳ＋Ｚ２（Ｚ２＝Ｚｂ）としたとき、制御量補正部３は、Ｓ’＋Ｚ１を駆動制御量Ｕａとしてモータ４へ出力し、Ｓ’＋Ｚ２を駆動制御量Ｕｂとしてモータ８へ出力する。モータ４，８は、これらの駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋Ｚａ｝／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋Ｚｂ｝／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００３７】
［ケース３］上限で飽和がある場合−その２−
図４Ａ（ａ）のように、大きい駆動制御量Ｓ＋Ｚ１が上限閾値ＭＡＸを上回っている場合に、前述の図３の場合と同様にして並進制御量Ｓを減少させる補正を行った結果、図４Ａ（ｂ）のように、補正後の大きい駆動制御量Ｓ’＋Ｚ１は上限閾値ＭＡＸに収まったが、小さい駆動制御量Ｓ’＋Ｚ２が下限閾値ＭＩＮを下回り、下限で飽和が発生する場合がある。この場合も、制御量の飽和によって正常なフィードバック制御を行うことが不可能となり、モータの同期制御ができなくなる。そこで、このケースにおいては、制御量補正部３は、上記の補正に続いて、さらに図４Ｂに示すような補正を行う。
【００３８】
すなわち、並進制御量の補正値をαからα’に変更して、並進制御量ＳをＳ’’に再補正する。Ｓ’’は
Ｓ’’＝Ｓ＋α’  （α’＜０）    …（３）
となる。また、差動制御量Ｚ１，Ｚ２に対して同じ補正値β（β＜１）を乗じて、Ｚ１をＺ１×βに補正するとともに、Ｚ２をＺ２×βに補正し、補正後の大きい制御量Ｓ’’＋（Ｚ１×β）が上限閾値ＭＡＸに等しくなり、補正後の小さい制御量Ｓ’’＋（Ｚ２×β）が下限閾値ＭＩＮに等しくなるようにする。この場合のα’とβの値は、次の連立方程式の解として求めることができる。
Ｓ＋α’＋（Ｚ１×β）＝ＭＡＸ      …（４）
Ｓ＋α’＋（Ｚ２×β）＝ＭＩＮ      …（５）
これより、
α’＝｛（Ｚ１×ＭＩＮ）−（Ｚ２×ＭＡＸ）｝／（Ｚ１−Ｚ２）−Ｓ    …（６）
β＝（ＭＡＸ−ＭＩＮ）／（Ｚ１−Ｚ２）    …（７）
となる。
【００３９】
このようにして算出した補正値α’、βを用いて、図４Ｂで示したような補正を行うことにより、補正後の大きい駆動制御量Ｓ’’＋（Ｚ１×β）は、上限閾値ＭＡＸの値に等しくなり、上限の飽和が解消される。また、補正後の小さい駆動制御量Ｓ’’＋（Ｚ２×β）は、下限閾値ＭＩＮの値に等しくなり、下限の飽和が解消される。したがって、補正後の大きい駆動制御量Ｓ’’＋（Ｚ１×β）と小さい駆動制御量Ｓ’’＋（Ｚ２×β）は、いずれも閾値の範囲内の適正な値となる。なお、Ｓ’’＋（Ｚ１×β）の値は必ずしもＭＡＸの値と一致する必要はなく、Ｓ’’＋（Ｚ１×β）≦ＭＡＸの関係を満たせばよい。同様に、Ｓ’’＋（Ｚ２×β）の値は必ずしもＭＩＮの値と一致する必要はなく、ＭＩＮ≦Ｓ’’＋（Ｚ２×β）の関係を満たせばよい。
【００４０】
なお、図４Ｂでは、並進制御量Ｓについては補正値α’により加法的に補正を行うのに対し、差動制御量Ｚ１，Ｚ２については補正値βにより乗法的に補正を行っているが、これは次のような理由による。すなわち、並進制御量Ｓは各モータへ共通に与えられる制御量であって、補正により各モータの回転速度の相関関係に影響を与えるものではないことから、並進制御量Ｓの補正には、演算の複雑な乗法的補正よりも演算の容易な加法的補正を採用したほうが有利である。これに対し、差動制御量Ｚ１，Ｚ２は各モータへ個別に与えられる制御量であり、これを加法的に補正すると、各モータの回転量の比例関係が崩れてしまうので、同じ補正値βを用いて乗法的に補正を行うことで比例関係を維持するようにしている。後述するケース５、ケース６においても同様である。
【００４１】
上記のケース３を図１に当てはめると、制御量補正部３に与えられる駆動制御量のうち、例えばＴａをＳ＋Ｚ１（Ｚ１＝Ｚａ）とし、ＴｂをＳ＋Ｚ２（Ｚ２＝Ｚｂ）としたとき、制御量補正部３は、Ｓ’’＋（Ｚ１×β）を駆動制御量Ｕａとしてモータ４へ出力し、Ｓ’’＋（Ｚ２×β）を駆動制御量Ｕｂとしてモータ８へ出力する。モータ４，８は、これらの駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝｛（Ｓ＋α’）＋（Ｚａ×β）｝／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝｛（Ｓ＋α’）＋（Ｚｂ×β）｝／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００４２】
［ケース４］下限で飽和がある場合−その１−
図５（ａ）は、下限で飽和が発生した場合の並進制御量と差動制御量の大きさを模式的に示した図である。ここでは、小さい駆動制御量Ｓ＋Ｚ２が下限閾値ＭＩＮを下回っており、ＭＩＮを超えた部分で飽和状態となる。この場合も、制御量の飽和により、正常なフィードバック制御を行うことが不可能となり、モータの同期制御ができなくなる。そこで、この場合は、制御量補正部３において、図５（ｂ）に示すように、並進制御量Ｓをαだけ増加させる補正を行う。ここでは、αの値を次のように選定する。
α＝ＭＩＮ−Ｚ２−Ｓ        …（８）
図５（ｂ）のＳ’は補正後の並進制御量を表しており、
Ｓ’＝Ｓ＋α  （α＞０）    …（９）
である。なお、差動制御量Ｚ１，Ｚ２はそのままとする。
【００４３】
αを式８のように選定して、並進制御量Ｓを式９のように補正することにより、小さい駆動制御量Ｓ’＋Ｚ２は、下限閾値ＭＩＮの値に等しくなり、下限の飽和が解消される。このとき、並進制御量Ｓが増加することで、大きい駆動制御量もＳ’＋Ｚ１に増加するので、制御量補正部３は、大きい駆動制御量Ｓ’＋Ｚ１が上限閾値ＭＡＸを上回るか否かを判定する。図５（ｂ）の場合は、大きい駆動制御量Ｓ’＋Ｚ１は上限閾値ＭＡＸを上回らないので、上限での飽和は発生しない。したがって、制御量補正部３はそれ以上の補正を行わない。大きい駆動制御量Ｓ’＋Ｚ１が上限閾値ＭＡＸを上回る場合については、後の図６Ａ，図６Ｂで説明する。
【００４４】
上述した補正によって、補正後の大きい駆動制御量Ｓ’＋Ｚ１と小さい駆動制御量Ｓ’＋Ｚ２は、それぞれＳ’＋Ｚ１≦ＭＡＸ、Ｓ’＋Ｚ２＝ＭＩＮとなって、いずれも閾値の範囲内の適正な値となる。なお、Ｓ’＋Ｚ２の値は必ずしもＭＩＮの値と一致する必要はなく、ＭＩＮ≦Ｓ’＋Ｚ２の関係を満たせばよい。このケース４の補正においても、ケース２の場合と同様に、差動制御量Ｚ１，Ｚ２はそのままで、並進制御量Ｓのみを加法的に補正（Ｓ’＝Ｓ＋α）しているので、演算処理が簡単となる。
【００４５】
上記のケース４を図１に当てはめると、制御量補正部３に与えられる駆動制御量のうち、例えばＴａをＳ＋Ｚ１（Ｚ１＝Ｚａ）とし、ＴｂをＳ＋Ｚ２（Ｚ２＝Ｚｂ）としたとき、制御量補正部３は、Ｓ’＋Ｚ１を駆動制御量Ｕａとしてモータ４へ出力し、Ｓ’＋Ｚ２を駆動制御量Ｕｂとしてモータ８へ出力する。モータ４，８は、これらの駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋Ｚａ｝／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋Ｚｂ｝／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００４６】
［ケース５］下限で飽和がある場合−その２−
図６Ａ（ａ）のように、小さい駆動制御量Ｓ＋Ｚ２が下限閾値ＭＩＮを下回っている場合に、前述の図５の場合と同様にして並進制御量Ｓを増加させる補正を行った結果、図６Ａ（ｂ）のように、補正後の小さい駆動制御量Ｓ’＋Ｚ２は下限閾値ＭＩＮに収まったが、大きい駆動制御量Ｓ’＋Ｚ１が上限閾値ＭＡＸを上回り、上限で飽和が発生する場合がある。この場合も、制御量の飽和によって正常なフィードバック制御を行うことが不可能となり、モータの同期制御ができなくなる。そこで、このケースにおいては、制御量補正部３は、上記の補正に続いて、さらに図６Ｂに示すような補正を行う。
【００４７】
図６Ｂの補正は、図４Ｂで説明した補正と基本的に同じである。但し、補正値α’の符号が図４Ｂの場合と逆になり、再補正された並進制御量は、
Ｓ’’＝Ｓ＋α’  （α＞０）    …（１０）
となる。差動制御量Ｚ１，Ｚ２の補正に関しては、図４Ｂの場合と同じであり、補正値β（β＜１）を用いて、Ｚ１をＺ１×βに、Ｚ２をＺ２×βにそれぞれ補正し、補正後の大きい制御量Ｓ’’＋（Ｚ１×β）が上限閾値ＭＡＸに等しくなり、補正後の小さい制御量Ｓ’’＋（Ｚ２×β）が下限閾値ＭＩＮに等しくなるようにする。この場合のα’とβの値は、前述の式４、式５で示した連立方程式の解として算出され、各値は前述の式６、式７のようになる。
【００４８】
このようにして算出した補正値α’、βを用いて、図６Ｂで示したような補正を行うことにより、補正後の大きい駆動制御量Ｓ’’＋（Ｚ１×β）は、上限閾値ＭＡＸの値に等しくなり、上限の飽和が解消される。また、補正後の小さい駆動制御量Ｓ’’＋（Ｚ２×β）は、下限閾値ＭＩＮの値に等しくなり、下限の飽和が解消される。したがって、補正後の大きい駆動制御量Ｓ’’＋（Ｚ１×β）と小さい駆動制御量Ｓ’’＋（Ｚ２×β）は、いずれも閾値の範囲内の適正な値となる。この場合も、Ｓ’’＋（Ｚ１×β）の値は必ずしもＭＡＸの値と一致する必要はなく、Ｓ’’＋（Ｚ１×β）≦ＭＡＸの関係を満たせばよい。同様に、Ｓ’’＋（Ｚ２×β）の値は必ずしもＭＩＮの値と一致する必要はなく、ＭＩＮ≦Ｓ’’＋（Ｚ２×β）の関係を満たせばよい。
【００４９】
上記のケース５を図１に当てはめると、制御量補正部３に与えられる駆動制御量のうち、例えばＴａをＳ＋Ｚ１（Ｚ１＝Ｚａ）とし、ＴｂをＳ＋Ｚ２（Ｚ２＝Ｚｂ）としたとき、制御量補正部３は、Ｓ’’＋（Ｚ１×β）を駆動制御量Ｕａとしてモータ４へ出力し、Ｓ’’＋（Ｚ２×β）を駆動制御量Ｕｂとしてモータ８へ出力する。モータ４，８は、これらの駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝｛（Ｓ＋α’）＋（Ｚａ×β）｝／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝｛（Ｓ＋α’）＋（Ｚｂ×β）｝／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００５０】
［ケース６］上限と下限で飽和がある場合
上述したケース２〜５では、上限・下限の一方で飽和があった場合に、まず並進制御量をαで補正して一方の飽和を解消し、この補正の結果、他方で飽和が発生しなければそれ以上の補正は行わず、他方で飽和が発生すれば、並進制御量と差動制御量をα’とβで再度補正して他方の飽和を解消するようにした。これに対し、図７は、最初から上限・下限の両方で飽和が同時に発生している例である。この場合の補正は、図４Ｂ、図６Ｂと同様の考え方に基づいて行うことができる。すなわち、並進制御量Ｓの補正値αと、差動制御量Ｚ１，Ｚ２の補正値βとを、次の連立方程式の解として求める。
Ｓ＋α＋（Ｚ１×β）＝ＭＡＸ      …（１１）
Ｓ＋α＋（Ｚ２×β）＝ＭＩＮ      …（１２）
これより、
α＝｛（Ｚ１×ＭＩＮ）−（Ｚ２×ＭＡＸ）｝／（Ｚ１−Ｚ２）−Ｓ  …（１３）
β＝（ＭＡＸ−ＭＩＮ）／（Ｚ１−Ｚ２）    …（１４）
となる。
【００５１】
このようにして算出した補正値α、βを用いて、図７で示したような補正を行うことにより、補正後の大きい駆動制御量Ｓ’＋（Ｚ１×β）は、上限閾値ＭＡＸの値に等しくなり、上限の飽和が解消される。また、補正後の小さい駆動制御量Ｓ’＋（Ｚ２×β）は、下限閾値ＭＩＮの値に等しくなり、下限の飽和が解消される。したがって、補正後の大きい駆動制御量Ｓ’＋（Ｚ１×β）と小さい駆動制御量Ｓ’＋（Ｚ２×β）は、いずれも閾値の範囲内の適正な値となる。ここでも、Ｓ’＋（Ｚ１×β）の値は必ずしもＭＡＸの値と一致する必要はなく、Ｓ’＋（Ｚ１×β）≦ＭＡＸの関係を満たせばよい。同様に、Ｓ’＋（Ｚ２×β）の値は必ずしもＭＩＮの値と一致する必要はなく、ＭＩＮ≦Ｓ’＋（Ｚ２×β）の関係を満たせばよい。
【００５２】
上記のケース６を図１に当てはめると、制御量補正部３に与えられる駆動制御量のうち、例えばＴａをＳ＋Ｚ１（Ｚ１＝Ｚａ）とし、ＴｂをＳ＋Ｚ２（Ｚ２＝Ｚｂ）としたとき、制御量補正部３は、Ｓ’＋（Ｚ１×β）を駆動制御量Ｕａとしてモータ４へ出力し、Ｓ’＋（Ｚ２×β）を駆動制御量Ｕｂとしてモータ８へ出力する。モータ４，８は、これらの駆動制御量Ｕａ，Ｕｂに対応した所定のデユーティをもったＰＷＭ信号により、回転速度および回転量が等しくなるように駆動される。各モータに与えられるＰＷＭ信号のデユーティＤａ，Ｄｂは、次式で算出される。
Ｄａ＝Ｕａ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋（Ｚａ×β）｝／（Ｖ×Ｇ）
Ｄｂ＝Ｕｂ／（Ｖ×Ｇ）＝｛（Ｓ＋α）＋（Ｚｂ×β）｝／（Ｖ×Ｇ）
ここで、Ｖはモータに印加される外部供給電圧、Ｇはモータの回転位置ごとの被移動体の先端移動量である。
【００５３】
図８は、以上述べたケース１〜６のそれぞれにおける制御量補正部３の処理内容を一覧表にしたものである。上限飽和と下限飽和が共に発生していない場合はケース１（図２）に該当し、並進制御量・差動制御量とも補正はしない。上限飽和のみが発生していて、並進制御量をαで補正した結果、下限に飽和が発生しない場合はケース２（図３）に該当し、それ以上の補正は行わない。下限に飽和が発生する場合はケース３（図４Ｂ）に該当し、並進制御量をα’で再補正するとともに、差動制御量をβで補正して、下限飽和を是正する。下限飽和のみが発生していて、並進制御量をαで補正した結果、上限に飽和が発生しない場合はケース４（図５）に該当し、それ以上の補正は行わない。上限に飽和が発生する場合はケース５（図６Ｂ）に該当し、並進制御量をα’で再補正するとともに、差動制御量をβで補正して、上限飽和を是正する。上限飽和と下限飽和が共に発生している場合はケース６（図７）に該当し、並進制御量をαで補正するとともに、差動制御量をβで補正して、上限飽和および下限飽和を是正する。
【００５４】
以上のように、上記実施形態においては、制御量補正部３を設けて、駆動制御量が上限閾値および下限閾値を超えないように並進制御量と差動制御量を補正するようにしたので、モータ間で回転量の差が大きくなった場合でも、モータ４，８に与えられる駆動制御量Ｕａ，Ｕｂが閾値を超えて飽和することがない。このため、飽和による制御不能を回避して各モータに対する制御を正常に行うことができ、モータ間で回転速度および回転量を同じにすることができる。この結果、モータ４，８によって１つの被移動体を移動させる場合に、被移動体にアンバランスな力が働かないようにして、被移動体の変形や破損を防止することができる。
【００５５】
本発明では、以上述べた実施形態以外にも、種々の実施形態を採用することができる。例えば、上述した実施形態においては、並進制御量を加法的に補正したが、演算の手間を厭わなければ、並進制御量を乗法的に補正することも可能である。また、図４Ｂや図６Ｂの再補正においては、並進制御量と差動制御量の双方に対して補正を行ったが、差動制御量のみを補正してもよい。例えば、図４Ａ（ｂ）の処理の後、並進制御量Ｓ’はそのままにして、差動制御量Ｚ１，Ｚ２に同じ倍率γ（γ＜１）を乗じて、小さい駆動制御量Ｓ’＋（Ｚ２×γ）が下限閾値ＭＩＮに等しくなるように補正してもよい。この場合は、大きい駆動制御量Ｓ’＋（Ｚ１×γ）が上限閾値ＭＡＸよりも小さくなる。
【００５６】
また、上述した実施形態では、図１に示すような構成のモータ制御装置を例に挙げたが、これは一例であって、モータの回転速度と回転量とを独立して制御できるものであれば、他の構成のモータ制御装置であってもよい。
【００５７】
また、上述した実施形態では、２台のモータ４，８に対して同期制御を行う場合を例に挙げたが、本発明は、３台以上のモータに対して同期制御を行う場合にも適用することができる。
【００５８】
さらに、上述した実施形態では、車両のルーフやトランク等の開閉に用いられるモータ制御装置を例に挙げたが、本発明はこれに限らず、例えばダンプカーの荷台のような被移動体を駆動する場合などにも適用することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係るモータ制御装置の制御ブロック図である。
【図２】飽和がない場合の並進制御量と差動制御量の大きさを模式的に示した図である。
【図３】上限で飽和が発生した場合の補正を説明する図である。
【図４Ａ】補正によって発生する下限の飽和を説明する図である。
【図４Ｂ】下限の飽和を是正するための再補正を説明する図である。
【図５】下限で飽和が発生した場合の補正を説明する図である
【図６Ａ】補正によって発生する上限の飽和を説明する図である
【図６Ｂ】上限の飽和を是正するための再補正を説明する図である
【図７】上限と下限で飽和が発生した場合の補正を説明する図である。
【図８】制御量補正部の処理内容を示した一覧表である。
【符号の説明】
【００６０】
１    並進ＦＢ出力発生器
２    並進ＦＦ出力発生器
３    制御量補正部
４    モータ
５    回転量検出器
６    速度検出器
７    差動ＦＢ出力発生器
８    モータ
９    回転量検出器
１０  速度検出器
１１  差動ＦＢ出力発生器
１２  平均回転量演算部
１３  平均速度演算部
１４〜１９  演算器
３０  並進コントローラ
３１，３２  差動コントローラ
Ｓ  並進制御量
Ｚａ，Ｚｂ  差動制御量
Ｔａ，Ｔｂ，Ｕａ，Ｕｂ  駆動制御量
【図１】
2008072851.tif 000003
【図２】
2008072851.tif 000004
【図３】
2008072851.tif 000005
【図４Ａ】
2008072851.tif 000006
【図４Ｂ】
2008072851.tif 000007
【図５】
2008072851.tif 000008
【図６Ａ】
2008072851.tif 000009
【図６Ｂ】
2008072851.tif 000010
【図７】
2008072851.tif 000011
【図８】
2008072851.tif 000012