(57)【要約】【課題】本発明は、駆動機構を動作させるアクチュエータを駆動制御する駆動制御系と当該駆動機構の開発支援を行う駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関する。【解決手段】駆動制御系設計支援装置１は、オフラインシミュレーション部１０で、制御系ＭＣＵ８０の設計情報に基づいて制御系ＭＣＵ８０をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション部２０で、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の読取駆動機構系９０をリアルタイムでシミュレートする。そして、最適化計算部４０が、リアルタイムシミュレーション部２０でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する。【選択図】          図１
2006236035.tif 000002
【特許請求の範囲】
【請求項１】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援装置であって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することを特徴とする駆動制御系設計支援装置。
【請求項２】
前記オフラインシミュレーション手段は、前記駆動制御系の設計情報に基づいて当該駆動制御系の制御アルゴリズムをモデル化し、当該駆動制御系の動作をオフラインでシミュレートすることを特徴とする請求項１記載の駆動制御系設計支援装置。
【請求項３】
前記リアルタイムシミュレーション手段は、前記オフライン駆動制御系モデルを前記リアルタイムマシンに実装して、インタフェース手段を介してデータの授受を行って、制御対象の前記駆動機構とリアルタイムでシミュレートすることを特徴とする請求項１記載の駆動制御系設計支援装置。
【請求項４】
前記インタフェース手段は、前記リアルタイムシミュレーション手段と制御対象の前記駆動機構との間でのデータの授受をリアルタイムで行うことを特徴とする請求項３記載の駆動制御系設計支援装置。
【請求項５】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から制御対象の前記駆動機構に、当該駆動機構の前記アクチュエータに対するアクチュエータ指令信号を渡すことを特徴とする請求項３記載の駆動制御系設計支援装置。
【請求項６】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記駆動機構に、当該駆動機構の前記センサからのセンサ信号に応じたシミュレーション結果に基づいて、前記アクチュエータ指令信号を決定して、受け渡すことを特徴とする請求項３記載の駆動制御系設計支援装置。
【請求項７】
前記最適化計算手段は、前記駆動機構の挙動を前記センサによって収集し、当該センサの信号と予め設定された目的関数をリアルタイムに比較して、前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化することを特徴とする請求項１記載の駆動制御系設計支援装置。
【請求項８】
前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記駆動制御系モデルにおける各パラメータの最適値を探索することを特徴とする請求項１記載の駆動制御系設計支援装置。
【請求項９】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムであって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする駆動制御系設計支援プログラム。
【請求項１０】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムを記録する記録媒体であって、当該駆動制御系設計支援プログラムが、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする記録媒体。
【請求項１１】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援装置であって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と、前記リアルタイムシミュレーション手段と前記制御手段との間でリアルタイムにデータの授受を行うインタフェース手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することを特徴とする駆動機構設計支援装置。
【請求項１２】
前記オフラインシミュレーション手段は、前記駆動機構の設計を行う際に、選択されたアクチュエータをモデル化する第一機構設計手段と、前記アクチュエータの駆動力によって動作を行う前記駆動機構をモデル化する第二機構設計手段と、前記駆動機構の設計を行う際に、選択されたセンサをモデル化する第三機構設計手段と、前記各機構設計手段の間のデータ授受を行う機構設計インタフェース手段と、を備え、前記各モデルによって前記駆動機構の動作をオフラインでシミュレートすることを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項１３】
前記リアルタイムシミュレーション手段は、前記駆動機構のオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムで前記駆動機構の動作をシミュレートすることを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項１４】
前記制御手段は、前記制御アルゴリズムに基づいて前記駆動機構に所定の動作を実行させる組み込みソフトウェアと、当該組み込みソフトウェアの実装されている実際の制御器と、を有することを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項１５】
前記インタフェース手段は、前記リアルタイムシミュレーション手段と前記制御器との間でのデータの授受をリアルタイムで行うことを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項１６】
前記インタフェース手段は、前記制御器から前記リアルタイムシミュレーション手段に、前記オフライン駆動系モデルにおける前記アクチュエータに対するアクチュエータ指令信号を受け渡すことを特徴とする請求項１５記載の駆動機構設計支援装置。
【請求項１７】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記制御手段に、前記アクチュエータ指令信号に応じたシミュレーション結果として得られ前記オフライン駆動系モデルにおける前記センサからのセンサ信号を受け渡すことを特徴とする請求項１５記載の駆動機構設計支援装置。
【請求項１８】
前記最適化計算手段は、前記オフライン駆動系モデルのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較することを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項１９】
前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記オフライン駆動系モデルにおける各パラメータの最適値を探索することを特徴とする請求項１１記載の駆動機構設計支援装置。
【請求項２０】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムであって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする駆動機構設計支援プログラム。
【請求項２１】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムを記録する記録媒体であって、前記駆動機構設計支援プログラムは、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーションステップとの間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関し、詳細には、アクチュエータやセンサを有し、３次元的な動作を行う機構を制御する駆動制御系、当該駆動機構の開発支援を行う駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関する。
【背景技術】
【０００２】
一般的に、アクチュエータ(モータ)やセンサ等を有する機構の設計開発においては、３次元的な動作を行う機構から、部品の組み立てを行って、実機を試作し、試作した実機を動作させて、その評価を行う。そして、実機の動作評価の結果に応じて、設計変更を行い、設計変更後の実機を試作して、再び試作した実機の動作評価を行うという処理を繰り返し行い、評価の結果が良好であれば、設計を完了する。
【０００３】
そして、このような機構を動作させるためには、機構の動作を制御する制御プログラムを開発し、その制御プログラムを制御対象の機構内に組み込まれるマイコンで実行させるようにしている。この制御プログラムを開発する際には、従来、制御すべき機構の試作品が完成している必要がある。すなわち、試作が完了してはじめてメカを具体的に動かすことができ、それを使って制御プログラム（組み込みソフトウェア）の開発を開始することができるわけである。この組み込みソフトウェアの開発は、試作品の完成後、その試作品を実際に動作させながら、開発を進める。
【０００４】
このように、駆動機構システムの開発を行う際には、制御対象の機構の試作品が必要であるため、試作品が完成するまでは、組み込みソフトウェアの開発を行うことができず、駆動機構システムの開発に時間やコストがかかり、非効率的であった。
【０００５】
そして、アクチュエータ(モータ)やセンサを有する駆動機構を制御するための制御プログラムを開発する際には、一般的に、制御プログラムを机上(オフライン)で設計・検証を行った後、制御すべき駆動機構の試作品を用いて、制御プログラムとリンクさせて、リアルタイムで制御プログラムを検証する、いわゆる、ＲＣＰ（Rapid Controller Prototype）シミュレーションを行う（特許文献１、特許文献２等参照）。
【０００６】
ところが、机上（オフライン）での検証は、各モデルの精度によって、正確に設計を評価することには限界があるため、試作品の挙動を計測して、この計測値に基づいて、制御プログラムで用いている各パラメータを少しずつ調整する必要があり、開発に時間やコストがかかり非効率的であるという課題があった。
【０００７】
また、試作品が完成するまでの間に、計算機上に開発対象の機構の実物とそっくりに動く仮想メカを構築し、当該仮想メカを実機の代わりに駆動させるＨＩＬ(Hardware in the Loop)シミュレーションシステムを構築し、シミュレーションシステムにおける各パラメータを少しずつチューニングして、システムの開発に利用することが行われている（特許文献３、特許文献４参照）。
【０００８】
【特許文献１】特開平０５−３２４４０３号公報
【特許文献２】特開平０９−０３４５０４号公報
【特許文献３】特開２００１−２２２５７２号公報
【特許文献４】特開２００３−０３０２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来のシミュレーション技術を使用した駆動制御系の開発や駆動機構の開発にあっては、制御プログラムや仮想メカのチューニング作業に時間とコストがかかり、非効率的であるという問題があった。
【００１０】
そこで、本発明は、制御プログラムと制御対象機構をリアルタイムでシミュレーションを行う際、制御系設計パラメータをリアルタイムで自動的に最適化処理を行い、駆動制御系の開発の効率化をはかり、開発期間の短縮、工数の削減を実現する駆動制御系設計支援装置、駆動制御系設計支援プログラム及びこの駆動制御系設計支援プログラムを記録する記録媒体を提供することを目的としている。
【００１１】
また、本発明は、駆動機構と制御器をリアルタイムでシミュレーションを行う際、駆動機構設計パラメータをリアルタイムで自動的に最適化処理を行い、システムの開発の効率化を図り、開発期間の短縮、工数の削減を実現する駆動機構設計支援装置、駆動機構設計支援プログラム及びこの駆動機構設計支援プログラムを記録する記録媒体を提供することを目的としている。
【課題を解決するための手段】
【００１２】
請求項１記載の発明の駆動制御系設計支援装置は、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援装置であって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することにより、上記目的を達成している。
【００１３】
この場合、例えば、請求項２に記載するように、前記オフラインシミュレーション手段は、前記駆動制御系の設計情報に基づいて当該駆動制御系の制御アルゴリズムをモデル化し、当該駆動制御系の動作をオフラインでシミュレートしてもよい。
【００１４】
また、例えば、請求項３に記載するように、前記リアルタイムシミュレーション手段は、前記オフライン駆動制御系モデルを前記リアルタイムマシンに実装して、インタフェース手段を介してデータの授受を行って、制御対象の前記駆動機構とリアルタイムでシミュレートしてもよい。
【００１５】
さらに、例えば、請求項４に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段と制御対象の前記駆動機構との間でのデータの授受をリアルタイムで行ってもよい。
【００１６】
また、例えば、請求項５に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から制御対象の前記駆動機構に、当該駆動機構の前記アクチュエータに対するアクチュエータ指令信号を渡してもよい。
【００１７】
さらに、例えば、請求項６に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記駆動機構に、当該駆動機構の前記センサからのセンサ信号に応じたシミュレーション結果に基づいて、前記アクチュエータ指令信号を決定して、受け渡してもよい。
【００１８】
また、例えば、請求項７に記載するように、前記最適化計算手段は、前記駆動機構の挙動を前記センサによって収集し、当該センサの信号と予め設定された目的関数をリアルタイムに比較して、前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化してもよい。
【００１９】
さらに、例えば、請求項８に記載するように、前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記駆動制御系モデルにおける各パラメータの最適値を探索してもよい。
【００２０】
請求項９記載の発明の駆動制御系設計支援プログラムは、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムであって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【００２１】
請求項１０記載の発明の記録媒体は、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムを記録する記録媒体であって、当該駆動制御系設計支援プログラムが、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【００２２】
請求項１１記載の発明の駆動機構設計支援装置は、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援装置であって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と、前記リアルタイムシミュレーション手段と前記制御手段との間でリアルタイムにデータの授受を行うインタフェース手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することにより、上記目的を達成している。
【００２３】
この場合、例えば、請求項１２に記載するように、前記オフラインシミュレーション手段は、前記駆動機構の設計を行う際に、選択されたアクチュエータをモデル化する第一機構設計手段と、前記アクチュエータの駆動力によって動作を行う前記駆動機構をモデル化する第二機構設計手段と、前記駆動機構の設計を行う際に、選択されたセンサをモデル化する第三機構設計手段と、前記各機構設計手段の間のデータ授受を行う機構設計インタフェース手段と、を備え、前記各モデルによって前記駆動機構の動作をオフラインでシミュレートしてもよい。
【００２４】
また、例えば、請求項１３に記載するように、前記リアルタイムシミュレーション手段は、前記駆動機構のオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムで前記駆動機構の動作をシミュレートしてもよい。
【００２５】
さらに、例えば、請求項１４に記載するように、前記制御手段は、前記制御アルゴリズムに基づいて前記駆動機構に所定の動作を実行させる組み込みソフトウェアと、当該組み込みソフトウェアの実装されている実際の制御器と、を有していてもよい。
【００２６】
また、例えば、請求項１５に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段と前記制御器との間でのデータの授受をリアルタイムで行ってもよい。
【００２７】
また、例えば、請求項１６に記載するように、前記インタフェース手段は、前記制御器から前記リアルタイムシミュレーション手段に、前記オフライン駆動系モデルにおける前記アクチュエータに対するアクチュエータ指令信号を受け渡してもよい。
【００２８】
さらに、例えば、請求項１７に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記制御手段に、前記アクチュエータ指令信号に応じたシミュレーション結果として得られ前記オフライン駆動系モデルにおける前記センサからのセンサ信号を受け渡してもよい。
【００２９】
また、例えば、請求項１８に記載するように、前記最適化計算手段は、前記オフライン駆動系モデルのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較してもよい。
【００３０】
さらに、例えば、請求項１９に記載するように、前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記オフライン駆動系モデルにおける各パラメータの最適値を探索してもよい。
【００３１】
請求項２０記載の発明の駆動機構設計支援プログラムは、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムであって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【００３２】
請求項２１記載の発明の記録媒体は、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムを記録する記録媒体であって、前記駆動機構設計支援プログラムは、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーションステップとの間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【発明の効果】
【００３３】
本発明によれば、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行うに際して、オフラインシミュレーション手段が、駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション手段が、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の駆動機構をリアルタイムでシミュレートし、最適化計算手段が、リアルタイムシミュレーション手段でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化するので、制御系設計パラメータをリアルタイムで自動的に最適化して、駆動制御系開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【００３４】
また、本発明によれば、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行うに差逸して、オフラインシミュレーション手段が、駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化して、当該オフライン駆動系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション手段が、オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートし、インタフェース手段が、駆動機構を制御対象とする制御アルゴリズムの実装された制御手段とリアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行って、最適化計算手段が、リアルタイムシミュレーション手段でシミュレートするオフライン駆動系モデルの各パラメータをリアルタイムで最適化するので、駆動機構設計パラメータをリアルタイムで自動的に最適化して、システム開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００３６】
図１〜図４は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第１実施例を示す図であり、図１は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第１実施例を適用した駆動制御系設計支援装置１のブロック構成図である。
【００３７】
図１において、駆動制御系設計支援装置１は、オフラインシミュレーション部１０、リアルタイムシミュレーション部２０、インタフェース部３０及び最適化計算部４０等を備えており、例えば、図２に示すような画像読取装置７０の制御系設計支援を行う。
【００３８】
駆動制御系設計支援装置１は、例えば、コンピュータ等に、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）等の記録媒体に格納されている駆動制御系設計支援プログラムと必要なデータを読み取らせることで、構築される。この駆動制御系設計支援プログラムは、駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデル（オフライン駆動制御系モデル）を用いてオフラインでシミュレートするオフラインシミュレーションステップと、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、リアルタイムシミュレーションステップでシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有している。
【００３９】
図２に示す画像読取装置７０では、制御系ＭＣＵ（Motor Control Unit）８０と読取駆動機構系９０を備えている。制御系ＭＣＵ８０は、デジタル制御部８１と駆動アンプ８２を備えており、読取駆動機構系９０は、モータ９１、伝達機構９２、駆動部９３及びセンサ部９４等を備えている。
【００４０】
制御系ＭＣＵ８０のデジタル制御部８１から読取駆動機構系９０のモータ９１のトルク指令値を駆動アンプ８２を通して出力して、読取駆動機構系９０のブラシ付きＤＣモータ等のモータ９１に印加電圧を与え、タイミングベルトやワイヤ等の伝達機構９２を介して、画像読取部のプーリ等の駆動部９３を駆動させて読取動作を行う。一方、モータ軸に装着した光学式エンコーダ等のセンサ部９４でモータの回転速度や回転位置等を計測して、制御系ＭＣＵ８０のデジタル制御部８１にモータ位置とモータ速度の情報をフィードバックし、それぞれのデジタル制御を行う。
【００４１】
再び、図１において、まず、制御系設計支援装置１のオフラインシミュレーション部１０について説明する。オフラインシミュレーション部１０は、図２に示したデジタル制御部８１における制御アルゴリズムを、入力された設計情報に基づいて、制御系モデル（オフライン駆動制御系モデル）を作成する。このモデルとしては、例えば、図３に示すようなものであり、速度プロファイル設定ブロック１１、制御系ゲイン設定ブロック１２及びフィードフォワード量設定ブローク１３から構成されている。エンコーダから読み取った位置情報に応じて、モータ速度を速度プロファイル設定ブロック１１で決めて、制御系ゲイン設定ブロック１２とフィードフォワード量設定ブロック１３によって、そのときの電流値に換算し、駆動系モデルに出力する。駆動系モデルの解析結果によって、制御系設計の妥当性をオフラインで評価する。
【００４２】
次に、駆動制御系設計支援装置１のリアルタイムシミュレーション部２０について説明する。オフラインシミュレーションで検証された制御系モデル（オフライン駆動制御系モデル）をリアルタイムマシンに実装して、リアルタイムでシミュレーションを行う。リアルタイムマシンは、例えば、近年デジタル処理によく用いられるＤＳＰ（Digital Signal Processor）ボードやリアルタイムＯＳ（Operating System）で動作するパーソナルコンピュータ等を用いる。
【００４３】
次に、制御系設計支援装置１のインタフェース部３０について説明する。インタフェース部３０は、制御系モデルから制御対象機構部５０、例えば、図２の読取駆動機構系９０における制御部（例えば、図２の制御系ＭＣＵ８０）に、図４に示すように、フィードバックする信号と、フィードバック信号に応じてリアルタイムでのシミュレーションにより、制御系モデルから算出されたアクチュエータ５１に与えた指令信号から構成されている。指令信号は、例えば、制御部から出力されたモータ電流信号をＤ／Ａ（デジタル／アナログ）変換を行って、その値をモータ駆動アンプに入力して、モータ駆動を行う。また、センサ５２の検出したセンサ信号は、例えば、エンコーダを用いた場合、Ａ相とＢ相のパルス信号をカウンタボードに入力して、位置制御と速度制御に換算したものである。
【００４４】
そして、制御系設計支援装置１の最適化計算部４０は、制御対象機構部５０の挙動がセンサ５２によって計測されると、この計測値を予め設定された目的関数と比較して、その差が最小になるようにし、リアルタイムシミュレーション部２０の制御系モデルにおける各パラメータを最適化処理によってチューニングして、リアルタイムシミュレーション部２０に出力する。最適化計算部４０は、駆動機構挙動の計測値と目的関数の差分の合計値（ｙ）の勾配を次式（１）で計算し、この勾配に基づいて、適切な探索方向を決定する。
【００４５】
【数１】
2006236035.tif 000003
【００４６】
最適化計算部４０は、勾配を計算して最適な探索方向を決定すると、決定された探索方向に沿って、新しい設計変数を設定し、算出した駆動機構挙動の計測値と目的関数の差分が最小になるまで上記計算を繰り返し行う。
【００４７】
次に、本実施例の作用を説明する。本実施例の駆動制御系設計支援装置１は、まず、オフラインシミュレーション部１０が、図２に示した制御系ＭＣＵ８０のデジタル制御部８１における制御アルゴリズムを、入力された設計情報に基づいて、例えば、図３に示したようにモデル化し、エンコーダ等のセンサ部９４から読み取った位置情報に応じて、モータ速度を速度プロファイル設定ブロック１１で決めて、制御系ゲイン設定ブロック１２とフィードフォワード量設定ブロック１３によってそのときの電流値に換算し、駆動系モデルに出力する。駆動系モデルの解析結果によって、制御系設計の妥当性をオフラインで評価する。
【００４８】
次に、オフラインシミュレーション部１０でのオフラインシミュレーションで検証された制御系モデルを、リアルタイムマシンに実装して、リアルタイムシミュレーション部２０によって、リアルタイムでシミュレーションを行う。このとき、インタフェース部３０が、リアルタイムシミュレーション部２０と制御対象機構部５０との間の指令信号とセンサ信号の授受を行う。
【００４９】
そして、最適化計算部４０が、制御対象機構部５０の挙動がセンサ５２によって計測された計測値を予め設定された目的関数と比較して、その差を最小にするように、リアルタイム制御系モデルにおける各パラメータを最適化処理によってチューニングして、リアルタイムシミュレーション部２０に出力する。最適化計算部４０は、駆動機構挙動の計測値と目的関数の差分の合計値（ｙ）の勾配を上記式（１）で計算し、この勾配に基づいて、適切な探索方向を決定する。
【００５０】
最適化計算部４０は、勾配を計算して最適な探索方向を決定すると、決定された探索方向に沿って、新しい設計変数を設定し、算出した駆動機構挙動の計測値と目的関数の差分が最小になるまで上記計算を繰り返し行う。
【００５１】
このように、本実施例の駆動制御系設計支援装置１は、センサ部９４の検出結果に応じて制御プログラムに基づいて読取駆動機構系９０を動作させるアクチュエータのモータ９１等の駆動源を制御する駆動制御系である制御系ＭＣＵ８０の設計支援を行うに際して、オフラインシミュレーション部１０で、制御系ＭＣＵ８０の設計情報に基づいて制御系ＭＣＵ８０をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション部２０で、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の読取駆動機構系９０をリアルタイムでシミュレートする。そして、駆動制御系設計支援装置１は、最適化計算部４０が、リアルタイムシミュレーション部２０でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する。
【００５２】
したがって、制御系ＭＣＵ８０の設計・開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【００５３】
また、本実施例の駆動制御系設計支援装置１は、オフラインシミュレーション部１０が、制御系ＭＣＵ８０の設計情報に基づいて制御系ＭＣＵ８０の制御アルゴリズムをモデル化し、制御系ＭＣＵ８０の動作をオフラインでシミュレートしている。
【００５４】
したがって、制御系ＭＣＵ８０の設計をオフラインでシミュレーションを行うことができる。
【００５５】
さらに、本実施例の駆動制御系設計支援装置１は、リアルタイムシミュレーション部２０が、オフライン駆動制御系モデルをリアルタイムマシンに実装して、インタフェース部３０を介してデータの授受を行って、制御対象の読取駆動機構系９０とリアルタイムでシミュレートする。
【００５６】
したがって、オフラインで検証されたシミュレーションモデルをリアルタイムでシミュレーションすることができる。
【００５７】
また、本実施例の駆動制御系設計支援装置１は、インタフェース部３０が、リアルタイムシミュレーション部２０と制御対象の読取駆動機構系９０との間でのデータの授受をリアルタイムで行う。
【００５８】
したがって、リアルタイム制御系モデルと制御対象の読取駆動機構系９０との間でデータ送受をリアルタイムで行うことができる。
【００５９】
さらに、本実施例の駆動制御系設計支援装置１は、インタフェース部３０が、リアルタイムシミュレーション部２０から制御対象の読取駆動機構系９０に、当該読取駆動機構系９０のアクチュエータに対するアクチュエータ指令信号を渡す。
【００６０】
したがって、リアルタイム制御系モデルから読取駆動機構系９０へ指令信号をリアルタイムで渡すことができ、リアルタイムで制御系設計を評価することができる。
【００６１】
また、本実施例の駆動制御系設計支援装置１は、インタフェース部３０が、リアルタイムシミュレーション部２０から読取駆動機構系９０に、読取駆動機構系９０のセンサ部９４からのセンサ信号に応じたシミュレーション結果に基づいて、アクチュエータ指令信号を決定して、受け渡している。
【００６２】
したがって、読取駆動機構系９０におけるセンサ部９４からのセンサ信号に応じて、アクチュエータ指令信号を決定し、受け渡すことができる。
【００６３】
さらに、本実施例の駆動制御系設計支援装置１は、最適化計算部４０が、読取駆動機構系９０の挙動をセンサ部９４によって収集し、センサ部９０の信号と予め設定された目的関数をリアルタイムに比較して、オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化している。
【００６４】
したがって、読取駆動機構系９０の挙動を計測し、目的関数と比較することで、制御系モデルを最適化することができる。
【００６５】
また、本実施例の駆動制御系設計支援装置１は、最適化計算部４０が、目的関数の評価結果に基づいて、リアルタイムに駆動制御系モデルにおける各パラメータの最適値を探索している。
【００６６】
したがって、制御系モデルにおける各パラメータを最適化することができる。
【実施例２】
【００６７】
図５〜図１１は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第２実施例を示す図であり、図５は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第２実施例を適用した駆動機構設計支援装置１００のブロック構成図である。
【００６８】
図５において、駆動機構設計支援装置１００は、入力部１１０、オフラインシミュレーション部１２０、リアルタイムシミュレーション部１３０、インターフェイス部１４０、制御部１５０、最適化計算部１６０及び表示部１７０等を備えており、図６に示すような画像読取装置２００の制御系設計支援を行う。
【００６９】
このような画像読取装置２００は、一般的に、図６に示すように、副走査方向に延在して平行に配設された一対のレール２０１、２０２に、第１キャリッジ２０３と第２キャリッジ２０４が当該レール２０１、２０２に沿って移動可能に搭載されており、第１キャリッジ２０３は、光源２０５及びミラー２０６を搭載している。第２キャリッジ２０４は、複数個のミラー２０７を搭載しており、その両端には、プーリ２０８、２０９が設けられている。
【００７０】
レール２０１とレール２０２に直交する状態で、回転軸２１０が配設されており、回転軸２１０のレール２０１側には、ギヤ２１１が設けられている。ギヤ２１１は、モータ２１２の駆動軸に連結されたギヤ２１３との間に張り渡されたタイミングベルト２１４で連結されており、モータ２１２の駆動力がギヤ２１３及びギヤ２１１を介してタイミングベルト２１４により回転軸２１０に伝達される。このモータ２１２は、一般的に、ステッピングモータが用いられ、ステッピングモータは、回転動作条件を予め設定した速度テーブルに従って回転動作する。
【００７１】
レール２０１、２０２の両端部には、それぞれアイドラプーリ２１５、２１６、２１７、１１８が設けられており、レール２０１、２０２に沿ってそれぞれその一端が図示しない筐体の壁に固定されているワイヤ２１９、２２０が張り渡されている。
【００７２】
ワイヤ２１９は、固定された筐体の壁側から第２キャリッジ２０４のプーリ２０８、アイドラプーリ２１５の順に架け回されて、回転軸２１０に固定されているワイヤプーリ２２１に数回巻き付けられ、さらに、アイドラプーリ２１６及び第２キャリッジ２０４のプーリ２０８に順次架け回されて、その他端が図示しないスプリングを介して筐体に固定されている。また、ワイヤ２１９は、アイドラプーリ２１５と第２キャリッジ２０４のプーリ２０８との間の部分が、第１キャリッジ２０３のレール２０１側の一端に固定されている。
【００７３】
また、ワイヤ２２０は、同様に、固定された筐体の壁側から第２キャリッジ２０４のプーリ２０９、アイドラプーリ２１７の順に架け回されて、回転軸２１０に固定されているワイヤプーリ２２２に数回巻き付けられ、さらに、アイドラープーリ２１８及び第２キャリッジ２０４のプーリ２０９に順次架け回されて、その他端が図示しないスプリングを介して筐体に固定されている。また、ワイヤ２２０は、アイドラプーリ２１７と第２キャリッジ２０４のプーリ２０９との間の部分が、第１キャリッジ２０３のレール２０２側の一端に固定されている。
【００７４】
上記第１キャリッジ２０３と第２キャリッジ２０４の駆動機構が、原稿の載置される図示しないコンタクトガラスの下部に配設されて、モータ２１２の駆動力により、ワイヤプーリ２２１、２２２が回転し、ワイヤ２１９、２２０に引かれて、第１キャリッジ２０３と第２キャリッジ２０４が副走査方向に移動する。画像読取装置２００は、この第１キャリッジ２０３に搭載されている光源２０５から原稿に読取光を照射して、原稿で反射された原稿画像の反射光を第１キャリッジ２０３のミラー２０６で第２キャリッジ２０４のミラー２０７方向に反射し、第２キャリッジ２０４のミラー２０７で、図示しないＣＣＤ（Charge Coupled Device ）等の読取センサに入射させて主走査することで原稿の画像を読み取る。すなわち、画像読取装置２００は、モータ２１２の回転を制御することにより、第１キャリッジ２０３と第２キャリッジ２０４を副走査方向に移動させつつ、主走査して、原稿の画像を読み取る。
【００７５】
そして、画像読取装置２００は、上述のような読取動作において、原稿の画像情報を忠実に再現するためには、キャリッジ１０３、１０４を精度よく駆動し、原稿の画像の読み取りを行う必要がある。
【００７６】
この読取機構を動作させるためには、その機構を制御するための制御アルゴリズムを開発して、その制御アルゴリズムを制御対象の機構内に組み込まれているマイクロコンピュータ等で実行させるようにしている。
【００７７】
すなわち、このような構造によって、モータ２１２の駆動力により、ワイヤプーリ２２１、２２２が回転して、ワイヤ２１９、２２０に引かれ、第１キャリッジ２０３、第２キャリッジ２０４が走査移動して、エンコーダ２３０が、モータ２１２の回転軸の回転量を取得して、制御系にフィードバックする。
【００７８】
そして、このような画像読取装置２００の制御系の設計支援を図５の駆動機構設計支援装置１００で行う。
【００７９】
この駆動機構設計支援装置１００は、例えば、コンピュータ等に、ＣＤ−ＲＯＭ等の記録媒体に格納されている駆動機構設計支援プログラムと必要なデータを読み取らせることで、構築される。この駆動機構設計支援プログラムは、図６に示したような駆動機構（例えば、画像読取装置２００の駆動機構）の設計情報に基づいて当該駆動機構をモデル化し、オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、オフラインシミュレーションステップの駆動機構モデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションするリアルタイムシミュレーションステップと、駆動機構を制御対象とする制御アルゴリズムの実装された制御部１５０とリアルタイムシミュレーション部１３０との間でリアルタイムにデータの授受を行うインタフェースステップと、リアルタイムシミュレーションステップでシミュレートする駆動機構モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有している。
【００８０】
図５において、オフラインシミュレーション部１２０は、第１機構設計部１２１、第２機構設計部１２２、第３機構設計部１２３、機構設計インタフェース部１２４及びシミュレーション部１２５等を備え、制御部１５０は、組み込みソフトウェア１５１ａと当該組み込みソフトウェア１５１ａを実行する実際の画像読取装置２００の組み込みハードウェア１５１ｂを備えている。
【００８１】
図６に示した画像読取装置２００は、その制御系を、図７のように示すことができ、制御系ＭＣＵ２５０と読取駆動機構系２６０等を備えている。制御系ＭＣＵ２５０は、位置制御や速度制御等を行うデジタル制御部２５１と定電流制御等を行う駆動アンプ２５２等を備えており、読取駆動機構系２６０は、ブラシ付きＤＣモータ等のモータ２６１、タイミングベルトやワイヤ等の伝達機構２６２、プーリや読取部等の駆動部２６３及び光学式エンコーダ等のセンサ部２６４等を備えている。
【００８２】
図７において、画像読取装置２００は、制御系ＭＣＵ２５０がデジタル制御部２５１からモータ２６１のトルク指令値を駆動アンプ２５２を通して、読取駆動機構系２６０のモータ２６１に印加電圧を与え、タイミングベルトやワイヤ等の伝達機構２６２を介して、画像読取部が読取動作を行う。一方、モータ軸に装着されているエンコーダ等のセンサ部２６４の検出した位置と速度の情報を制御系ＭＣＵ２５０に提供して、制御系ＭＣＵ２５０のデジタル制御部部２５１が位置と速度のデジタル制御を行う。
【００８３】
そして、図５のオフラインシミュレーション部１２０は、図７に示した画像読取装置２００の読取駆動機構系２６０を、入力部１１０から入力された設計情報に基づいて、例えば、図８に示すようにモデル化して、読取駆動機構系２６０のモデル（読取駆動機構モデル）２６０Ｍを作成する。
【００８４】
すなわち、まず、第１機構設計部１２１が、設計時に選択されたアクチュエータをモデル化する。例えば、図８に示すように、モータ２６１としてＤＣモータを用いた場合、モータ端子印加電圧Ｅａを入力として、インダクタンスＬａ、抵抗Ｒ、逆起電係数Ｅｂを用いて、モータ２６１の数式モデルを、次式（２）に示すように設定する。
【００８５】
【数２】
2006236035.tif 000004
【００８６】
次に、第２機構設計部１２２が、伝達機構２６２、駆動部２６３及び画像読取装置２００の読取部の読取駆動機構モデル２６０Ｍを構成する。すなわち、第２機構設計部１２２は、まず、伝達機構２６２のベルト２６２ａについて、図８に示すように、ばねとダンパによってモデル化し、その運動方程式を次式（３）に示すように設定する。なお、ベルトの剛性は、線形変化とし、粘性は、各剛性に比例して、変化するように設定する。
【００８７】
【数３】
2006236035.tif 000005
【００８８】
式（３）の各ベルトテンションＦ１０、Ｆ２０は、次式（４）で求められる。
【００８９】
【数４】
2006236035.tif 000006
【００９０】
また、ベルト特性値は、次式（５）で求められる。
【００９１】
【数５】
2006236035.tif 000007
【００９２】
また、第２機構設計部１２２は、伝達機構２６２の駆動伝達系のワイヤ２６２ｂについて、ばねとダンパによってモデル化し、その運動方程式を次式（６）に示すように設定する。なお、ワイヤ剛性は、プーリ間ワイヤ長さに伴って線形変化するように設定し、ワイヤ粘性は、各剛性に比例して変化するように設定する。
【００９３】
【数６】
2006236035.tif 000008
【００９４】
ここで、式５の各ワイヤテンションＦ１０８、Ｆ２０８、Ｆ２０８、Ｆ３０８、Ｆ４０８、Ｆ７０８、Ｆ８０８、Ｆ９０８、Ｆ１００８は、次式（７）で求められる。
【００９５】
【数７】
2006236035.tif 000009
【００９６】
また、式５のワイヤばね係数ｋ２００、ｋ３００、ｋ４００、ｋ７００、ｋ８００、ｋ９００、ｋ１０００は、次式（８）で求められる。
【００９７】
【数８】
2006236035.tif 000010
【００９８】
次に、第３機構設計部１２３は、モータ２６１のモータ軸の回転速度をセンサ部２６４であるエンコーダのセンサ信号に変換する。例えば、第３機構設計部１２３は、センサ部２６４が光学インクリメンタルエンコーダである場合、Ａ相信号を、次式（９）に示すような速度で、パルス信号として出力し、Ｂ信号を、Ａ相信号と９０度の位相差を設けて出力する。
【００９９】
ｐｐｓ＝ω×Ｅｎｃ・・・（９）
ただし、ωは、モータ回転速度（ｒ／ｓｅｃ）、Ｅｎｃは、エンコーダの分解能（ｐｕｌｓｅ／ｒ）である。
【０１００】
そして、機構設計インタフェース部１２４は、上記第１機構設計部１２１、第２機構設計部１２２及び第３機構設計部１２３の解析を連続的に行うためのものであり、例えば、第１機構設計部１２１から算出されたモータ軸回転速度を第２機構設計部１２２と第３機構設計部１２３に入力して、それぞれ第１キャリッジ速度及びエンコーダ信号を算出する。
【０１０１】
そして、オフラインシミュレーション１２５は、各機構設計部１２１〜１２４で作成されたモデルを用いて、オフラインシミュレーションを行う。
【０１０２】
次に、リアルタイムシミュレーション部１３０について説明する。リアルタイムシミュレーション部１３０は、上記オフラインシミュレーションで用意したモデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションを実行する。このリアルタイムマシンは、例えば、近年、デジタル処理に使用されるＤＳＰボードやリアルタイムＯＳで動作するパーソナルコンピュータ等を用いることができる。
【０１０３】
次に、制御部１５０は、組み込みソフトウェア（制御プログラム）１５１ａとハードウェア１５１ｂから構成された図７の制御系ＭＣＵ２５０であり、実際の画像読取装置２００を制御するものである。組み込みソフトウェア１５１ａは、画像読取装置２００の実機を制御するアルゴリズムに相当するものであり、組み込みハードウェア１５１ｂは、組み込みソフトウェア１５１ａを実装したものである。
【０１０４】
次に、インタフェース部１４０は、制御部１５０から読取駆動機構モデル２６０Ｍにおけるリアルタイムシミュレーション部１３０のアクチュエータに与えた指令信号と、指令信号に応じてリアルタイムでのシミュレーションから、読取駆動機構モデル２６０Ｍにおけるリアルタイムシミュレーション部１３０のセンサから制御部１５０へフィードバックする信号のインタフェース処理を行う。インタフェース部１４０は、指令信号、例えば、制御部１５０から出力されたモータ端子電圧信号を、Ａ／Ｄ変換して、その値を読取駆動機構モデル２６０Ｍのリアルシミュレーション部１３０に入力する。このＡ／Ｄ変換を行った後のモータ端子電圧信号は、例えば、図９に示すような信号である。また、インタフェース部１４０は、センサ信号、例えば、上記センサ部２６４としてエンコーダを用いた場合のＡ相とＢ相のパルス信号を制御部１５０のカウンタに入力して、位置と速度制御に供する。なお、画像読取装置２００の立ち上げから０．０２ｓｅｃまでのＡ、Ｂ相パルス信号は、図１０の（ａ）、（ｂ）に示すような信号である。
【０１０５】
そして、最適化計算部１６０は、駆動機構の挙動、例えば、第１キャリッジ読取速度等をリアルタイムで計算し、この値を予め設定された目標関数と比較して、計算値と目標関数との差が最小になるように、リアルタイム駆動機構モデル２６０Ｍにおける各パラメータを最適化処理によって自動チューニングする。この最適化計算では、駆動機構挙動の計測値と目標関数の差分の合計値（ｙ）の勾配を第１実施例の式（１）を用いて計算し、適切な探索方向を決定する。
【０１０６】
最適化計算部１６０は、上記探索方向を決定すると、当該決定した探索方向に沿って新しい設計変数を設定し、当該算出した駆動機構挙動の値と目的関数の差分が最小になるまで、上記計算を繰り返し行う。
【０１０７】
表示部１７０は、アクチュエータに対するアクチュエータ指令信号、読取機構モデルのリアルタイムシミュレーション部１３０からのセンサ信号の時間変化及びリアルタイムでリアルタイムシミュレーション部１３０の解析により得られた解析結果、例えば、図９に示した指令信号、図１０に示したセンサ信号及び図１１に示す第１キャリッジの読取速度の解析結果等をリアルタイムで表示し、設計者は、これらの表示結果から制御系の制御状態を判断して、設計支援に利用する。
【０１０８】
次に、本実施の形態の作用を説明する。本実施の形態の駆動機構設計支援装置１００は、画像読取装置２００の読取機構設計パラメータをリアルタイムで自動的に最適化処理を行い、システム開発の効率化を図って、開発期間の短縮、工数の削減を図る。
【０１０９】
この駆動機構設計支援装置１００は、コンピュータ等に、ＣＤ−ＲＯＭ等の記録媒体に格納されている駆動機構設計支援プログラムと必要なデータを読み取らせて導入することで、構築されている。
【０１１０】
そして、駆動機構設計支援装置１００は、上記駆動機構設計支援プログラムがコンピュータ等に導入された状態で、入力部１１０から設計情報が入力されると、当該設計情報に基づいて、オフラインシミュレーション部１２０の第１機構設計部１２１が、例えば、図７に示した画像読取装置２００の読取駆動機構系２６０のアクチュエータを、図８に示したようにモデル化し、式（２）に示したようにモータの数式モデルを設定する。
【０１１１】
次に、第２機構設計部１２２が、伝達機構２６２、駆動部２６３及び画像読取装置２００の読取駆動機構系２６０の読取駆動機構モデル２６０Ｍを作成する。すなわち、第２機構設計部１２２は、まず、伝達機構２６２のベルト２６２ａについて、図８に示したように、ばねとダンパによってモデル化して、その運動方程式を式（３）に示したように設定し、伝達機構２６２の駆動伝達系のワイヤ２６２ｂについて、ばねとダンパによってモデル化して、その運動方程式を式（６）に示したように設定する。
【０１１２】
次に、第３機構設計部１２３が、モータ２６１のモータ軸の回転速度をセンサ部２６４であるエンコーダのセンサ信号に変換する。例えば、第３機構設計部１２３は、センサ部２６４が光学インクリメンタルエンコーダである場合、Ａ相信号を、式（９）に示したような速度で、パルス信号として出力し、Ｂ信号を、Ａ相信号と９０度の位相差を設けて出力する。
【０１１３】
そして、オフラインシミュレーション部１２０は、上記第１機構設計部１２１、第２機構設計部１２２及び第３機構設計部１２３の解析を連続的に行うように、機構設計インタフェース部１２４が処理し、例えば、第１機構設計部１２１から算出されたモータ軸回転速度を第２機構設計部１２２と第３機構設計部１２３に入力して、それぞれ第１キャリッジ速度及びエンコーダ信号を算出する。
【０１１４】
そして、駆動機構設計支援装置１００は、リアルタイムシミュレーション部１３０で、オフラインシミュレーション部１２０が構築した読取駆動機構モデル２６０Ｍを使用して、シミュレーションを行う。すなわち、リアルタイムシミュレーション部１３０は、上記オフラインシミュレーションで用意したモデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションを実行する。
【０１１５】
そして、駆動機構設計支援装置１００は、制御部１５０に搭載されている実機の画像読取装置２００を制御するための組み込みソフトウェア１５１ａに基づいて、インタフェース部１４０を介して、読取駆動機構モデル２６０Ｍにおけるリアルタイムシミュレーション部１３０のアクチュエータに指令信号を与え、当該指令信号に応じてリアルタイムシミュレーション部１３０で実行されるリアルタイムでのシミュレーションから、読取駆動機構モデル２６０Ｍにおけるセンサからフィードバックする信号を制御部１５０に返し、組み込みソフトウェア１５１ａの制御シミュレーションを行う。
【０１１６】
例えば、駆動機構設計支援装置１００は、制御部１５０から組み込みソフトウェア１５１ａにより、インタフェース部１４０を介して、例えば、制御部１５０から出力されたモータ端子電圧信号を指令信号として、リアルタイムシミュレーション部１３０に入力し、リアルタイムシミュレーション部１３０でのシミュレーション結果としてのセンサ信号、例えば、センサ部２６４としてエンコーダを用いた場合のＡ相とＢ相のパルス信号を制御部１５０に戻して、組み込みソフトウェア１５１ａの検証を行う。
【０１１７】
そして、駆動機構設計支援装置１００は、最適化計算部１６０で、駆動機構の挙動、例えば、第１キャリッジ読取速度等をリアルタイムで計算し、この値を予め設定された目標関数と比較して、計算値と目標関数との差が最小になるように、リアルタイム駆動機構モデル２６０Ｍにおける各パラメータを最適化処理によって自動チューニングする。この最適化計算では、駆動機構挙動の計測値と目標関数の差分の合計値（ｙ）の勾配を第１実施例の式（１）を用いて計算し、適切な探索方向を決定する。最適化計算部１６０は、上記探索方向を決定すると、当該決定した探索方向に沿って新しい設計変数を設定し、当該算出した駆動機構挙動の値と目的関数の差分が最小になるまで、上記計算を繰り返し行う。
【０１１８】
駆動機構設計支援装置１００は、上記アクチュエータに対するアクチュエータ指令信号、読取機構モデルのリアルタイムシミュレーション部１３０からのセンサ信号の時間変化及びリアルタイムでリアルタイムシミュレーション部１３０の解析により得られた解析結果、例えば、図９に示した指令信号、図１０に示したセンサ信号及び図１１に示す第１キャリッジの読取速度の解析結果等をリアルタイムで表示部１７０に表示する。
【０１１９】
そして、設計者は、これらの表示結果から制御系の制御状態を判断して、設計支援に利用する。
【０１２０】
このように、本実施の形態の駆動機構設計支援装置１００は、アクチュエータである伝達機構２６２のモータ２６１等の駆動源の設計支援を行うに際して、オフラインシミュレーション部１２０で、駆動機構の設計情報に基づいて読取駆動機構系２６０を読取駆動機構モデル２６０Ｍとしてモデル化して、当該読取駆動機構モデル２６０Ｍを用いてオフラインでシミュレートし、リアルタイムシミュレーション部１３０で、当該読取駆動機構モデル２６０Ｍをリアルタイムマシンに実装して、リアルタイムでシミュレートし、読取駆動機構系２６０を制御する制御プログラムとして組み込みソフトウェア１５１ａを格納する制御部１５０とリアルタイムシミュレーション部１３０との間のデータの授受をインタフェース部１４０で行って、最適化計算部１６０で、リアルタイムシミュレーション部１３０でシミュレートする読取駆動機構モデル２６０Ｍの各パラメータをリアルタイムで最適化している。
【０１２１】
したがって、読取駆動機構モデル２６０Ｍの各パラメータをリアルタイムで自動的に最適化処理して、システム開発を効率的に行うことができ、開発期間の短縮、工数の削減を実現することができる。
【０１２２】
また、本実施の形態の駆動機構設計支援装置１００は、オフラインシミュレーション部１２０を、読取駆動機構系２６０の設計を行う際に、選択されたアクチュエータをモデル化する第１機構設計部１２１と、アクチュエータの駆動力によって動作を行う読取駆動機構系２６０をモデル化する第２機構設計部１２２と、読取駆動機構系２６０の設計を行う際に、選択されたセンサをモデル化する第３機構設計部１２３と、各機構設計部１２１〜１２３の間のデータ授受を行う機構設計インタフェース部１２４と、を備え、各モデルによって読取駆動機構系２６０の動作をオフラインでシミュレートしている。
【０１２３】
したがって、読取駆動機構系２６０の設計情報に基づいて、読取駆動機構系２６０のモデルを作成して、オフラインでシミュレーションすることができる。
【０１２４】
さらに、本実施の形態の駆動機構設計支援装置１００は、リアルタイムシミュレーション部１３０を、読取駆動機構モデル２６０Ｍをリアルタイムマシンに実装して、リアルタイムで読取駆動機構２６０の動作をシミュレートしている。
【０１２５】
したがって、リアルタイムでシミュレーションすることができ、システムの開発のより一層の効率化を図って、開発期間をより一層短縮することができるとともに、工数を削減することができる。
【０１２６】
また、本実施の形態の駆動機構設計支援装置１００は、制御部１５０を、制御アルゴリズムに基づいて読取駆動機構系２６０に所定の動作を実行させる組み込みソフトウェア１５１ａと、当該組み込みソフトウェア１５１ａの実装されている実際の制御部１５０と、を有するものとしている。
【０１２７】
したがって、組み込みソフトウェア１５１ａと実装した制御部１５０を用いたシステムを検証することができ、システムの開発のより一層の効率化を図って、開発期間をより一層短縮することができるとともに、工数を削減することができる。
【０１２８】
さらに、本実施の形態の駆動機構設計支援装置１００は、インタフェース部１４０を、リアルタイムシミュレーション部１３０と制御部１５０との間でのデータの授受をリアルタイムで行うものとしている。
【０１２９】
したがって、システムの開発をより速やかに行うことができ、制御系の開発期間をより一層短縮ことができる。
【０１３０】
また、本実施の形態の駆動機構設計支援装置１００は、インタフェース部１４０が、制御部１５０からリアルタイムシミュレーション部１３０に、読取駆動機構モデル２６０Ｍにおけるアクチュエータに対するアクチュエータ指令信号を受け渡している。
【０１３１】
したがって、制御部１５０から制御指令を読取駆動機構モデル２６０Ｍに入力して、リアルタイムでシミュレーションを行うことができ、システムの開発期間をより一層短縮ことができる。
【０１３２】
さらに、本実施の形態の駆動機構設計支援装置１００は、インタフェース部１４０が、アクチュエータ指令信号に応じたリアルタイムシミュレーション部１３０でのシミュレーション結果として得られ読取駆動機構モデル２６０Ｍにおけるセンサからのセンサ信号を制御部１５０へ受け渡している。
【０１３３】
したがって、読取駆動機構モデル２６０Ｍからの計算結果を制御部１５０に入力して、リアルタイムでシミュレーションを行うことができ、システムの開発期間をより一層短縮ことができる。
【０１３４】
また、本実施の形態の駆動機構設計支援装置１００は、最適化計算部１６０が、読取駆動機構モデル２６０Ｍのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較している。
【０１３５】
したがって、読取駆動機構モデル２６０Ｍを最適化することができる。
【０１３６】
さらに、本実施例の駆動機構設計支援装置１００は、最適化計算部１６０が、目的関数の評価結果に基づいて、リアルタイムに読取駆動機構モデル２６０Ｍにおける各パラメータの最適値を探索している。
【０１３７】
したがって、読取駆動機構モデル２６０Ｍにおける各パラメータを最適化することができる。
【産業上の利用可能性】
【０１３８】
スキャナ、複写装置等の画像読取装置等の駆動機構の開発の支援に適用することができる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第１実施例を適用した駆動制御系設計支援装置のブロック構成図。
【図２】図１の駆動制御系設計支援装置の適用される画像読取装置の概略構成図。
【図３】図２の読取駆動機構系をモデル化した読取駆動制御系モデルの模式図。
【図４】読取駆動制御系モデルをリアルタイムシミュレーション部に実装した図。
【図５】本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第２実施例を適用した駆動機構設計支援装置のブロック構成図。
【図６】図５の駆動機構設計支援装置の適用される読取駆動機構の斜視図。
【図７】図５の駆動機構設計支援装置の適用される画像読取装置の概略構成図。
【図８】図６の読取駆動機構をモデル化した読取駆動系モデルの模式図。
【図９】図５の制御部からリアルタイムシミュレーション部に入力されるモータ端子電圧信号の一例を示す図。
【図１０】図５のリアルタイムシミュレーション部から制御部に入力されるセンサ信号としてのエンコーダのＡ相電圧信号（ａ）とＢ相電圧信号（ｂ）の一例を示す図。
【図１１】図５の表示部に表示される図８の第１キャリッジの読取速度の解析結果の一例を示す図。
【符号の説明】
【０１４０】
１  駆動制御系設計支援装置
１０  オフラインシミュレーション部
１１  速度プロファイル設定ブロック
１２  制御系ゲイン設定ブロック
１３  フィードフォワード量設定ブロック
２０  リアルタイムシミュレーション部
３０  インタフェース部
４０  最適化計算部
５０  制御対象機構部
５１  アクチュエータ
５２  センサ
７０  画像読取装置
８０  制御系ＭＣＵ
８１  デジタル制御部
８２  駆動アンプ
９０  読取駆動機構系
９１  モータ
９２  伝達機構
９３  駆動部
９４  センサ部
１００  駆動機構設計支援装置
１１０  入力部
１２０  オフラインシミュレーション部
１２１  第１機構設計部
１２２  第２機構設計部
１２３  第３機構設計部
１２４  機構設計インタフェース部
１２５  シミュレーション部
１３０  リアルタイムシミュレーション部
１４０  インターフェイス部
１５０  制御部
１５１ａ  組み込みソフトウェア
１５１ｂ  組み込みハードウェア
１６０  最適化計算部
１７０  表示部
２００  画像読取装置
２０１、２０２  レール
２０３  第１キャリッジ
２０４  第２キャリッジ
２０５  光源
２０６  ミラー
２０７  ミラー
２０８、２０９  プーリ
２１０  回転軸
２１１  ギヤ
２１２  モータ
２１３  ギヤ
２１４  タイミングベルト
２１５、２１６、２１７、１１８  アイドラプーリ
２１９、２２０  ワイヤ
２３０  エンコーダ
２５０  制御系ＭＣＵ  ２５１  デジタル制御部
２５２  駆動アンプ
２６０  読取駆動機構系
２６１  モータ
２６２  伝達機構
２６２ａ  ベルト
２６２ｂ  ワイヤ
２６３  駆動部
２６４  センサ部
【図１】
2006236035.tif 000011
【図２】
2006236035.tif 000012
【図３】
2006236035.tif 000013
【図４】
2006236035.tif 000014
【図５】
2006236035.tif 000015
【図６】
2006236035.tif 000016
【図７】
2006236035.tif 000017
【図８】
2006236035.tif 000018
【図９】
2006236035.tif 000019
【図１０】
2006236035.tif 000020
【図１１】
2006236035.tif 000021