(57)【要約】【課題】外乱オブザーバを構成するＱフィルタにおける演算処理において固定小数点数の小数部分を切り捨てる際に生じる誤差の影響を低減するのに好適な外乱抑制装置、外乱抑制装置制御方法及び外乱抑制型制御装置を提供する。【解決手段】外乱抑制型制御装置１００を、制御指令信号τを生成する制御器１０と、該τと外乱オブザーバ信号τd’とを加算する加算器１２と、制御対象１４と、外乱オブザーバ信号τd’を生成する外乱オブザーバ１６とを含んだ構成とし、外乱オブザーバ１６を、逆システム２０と、減算部２２と、ローパスフィルタの機能を有するＱフィルタ部２４とを含んだ構成とし、Ｑフィルタ部２４のフィルタ処理において、該処理後の固定小数点数のデータにおける小数部分を切り捨てるときに、小数部分を整数部分に丸め込んでから切り捨てるようにした。【選択図】図１
2010009103.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の受ける外乱の影響を抑制するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御対象への制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制装置であって、
前記外乱オブザーバは、前記出力信号と前記加算信号とに基づき前記外乱の推定値を示す推定外乱信号を生成する推定外乱信号生成部と、固定小数点数のフィルタ係数を用いた演算処理によって、前記推定外乱信号に含まれる不要な周波数領域の信号成分を選択的に除去するＱフィルタ部とを含んで構成されており、
前記Ｑフィルタ部は、前記フィルタ係数を用いた演算処理後の固定小数点数の小数部分を該固定小数点数の整数部分に丸め込むと共に、前記小数部分を切り捨てる小数部切捨手段を備えることを特徴とする外乱抑制装置。
【請求項２】
前記Ｑフィルタ部は、前記推定外乱信号における所定周波数よりも高い周波数領域の信号成分を選択的に除去するローパスフィルタの機能を有することを特徴とする請求項１に記載の外乱抑制装置。
【請求項３】
前記推定外乱信号生成部は、前記制御対象の伝達関数の逆関数と前記出力信号とを用いて、前記制御対象が前記出力信号を出力するのに必要な、外乱成分を含む制御指令信号である推定制御指令信号を生成する推定制御指令信号生成手段と、前記推定制御指令信号と前記加算信号との差分信号を生成する差分信号生成手段とを含み、
前記Ｑフィルタ部において、前記差分信号をフィルタ処理することで前記外乱オブザーバ信号を生成することを特徴とする請求項１又は請求項２に記載の外乱抑制装置。
【請求項４】
制御対象の受ける外乱を抑圧するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御対象への制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制装置を制御する外乱抑制装置制御方法であって、
前記外乱オブザーバは、前記出力信号と前記加算信号とに基づき前記外乱の推定値を示す推定外乱信号を生成する推定外乱信号生成部と、固定小数点数のフィルタ係数を用いた演算処理によって、前記推定外乱信号に含まれる不要な周波数領域の信号成分を選択的に除去するＱフィルタ部とを含んで構成されており、
前記Ｑフィルタ部に、前記演算処理において固定小数点数の小数部分を該固定小数点数の整数部分に丸め込ませると共に該小数部分を切り捨てさせる小数部切捨ステップを含むことを特徴とする外乱抑制装置制御方法。
【請求項５】
制御対象の出力する出力信号の目標信号に対する誤差を示す誤差信号を生成する誤差信号生成部と、前記誤差信号に基づき前記制御対象に与えるべく制御指令信号を生成する制御指令信号生成部と、前記制御対象の受ける外乱を抑圧するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制型制御装置であって、
請求項１乃至請求項３のいずれか１項に記載の外乱抑制装置を備えることを特徴とする外乱抑制型制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の受ける外乱を推定して抑制する外乱抑制装置に係り、特に、外乱を推定する外乱オブザーバを構成するＱフィルタにおいて行われる演算処理において、小数部の切り捨ての際に生じる誤差を低減するのに好適な外乱抑制装置、外乱抑制装置制御方法及び外乱抑制型制御装置に関する。
【背景技術】
【０００２】
従来、例えば、制御対象であるモータの外乱補償の方法として、外乱オブザーバを用いてモータが受ける外乱を推定し、この推定外乱を用いて外乱の影響を抑制する方法がよく用いられている。ここで、外乱オブザーバは、制御対象の逆システム（逆関数）と、Ｑフィルタ（主として低域通過フィルタ）とを含んで構成される。Ｑフィルタは、例えば、ディジタルフィルタとしてソフトウェア（プログラム）で構成されており、そのフィルタ処理は、ＤＳＰ（Digital Signal Processor）やプロセッサなどの演算装置を用いてソフトウェア的に行われる。特に、フィルタ処理においては、低コストのプロセッサの利用を考慮して、浮動小数点数ではなく固定小数点数を用いた演算処理が行われる。この演算処理においては、一般的に、演算後の固定小数点数の小数部分は切り捨てられる。
【０００３】
このように外乱オブザーバを用いて制御対象の受ける外乱の影響を抑制する技術として、例えば、特許文献１に記載のディスク装置におけるアクチュエータ制御装置がある。
【特許文献１】特開２００１−２１００３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者らは、実験などを通して、上記フィルタ処理における演算結果の固定小数点数の小数部分を切り捨てた場合に、この切り捨てられた部分の誤差によって、制御系のＤＣゲインが１とならなくなり、外乱を正しく推定できなくなる現象が生じることを知見した。
以下、図４に基づき、外乱オブザーバを含む制御系において、演算結果の固定小数点数の小数部分を切り捨てた場合に生じる問題について具体的に説明する。
【０００５】
外乱オブザーバを含む制御系は、図４に示すように、加算器１２と、ダイレクト・ドライブ・モータ（以下、ＤＤモータと称す）などの制御対象１４と、外乱オブザーバ１６とを含んで構成される。ここで、図４中のＧ（ｓ）は制御対象１４の伝達関数を示す。
加算器１２は、制御対象１４への制御指令信号τと外乱オブザーバ１６からの外乱オブザーバ信号τd’とを加算する。この加算信号は、途中で振動や衝撃といった外乱τdによる影響を受けて制御対象１４に入力される。一方、外乱の影響を受ける前の加算信号は、外乱オブザーバ１６に入力される。また、制御対象１４からの出力信号（例えば、位置信号θ）は、観測ノイズＮが混入され、この観測ノイズＮの混入した出力信号が外乱オブザーバ１６に入力される。
【０００６】
外乱オブザーバ１６は、制御対象の逆システム２０と、減算部２２と、Ｑフィルタ部２６とを含んで構成されている。ここで、図４中のＱ（ｓ）はローパスフィルタの機能を有するデジタルフィルタを示し、「Ｇn-1（ｓ）」は、逆システムの伝達関数（Ｇ（ｓ）の逆関数）を示す。
制御対象１４からの観測ノイズＮの混入した出力信号は、逆システム２０に入力され、その伝達関数「Ｇn-1（ｓ）」によって、制御対象１４が該出力信号を出力するための制御指令信号へと変換される。更に、この制御指令信号（以下、推定制御指令信号と称す）は、減算部２２において、加算器１２からの加算信号から減じられる。この減算信号（差分信号）は、外乱の推定値を示す信号（以下、推定外乱信号τd*と称す）となる。この推定外乱信号τd*は、ローパスフィルタとして機能するＱフィルタ部２６に入力される（実際は、Ａ／Ｄ変換器などを介してＤＳＰ等の演算装置に入力される）。Ｑフィルタ部２６は、固定小数点数のフィルタ係数を用いた演算処理によって、推定外乱信号τd*から観測ノイズＮの周波数領域などを含む不要な周波数成分（高周波成分）を除去して、外乱オブザーバ信号τd’を生成し、これを加算器１２に出力する。このＱフィルタ部２６における演算処理においては、処理負荷の軽減などのために、演算結果の固定小数点数の小数部分が切り捨てられる。従って、フィルタ処理後の推定外乱値は、小数部分が切り捨てられたものとなり、この信号が外乱オブザーバ信号τd’として加算器１２に出力される。
【０００７】
いま、外乱τdの大きさが「ｎ」となり、Ｑフィルタ部２６のフィルタ処理において小数部分を切り捨てたことによる演算誤差「δ」が生じ、Ｑフィルタ部２６の出力値（外乱オブザーバ値）が「ｎ＋δ」になったとする。この状態において、加算器１２に、制御指令値として「−δ」が入力され（図４中の（１））、外乱オブザーバ値（推定外乱値）として「ｎ＋δ」が入力されると（図４中の（２））、加算器１２では、これらの加算処理（「−δ＋ｎ＋δ＝ｎ」）が行われる（図４中の（３））。この加算結果「ｎ」の信号は、制御対象１４に送られる途中で外乱の影響を受けるが、加算器１２において、既に推定外乱値「ｎ」が加算されているので、外乱と推定外乱の「ｎ」同士が打ち消しあい「０」となる（図４中の（４））。これにより制御指令値「０」を示す信号が制御対象１４に入力される（図４中の（５））。一方、逆システム２０においては、制御対象１４の出力値が目標値に到達した場合に、ここでは、出力値の２階微分を行って推定制御指令値を算出するため、制御指令値「０」の場合の推定制御指令値は「０」とみなすことができる（図４中の（６））。従って、減算部２２において「ｎ」から「０」が減算されるので（「ｎ−０＝ｎ」）、外乱の推定値は「ｎ」となる（図４中の（７））。つまり、この状態では、制御対象１４の出力値が制御目標値に達していないにも関わらず、目標値に達したことになってしまう。
【０００８】
以上のことから、外乱オブザーバのループ内にＱフィルタを入れた場合に、そのフィルタ処理において、固定小数点数の小数部分を切り捨ててしまうと、切り捨てたことにより生じる誤差によって、ＤＣゲインが１とならず、制御対象１４の出力値が目標値に到達する前に制御対象１４の動作を停止させてしまうといった問題が生じることが解る。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、外乱オブザーバを構成するＱフィルタにおける演算処理において固定小数点数の小数部分を切り捨てる際に生じる誤差の影響を低減するのに好適な外乱抑制装置、外乱抑制装置制御方法及び外乱抑制型制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
〔発明１〕  上記目的を達成するために、発明１の外乱抑制装置は、制御対象の受ける外乱の影響を抑制するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御対象への制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制装置であって、前記外乱オブザーバは、前記出力信号と前記加算信号とに基づき前記外乱の推定値を示す推定外乱信号を生成する推定外乱信号生成部と、固定小数点数のフィルタ係数を用いた演算処理によって、前記推定外乱信号に含まれる不要な周波数領域の信号成分を選択的に除去するＱフィルタ部とを含んで構成されており、前記Ｑフィルタ部は、前記フィルタ係数を用いた演算処理後の固定小数点数の小数部分を該固定小数点数の整数部分に丸め込むと共に、前記小数部分を切り捨てる小数部切捨手段を備える。
【００１０】
このような構成であれば、制御対象の出力信号が入力され、加算信号生成部からの加算信号が入力されると、外乱オブザーバは、これら入力信号に基づき外乱を推定し、この推定した外乱を示す推定外乱信号を生成する。推定外乱信号が生成されると、Ｑフィルタ部において、この推定外乱信号に対してフィルタ処理を行って、該推定外乱信号から不要な周波数成分を選択的に除去して、該除去後の信号成分を外乱オブザーバ信号として出力する。フィルタ処理においては、固定小数点数のフィルタ係数を用いた演算処理を実行し、小数切捨手段において、該演算処理後の固定小数点数の小数部分を、該小数部分を整数部分に丸め込んでから切り捨てる。
【００１１】
これによって、より正確な推定外乱値を求めることできるので、最小の制御指令値よりも誤差が小さくなりやすくなり、誤差が制御指令値を打ち消すようなことが生じるのを低減することができる。
ここで、上記小数部分を整数部分に丸め込むとは、１０進数で言うところの四捨五入に相当する処理である。つまり、小数部分の最上位桁が５以上のときは、整数部分の最下位桁に１を切り上げ、４以下のときは切り上げない処理（例えば、「３５．５４２→３６」、「３５．４３２→３５」）となる。
【００１２】
具体的に、例えば、１６ビットの入力値（小数部なし）と、１６ビットの固定小数点数（小数部ｍビット）であるフィルタ係数との乗算処理によって、３２ビットの固定小数点数（小数部ｍビット）が演算結果として出力されたとする。この場合に、上記丸め込む処理は、例えば、３２ビットの固定小数点数の小数部分のｍビットにおける最上位ビットに１を加算する処理となる。これにより、ｍビットの最上位ビットが「１」のときは、整数部分（３２−ｍビット）の最下位ビットに１が加算される。つまり、１０進数の四捨五入で言うところの、整数部分に小数部分が切り上げられた状態となる。この場合に、整数部分は、小数部分が切り捨てられてもその情報の一部を含むことになるので、丸め込みによる誤差は生じるが、単純に切り捨てた場合と比較して誤差（失う情報量）を小さくすることができる。一方、ｍビットの最上位桁が「０」のときは、整数部分への切り上げは発生せずに小数部分は単に切り捨てられる。つまり、小数部分が、１０進数の四捨五入で言うところの「４」以下の数値となっているため切り上がりが生じない。
【００１３】
また、上記小数部分を切り捨てるとは、整数部分のビットを下位の方向に小数部分のビット数（ｍビット）だけシフトする処理（２mで除算する処理）となる。このとき、演算結果のデータとしては、例えば、シフト後の下位１６ビットのデータを用いる。
また、上記Ｑフィルタは、例えば、電子回路などのハードウェアで構成されたフィルタ回路、または信号データを数値化し、演算処理によってソフトウェア的に処理するディジタルフィルタのハードウェア及びソフトウェアのいずれでも構成することが可能なフィルタである。前者の場合は、フィルタ回路に直接信号を入力して、該入力信号のうち所望の周波数の信号成分だけを回路素子によって選択的に通過させる。また、後者の場合は、制御信号をＡ／Ｄ変換器などを用いて数値データ化して、ＤＳＰなどの演算装置の演算処理によって制御信号から所望の周波数の信号成分が残るように他の信号成分を除去する処理となる。以下、発明５の外乱抑制装置制御方法、及び発明６の外乱抑制型制御装置において同じである。
【００１４】
〔発明２〕  更に、発明２の外乱抑制装置は、発明１の外乱抑制装置において、前記Ｑフィルタ部は、前記推定外乱信号における所定周波数よりも高い周波数領域の信号成分を選択的に除去するローパスフィルタの機能を有する。
このような構成であれば、Ｑフィルタ部によって、推定外乱信号に含まれるモデリング誤差や観測ノイズなどの高調波成分（雑音成分）を除去することができるので、外乱を高精度に推定できると共に、雑音成分による誤動作の発生を低減することができる。
【００１５】
〔発明３〕  更に、発明３の外乱抑制装置は、発明１又は２の外乱抑制装置において、前記推定外乱信号生成部は、前記制御対象の伝達関数の逆関数と前記出力信号とを用いて、前記制御対象が前記出力信号を出力するのに必要な、外乱成分を含む制御指令信号である推定制御指令信号を生成する推定制御指令信号生成手段と、前記推定制御指令信号と前記加算信号との差分信号を生成する差分信号生成手段とを含み、前記Ｑフィルタ部において、前記差分信号をフィルタ処理することで前記外乱オブザーバ信号を生成する。
【００１６】
このような構成であれば、推定外乱信号生成部において、制御対象の伝達関数の逆関数によって、制御対象の実際の出力信号から該出力信号を得るための推定制御指令信号を求めることができる。この推定制御指令信号には、モデル化が困難な外乱成分、観測ノイズ、モデリング誤差などの影響分が含まれており、制御指令信号と外乱オブザーバ信号との加算信号から推定制御指令信号を減算することで、外乱成分を推定することができる。そして、Ｑフィルタ部のフィルタ処理において、推定外乱成分の信号から観測ノイズなどの不要な周波数領域の信号成分を除去すると共に、演算結果の固定小数点数の小数部分を、該固定小数点数の整数部分に丸め込んでから切り捨てることで、外乱オブザーバ信号を生成することができる。
これによって、より高精度に制御対象の受ける外乱を推定することができる。
【００１７】
〔発明４〕  一方、上記目的を達成するために、発明４の外乱抑制装置制御方法は、制御対象の受ける外乱を抑圧するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御対象への制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制装置を制御する外乱抑制装置制御方法であって、前記外乱オブザーバは、前記出力信号と前記加算信号とに基づき前記外乱の推定値を示す推定外乱信号を生成する推定外乱信号生成部と、固定小数点数のフィルタ係数を用いた演算処理によって、前記推定外乱信号に含まれる不要な周波数領域の信号成分を選択的に通過させるＱフィルタ部とを含んで構成されており、前記Ｑフィルタ部に、前記演算処理において固定小数点数の小数部分を該固定小数点数の整数部分に丸め込ませると共に該小数部分を切り捨てさせる小数部切捨ステップを含む。
このような構成であれば、上記発明１に記載の外乱抑制装置と同等の作用及び効果が得られる。
【００１８】
〔発明５〕  また、上記目的を達成するために、発明５の外乱抑制型制御装置は、制御対象の出力する出力信号の目標信号に対する誤差を示す誤差信号を生成する誤差信号生成部と、前記誤差信号に基づき前記制御対象に与えるべく制御指令信号を生成する制御指令信号生成部と、前記制御対象の受ける外乱を抑圧するための外乱オブザーバ信号を生成する外乱オブザーバと、前記制御指令信号と前記外乱オブザーバ信号との加算信号を生成する加算信号生成部とを備えた外乱抑制型制御装置であって、発明１乃至３のいずれか１に記載の外乱抑制装置を備える。
このような構成であれば、上記発明１乃至３のいずれか１に記載の外乱抑制装置と同等の作用及び効果が得られる。
【発明の効果】
【００１９】
以上説明したように、本発明の外乱抑制装置、外乱抑制装置制御方法及び外乱抑制型制御装置によれば、外乱オブザーバのＱフィルタ部における不要な周波数成分を除去するフィルタ処理において、固定小数点演算を行った結果の固定小数点数から小数部分を除去する際に、小数部分を整数部分に丸め込むようにしたので、小数部分を切り捨てることによって発生する誤差を低減することができ、この誤差による誤動作の発生などを低減することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づき説明する。図１〜図３は、本発明に係る外乱抑制装置、外乱抑制装置制御方法及び外乱抑制型制御装置の実施の形態を示す図である。
まず、本発明に係る外乱抑制型制御装置の構成を図１に基づき説明する。図１は、本実施の形態に係る外乱抑制型制御装置１００の構成を示す制御ブロック図である。
外乱抑制型制御装置１００は、図１に示すように、制御器１０と、加算器１２と、制御対象１４と、外乱オブザーバ１６とを含んで構成される。本実施の形態においては、制御対象１４を、トルク指令信号を入力としてモータを回転し、角度位置信号θを出力するＤＤモータとして説明をする。
【００２１】
制御器１０は、伝達関数Ｃを有し、制御対象１４の出力値（θ）と、制御目標値θtとに基づきＤＤモータ１４へのトルク指令値を示す制御指令信号τを生成して、これを加算器１２に向けて出力する。
加算器１２は、制御器１０からの制御指令信号τと外乱オブザーバ１６からの外乱オブザーバ信号τd’との加算信号を生成して、これを制御対象１４に出力する。この加算信号「τ＋τd’」は、制御対象１４に到達する前に外乱τdの影響を受けて、「τ＋τd’−τd」となる。つまり、「τd’−τd＝０」となったときに外乱が全て打ち消されることになる。
【００２２】
制御対象１４は、伝達関数Ｇ（ｓ）で示される入出力関係を有しており、制御指令信号τに基づきモータの回転動作を行ない、動作後の回転角度位置（θ）を示す出力信号を外乱オブザーバ１６及び制御器１０に出力する。
外乱オブザーバ１６は、制御指令信号τに混入する外乱τdの影響を抑制する役割を果たすものであって、逆システム２０と、減算部２２と、Ｑフィルタ部２４とを含んで構成される。
【００２３】
逆システム２０は、制御対象１４の伝達関数Ｇ（ｓ）の逆関数である「１／Ｇn（ｓ）」を伝達関数として有する制御対象１４の逆システムであって、制御対象１４からの出力信号θを入力として、これを変換し、制御指令値の推定値を示す推定制御指令信号τ*を出力する。
本実施の形態において、逆システム２０は、アナログ信号をデジタル信号に変換する不図示のＡ／Ｄ変換器と、上記「１／Ｇn（ｓ）」の入出力関係を有する制御系の機能を不図示のプロセッサ（ここではＤＳＰ）に実現させるための専用のプログラムと、該プログラムを実行するプロセッサとを含んで構成される。
【００２４】
減算部２２は、加算器１２からの加算信号「τ＋τd’」をディジタルの信号に変換する不図示のＡ／Ｄ変換器と、Ａ／Ｄ変換器からのディジタルの加算信号「τ＋τd’」と、逆システム２０からのディジタルの推定制御指令信号τ*とに基づき、「τ＋τd’」からτ*を減算して、ディジタルの推定外乱信号τd*を生成する。
Ｑフィルタ部２４は、ローパスフィルタの機能を不図示のプロセッサ（ここではＤＳＰ）に実現させるための専用のプログラム（ディジタルフィルタＱ（ｓ））と、このプログラムを実行するプロセッサ（逆システム２０と同じもの）と、不図示のＤ／Ａ変換器とを含んで構成される。
【００２５】
具体的に、ｋサンプル目（ｋ＝１，２，３，・・・）の、推定外乱値τd*（以下、これをｕ（ｋ）とする）及びフィルタ処理後の推定外乱値τd’（以下、これをｙ（ｋ）とする）と、（ｋ−１）サンプル目の、推定外乱値τd*（以下、これをｕ（ｋ−１）とする）及びフィルタ処理後の推定外乱値τd’（以下、これをｙ（ｋ−１）とする）と、固定小数点数のフィルタ係数Ａとを用いて、下式（１）に従って演算処理を行なう。これによって、推定外乱信号τd*から不要な信号成分（高周波成分）を除去するローパスフィルタと等価の処理を実行する。更に、これにより得られた信号をＤ／Ａ変換器でアナログの信号に変換して、これを外乱オブザーバ信号τd’として加算器１２に出力する。
ｙ（ｋ）＝Ａ｛ｕ（ｋ）＋ｕ（ｋ−１）｝＋（１−２Ａ）ｙ（ｋ−１）・・・（１）
上式（１）において、ｙ（ｋ−１）は（ｋ−１）サンプル目のフィルタ処理後の推定外乱値（外乱オブザーバ値）τd’である。
【００２６】
本実施の形態では、更に、上式（１）を下式（２）のように展開して、乗算の回数を２回から１回に減らすことで、プロセッサへの負荷を軽減する。
ｙ（ｋ）＝Ａ｛ｕ（ｋ）＋ｕ（ｋ−１）−２ｙ（ｋ−１）}＋ｙ（ｋ−１）・・（２）
つまり、本実施の形態において、ディジタルフィルタＱ（ｓ）は、１次のＩＩＲ (Infinite Impulse Response) フィルタとなる。
【００２７】
次に、図２に基づき、ディジタルフィルタＱ（ｓ）のフィルタ処理について詳細に説明する。ここで、図２は、ディジタルフィルタＱ（ｓ）のフィルタ処理を示す機能ブロック図である。
ディジタルフィルタＱ（ｓ）は、図２に示すように、第１遅延部２４ａと、加減算部２４ｂと、係数乗算部２４ｃと、加算部２４ｄと、第１除算部２４ｅと、第２遅延部２４ｆと、第２除算部２４ｇとを含んで構成される。
【００２８】
第１遅延部２４ａは、ＲＡＭ等のバッファメモリ（遅延素子）からデータを読み出す機能ブロックであって、ｋサンプル目のフィルタ処理において、バッファメモリに保持された（ｋ−１）サンプル目のｎビット（ｎは２以上の自然数）の推定外乱値τd*（ｕ（ｋ−１））を読み出して加減算部２４ｂに出力する。更に、ｕ（ｋ−１）を出力後にｋサンプル目の入力値ｕ（ｋ）をバッファメモリに保存する。
【００２９】
加減算部２４ｂは、減算部２２からのｋサンプル目の推定外乱値ｕ（ｋ）と、第１遅延部２４ａからの（ｋ−１）サンプル目の推定外乱値ｕ（ｋ−１）と、（ｋ−１）サンプル目のフィルタ処理後の推定外乱値を２倍した２ｙ（ｋ−１）との加減算を行ない、この演算結果を係数乗算部２４ｃに出力する。具体的に、上式（２）に従って、ｕ（ｋ）と、ｕ（ｋ−１）とを加算し、この加算結果から２ｙ（ｋ−１）を減算する。
【００３０】
係数乗算部２４ｃは、ＲＯＭ等の不図示の記憶媒体に記憶されたｍビット（ｍは、ｎ＞ｍの自然数）の小数部を有するｎビットの固定小数点数のフィルタ係数Ａを、加減算部２４ｂからの演算結果「Ｘ＝ｕ（ｋ）＋ｕ（ｋ−１）−２ｙ（ｋ−１）」に乗算し、この乗算結果「Ｘ・Ａ」を加算部２４ｄに出力する。この演算結果「Ｘ・Ａ」は、整数部（２×ｎ−ｍ）ビット、小数部ｍビットの２ｎビットの固定小数点数となる。
【００３１】
加算部２４ｄは、係数乗算部２４ｃの演算結果「Ｘ・Ａ（２ｎビット）」に、第２遅延部２４ｆからの１サンプル前のフィルタ処理後の推定外乱値ｙ（ｋ−１）（２ｎビット）を加算し、この加算結果「Ｘ・Ａ＋ｙ（ｋ−１）＝ｙ（ｋ）」を除算部２４ｅ及び第２遅延部２４ｆにそれぞれ出力する。
第１除算部２４ｅは、加算部２４ｄの加算結果ｙ（ｋ）（２ｎビット）におけるｍビットの小数部を（２ｎ−ｍ）ビットの整数部に丸め込むと共に、２mで除算（整数部をｍビット右へシフト）することで小数部を切り捨てる。具体的に、ｍビットの小数部の最上位ビットに１を加算してから、整数部をｍビット右へシフトすることで小数部を切り捨てる。これにより、小数部の最上位ビットが１のときは切り上げが生じて、小数部の情報が整数部に加えられることになる。一方、最上位ビットが０のときは切り上げが生じないので、従来の切り捨てと同じとなる。つまり、最上位ビットが０のときは、小数部の値が指令値と比較して小さいと判断し無視する。
【００３２】
更に、本実施の形態では、切り捨て後（ビットシフト後）の下位ｎビットのデータをＤ／Ａ変換し、これをフィルタ処理結果の推定外乱値τd’として加算器１２に出力する。
第２遅延部２４ｆは、ＲＡＭ等のバッファメモリ（遅延素子）からデータを読み出す機能ブロックであって、ｋサンプル目のフィルタ処理において、バッファメモリに保持された（ｋ−１）サンプル目のｙ（ｋ−１）を読み出して除算部２４ｇに出力する。更に、ｙ（ｋ−１）を出力後にｋサンプル目の入力値ｙ（ｋ）をバッファメモリに保存する。
【００３３】
第２除算部２４ｇは、第２遅延部２４ｆからの（ｋ−１）サンプル目のｙ（ｋ−１）（２ｎビット）におけるｍビットの小数部を（２ｎ−ｍ）ビットの整数部に丸め込むと共に、２-（m-1）で除算（整数部を（ｍ−１）ビット右へシフト）することでｙ（ｋ−１）を２倍にすると共に小数部を切り捨てる。具体的に、ｍビットの小数部の最上位ビットに１を加算してから、整数部を（ｍ−１）ビット右へシフトすることでｙ（ｋ−１）を２倍にすると共にその小数部を切り捨てる。これにより、小数部の最上位ビットが１のときは切り上げが生じて、小数部の情報が整数部に加えられることになる。一方、最上位ビットが０のときは切り上げが生じないので、従来の切り捨てと同じとなる。
【００３４】
更に、本実施の形態では、小数部を切り捨て後の下位ｎビットのデータを加減算部２４ｂに出力する。
次に、図３に基づき、本実施の形態の動作を説明する。
ここで、図３（ａ）〜（ｃ）は、係数乗算部２４ｃ及び加算部２４ｄの演算処理の流れを示す図であり、（ｃ）〜（ｄ）は、従来の除算処理を示す図であり、（ｅ）〜（ｇ）は、本発明の丸め込み処理及び除算処理を示す図である。
【００３５】
制御器１０からトルク指令値を示す制御指令信号τが出力されると、該出力された制御指令信号τは加算器１２に入力される。更に、外乱オブザーバ１６からは外乱オブザーバ信号τd’が加算器１２に入力され、制御指令信号τと外乱オブザーバ信号τd’とが加算される。この加算信号「τ＋τd’」は制御対象１４（ＤＤモータ）と外乱オブザーバ１６とに向けて出力されるが、制御対象１４に向けて出力された加算信号は、途中で外乱τdの影響を受け、「τ＋τd’−τd」となって制御対象１４に入力される。制御対象１４は、この「τ＋τd’−τd」に基づきモータを回転させる。もし、「τd’−τd＝０」となれば、外乱は完全に打ち消される。制御対象１４は、モータ回転後の回転角度位置を不図示のレゾルバ等の位置検出器で検出し、この検出した角度位置信号θを出力信号として、外乱オブザーバ１６と、制御器１０とにそれぞれ出力する。このとき、出力信号には観測ノイズＮが混入する。
【００３６】
外乱オブザーバ１６は、制御対象１４からの角度位置信号θが入力されると、逆システム２０において、まず、角度位置信号θを不図示のＡ／Ｄ変換器でＡ／Ｄ変換する。そして、不図示のＤＳＰによるプログラムの実行によって、伝達関数「１／Ｇn（ｓ）」を示すアルゴリズムを用いた変換処理を実行して、角度位置信号θを推定制御指令信号τ*に変換する。この推定制御指令信号τ*は、減算部２２に出力される。
【００３７】
減算部２２は、加算器１２から加算信号が入力されると、この加算信号を、まず不図示のＡ／Ｄ変換器でディジタルの信号に変換する。そして、ＤＳＰによるプログラムの実行によって、ディジタルの加算信号「τ＋τd’」から、逆システム２０から入力された推定制御指令信号τ*を減算して推定外乱信号「τd*＝τ＋τd’−τ*」を生成し、これをＱフィルタ部２４に出力する。
【００３８】
Ｑフィルタ部２４は、減算部２２から推定外乱信号τd*が入力されると、不図示のＤＳＰによってディジタルフィルタＱ（ｓ）の機能を実現するプログラムを実行して、推定外乱信号τd*に対してローパスフィルタの機能を有するフィルタ処理を行う。
以下、ｋサンプル目のτd*であるｕ（ｋ）が入力されたとして動作を説明する。
ｕ（ｋ）の入力タイミングに合わせて、第１遅延部２４ａにおいて１つ前のサンプル入力値であるｕ（ｋ−１）が読み出されて加減算部２４ｂに入力される。一方、第２除算部２４ｇからは、ｕ（ｋ）の入力タイミングに合わせて、１サンプル前の入力値に対するフィルタ処理結果ｙ（ｋ−１）を２倍にした２ｙ（ｋ−１）が加減算部２４ｂに入力される。これにより、加減算部２４ｂでは、「Ｘ＝ｕ（ｋ）＋ｕ（ｋ−１）−２ｙ（ｋ−１）」の演算処理が実行される。この演算結果Ｘは、係数乗算部２４ｃに入力される。
【００３９】
以下、ｕ（ｋ）、ｕ（ｋ−１）、ｙ（ｋ−１）を１６ビットのデータとして説明する。
係数乗算部２４ｃは、図３（ａ）に示すように、加減算部２４ｂの演算結果である１６ビットのＸ（小数部なし）が入力されると、不図示のＲＯＭから、図３（ｂ）に示すように、１６ビットの固定小数点数であるフィルタ係数Ａ（小数部１５ビット）を読み出す。そして、入力されたＸと読み出したフィルタ係数Ａとを乗算して、３２ビットの固定小数点数である「Ｘ・Ａ」を算出する。この演算結果である「Ｘ・Ａ」は、加算部２４ｄに入力される。
【００４０】
加算部２４ｄは、図３（ｃ）に示すように、係数乗算部２４ｃからの「Ｘ・Ａ」（３２ビット）に、第２遅延部２４ｆにおいて読み出されたｙ（ｋ−１）（３２ビット）を加算する。この加算結果「ｙ（ｋ）＝Ｘ・Ａ＋ｙ（ｋ−１）」（３２ビット）は、第１除算部２４ｅに入力される。
第１除算部２４ｅは、３２ビットのｙ（ｋ）における１７ビットの整数部を右に１５ビットシフトすることで、１５ビットの小数部（図中の▲より右のビット）を切り捨てる。ここで、図３（ｄ）に示すように、丸め込みの処理を行わずに、整数部を単に右に１５ビットシフトすると従来の切り捨て処理となる。
【００４１】
本実施の形態の第１除算部２４ｅは、図３（ｅ）に示すように、まず、３２ビットのｙ（ｋ）の１５ビットの小数部における最上位ビット（１４ビット目）に「１」を加算する。図３（ｅ）の例では、小数部の最上位ビットが「１」となっているため、図３（ｆ）に示すように、切り上げが発生する。つまり、１７ビットの整数部における最下位ビット（１５ビット目）に１が加算され、１５ビット目の「０」が「１」となる。このようにして、１０進数の四捨五入と同等の処理が行われる。
【００４２】
更に、第１除算部２４ｅは、小数部を切り捨てるために、丸め込みを後のｙ（ｋ）（３２ビット）を、「２15」で除算する処理を実行する。具体的に、図３（ｇ）に示すように、整数部を１５ビット右へシフトする。そして、シフト後の下位１６ビットのデータをディジタルフィルタＱ（ｓ）の出力ｙ（ｋ）’として出力する。
このｙ（ｋ）’は、不図示のＤ／Ａ変換器によって、アナログの外乱オブザーバ信号τd’に変換され、加算器１２に出力される。このτd’には、単純な切り捨てによる演算誤差よりも小さい演算誤差しか含まれないので、制御指令値と演算誤差とが打ち消しあうといったことが生じるのを低減することができる。
【００４３】
例えば、従来の最大誤差は、小数部１５ビットが全て１「１１１１１１１１１１１１１１１」となるものと比較して、本実施の形態の最大誤差は「０１１１１１１１１１１１１１１」と小さくすることができる。
一方、第２除算部２４ｇには、第２遅延部２４ｆにおいて１サンプル前の加算部２４ｄの出力であるｙ（ｋ−１）（３２ビット）が入力され、第１除算部２４ｅと同様に、１５ビットの小数部の最上位ビットに１を加算する丸め込み処理が行われる。
【００４４】
更に、第２除算部２４ｇは、丸め込み処理後のｙ（ｋ−１）を２倍にすると共にその小数部を切り捨てるために、ｙ（ｋ−１）（３２ビット）に対して、「２14」で除算する処理を実行する。具体的に、ｙ（ｋ−１）の整数部を１４ビット右へシフトする。そして、シフト後の下位１６ビットのデータを加減算部２４ｂに出力する。
上記したように、本実施の形態の外乱抑制型制御装置１００は、外乱オブザーバ１６を構成するＱフィルタ部２４における、ディジタルフィルタＱ（ｓ）のフィルタ処理において、フィルタ係数Ａを用いた固定小数演算後の固定小数点数の小数部分を切り捨てるときに、小数部分の最上位ビットに１を加算してから行うことが可能である。
【００４５】
これにより、従来の単純に小数部分を切り捨てる場合と比較して、演算誤差を小さくすることができ、制御指令値と演算誤差とが打ち消しあうといったことが生じるのを低減することができる。
上記実施の形態において、制御対象１４は、発明１、３、４及び５のいずれか１の制御対象に対応し、外乱オブザーバ１６は、発明１、４及び５のいずれか１に記載の外乱オブザーバに対応し、外乱オブザーバ１６及び加算器１２を含む構成部は、発明１乃至４のいずれか１に記載の外乱抑制装置に対応し、加算器１２は、発明１、４及び５のいずれか１に記載の加算信号生成部に対応し、逆システム２０及び減算部２２は、発明１、３及び４のいずれか１に記載の推定外乱信号生成部に対応し、Ｑフィルタ部２４は、発明１乃至４のいずれか１に記載のＱフィルタ部に対応し、制御器１０は、発明５に記載の誤差信号生成部及び制御指令信号生成部に対応する。
【００４６】
また、上記実施の形態において、Ｑフィルタ部２４において、演算結果の固定小数点数の小数部分を、丸め込んでから切り捨てる処理は、発明１に記載の小数部切捨手段又は発明４に記載の小数部切捨ステップに対応する。
なお、上記実施の形態においては、外乱オブザーバ１６の各処理を、演算装置に専用のプログラムを実行させることで行う構成としたが、これに限らず、ハードウェア主体で前記各処理を実行する構成としても良い。
【００４７】
また、上記実施の形態においては、ディジタルフィルタＱ（ｓ）を１次のＩＩＲフィルタとしたが、これに限らず、２次以上のＩＩＲフィルタとしてもよい。
また、上記実施の形態においては、本発明をＤＤモータのフィードバック制御に適用したが、これに限らず、ＤＤモータ以外のモータや、モータ以外の制御対象に適用してもよい。
【図面の簡単な説明】
【００４８】
【図１】本実施の形態に係る外乱抑制型制御装置１００の構成を示す制御ブロック図である。
【図２】ディジタルフィルタＱ（ｓ）のフィルタ処理を示す機能ブロック図である。
【図３】（ａ）〜（ｃ）は、係数乗算部２４ｃ及び加算部２４ｄの演算処理の流れを示す図であり、（ｃ）〜（ｄ）は、従来の除算処理を示す図であり、（ｅ）〜（ｇ）は、本発明の丸め込み処理及び除算処理を示す図である。
【図４】従来の外乱抑制型制御装置の構成を示す制御ブロック図である。
【符号の説明】
【００４９】
１００                        外乱抑制型制御装置
１０                          制御器
１２                          加算器
１４                          制御対象
１６                          外乱オブザーバ
２０                          逆システム
２２                          減算部
２４，２６                    Ｑフィルタ部
【図１】
2010009103.tif 000003
【図２】
2010009103.tif 000004
【図３】
2010009103.tif 000005
【図４】
2010009103.tif 000006