(57)【要約】【目的】リミット・スイッチを設けなくても原点復帰を可能とする。【構成】ロボット軸を駆動するモータ（21）を，ロボット軸の可動部分（スライダ20）が機械的端点に向う方向に駆動し（Ｓ11），モータの駆動制御において機械的端点に至ったことを検出したときに（Ｓ12），モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいて回転軸の回転角の測定を開始する（Ｓ13）。モータを逆転させてから，ロータリエンコーダ（22）から特定角度位置を表わすＺ相信号が出力される（Ｓ15）までの測定回転角（Ｓ22）が，あらかじめ定められた基準Ｚ相角を中心にその前後に所定の許容角（±許容角２）の範囲内にあるかどうかをチェックし（Ｓ23），許容角範囲内であれば，所定のオフセット角駆動させた後に（Ｓ20），その回転角位置を座標原点として設定する（Ｓ21）。【選択図】図４
2015024478.tif 000002
【特許請求の範囲】
【請求項１】
ロボット軸を駆動するモータを，ロボット軸の可動部分が機械的端点に向う方向に駆動し，
モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転を表わす回転角の測定を開始し，
初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，
第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶し，
定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，
第２の許容角の範囲内にあれば，座標原点を設定する，
ロボット軸の原点復帰方法。
【請求項２】
特定回の基準角度位置信号が出力されてから所定のオフセット角駆動させたときの回転角度位置を座標原点とする，請求項１に記載のロボット軸の原点復帰方法。
【請求項３】
特定回の基準角度位置信号が出力された位置を座標原点とする，請求項１に記載のロボット軸の原点復帰方法。
【請求項４】
初期処理において，上記測定回転角が第１の許容角の範囲内にない場合にはロータリエンコーダ調整エラーと判定する，請求項１に記載のロボット軸の原点復帰方法。
【請求項５】
定常処理において，上記測定回転角が第２の許容角の範囲内にない場合には，原点復帰エラーと判定する，請求項１に記載のロボット軸の原点復帰方法。
【請求項６】
ロボット軸を駆動するモータを，ロボット軸の可動部分が機械的端点に向う方向に駆動し，
モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転を表わす回転角の測定を開始し，
モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ定められた基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，
許容角の範囲内にあれば，座標原点を設定する，
ロボット軸の原点復帰方法。
【請求項７】
ロボット軸を駆動するモータ，
ロボット軸の回転軸の回転を表わす回転角信号と特定の角度位置を表わす基準角度位置信号を発生するロータリエンコーダ，
モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，
機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づく回転角の測定を開始させる逆転制御手段，
初期処理において，モータを逆転させてからロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶する初期判定手段，および
定常処理において，モータを逆転させてから，ロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，座標原点を設定する原点座標設定手段，
を備えたロボット軸の原点復帰装置。
【請求項８】
上記原点座標設定手段は，特定回の基準角度位置信号が出力されてから所定のオフセット角駆動された後の回転角位置を座標原点として設定するものである，請求項７に記載のロボット軸の原点復帰装置。
【請求項９】
上記原点座標設定手段は，特定回の基準角度位置信号が出力された角位置を座標原点として設定するものである，請求項７に記載のロボット軸の原点復帰装置。
【請求項１０】
上記初期判定手段は，上記測定回転角が第１の許容角の範囲内にない場合にはロータリエンコーダ調整エラーと判定する，請求項７に記載のロボット軸の原点復帰装置。
【請求項１１】
上記原点座標設定手段は，上記測定回転角が第２の許容角の範囲内にない場合には，原点復帰エラーと判定する，請求項７に記載のロボット軸の原点復帰装置。
【請求項１２】
ロボット軸を駆動するモータ，
ロボット軸の回転軸の回転を表わす回転角信号と特定の角度位置を表わす基準角度位置信号を発生するロータリエンコーダ，
モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，
機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づく回転角の測定を開始させる逆転制御手段，および
モータを逆転させてから，ロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ設定された基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，上記許容角の範囲内にあれば，座標原点を設定する原点座標設定手段，
を備えたロボット軸の原点復帰装置。
【請求項１３】
ロボット軸を駆動するモータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，
機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づくロボット軸の回転軸の回転角の測定を開始させる逆転制御手段，
初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶する初期判定手段，および
定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，座標原点を設定する原点座標設定手段，
を備えたロボット軸の原点復帰制御装置。
【請求項１４】
ロボット軸を駆動するモータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，
機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転角の測定を開始させる逆転制御手段，および
モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ定めた基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，上記許容角の範囲内にあれば，座標原点を設定する原点座標設定手段，
を備えたロボット軸の原点復帰制御装置。
【請求項１５】
ロボット軸を駆動するモータをロボット軸の可動部分が機械的端点に向う方向に駆動し，
モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転角の測定を開始させ，
初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの特定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，
第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶し，
定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，そして
第２の許容角の範囲内にあれば，座標原点を設定する，
ようにコンピュータを制御するロボット軸の原点復帰のためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はロボット軸の原点復帰方法，原点復帰装置，原点復帰制御装置および原点復帰のためのプログラムに関する。
【従来技術】
【０００２】
ロボット軸の原点復帰制御装置に特許文献１に記載のものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−２９２１９０号公報
【０００４】
この原点復帰制御装置は，モータを駆動してロボット軸を，原点付近に設けた原点センサの方向へ動かし，原点センサから検出信号が出力されるのを監視する。原点検出信号が発生したら，その後，ロボット軸の回転量を測定するエンコーダの最初のエンコーダ零相（Ｚ相）出力を監視し，零相出力が発生した位置をロボット軸の絶対位置原点とし，そこにロボット軸を位置決めする。また，原点センサによる原点検出からエンコーダの零相出力までの移動距離を測定し，この移動距離が所定の基準距離を超えたときに，エンコーダの零相断線等の異常と判定し，モータの駆動を停止する。
【０００５】
この原点復帰制御装置は原点センサを必要とする。特許文献１に開示の原点センサはドグが接触して動作する接触式のリミット・スイッチである。リミット・スイッチには，磁気式，光学式および接触式のものがあり，いずれにしてもロボット軸が原点付近に至ったことをロボット軸またはそれに連結された部材による機械的ないしは物理的な直接的作用に基づいて検出する。
【０００６】
このような，ロボット軸またはそれに連結された部材による機械的ないしは物理的な直接的作用に基づいて検出するリミット・スイッチは，それが配置された環境に強い影響を受ける。磁気式のものは，一般的には耐環境性は高いが，近くにマグネットが存在するなど磁気回路が影響を受けるような環境では使用できない。光学式は，オイルミストが舞う環境では使用することができず，また，粉塵がセンサに付着することにより，動作不良が起こる場合がある。接触式は，ドグ（接触部）が摩耗する可能性があるとともに，粉塵の付着により動作不良を発生したり，湿潤な環境では錆による接点不良が生じやすい。
【発明の開示】
【０００７】
この発明は，ロボット軸またはそれに連結された部材による機械的ないしは物理的な直接的作用に基づいて検出するリミット・スイッチを必ずしも用いなくても，正確に原点復帰を行うことができる方法，装置，制御装置およびプログラムを提供することを目的とするものである。
【０００８】
この発明によるロボット軸の原点復帰方法は，ロボット軸を駆動するモータを，ロボット軸の可動部分が機械的端点に向う方向に駆動し，モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転を表わす回転角の測定を開始し，初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶し，定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，座標原点を設定するものである。
【０００９】
ロボット軸とは，抽象的には（たとえば発明の名称で用いられるロボット軸），またはユーザの側に立ってみるときには，ロボットの動きを表わすための座標（の方向）（直交座標の軸のみならず極座標等の場合の角度（の方向）を含む）を指し，具体的には，直線的に往復動するアクチュエータの場合には，往復動する可動部材（スライダ，ナット等），それを駆動する部材（モータ，減速機構，ボールネジ等）などの一部または全部を指し，スカラロボット等の回転（回動，旋回）するアームの場合には，アーム，アームを駆動する部材（アームの回転軸，モータ，減速機構等）などの一部または全部を指す。ロータリエンコーダはボールネジ，アームの回転軸，モータからこれらのボールネジ，回転軸までの動力伝達機構（減速機構）を構成する回転軸，モータの回転軸等のいずれかの回転角を表わす信号および基準角度位置を表わす信号を出力するものである。
【００１０】
機械的端点とは，ロボット軸の可動部分（スライダ，アームなど）がロボットの一部（静止している部分）に機械的に当って動かなくなる位置であり，一般には可動範囲の両端に１つずつある。機械的端点はいわゆるメカニカル・エンド（メカエンド）を意味する。
【００１１】
モータの駆動制御においてロボット軸の可動部分が機械的端点に当ることに起因して発生する所定の異常信号とは，ロボット軸の可動部分（それに連結（結合）された部材を含む）が機械的端点に衝突することにより，モータ駆動制御装置に生じる異常，たとえば電流値，位置偏差，速度において生じる異常（モータに流れる電流値が所定値以上となり所定時間経過したこと，位置偏差が所定値より大きくなったこと，速度が所定値以下となり所定時間経過したことなど）を意味する。これにより，ロボット軸の可動部分が機械的端点に至ったことが検出される。
【００１２】
典型的なロータリ（回転）エンコーダは，位相が90度ずれたＡ相，Ｂ相および特定の基準角度位置で出力される零相（Ｚ相）の信号を出力する。Ａ相，Ｂ相信号が回転角信号であり，Ｚ相が特定角度位置を表わす基準位置信号である。一般にロータリエンコーダは１回転で１つのＺ相信号（パルス）を発生するが，特殊なエンコーダは１回転で２個またはそれ以上の数のＺ相パルスを発生するものもある。特定回の基準位置信号とは最も一般的には１回目の基準角度位置信号を意味するが，２回目以上の基準角度位置信号でもよい。
【００１３】
ロータリエンコーダはインクレメンタル・エンコーダおよびアブソリュート・エンコーダの両方を含む。
【００１４】
特定回の基準角度位置信号が出力された角位置，またはそれから所定のオフセット角駆動されたときの回転角位置を座標原点として記憶するとよい（記憶している回転角位置をリセットすることを含む）。
【００１５】
この発明によると，モータの駆動制御において発生する端点衝突に起因する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に当ったことが検出される。この後，モータは逆転されるとともに，ロボット軸の回転軸の回転角がロータリエンコーダの出力に基づいて計測される。
【００１６】
好ましくは，ロータリエンコーダは，ロボット軸の機械的端点から進んだときに，特定回の基準角度位置信号が出力される回転角の半分程度に相当する位置（ロータリエンコーダ調整角度）で基準角度位置信号を発生するようにあらかじめ調整（または設定）されている。
【００１７】
まず初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶する。
【００１８】
初期処理においては，ロボット軸の移動経路上に異物などが存在せず，その他の異常（ケーブルの噛み込み，摺動，回転抵抗の異常）が存在しないということが前提である。この初期処理において，原点復帰動作のための基準位置角が設定される。初期処理はロボット軸とロータリエンコーダとの組合せを含むシステムを構築したシステム立上時，ロータリエンコーダの交換時などにおいて行なわれる。
【００１９】
次に定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，特定回の基準角度位置信号が出力された回転角位置，またはそれから所定のオフセット角駆動させた後の回転角位置を座標原点として設定する。定常処理は，最も一般的にはユーザ・プログラムにより原点復帰命令が与えられたとき，電源投入時，原点復帰ボタンが押下されたとき等に実行される。原点復帰処理により定められる座標原点とは，ユーザ・プログラムにおいてロボット軸を制御するときに用いられる座標の原点である。
【００２０】
初期処理において設定した基準位置角の近傍に至っていることが分れば，正常に原点に復帰したと判断される。長い間の稼働により機械的端点の部材が摩耗したとしても基準角度位置信号が出力される角度位置はそれに影響されないから正確な原点復帰が可能である。
【００２１】
経路上における異物の存在，その他の上述したような異常がある場合には，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されても，上記基準位置角を中心にその前後に第２の許容角の範囲内にないことが多いので，これにより原点復帰エラーを検出することができる。
【００２２】
このようにして，必ずしも機械的，物理的な直接的作用に基づいて検出するリミット・スイッチを設けなくても，ロボット軸の原点復帰を実現することができ，そのエラーの検出も可能となる。
【００２３】
この発明は，初期処理において，基準位置角を設定している。ロータリエンコーダの取付角調整（ロータリエンコーダ調整角度）にばらつきがあっても基準位置角の設定により，定常処理における原点復帰の基準位置角が定まるので，定常処理ではロータリエンコーダの取付角のばらつきに関係なく高精度の原点復帰が可能となり，高精度の原点復帰エラー検出が可能となる。ロータリエンコーダの調整角度（特定角度位置を表わす基準位置信号（Ｚ相信号）が発生する角度位置）に直接に基づいて原点復帰のための基準位置角を定めると，ロータリエンコーダの取付角位置調整を厳密にしなければならないか，または許容角の範囲を非常に広くとらなければならなくなる。許容角の範囲を広くとると，原点復帰エラーの検出精度が悪くなる。
【００２４】
この発明によると，第２の許容角の範囲を狭くすることが可能なので精度の高い原点復帰が可能となる，また精度の高い原点復帰エラーの検出が可能となる。
【００２５】
好ましい実施態様では第２の許容角を第１の許容角よりも狭くする。
【００２６】
初期処理においても，特定回の基準角度位置信号が出力された回転角位置，またはそれから所定のオフセット角駆動させた後の回転角位置を座標原点として記憶してもよい。
【００２７】
好ましい実施態様においては，初期処理において，上記測定回転角が第１の許容角の範囲内にない場合にはロータリエンコーダ調整エラーと判定する。
【００２８】
定常処理において，上記測定回転角が第２の許容角の範囲内にない場合には，原点復帰エラーと判定する。
【００２９】
機械的端点に至ったことを検出した後，モータを逆転させたときに，特定回の基準位置信号が出力される前にロータリエンコーダが所定角回転（たとえば１回転）したような場合（測定回転角で分る）には基準位置信号未検出エラーとするとよい。
【００３０】
基準位置角があらかじめ定められているという前提で，この発明によるロボット軸の原点復帰方法は，ロボット軸を駆動するモータを，ロボット軸の可動部分が機械的端点に向う方向に駆動し，モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転を表わす回転角の測定を開始し，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ定められた基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，許容角の範囲内にあれば，座標原点を設定するものである。
【００３１】
この発明は，上記原点復帰方法に対応するロボット軸の原点復帰装置を提供している。この原点復帰装置は，ロボット軸を駆動するモータ，ロボット軸の回転軸の回転を表わす回転角信号と特定の角度位置を表わす基準角度位置信号を発生するロータリエンコーダ，モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づく回転角の測定を開始させる逆転制御手段，初期処理において，モータを逆転させてからロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶する初期判定手段，および定常処理において，モータを逆転させてから，ロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，座標原点を設定する原点座標設定手段を備えているものである。
【００３２】
この発明は，上記原点復帰方法に対応するロボット軸の原点復帰制御装置を提供している。この原点復帰制御装置は，ロボット軸を駆動するモータ，ロボット軸の回転軸の回転を表わす回転角信号と特定の角度位置を表わす基準角度位置信号を発生するロータリエンコーダ，モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づく回転角の測定を開始させる逆転制御手段，およびモータを逆転させてから，ロータリエンコーダから特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ設定された基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，上記許容角の範囲内にあれば，座標原点を設定する原点座標設定手段を備えているものである。
【００３３】
基準位置角があらかじめ定められていることを前提とするこの発明による原点復帰制御装置は，ロボット軸を駆動するモータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出する機械的端点検出手段，機械的端点に向かってモータを駆動して上記機械的端点検出手段が機械的端点を検出したことに応答してモータを逆転させるとともに上記ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転角の測定を開始させる逆転制御手段，およびモータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，あらかじめ定めた基準位置角を中心にその前後に所定の許容角の範囲内にあるかどうかをチェックし，上記許容角の範囲内にあれば，座標原点を設定する原点座標設定手段を備えているものである。
【００３４】
この発明は，上記原点復帰方法をコンピュータにより実行するためのプログラムも提供している。この発明によるロボット軸の原点復帰のためのプログラムは，ロボット軸を駆動するモータをロボット軸の可動部分が機械的端点に向う方向に駆動し，モータの駆動制御において上記可動部分が機械的端点に当ることに起因して発生する所定の異常信号に基づいてロボット軸の可動部分が機械的端点に至ったことを検出したときに，モータを逆転させるとともに，ロータリエンコーダから出力される回転角信号に基づいてロボット軸の回転軸の回転角の測定を開始させ，初期処理において，モータを逆転させてからロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの特定回転角が，ロータリエンコーダ調整角度を中心にその前後に第１の許容角の範囲内にあるかどうかをチェックし，第１の許容角の範囲内にあれば上記測定回転角を基準位置角として記憶し，そして定常処理において，モータを逆転させてから，ロータリエンコーダから特定角度位置を表わす特定回の基準角度位置信号が出力されるまでの測定回転角が，上記基準位置角を中心にその前後に第２の許容角の範囲内にあるかどうかをチェックし，第２の許容角の範囲内にあれば，座標原点を設定するようにコンピュータを制御するものである。
【図面の簡単な説明】
【００３５】
【図１】ロボットシステム全体の構成，特にアクチュエータと，原点復帰制御を含む制御を行うモータの制御装置を示す構成図である。
【図２】原点復帰初期処理における角度範囲を示す。
【図３】原点復帰定常処理における角度範囲を示す。
【図４】原点復帰処理の全体を示すフローチャートである。
【実施例】
【００３６】
図１はアクチュエータ（一軸ロボット）ならびにその駆動装置および制御装置の構成およびそれらの関連を示すものである。
【００３７】
アクチュエータ10は基台11を含み，この基台11の長手方向に沿ってガイドレール14が設けられている。そしてスライダ20がガイドレール14に移動自在に支持されている。基台11の両端には端面部材12が設けられ，端面部材12間にボールネジ13が回転自在に受けられている。ボールネジ13に複数のボールを介してねじ嵌められたナット（図示略）がスライダ20に固定されている。したがって，ボールネジ13が回転することによりスライダ20がレール14に沿って移動する。
【００３８】
一方の端面部材12には駆動モータ（サーボモータ）21が取付けられ，モータ21の回転軸は減速機構を介してボールネジ13に連結されている。さらにモータ21の回転軸，減速機構の回転軸，ボールネジ13のいずれかの回転軸に連結されたロータリエンコーダ（インクレメンタル・エンコーダ）22が設けられている。ロータリエンコーダ22は，Ａ，Ｂ相のパルス信号（回転角信号）とＺ相（零相）のパルス信号（基準角度位置信号）を出力する。Ａ相とＢ相のパルスは相互に90°位相がずれており，ボールネジ13の回転量と回転方向を表わす。Ｚ相パルスはたとえばボールネジ13の１回転に１個，特定の回転角度位置で出力される。
【００３９】
端面部材12の内面にはボールネジ13を受ける位置においてストッパ押当部材19が設けられ，スライダ20にはこれらに対応してストッパ18が取付けられている。ストッパ18は弾性部材（たとえばウレタン）が好ましくは，ストッパ押当部材19はたとえば金属製である。ストッパ18を弾性部材で構成することにより，ストッパ18がストッパ押当部材19に当ったときの衝撃が吸収される。ボールネジ13の回転によりスライダ20が移動して，いずれかのストッパ18が対応するストッパ押当部材19に当る位置が機械的端点（メカニカルエンド）（以下，メカエンドという）である。ストッパ押当部材19の位置にストッパを，ストッパ18の位置にストッパ押当部材を配置してもよい。
【００４０】
スライダ20の移動制御，すなわちモータ21の回転制御は制御装置30により行なわれる。制御装置30はコンピュータ・システムであり，システム・プログラムおよびユーザ・プログラムにしたがって制御を行う。これらのプログラムは制御装置内のメモリ（図示略）に格納されている。制御装置30のブロック内に特にメモリとして図示されているメモリ（メモリ・エリア）には，後述する基準Ｚ相角（基準位置角），許容角１，２，各種パラメータなどが格納されている。モータドライバ31は制御装置30からの指令の下にモータ21の駆動制御（たとえばＰＩＤ制御）を行う。モータドライバ31はまたカウンタ33を含み，このカウンタ33は，エンコーダ22から出力され，モータドライバ31を経て入力するＡ相（またはＢ相）パルスを計数し，ボールネジ13の回転量（回転角），すなわちスライダ20の移動量を測定する。カウンタ33の計数値（移動量）は制御装置30に与えられる。エンコーダ22のＺ相パルス信号はモータドライバ31を経て制御装置30に送られる。
【００４１】
図４は制御装置30が実行する原点復帰処理（システム・プログラムの１つのルーチン）の処理の流れを示すものである。この原点復帰処理は，ユーザ・プログラムによる原点復帰命令（電源投入時や原点復帰ボタンのオンなどに基づいて発生する原点復帰指令（信号）を含む）に応答して，またはシステムの立上げ時（エンコーダ交換等を含む）等において実行される。
【００４２】
まず，モータ21が低速で（好ましくは一定速度で）スライダ20のメカエンドに向う方向に運転される。アクチュエータの基台11は両端を有するが，メカエンドはパラメータによりあらかじめその一方の端として定められているので，モータ21はメカエンドと定められた端に向ってスライダ20が移動する回転方向で駆動される（Ｓ11）。スライダ20はメカエンドに向ってゆっくりと動いていく。
【００４３】
この実施例のアクチュエータ10にはスライダ20がメカエンドに至ったことを検出するリミット・スイッチ（機械的，物理的作用により直接に検出するスイッチ，光電スイッチ，磁気センサ等を含む）は設けられていない。スライダ20がメカエンドに至ったことはモータドライバ31におけるモータ制御において生じる特定の異常に基づいて検出される。スライダ20がメカエンドに至ると，ストッパ18がストッパ押当部材19に当り，スライダ20はそれ以上移動しなくなる。スライダ20の移動量はＡ相（Ｂ相）パルスをカウンタ33で計数することにより測定される。スライダ20が移動しなくなるとカウンタ33の計数値は増加しない。スライダ20の移動量（位置）を微分することにより速度が求められるが，この速度が零に近づく。スライダ20の速度が所定値以下になって所定時間経過することにより，スライダ20がメカエンドに至ったことが検出される。位置偏差の変化に基づいてメカエンドを検出することもできる。位置指令値はスライダ20の現在位置よりも先の位置を示し，これは順次増大していく。これに対してスライダ20が移動しなければ現在位置の値は変化しないから，指令位置と現在位置との差である位置偏差は増大していく。位置偏差が所定値よりも大きくなったことでスライダ20がメカエンドに至ったことが検出される。スライダ20が停止していればモータ21に流れる電流も増大するので，モータ電流が所定値を超えて所定時間以上経過したときにメカエンドに至ったと判断される。このようにして，スライダ20がメカエンドに至って停止することに起因してモータドライバ等において生じる所定の異常に基づいてメカエンドに至ったことが検出される（Ｓ12でＹ）。
【００４４】
メカエンドに至ったことが検出されると，制御装置30からモータドライバ31に逆転指令が与えられ，モータ21の逆方向への駆動が開始されるとともに，Ａ，Ｂ相パルスの計数を始めから開始して，スライダ20の逆方向移動量（ボールネジ13の逆方向回転角）の計測が開始される（Ｓ13）。
【００４５】
この実施例ではエンコーダ22のＺ相パルスはボールネジ13の１回転で１個出力される。エンコーダ22の取付角（ロータリエンコーダ調整角度）は次のようにあらかじめ調整されている。すなわち，スライダ20がメカエンドに至ってボールネジ13が逆方向に半回転（１／２回転）したときにＺ相パルスが出力されるように調整されている。人による調整であるから厳密に１／２回転ではなく多少の誤差はありうる。いずれにしても，図２に示すように，メカエンドから離れる方向にＺ相間角／２（Ｚ相間角は１回転すなわち 360°である），すなわち 180°のところを基準として，その前後に所定の許容角１をとった範囲内を許容範囲とする。メカエンドからモータが逆転して，その逆転回転角（測定角）がＺ相間角／２±許容角１の範囲内にあるときにエンコーダ22からＺ相パルスが出力されれば正常であると判断する（Ｓ15でＹ）。許容角１はもちろんＺ相間角／２よりも小さい適当な値に設定される（小さい方がよい）。
【００４６】
メカエンド検出から逆転し，そこから計測を開始したＡ，Ｂ相パルスによる計数値がボールネジ13の１回転以上の値を表わしているときには（Ｓ14でＹ）もはや異常であるから，Ｚ相未検出エラー（Ｓ24）としてモータを停止し（Ｓ27），処理を終える。Ｓ14の判断はＺ相間角／２＋許容値１以上かという判断でもよい。
【００４７】
原点復帰処理には初期処理と定常処理がある。初期処理は，アクチュエータ10とロータリエンコーダ22との組合せを含むシステムを構築して最初に稼働するとき，アクチュエータの修理等においてロータリエンコーダを一旦取外して再び取付ける（交換する）ときなどである。特定の初期フラグを立てておいてこれを判断する，後述する基準Ｚ相角として特殊な値（通常あり得ない値）を格納しておいてこれを判断するなどにより初期処理かどうかを判定することができる。
【００４８】
Ｓ15でＺ相を検出したときに，初期処理の場合には（Ｓ16でＹ），モータ逆転開始してから計数したＡ相（Ｂ相）パルスの計数値に相当する角度を基準Ｚ相角（基準位置角）としてメモリに保存する（Ｓ17）。この基準Ｚ相角は，メカエンドの位置（角度）からスライダ20がメカエンドから離れる方向にモータ21を駆動していってはじめてＺ相パルスが発生した角度位置である。
【００４９】
この計測した角度（基準Ｚ相角）がＺ相間角／２±許容角１の範囲内にあれば，エンコーダ22は正しく取付けられていると判断され（Ｓ19でＮ），さらに同じ方向に所定のオフセット角（１回転以下の小さな角度）分モータを回転させて停止する（Ｓ20）（図２参照）。この停止位置の角度を座標原点としてメモリに記憶する（記憶角度をリセットすることを含む）（Ｓ21）。座標原点は，ユーザ・プログラムにおいてロボット軸の駆動を制御するときに用いる座標の原点である。
【００５０】
計測した角度が上記の範囲内に入っていないときには（Ｓ19でＹ），エンコーダ22の取付（調整）エラーと判断され（Ｓ26），モータが停止され（Ｓ27），処理が終る。
【００５１】
初期処理でない場合，すなわち定常処理の場合には（Ｓ16），メカエンドから逆転して進んだ角度（カウント値）を比較用測定角としてメモリに保存する（Ｓ22）。
【００５２】
そして，図３を参照して，この比較用測定角が，初期処理においてメモリに保存した基準Ｚ相角を用いて，基準Ｚ相角±許容角２の範囲内に入っているかどうかを判断する（Ｓ23）。この範囲内に入っていれば原点復帰が正常に行なわれたとして，さらにオフセット角同じ方向に回転させて（Ｓ20），その到達角度位置を座標原点としてメモリに記憶する（角度位置の記憶をリセットすることを含む）（Ｓ21）。上記の範囲に入っていない場合には，原点復帰エラーとして（Ｓ25），モータを停止して（Ｓ27），処理を終える。
【００５３】
以上のようにして，初期処理において，メカエンドからの戻り角（Ｚ相信号の発生位置）がロータリエンコーダ調整角度（望ましくはＺ相間角の半分）を中心に所定の許容範囲（±許容角１）内に入っているかどうかをチェックして，入っていれば基準Ｚ相角を登録する。
【００５４】
それ以降の定常処理では，メカエンドからの戻り角（Ｚ相信号の発生位置）が，上記初期処理において，あらかじめ定めた基準Ｚ相角を中心に所定許容範囲（±許容角２）内に入っているかどうかをチェックして，入っていれば座標原点を定めている。ロボット軸の可動部分がメカエンドに向うときに，何らかの障害物があったり（異物やケーブルの噛み込み），摺動抵抗の異常があった場合には，Ｚ相信号が発生する位置が基準Ｚ相角を中心にした許容範囲からずれることが多いので，原点復帰エラーとなる。このようにして，正確な原点復帰が可能となるとともに原点復帰エラーの検出が可能となる。また機械的，物理的に直接的に作用して検出するリミット・スイッチを設けなくてもロボット軸の原点復帰を実現することができる。
【００５５】
特に，初期処理において基準Ｚ相角を設定している。この基準Ｚ相角を設定せずにエンコーダ調整角度を基準とするときには，エンコーダ調整角度を正確に（たとえばＺ相間角／２の角度に正確に）調整しておくか，または許容範囲（±許容角２に相当する範囲）を広くとらなければならないので，エンコーダの取付調整に大変な労力を必要とするか，精度の高い原点復帰または原点復帰エラーの検出を行うことが困難となる。
【００５６】
基準Ｚ相角を設定することにより所定許容角２を小さくとることが可能となり，精度の高い原点復帰（座標原点設定）または精度の高い原点復帰エラーの検出が可能となる。許容角２は好ましくは許容角１よりも小さくする。
【００５７】
上記実施例では，Ｚ相パルス信号出力の時点からさらにオフセット角分回転させて座標原点を定めているが，Ｚ相パルス信号出力位置を座標原点と定めてもよい。
【００５８】
ロボット軸またはこれに関連する回転軸の１回転当り１個のＺ相パルスを発生するロータリエンコーダのみならず，１回転当り２個以上のＺ相パルスを発生するエンコーダを使用することもできる。
【００５９】
上記実施例では直線移動するスライダ（可動部分）を持つアクチュエータが示されているが，スカラロボットのように回転するアーム（可動部分）を有するロボット軸にもこの発明は適用できるのはいうまでもない。
【符号の説明】
【００６０】
10  アクチュエータ
11  基台
12  端面部材
13  ボールネジ
14  ガイドレール
18  ストッパ
19  ストッパ押当部材
20  スライダ
21  モータ
22  ロータリエンコーダ
30  制御装置
31  モータドライバ
32  メモリ
33  カウンタ
【図１】
2015024478.tif 000003
【図２】
2015024478.tif 000004
【図３】
2015024478.tif 000005
【図４】
2015024478.tif 000006