JP6656874B2 - 回転系の位置フィードバック制御方法 - Google Patents
回転系の位置フィードバック制御方法 Download PDFInfo
- Publication number
- JP6656874B2 JP6656874B2 JP2015205620A JP2015205620A JP6656874B2 JP 6656874 B2 JP6656874 B2 JP 6656874B2 JP 2015205620 A JP2015205620 A JP 2015205620A JP 2015205620 A JP2015205620 A JP 2015205620A JP 6656874 B2 JP6656874 B2 JP 6656874B2
- Authority
- JP
- Japan
- Prior art keywords
- degrees
- current position
- target
- range
- target position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Control Of Position Or Direction (AREA)
Description
制御対象物が直線的な範囲を往復移動するような場合であれば、位置検出には例えばリニアエンコーダを用いることができる。制御対象物の移動範囲がリニアエンコーダの測長範囲であれば、リニアエンコーダによる位置検出値Pcと指令値である目標位置Pdとの差分は単なる引き算で求められる。
回転系の制御対象物の現在位置を検出するにあたってはロータリーエンコーダが使用できる。
しかし、ロータリーエンコーダでは、1回転(360°)ごとにカウンタがゼロリセットされる。あるいは、1回転(360°)ごとにゼロリセットしないとしても、同一方向に回転を続けるといずれはカウンタがオーバーフローする。すると、目標位置と現在位置との差分を単なる引き算で計算できない場合が出現する。
目標位置Pdは10度であり、現在位置Pcは350度であるとする。単純な引き算でPd−Pcでは−340度となり不合理な数値となる。
このように、例えば、目標位置Pdと現在位置Pcとが0度(360度)を挟んで第1象限と第4象限とに分かれてしまうと、目標位置Pdと現在位置Pcとの差分は単純には求められない。
回転系である制御対象の位置制御を行う位置フィードバック制御方法であって、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360−α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcと偏差を算出する偏差算出工程と、を備え、
前記偏差に基づく速度指令値で前記制御対象を駆動して前記制御対象の現在位置を目標位置に追従させる
ことを特徴とする。
回転系である制御対象の位置制御を行う位置フィードバック制御方法であって、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方が90度から270度の範囲にない場合には、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcと偏差を算出する偏差算出工程と、を備え、
前記偏差に基づく速度指令値で前記制御対象を駆動して前記制御対象の現在位置を目標位置に追従させる
ことを特徴とする。
前記第2正規化工程は、
目標位置Pdと現在位置Pcとの両方が90度から270度の範囲にない場合に、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する
ことが好ましい。
前記第2正規化工程は、
現在位置Pcが90度から270度の範囲にない場合、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する
ことが好ましい。
回転系である制御対象の位置制御を行う位置フィードバック制御装置であって、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化部と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360−α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する第2正規化部と、
目標位置Pdと現在位置Pcと偏差を算出する偏差算出部と、
前記偏差に基づく速度指令値を求める速度算出部と、を備える
ことを特徴とする。
回転系である制御対象の位置制御を行う位置フィードバック制御装置に組み込んだコンピュータに、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360−α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcと偏差を算出する偏差算出工程と、
前記偏差に基づく速度指令値を求める速度算出工程と、を実行させる
ことを特徴とする。
(第1実施形態)
図2に、本発明が対象とする位置フィードバック制御系の一例を示す。
制御対象物として、ここでは回転テーブル110を考える。
回転テーブル110は、支持台111と、回転ステージ112と、を有する。回転ステージ112は、支持台111によって回転可能に支持されている。
ロータリーエンコーダ120は、ステータとロータとを有し、ロータが所定角度変位するごとに変位信号を出力する。カウンタ130にて前記変位信号をカウントし、そのカウント値を角度に変換することで回転ステージ112の回転位置(回転角度)がわかる。
ここでは、カウンタ130は、回転ステージ112の一回転(360度)に相当するカウント値で0(ゼロ)に戻るループカウンタ130であるとする。
カウンタ130が回転ステージ112の一回転相当でリセットされるので、角度検出部140で求められる現在位置Pcはθ≦Pc<360+θの範囲になる。
ここでθは、オフセット値であり、その値は任意である。θがマイナス(負)の値をとってももちろんよい。
位置フィードバック制御部200には、外部の指令制御部(不図示)から目標指令値として目標位置Pdが入力される。
目標位置Pdは、その時刻で目標とする回転ステージ112の回転位置(回転角度)である。
もちろん、逆回転の場合であれば、目標位置Pdはマイナスの値として与えられてもよい。
駆動回路310は速度指令値に応じた電流をモータ320に印可し、これにより、回転ステージ112が目標位置Pdに追従する。
位置フィードバック制御部200は、第1正規化部210と、第2正規化部220と、偏差算出部230と、速度算出部240と、を有する。
これら機能部の動作については、フローチャートを参照しながら後述する。
位置フィードバック制御部200は、指令制御部から目標位置Pdを取得し(ST111)、さらに角度検出部140から現在位置Pcを取得する(ST111)。そして、第1正規化部210により、目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する(ST121)。
前述のように、目標位置Pdも現在位置Pcも360°を超えることもあれば、マイナスの値をとることもある。したがって、差分を求めるに当たって、両者の範囲を0度から360度の範囲にそろえておく必要がある。
第1正規化処理(ST121)を受けた目標位置Pdと現在位置Pcとは、第2正規化部220に送られる。
今、現在位置Pcは350度であるから、90度から270度の範囲外である(ST130:NO)。言い換えると、反時計回りに角度をカウントするとして、現在位置Pcは、270度から90度の範囲内、すなわち、第4象限か第1象限にある。
−180度から180度の範囲に正規化するとは、0から180の場合はそのままの値とし、180から360の場合は、360を減じる、ということである。
場合分け(ST130)と第2正規化(ST141)との意味については後ほど説明する。
現在位置Pcは350度であるから、360度を減じて−10度となる(ST141)。
第2正規化部220で正規化された目標位置Pdと現在位置Pcとは偏差算出部230に送られる。
これは、単なる引き算でよい。
(偏差)=Pd−Pc=10−(−10)=20度
駆動回路310が速度指令値に応じた電流をモータ320に印可し、これにより、回転ステージ112が目標位置(目標角度)Pdになるように回転駆動する。所定の終了条件(ST170)を満たすまでST111からST160が繰り返されることで回転ステージ112が目標位置(目標角度)Pdに追従するようになる。
回転系の位置(角度)を表そうとすると、必ずどこかに不連続点が存在することになる。
例えば、0度(360度)が不連続点となる。
目標位置Pdと現在位置Pcとの間に不連続点があると、目標位置Pdと現在位置Pcとの偏差は単なる引き算では求められなくなる。そこで、目標位置Pdと現在位置Pcとの間に、不連続点がくる可能性がある場合には、正規化によって目標位置Pdと現在位置Pcとが連続するようにする(ST141)。
ここで本発明者は、対象を位置フィードバック制御に限定し、これにより、目標位置Pdと現在位置Pcとが90度以上の偏差を持つケースは除外することとした。
目標位置Pdと現在位置Pcとが90度以上離れてしまっているというのは、フィードバック制御がなりたっておらず、何らかの理由で制御が破綻していると考えられる。
こうすれば、目標位置Pdと現在位置Pcとの間に0度(360度))を挟む場合でも第2正規化処理(ST141)によって目標位置Pdと現在位置Pcとの値が連続するようになり、両者の偏差を単純な引き算で求められるようになる(ST150)。
図4に示すように目標位置Pdと現在位置Pcとの間に180度の点を挟むような場合に、目標位置Pdと現在位置Pcとを、わざわざ−180度から180度の範囲に置き直してはいけない。そんなことをしては、わざわざ目標位置Pdと現在位置Pcとの間に180度(−180度)という不連続点をつくってしまうことになる。したがって、現在位置Pcが90度から270度の範囲にある場合は(ST130:YES)、そのまま引き算によって偏差を求めればよい(ST150)。
上記実施形態においては、現在位置Pcが第1象限か第4象限にある場合に目標位置Pdと現在位置Pcとを−180度から180度の範囲に正規化(第2正規化)するとした。
変形例1として、目標位置Pdと現在位置Pcとの少なくとも一方が第1象限か第4象限にある場合に(ST131:NO)、−180度から180度に正規化を行ってもよい(ST141)。変形例1のフローチャートを図5に示した。
第2正規化(ST141)が必要とされるのは、図1のように、目標位置Pdと現在位置Pcとの間に0度(360度)を挟む場合だけであるが、これは、目標位置Pdも現在位置Pcも第1象限か第4象限にある場合にしか出現しない。
したがって、目標位置Pdか現在位置Pcの少なくとも一方が90度から270度の範囲にある場合(ST132、ST133:YES)には第2正規化を行わずにただの引き算によって偏差を求めることとしてもよい(ST150)。
一方、目標位置Pdも現在位置Pcも90度から270度の範囲にない場合(ST132、ST133:NO)にだけ、第2正規化を行ってから偏差を求めるようにする。
このように適切に求めた偏差を用いて回転系の位置フィードバック制御を適切に実行できるようになった。
上記実施形態、変形例1、2においては、目標位置Pdと現在位置Pcとの偏差が90度を超えるケースを除外して考えた。したがって、0度(360度)から正逆回転方向に90度の点である90度と270度とを場合分け(ST130、ST131、ST132、ST133)の閾値とした。
ここで、目標位置Pdと現在位置Pcとの偏差がα度を超えるケースを除外して考えるようにすれば、0度(360度)から正逆回転方向にα度の点であるα度と(360−α)度とが場合分けの閾値となる。例えば、目標位置Pdと現在位置Pcとの偏差が45度を超えるケースを除外して考えるようにすれば、0度(360度)から正逆回転方向に45度の点である45度と315度とが場合分けの閾値となる。
すなわち、目標位置Pdと現在位置Pcとの少なくとも一方が45度から315度の範囲にない場合、第2正規化処理(ST141)を行うようにしてもよい。同じ読み替えを変形例1、2に対して行ってもよい。
本発明の好適な利用形態を一例紹介する。
例えば、円筒形のワークがあったとして、このワークの円筒度を真円度測定機で測定したいとする。
この場合、測定子をワークの側面に当てながら、回転テーブル110を回転させる。このとき、回転テーブル110の回転と測定子の上下動とを同期制御することでワークの側面を螺旋状に連続的に測定することができる。
ワークが非常に長かったり、螺旋ピッチを極めて細かくしたりすると、回転テーブル110は同一方向に数百回転、数千回転することになる。
回転テーブル110の回転と測定子の上下動とを同期制御するには回転テーブル110の回転を位置フィードバック制御する必要があるが、このとき本発明の回転系の位置フィードバック制御方法が有効となる。
上記実施形態では、回転系の位置検出にロータリーエンコーダ120を用いたが、回転系の位置検出としては他の手段も有り得る。例えば、モータ320に印加する駆動パルスをカウントすることによってモータ位置あるいは回転ステージ112の位置を検出するようにしてもよい。
この場合でも、カウンタは1回転(360°)ごとにゼロリセットされるか、同一方向に回転を続けるといずれはカウンタがオーバーフローすることになるのであるから、同じ問題が発生する。この方法に限らず、回転系の位置検出には同じ問題が発生する。そして、本発明がその解決に有効となる。
120…ロータリーエンコーダ、
130…カウンタ、140…角度検出部、
200…位置フィードバック制御部、
210…第1正規化部、220…第2正規化部、230…偏差算出部、240…速度算出部、
310…駆動回路、
320…モータ。
Claims (6)
- 回転系である制御対象の位置制御を行う位置フィードバック制御方法であって、目標位置Pdと現在位置Pcとの差がα度未満のときに制御を継続するものであり、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360-α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcとの偏差を算出する偏差算出工程と、を備え、
前記偏差に基づく速度指令値で前記制御対象を駆動して前記制御対象の現在位置を目標位置に追従させる
ことを特徴とする回転系の位置フィードバック制御方法。
なお、αは、0≦α≦90である。 - 回転系である制御対象の位置制御を行う位置フィードバック制御方法であって、目標位置Pdと現在位置Pcとの差が90度未満のときに制御を継続するものであり、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方が90度から270度の範囲にない場合には、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcとの偏差を算出する偏差算出工程と、を備え、
前記偏差に基づく速度指令値で前記制御対象を駆動して前記制御対象の現在位置を目標位置に追従させる
ことを特徴とする回転系の位置フィードバック制御方法。 - 請求項2に記載の回転系の位置フィードバック制御方法において、
前記第2正規化工程は、
目標位置Pdと現在位置Pcとの両方が90度から270度の範囲にない場合に、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する
ことを特徴とする回転系の位置フィードバック制御方法。 - 請求項2に記載の回転系の位置フィードバック制御方法において、
前記第2正規化工程は、
現在位置Pcが90度から270度の範囲にない場合、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する
ことを特徴とする回転系の位置フィードバック制御方法。 - 回転系である制御対象の位置制御を行う位置フィードバック制御装置であって、目標位置Pdと現在位置Pcとの差がα度未満のときに制御を継続するものであり、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化部と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360-α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する第2正規化部と、
目標位置Pdと現在位置Pcとの偏差を算出する偏差算出部と、
前記偏差に基づく速度指令値を求める速度算出部と、を備える
ことを特徴とする回転系の位置フィードバック制御装置。
なお、αは、0≦α≦90である。 - 回転系である制御対象の位置制御を行う位置フィードバック制御装置であって目標位置Pdと現在位置Pcとの差がα度未満のときに制御を継続するものに組み込んだコンピュータに、
目標位置Pdと現在位置Pcとを0度から360度の範囲に正規化する第1正規化工程と、
目標位置Pdと現在位置Pcとの少なくともいずれか一方がα度から(360-α)度の範囲にない場合には、目標位置Pdと現在位置Pcとを-180度から180度の範囲に正規化する第2正規化工程と、
目標位置Pdと現在位置Pcと偏差を算出する偏差算出工程と、
前記偏差に基づく速度指令値を求める速度算出工程と、を実行させる
ことを特徴とするコンピュータ読取可能な回転系の位置フィードバック制御プログラム。
なお、αは、0≦α≦90である。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015205620A JP6656874B2 (ja) | 2015-10-19 | 2015-10-19 | 回転系の位置フィードバック制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015205620A JP6656874B2 (ja) | 2015-10-19 | 2015-10-19 | 回転系の位置フィードバック制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017078902A JP2017078902A (ja) | 2017-04-27 |
JP6656874B2 true JP6656874B2 (ja) | 2020-03-04 |
Family
ID=58667045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015205620A Active JP6656874B2 (ja) | 2015-10-19 | 2015-10-19 | 回転系の位置フィードバック制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6656874B2 (ja) |
-
2015
- 2015-10-19 JP JP2015205620A patent/JP6656874B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017078902A (ja) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102049717B1 (ko) | 로프 지름 계측 시스템, 로프 지름 계측 장치, 로프 지름 계측 방법 및 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램 | |
CN102104361A (zh) | 具有齿槽转矩修正量计算功能的电动机控制装置 | |
JP5788560B1 (ja) | 回転方向反転時に補正処理を行うモータ制御装置 | |
JP6479256B2 (ja) | モータ制御装置及びこれを用いたモータ装置 | |
JP6656874B2 (ja) | 回転系の位置フィードバック制御方法 | |
JP2016018392A (ja) | ネジピッチを算出するシステム | |
CN113924207A (zh) | 异常探测装置、异常探测方法以及异常探测程序 | |
JP6377506B2 (ja) | モータ制御装置および同装置における補正データ作成方法 | |
TWI660570B (zh) | 馬達控制裝置 | |
US20120191406A1 (en) | Angular speed detection apparatus and method for detecting angular speed error | |
JP2013246054A (ja) | モータ制御装置、モータ制御装置の制御方法 | |
KR102571847B1 (ko) | 임펄스 렌치 회전 검출 방법 및 장치 | |
JP2019109152A5 (ja) | ||
JP7110845B2 (ja) | 情報処理装置及び情報処理方法 | |
JP4901579B2 (ja) | 角度検出装置 | |
JP2011107030A (ja) | 転がり直動装置の作動状態監視方法および作動状態監視装置 | |
JP2014102136A5 (ja) | ||
JP2006300699A (ja) | 速度検出装置とその異常速度検出方法 | |
CN111230863B (zh) | 导轨定位机构、方法、装置、存储介质及导轨定位设备 | |
JP7192458B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JPWO2020255230A5 (ja) | 負荷検知装置、負荷検知方法、及びプログラム | |
JP5587695B2 (ja) | ノイズ状態検出機能付きエンコーダ | |
JP2024025459A (ja) | 診断装置、モータ制御装置、診断方法、診断プログラム | |
JP2007141030A (ja) | 電動機制御装置 | |
JPS58184508A (ja) | 位置検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190906 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6656874 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |