(57)【要約】【課題】  本発明は、超音波モータを制御するモータ制御装置において、駆動回路にスイッチングノイズが発生しても精密なフィードバック制御を行うことを目的とする。【解決手段】  超音波モータを制御するモータ制御装置において、前記超音波モータの駆動の状態を検出する検出手段と、前記検出手段で検出された前記駆動の状態に基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させる制御手段と、前記駆動周波数に基づき、前記制御手段に入力される前記駆動の状態を補正する補正手段と、を有することを特徴とする。【選択図】  図１
2018074783.tif 000002
【特許請求の範囲】
【請求項１】
超音波モータを制御するモータ制御装置において、
前記超音波モータの駆動の状態を検出する検出手段と、
前記検出手段で検出された前記駆動の状態に基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させる制御手段と、
前記駆動周波数に基づき、前記制御手段に入力される前記駆動の状態を補正する補正手段と、を有することを特徴とするモータ制御装置。
【請求項２】
前記駆動の状態は、前記超音波モータで発生するトルクに基づき検出されることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記制御手段は、前記検出手段で検出された前記駆動の状態と制御指令とに基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させることを特徴とする請求項１もしくは請求項２のいずれか１項に記載のモータ制御装置。
【請求項４】
前記補正手段は、駆動周波数に対する補正値が保存された補正値のテーブルを保持し、
当該テーブルと前記駆動周波数とに基づき、前記制御手段に入力される前記駆動の状態を補正することを特徴とする請求項１乃至３のいずれか１項に記載のモータ制御装置。
【請求項５】
前記補正手段は、前記駆動周波数に対する補正値を算出する演算式に基づき、前記制御手段に入力される前記駆動の状態を補正することを特徴とする請求項１乃至３のいずれか１項に記載のモータ制御装置。
【請求項６】
複数の指部によって対象物を把持するロボットハンド装置を更に有し、
前記超音波モータを前記複数の指部を駆動させることを特徴とする請求項１乃至５のいずれか１項に記載のモータ制御装置。
【請求項７】
前記前記駆動の状態は、前記複数の指部は前記対象物を把持する圧力に基づき検出されることを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
超音波モータを制御するモータ制御方法において、
検出手段が、前記超音波モータの駆動の状態を検出する検出工程と、
制御手段が、前記検出工程で検出された前記駆動の状態に基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させる制御工程と、
補正手段が、前記駆動周波数に基づき、前記制御手段に入力される前記駆動の状態を補正する補正工程と、を有することを特徴とするモータ制御方法。
【請求項９】
コンピュータを、
超音波モータを制御するモータ制御装置において、
前記超音波モータの駆動の状態を検出する検出手段と、
前記検出手段で検出された前記駆動の状態に基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させる制御手段と、
前記駆動周波数に基づき、前記制御手段に入力される前記駆動の状態を補正する補正手段と、を有することを特徴とするモータ制御装置として機能させるためのコンピュータのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、超音波モータを制御するモータ制御装置、モータ制御方法およびコンピュータのプログラムに関する。
【背景技術】
【０００２】
従来から、所望の駆動周波数の電気信号を用いて圧電素子を振動させることにより回転トルクを得るモータとして、超音波モータが知られている。超音波モータは、特許文献１に開示されている通り、低速高トルクであること、無通電時に保持トルクを有することなどが特徴として挙げられる。上記のような特徴を有するため、特許文献２に開示されている通り、ロボットアームやロボットハンドの関節駆動部に適用されることがある。
【０００３】
しかしながら、超音波モータは、他のモータに比べて発生トルクの個体バラつきが大きい。よって、ロボットアームやロボットハンドの関節駆動部として超音波モータを用いる場合は、発生しているトルク（把持力）を直接検出するセンサでトルクを検出し、検出したトルクに基づき、精密なフィードバック制御を行う必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０６−１９７５６５号公報
【特許文献２】特開平１０−２７７９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、超音波モータを駆動するための電気信号（駆動信号）を生成する駆動回路には、駆動する際にスイッチングノイズが発生することがある。発生したスイッチングノイズは、トルク検出信号に混入して検出誤差を生じさせることもある。そして、検出誤差が生じると、精密なフィードバック制御が出来なくなってしまう可能性がある。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、超音波モータを制御するモータ制御装置において、駆動回路にスイッチングノイズが発生しても精密なフィードバック制御を行うことを目的とする。
【課題を解決するための手段】
【０００７】
超音波モータを制御するモータ制御装置において、前記超音波モータの駆動の状態を検出する検出手段と、前記検出手段で検出された前記駆動の状態に基づき、前記超音波モータを駆動させるための駆動周波数を決定し、当該駆動周波数を用いて前記超音波モータを駆動させる制御手段と、前記駆動周波数に基づき、前記制御手段に入力される前記駆動の状態を補正する補正手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、超音波モータのモータ制御装置において、駆動回路にスイッチングノイズが発生しても精密なフィードバック制御を行うことが出来る。
【図面の簡単な説明】
【０００９】
【図１】モータ制御装置の構成例を示すブロック図。
【図２】ロボットハンドの概略図。
【図３】検出値処理部の構成例を示すブロック図。
【図４】駆動信号生成部の構成例を示すブロック図。
【図５】駆動回路の構成例を示す図。
【図６】圧力検出誤差を示す図。
【図７】実施形態１における圧力検出補正値生成部を示すブロック図。
【図８】実施形態１における補正値データを示す図。
【図９】実施形態１における補正値取得処理の流れを表すフローチャート図。
【図１０】実施形態２における圧力検出補正値生成部を示すブロック図。
【図１１】実施形態２における補正値取得処理の流れを表すフローチャート図。
【図１２】実施形態２における補正値データを示す図。
【発明を実施するための形態】
【００１０】
（実施形態１）
（ロボットハンド装置全体構成）
以下、本実施形態について、図面を参照しながら詳細に説明する。まず、本実施形態におけるロボットハンド装置の一例として、ラックアンドピニオン方式で可動する２本の指を有するロボットハンドの構成を説明する。図２にロボットハンド２００の概略図を示す。ロボットハンド２００は、たとえば生産ラインにおける組み立て部品の把持、移動、取り付けなど、幅広い用途に利用される。本実施形態のロボットハンド２００は、第１指部２０１、第２指部２０２を備えており、この２本の指部によって対象物を把持する。この対象物を把持する際の接触面部には感圧センサ１０７が配置され、第一指部２０１と対象物の接触圧力を検出する。第１指部２０１、第２指部２０２はそれぞれ、第１指部ラック２０３、第２指部ラック２０４が組みつけられている。また、ロボットハンド２００はモータ駆動装置１０１とモータ１０２を備えており、モータ１０２はモータ駆動装置１０１から出力される駆動信号５によって制御される。モータ１０２の回転軸にはピニオンギア２０５が取り付けられている。このピニオンギア２０５が回転すると、ピニオンギアと噛み合っている第１指部ラック２０３と第２指部２０４を同時に直線移動させることができる。結果第１指部２０１と第２指部２０２を駆動することができる。このときモータ１０２の回転方向によって第１指部２０１と第２指部２０２の間隔を制御する。また各指部の間に対象物が配置され、さらに各指部と対象物が接触している状態においては、モータ１０２の回転トルクによって、対象物の把持力を制御する。つまり、本実施形態では、モータ１０２の駆動状態として、モータ１０２の回転トルクの大きさを検出し、前記駆動状態に基づくフィードバック制御することによって把持力の制御を行う。
【００１１】
ところが、モータの回転トルクを直接検出するトルク検出器はサイズが大きいため、ロボットハンドに備えることはできない。そこで感圧センサ１０７によって直接把持力を圧力検出値１として検出する、つまりモータ１０２の駆動状態値（発生トルク）を間接的に圧力検出値１として検出する。検出された、圧力検出値１、モータ駆動装置１０１に入力され、モータ駆動装置１０１は入力された圧力検出値１と上位の制御手段から与えられる把持力指令値（制御指令値３）をもとにフィードバック制御して、安定した把持力を提供することが可能となる。なお、上記説明ではロボットハンド装置は２本の指を有する場合を説明したが、３本以上の指を備えていてもよい。またラックアンドピニオン方式によって１つのモータで２本の指を駆動しているが、平歯車や、傘歯車を用いてもよいし、複数のモータを用いて１本の指をそれぞれ１個以上のモータで駆動してもよい。
【００１２】
（モータ制御装置の構成）
次に、ロボットハンド装置２００に用いられるモータ制御装置の構成を説明する。図１はモータ制御装置１００の構成であり、モータ駆動装置１０１内で実行される制御処理のブロック図に加え、前述のモータ１０２と感圧センサ１０７を示している。モータ駆動装置１０１において、検出値処理部１０３は入力される圧力検出値１をアナログデータからデジタルデータに変換するブロックである。図３に検出値処理部１０３の構成を示す。圧力検出値１は非常に微弱であるため、増幅部３０１によって増幅後、Ａ／Ｄ変換部３０２によってアナログ値からデジタルデータへ変換される。デジタルデータはフィルタ部３０３によってノイズ除去される。フィルタ部３０３はたとえば、ローパスフィルタ回路や移動平均回路などによって構成される。さらに、検出処理部１０３は、圧力検出値１には検出誤差が含まれているため、それを補正するために補正処理部３０４を備える。補正処理部３０４は補正値６の形式によって、四則演算処理を行う。現在の駆動周波数に対する検出誤差と補正値６が同等の場合では、減算処理を実行する。
【００１３】
駆動制御部１０４は、上位の制御手段から与えられる制御指令値３と検知処理部で算出された圧力値２とから、駆動周波数４を決定するために内部演算を行う。この演算処理では、たとえば制御指令値３と圧力値２が等しくなるよう制御するフィードバック制御などが実行される。駆動信号生成部１０５は、駆動制御部１０４で決定した駆動周波数４をもとに、モータ１０２を駆動するのに適した駆動信号を生成する。モータ１０２は駆動の際に、駆動信号の周波数が変化する周波数駆動モータである超音波モータである。なお、モータ１０２は駆動信号の周波数が変化するモータであるので、３相ブラシレスモータやステッピングモータ、あるいはＰＷＭ制御されるＤＣモータでもよい。
【００１４】
駆動信号生成部１０５は図４に示すように駆動制御信号生成部４０１と駆動回路４０２で構成される。駆動制御信号生成部４０１に入力される駆動周波数４は、モータ１０２の種類や、モータ制御方式によって、駆動周波数情報の他に、駆動信号位相情報、駆動信号振幅情報などが実際には含まれる場合がある。よって駆動制御信号生成部４０１はそれらの駆動条件から、駆動回路４０２を制御するための駆動制御信号を生成する。駆動信号５はモータ１０２が超音波モータの場合、２相の正弦波状の信号となる。しかし駆動電力の観点から、駆動回路４０２は電界効果トランジスタ（ＦＥＴ）といったスイッチング素子をブリッジ配置するスイッチング回路で構成され、スイッチング回路からは矩形波の駆動信号が出力される。Ｈブリッジ型スイッチング回路の駆動回路４０２を図５に示す。矩形波の駆動信号はモータおよび配線経路のコイル成分の影響で正弦波状に変化するため、問題なくモータを駆動することが可能である。
【００１５】
（圧力検出値に含まれる誤差）
ここで、圧力検出値１に含まれる、駆動周波数依存の検出誤差について説明する。図６に感圧センサ１０７が対象物と非接触状態で、かつ検出値処理部で補正しない場合の圧力値２をプロットしたグラフである。感圧センサ１０７は非接触状態であるため、圧力値２の値はゼロが理想である、あるいは感圧センサ１０７のオフセット、あるいは増幅部３０１のオフセットが影響した場合でも、圧力値２はオフセットのみが生じる。しかし実際には図６に示すように、駆動周波数に依存して圧力値２が変化している。これは、前述の駆動回路４０２のスイッチング素子のＯＮ／ＯＦＦする際に、電源−ＧＮＤ間に大きな電流が流れるために生じるスイッチングノイズが原因であると推測される。駆動周波数が変化すると、ＯＮ／ＯＦＦの頻度、つまりノイズの発生頻度が変化するために、ノイズの圧力検出値１への影響量が変わるからである。また感圧センサは感度が低いために、圧力検出値１は微小な信号（電圧）しか得られない。そのためノイズの影響を受けやすく、このような現象が生じていると推測される。
【００１６】
（圧力検出値の補正値生成方法）
圧力検出補正値生成部１０６は、上述の圧力検出値１に含まれる検出誤差を補正するための補正値を生成する。この検出誤差は駆動周波数に依存しているため、現在の駆動周波数（駆動周波数４）をもとに補正値を決定する。実施形態１における圧力検出補正値生成部１０６は、図７に示すようにルックアップテーブル（ＬＵＴ）で構成される。補正値ＬＵＴ７０１には把持していない状態で駆動周波数４と圧力値２の関係を保存しておき、補正の際は現在の駆動周波数を参照値として補正値ＬＵＴ７０１から補正値６を検索する。補正値データの最も平易な決め方は、図８ａに示すように検出誤差と等しくすることである。ここで補正値ＬＵＴ７０１に保存する補正値データは、図８ａに示すようにモータ制御に使用する全ての駆動周波数とその駆動周波数に対するデータでもよいし、補正値ＬＵＴ７０１のデータ量を低減するために、駆動周波数を間引きしたデータでもよい。図８ｂは駆動周波数を１ｋＨｚ間隔とした場合の補正値データである。駆動周波数を間引きした場合は、補正値データの内挿補間処理あるいは外挿補間処理を行うことで、より補正精度が向上する。
【００１７】
（圧力検出値の補正値生成方法）
次に補正値データを得るための非把持状態における圧力値２の取得する、補正値取得処理を説明する。図９は実施形態１にかかるモータ制御装置１００での補正値取得処理の流れを示すフローチャートである。ステップＳ９０１で、基準位置へ移動する。基準位置とは、モータ制御装置が原点検出センサを備えていれば、その原点検出位置である。次にステップＳ９０２で、非把持状態位置へ移動する。非把持状態位置とは、少なくとも感圧センサ１０７への接触するものが何もない状態となる位置であり、ロボットハンドにおいては、指を最も開いた位置が望ましい。これにより、以降のステップでモータ１０２が駆動された際でも、感圧センサ１０７、あるいはロボットハンド２００の指部が何かに接触することを避けられる。ステップＳ９０３では、補正値取得時の駆動周波数の開始と終了の周波数、および駆動周波数をスイープ変化させる際の更新周波数を設定する。本実施形態では、開始周波数は終了周波数より大きな値とし、本フローでの周波数スイープは減少方向とする。ステップＳ９０４では駆動周波数に開始周波数を設定し、モータの駆動を開始する。
【００１８】
ステップＳ９０５において、圧力検出値を取得し、またステップＳ９０６で圧力値を算出する。この時圧力値の算出は検出処理部１０３で実行されるが、この時の補正値はゼロ固定であり、補正しない状態において圧力値を算出する。ステップＳ９０７は、ステップＳ９０４で設定した駆動周波数（＝開始周波数）に対するステップＳ９０６で算出された圧力値を、補正値ＬＵＴに保存する。ステップＳ９０８では、駆動周波数を更新する。駆動周波数は現在の駆動周波数から更新周波数を減算する。この処理によって駆動周波数を徐々に減少（スイープ）させていく。ステップＳ９０９では本フローの終了判定を行う。つまり現在駆動周波数が終了周波数よりも大きい間は、ステップＳ９０５に戻る。そして、圧力検出値の取得を行い、現在駆動周波数が終了周波数よりも小さくなった場合には、ステップＳ９１０に移行する。ステップＳ９１０において基準位置へ移動した後に本フローを終了する。以上のようにして、徐々に減少していく駆動周波数に対する圧力値を取得していき、補正値ＬＵＴを作成する。
【００１９】
以上述べたように、駆動周波数に依存した圧力検出値の検出誤差を補正値として保持しておくことで、駆動周波数起因のノイズ影響を補正することが可能となる。また、本実施形態ではこのノイズ影響、つまり検出誤差を非把持状態の圧力検出値として得ることができる。さらにそれを補正値として用いることが可能なことから、モータ制御を構成する回路は演算処理に依存することなく、さまざまな形態でのノイズ影響を補正することができる。そのため、モータ制御装置が構成される電気回路基板上でのノイズ低減施策として、電流容量が大きい電源回路素子の使用や、バイパスコンデンサ追加、あるいは配線パターンの幅広く、厚くするなどの電源・ＧＮＤ強化の施策が特別に必要ではなくなる。そのため、電気回路基板の低コスト化、小型化、低設計難易度化などが期待できる。
【００２０】
また、たとえばモータ本体とモータ駆動装置を接続する駆動制御信号線の配線長や取り付け状態、あるいは駆動回路に変更が生じノイズの発生状況が変わった場合でも、電気回路基板の修正を行うことなく容易にノイズ影響を補正することが可能である。
【００２１】
以上により、精密なトルク制御を可能とするモータ制御装置、そのモータ制御装置を具備する生産ライン組立用ロボットハンドを提供できる。
【００２２】
また、追加回路素子が不要（特別な電源対策が不要）で、駆動周波数起因のノイズ影響を補正し、高精度なトルクセンシングが可能となる。更に、モータの配線長、取り付け状態、あるいは駆動回路に変更が生じノイズの発生状況が変わった場合でも、容易にノイズ影響を補正することが可能である。以上により、精密なトルク制御を可能とするモータ制御装置、そのモータ制御装置を具備する生産ライン組立用ロボットを提供できる。
【００２３】
（実施形態２）
次に、実施形態２を説明する。なお、モータ制御装置１００の構成は実施形態１で説明したとおりであり、以下では、実施形態１と異なる点となる圧力検出補正値生成部１０６内の補正値生成方法と、その補正値取得処理のフローについてのみ説明する。
【００２４】
（圧力検出値の補正値生成方法）
実施形態２における圧力検出補正値生成部１０６は、図１０に示すようにフィッティング部１００１と補正値演算部１００２で構成される。フィッティング部１００１は把持していない状態で駆動周波数４と圧力値２の関係から、あらかじめ想定される演算式にフィットするような係数を求める。たとえば演算式が一次関数であり、圧力値Ｐ＝補正値Ｍ＝ａ×駆動周波数Ｆ＋ｂとする場合、ａとｂの係数を算術演算で求める。一次関数であれば、少なくとも２点における駆動周波数４と圧力値２の関係がわかればよい。補正値演算部１００２では、フィッティング部１００１で求められた係数を含む演算式に駆動周波数４を代入することで、補正値６を得ることができる。
【００２５】
（圧力検出値の補正値生成方法）
次に、実施形態２における補正値データを得るための非把持状態における圧力値２の取得する、補正値取得処理を説明する。図１１は実施形態２にかかるモータ制御装置１００での補正値取得処理の流れを示すフローチャートである。実施形態１と異なるのはステップＳ１００１とステップＳ１１０２である。ステップＳ１００１では、駆動周波数、圧力値の保存はフィッティング処理を行うまでの一時的なものである。ステップＳ１１０２では、ステップＳ１１０１で保存されたデータをもとにフィッティング処理を実行する。
【００２６】
図１２に一次関数フィッティングで求めた係数を用いて補正値演算した場合の補正値データを示す。このときａ＝０．１２、ｂ＝０．９である。以上のように実施形態２では、実施形態１のようなルックアップテーブルデータが不要となり、回路規模の低減効果が期待でき、実施形態１に比べ駆動周波数の更新回数が少なくなるため、補正値取得も短時間で実行できる。すでに述べたように一次関数であれば、少なくとも２点でフィッティング処理が実行できる。
【００２７】
以上、本発明の実施形態について具体的に説明した。ただし、本発明は上記実施形態として記載された事項及びフローチャートに限定されるものではなく、本発明の技術思想を逸脱しない範囲内で適宜変更が可能である。
【００２８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018074783.tif 000003
【図２】
2018074783.tif 000004
【図３】
2018074783.tif 000005
【図４】
2018074783.tif 000006
【図５】
2018074783.tif 000007
【図６】
2018074783.tif 000008
【図７】
2018074783.tif 000009
【図８】
2018074783.tif 000010
【図９】
2018074783.tif 000011
【図１０】
2018074783.tif 000012
【図１１】
2018074783.tif 000013
【図１２】
2018074783.tif 000014