説明

駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体

【課題】本発明は、駆動機構を動作させるアクチュエータを駆動制御する駆動制御系と当該駆動機構の開発支援を行う駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関する。
【解決手段】駆動制御系設計支援装置1は、オフラインシミュレーション部10で、制御系MCU80の設計情報に基づいて制御系MCU80をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション部20で、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の読取駆動機構系90をリアルタイムでシミュレートする。そして、最適化計算部40が、リアルタイムシミュレーション部20でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関し、詳細には、アクチュエータやセンサを有し、3次元的な動作を行う機構を制御する駆動制御系、当該駆動機構の開発支援を行う駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体に関する。
【背景技術】
【0002】
一般的に、アクチュエータ(モータ)やセンサ等を有する機構の設計開発においては、3次元的な動作を行う機構から、部品の組み立てを行って、実機を試作し、試作した実機を動作させて、その評価を行う。そして、実機の動作評価の結果に応じて、設計変更を行い、設計変更後の実機を試作して、再び試作した実機の動作評価を行うという処理を繰り返し行い、評価の結果が良好であれば、設計を完了する。
【0003】
そして、このような機構を動作させるためには、機構の動作を制御する制御プログラムを開発し、その制御プログラムを制御対象の機構内に組み込まれるマイコンで実行させるようにしている。この制御プログラムを開発する際には、従来、制御すべき機構の試作品が完成している必要がある。すなわち、試作が完了してはじめてメカを具体的に動かすことができ、それを使って制御プログラム(組み込みソフトウェア)の開発を開始することができるわけである。この組み込みソフトウェアの開発は、試作品の完成後、その試作品を実際に動作させながら、開発を進める。
【0004】
このように、駆動機構システムの開発を行う際には、制御対象の機構の試作品が必要であるため、試作品が完成するまでは、組み込みソフトウェアの開発を行うことができず、駆動機構システムの開発に時間やコストがかかり、非効率的であった。
【0005】
そして、アクチュエータ(モータ)やセンサを有する駆動機構を制御するための制御プログラムを開発する際には、一般的に、制御プログラムを机上(オフライン)で設計・検証を行った後、制御すべき駆動機構の試作品を用いて、制御プログラムとリンクさせて、リアルタイムで制御プログラムを検証する、いわゆる、RCP(Rapid Controller Prototype)シミュレーションを行う(特許文献1、特許文献2等参照)。
【0006】
ところが、机上(オフライン)での検証は、各モデルの精度によって、正確に設計を評価することには限界があるため、試作品の挙動を計測して、この計測値に基づいて、制御プログラムで用いている各パラメータを少しずつ調整する必要があり、開発に時間やコストがかかり非効率的であるという課題があった。
【0007】
また、試作品が完成するまでの間に、計算機上に開発対象の機構の実物とそっくりに動く仮想メカを構築し、当該仮想メカを実機の代わりに駆動させるHIL(Hardware in the Loop)シミュレーションシステムを構築し、シミュレーションシステムにおける各パラメータを少しずつチューニングして、システムの開発に利用することが行われている(特許文献3、特許文献4参照)。
【0008】
【特許文献1】特開平05−324403号公報
【特許文献2】特開平09−034504号公報
【特許文献3】特開2001−222572号公報
【特許文献4】特開2003−03025号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上記従来のシミュレーション技術を使用した駆動制御系の開発や駆動機構の開発にあっては、制御プログラムや仮想メカのチューニング作業に時間とコストがかかり、非効率的であるという問題があった。
【0010】
そこで、本発明は、制御プログラムと制御対象機構をリアルタイムでシミュレーションを行う際、制御系設計パラメータをリアルタイムで自動的に最適化処理を行い、駆動制御系の開発の効率化をはかり、開発期間の短縮、工数の削減を実現する駆動制御系設計支援装置、駆動制御系設計支援プログラム及びこの駆動制御系設計支援プログラムを記録する記録媒体を提供することを目的としている。
【0011】
また、本発明は、駆動機構と制御器をリアルタイムでシミュレーションを行う際、駆動機構設計パラメータをリアルタイムで自動的に最適化処理を行い、システムの開発の効率化を図り、開発期間の短縮、工数の削減を実現する駆動機構設計支援装置、駆動機構設計支援プログラム及びこの駆動機構設計支援プログラムを記録する記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0012】
請求項1記載の発明の駆動制御系設計支援装置は、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援装置であって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することにより、上記目的を達成している。
【0013】
この場合、例えば、請求項2に記載するように、前記オフラインシミュレーション手段は、前記駆動制御系の設計情報に基づいて当該駆動制御系の制御アルゴリズムをモデル化し、当該駆動制御系の動作をオフラインでシミュレートしてもよい。
【0014】
また、例えば、請求項3に記載するように、前記リアルタイムシミュレーション手段は、前記オフライン駆動制御系モデルを前記リアルタイムマシンに実装して、インタフェース手段を介してデータの授受を行って、制御対象の前記駆動機構とリアルタイムでシミュレートしてもよい。
【0015】
さらに、例えば、請求項4に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段と制御対象の前記駆動機構との間でのデータの授受をリアルタイムで行ってもよい。
【0016】
また、例えば、請求項5に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から制御対象の前記駆動機構に、当該駆動機構の前記アクチュエータに対するアクチュエータ指令信号を渡してもよい。
【0017】
さらに、例えば、請求項6に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記駆動機構に、当該駆動機構の前記センサからのセンサ信号に応じたシミュレーション結果に基づいて、前記アクチュエータ指令信号を決定して、受け渡してもよい。
【0018】
また、例えば、請求項7に記載するように、前記最適化計算手段は、前記駆動機構の挙動を前記センサによって収集し、当該センサの信号と予め設定された目的関数をリアルタイムに比較して、前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化してもよい。
【0019】
さらに、例えば、請求項8に記載するように、前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記駆動制御系モデルにおける各パラメータの最適値を探索してもよい。
【0020】
請求項9記載の発明の駆動制御系設計支援プログラムは、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムであって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【0021】
請求項10記載の発明の記録媒体は、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムを記録する記録媒体であって、当該駆動制御系設計支援プログラムが、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【0022】
請求項11記載の発明の駆動機構設計支援装置は、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援装置であって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と、前記リアルタイムシミュレーション手段と前記制御手段との間でリアルタイムにデータの授受を行うインタフェース手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することにより、上記目的を達成している。
【0023】
この場合、例えば、請求項12に記載するように、前記オフラインシミュレーション手段は、前記駆動機構の設計を行う際に、選択されたアクチュエータをモデル化する第一機構設計手段と、前記アクチュエータの駆動力によって動作を行う前記駆動機構をモデル化する第二機構設計手段と、前記駆動機構の設計を行う際に、選択されたセンサをモデル化する第三機構設計手段と、前記各機構設計手段の間のデータ授受を行う機構設計インタフェース手段と、を備え、前記各モデルによって前記駆動機構の動作をオフラインでシミュレートしてもよい。
【0024】
また、例えば、請求項13に記載するように、前記リアルタイムシミュレーション手段は、前記駆動機構のオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムで前記駆動機構の動作をシミュレートしてもよい。
【0025】
さらに、例えば、請求項14に記載するように、前記制御手段は、前記制御アルゴリズムに基づいて前記駆動機構に所定の動作を実行させる組み込みソフトウェアと、当該組み込みソフトウェアの実装されている実際の制御器と、を有していてもよい。
【0026】
また、例えば、請求項15に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段と前記制御器との間でのデータの授受をリアルタイムで行ってもよい。
【0027】
また、例えば、請求項16に記載するように、前記インタフェース手段は、前記制御器から前記リアルタイムシミュレーション手段に、前記オフライン駆動系モデルにおける前記アクチュエータに対するアクチュエータ指令信号を受け渡してもよい。
【0028】
さらに、例えば、請求項17に記載するように、前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記制御手段に、前記アクチュエータ指令信号に応じたシミュレーション結果として得られ前記オフライン駆動系モデルにおける前記センサからのセンサ信号を受け渡してもよい。
【0029】
また、例えば、請求項18に記載するように、前記最適化計算手段は、前記オフライン駆動系モデルのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較してもよい。
【0030】
さらに、例えば、請求項19に記載するように、前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記オフライン駆動系モデルにおける各パラメータの最適値を探索してもよい。
【0031】
請求項20記載の発明の駆動機構設計支援プログラムは、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムであって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【0032】
請求項21記載の発明の記録媒体は、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムを記録する記録媒体であって、前記駆動機構設計支援プログラムは、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーションステップとの間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することにより、上記目的を達成している。
【発明の効果】
【0033】
本発明によれば、センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行うに際して、オフラインシミュレーション手段が、駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション手段が、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の駆動機構をリアルタイムでシミュレートし、最適化計算手段が、リアルタイムシミュレーション手段でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化するので、制御系設計パラメータをリアルタイムで自動的に最適化して、駆動制御系開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【0034】
また、本発明によれば、センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行うに差逸して、オフラインシミュレーション手段が、駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化して、当該オフライン駆動系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション手段が、オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートし、インタフェース手段が、駆動機構を制御対象とする制御アルゴリズムの実装された制御手段とリアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行って、最適化計算手段が、リアルタイムシミュレーション手段でシミュレートするオフライン駆動系モデルの各パラメータをリアルタイムで最適化するので、駆動機構設計パラメータをリアルタイムで自動的に最適化して、システム開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【発明を実施するための最良の形態】
【0035】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例1】
【0036】
図1〜図4は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第1実施例を示す図であり、図1は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第1実施例を適用した駆動制御系設計支援装置1のブロック構成図である。
【0037】
図1において、駆動制御系設計支援装置1は、オフラインシミュレーション部10、リアルタイムシミュレーション部20、インタフェース部30及び最適化計算部40等を備えており、例えば、図2に示すような画像読取装置70の制御系設計支援を行う。
【0038】
駆動制御系設計支援装置1は、例えば、コンピュータ等に、CD−ROM(Compact Disc Read Only Memory )等の記録媒体に格納されている駆動制御系設計支援プログラムと必要なデータを読み取らせることで、構築される。この駆動制御系設計支援プログラムは、駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデル(オフライン駆動制御系モデル)を用いてオフラインでシミュレートするオフラインシミュレーションステップと、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、リアルタイムシミュレーションステップでシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有している。
【0039】
図2に示す画像読取装置70では、制御系MCU(Motor Control Unit)80と読取駆動機構系90を備えている。制御系MCU80は、デジタル制御部81と駆動アンプ82を備えており、読取駆動機構系90は、モータ91、伝達機構92、駆動部93及びセンサ部94等を備えている。
【0040】
制御系MCU80のデジタル制御部81から読取駆動機構系90のモータ91のトルク指令値を駆動アンプ82を通して出力して、読取駆動機構系90のブラシ付きDCモータ等のモータ91に印加電圧を与え、タイミングベルトやワイヤ等の伝達機構92を介して、画像読取部のプーリ等の駆動部93を駆動させて読取動作を行う。一方、モータ軸に装着した光学式エンコーダ等のセンサ部94でモータの回転速度や回転位置等を計測して、制御系MCU80のデジタル制御部81にモータ位置とモータ速度の情報をフィードバックし、それぞれのデジタル制御を行う。
【0041】
再び、図1において、まず、制御系設計支援装置1のオフラインシミュレーション部10について説明する。オフラインシミュレーション部10は、図2に示したデジタル制御部81における制御アルゴリズムを、入力された設計情報に基づいて、制御系モデル(オフライン駆動制御系モデル)を作成する。このモデルとしては、例えば、図3に示すようなものであり、速度プロファイル設定ブロック11、制御系ゲイン設定ブロック12及びフィードフォワード量設定ブローク13から構成されている。エンコーダから読み取った位置情報に応じて、モータ速度を速度プロファイル設定ブロック11で決めて、制御系ゲイン設定ブロック12とフィードフォワード量設定ブロック13によって、そのときの電流値に換算し、駆動系モデルに出力する。駆動系モデルの解析結果によって、制御系設計の妥当性をオフラインで評価する。
【0042】
次に、駆動制御系設計支援装置1のリアルタイムシミュレーション部20について説明する。オフラインシミュレーションで検証された制御系モデル(オフライン駆動制御系モデル)をリアルタイムマシンに実装して、リアルタイムでシミュレーションを行う。リアルタイムマシンは、例えば、近年デジタル処理によく用いられるDSP(Digital Signal Processor)ボードやリアルタイムOS(Operating System)で動作するパーソナルコンピュータ等を用いる。
【0043】
次に、制御系設計支援装置1のインタフェース部30について説明する。インタフェース部30は、制御系モデルから制御対象機構部50、例えば、図2の読取駆動機構系90における制御部(例えば、図2の制御系MCU80)に、図4に示すように、フィードバックする信号と、フィードバック信号に応じてリアルタイムでのシミュレーションにより、制御系モデルから算出されたアクチュエータ51に与えた指令信号から構成されている。指令信号は、例えば、制御部から出力されたモータ電流信号をD/A(デジタル/アナログ)変換を行って、その値をモータ駆動アンプに入力して、モータ駆動を行う。また、センサ52の検出したセンサ信号は、例えば、エンコーダを用いた場合、A相とB相のパルス信号をカウンタボードに入力して、位置制御と速度制御に換算したものである。
【0044】
そして、制御系設計支援装置1の最適化計算部40は、制御対象機構部50の挙動がセンサ52によって計測されると、この計測値を予め設定された目的関数と比較して、その差が最小になるようにし、リアルタイムシミュレーション部20の制御系モデルにおける各パラメータを最適化処理によってチューニングして、リアルタイムシミュレーション部20に出力する。最適化計算部40は、駆動機構挙動の計測値と目的関数の差分の合計値(y)の勾配を次式(1)で計算し、この勾配に基づいて、適切な探索方向を決定する。
【0045】
【数1】

【0046】
最適化計算部40は、勾配を計算して最適な探索方向を決定すると、決定された探索方向に沿って、新しい設計変数を設定し、算出した駆動機構挙動の計測値と目的関数の差分が最小になるまで上記計算を繰り返し行う。
【0047】
次に、本実施例の作用を説明する。本実施例の駆動制御系設計支援装置1は、まず、オフラインシミュレーション部10が、図2に示した制御系MCU80のデジタル制御部81における制御アルゴリズムを、入力された設計情報に基づいて、例えば、図3に示したようにモデル化し、エンコーダ等のセンサ部94から読み取った位置情報に応じて、モータ速度を速度プロファイル設定ブロック11で決めて、制御系ゲイン設定ブロック12とフィードフォワード量設定ブロック13によってそのときの電流値に換算し、駆動系モデルに出力する。駆動系モデルの解析結果によって、制御系設計の妥当性をオフラインで評価する。
【0048】
次に、オフラインシミュレーション部10でのオフラインシミュレーションで検証された制御系モデルを、リアルタイムマシンに実装して、リアルタイムシミュレーション部20によって、リアルタイムでシミュレーションを行う。このとき、インタフェース部30が、リアルタイムシミュレーション部20と制御対象機構部50との間の指令信号とセンサ信号の授受を行う。
【0049】
そして、最適化計算部40が、制御対象機構部50の挙動がセンサ52によって計測された計測値を予め設定された目的関数と比較して、その差を最小にするように、リアルタイム制御系モデルにおける各パラメータを最適化処理によってチューニングして、リアルタイムシミュレーション部20に出力する。最適化計算部40は、駆動機構挙動の計測値と目的関数の差分の合計値(y)の勾配を上記式(1)で計算し、この勾配に基づいて、適切な探索方向を決定する。
【0050】
最適化計算部40は、勾配を計算して最適な探索方向を決定すると、決定された探索方向に沿って、新しい設計変数を設定し、算出した駆動機構挙動の計測値と目的関数の差分が最小になるまで上記計算を繰り返し行う。
【0051】
このように、本実施例の駆動制御系設計支援装置1は、センサ部94の検出結果に応じて制御プログラムに基づいて読取駆動機構系90を動作させるアクチュエータのモータ91等の駆動源を制御する駆動制御系である制御系MCU80の設計支援を行うに際して、オフラインシミュレーション部10で、制御系MCU80の設計情報に基づいて制御系MCU80をオフライン駆動制御系モデルとしてモデル化して、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートし、リアルタイムシミュレーション部20で、オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の読取駆動機構系90をリアルタイムでシミュレートする。そして、駆動制御系設計支援装置1は、最適化計算部40が、リアルタイムシミュレーション部20でシミュレートするオフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する。
【0052】
したがって、制御系MCU80の設計・開発の効率化を図ることができ、開発期間の短縮、工数の削減を実現することができる。
【0053】
また、本実施例の駆動制御系設計支援装置1は、オフラインシミュレーション部10が、制御系MCU80の設計情報に基づいて制御系MCU80の制御アルゴリズムをモデル化し、制御系MCU80の動作をオフラインでシミュレートしている。
【0054】
したがって、制御系MCU80の設計をオフラインでシミュレーションを行うことができる。
【0055】
さらに、本実施例の駆動制御系設計支援装置1は、リアルタイムシミュレーション部20が、オフライン駆動制御系モデルをリアルタイムマシンに実装して、インタフェース部30を介してデータの授受を行って、制御対象の読取駆動機構系90とリアルタイムでシミュレートする。
【0056】
したがって、オフラインで検証されたシミュレーションモデルをリアルタイムでシミュレーションすることができる。
【0057】
また、本実施例の駆動制御系設計支援装置1は、インタフェース部30が、リアルタイムシミュレーション部20と制御対象の読取駆動機構系90との間でのデータの授受をリアルタイムで行う。
【0058】
したがって、リアルタイム制御系モデルと制御対象の読取駆動機構系90との間でデータ送受をリアルタイムで行うことができる。
【0059】
さらに、本実施例の駆動制御系設計支援装置1は、インタフェース部30が、リアルタイムシミュレーション部20から制御対象の読取駆動機構系90に、当該読取駆動機構系90のアクチュエータに対するアクチュエータ指令信号を渡す。
【0060】
したがって、リアルタイム制御系モデルから読取駆動機構系90へ指令信号をリアルタイムで渡すことができ、リアルタイムで制御系設計を評価することができる。
【0061】
また、本実施例の駆動制御系設計支援装置1は、インタフェース部30が、リアルタイムシミュレーション部20から読取駆動機構系90に、読取駆動機構系90のセンサ部94からのセンサ信号に応じたシミュレーション結果に基づいて、アクチュエータ指令信号を決定して、受け渡している。
【0062】
したがって、読取駆動機構系90におけるセンサ部94からのセンサ信号に応じて、アクチュエータ指令信号を決定し、受け渡すことができる。
【0063】
さらに、本実施例の駆動制御系設計支援装置1は、最適化計算部40が、読取駆動機構系90の挙動をセンサ部94によって収集し、センサ部90の信号と予め設定された目的関数をリアルタイムに比較して、オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化している。
【0064】
したがって、読取駆動機構系90の挙動を計測し、目的関数と比較することで、制御系モデルを最適化することができる。
【0065】
また、本実施例の駆動制御系設計支援装置1は、最適化計算部40が、目的関数の評価結果に基づいて、リアルタイムに駆動制御系モデルにおける各パラメータの最適値を探索している。
【0066】
したがって、制御系モデルにおける各パラメータを最適化することができる。
【実施例2】
【0067】
図5〜図11は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第2実施例を示す図であり、図5は、本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第2実施例を適用した駆動機構設計支援装置100のブロック構成図である。
【0068】
図5において、駆動機構設計支援装置100は、入力部110、オフラインシミュレーション部120、リアルタイムシミュレーション部130、インターフェイス部140、制御部150、最適化計算部160及び表示部170等を備えており、図6に示すような画像読取装置200の制御系設計支援を行う。
【0069】
このような画像読取装置200は、一般的に、図6に示すように、副走査方向に延在して平行に配設された一対のレール201、202に、第1キャリッジ203と第2キャリッジ204が当該レール201、202に沿って移動可能に搭載されており、第1キャリッジ203は、光源205及びミラー206を搭載している。第2キャリッジ204は、複数個のミラー207を搭載しており、その両端には、プーリ208、209が設けられている。
【0070】
レール201とレール202に直交する状態で、回転軸210が配設されており、回転軸210のレール201側には、ギヤ211が設けられている。ギヤ211は、モータ212の駆動軸に連結されたギヤ213との間に張り渡されたタイミングベルト214で連結されており、モータ212の駆動力がギヤ213及びギヤ211を介してタイミングベルト214により回転軸210に伝達される。このモータ212は、一般的に、ステッピングモータが用いられ、ステッピングモータは、回転動作条件を予め設定した速度テーブルに従って回転動作する。
【0071】
レール201、202の両端部には、それぞれアイドラプーリ215、216、217、118が設けられており、レール201、202に沿ってそれぞれその一端が図示しない筐体の壁に固定されているワイヤ219、220が張り渡されている。
【0072】
ワイヤ219は、固定された筐体の壁側から第2キャリッジ204のプーリ208、アイドラプーリ215の順に架け回されて、回転軸210に固定されているワイヤプーリ221に数回巻き付けられ、さらに、アイドラプーリ216及び第2キャリッジ204のプーリ208に順次架け回されて、その他端が図示しないスプリングを介して筐体に固定されている。また、ワイヤ219は、アイドラプーリ215と第2キャリッジ204のプーリ208との間の部分が、第1キャリッジ203のレール201側の一端に固定されている。
【0073】
また、ワイヤ220は、同様に、固定された筐体の壁側から第2キャリッジ204のプーリ209、アイドラプーリ217の順に架け回されて、回転軸210に固定されているワイヤプーリ222に数回巻き付けられ、さらに、アイドラープーリ218及び第2キャリッジ204のプーリ209に順次架け回されて、その他端が図示しないスプリングを介して筐体に固定されている。また、ワイヤ220は、アイドラプーリ217と第2キャリッジ204のプーリ209との間の部分が、第1キャリッジ203のレール202側の一端に固定されている。
【0074】
上記第1キャリッジ203と第2キャリッジ204の駆動機構が、原稿の載置される図示しないコンタクトガラスの下部に配設されて、モータ212の駆動力により、ワイヤプーリ221、222が回転し、ワイヤ219、220に引かれて、第1キャリッジ203と第2キャリッジ204が副走査方向に移動する。画像読取装置200は、この第1キャリッジ203に搭載されている光源205から原稿に読取光を照射して、原稿で反射された原稿画像の反射光を第1キャリッジ203のミラー206で第2キャリッジ204のミラー207方向に反射し、第2キャリッジ204のミラー207で、図示しないCCD(Charge Coupled Device )等の読取センサに入射させて主走査することで原稿の画像を読み取る。すなわち、画像読取装置200は、モータ212の回転を制御することにより、第1キャリッジ203と第2キャリッジ204を副走査方向に移動させつつ、主走査して、原稿の画像を読み取る。
【0075】
そして、画像読取装置200は、上述のような読取動作において、原稿の画像情報を忠実に再現するためには、キャリッジ103、104を精度よく駆動し、原稿の画像の読み取りを行う必要がある。
【0076】
この読取機構を動作させるためには、その機構を制御するための制御アルゴリズムを開発して、その制御アルゴリズムを制御対象の機構内に組み込まれているマイクロコンピュータ等で実行させるようにしている。
【0077】
すなわち、このような構造によって、モータ212の駆動力により、ワイヤプーリ221、222が回転して、ワイヤ219、220に引かれ、第1キャリッジ203、第2キャリッジ204が走査移動して、エンコーダ230が、モータ212の回転軸の回転量を取得して、制御系にフィードバックする。
【0078】
そして、このような画像読取装置200の制御系の設計支援を図5の駆動機構設計支援装置100で行う。
【0079】
この駆動機構設計支援装置100は、例えば、コンピュータ等に、CD−ROM等の記録媒体に格納されている駆動機構設計支援プログラムと必要なデータを読み取らせることで、構築される。この駆動機構設計支援プログラムは、図6に示したような駆動機構(例えば、画像読取装置200の駆動機構)の設計情報に基づいて当該駆動機構をモデル化し、オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、オフラインシミュレーションステップの駆動機構モデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションするリアルタイムシミュレーションステップと、駆動機構を制御対象とする制御アルゴリズムの実装された制御部150とリアルタイムシミュレーション部130との間でリアルタイムにデータの授受を行うインタフェースステップと、リアルタイムシミュレーションステップでシミュレートする駆動機構モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有している。
【0080】
図5において、オフラインシミュレーション部120は、第1機構設計部121、第2機構設計部122、第3機構設計部123、機構設計インタフェース部124及びシミュレーション部125等を備え、制御部150は、組み込みソフトウェア151aと当該組み込みソフトウェア151aを実行する実際の画像読取装置200の組み込みハードウェア151bを備えている。
【0081】
図6に示した画像読取装置200は、その制御系を、図7のように示すことができ、制御系MCU250と読取駆動機構系260等を備えている。制御系MCU250は、位置制御や速度制御等を行うデジタル制御部251と定電流制御等を行う駆動アンプ252等を備えており、読取駆動機構系260は、ブラシ付きDCモータ等のモータ261、タイミングベルトやワイヤ等の伝達機構262、プーリや読取部等の駆動部263及び光学式エンコーダ等のセンサ部264等を備えている。
【0082】
図7において、画像読取装置200は、制御系MCU250がデジタル制御部251からモータ261のトルク指令値を駆動アンプ252を通して、読取駆動機構系260のモータ261に印加電圧を与え、タイミングベルトやワイヤ等の伝達機構262を介して、画像読取部が読取動作を行う。一方、モータ軸に装着されているエンコーダ等のセンサ部264の検出した位置と速度の情報を制御系MCU250に提供して、制御系MCU250のデジタル制御部部251が位置と速度のデジタル制御を行う。
【0083】
そして、図5のオフラインシミュレーション部120は、図7に示した画像読取装置200の読取駆動機構系260を、入力部110から入力された設計情報に基づいて、例えば、図8に示すようにモデル化して、読取駆動機構系260のモデル(読取駆動機構モデル)260Mを作成する。
【0084】
すなわち、まず、第1機構設計部121が、設計時に選択されたアクチュエータをモデル化する。例えば、図8に示すように、モータ261としてDCモータを用いた場合、モータ端子印加電圧Eaを入力として、インダクタンスLa、抵抗R、逆起電係数Ebを用いて、モータ261の数式モデルを、次式(2)に示すように設定する。
【0085】
【数2】

【0086】
次に、第2機構設計部122が、伝達機構262、駆動部263及び画像読取装置200の読取部の読取駆動機構モデル260Mを構成する。すなわち、第2機構設計部122は、まず、伝達機構262のベルト262aについて、図8に示すように、ばねとダンパによってモデル化し、その運動方程式を次式(3)に示すように設定する。なお、ベルトの剛性は、線形変化とし、粘性は、各剛性に比例して、変化するように設定する。
【0087】
【数3】

【0088】
式(3)の各ベルトテンションF10、F20は、次式(4)で求められる。
【0089】
【数4】

【0090】
また、ベルト特性値は、次式(5)で求められる。
【0091】
【数5】

【0092】
また、第2機構設計部122は、伝達機構262の駆動伝達系のワイヤ262bについて、ばねとダンパによってモデル化し、その運動方程式を次式(6)に示すように設定する。なお、ワイヤ剛性は、プーリ間ワイヤ長さに伴って線形変化するように設定し、ワイヤ粘性は、各剛性に比例して変化するように設定する。
【0093】
【数6】

【0094】
ここで、式5の各ワイヤテンションF108、F208、F208、F308、F408、F708、F808、F908、F1008は、次式(7)で求められる。
【0095】
【数7】

【0096】
また、式5のワイヤばね係数k200、k300、k400、k700、k800、k900、k1000は、次式(8)で求められる。
【0097】
【数8】

【0098】
次に、第3機構設計部123は、モータ261のモータ軸の回転速度をセンサ部264であるエンコーダのセンサ信号に変換する。例えば、第3機構設計部123は、センサ部264が光学インクリメンタルエンコーダである場合、A相信号を、次式(9)に示すような速度で、パルス信号として出力し、B信号を、A相信号と90度の位相差を設けて出力する。
【0099】
pps=ω×Enc・・・(9)
ただし、ωは、モータ回転速度(r/sec)、Encは、エンコーダの分解能(pulse/r)である。
【0100】
そして、機構設計インタフェース部124は、上記第1機構設計部121、第2機構設計部122及び第3機構設計部123の解析を連続的に行うためのものであり、例えば、第1機構設計部121から算出されたモータ軸回転速度を第2機構設計部122と第3機構設計部123に入力して、それぞれ第1キャリッジ速度及びエンコーダ信号を算出する。
【0101】
そして、オフラインシミュレーション125は、各機構設計部121〜124で作成されたモデルを用いて、オフラインシミュレーションを行う。
【0102】
次に、リアルタイムシミュレーション部130について説明する。リアルタイムシミュレーション部130は、上記オフラインシミュレーションで用意したモデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションを実行する。このリアルタイムマシンは、例えば、近年、デジタル処理に使用されるDSPボードやリアルタイムOSで動作するパーソナルコンピュータ等を用いることができる。
【0103】
次に、制御部150は、組み込みソフトウェア(制御プログラム)151aとハードウェア151bから構成された図7の制御系MCU250であり、実際の画像読取装置200を制御するものである。組み込みソフトウェア151aは、画像読取装置200の実機を制御するアルゴリズムに相当するものであり、組み込みハードウェア151bは、組み込みソフトウェア151aを実装したものである。
【0104】
次に、インタフェース部140は、制御部150から読取駆動機構モデル260Mにおけるリアルタイムシミュレーション部130のアクチュエータに与えた指令信号と、指令信号に応じてリアルタイムでのシミュレーションから、読取駆動機構モデル260Mにおけるリアルタイムシミュレーション部130のセンサから制御部150へフィードバックする信号のインタフェース処理を行う。インタフェース部140は、指令信号、例えば、制御部150から出力されたモータ端子電圧信号を、A/D変換して、その値を読取駆動機構モデル260Mのリアルシミュレーション部130に入力する。このA/D変換を行った後のモータ端子電圧信号は、例えば、図9に示すような信号である。また、インタフェース部140は、センサ信号、例えば、上記センサ部264としてエンコーダを用いた場合のA相とB相のパルス信号を制御部150のカウンタに入力して、位置と速度制御に供する。なお、画像読取装置200の立ち上げから0.02secまでのA、B相パルス信号は、図10の(a)、(b)に示すような信号である。
【0105】
そして、最適化計算部160は、駆動機構の挙動、例えば、第1キャリッジ読取速度等をリアルタイムで計算し、この値を予め設定された目標関数と比較して、計算値と目標関数との差が最小になるように、リアルタイム駆動機構モデル260Mにおける各パラメータを最適化処理によって自動チューニングする。この最適化計算では、駆動機構挙動の計測値と目標関数の差分の合計値(y)の勾配を第1実施例の式(1)を用いて計算し、適切な探索方向を決定する。
【0106】
最適化計算部160は、上記探索方向を決定すると、当該決定した探索方向に沿って新しい設計変数を設定し、当該算出した駆動機構挙動の値と目的関数の差分が最小になるまで、上記計算を繰り返し行う。
【0107】
表示部170は、アクチュエータに対するアクチュエータ指令信号、読取機構モデルのリアルタイムシミュレーション部130からのセンサ信号の時間変化及びリアルタイムでリアルタイムシミュレーション部130の解析により得られた解析結果、例えば、図9に示した指令信号、図10に示したセンサ信号及び図11に示す第1キャリッジの読取速度の解析結果等をリアルタイムで表示し、設計者は、これらの表示結果から制御系の制御状態を判断して、設計支援に利用する。
【0108】
次に、本実施の形態の作用を説明する。本実施の形態の駆動機構設計支援装置100は、画像読取装置200の読取機構設計パラメータをリアルタイムで自動的に最適化処理を行い、システム開発の効率化を図って、開発期間の短縮、工数の削減を図る。
【0109】
この駆動機構設計支援装置100は、コンピュータ等に、CD−ROM等の記録媒体に格納されている駆動機構設計支援プログラムと必要なデータを読み取らせて導入することで、構築されている。
【0110】
そして、駆動機構設計支援装置100は、上記駆動機構設計支援プログラムがコンピュータ等に導入された状態で、入力部110から設計情報が入力されると、当該設計情報に基づいて、オフラインシミュレーション部120の第1機構設計部121が、例えば、図7に示した画像読取装置200の読取駆動機構系260のアクチュエータを、図8に示したようにモデル化し、式(2)に示したようにモータの数式モデルを設定する。
【0111】
次に、第2機構設計部122が、伝達機構262、駆動部263及び画像読取装置200の読取駆動機構系260の読取駆動機構モデル260Mを作成する。すなわち、第2機構設計部122は、まず、伝達機構262のベルト262aについて、図8に示したように、ばねとダンパによってモデル化して、その運動方程式を式(3)に示したように設定し、伝達機構262の駆動伝達系のワイヤ262bについて、ばねとダンパによってモデル化して、その運動方程式を式(6)に示したように設定する。
【0112】
次に、第3機構設計部123が、モータ261のモータ軸の回転速度をセンサ部264であるエンコーダのセンサ信号に変換する。例えば、第3機構設計部123は、センサ部264が光学インクリメンタルエンコーダである場合、A相信号を、式(9)に示したような速度で、パルス信号として出力し、B信号を、A相信号と90度の位相差を設けて出力する。
【0113】
そして、オフラインシミュレーション部120は、上記第1機構設計部121、第2機構設計部122及び第3機構設計部123の解析を連続的に行うように、機構設計インタフェース部124が処理し、例えば、第1機構設計部121から算出されたモータ軸回転速度を第2機構設計部122と第3機構設計部123に入力して、それぞれ第1キャリッジ速度及びエンコーダ信号を算出する。
【0114】
そして、駆動機構設計支援装置100は、リアルタイムシミュレーション部130で、オフラインシミュレーション部120が構築した読取駆動機構モデル260Mを使用して、シミュレーションを行う。すなわち、リアルタイムシミュレーション部130は、上記オフラインシミュレーションで用意したモデルをリアルタイムマシンに実装して、リアルタイムでシミュレーションを実行する。
【0115】
そして、駆動機構設計支援装置100は、制御部150に搭載されている実機の画像読取装置200を制御するための組み込みソフトウェア151aに基づいて、インタフェース部140を介して、読取駆動機構モデル260Mにおけるリアルタイムシミュレーション部130のアクチュエータに指令信号を与え、当該指令信号に応じてリアルタイムシミュレーション部130で実行されるリアルタイムでのシミュレーションから、読取駆動機構モデル260Mにおけるセンサからフィードバックする信号を制御部150に返し、組み込みソフトウェア151aの制御シミュレーションを行う。
【0116】
例えば、駆動機構設計支援装置100は、制御部150から組み込みソフトウェア151aにより、インタフェース部140を介して、例えば、制御部150から出力されたモータ端子電圧信号を指令信号として、リアルタイムシミュレーション部130に入力し、リアルタイムシミュレーション部130でのシミュレーション結果としてのセンサ信号、例えば、センサ部264としてエンコーダを用いた場合のA相とB相のパルス信号を制御部150に戻して、組み込みソフトウェア151aの検証を行う。
【0117】
そして、駆動機構設計支援装置100は、最適化計算部160で、駆動機構の挙動、例えば、第1キャリッジ読取速度等をリアルタイムで計算し、この値を予め設定された目標関数と比較して、計算値と目標関数との差が最小になるように、リアルタイム駆動機構モデル260Mにおける各パラメータを最適化処理によって自動チューニングする。この最適化計算では、駆動機構挙動の計測値と目標関数の差分の合計値(y)の勾配を第1実施例の式(1)を用いて計算し、適切な探索方向を決定する。最適化計算部160は、上記探索方向を決定すると、当該決定した探索方向に沿って新しい設計変数を設定し、当該算出した駆動機構挙動の値と目的関数の差分が最小になるまで、上記計算を繰り返し行う。
【0118】
駆動機構設計支援装置100は、上記アクチュエータに対するアクチュエータ指令信号、読取機構モデルのリアルタイムシミュレーション部130からのセンサ信号の時間変化及びリアルタイムでリアルタイムシミュレーション部130の解析により得られた解析結果、例えば、図9に示した指令信号、図10に示したセンサ信号及び図11に示す第1キャリッジの読取速度の解析結果等をリアルタイムで表示部170に表示する。
【0119】
そして、設計者は、これらの表示結果から制御系の制御状態を判断して、設計支援に利用する。
【0120】
このように、本実施の形態の駆動機構設計支援装置100は、アクチュエータである伝達機構262のモータ261等の駆動源の設計支援を行うに際して、オフラインシミュレーション部120で、駆動機構の設計情報に基づいて読取駆動機構系260を読取駆動機構モデル260Mとしてモデル化して、当該読取駆動機構モデル260Mを用いてオフラインでシミュレートし、リアルタイムシミュレーション部130で、当該読取駆動機構モデル260Mをリアルタイムマシンに実装して、リアルタイムでシミュレートし、読取駆動機構系260を制御する制御プログラムとして組み込みソフトウェア151aを格納する制御部150とリアルタイムシミュレーション部130との間のデータの授受をインタフェース部140で行って、最適化計算部160で、リアルタイムシミュレーション部130でシミュレートする読取駆動機構モデル260Mの各パラメータをリアルタイムで最適化している。
【0121】
したがって、読取駆動機構モデル260Mの各パラメータをリアルタイムで自動的に最適化処理して、システム開発を効率的に行うことができ、開発期間の短縮、工数の削減を実現することができる。
【0122】
また、本実施の形態の駆動機構設計支援装置100は、オフラインシミュレーション部120を、読取駆動機構系260の設計を行う際に、選択されたアクチュエータをモデル化する第1機構設計部121と、アクチュエータの駆動力によって動作を行う読取駆動機構系260をモデル化する第2機構設計部122と、読取駆動機構系260の設計を行う際に、選択されたセンサをモデル化する第3機構設計部123と、各機構設計部121〜123の間のデータ授受を行う機構設計インタフェース部124と、を備え、各モデルによって読取駆動機構系260の動作をオフラインでシミュレートしている。
【0123】
したがって、読取駆動機構系260の設計情報に基づいて、読取駆動機構系260のモデルを作成して、オフラインでシミュレーションすることができる。
【0124】
さらに、本実施の形態の駆動機構設計支援装置100は、リアルタイムシミュレーション部130を、読取駆動機構モデル260Mをリアルタイムマシンに実装して、リアルタイムで読取駆動機構260の動作をシミュレートしている。
【0125】
したがって、リアルタイムでシミュレーションすることができ、システムの開発のより一層の効率化を図って、開発期間をより一層短縮することができるとともに、工数を削減することができる。
【0126】
また、本実施の形態の駆動機構設計支援装置100は、制御部150を、制御アルゴリズムに基づいて読取駆動機構系260に所定の動作を実行させる組み込みソフトウェア151aと、当該組み込みソフトウェア151aの実装されている実際の制御部150と、を有するものとしている。
【0127】
したがって、組み込みソフトウェア151aと実装した制御部150を用いたシステムを検証することができ、システムの開発のより一層の効率化を図って、開発期間をより一層短縮することができるとともに、工数を削減することができる。
【0128】
さらに、本実施の形態の駆動機構設計支援装置100は、インタフェース部140を、リアルタイムシミュレーション部130と制御部150との間でのデータの授受をリアルタイムで行うものとしている。
【0129】
したがって、システムの開発をより速やかに行うことができ、制御系の開発期間をより一層短縮ことができる。
【0130】
また、本実施の形態の駆動機構設計支援装置100は、インタフェース部140が、制御部150からリアルタイムシミュレーション部130に、読取駆動機構モデル260Mにおけるアクチュエータに対するアクチュエータ指令信号を受け渡している。
【0131】
したがって、制御部150から制御指令を読取駆動機構モデル260Mに入力して、リアルタイムでシミュレーションを行うことができ、システムの開発期間をより一層短縮ことができる。
【0132】
さらに、本実施の形態の駆動機構設計支援装置100は、インタフェース部140が、アクチュエータ指令信号に応じたリアルタイムシミュレーション部130でのシミュレーション結果として得られ読取駆動機構モデル260Mにおけるセンサからのセンサ信号を制御部150へ受け渡している。
【0133】
したがって、読取駆動機構モデル260Mからの計算結果を制御部150に入力して、リアルタイムでシミュレーションを行うことができ、システムの開発期間をより一層短縮ことができる。
【0134】
また、本実施の形態の駆動機構設計支援装置100は、最適化計算部160が、読取駆動機構モデル260Mのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較している。
【0135】
したがって、読取駆動機構モデル260Mを最適化することができる。
【0136】
さらに、本実施例の駆動機構設計支援装置100は、最適化計算部160が、目的関数の評価結果に基づいて、リアルタイムに読取駆動機構モデル260Mにおける各パラメータの最適値を探索している。
【0137】
したがって、読取駆動機構モデル260Mにおける各パラメータを最適化することができる。
【産業上の利用可能性】
【0138】
スキャナ、複写装置等の画像読取装置等の駆動機構の開発の支援に適用することができる。
【図面の簡単な説明】
【0139】
【図1】本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第1実施例を適用した駆動制御系設計支援装置のブロック構成図。
【図2】図1の駆動制御系設計支援装置の適用される画像読取装置の概略構成図。
【図3】図2の読取駆動機構系をモデル化した読取駆動制御系モデルの模式図。
【図4】読取駆動制御系モデルをリアルタイムシミュレーション部に実装した図。
【図5】本発明の駆動制御系設計支援装置、駆動制御系設計支援プログラム、駆動機構設計支援装置、駆動機構設計支援プログラム及び記録媒体の第2実施例を適用した駆動機構設計支援装置のブロック構成図。
【図6】図5の駆動機構設計支援装置の適用される読取駆動機構の斜視図。
【図7】図5の駆動機構設計支援装置の適用される画像読取装置の概略構成図。
【図8】図6の読取駆動機構をモデル化した読取駆動系モデルの模式図。
【図9】図5の制御部からリアルタイムシミュレーション部に入力されるモータ端子電圧信号の一例を示す図。
【図10】図5のリアルタイムシミュレーション部から制御部に入力されるセンサ信号としてのエンコーダのA相電圧信号(a)とB相電圧信号(b)の一例を示す図。
【図11】図5の表示部に表示される図8の第1キャリッジの読取速度の解析結果の一例を示す図。
【符号の説明】
【0140】
1 駆動制御系設計支援装置
10 オフラインシミュレーション部
11 速度プロファイル設定ブロック
12 制御系ゲイン設定ブロック
13 フィードフォワード量設定ブロック
20 リアルタイムシミュレーション部
30 インタフェース部
40 最適化計算部
50 制御対象機構部
51 アクチュエータ
52 センサ
70 画像読取装置
80 制御系MCU
81 デジタル制御部
82 駆動アンプ
90 読取駆動機構系
91 モータ
92 伝達機構
93 駆動部
94 センサ部
100 駆動機構設計支援装置
110 入力部
120 オフラインシミュレーション部
121 第1機構設計部
122 第2機構設計部
123 第3機構設計部
124 機構設計インタフェース部
125 シミュレーション部
130 リアルタイムシミュレーション部
140 インターフェイス部
150 制御部
151a 組み込みソフトウェア
151b 組み込みハードウェア
160 最適化計算部
170 表示部
200 画像読取装置
201、202 レール
203 第1キャリッジ
204 第2キャリッジ
205 光源
206 ミラー
207 ミラー
208、209 プーリ
210 回転軸
211 ギヤ
212 モータ
213 ギヤ
214 タイミングベルト
215、216、217、118 アイドラプーリ
219、220 ワイヤ
230 エンコーダ
250 制御系MCU 251 デジタル制御部
252 駆動アンプ
260 読取駆動機構系
261 モータ
262 伝達機構
262a ベルト
262b ワイヤ
263 駆動部
264 センサ部

【特許請求の範囲】
【請求項1】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援装置であって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することを特徴とする駆動制御系設計支援装置。
【請求項2】
前記オフラインシミュレーション手段は、前記駆動制御系の設計情報に基づいて当該駆動制御系の制御アルゴリズムをモデル化し、当該駆動制御系の動作をオフラインでシミュレートすることを特徴とする請求項1記載の駆動制御系設計支援装置。
【請求項3】
前記リアルタイムシミュレーション手段は、前記オフライン駆動制御系モデルを前記リアルタイムマシンに実装して、インタフェース手段を介してデータの授受を行って、制御対象の前記駆動機構とリアルタイムでシミュレートすることを特徴とする請求項1記載の駆動制御系設計支援装置。
【請求項4】
前記インタフェース手段は、前記リアルタイムシミュレーション手段と制御対象の前記駆動機構との間でのデータの授受をリアルタイムで行うことを特徴とする請求項3記載の駆動制御系設計支援装置。
【請求項5】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から制御対象の前記駆動機構に、当該駆動機構の前記アクチュエータに対するアクチュエータ指令信号を渡すことを特徴とする請求項3記載の駆動制御系設計支援装置。
【請求項6】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記駆動機構に、当該駆動機構の前記センサからのセンサ信号に応じたシミュレーション結果に基づいて、前記アクチュエータ指令信号を決定して、受け渡すことを特徴とする請求項3記載の駆動制御系設計支援装置。
【請求項7】
前記最適化計算手段は、前記駆動機構の挙動を前記センサによって収集し、当該センサの信号と予め設定された目的関数をリアルタイムに比較して、前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化することを特徴とする請求項1記載の駆動制御系設計支援装置。
【請求項8】
前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記駆動制御系モデルにおける各パラメータの最適値を探索することを特徴とする請求項1記載の駆動制御系設計支援装置。
【請求項9】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムであって、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフライン駆動制御系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする駆動制御系設計支援プログラム。
【請求項10】
センサの検出結果に応じて制御プログラムに基づいて駆動機構を動作させるアクチュエータのモータ等の駆動源を制御する駆動制御系の設計支援を行う駆動制御系設計支援プログラムを記録する記録媒体であって、当該駆動制御系設計支援プログラムが、前記駆動制御系の設計情報に基づいて当該駆動制御系をオフライン駆動制御系モデルとしてモデル化し、当該オフラインシミュレーションモデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフライン駆動制御系モデルをリアルタイムマシンに実装して、制御対象の前記駆動機構をリアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン制御系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする記録媒体。
【請求項11】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援装置であって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーション手段と、前記オフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーション手段と、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と、前記リアルタイムシミュレーション手段と前記制御手段との間でリアルタイムにデータの授受を行うインタフェース手段と、前記リアルタイムシミュレーション手段でシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算手段と、を有することを特徴とする駆動機構設計支援装置。
【請求項12】
前記オフラインシミュレーション手段は、前記駆動機構の設計を行う際に、選択されたアクチュエータをモデル化する第一機構設計手段と、前記アクチュエータの駆動力によって動作を行う前記駆動機構をモデル化する第二機構設計手段と、前記駆動機構の設計を行う際に、選択されたセンサをモデル化する第三機構設計手段と、前記各機構設計手段の間のデータ授受を行う機構設計インタフェース手段と、を備え、前記各モデルによって前記駆動機構の動作をオフラインでシミュレートすることを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項13】
前記リアルタイムシミュレーション手段は、前記駆動機構のオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムで前記駆動機構の動作をシミュレートすることを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項14】
前記制御手段は、前記制御アルゴリズムに基づいて前記駆動機構に所定の動作を実行させる組み込みソフトウェアと、当該組み込みソフトウェアの実装されている実際の制御器と、を有することを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項15】
前記インタフェース手段は、前記リアルタイムシミュレーション手段と前記制御器との間でのデータの授受をリアルタイムで行うことを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項16】
前記インタフェース手段は、前記制御器から前記リアルタイムシミュレーション手段に、前記オフライン駆動系モデルにおける前記アクチュエータに対するアクチュエータ指令信号を受け渡すことを特徴とする請求項15記載の駆動機構設計支援装置。
【請求項17】
前記インタフェース手段は、前記リアルタイムシミュレーション手段から前記制御手段に、前記アクチュエータ指令信号に応じたシミュレーション結果として得られ前記オフライン駆動系モデルにおける前記センサからのセンサ信号を受け渡すことを特徴とする請求項15記載の駆動機構設計支援装置。
【請求項18】
前記最適化計算手段は、前記オフライン駆動系モデルのリアルタイム解析結果に基づいて、当該解析結果の値と予め設定された目的関数をリアルタイムに比較することを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項19】
前記最適化計算手段は、前記目的関数の評価結果に基づいて、リアルタイムに前記オフライン駆動系モデルにおける各パラメータの最適値を探索することを特徴とする請求項11記載の駆動機構設計支援装置。
【請求項20】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムであって、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーション手段との間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする駆動機構設計支援プログラム。
【請求項21】
センサの検出結果に応じて制御プログラムに基づいてアクチュエータのモータ等の駆動源を動作させる駆動機構の設計支援を行う駆動機構設計支援プログラムを記録する記録媒体であって、前記駆動機構設計支援プログラムは、前記駆動機構の設計情報に基づいて当該駆動機構をオフライン駆動系モデルとしてモデル化し、当該オフライン駆動系モデルを用いてオフラインでシミュレートするオフラインシミュレーションステップと、前記オフラインシミュレーションステップのオフライン駆動系モデルをリアルタイムマシンに実装して、リアルタイムでシミュレートするリアルタイムシミュレーションステップと、前記駆動機構を制御対象とする制御アルゴリズムの実装された制御手段と前記リアルタイムシミュレーションステップとの間でリアルタイムにデータの授受を行うインタフェースステップと、前記リアルタイムシミュレーションステップでシミュレートする前記オフライン駆動系モデルの各パラメータをリアルタイムで最適化する最適化計算ステップと、を有することを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2006−236035(P2006−236035A)
【公開日】平成18年9月7日(2006.9.7)
【国際特許分類】
【出願番号】特願2005−50262(P2005−50262)
【出願日】平成17年2月25日(2005.2.25)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】