(57)【特許請求の範囲】
【請求項１】
特性及び負荷の一方又は双方が異なる複数のモータを同期制御することにより、一方の端点と他方の端点との間で相互に移動対象物を移動させるモータ制御装置であり、当該移動対象物を前記一方の端点への方向及び前記他方の端点への方向の何れか一方の移動方向である第１方向へ移動させる際には、当該複数のモータのうちの１つである第１モータが機械的な規制手段により動作を規制される規制端点において少なくとも１つの他のモータよりも先に当該第１モータを停止させ、前記移動対象物が他方の移動方向である第２方向へ移動される際には、前記第１モータを少なくとも１つの他のモータと共に同期制御して動作を開始させるモータ制御装置であって、
前記複数のモータのそれぞれの実動作量情報を取得する実動作量取得部と、
各モータの前記実動作量情報を単位動作量が各モータに共通する基準動作量情報に変換する変換部と、
各モータの前記基準動作量情報に基づいて、各モータの任意の時点における基準動作量が所定の許容範囲に収まるように各モータを同期させて駆動制御を行う制御部と、
前記規制手段により前記第１モータが前記規制端点において停止した際の前記第１モータの前記基準動作量情報を停止位置情報として取得する停止位置情報取得部と、
前記規制端点の理論的な位置である基準停止位置を前記基準動作量情報に換算した基準停止位置情報と前記停止位置情報とに基づいて、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作するモータの少なくとも１つを基準モータとして補正パラメータを演算する補正パラメータ演算部と、
前記補正パラメータに基づいて少なくとも前記第１モータを含む前記モータの前記基準動作量情報を補正する補正部と、を備えるモータ制御装置。
【請求項２】
前記補正パラメータ演算部は、少なくとも前記第１モータを前記基準モータとして前記補正パラメータを演算する請求項１に記載のモータ制御装置。
【請求項３】
前記補正部は、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作する全てのモータの前記基準動作量情報を補正する請求項１又は２に記載のモータ制御装置。
【請求項４】
前記補正部は、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作する全てのモータをそれぞれ前記基準モータとして、複数の前記補正パラメータを演算し、
前記補正部は、前記補正パラメータが演算された各モータに対応するそれぞれの前記補正パラメータに基づいて、各モータの前記基準動作量情報を補正する請求項１〜３の何れか一項に記載のモータ制御装置。
【請求項５】
前記補正パラメータは、前記移動対象物を前記第２方向へ移動させる際の前記基準停止位置から各モータの動作完了位置までの動作量を、前記停止位置情報に基づく前記規制端点の実際の位置から各モータの動作完了位置までの動作量に比例配分することによって演算される請求項１〜４の何れか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特性及び負荷の一方又は双方が異なる複数のモータを同期制御して、移動対象物を一方の端点と他方の端点との間で相互に移動させるモータ制御装置に関する。
【背景技術】
【０００２】
福祉車両などにおいては、搭乗者の乗降を容易にするために、乗降時に座席を車両の外側へ振り出す機構や、乗降ステップを車両の外側へ張り出す機構が設けられているものがある。例えば、座席の振り出し機構では、搭乗者が着席している状態で座席を外側へ向けて約９０度回転させるとともに、車両の前後方向及び左右方向に移動させる。これらの回転や移動は、それぞれモータを用いて行われる。この際、着席している搭乗者に違和感を抱かせないためには、それぞれのモータが協調して動作する必要がある。特開２００５−２７８３６２号公報（特許文献１）には、特性や負荷が異なる複数のモータを同期制御する制御装置が開示されている。この制御装置は、モータごとに異なる回転量などの動作量を、全てのモータに共通した基準動作量に変換し、この基準動作量に基づいて各モータを制御する。これにより、制御のための演算が簡素化されるとともに、円滑な同期制御が可能となるというものである。但し、この場合でも全てのモータのフィードバック制御が基準動作量にぴったり適合しない場合がある。特開２００５−２７８３６１号公報（特許文献２）では、さらに所定の許容範囲内での進みや遅れの程度を調整するためにモータごとに基準動作量を調整する機能を付加した制御装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７８３６２号公報（第１４〜２１段落、図１〜４等）
【特許文献２】特開２００５−２７８３６１号公報（第２３〜２９段落、図４〜７等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１や特許文献２の制御装置を用いれば、特性や負荷が異なる複数のモータを良好に同期制御することができる。但し、ここで制御対象となるモータは、全てが基準動作量に基づいて動作開始や停止も含めて制御される。例えば、座席の振り出し時に複数のモータのうちの１つが他のモータに先駆けて停止し、座席の格納時には他のモータの駆動後に駆動される場合を考える。当該１つのモータは、基準動作量に基づいて停止されているので、基準動作量に基づいて駆動されれば、振り出し時と同じ軌跡で座席は格納される。
【０００５】
ここで、他のモータに先駆けて停止するモータが機械的な規制手段によって停止される場合を考える。福祉車両などでは、振り出し時に歯車等の機構部品の機械的な公差やバックラッシュにより座席が振動すると搭乗者に違和感や不安感を抱かせる可能性がある。そこで、基準動作量に基づいて停止制御することなく、敢えて機械的に規制される位置まで動作させることがある。理想的には、停止位置は基準動作量によって定義される位置であるが、機構部品の機械的な公差やバックラッシュ、規制手段の衝撃緩和のための弾性部材の環境変化や経年変化などによって実際の停止位置は変動することが多い。他のモータは、基準動作量に基づいて引き続き同期制御され、基準動作量で定義された位置で停止制御される。
【０００６】
次に、振り出し時とは反対方向に座席を移動させる格納時について考える。格納時には、規制手段により振り出し方向への移動を規制されたモータに先駆けて、他のモータが駆動され、移動を規制されたモータは途中から起動される。ここで制御装置が、基準動作量に基づいて共通の同期制御を行うと、移動を規制されたモータの基準動作量は駆動開始時から、同期制御における基準動作量の制御値に対して誤差を有することになる。つまり、当該モータは、基準動作量によって定義される理想的な停止位置から駆動されることになるが、実際の停止位置における基準動作量は理想的な停止位置における値とは異なる。従って、同期制御における基準動作量の制御値に対して、誤差が生じることになる。誤差のある状態から動作を開始するので、制御装置がこの誤差を縮小するために多くの時間を有し、座席を格納する際の移動軌跡が狂う可能性がある。一方、制御装置が急速にこの誤差を縮小しようとすると、例えばパルス幅変調によりモータが制御される際には、デューティーが急激に変化してモータが過負荷となる可能性がある。また、急激なデューティー変化によりモータがハンチングを起こす可能性もある。ここでは、福祉車両において振り出し及び格納される座席を例として説明したが、移動対象物は福祉車両の座席に限定されず、このようなモータ制御装置に共通する課題である。
【０００７】
尚、特許文献２には、所定の許容範囲内での進みや遅れの程度を調整するためにモータごとに基準動作量を調整する機能を付加した制御装置が提案されている。しかし、これは同期制御における許容範囲の中心値を設定するための調整に過ぎない。特許文献２では、相対的に遅れて良いモータと進んで良いモータとに応じて基準動作量が調整されている。機械的な規制手段により停止されるモータの停止位置は、機械的な構造に応じて異なり、環境に応じて変換する可能性もある。このため、上記例の格納時において駆動を開始される時に相対的に進んでいるのか遅れているのかを事前に特定することはできない。従って、特許文献２に提案された調整機能では、上記課題に有効に対処することはできない。
【０００８】
特性及び負荷の一方又は双方が異なる複数のモータを同期制御することにより一方の端点と他方の端点との間で相互に移動対象物を移動させるに際して、複数のモータに機械的な規制手段により停止されるモータが含まれていても、当該複数のモータを良好に同期制御することができるモータ制御技術が求められる。
【課題を解決するための手段】
【０００９】
上記課題に鑑みて創案された本発明に係るモータ制御装置の１つの特徴構成は、
特性及び負荷の一方又は双方が異なる複数のモータを同期制御することにより、一方の端点と他方の端点との間で相互に移動対象物を移動させるモータ制御装置であり、当該移動対象物を前記一方の端点への方向及び前記他方の端点への方向の何れか一方の移動方向である第１方向へ移動させる際には、当該複数のモータのうちの１つである第１モータが機械的な規制手段により動作を規制される規制端点において少なくとも１つの他のモータよりも先に当該第１モータを停止させ、前記移動対象物が他方の移動方向である第２方向へ移動される際には、前記第１モータを少なくとも１つの他のモータと共に同期制御して動作を開始させるモータ制御装置であって、
前記複数のモータのそれぞれの実動作量情報を取得する実動作量取得部と、
各モータの前記実動作量情報を単位動作量が各モータに共通する基準動作量情報に変換する変換部と、
各モータの前記基準動作量情報に基づいて、各モータの任意の時点における基準動作量が所定の許容範囲に収まるように各モータを同期させて駆動制御を行う制御部と、
前記規制手段により前記第１モータが前記規制端点において停止した際の前記第１モータの前記基準動作量情報を停止位置情報として取得する停止位置情報取得部と、
前記規制端点の理論的な位置である基準停止位置を前記基準動作量情報に換算した基準停止位置情報と前記停止位置情報とに基づいて、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作するモータの少なくとも１つを基準モータとして補正パラメータを演算する補正パラメータ演算部と、
前記補正パラメータに基づいて少なくとも前記第１モータを含む前記モータの前記基準動作量情報を補正する補正部と、を備える点にある。
【００１０】
この特徴構成によれば、基準停止位置情報と停止位置情報とに基づいて、少なくとも１つのモータを基準モータとして補正パラメータが演算される。そして、当該補正パラメータに基づいて少なくとも第１モータを含むモータの基準動作量情報が補正される。これにより、実際に第１モータが停止した規制端点の基準動作量情報である停止位置情報は、理想的な規制端点である基準停止位置を基準動作量情報に換算した基準停止位置情報と一致する。従って、第１モータの駆動を開始させた際に制御部が急速に基準動作量情報の誤差を縮小させるような制御を実行する必要がない。その結果、急激なフィードバック制御により第１モータに生じる過負荷やハンチングが抑制される。また、移動対象物は所定の起動軌跡に近い軌跡に沿って移動されることになる。さらに、本特徴構成によれば、実際の停止位置に対して、基準動作量情報が理論的な値となるように補正されるので、制御部は基準動作量情報が補正される前後で同一の制御を実行すれば足りる。具体的には、基準停止位置情報の値は何ら変更する必要がないので、制御部を何ら変更することなく、現実の物理環境に制御装置を適合させることが可能である。尚、基準モータが第１モータではない場合であっても、実際に第１モータが停止した規制端点における停止位置情報に基づいて良好に補正パラメータを演算することが可能である。つまり、第１モータ以外のモータも単位動作量が共通する基準動作量情報を有しているから、停止位置情報に基づいて良好に補正パラメータが求められる。従って、基準モータが第１モータではない場合であっても、補正後の第１モータの基準動作量情報と基準停止位置情報との誤差は、ほとんど解消される。
【００１１】
また、本発明に係るモータ制御装置の前記補正パラメータ演算部は、少なくとも前記第１モータを前記基準モータとして前記補正パラメータを演算すると好適である。
【００１２】
第１モータが基準モータであると、最も精度良く補正パラメータを求めることができる。第１モータ以外のモータも単位動作量が共通する基準動作量情報を有しており、同期制御されているから、実際に第１モータが停止した規制端点における基準動作量情報は理想的には一致する。但し、同期制御の制御誤差が生じている可能性がある。第１モータが基準モータであると、制御誤差の影響を受けないので、最も精度良く補正パラメータを求めることができる。
【００１３】
また、本発明に係るモータ制御装置の前記補正部は、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作する全てのモータの前記基準動作量情報を補正すると好適である。
【００１４】
動作開始及び動作完了を含み、理論的に基準停止位置において動作する全てのモータの基準動作量情報が補正されるので、補正が反映された後は、第１方向及び第２方向の双方において移動対象物の移動軌跡が一致する。補正された後の実際の停止位置（規制端点）と基準停止位置との基準動作量情報の値は良好に一致するから、移動対象物はほぼ理想的な移動軌跡を伴って往復移動することとなる。
【００１５】
また、本発明に係るモータ制御装置の前記補正部は、前記複数のモータのうち、動作開始及び動作完了を含み、理論的に前記基準停止位置において動作する全てのモータをそれぞれ前記基準モータとして、複数の前記補正パラメータを演算し、前記補正部は、前記補正パラメータが演算された各モータに対応するそれぞれの前記補正パラメータに基づいて、各モータの前記基準動作量情報を補正すると好適である。
【００１６】
この構成によれば、複数のモータのそれぞれが、それぞれの補正パラメータに基づいて補正される。従って、実際に第１モータが停止する規制端点における基準動作量情報と、理想的な規制端点の基準動作量情報を示す基準停止位置情報とは、基準停止位置において動作する全てのモータにおいて完全に一致することになる。その結果、第１モータに生じる過負荷やハンチングが大きく抑制されるとともに、複数のモータの協調動作により決定される移動対象物の移動軌跡も理想に近い軌跡となる。
【００１７】
また、本発明に係るモータ制御装置において、前記補正パラメータは、前記移動対象物を前記第２方向へ移動させる際の前記基準停止位置から各モータの動作完了位置までの動作量を、前記停止位置情報に基づく前記規制端点の実際の位置から各モータの動作完了位置までの動作量に比例配分することによって演算されると好適である。
【００１８】
比例配分は、演算負荷の軽い線形演算である。また、第２方向への移動に伴って穏やかに補正されるので、駆動対象の移動軌跡に与える影響も少ない。
【図面の簡単な説明】
【００１９】
【図１】福祉車両の座席の移動の態様を示す模式図
【図２】モータ制御装置の構成例を模式的に示すブロック図
【図３】同期制御の理想的な関係を模式的に示す状態図
【図４】規制端点における同期制御の誤差を示す状態図
【図５】規制端点におけるプラス方向の誤差の補正例を示す状態図
【図６】規制端点におけるマイナス方向の誤差の補正例を示す状態図
【図７】規制端点におけるプラス方向の誤差の第２の補正例を示す状態図
【図８】規制端点におけるプラス方向の誤差の第３の補正例を示す状態図
【図９】規制端点におけるプラス方向の誤差の第４の補正例を示す状態図
【図１０】規制端点におけるプラス方向の誤差の第５の補正例を示す状態図
【図１１】振り出し及び格納を繰り返す際のパラメータ設定例を示す遷移図
【図１２】各モータ制御のフラグの一例を示す説明図
【図１３】メインプログラムのフローチャート
【図１４】メインプログラム中の振り出し処理のフローチャート
【図１５】メインプログラム中の格納処理のフローチャート
【図１６】モータ制御装置の他の構成例を模式的に示すブロック図
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。本実施形態では、図１に示すように、福祉車両２０における座席３０を車外側へ振り出し又は車内側へ格納するために駆動される複数のモータを同期制御する場合を例として説明する。座席３０は、本発明の移動対象物に相当する。また、振り出し方向への移動は、本発明の第１方向への移動に相当し、格納方向への移動は、本発明の第２方向への移動に相当する。本実施形態においては、座席３０は、回転方向Ａ、前後スライド方向Ｂ、内外スライド方向Ｃの３方向に移動時間の一部又は全てを重複して移動する。これにより、座席３０は、ドアや車体等に当ることのない適切な移動軌跡Ｅを通って車外側へ振出し又は車内側へ格納される。
【００２１】
このように座席３０を上記３方向のそれぞれについて適切な時期に適切な速度で移動させるため、本実施形態においては、図２に示すように、３方向それぞれに座席３０を移動させるために第１モータ１、第２モータ２、第３モータ３の３個のモータが備えられる。即ち、第１モータ１は回転方向Ａ、第２モータ２は前後スライド方向Ｂ、第３モータ３は内外スライド方向Ｃの座席３０の移動をそれぞれ担当し、図示しないアーム等の機構部品を介して座席３０を移動させる。尚、本実施形態においては、３つのモータを有する場合を例示しているが、座席３０のシートバックの傾斜角度を変更するリクライニング用モータなどの他のモータを含めて４つ以上のモータを有していてもよい。当然ながら、ドアの開口が大きい車両などでは、例えば、回転方向Ａと内外スライド方向Ｃとの２つのモータのみを有して構成されていてもよい。
【００２２】
第１モータ１、第２モータ２、第３モータ３は、座席３０の振出し又は格納の際に、動作する動作量（例えば回転量）がそれぞれ異なり、その間の動作速度や荷重もそれぞれに異なる。即ち、これら第１モータ１、第２モータ２、第３モータ３は、それぞれに負荷が異なっており、それに応じてそれぞれに特性が異なるモータが用いられている。また、本実施形態においては、図３に示すように、これら３つのモータは、動作開始及び動作完了の時刻も異なっている。つまり、３つのモータが動作時間の一部又は全てを重複して動作することによって、座席３０は車両２０に格納された状態の一方の端点（完全格納端、回転格納端）ｐ０から、車外に振り出された状態の他方の端点（完全振り出し端、内外スライド振り出し端）ｐ４まで移動する。
【００２３】
具体的には、初めに完全格納端ｐ０において第１モータ１が動作を開始し、座席３０は図１に示すＡ方向へ沿って車外側へと回転し始める。座席３０の移動量が第１中間点（前後スライド格納端）ｐ１に達すると、第２モータ２も動作を開始し、座席３０は回転しながら前後移動する（図１に示すＡ及びＢ）。第１中間点ｐ１は、回転と前後スライドとの２つの動作が同期を開始する同期開始点ｐｓｙである。尚、後述するように、座席３０が振り出し状態から格納される際には、同期開始点ｐｓｙは、２つのモータの動作が同期を完了する点となる。従って、第１モータ１及び第２モータ２においては、本発明の「動作完了位置」に相当すると考えることもできる。特に、第１モータ１は、格納時にはさらに動作を継続するが、完全格納端ｐ０だけでなく、同期開始点ｐｓｙも「動作完了位置」に相当する。
【００２４】
座席３０の移動量が第２中間点（内外スライド格納端）ｐ２に達すると、第３モータ３も動作を開始する。座席３０は、回転を伴って、前後方向及び内外方向へ移動する（図１に示すＡ、Ｂ、Ｃ）。座席３０が第３中間点（理想回転振り出し端（基準停止位置）、前後スライド振り出し端）ｐ３に達すると、第１モータ１及び第２モータ２が停止する。但し、第１モータ１については理想的には、第３中間点ｐ３で停止するように設計されるものの、実際には機械的な規制手段によって第３中間点ｐ３の近傍の規制端点（回転振り出し端）ｓｐで停止する（図４参照）。第３中間点ｐ３及び規制端点ｓｐを過ぎると、第３モータ３のみが動作を継続し、完全振り出し端ｐ４に達した時点で停止する。格納時には、基本的に上述した振り出し動作と逆の順序で動作する。
【００２５】
上述したように、格納時に第２モータ２及び第３モータ３が動作を完了する位置では、複数のモータが動作している。従って、格納時における第２モータ２及び第３モータ３の動作完了位置は、第２モータ２及び第３モータ３の「同期動作完了位置」と言うこともできる。格納時に、第１中間点ｐ１（同期開始点ｐｓｙ）を過ぎた後、単独で動作する第１モータ１は、第１中間点ｐ１において他のモータ（本例では第２モータ２）との同期動作を完了する。従って、格納時における第１中間点ｐ１（同期開始点ｐｓｙ）は、第１モータ１の「同期動作完了位置」ということもできる。
【００２６】
モータ制御装置１０は、このように３つのモータを動作時間の一部又は全てを重複して駆動制御する。この際、３つのモータを個別に制御すると座席３０の動きに統一感がなくなるため、３つのモータは同期制御される。円滑に同期制御を実行するため、モータ制御装置１０は、３つのモータの単位動作量（単位回転量）が共通する基準動作量情報に基づいて制御を実行する。上述した完全格納端ｐ０から完全振り出し端ｐ４までの各点は、基準動作量を用いた基準位置Ｒとして定義される。以下、基準動作量情報について説明する。
【００２７】
図２に示すように、第１モータ１、第２モータ２、第３モータ３には、回転量に応じてパルス信号を出力する第１回転センサ２１、第２回転センサ２２、第３回転センサ２３が備えられている。モータ制御装置１０に設けられた実動作量取得部４は、第１回転センサ２１、第２回転センサ２２、第３回転センサ２３から出力されたパルス信号を受け取り、そのパルス数を積算して実パルス数情報（実動作量情報）Ｍ１、Ｍ２、Ｍ３を取得する。実パルス数情報が示す値（実パルス数）は、本実施形態では、座席３０の振り出し時における各モータ１〜３の動作開始から現時点までの実際の動作量（実動作量）を表している。図３に示すように、本実施形態では、説明を簡単にするために、振り出し時における第１モータ１の動作の始端から終端までの実パルス数が４００パルス、第２モータ２の実パルス数が１５０パルス、第３モータ３の実パルス数が１００パルスとする。
【００２８】
各実動作量情報Ｍ１、Ｍ２、Ｍ３は、負荷や特性が異なる各モータの固有の値であるから、そのままでは同期制御が煩雑となる。そこで、モータ制御装置１０に設けられた変換部５において、各実動作量情報Ｍ１、Ｍ２、Ｍ３は、単位動作量が各モータに共通する値である基準動作量情報に変換される。ここで、単位動作量とは、単位時間当たりの各モータの動作量である。３つのモータ１〜３は、同期制御されるので、単位動作量が共通する基準動作量情報を用いると同期の良否判定も容易となり制御の負荷が軽減される。変換部５は、変換パラメータに基づいて各実動作量情報を基準動作量情報に変換する。本実施形態において、変換パラメータは変換係数ａ１，ａ２，ａ３及びオフセット値ｃ１，ｃ２，ｃ３である。
【００２９】
まず、変換係数ａ１，ａ２，ａ３について説明する。変換部５は、各モータ１〜３の実動作量情報Ｍ１、Ｍ２、Ｍ３にそれぞれ所定の変換係数ａ１，ａ２，ａ３を乗じて、各実動作量情報を基準動作量情報に変換する。本実施形態では、第１モータ１の変換係数ａ１は１であり、第２モータ２の変換係数ａ２は２であり、第３モータ３の変換係数ａ３は４である。変換係数ａ１〜ａ３は、制御対象の各モータ１〜３の理論パルス数（理論動作量）の比に基づいて定めた定数である。
【００３０】
図３に示すように、完全格納端ｐ０から完全振り出し端ｐ４までの各点は、基準動作量を用いた基準位置Ｒとして以下のように表される。
完全格納端    ｐ０：Ｒ（ｐ０）＝    ０
第１中間点    ｐ１：Ｒ（ｐ１）＝１００
第２中間点    ｐ２：Ｒ（ｐ２）＝２００
第３中間点    ｐ３：Ｒ（ｐ３）＝４００
完全振り出し端ｐ４：Ｒ（ｐ４）＝６００
【００３１】
また、各モータは、基準位置Ｒに基づけば以下の範囲で動作することになる。
第１モータ  ：  Ｒ（ｐ０）〜Ｒ（ｐ３）＝    ０〜４００
第２モータ  ：  Ｒ（ｐ１）〜Ｒ（ｐ３）＝１００〜４００
第３モータ  ：  Ｒ（ｐ２）〜Ｒ（ｐ４）＝２００〜６００
【００３２】
各モータの実動作量情報Ｍ１〜Ｍ３の値域は、０から始まるので、各モータの実動作量情報Ｍ１〜Ｍ３をそれぞれ基準動作量情報Ｒ１〜Ｒ３に変換する際には、所定のオフセット値ｃ１〜ｃ３が加算される。上記、各モータの基準位置Ｒにおける動作範囲より、第１モータ１のオフセット値ｃ１はゼロ、第２モータ２のオフセット値ｃ２は１００、第３モータ３のオフセット値ｃ３は２００である。また、上述したように、第１モータ１の変換係数ａ１は１であり、第２モータ２の変換係数ａ２は２であり、第３モータ３の変換係数ａ３は４である。本実施形態では、後述するように同期制御に用いる基準動作量情報Ｒ１〜Ｒ３を得るまでに、補正処理が施される。従って、ここでは、実動作量情報Ｍ１〜Ｍ３から補正前の基準動作量情報ｒ１〜ｒ３への変換式を示す。
第１モータの基準動作量情報ｒ１＝Ｍ１・ａ１＋ｃ１＝    Ｍ１
第２モータの基準動作量情報ｒ２＝Ｍ２・ａ２＋ｃ２＝２・Ｍ２＋１００
第３モータの基準動作量情報ｒ３＝Ｍ３・ａ３＋ｃ３＝４・Ｍ３＋２００
【００３３】
モータ制御装置１０は、例えば、マイクロコンピュータなどのプロセッサを中核としたＥＣＵ（electronic control unit）として構成される。ＥＣＵには、マイクロコンピュータの他、プログラムメモリやパラメータメモリ、ワークメモリなどの各種メモリや、周辺機器とのインターフェースとなる電子部品等が搭載されている。マイクロコンピュータのＣＰＵコアは、命令レジスタや命令デコーダ、種々の演算の実行主体となるＡＬＵ(arithmetic logic unit)、フラグレジスタ、汎用レジスタ、割り込みコントローラなどを有して構成される。当然ながら、プログラムメモリやワークメモリも、ＣＰＵコアなどと共に１つのプロセッサに内蔵されていてもよい。図２に示す変換部５や補正部８の演算器５１〜５３、８１〜８３などは、例えばＡＬＵによって構成される。実動作量取得部４のレジスタ４１〜４３、変換部５や補正部８のパラメータレジスタ５４〜５９、８４〜８９などは、例えば汎用レジスタによって構成される。制御部９など図２における他の機能部についても、上述したＣＰＵコアの各部を用いて構成される。当業者であれば容易に理解可能であろうから詳細な説明は省略する。上述した、変換係数ａ１〜ａ３やオフセット値ｃ１〜ｃ３は、プログラムメモリやパラメータメモリなどによって構成される記憶部に記憶されており、汎用レジスタなどに読み出されて利用される。当然ながら、プログラムの進行に伴って、新たなデータに更新されてもよい。
【００３４】
モータ制御装置１０の制御部９は、基準動作量情報Ｒ１〜Ｒ３（ｒ１〜ｒ３）に基づいて、モータ１〜３をＰＷＭ（pulse width modulation ）制御などによって同期制御する。例えば、図３に示すように任意の点ｐｎにおける同期制御を例として説明する。ここでは、任意の点ｐｎにおける基準位置Ｒ（ｐｎ）は３００である。モータ１〜３が理想的に動作していれば、各モータの基準動作量情報Ｒ１〜Ｒ３（ｒ１〜ｒ３）は全て３００である。しかし、実際には、負荷の増減等により互いに異なる値となることがある。ここで、Ｒ１＝２９８、Ｒ２＝３０７、Ｒ３＝３０４であったとする。動作中のモータの平均基準動作量Ｒａｖ（＝（Ｒ１＋Ｒ２＋Ｒ３）／３）は３０３である。第１モータ１は遅れており、第２モータ２及び第３モータ３は進んでいることになる。そこで、制御部９は、動作中のモータの同期ずれを修正して座席３０が所望の軌跡に沿って移動するように制御する。具体的には、第１モータ１のＰＷＭ制御のパルス幅を広げて速度を上げさせたり、第２モータ２及び第３モータ３のＰＷＭ制御のパルス幅を狭めて速度を下げさせたりする。この際、制御部９は頻繁な速度変化によるハンチングを抑制するために、平均基準動作量Ｒａｖとの偏差が所定の許容量よりも小さいモータに関しては修正を行わないと好適である。例えば、この許容量が２である場合には、基準動作量が３０１〜３０５の許容範囲にあるモータについてはパルス幅を修正しないようにする。本例においては第３モータ３についてはパルス幅が修正されないことになる。
【００３５】
ところで、本実施形態においては、座席３０をＡ方向に回転させる第１モータ１は、上述したように、理想的には、第３中間点ｐ３（基準停止位置）で停止するように設計されるものの、実際には機械的な規制手段によって第３中間点ｐ３の近傍の規制端点ｓｐで停止する。福祉車両では、振り出し時に歯車等の機構部品の機械的な公差やバックラッシュにより座席３０が振動すると搭乗者に違和感や不安感を抱かせる可能性がある。このため、規制手段により機械的に規制される位置まで第１モータ１が動作させられる。第１モータ１が停止する際の誤差、つまり、第３中間点ｐ３と規制端点ｓｐとの誤差は回転方向Ａにおける角度でおおよそ±２度程度である。本実施形態では、図４に示すように、この誤差は基準位置Ｒ（基準動作量情報）に換算して±１２程度となる。
【００３６】
この第３中間点ｐ３においては、振り出し時には第２モータ２が停止される。例えば、第１モータ１が第３中間点ｐ３よりも手前の３８８（＝４００−１２）で停止するときには、回転（Ａ）が終了した後にも前後方向移動（Ｂ）が継続する。第１モータ１が４１２（＝４００＋１２）で停止するときには、前後方向移動（Ｂ）が終了した後も回転（Ａ）が継続する。特に、回転（Ａ）が終了した後に前後方向移動（Ｂ）が継続すると、座席３０が車両の外側を向いていることから搭乗者は回転を伴わずに左右方向に横移動することとなり、違和感を覚える場合がある。但し、回転（Ａ）に伴う慣性力が働いているため、後述する格納時と比べると違和感は少ない。
【００３７】
一方、格納時には、基準動作量情報（基準位置Ｒ）に基づいて同期制御され、第３中間点ｐ３において第１モータ１及び第２モータ２が共に動作を開始する。第１モータ１の動作開始時において、第２モータ２及び第３モータ３の基準動作量情報ｒ２及びｒ３はほぼ４００近傍となるように同期制御されているから、平均基準動作量情報Ｒａｖと第１モータ１の基準動作量情報ｒ１との偏差は非常に大きくなる。その結果、制御部９は、第１モータ１のＰＷＭ制御のデューティーを大きく変更することとなる。特に、第１モータ１が４１２（＝４００＋１２）で停止していたときには、第１モータ１が動作を開始した時点で格納方向へ向かって約１２の偏差を生じて遅れていることとなる。第１モータ１は、図４に示すように一点鎖線から点線まで偏差を縮めるべく大きく加速され、過負荷となる可能性がある。また、第１モータ１が、３８８（＝４００−１２）で停止していた時には、第１モータ１が動作を開始した時点で格納方向へ向かって約１２の偏差を生じて進んでいることとなる。従って、図４に示す二点鎖線から点線までの偏差を縮めるべく、第１モータ１の加速が遅れることとなる。この時、座席３０が車両の外側を向いていることから搭乗者は、ほとんど回転を伴うことなく左右方向に横移動することとなる。この時には振り出し時とは異なり、回転（Ａ）の慣性力がないので、振り出し時よりも違和感を覚えやすい。
【００３８】
そこで、モータ制御装置１０は、少なくとも第１モータ１の基準動作量情報ｒ１を補正する。具体的には、規制端点ｓｐにおける基準動作量情報（停止位置情報）の値（３８８や４１２など。）が、第３中間点（基準停止位置情報）ｐ３の値（４００）となるように基準動作量情報を補正する。この補正は、図２に示す補正部８において実施される。補正後の第１モータ１の基準動作量情報はＲ１である。第２モータ２及び第３モータ３の基準動作量情報が補正された場合には、それぞれ、Ｒ２、Ｒ３となる。
【００３９】
図５は、第１モータ１の基準動作量情報ｒ１のみを補正して基準動作量情報Ｒ１とした場合の状態図の一例を示す。図５では、規制端点ｓｐにおけるプラス方向（完全振り出し端ｐ４側）への誤差の補正例を示す。この状態図は、座席３０が一度振り出され、その際に取得された規制端点ｓｐにおける基準動作量情報ｒ１（停止位置情報）を用いて補正された基準動作量情報Ｒ１に基づいて座席３０が格納される際に適用されると好適である。図５に示す例では、第１モータ１は振り出し時に基準動作量情報ｒ１＝４１２で停止したとする（停止位置情報）。この値が基準停止位置情報の値に相当する４００であれば、格納時に第２モータ２と共に動作を開始することが可能である。
【００４０】
そこで、補正前の基準動作量情報ｒ１に補正係数（補正パラメータ）ｂ１＝０．９６を乗じて、補正後の基準動作量情報Ｒ１とする。補正係数ｂ１は、下記式により算出される。ここでは、前後スライド格納端ｐ１から始まる前後スライドと回転との同期タイミングを維持するために、基準位置Ｒ＝１００（同期開始点ｐｓｙ、第１中間点ｐ１）以降で基準動作量情報ｒ１を補正する。つまり、補正係数ｂ１は、規制端点ｓｐの理論的な位置である基準停止位置（第３中間点ｐ３）から同期開始点ｐｓｙ（第１中間点ｐ１）までの理論的な動作量を、停止位置情報に基づく規制端点ｓｐの実際の位置から同期開始点ｐｓｙ（第１中間点ｐ１）までの実際の動作量に比例配分することによって演算される。上述したように、第１モータ１の場合、同期開始点ｐｓｙ（第１中間点ｐ１）は、格納時において同期動作が完了する点である。従って、同期開始点ｐｓｙ（第１中間点ｐ１）は、第１モータ１の動作完了位置（同期動作完了位置）に相当する。
【００４１】
ｂ１＝（基準停止位置−第１中間点ｐ１）／（規制端点−第１中間点ｐ１）
＝（Ｒ（ｐ３）−Ｒ（ｐ１））／（Ｒ（ｓｐ）−Ｒ（ｐ１））
＝  ３００／３１２  ≒  ０．９６
【００４２】
実際の回転振り出し端である規制端点ｓｐは、停止検出部２５により検出される。例えば、停止検出部２５は、第１モータ１に設けられた電流センサ２４からモータ電流値や過電流検出信号を受け取る。モータ電流値が所定のしきい値よりも大きい時や、過電流検出信号が有効状態であるとき、停止検出部２５は第１モータ１が規制手段によって回転を規制されて停止状態となっていることを検出する。あるいは、停止検出部２５は、回転センサ２１から受け取るパルス信号が所定時間変化しない場合に、第１モータ１が停止状態となっていることを検出してもよい。
【００４３】
停止位置情報取得部６は、停止検出部２５から第１モータ１が停止状態であるとの検出結果を受け取ると、その時点における第１モータ１の基準動作量情報ｒ１（Ｒ１）を取得する。この時点において補正部８における補正係数（補正パラメータ）は初期値の１であるので、補正前後の基準動作量情報ｒ１及びＲ１は同じ値であり、実際に制御部９において使用される基準動作量情報ｒ１（Ｒ１）の値が取得される。取得された値は、実際の回転振り出し端（規制端点）ｓｐにおける基準動作量情報ｒ１（Ｒ１）の値である。一方、理想回転振り出し端ｐ３及び同期開始点ｐｓｙ（第１中間点ｐ１）における基準動作量情報ｒ１（Ｒ１）の値は既知であるから、これらの値に基づいて、補正パラメータ演算部７は上記のように補正係数ｂ１を演算する。演算された補正係数ｂ１は、補正部８のレジスタ８４に設定される。
【００４４】
第３中間点ｐ３及び規制端点ｓｐを過ぎると、第３モータ３のみが動作を継続し、完全振り出し端ｐ４に達した時点で停止する。続いて、完全振り出し端ｐ４（又は、規制端点ｓｐよりも完全振り出し端ｐ４側）から格納方向へ座席３０が移動される場合について説明する。ここでは、動作対象のモータは第３モータ３のみであるから、第３モータ３の基準動作量情報ｒ３（Ｒ３）が平均基準動作量Ｒａｖとなる。制御部９は、第３モータ３の基準動作量情報ｒ３（Ｒ３）に基づいて第３モータ３を制御する。また、第３モータ３に関しては、補正係数ｂ３が設定されておらず初期状態のままであるから、補正前後の基準動作量情報ｒ３及びＲ３は同値である。
【００４５】
平均基準動作量Ｒａｖ（＝基準動作量情報ｒ３（Ｒ３））が４００に達すると、第１モータ１及び第２モータ２の動作が開始される。第２モータ２は、振り出しの際に基準動作量情報ｒ２（Ｒ２）が４００で停止している。また、第２モータ２に関しては、補正係数ｂ２が設定されておらず初期状態のままであるから、補正前後の基準動作量情報ｒ２及びＲ２は同値である。第１モータ１は、振り出しの際に、基準動作量情報ｒ１が４１２である規制端点ｓｐにおいて停止している。しかし、上述したように補正係数ｂ１が設定されていることから、補正後の基準動作量情報Ｒ１は、同期開始点ｐｓｙの基準位置Ｒ（ｐｓｙ）をＳＹとして、以下のように演算される。
ｉｆ  ｒ１＜ＳＹ：
Ｒ１＝ＳＹ＋（ｒ１−ＳＹ）・ｂ１
ｅｌｓｅ：
Ｒ１＝  ｒ１  ＝  Ｍ１・ａ１＋ｃ１
【００４６】
規制端点ｓｐにおける補正後の基準動作量情報Ｒ１（ｓｐ）は以下に示すように４００となる。
Ｒ１（ｓｐ）＝１００＋（４１２−１００）×０．９６≒４００
【００４７】
このように、第３モータ３の基準動作量情報ｒ３（Ｒ３）が４００の時に起動される第１モータ１及び第２モータ２の基準動作量情報Ｒ１及びｒ２（Ｒ２）は、共に４００である。従って、動作対象の３つのモータの平均基準動作量Ｒａｖは４００となり、何れのモータも誤差を生じない。従って、各モータはＰＷＭ制御のデューティーに大きな変動を生じることもなく、また、加減速を繰り返すようなハンチングを生じることもなく、良好に動作する。当然ながら、搭乗者に対して違和感を生じさせることもない。
【００４８】
尚、本実施形態では、第１モータ１の基準動作量情報ｒ１の演算に際しては、上述したようにオフセット値ｃ１＝０である。オフセット値ｃ１≠０の場合には、補正後の基準動作量情報Ｒ１は以下のように求められる。
ｉｆ  ｒ１＜ＳＹ：
Ｒ１＝ＳＹ＋（ｒ１−ＳＹ−ｃ１）・ｂ１＋ｃ１
Ｒ１＝ＳＹ＋（Ｍ１・ａ１＋ｃ１−ＳＹ−ｃ１）・ｂ１＋ｃ１
Ｒ１＝ＳＹ＋（Ｍ１・ａ１−ＳＹ）・ｂ１＋ｃ１
ｅｌｓｅ：
Ｒ１＝  ｒ１  ＝  Ｍ１・ａ１＋ｃ１
【００４９】
以降、上述したように平均基準動作量Ｒａｖに基づいて同期制御が実行され、第３モータ３の基準動作量情報ｒ３（Ｒ３）が２００に達すると、第３モータ３が停止される。この際、理想的には平均基準動作量Ｒａｖも２００であり、第２モータ２の基準動作量情報ｒ２（Ｒ２）も、第１モータ１の基準動作量情報Ｒ１も２００である。但し、第１モータ１の基準動作量情報Ｒ１は補正後の値であるから、振り出し時の基準動作量情報ｒ１に換算すると、
２０４＝１００＋（２００−１００）／０．９６
である。従って、図５に一点鎖線で示すように、第２中間点ｐ２における各モータの相対位置が、振り出し時とは若干異なるものとなる。座席３０の移動軌跡Ｅは振り出し時とは若干異なるが、搭乗者にはほとんど違和感を生じさせることはない。
【００５０】
一方、第１中間点ｐ１（同期開始点ｐｓｙ）を基準として補正を行っているので、第１中間点ｐ１における第１モータ１と第２モータ２との相対位置は、振り出し時と同様となる。つまり、第２モータ２の基準動作量情報ｒ２（Ｒ２）が１００に達すると、第２モータ２が停止される。この際、第１モータ１の基準動作量情報Ｒ１も１００であるから、座席３０の移動軌跡Ｅは振り出し時と同様となる。格納時において第１モータ１の実動作量Ｍ１＝１００となるときには、補正が完了しており、第１モータ１と第２モータ２とは同期をとって第１中間点ｐ１に達することとなる。この後も、さらに第１モータ１は動作を継続する。第１モータ１は、第１モータ１の基準動作量情報Ｒ１が０となると、つまり完全格納端ｐ０において停止される。補正前後の基準動作量ｒ１及びＲ１の値は共に０であるから、振り出し時と同じ完全格納端ｐ０において第１モータ１は停止される。
【００５１】
このように、振り出し時において検出された規制端点ｓｐの基準動作量情報（停止位置情報）に基づいて求められた補正係数ｂ１により第１モータ１の基準動作量情報ｒ１が補正される。そして、格納時には補正後の基準動作量情報Ｒ１が用いられることによって座席３０が円滑に移動される。尚、完全格納端ｐ０（又は、規制端点ｓｐよりも完全格納端ｐ０側）から座席３０が再度、振り出される際にも、第1モータ１は補正係数ｂ１を用いて補正された後の基準動作量情報Ｒ１に基づいて制御される。つまり、図５に示した状態図に従って３つのモータが制御される。補正係数ｂ１を求めて格納された後の移動時には、理想的な移動軌跡とは若干異なるものの、振り出し時及び格納時の座席３０の起動軌跡Ｅは同一となる。
【００５２】
図６は、図５と同様に、第１モータ１の基準動作量情報ｒ１のみを補正して基準動作量情報Ｒ１とした場合の状態図の一例である。図６では、規制端点ｓｐにおけるマイナス方向（完全格納端ｐ０側）への誤差を補正する例を示している。動作の流れについては、上述した通りであるので、説明を省略する。図６に示す例では、第１モータ１は振り出し時に基準動作量情報ｒ１＝３８８で停止したとする（停止位置情報）。この値が４００であれば、格納時に第２モータ２と共に動作を開始することが可能である。そこで、補正前の基準動作量情報ｒ１に補正係数ｂ１＝１．０４を乗じて、補正後の基準動作量情報Ｒ１とする。補正係数ｂ１は、下記式により算出される。
【００５３】
ｂ１＝（基準停止位置−第１中間点ｐ１）／（規制端点−第１中間点ｐ１）
＝（Ｒ（ｐ３）−Ｒ（ｐ１））／（Ｒ（ｓｐ）−Ｒ（ｐ１））
＝  ３００／２８８  ≒  １．０４
【００５４】
従って、格納時において、規制端点ｓｐにおける補正後の基準動作量情報Ｒ１（ｓｐ）は以下に示すように４００となる。
Ｒ１（ｓｐ）＝ＳＹ＋（ｒ１−ＳＹ）・ｂ１
＝１００＋（３８８−１００）×１．０４≒４００
【００５５】
第１中間点ｐ１（同期開始点ｐｓｙ）を基準として補正を行っているので、図６に示すように、第１中間点ｐ１における第１モータ１と第２モータ２との相対位置は、振り出し時と同様となる。つまり、第２モータ２の基準動作量情報ｒ２（Ｒ２）が１００に達すると、第２モータ２が停止される。この際、第１モータ１の基準動作量情報Ｒ１も１００であるから、座席３０の移動軌跡Ｅは振り出し時と同様となる。そして、第１モータ１は、第１モータ１の基準動作量情報Ｒ１が０となると、つまり完全格納端ｐ０において停止される。補正前後の基準動作量ｒ１及びＲ１の値は共に０であるから、振り出し時と同じ完全格納端ｐ０において第１モータ１は停止される。尚、完全格納端ｐ０（又は、規制端点ｓｐよりも完全格納端ｐ０側）から座席３０が再度、振り出される際にも、第1モータ１は補正係数ｂ１を用いて補正された後の基準動作量情報Ｒ１に基づいて制御される。つまり、図５と同様に図６に示した状態図に従って３つのモータが制御される。
【００５６】
このように、規制端点ｓｐの誤差の方向に拘わらず、振り出し時に検出された規制端点ｓｐの基準動作量情報（停止位置情報）に基づいて設定された補正係数（補正パラメータ）が用いられる。これにより、誤差が検出される振り出し時に続く格納時を含め、それ以降は座席３０円滑に移動させることが可能となる。つまり、この格納後には、振り出し及び格納において同じ移動軌跡Ｅで座席３０が移動されることになる。
【００５７】
補正係数ｂ１を演算する対象となる第１モータ１は、本発明の基準モータに相当する。基準モータは、動作開始及び動作完了を含み、理論的には基準停止位置（第３中間点ｐ３）において動作するモータのうちの少なくとも１つである。第１モータ１は、振り出し時には、理論的には基準停止位置に相当する規制端点ｓｐにおいて動作完了し、格納時には基準停止位置である第３中間点ｐ３で動作を開始するモータであるから、基準モータとなる要件を充分に満たす。また、上記例においては、基準モータとして第１モータ１のみを適用する場合を例示したが、他のモータも基準モータとして適用することができる。図７は、第１モータ１及び第３モータ３を基準モータとして用い、第１モータ１及び第３モータ３の補正係数ｂ１，ｂ３をそれぞれ求めて、補正後の基準動作量情報Ｒ１，Ｒ３を得る例を示している。
【００５８】
第３モータ３の補正係数ｂ３は、Ｒ（ｐ３）：基準停止位置、Ｒ（ｓｐ）：回転振り出し端（規制端点）、Ｒ（ｐ２）：内外スライド格納端として、以下のように求められる。つまり、補正係数ｂ３は、基準停止位置（第３中間点ｐ３）から格納時の第３モータ３の動作完了位置（第２中間点ｐ２）までの理論的な動作量を、停止位置情報に基づく規制端点ｓｐの実際の位置から第３モータ３の動作完了位置までの実際の動作量に比例配分することによって演算される。第３モータ３は同期開始位置ｐｓｙよりも振り出し側でのみ動作するので、補正係数ｂ３の演算に際して同期開始位置ｐｓｙを考慮する必要はない。
ｂ３＝（Ｒ（ｐ３）−Ｒ（ｐ２））／（Ｒ（ｓｐ）−Ｒ（ｐ２））
＝（４００−２００）／（４１２−２００）
＝  ２００／２１２  ≒  ０．９４
【００５９】
同期開始位置ｐｓｙを考慮する必要のない補正後の基準動作量情報Ｒ３は、Ｍ３：実動作量情報、ｒ３：補正前の基準動作量情報、ａ３：変換係数、ｃ３：オフセット値として、以下のように求めることができる。
Ｒ３＝（ｒ３−ｃ３）・ｂ３＋ｃ３
＝（Ｍ３・ａ３＋ｃ３−ｃ３）・ｂ３＋ｃ３
＝  Ｍ３・ａ３・ｂ３＋ｃ３
【００６０】
振り出し時に完全振り出し端ｐ４で停止した第３モータ３の基準動作量情報ｒ３は、図３〜図６に示すように６００であり、その際の実動作量情報Ｍ３は１００である。格納時に、上記補正係数ｂ３を用いて基準動作量情報Ｒ３を求めると、下記のように５７６となる。
Ｒ３（ｐ４）  ＝  １００×４×０．９４＋２００  ＝  ５７６
【００６１】
格納動作の開始時、つまり、完全振り出し端ｐ４においては、動作対象のモータは第３モータ３のみであるから、第３モータ３の基準動作量情報ｒ３（Ｒ３）が平均基準動作量Ｒａｖとなる。従って、基準動作量情報Ｒ３と平均基準動作量Ｒａｖとの誤差は生じず、第３モータ３は円滑に制御される。基準動作量情報Ｒ３の値が４００に達すると、上述したように第１モータ１及び第２モータ２が起動される。以降は上述した通りであるので、説明を省略する。
【００６２】
座席３０が格納され、再度振り出される際には、第３モータ３は補正後の基準動作量情報Ｒ３の値が６００となるまで動作する。従って、理想的な内外スライドの振り出し端よりも多く振り出されることになるが、大きな差異ではなく搭乗者に違和感を生じさせるものでもない。この後は、理想的な移動軌跡とは若干異なるものの、振り出し時及び格納時の座席３０の起動軌跡Ｅは同一となる。
【００６３】
また、当然ながら、第１モータ１及び第２モータ２を基準モータとして用い、第１モータ１及び第２モータ２の補正係数ｂ１，ｂ２をそれぞれ求めて、補正後の基準動作量情報Ｒ１，Ｒ２を得るようにしてもよい。図８に、その場合の状態図を例示する。
【００６４】
第２モータ２の補正係数ｂ２は、Ｒ（ｐ３）：基準停止位置、Ｒ（ｓｐ）：回転振り出し端（規制端点）、Ｒ（ｐ１）：前後スライド格納端として、以下のように求められる。つまり、補正係数ｂ２は、基準停止位置（第３中間点ｐ３）から格納時の第２モータ２の動作完了位置（第１中間点ｐ１）までの理論的な動作量を、停止位置情報に基づく規制端点ｓｐの実際の位置から第２モータ２の動作完了位置までの実際の動作量に比例配分することによって演算される。第３モータ３と同様に、第２モータ２も同期開始位置ｐｓｙよりも振り出し側でのみ動作するので、補正係数ｂ２の演算に際して同期開始位置ｐｓｙを考慮する必要はない。
ｂ２＝（Ｒ（ｐ３）−Ｒ（ｐ１））／（Ｒ（ｓｐ）−Ｒ（ｐ１））
＝（４００−１００）／（４１２−１００）
＝  ３００／３１２  ≒  ０．９６
【００６５】
また、第３モータ３と同様に、同期開始位置ｐｓｙを考慮する必要のない補正後の基準動作量情報Ｒ２は、Ｍ２：実動作量情報、ｒ２：補正前の基準動作量情報、ａ２：変換係数、ｃ２：オフセット値として、以下のように求めることができる。
Ｒ２＝（ｒ２−ｃ２）・ｂ２＋ｃ２
＝（Ｍ２・ａ２＋ｃ２−ｃ２）・ｂ２＋ｃ２
＝  Ｍ２・ａ２・ｂ２＋ｃ２
【００６６】
振り出し時に第３中間点（前後スライド振り出し端）ｐ３で停止した第２モータ２の基準動作量情報ｒ２は、図３〜図７に示すように４００であり、その際の実動作量情報Ｍ２は１５０である。格納時に、上記補正係数ｂ２を用いて基準動作量情報Ｒ２を求めると、下記のように３８８となる。
Ｒ２（ｐ３）  ＝  １５０×２×０．９６＋１００  ＝  ３８８
【００６７】
上述したように、格納時には、第３モータ３の基準動作量情報ｒ３（Ｒ３）が４００となると、第１モータ１及び第２モータ２が動作を開始される。この際、第２モータ２の基準動作量情報Ｒ２が３８８であると、平均基準動作量Ｒａｖとの差が大きくなる。従って、第１モータ１と共に動作を開始する第２モータ２は、格納時には基準動作量情報ｒ２を補正することなく、完全格納後の次の振り出しの際から補正後の基準動作量情報Ｒ２を用いて制御されることが好ましい。この後は、理想的な移動軌跡とは若干異なるものの、振り出し時及び格納時の座席３０の起動軌跡Ｅは同一となる。
【００６８】
さらに、第１モータ１、第２モータ２、第３モータ３の全てをそれぞれ基準モータとして用いてもよい。即ち、第１モータ１、第２モータ２、第３モータ３の補正係数ｂ１，ｂ２，ｂ３をそれぞれ求めて、補正後の基準動作量情報Ｒ１，Ｒ２，Ｒ３を得るようにしてもよい。図９に、その場合の状態図を例示する。この場合においても、第１モータ１と共に動作を開始する第２モータ２は、格納時には基準動作量情報ｒ２を補正することなく、完全格納後の次の振り出しの際から補正後の基準動作量情報Ｒ２を用いて制御されることが好ましい。詳細については、図５〜図８に基づいて説明したことと重複するので、説明を省略する。
【００６９】
尚、第１モータ１、第２モータ２、第３モータ３の補正係数ｂ１，ｂ２，ｂ３をそれぞれ求めて、補正後の基準動作量情報Ｒ１，Ｒ２，Ｒ３を得る場合において、必ずしもそれぞれのモータを基準モータとする必要はない。つまり、第１モータ１を含む複数のモータについて補正係数を求める場合であっても、第１モータ１以外のモータは必ずしも基準モータとして用いられなくてよい。例えば、第１モータ１のみを基準モータとして、全てのモータの補正係数を求めてもよい。図１０にその場合の状態図を例示する。個々のモータに対応して補正係数が演算されていないので、上述した各例に比べて理想的な移動軌跡との差異はやや大きくなる可能性があるが実質的な問題はない。一方、補正係数の演算が１通りで済むので演算負荷は大きく軽減される。尚、この場合においても、第１モータ１と共に動作を開始する第２モータ２は、格納時には基準動作量情報ｒ２を補正することなく、完全格納後の次の振り出しの際から補正後の基準動作量情報Ｒ２を用いて制御されることが好ましい。
【００７０】
また、例えば図９を参照すれば、規制端点ｓｐにおける補正前の基準動作量情報ｒ１〜ｒ３の値と、第３中間点ｐ３における基準位置Ｒ（基準停止位置情報の値）との差は、それぞれ１２である。補正係数ｂ１〜ｂ３の値は異なっているが、補正の基準点である規制端点ｓｐに近い位置では、絶対的な値の差はほとんど発生していない。従って、必ずしも第１モータ１を基準モータとする必要もなく、動作開始御及び動作完了を含めて基準停止位置（第３中間点ｐ３）において動作するモータのうちの１つを基準モータとしてもよい。
【００７１】
以下、図１１に示す振り出し及び格納を繰り返す際のパラメータ設定例を示す遷移図を用いて、複数回にわたる振り出し／格納の繰り返し動作について整理しておく。ここでは、図９に示したように、全てのモータの補正係数がそれぞれ個別に設定される場合を例として説明する。第１回目の動作は、振り出し（第１方向）動作である。この時点において、変換部５のレジスタ５４〜５９には、変換係数ａ１，ａ２，ａ３及びオフセット値ｃ１，ｃ２，ｃ３の初期値がセットされている。また、補正部８のレジスタ８４〜８９には、補正係数ｂ１，ｂ２，ｂ３及びオフセット値ｃ１，ｃ２，ｃ３の初期値がセットされている。値については、上述した通りである。この第１回目の動作の際に、回転方向Ａの誤差が検出され、補正係数ｂ１，ｂ２，ｂ３が演算される。尚、図２、図１１及び後述する図１６において、同期開始位置ｐｓｙの基準位置Ｒの値ＳＹ（＝１００）が格納されるレジスタ等については図示を省略している。
【００７２】
第２回目の動作は、格納（第２方向）動作である。変換部５及び補正部８にセットされている変換係数ａ１，ａ２，ａ３及びオフセット値ｃ１，ｃ２，ｃ３の値には変更はない。補正部８のレジスタ８４には、第１回目の動作時に取得された規制端点ｓｐの基準動作量情報（停止位置情報）に基づいて演算された第１モータ１の補正係数ｂ１がセットされる。第２モータ２及び第３モータ３の補正係数ｂ２，ｂ３は、演算済みではあるが、レジスタ８６及び８８にはセットされていないものとする。第２回目の動作時には、第１モータ１の基準動作量情報Ｒ１が補正された値となり、円滑に座席３０が格納される。
【００７３】
第２回目の動作完了時には、補正部８のレジスタ８６及び８８に第２モータ２及び第３モータ３の補正係数ｂ２，ｂ３がセットされていると好適である。回転方向Ａの誤差は解消され、第３回目の動作（振り出し）、第４回目の動作（格納）の際には、往復において同じ移動軌跡Ｅで座席３０が円滑に移動される。第３回目の動作（振り出し）、第４回目の動作（格納）の際には、各レジスタの記憶内容が維持されている。又は、各レジスタの内容が、好ましくは不揮発性のメモリなどにバックアップされ、各レジスタにロードされてもよい。この時、変換係数ａ１，ａ２，ａ３を補正係数ｂ１，ｂ２，ｂ３によって補正して、補正係数ｂ１，ｂ２，ｂ３を初期値に戻しておいてもよい。第５回目の動作（振り出し）では、変換係数ａ１，ａ２，ａ３が補正係数ｂ１，ｂ２，ｂ３によって補正された場合を例示している。尚、この場合、第１モータ１に関しては、基準位置ＲがＳＹ（＝１００）未満か否かで補正係数が異なることとなる。従って、厳密には２種類の補正係数を用いることとなるが、説明を容易にするために、ここでは基準位置ＲがＳＹ（＝１００）以上の場合の補正係数を図示している。
【００７４】
第５回目の動作（振り出し）時には、一度解消されていた回転方向Ａの誤差が再度出現した場合を例示している。第１回目の動作時には、プラス方向（完全振り出し端側）へ機械的な誤差が生じており、これを制御変数（基準動作量情報）の上で解消させた。ここでは、上記機械的な誤差が解消されたため、制御変数（基準動作量情報）による補正が過剰となり、逆にマイナス方向（完全格納端側）への機械的な誤差が現れた場合を想定する。第１回目の動作と同様に、回転方向Ａの誤差が検出され、補正係数ｂ１，ｂ２，ｂ３が演算される。
【００７５】
第６回目の動作（格納）時には、第２回目の動作時と同様に、補正部８のレジスタ８４に第５回目に取得された誤差に基づいて演算された第１モータ１の補正係数ｂ１がセットされる。第６回目の動作時には、第１モータ１の基準動作量情報Ｒ１が補正された値となり、円滑に座席３０が格納される。
【００７６】
以下、図１２の説明図、図１３〜図１５のフローチャートも利用して、３つのモータを同期制御して座席３０を移動させる際の手順について説明する。この手順は、例えば、モータ制御装置１０の中核となるマイクロコンピュータなどにより実行されるプログラムとして実現されると好適である。図１２は、マイクロコンピュータのフラグレジスタなどに構成される各モータの動作状態を規定するフラグの設定を示している。各モータに対して、駆動制御されるか（フラグ＝ＯＮ）、停止制御されるか（フラグ＝ＯＦＦ）の状態を示す動作フラグが設定されている。また、機械的な規制手段により移動を規制される第１モータ１に対しては、さらに規制状態にあるか（フラグ＝ＯＮ）、規制解除状態にあるか（フラグ＝ＯＦＦ）を示す規制フラグが設定されている。
【００７７】
例えば、マイクロコンピュータは、車両２０のコンソールやドア、リモートコントローラに設けられたスイッチ等を介して発せられた座席３０の移動指令を受け取ると、同期制御プログラムを起動する。初めに、動作方向が第１方向（振り出し方向）であるか第２方向（格納方向）であるかが判定される（＃１）。そして、判定された動作方向に応じて、変換係数ａ１〜ａ３、補正係数ｂ１〜ｂ３、オフセット値ｃ１〜ｃ３、各点の基準位置（ｐ１、ｐ２等）の演算パラメータが、パラメータメモリやバックアップ用のメモリからマイクロコンピュータのレジスタにセットされる（＃２）。次に、回転センサ２１〜２３、電流センサ２４等から、各モータの実動作量情報Ｍ１〜Ｍ３などの動作情報が取得される（＃３）。実動作量情報Ｍ１〜Ｍ３は、変換部５及び補正部８において基準動作量情報ｒ１〜ｒ３、Ｒ１〜Ｒ３に変換される（＃４）。上述したように、補正係数ｂ１〜ｂ３が１の場合には、補正前後で基準動作量情報は同じ値となる。尚、図１３においては、ステップ＃２〜＃４を、動作方向が第１方向の時のステップ＃２ａ〜＃４ａと、動作方向が第２方向の時のステップ＃２ｂ〜＃４ｂとに分けて記載しているが、これらは同一の処理であってもよい。
【００７８】
動作方向が第１方向の場合には、ステップ＃４の後、経路＄１を経てステップ＃１０が実行され、動作方向が第２方向の場合には、ステップ＃４の後、経路＄３を経てステップ＃３０が実行される。以下、図１４に基づいて、まず、第１方向の振り出し動作時の制御について説明する。はじめに、第１モータ規制フラグがＯＦＦであるか否かが判定される（＃１１）。これは、障害物への接近や障害物との接触、利用者の判断による停止指示などによって、振り出し動作が途中で中断され、再開される場合を想定したものである。つまり、後述するように、規制フラグがＯＮ状態であれば、規制端点ｓｐよりも振り出し側で中断されて再開されていることになる。この判定を第３中間点ｐ３を基準として実行すると、回転方向Ａにおける機械的な誤差の影響を受けるので、規制端点ｓｐを基準とすることができる規制フラグを判定基準としている。
【００７９】
ここでは、完全格納端ｐ０からの振り出し動作を例として説明する。この場合、規制フラグはＯＦＦ状態であるから、次に第１モータ動作フラグがＯＮ状態にセットされる（＃１２）。次に、平均基準動作量情報Ｒａｖが１００以上であるか否かが判定される（＃１３）。平均基準動作量情報Ｒａｖは動作中のモータの基準動作量情報の平均値である。完全格納端ｐ０から動作を開始した場合には、動作中のモータは第１モータ１のみであり、その基準動作量情報ｒ１（Ｒ１）は１００未満であるから、ステップ＃１３の判定結果は「Ｎｏ」となり、ステップ＃２３に進んで第１方向への同期制御が実行される。ステップ＃２３の次には、経路＄２を経て再び図１３に示すステップ＃３ａ（＃３）からの処理が順次実行される。尚、ステップ＃１２のフラグ設定の処理も繰り返し実行されるが、フラグが同じ状態は同じ値が再設定（上書き）される。これは、以降の全てのフラグ設定において同様である。
【００８０】
これを繰り返し、座席３０が移動を続けると、第１中間点ｐ１に達し、平均基準動作量情報Ｒａｖが１００以上となる。ステップ＃１３において「Ｙｅｓ」と判定されると、第２モータ２の動作フラグがＯＮ状態に設定される（＃１４）。次に、平均基準動作量情報Ｒａｖが２００以上であるか否かが判定される（＃１５）。平均基準動作量情報Ｒａｖが１００以上２００未満の時には、図３等に示すように第１モータ１と第２モータ２とが動作する。つまり、ステップ＃１５において「Ｎｏ」と判定され、ステップ＃２３において第１モータ１と第２モータ２が同期制御される。
【００８１】
これを繰り返し、座席３０が移動を続けると、第２中間点ｐ２に達し、平均基準動作量情報Ｒａｖが２００以上となる。ステップ＃１５において「Ｙｅｓ」と判定されると、第３モータ３の動作フラグがＯＮ状態に設定される（＃１６）。さらに、座席３０が移動を続けると、第３中間点ｐ３又は規制端点ｓｐに達する。機械的誤差により、第３中間点ｐ３よりも先に規制端点ｓｐに達する可能性があるので、まず、規制端点ｓｐに達したか否かが判定される（＃１７）。具体的には、第１モータ１の過負荷検出などの停止検出の有無が判定される。停止検出が無い場合には、第３中間点ｐ３に達しているか否か、つまりは、平均基準動作量Ｒａｖが４００以上であるか否かが判定される（＃２０）。規制端点ｓｐにも第３中間点ｐ３にも達していない場合には、図３等に示すように第１モータ１と第２モータ２と第３モータ３とが動作する。つまり、ステップ＃２０において「Ｎｏ」と判定され、ステップ＃２３において第１モータ１と第２モータ２と第３モータ３とが同期制御される。
【００８２】
ステップ＃１７で規制端点ｓｐに達したと判定されると、第１モータ規制フラグがＯＮ状態にセットされると共に、第１モータ動作フラグがＯＦＦ状態にセットされる（＃１８）。続いて、この時点の第１モータ１の基準動作量情報ｒ１（Ｒ１）の値が、停止位置情報として取得される。そして、上述したように、停止位置情報に基づいて、第１モータ１の補正係数ｂ１が演算され、補正部８のレジスタにセットされる（＃１９）。これ以降、振り出し動作が中断され、格納方向への動作が指示されたとしても、第１モータ１については、補正係数ｂ１を用いて補正された基準動作量情報Ｒ１に基づいて制御されることとなる。従って、第１モータ１は過負荷やハンチングを生じることなく円滑に制御される。ステップ＃１８において第１モータ１の動作フラグがＯＦＦ状態にセットされ、ステップ＃２０で第３中間点ｐ３に達していないと判定されると、ステップ＃２３に進んで、第２モータ２と第３モータ３との同期制御が実行される。
【００８３】
ステップ＃２０で第３中間点ｐ３に達していると判定されると、第２モータ２の動作フラグがＯＦＦ状態にセットされる（＃２１）。次に、完全振り出し端ｐ４に達していないか否か、つまり平均基準動作量情報Ｒａｖが６００未満であるか否かが判定される（＃２２）。判定結果が「Ｙｅｓ」の場合には、ステップ＃２３に進んで第３モータ３のみが駆動制御される。尚、ステップ＃１７で第１モータ１の停止検出が無いと判定され、ステップ＃２０で第３中間点ｐ３に達していると判定されている場合には、第１モータ１の動作フラグはＯＮ状態のままであり、第２モータ２の動作フラグがＯＦＦ状態となっている。この場合に、ステップ＃２２で平均基準動作量情報Ｒａｖが６００未満であると判定されると、ステップ＃２３に進んで第１モータ１と第３モータ３とが同期制御される。
【００８４】
繰り返し処理を継続し、ステップ＃２２で平均基準動作量情報Ｒａｖが６００に達したと判定されると、第３モータ３の動作フラグがＯＦＦ状態にセットされる（＃２４）。これにより、全てのモータの動作が停止されることとなるので、汎用レジスタ等を含む各レジスタに格納された演算パラメータをバックアップして（＃２５）、経路＄５を経て処理を終了する。
【００８５】
次に、動作方向が第２方向（格納）の場合の手順を図１５に基づいて説明する。格納の動作の際には、中断後の再開や、振り出し途中から格納などの場合も含めて、はじめに第３モータの動作フラグがＯＮ状態にセットされる（＃３１）。この時点において、第３モータ３が動作しない基準位置２００未満であったとすれば、駆動制御のステップ＃３９へ進む前に、ステップ＃３５で動作フラグがＯＦＦ状態に再設定されるので問題はない。ここでは、完全振り出し端ｐ４から格納動作が開始されるとする。ステップ＃３１に続いて平均基準動作量情報Ｒａｖが４００以下であるか否かが判定される（＃３２）。つまり、第３中間点ｐ３に達しているか否かが判定される。平均基準動作量情報Ｒａｖが４００を超えている場合には、ステップ＃３９へ進んで動作フラグがＯＮ状態となっている第３モータ３のみが駆動制御される。
【００８６】
振り出し動作の際と同様に、ステップ＃３９の次に経路＄４を経てステップ＃３ｂ（＃３）へ戻り、処理が繰り返される。ステップ＃３２において平均基準動作量情報Ｒａｖが４００以下であると判定されると、第１モータ規制フラグをＯＦＦ、第１モータ動作フラグをＯＮ、第２モータ動作フラグをＯＮの状態にセットする（＃３３）。つまり、第１モータ１と第２モータ２とは同時に動作を開始される。振り出し動作の際に、規制端点ｓｐにおける第１モータ１の基準動作量情報Ｒ１（ｓｐ）が４００となるように補正係数ｂ１が設定されているので、規制端点ｓｐの機械的な誤差に拘わらず、第１モータ１は過負荷やハンチングを生じることなく良好に駆動されることになる。次に、平均基準動作量情報Ｒａｖが２００以下であるか否かが判定され（＃３４）、「Ｎｏ」の場合には、ステップ＃３９において第１モータ１、第２モータ２、第３モータ３が同期制御される。
【００８７】
繰り返し処理を継続し、ステップ＃３４において平均基準動作量情報Ｒａｖが２００以下である、つまり第２中間点ｐ２に達したと判定されると、第３モータ３の動作フラグがＯＦＦ状態にセットされる（＃３５）。次に、平均基準動作量情報Ｒａｖが１００以下であるか否か、つまり第１中間点ｐ１に達したか否かが判定される（＃３６）。平均基準動作量情報Ｒａｖが２００を超えている場合には、ステップ＃３９において第１モータ１と第２モータ２とが同期制御される。
【００８８】
ステップ＃３６において平均基準動作量情報Ｒａｖが１００以下である、つまり第１中間点ｐ１に達したと判定されると判定されると、第２モータ２の動作フラグがＯＦＦ状態にセットされる（＃３７）。次に、平均基準動作量情報Ｒａｖが０を超えているか否か、つまり、完全格納端ｐ０に達していないか否かが判定される（＃３８）。完全格納端ｐ０に達していない場合には、ステップ＃３９において第１モータ１が駆動制御される。
【００８９】
ステップ＃３８において完全格納端ｐ０に達したと判定されると、第１モータ１の動作フラグがＯＦＦ状態にセットされる（＃４０）。これにより、全てのモータの動作が停止されることとなる。次回の振り出し動作以降において、第２モータ２及び第３モータ３についても補正係数ｂ２，ｂ３を適用する場合には、当該補正係数ｂ２，ｂ３を演算し、補正部８のレジスタにセットする（＃４１）。最後に、汎用レジスタ等を含む各レジスタに格納された演算パラメータをバックアップし（＃４２）、経路＄５を経て処理を終了する。次回の振り出し動作時には、バックアップされた演算パラメータがロードされるので、補正係数ｂ２，ｂ３も用いた同期制御が可能である。尚、第２モータ２及び第３モータ３の補正係数ｂ２，ｂ３の演算及びレジスタへのセットに関しては、第２モータ２及び第３モータ３の動作フラグがＯＦＦにセットされた次のステップ、例えば＃３７や＃３５の後のステップで実行されてもよい。格納途中で再度振り出された場合に直ちに補正係数ｂ２，ｂ３が適用可能となって好適である。
【００９０】
尚、図１１の第５回目の動作時などにおいて説明したように、変換係数ａ１〜ａ３を補正係数ｂ１〜ｂ３に基づいて補正し、補正後の変換係数ａ１〜ａ３を用いて実動作量情報Ｍ１〜Ｍ３を変換することも可能である。この場合、図１６に示すように、実質的に、変換部５と補正部８とを統合することも可能である。
【００９１】
本発明のモータ制御装置１０は、複数のモータを同期制御するものであり、各モータの定常動作中の動作量の変位がリニアである場合には、理想的には、基準動作量情報が同じ傾きとなるものである。しかし、複数のモータのうちの１つのモータが、誤差を含む機械的な規制端点ｓｐにおいて動作を停止、又は開始することから、同期制御の乱れを生じる可能性があった。本発明においては、規制端点ｓｐにおいて各モータの基準動作量情報の変位を示す直線が交差するように、基準動作量情報の傾きを補正する。つまり、傾きを補正するための係数が補正係数ｂ１〜ｂ３である。当業者であれば、上記実施形態に鑑みて、このような本発明の要旨を逸脱することなく種々の改変が可能であろうが、そのような改変もまた、本発明の技術的範囲に属するものである。
【００９２】
例えば、上記実施形態においては、同期開始点ｐｓｙよりも振り出し側において第１モータ１に補正係数ａ１を適用した。しかし、第２モータ２や第３モータ３と同様に、第１モータ１の完全格納端ｐ０を動作完了位置として、補正係数ｂ１を演算してもよい。具体的には、図５に示した例を適用すると、
ｂ１＝（基準停止位置−回転格納端）／（規制端点−回転格納端）
＝（Ｒ（ｐ３）−Ｒ（ｐ０））／（Ｒ（ｓｐ）−Ｒ（ｐ０））
＝  ４００／４１２  ≒  ０．９７
となるようなケースである。
【００９３】
補正後の基準動作量情報Ｒ１についても、第２モータ２や第３モータ３と同様に以下のように演算することが可能である。当然ながら、規制端点ｓｐにおける補正後の基準動作量情報Ｒ１（ｓｐ）は以下に示すように４００となる。
Ｒ１＝（ｒ１−ｃ１）・ｂ１＋ｃ１
＝（Ｍ１・ａ１＋ｃ１−ｃ１）・ｂ１＋ｃ１
＝  Ｍ１・ａ１・ｂ１＋ｃ１
Ｒ１（ｓｐ）  ＝  ４１２×１×０．９７＋０  ＝  ４００
【００９４】
この場合には、図５等に例示した第２中間点ｐ２と同様に、第１中間点ｐ１における第１モータ１と第２モータ２との相対位置も振り出し時とは若干異なるものとなる。つまり、第２モータ２の基準動作量情報ｒ２（Ｒ２）が１００に達すると、第２モータ２が停止される。この際、理想的には平均基準動作量Ｒａｖも１００であり、第１モータ１の基準動作量情報Ｒ１も１００である。但し、第１モータ１の基準動作量情報Ｒ１は補正後の値であるから、振り出し時の基準動作量情報ｒ１に換算すると１０３（＝１００／０．９７）である。このため、座席３０の移動軌跡Ｅは振り出し時とは若干異なる。上記実施形態のように、２つの動作（例えば、回転Ａと前後スライドＢ）の同期関係を完全に維持する必要がなく、理想的な移動軌跡からのずれが許容できる場合には、このようにしてもよい。
【００９５】
尚、図１３〜図１５に示したように、上述した実施形態によれば、座席３０が搭載される車両２０や、座席３０の機械的誤差に拘わらず、共通したプログラムを多数の車両に展開することが可能である。但し、プログラムの修正が許容される場合には、検出された規制端点ｓｐの位置情報を、第３中間点ｐ３の値に置き換えることによって、第１モータ１の過負荷やハンチングを抑制することが可能である。この場合に修正されるステップは、図１４の＃１５や、図１５の＃３４である。
【００９６】
また、個々の動作方向（Ａ〜Ｃ）における機械的な誤差を補正するために、誤差修正用の修正用オフセット値ｄ１〜ｄ３などが別途設けられていてもよい。当業者であれば、理解できるであろうが、修正用オフセット値ｄ１〜ｄ３は、変換部５や補正部８において基準動作量情報ｒ１〜ｒ３やＲ１〜Ｒ３が演算される際に用いられる。つまり、上述した基準動作量情報ｒ１〜ｒ３やＲ１〜Ｒ３を求める式において切片として適用される。この修正用オフセット値ｄ１〜ｄ３は、パラメータメモリやプログラムメモリに格納され、例えば図１３に示すステップ＃２において読み出されてマイクロコンピュータのレジスタにセットされると好適である。
【００９７】
以上、多様な実施形態を示して詳述したように、本発明によって、特性及び負荷の一方又は双方が異なる複数のモータを同期制御することにより一方の端点と他方の端点との間で相互に移動対象物を移動させるに際して、複数のモータに機械的な規制手段により停止されるモータが含まれていても、当該複数のモータを良好に同期制御することができるモータ制御技術が提供される。
【符号の説明】
【００９８】
１：第１モータ（モータ）
２：第２モータ（モータ）
３：第３モータ（モータ）
４：実動作量取得部
５：変換部
６：停止位置情報取得部
７：補正パラメータ演算部
８：補正部
９：制御部
１０：モータ制御装置
３０：座席（移動対象物）
ｂ１，ｂ２，ｂ３：補正係数（補正パラメータ）
ｐ０：完全格納端（一方又は他方の端点）、回転格納端
ｐ３：第３中間点（基準停止位置）、理想回転振り出し端、前後スライド振り出し端
ｐ４：完全振り出し端（他方又は一方の端点）、内外スライド振り出し端
ｓｐ：規制端点、回転振り出し端
Ｍ１，Ｍ２，Ｍ３：実動作量情報
ｒ１，ｒ２，ｒ３，Ｒ１，Ｒ２，Ｒ３：基準動作量情報
【図１】
0005471434.tif 000002
【図２】
0005471434.tif 000003
【図３】
0005471434.tif 000004
【図４】
0005471434.tif 000005
【図５】
0005471434.tif 000006
【図６】
0005471434.tif 000007
【図７】
0005471434.tif 000008
【図８】
0005471434.tif 000009
【図９】
0005471434.tif 000010
【図１０】
0005471434.tif 000011
【図１１】
0005471434.tif 000012
【図１２】
0005471434.tif 000013
【図１３】
0005471434.tif 000014
【図１４】
0005471434.tif 000015
【図１５】
0005471434.tif 000016
【図１６】
0005471434.tif 000017