(57)【特許請求の範囲】
【請求項１】
回転駆動源と前記回転駆動源の駆動を伝達する伝達機構とを備えた駆動装置によって、その回転角度が制御される関節により連結されたリンクと、
前記伝達機構と噛合することで、前記関節を制動するブレーキ部材と、前記ブレーキ部材と前記伝達機構とを噛合または離間させるブレーキ駆動装置と、を有するブレーキ装置と、
を備えたロボットアームと、
前記駆動装置と前記ブレーキ装置とを制御する制御装置と、を備えたロボット装置において、
前記制御装置は、
前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を用いて前記回転駆動源の回転角度を決定し、
前記回転駆動源を、前記決定した回転角度まで駆動させてから、前記ブレーキ装置を介して前記関節を制動する、
ことを特徴とするロボット装置。
【請求項２】
請求項１に記載のロボット装置は、前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を格納した記憶装置を備え、
前記制御装置が、前記記憶装置から前記情報を読み出して前記回転駆動源の回転角度を決定することを特徴とするロボット装置。
【請求項３】
請求項１または請求項２に記載のロボット装置において、
前記伝達機構は歯車であり、
前記ブレーキ部材には、前記歯車の歯の山または谷と噛合する、谷または山を備えており、
前記噛合状態は、
前記歯車の歯の山と前記ブレーキ部材の谷とが噛合った状態、または、前記歯車の歯の谷と前記ブレーキ部材の山とが噛合った状態、であることを特徴とするロボット装置。
【請求項４】
請求項１から３のいずれか１項に記載のロボット装置において、前記ブレーキ駆動装置は、前記ブレーキ部材を付勢する弾性部材と、前記弾性部材により付勢された前記ブレーキ部材の変位を制御する電磁ソレノイドと、を備えたことを特徴とするロボット装置。
【請求項５】
請求項１から４のいずれか１項に記載のロボット装置において、
前記情報が、前記回転駆動源の駆動軸の回転角度で表現されたリストであり、
前記制御装置が、前記リストを用いて前記回転駆動源の回転角度を決定する、ことを特徴とするロボット装置。
【請求項６】
請求項１から４のいずれか１項に記載のロボット装置において、
前記情報が、前記伝達機構を構成する歯車の歯数を含み、
前記制御装置が、前記歯車の歯数を用いて前記回転駆動源の回転角度を決定する、ことを特徴とするロボット装置。
【請求項７】
回転駆動源と前記回転駆動源の駆動を伝達する伝達機構とを備えた駆動装置によって、その回転角度が制御される関節により連結されたリンクと、
前記伝達機構と噛合することで、前記関節を制動するブレーキ部材と、前記ブレーキ部材と前記伝達機構とを噛合または離間させるブレーキ駆動装置とを有するブレーキ装置と、
を備えたロボットアームと、制御装置を備えたロボット装置の制御方法において、
前記制御装置が、
前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を用いて、前記回転駆動源の回転角度を決定する回転角度決定工程と、
前記伝達機構を、前記決定した回転角度まで駆動させてから、前記ブレーキ装置を介して前記関節を制動させる制動工程と、
を有することを特徴とする制御方法。
【請求項８】
請求項７に記載の制御方法において、
前記ロボット装置は、
前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を格納した記憶装置を備え、
前記制御装置が、前記記憶装置に格納された、前記回転角度に関する情報を読み出す読み出し工程、
を有することを特徴とする制御方法。
【請求項９】
請求項７または８に記載の制御方法において、前記情報が、前記回転駆動源の駆動軸の回転角度で表現されたリストであり、
前記制御装置が、前記回転角度決定工程において、前記リストを用いて、前記回転駆動源の回転角度を決定する、ことを特徴とする制御方法。
【請求項１０】
請求項７または８に記載の制御方法において、
前記伝達機構は歯車であり、
前記情報が、前記歯車の歯数を含み、
前記制御装置が、前記回転角度決定工程において、前記歯車の歯数を用いて、前記回転駆動源の回転角度を決定する、ことを特徴とする制御方法。
【請求項１１】
請求項１０に記載の制御方法において、
前記ブレーキ部材には、前記歯車の歯の山または谷と噛合する、谷または山を備えており、
前記噛合状態は、
前記歯車の歯の山と前記ブレーキ部材の谷とが噛合った状態、または、前記歯車の歯の谷と前記ブレーキ部材の山とが噛合った状態、であることを特徴とする制御方法。
【請求項１２】
請求項７から１１のいずれか１項に記載の制御方法における前記制動工程において、
前記制御装置が前記関節の目的の制動角度に相当する前記回転駆動源の停止回転角度を計算する停止角度計算工程と、
前記制御装置が前記停止回転角度に応じて前記回転駆動源を一旦停止させる一旦停止工程と、
を備え、
一旦停止させた前記回転駆動源の現在の回転角度と、記憶装置から読み出した回転角度に関する情報に基づき計算した前記回転駆動源の回転角度との差分を用いて、前記ブレーキ部材と前記伝達機構とが噛合する制動位置に相当する前記回転駆動源の回転角度を決定する、ことを特徴とする制御方法。
【請求項１３】
請求項７から１２のいずれか１項に記載の制御方法における前記制動工程において、
前記制御装置が前記関節の目的の制動角度に相当する前記回転駆動源の停止回転角度を計算する停止角度計算工程と、
前記制御装置が、前記停止角度計算工程で計算した前記停止回転角度と、前記情報に基づき計算した前記回転駆動源の回転角度との差分を用いて、前記停止回転角度を補正する補正工程と、
を備え、
補正された前記停止回転角度に基づき前記回転駆動源を回転させ、その回転角度まで前記回転駆動源を駆動させ、前記ブレーキ装置を介して前記関節を制動する、ことを特徴とする制御方法。
【請求項１４】
請求項７から１３のいずれか１項に記載の制御方法における前記制動工程において、
前記制御装置は、前記ブレーキ駆動装置を介して前記ブレーキ部材と前記伝達機構とを噛合させるよう制御し、前記回転駆動源を所定の駆動量に基づき回転駆動させ、前記ブレーキ部材と前記伝達機構との噛合を確認する確認駆動を行う、ことを特徴とする制御方法。
【請求項１５】
請求項１４に記載の制御方法において、
前記制御装置は、前記確認駆動の後の前記回転駆動源の回転角度に応じて、前記関節の制動状態の有効または無効を判定する、ことを特徴とする制御方法。
【請求項１６】
請求項１５に記載の制御方法において、
前記制御装置は、前記関節の制動状態が無効と判定した場合、前記関節が所定の制動姿勢を保持するよう前記回転駆動源を駆動する、ことを特徴とする制御方法。
【請求項１７】
請求項７から１６のいずれか１項に記載の制御方法において、
前記関節の制動を解除する場合に、前記制御装置は、前記回転駆動源の駆動状態を前記関節が所定の制動姿勢を保持するよう制御し、前記ブレーキ駆動装置を介して、前記ブレーキ部材と前記伝達機構とを離間させる、ことを特徴とする制御方法。
【請求項１８】
請求項７から１７のいずれか１項に記載の制御方法において、
前記関節の制動を解除する場合に、前記制御装置は、前記ブレーキ駆動装置を介して前記ブレーキ部材と前記伝達機構とを離間させ、前記回転駆動源を所定の駆動量に基づき回転させ、その後の前記回転駆動源の回転角度に応じて、前記関節の制動解除状態の有効または無効を判定する、ことを特徴とする制御方法。
【請求項１９】
請求項７から１８のいずれか１項に記載の制御方法において、
前記関節の制動を解除する場合に、前記制御装置は、前記ブレーキ駆動装置を介して前記ブレーキ部材と前記伝達機構とを離間させ、前記回転駆動源を所定の周波数で振動駆動する、ことを特徴とする制御方法。
【請求項２０】
請求項８に記載の制御方法において、前記ブレーキ装置により前記関節を制動させる指令の発生に応じて前記関節を制動する場合に、
前記制御装置が、前記関節の目的の制動角度に相当する前記回転駆動源の停止回転角度を計算する停止角度計算工程と、
前記制御装置が、前記停止回転角度に応じて前記回転駆動源を一旦停止させる一旦停止工程と、
一旦停止させた前記回転駆動源の現在の回転角度から、前記情報に基づき計算した前記回転駆動源の複数の回転角度にそれぞれ前記回転駆動源を回転させ、その各回転位置において前記関節の出力軸の回転角度を測定する測定工程と、
を備え、
前記測定工程において前記回転駆動源を回転させた前記複数の回転角度のうち、前記測定工程において、その回転角度で測定された前記関節の出力軸の回転角度と、前記関節の所期の制動角度と、の差分が最も小さい回転角度に前記回転駆動源の回転軸を回転させ、前記ブレーキ駆動装置を介して前記ブレーキ部材と前記伝達機構とを噛合させる、ことを特徴とする制御方法。
【請求項２１】
請求項７から２０のいずれか１項に記載の制御方法の各工程を実行させるためのプログラム。
【請求項２２】
請求項２１に記載のプログラムを記録した記録媒体。
【請求項２３】
前記ロボット装置を請求項８から２０のいずれか１項に記載の制御方法で制御する工程を有することを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関節にブレーキ装置を備えたロボット装置、およびその制御方法に関する。
【背景技術】
【０００２】
従来より各種工業製品の生産現場などにおいて様々なロボット装置が使用されている。近年では、より複雑な動作を行わせるために多軸多関節のロボットアームを備えたロボット装置が広く普及している。また、この種のロボット装置を複数組み合わせたロボットセルなどによって工業製品を製造する製造ラインも広く普及している。
【０００３】
一般に、この種のロボット装置の関節には、ロボットアームを所望の位置姿勢で確実に制動、停止させるため、あるいはロボットアームに特定の位置姿勢を保持させるため、ブレーキ装置が設けられる。ロボット装置を動作させる場合にはこのブレーキ装置の制動を解除し、停止状態とする場合にはブレーキ（制動）を有効化し関節姿勢を保持させる。ロボット装置を長時間休止させる場合にもブレーキを有効に制御する。
【０００４】
ロボットアームの関節で使用されるブレーキ装置は、関節を駆動するモータと一体に構成されている場合がある。例えば、モータの回転軸の一端はロボットの関節駆動のための出力軸として用い、他端には保持ブレーキと関節の姿勢制御用のロータリーエンコーダを設けた構成が知られている。
【０００５】
この種のロボット関節に用いられる保持ブレーキには、電磁作用で例えば摩擦板（ブレーキディスクなど）とブレーキパッドの接触と非接触を切換える方式のものが多い。一般に、ロボットのような用途では、この種のブレーキを作動させておく期間の方が、ブレーキを解除期間より圧倒的に長い。そこでこの種のブレーキ装置では、電磁石などのアクチュエータに通電するとブレーキ解除し、通電遮断でブレーキ有効となるブレーキ制御方式が用いられることが多い。
【０００６】
このような構成では、上記の長時間の休止期間など、システムの主電源を遮断した時においても、バネ等の力によりブレーキの摩擦力を発生させ、モータが回転しないように制御される。一方、システムの主電源が投入され、所定のロボット制御に応じてロボットアームの関節を動作させる場合には、電磁力によりブレーキの摩擦力を解除して、関節を駆動するモータが回転できるよう制御する。
【０００７】
一般に、機械的手段としてのブレーキには種々の構成が知られている。例えば、ブレーキディスクなどの摩擦板を用いないブレーキ装置として、周回可動されるチェーンやチェーンベルト、歯車などを噛合部材でロックする構成がある。例えば、複数の歯車から成る噛合手段を用いた構成が知られている（下記の特許文献１）。このような噛合ブレーキは、ドグやコグなどと呼ばれる噛合突起を配列した歯車やブレーキ板（ブレーキ部材）を用い、両者の噛合突起を相互に山と谷で噛合させることにより制動力を発生し、またその制動位置を保持する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１４８２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の摩擦ブレーキは、噛合ブレーキよりも制動位置の保持の確実性に欠ける可能性がある。例えば、ロボットアームの関節に用いられるブレーキでは、手先側のリンクの荷重によって、シーケンス中、あるいは夜間などの休止期間に制動位置がずれてしまう可能性がある。
【００１０】
また、ロボットアームの関節の場合、制動状態を形成するためにスプリングなどによる付勢力が用いられる。従って、摩擦ブレーキでは、大きな荷重に耐える必要があるアーム基部に近い関節などにおいて、大きな制動摩擦力を得るためには大きな付勢力を持つスプリングによって制動状態を形成しなければならない。従って、摩擦ブレーキでは、スプリングなどの付勢力に抗してブレーキ部材を変位させるため、比較的大きな駆動力を持つ電磁ソレノイドなどのブレーキアクチュエータ（ブレーキ駆動装置）を用いることになる。これによって関節機構の小型軽量化が困難となり、また、機構からの発熱量が増大しがちな問題を生じる。
【００１１】
一方、上記の噛合ブレーキでは、噛合突起の噛合いによって制動（保持）力を得る。このため、比較的容易に大きな制動（保持）力を得ることができ、制動位置をより確実に保持でき、しかも、制動時に噛合突起どうしを噛合させるためのスプリングなどの付勢力も比較的小さくて済む。このため、電磁ソレノイドなどのブレーキアクチュエータは小規模で済み、少なくともこの部位は容易に小型軽量化でき、発熱量も抑制できる可能性がある。そこで、ロボットアームの関節制動のために、何らかの形で噛合ブレーキを利用し、上記のような利点を亨受できれば好ましい。
【００１２】
ところが、噛合ブレーキの場合には、大きな制動力を得られ、確実な制動を行える利点があるが、噛合いを利用するため制動姿勢（回転角度）に関する制約がある。例えば、摩擦ブレーキでは、制動姿勢（回転角度）に連続性があり、任意の制動角度で駆動系を構成する可動部を制動できる。これに対して、噛合いブレーキでは、噛合い部材が駆動系の可動部をロックするブレーキ噛合位置、従って関節の制動姿勢（回転角度）が離散的になる。このため、噛合ブレーキの場合、関節の制動角度（姿勢）の誤差が生じた場合、その誤差が大きめに生じる可能性があり、場合によってはロボットアームの先端の位置姿勢が目標位置から大きくずれを生じる可能性がある。
【００１３】
以上に鑑み、本発明の課題は、噛合ブレーキを利用してロボットアームの関節を確実に制動し、その場合、ロボットアームの当該関節の制動姿勢の誤差を低減することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明を採用したロボット装置は、回転駆動源と前記回転駆動源の駆動を伝達する伝達機構とを備えた駆動装置によって、その回転角度が制御される関節により連結されたリンクと、前記伝達機構と噛合することで、前記関節を制動するブレーキ部材と、前記ブレーキ部材と前記伝達機構とを噛合または離間させるブレーキ駆動装置と、を有するブレーキ装置と、を備えたロボットアームと、前記駆動装置と前記ブレーキ装置とを制御する制御装置と、を備えたロボット装置において、前記制御装置は、前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を用いて前記回転駆動源の回転角度を決定し、前記回転駆動源を、前記決定した回転角度まで駆動させてから、前記ブレーキ装置を介して前記関節を制動する構成を特徴とする。
【００１５】
また、本発明の制御方法においては、回転駆動源と前記回転駆動源の駆動を伝達する伝達機構とを備えた駆動装置によって、その回転角度が制御される関節により連結されたリンクと、前記伝達機構と噛合することで、前記関節を制動するブレーキ部材と、前記ブレーキ部材と前記伝達機構とを噛合または離間させるブレーキ駆動装置とを有するブレーキ装置と、を備えたロボットアームと、制御装置を備えたロボット装置の制御方法において、前記制御装置が、前記ブレーキ駆動装置による前記ブレーキ部材の移動により前記ブレーキ部材と前記伝達機構とが噛合状態となる前記回転駆動源および／または前記伝達機構の位置に関する情報を用いて、前記回転駆動源の回転角度を決定する回転角度決定工程と、前記伝達機構を、前記決定した回転角度まで駆動させてから、前記ブレーキ装置を介して前記関節を制動させる制動工程と、を備えた構成を特徴とする。
【発明の効果】
【００１６】
本発明によれば、小型で低発熱な噛合ブレーキを利用してロボットアームの関節を確実に制動できる。また、前記ブレーキ部材と前記歯車が噛合状態となるブレーキ噛合位置の情報を用いた制御により、関節を制動する制動位置を正確かつ確実に制御する。これにより、当該関節の制動姿勢の誤差を低減することができる。例えば、当該関節を制動、停止させたい位置に近い最適なブレーキ噛合位置を選択することができる。
【図面の簡単な説明】
【００１７】
【図１】実施例１に係るロボット装置の全体構成を模式的に示した斜視図である。
【図２】図１のロボット装置のカバーを外した状態を示した説明図である。
【図３】図１のロボット装置の噛合いブレーキの構成例を示した説明図である。
【図４】図１のロボット装置の関節の構造を示した部分断面図である。
【図５】図１のロボット装置の制御装置の構成を示したブロック図である。
【図６】図１のロボット装置の噛合いブレーキを示したもので、（ａ）はブレーキ無効、（ｂ）はブレーキ有効の状態をそれぞれ示した説明図である。
【図７】図５の制御装置の制御機能を示したブロック図である。
【図８】実施例１のブレーキ制御の流れを示したフローチャート図である。
【図９】実施例２のブレーキ制御の流れを示したフローチャート図である。
【図１０】実施例３のブレーキ制御の流れを示したフローチャート図である。
【図１１】実施例４のブレーキ制御の流れを示したフローチャート図である。
【図１２】実施例５における異なる関節の駆動系およびブレーキの構造を示した説明図である。
【発明を実施するための形態】
【００１８】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施例で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１９】
本実施形態に係るロボット装置は、組み立て作業等を行う例えば産業用のロボットアームであり、各関節にブレーキ装置を備えている。上記のように、従来のロボットアームの保持ブレーキはモータ軸に直結した摩擦部材（摩擦板やブレーキディスク）の摩擦力（のみ）を利用するものが多い。この種の摩擦ブレーキ装置は関節駆動用のモータに組み込まれている場合もある。
【００２０】
これに対して、本実施形態では、噛合ブレーキを利用した好適な関節機構の構成例を示す。ただし、従来の摩擦ブレーキは、後述のような噛合ブレーキに置換し、ロボットアームから除去する必要はない。例えば関節駆動用のモータに組み込まれている摩擦ブレーキと、後述のような噛合ブレーキを併用するよう、ロボットアームを構成してもよい。摩擦ブレーキは、例えば、非常停止などの際に緊急に作動させるブレーキとして好適に利用できる可能性がある。
【００２１】
なお、以下では、ブレーキの動作状態について、ブレーキ「無効」、「解除」、ないし「有効」「作動」のような用語を用いることがある。このうち「有効」、「作動」などは制動力が加わっており、関節ないしそれを駆動するモータ軸の回転が規制され、当該関節の姿勢が保持されている状態をいう。また、「無効」は制動力が加わっておらず、関節を駆動するモータ軸の回転によって、関節の姿勢を変更することができる状態をいう。また、ブレーキ「有効」の状態から「無効」の状態に移行させること「解除」ということがある。
【００２２】
以下に例示する（噛合）ブレーキ装置は、駆動装置の歯車（構成の）回転部の噛合突起と、ブレーキ部材（板）の噛合突起の噛合いによって回転を規制する構成である。このような噛合ブレーキは小さな制御力で大きな制動力を得ることができ、装置の小型軽量化を期待できる。また、ブレーキ駆動に必要なエネルギーが小さいため、例えばブレーキ解除の電力を小さくでき、低発熱のロボット装置を実現できる。
【００２３】
一方で、前述のように、噛合いブレーキでは、停止（保持）位置が離散的になるため、もし当該関節の停止（保持）位置に誤差が生じた場合、噛合いの分解能によってはその誤差量が大きな値になる可能性がある。以下では、噛合いブレーキの利点を亨受しつつ、ロボット関節の停止（保持）位置の精度を確保できる構成を例示する。
【００２４】
以下、実施例１〜４を参照して、本発明の実施形態に係るロボット装置の構成および動作につき説明する。以下では、ロボット装置およびその制御系のハードウェア構成の基本部分は、実施例１で主に説明するものと共通であるものとする。
【００２５】
＜実施例１＞
図１から図８を参照して、本実施形態に係るロボット装置５００の構成につき説明する。図１から図３は本実施形態のロボット装置５００の全体構成を示している。図１は、ロボット装置５００の全体構成を斜視図として示している。図２は、図１のロボット装置５００のカバー１１２Ｃを外した状態を示している。また、図３は図１のロボット装置５００の関節（１１２）に保持ブレーキとして設けられる噛合いブレーキの構成を示している。
【００２６】
図４は図１のロボット装置５００の関節（１１２）の構造を部分断面として示している。図５は図１のロボット装置５００の制御装置２００の構成を示している。図６（ａ）、（ｂ）はそれぞれ噛合いブレーキの「有効」および「無効」の状態を示している。図７は、図１のロボット装置５００の制御装置２００の制御機能を機能ブロック図として示している。図８は、実施例１のブレーキ制御の流れをフローチャートとして示している。
【００２７】
図１に示すように、ロボット装置５００は、ワークＷの組立てなどの作業を行うロボットアーム部１００と、ロボットアーム部１００を制御する制御装置２００と、ティーチングペンダント３００を備えている。
【００２８】
ティーチングペンダント３００は、制御装置２００に接続され、例えばロボット装置５００の設置環境において、ロボット教示を行うために用いられる。このために、ティーチングペンダント３００には例えばＬＣＤパネルなどを用いたディスプレイ、ファンクションキーなどから成るキーボードが設けられる。
【００２９】
ロボットアーム部１００の主要部は、図示のように例えば６軸垂直多関節構成のロボットアーム１０１と、このロボットアーム１０１の先端に接続されたハンド（エンドエフェクタ）１０２を備えている。ハンド１０２には作用する接触力や把持力等を検出可能な不図示の力センサを設けることができる。
【００３０】
ロボットアーム１０１は、作業台に固定されるベース部１０３と、変位や力を伝達する複数のリンク１２１〜１２６を備えている。各リンク１２１〜１２６は、複数の関節１１１〜１１６によって旋回、または回転可能に連結される。
【００３１】
複数の関節１１１〜１１６は、ほぼ同様に構成することができるため、本実施形態では、各関節１１１〜１１６と同様の構成を代表するものとして、リンク１２１とリンク１２２を連結する関節１１２の構成を説明する。以下では、他の関節１１１，１１３〜１１６の構成はほぼ同様であるものとして、その詳細な説明は省略する。
【００３２】
図１のロボットアーム１０１では、例えば、ユーザが関節１１２（や１１３）の駆動部に不用意に触れたりしないよう、リンク１２１の側面は関節１１２から１１３に渡る部分がカバー１１２Ｃによりカバーされている。このようなカバーは必要に応じて各リンクに設ける。後述のように、関節１１２の駆動装置（６００：図２）はカバー１１２Ｃの下部に配置される。
【００３３】
以下に説明する関節１１２と同様の構成は、さらに他の関節１１１、１１３〜１１６のうちの少なくとも１カ所に設けることができる。ハンド１０２は、ワークＷを把持可能な複数のフィンガと、複数のフィンガを駆動する不図示のアクチュエータとを備えており、複数のフィンガを駆動することでワークを把持可能に構成されている。ハンド１０２に力センサが設けられる場合、この力センサは、ハンド１０２が複数のフィンガでワークＷを把持する際などにおいて、ハンド１０２に作用する力やモーメントを検出する。
【００３４】
図２はリンク１２１に取り付けたカバー１１２Ｃを外した状態で関節１１２の駆動装置６００の構成を示している。なお、図２では不図示であるが、カバー１１２Ｃの下部には駆動装置６００と同様に構成された関節１１３の駆動装置を配置することもできる。また、図３は関節１１２の駆動装置６００の構成を詳細に示している。
【００３５】
図２、図３において、関節１１２の駆動装置６００は、ブレーキ装置６０１を含む。関節１１２の駆動装置６００のうち、実質的な関節駆動系は、サーボモータ１、モータ用タイミングプーリ２、減速機用タイミングプーリ３、モータ用タイミングプーリ２と減速機用タイミングプーリ３の間の動力伝達を行うタイミングベルト４から成る。
【００３６】
サーボモータ１は関節１１２を回転駆動するためのサーボモータで、例えばＤＣブラシレスモータやＡＣサーボモータを使用できる。サーボモータ１は、例えば後述のブレーキベース８よりもリンク１２１の内部側に配置される。
【００３７】
ブレーキベース８の外側に突出して配置されたモータ１の回転軸には、モータ用タイミングプーリ２が取り付けられる。モータ１の回転軸の他端側には、ロータリーエンコーダなどを用いたモータ用エンコーダ１ｅが装着されている。このモータ用エンコーダ１ｅにより、サーボモータ１の回転軸の回転角（関節減速機の入力側の回転角）を検出する。
【００３８】
モータ用エンコーダ１ｅ、および後述の出力軸エンコーダ１５は、回転量を検出するロータリーエンコーダであって、例えばスケールおよび光学センサなどから成るロータリーエンコーダによって構成される。以下では、簡略化のため、モータ用エンコーダ１ｅ、出力軸エンコーダ１５については「エンコーダ」のように略記するものとする。
【００３９】
モータ用タイミングプーリ２、および減速機用タイミングプーリ３は、例えば、コッグ（ド）ベルト（あるいはチェーンなど）から成るタイミングベルト４を掛け回す場合、歯車（コッグ（ド）ホイールないしギア）形状の構成とする。図示のように、モータ用タイミングプーリ２の直径ないし歯数を減速機用タイミングプーリ３異なる仕様にすることにより、関節駆動系のこの部分においても必要な減速比または増速比（１次変速比）を取ることができる。
【００４０】
モータ用タイミングプーリ２と、減速機用タイミングプーリ３の間には、コッグ（ド）ベルト（あるいはチェーンなど）から成るタイミングベルト４が掛け回されている。減速機用タイミングプーリ３は、後述の減速機１２の減速機入力軸１３に装着される。このような構成において、サーボモータ１の駆動力は、モータ用タイミングプーリ２〜タイミングベルト４〜減速機用タイミングプーリ３を介して減速機入力軸１３に伝達される。
【００４１】
本実施形態の関節１１２の保持ブレーキとして設けられたブレーキ装置６０１は、主にブレーキレバー５、噛合いバネ６、電磁ソレノイド７から構成される。
【００４２】
図６（ａ）、（ｂ）は、アーム側方からブレーキ装置６０１を含む駆動装置６００の構成を示している。同図に示すように、ブレーキ装置６０１のブレーキレバー５は、回動軸５ｃに回動自在に支持されるとともに、ブレーキレバー５の先端５ｅと、ブレーキベース８の支持部６ａの間には、例えばコイルスプリングなどから成る噛合いバネ６が弾装されている。また、ブレーキレバー５には、モータ用タイミングプーリ２の歯を噛合いで停止させるための数歯ぶんの突起を有するブレーキ板５ｄ（噛合い部材）が取り付けられている。また、噛合いレバー５の中央部領域は、電磁ソレノイド７のプランジャ７ｐにリンクされている。ブレーキレバー５、特にブレーキ板５ｄの部位は本実施例の噛合ブレーキのブレーキ部材を構成する。
【００４３】
電磁ソレノイド７は、コイル７ｃに駆動電流を与えることによって、ブレーキ板５ｄがモータ用タイミングプーリ２から離間する方向にプランジャ７ｐを吸引する。プランジャ７ｐとコイル７ｃは、相対運動可能にフレーム７ｆ（電磁ヨークを兼ねていてよい）によって支持されている。
【００４４】
一方、ブレーキレバー５は、噛合いバネ６によって、噛合いバネ６が収縮する方向に常時付勢されている。そして、上記のように電磁ソレノイド７を駆動することによって、ブレーキレバー５がプランジャ７ｐによって揺動し、ブレーキ板５ｄがモータ用タイミングプーリ２から離間し、噛合いブレーキが解除（図６（ａ））される。一方、電磁ソレノイド７を非駆動（励磁解除）に制御することにより、噛合いバネ６の付勢力によってブレーキ板５ｄがモータ用タイミングプーリ２と噛合し、噛合いブレーキが有効（図６（ｂ））となる。
【００４５】
なお、本実施例は、図３に示すように、ブレーキレバー５によってモータ用タイミングプーリ２を制動するような構成であるが、ブレーキレバー５によって減速機用タイミングプーリ３側に作用させ、関節１１２の制動を行うようにしてもよい。図３のようなタイミングベルト４を用いる駆動装置６００の場合、モータ用タイミングプーリ２と減速機用タイミングプーリ３の間は、多くの場合デッドスペースで、有効利用するのが難しい。図３のようにブレーキレバー５や電磁ソレノイド７を配置してスペース利用効率を向上でき、結果としてロボットアーム１０１を小型軽量に構成することができる。
【００４６】
ブレーキベース８は、サーボモータ１、ブレーキレバー５、噛合いバネ６、電磁ソレノイド７を搭載、保持する。図３に示すように、これらを搭載したブレーキベース８は、リンク１２１に対してビス（８ａ）などによって固定される。
【００４７】
本実施例では、上記のように関節（１１２）を駆動する歯車（タイミングプーリ：２、３）を含む駆動系（駆動装置６００）の歯車（タイミングプーリ：２、３）との噛合いによってブレーキ有効／無効を切換えるブレーキ装置（６０１）を配置している。なお、以上の例は、ブレーキ装置（６０１）は、駆動系の歯車（タイミングプーリ：２、３）の少なくとも１カ所を係止して関節（１１２）を保持、制動する構成である。しかしながら、ブレーキ装置（６０１）は、上記同様の構成で駆動系の歯車（タイミングプーリ：２、３）の少なくとも２カ所以上を噛合制動するよう構成してもよい。
【００４８】
上記のような、噛合いバネ６、およびその制動力を解除する電磁ソレノイド７を用いる構成では、摩擦板などを用いるブレーキよりも比較的小さな制御力で容易に大きな制動力を発生でき、関節（１１２）の姿勢を確実に保持できる。電磁ソレノイド７は噛合いブレーキを解除するために用いられるが、その駆動は関節（１１２）を動作させる期間のみ行えばよく、従って、小型で低発熱の関節ブレーキ装置を実現することができる。
【００４９】
ここで、図４に図４は関節１１２の駆動機構の断面構成を示す。図４は上記の減速機入力軸１３より先の減速機１２を含む断面構成を示している。
【００５０】
関節１１２は、リンク１２１とリンク１２２を相互に回動変位できるよう指示する。このため、リンク１２１とリンク１２２は、クロスローラベアリング１１を介して回転自在に結合されている。クロスローラベアリング１１は、一つのベアリングでアキシアル方向・ラジアル方向・モーメント方向の全ての荷重に耐え、１軸のみ廻りに回転自由な関節支持手段を構成する。クロスローラベアリング１１は、この回転自由方向をリンク１２１とリンク１２１の回転方向に合わせて使用する。サーボモータ１の回転トルクは減速機１２により増幅され、適切な回転速度に減速される。減速機１２には例えば図示のような波動歯車機構などから成る減速機を用いることができる。
【００５１】
減速機１２は、ウェーブジェネレータ１２ｗ、サーキュラースプライン１２ｃ、フレックススプライン１２ｆを備える。ウェーブジェネレータ１２ｗは減速機用タイミングプーリ３により駆動される減速機入力軸１３と結合される。サーキュラースプライン１２ｃはリンク１２２に、また、フレックススプライン１２ｆはリンク１２１に固定される。これらのスプラインの固定方式には例えばボルト固定などが用いられる。
【００５２】
波動歯車機構から成る減速機１２は固有の減速比を有しており、通常、この種のロボットアームの場合は１／３０から１／２００程度の固有の減速比（２次変速比）を採用することが多い。減速機用タイミングプーリ３とウェーブジェネレータ１２ｗを接続する減速機入力軸１３は例えば複数のベアリング１４で支持される。
【００５３】
リンク１２１とリンク１２２の間には出力軸エンコーダ１５が配置される。出力軸エンコーダ１５はリンク１２１とリンク１２２の相対角度を検出する。出力軸エンコーダ１５は、光学的或いは磁気的パターンを設けたスケール１５ｓとパターン読み取り用の検出器１５ｄから構成する。
【００５４】
上述のモータ用エンコーダ１ｅ（１０）および出力軸エンコーダ１５の角度検出値は、制御装置２００の関節駆動制御に用いられる。モータ用エンコーダ１ｅ（１０）からでも、減速比換算などによってリンク１２１とリンク１２２の相対角度を概ね検出することができる。しかしながら、通常、減速機１２のような駆動系には捩れ変形やガタがある。特に多関節ロボットの場合、姿勢によって重力モーメントが大きく異なることがあり、これにより捩れ変形やガタの発生が大きく異なる。このため、出力軸エンコーダ１５を用いることにより精度良く相対角度を検出できる。
【００５５】
図５は、制御装置２００のハードウェア構成の一例を示している。図５に示すように、制御装置２００は、ＣＰＵ（演算部）２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ（記憶部）２０４、記憶ディスクドライブ２０５、各種のインタフェース２１１〜２１５、を備えている。
【００５６】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記憶ディスクドライブ２０５及び各種のインタフェース２１１〜２１５が、バス２１６を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納される。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果を一時的に記憶する記憶装置である。
【００５７】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果である各種のデータ等を記憶する記憶部であると共に、ＣＰＵ２０１に、各種演算処理を実行させるためのプログラム（例えば、後述の関節制御プログラム）３３０を記録するために用いられる。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム３３０に基づいて各種演算処理を実行する。記憶ディスクドライブ２０５は、記憶ディスク３３１に記録された各種データやプログラム等を読み出すことができる。
【００５８】
また、図５では、メモリ２０２１が図示されている。このメモリ２０２１は、ブレーキ板５ｄと歯車（タイミングプーリ：２、あるいは３）が噛合状態となるブレーキ噛合位置に関する情報を格納する記憶装置を構成する。メモリ２０２１に格納するブレーキ噛合位置の情報は、例えばサーボモータ１の駆動軸の回転角度のリストで表現することができる。
【００５９】
ただし、メモリ２０２１に格納するブレーキ噛合位置に関する情報としては、別の形式も考えられる。例えば、メモリ２０２１に格納するブレーキ噛合位置に関する情報は、少なくとも歯車構成のモータ用タイミングプーリ２の歯数を含んでいればよい。この場合には、ブレーキ噛合位置に相当するサーボモータ１の駆動軸の回転角度は、ＣＰＵ２０１がメモリ２０２１から読み出したモータ用タイミングプーリ２の歯数を用いて計算により求めることができる。以下では、メモリ２０２１にはブレーキ噛合位置の情報として、サーボモータ１の駆動軸の回転角度のリストが含まれているものとして説明する。従って、以下では、ブレーキ噛合位置に相当するサーボモータ１の駆動軸の回転角度を決定する箇所では、メモリ２０２１から読み出した角度情報を用いるよう説明する。しかしながら、その箇所では上記のようにＣＰＵ２０１がメモリ２０２１から読み出したモータ用タイミングプーリ２の歯数の情報を用いてブレーキ噛合位置に相当する回転角度を計算により求めてもよい。要するに、モータ用タイミングプーリ２を制動できるブレーキ噛合位置に相当するサーボモータ１の回転角度は、メモリ２０２１（記憶装置）から読み出したブレーキ噛合位置に関する情報に基づき決定すればよい。その決定の際に実行すべき処理の細部は当業者において任意に設計変更が可能である。
【００６０】
本実施形態では、後述のように、メモリ２０２１に格納されたブレーキ噛合位置を利用したブレーキ制御に特徴があり、図５では、メモリ２０２１を殊更に独立したブロックで示している。しかしながら、このメモリ２０２１の記憶領域は、実際には、例えばＲＯＭ２０２やＨＤＤ２０４に配置しておくことができる。
【００６１】
また、関節１１２、ブレーキ装置６０１を含む駆動装置６００などの構成部分をいわゆる「アセンブリ」として製造し、また流通させるような構成が考えられる。このような「アセンブリ」製品においては、メモリ２０２１は、いわゆるタグメモリとして内蔵させておくことができる。この種のタグメモリは、例えばＥＥＰＲＯＭのようなメモリデバイスから構成することができる。
【００６２】
ここで、そのような「アセンブリ」が、例えばサーボモータ１と、その駆動軸に装着されたモータ用タイミングプーリ２、ブレーキ装置６０１を組み立てたものとする。その組み立て状態で、ブレーキ装置６０１のブレーキ板５ｄとモータ用タイミングプーリ２が噛合状態となるブレーキ噛合位置のリストを生成し、アセンブリ内蔵のタグメモリ内のメモリ２０２１に書き込んでおく。ＣＰＵ２０１は、各関節との間に配置される信号線（不図示）を介してこのタグメモリにアクセスできるようにしておく。
【００６３】
このような製品構成によれば、関節１１２、ブレーキ装置６０１を含む駆動装置６００など「アセンブリ」製造時に、その駆動系に特有のブレーキ噛合位置リストを生成してタグメモリに用意しておくことができる。一方、制御装置２００の側には一般的な制御パラメータのみを用意しておけばよい。例えば、関節１１２、ブレーキ装置６０１を含む駆動装置６００などの「アセンブリ」を交換した場合でも、駆動系に特有のブレーキ噛合位置を記録したメモリ２０２１のリストをタグメモリから読み出して利用できる。これにより、制御装置２００の制御プログラムを変更することなく、その駆動系のブレーキ噛合位置の特性に応じて、後述のようなブレーキ制御を行うことができる。
【００６４】
インタフェース２１１にはユーザが操作可能なティーチングペンダント３００が接続されており、ティーチングペンダント３００は、入力された各関節１１１〜１１６の目標関節角度をインタフェース２１１およびバス２１６を介してＣＰＵ２０１に出力する。
【００６５】
インタフェース２１２ａ，２１２ｂには、モータ用エンコーダ１ｅ（１０）、出力軸エンコーダ１５がそれぞれ接続されている。モータ用エンコーダ１ｅ（１０）、出力軸エンコーダ１５は、上述の角度検出値に相当する例えばパルス信号をインタフェース２１２ａ，２１２ｂに出力する。ＣＰＵ２０１は、バス２１６を介してこれらモータ用エンコーダ１ｅ（１０）、出力軸エンコーダ１５の検出角度値を入力することができる。さらにインタフェース２１３，２１４には、各種画像が表示されるモニタ３１１や書き換え可能な不揮発性メモリや外付けＨＤＤ等の外部記憶装置３１２を接続することができる。
【００６６】
また、インタフェース２１５にはサーボ制御装置３１３が接続されており、ＣＰＵ２０１は、サーボモータ１の回転軸の回転角度の制御量を示す駆動指令のデータを所定間隔でバス２１６およびインタフェース２１５を介してサーボ制御装置３１３に出力する。
【００６７】
サーボ制御装置３１３は、ＣＰＵ２０１から入力を受けた駆動指令に基づき、サーボモータ１への電流の出力量を演算し、サーボモータ１へ電流を供給する。これにより、ロボットアーム１０１の各関節１１１〜１１６の関節角度制御が行われる。このように、ＣＰＵ２０１は、サーボ制御装置３１３を介して、関節１１１〜１１６の角度が目標関節角度となるようサーボモータ１を制御し、関節１１１〜１１６の姿勢制御を行う。
【００６８】
図６は、本実施例におけるブレーキ装置６０１の動作状態を示している。図６（ａ）はブレーキ無効、図６（ｂ）はブレーキ有効な状態を示している。
【００６９】
関節（１１２）を駆動し、その姿勢（角度）を変更する場合、ブレーキ装置６０１は図６（ａ）のブレーキ無効状態に制御する。即ち、図６（ａ）のように、電磁ソレノイド７に電圧を印加し、所定の電流を流して電磁力を発生させる。プランジャ７ｐがコイル７ｃ側に吸引され、プランジャ７ｐと接続されたブレーキレバー５が回動軸５ｃを中心に回転する。これにより、ブレーキ板５ｄとモータ用タイミングプーリ２の噛合いが外れた状態となり、サーボモータ１は回転自在、即ち、ブレーキ無効となる。ここで、電磁ソレノイド７に印加する所定の電流は、当然ながら噛合いブレーキばね６の付勢力より大きく、かつブレーキレバー５を移動可能な電流値である。
【００７０】
一方、関節（１１２）を所定の姿勢（角度）に固定（保持）する場合には、ブレーキ装置６０１は図６（ｂ）のブレーキ有効状態に制御する。即ち、図６（ｂ）のように、電磁ソレノイド７への印加電圧を消勢させ、コイル７ｃに励磁電流が流れていない状態を形成する。この場合は、電磁ソレノイド７の電磁力が発生しないので、噛合いバネ６の付勢力によりブレーキレバー５がモータ用タイミングプーリ２の方向に揺動し、ブレーキ板５ｄとモータ用タイミングプーリ２が噛合った状態が形成される。これがブレーキ有効の状態である。
【００７１】
図６（ｂ）のブレーキ有効状態では、モータ用タイミングプーリ２とブレーキ板５ｄの歯の山と谷が相互に整合した時に、目的の噛合い（ブレーキ有効）状態が形成される。一方、モータ用タイミングプーリ２とブレーキ板５ｄの山と山が一致した位置関係では、そこから上記の歯の山と谷が相互に整合した状態に移行して初めて目的の噛合い（ブレーキ有効）状態が形成される。
【００７２】
以下では、図７および図８を参照して、モータ用タイミングプーリ２とブレーキ板５ｄの歯の山と谷が相互に整合し、目的の噛合い（ブレーキ有効）状態となる制動位置を確実に得るための制御につき説明する。この制御は、例えば、制御装置２００、特にそのＣＰＵ２０１が後述のプログラムを実行することにより実現される。
【００７３】
図７は、本実施形態のロボット装置５００の制御系を示す機能ブロック図である。図７では、機能ブロックとして、主に上記の駆動装置６００に相当する関節機構部２１、ブレーキ装置６０１に相当する噛合いブレーキ部２２を含む。また、駆動装置６００では、特にサーボモータ１と、そのモータ用エンコーダ１ｅ（１０）、および減速機１２の出力側の出力軸エンコーダ１５が図示されている。
【００７４】
関節機構部２１は、前述した減速機１２やタイミングベルト４でサーボモータ１のトルクをリンク１２２を駆動するトルクへ変換し、これにより関節（１１２）の回転角度を変化させる。ＣＰＵ２０１は、サーボモータ１（回転駆動源）の回転軸の回転角度をモータ用エンコーダ１ｅを介して検出することができる。また、ＣＰＵ２０１は、減速機１２の出力側、即ち、関節の出力角度を出力軸エンコーダ１５を介して検出することができる。噛合いブレーキ部２２は前述のブレーキ装置６０１に相当し、上記の各タイミングプーリやブレーキレバー５、電磁ソレノイド７などを含む。
【００７５】
制御装置２００ないしそのＣＰＵ２０１によるブレーキ制御の機能は、ブレーキ制御部２３として示されている。このブレーキ制御部２３は、停止軌道計算部２４、噛合せ選択部２５、モータ制御部２６、ソレノイド駆動部２７、噛合い確認制御部２８などから構成される。
【００７６】
停止軌道計算部２４は、ユーザが操作するティーチングペンダント３００や装置上位コントローラ（不図示）から停止指令が発生された場合に停止の軌道を計算する。停止軌道計算部２４は、ロボットアームが動作している場合には、出来るだけ短時間、且つ、ロボットアームを破壊しない加速度となる停止軌道を生成する。また、停止軌道計算部２４は、ロボットアームが既に停止している場合は、その位置を保持停止位置として認識する。
【００７７】
噛合せ選択部２５は、噛合いブレーキ部２２のブレーキ部材であるブレーキ板５ｄとモータ用タイミングプーリ２の噛合位置を選択する制御を行う。両者の噛合位置は、例えばモータ用タイミングプーリ２の回転角度などによって表現されたデータによって取り扱うことができる。ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合する回転角度（回転位置）は、例えば３６０°をモータ用タイミングプーリ２の歯数で除算した角度を分解能として定まる。噛合せ選択部２５は、この複数の噛合位置から１つを選択する。
【００７８】
モータ制御部２６は、サーボ制御装置３１３を制御するソフトウェアに相当し、ＣＰＵ２０１のモータ制御部２６の機能によって、サーボモータ１の回転角度が目的の関節姿勢に相当する角度に制御される。ソレノイド駆動部２７は噛合いブレーキの電磁ソレノイドのＯＮ（励磁）とＯＦＦ（電流遮断）を制御するソフトウェアに相当する。
【００７９】
噛合い確認制御部２８は、噛合いブレーキが有効なる状態に制御した後、目的のブレーキ位置でブレーキ装置６０１が制動状態となっているか否かを確認する制御（例えば後述のステップＳ１７〜Ｓ１９）に相当する。
【００８０】
以上の構成において、関節（１１２）の回動位置を保持する時、あるいは主電源遮断、休止、スリープ制御などを行う時において、少なくともその関節に関するブレーキＯＮイベントが発生される。
【００８１】
本実施例１のブレーキ制御では、ＣＰＵ２０１（制御装置）が、メモリ２０２１（記憶装置）のブレーキ板５ｄ（ブレーキ部材）と歯車（２：タイミングプーリ）が噛合状態となるブレーキ噛合位置のリストを読み出す読み出し工程（Ｓ１４）を含む。メモリ２０２１（記憶装置）にリストとして格納されるブレーキ噛合位置は、例えばサーボモータ１（回転駆動源）の駆動軸の回転角度で表現される。
【００８２】
そして、ＣＰＵ２０１は、メモリ２０２１（記憶装置）から読み出したブレーキ噛合位置のリストを用いて、次のような制動制御工程を実行する。まず、メモリ２０２１から読み出したブレーキ噛合位置のリストを用いて、サーボモータ１の回転角度を決定する（Ｓ１４）。そして、サーボモータ１をその回転角度まで駆動（Ｓ１５）し、ブレーキ装置（６０１）を介してブレーキ板５ｄと歯車（２：タイミングプーリ）を噛合させ、関節（１１２）を制動する制動位置を制御する。
【００８３】
特に、本実施例では、ＣＰＵ２０１（制御装置）は、関節（１１２）の目的の制動角度に相当するサーボモータ１（回転駆動源）の回転軸の停止回転角度を計算する（Ｓ１２：停止角度計算工程）。そして、ＣＰＵ２０１はその停止回転角度に応じて前記回転駆動源を一旦停止させる（Ｓ１３：一旦停止工程）。
【００８４】
さらに、一旦停止させたサーボモータ１の現在の回転角度と、メモリ２０２１から読み出したリストに含まれるブレーキ噛合位置との差分を用いて、制動位置に相当するサーボモータ１（回転駆動源）の回転角度を決定する（Ｓ１４、Ｓ１５）。
【００８５】
図８は、上記のようにＣＰＵ２０１がブレーキＯＮイベントを処理する制御手順を詳細に示している。図８のステップＳ１１において、ユーザが操作するティーチングペンダント３００や装置上位コントローラ（不図示）によって、例えばロボットアーム１０１の停止指令が発生されると、ブレーキＯＮイベントが発生する。このブレーキＯＮイベントは、上記のように例えば関節（１１２）の回動位置を保持する時、あるいは主電源遮断、休止、スリープ制御などを行う時に発生する。ブレーキＯＮイベント（ステップＳ１１）が発生すると、ステップＳ１２以降でＣＰＵ２０１のブレーキ制御部２３の制御が実行される。
【００８６】
ステップＳ１２では、停止軌道計算部２４によりロボットアーム１０１を停止させるための停止軌道、即ち、各関節のモータ指令プロファイルを計算する。なお、ロボットアームが既に停止している場合は、その場所を停止位置として選択する。
【００８７】
続いて、ステップＳ１３において、ステップＳ１２において停止軌道計算部２４で計算した停止軌道に基づきモータ制御部２６によるモータ制御を行い、各関節のサーボモータ１を停止させる。
【００８８】
ステップＳ１４では、ステップＳ１３で当該関節（例えば１１２）停止した位置から、ブレーキ装置６０１のブレーキ板５ｄとモータ用タイミングプーリ２が噛合可能なモータ回転角度で表現されたブレーキ噛合位置をメモリ２０２１から読み出す。そして、モータ用エンコーダ１ｅで検出した現在の回転角度との差分を計算する。この時、当然ながら、ブレーキ噛合位置のうち、現在の回転角度に直近のブレーキ噛合位置との差分を計算する。
【００８９】
上述のように、ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置は、例えば３６０°をモータ用タイミングプーリ２の歯数で除算した回転角度を分解能として定まる。
【００９０】
一方、ステップＳ１３でモータ用タイミングプーリ２を停止させた回転角度（回転位置）は、例えばモータ用エンコーダ１ｅ（１０）によって検出できる。しかしながら、このモータ用タイミングプーリ２を停止させた回転角度（回転位置）は、ステップＳ１２で計算される好適な停止軌道に基づき決定されるため、必ずしも上記のブレーキ噛合位置とは一致しない場合がある。
【００９１】
このため、ステップＳ１５で、モータ用タイミングプーリ２の回転角度（回転位置）が、直近のブレーキ噛合位置となるようサーボモータ１を回転させ、好適な直近のブレーキ噛合位置を選択する補正を行う。ステップＳ１４の制御は、このステップＳ１５におけるサーボモータ１の補正回転量を計算する処理に相当する。また、このステップＳ１４の制御機能は、図７では噛合せ選択部２５の機能ブロックに相当する。
【００９２】
なお、ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置に対応するサーボモータ１のモータ回転角度は、予め実験的に、あるいは、設計値として計算しておくことができる。従って、例えばブレーキ噛合状態を形成できるサーボモータ１のモータ回転角度はメモリ２０２１として、ＲＯＭ２０２やＨＤＤ２０４、あるいは関節駆動系のアセンブリのタグメモリなどに格納しておくことができる。ステップＳ１４では、このメモリ２０２１を利用してサーボモータ１を回転させる補正量を決定することができる。当然ながら、メモリ２０２１には、ブレーキ噛合状態を形成できるサーボモータ１のモータ回転角度は、上記の例えば３６０°をモータ用タイミングプーリ２の歯数で除算した回転角度を分解能のステップで配列されることになる。
【００９３】
ステップＳ１５においては、ステップＳ１４（噛合せ選択部２５の機能）で決定された補正量に基づき、サーボモータ１に指令値を送信し、モータ用タイミングプーリ２を例えば直近の好適なブレーキ噛合位置に回転させる。このモータ制御は図７ではモータ制御部２６の機能ブロックに相当する。なお、この直近の好適なブレーキ噛合位置への補正回転は、例えばステップＳ１３で停止したモータ角度と、ステップＳ１４で求めた噛合い角度の差が最も小さいブレーキ噛合位置を選択する処理に相当する。
【００９４】
以上のようにステップＳ１４（噛合せ選択部２５）とステップＳ１５（モータ制御部２６）を実行する。これにより、モータ用タイミングプーリ２およびブレーキ板５ｄの山どうしが一致しない、好適なブレーキ噛合位置に確実にサーボモータ１を回転させることができる。
【００９５】
続いて、ステップＳ１６において、ソレノイド駆動部２７（図７）の機能を実行し、励磁状態にある電磁ソレノイド７の電流を遮断して、ブレーキ装置６０１を図６（ｂ）の状態から図６（ａ）の状態に移行させる。
【００９６】
ステップＳ１７〜Ｓ１９では噛合い確認制御部２８（図７）に相当する制御を行う。この制御は、噛合いブレーキが有効なる状態に制御した後、目的のブレーキ位置でブレーキ装置６０１が制動状態となっているか否かを確認する制御である。上記のステップＳ１４およびＳ１５のような制御を行っても、例えば機構の誤差などによって、モータ用タイミングプーリ２およびブレーキ板５ｄの山どうしが一致しているような状態が生じていることが予想される。そこで、ステップＳ１７のような確認駆動を行うことにより、ブレーキ装置６０１の噛合状態確認を行うことができる。
【００９７】
まず、ステップＳ１７において、ＣＰＵ２０１はサーボ制御装置３１３を介してサーボモータ１を駆動し、所定トルクを発生させる（ステップＳ１７：モータ制御部２６の機能）。
【００９８】
そして、ステップＳ１８でサーボモータ用エンコーダ１ｅの出力から、サーボモータ１の回転軸に所定回転角以上の回転が生じたか否かを判定する。この判定基準の所定回転角は、所定のブレーキ噛合位置で確実にブレーキ装置６０１の噛合制動状態が形成されているか否かを判定するためのもので、例えば上記のブレーキ噛合位置の分解能の１ステップ分程度に設定する。なお、ステップＳ１７でサーボモータ１に発生させるトルク（ないしはその時の回転駆動角度）は、ブレーキ噛合位置の分解能の１、２ステップ（あるいは数ステップ程度）分以内のブレーキ噛合位置まで同プーリを回動できる程度でよい。
【００９９】
ステップＳ１８において、サーボモータ用エンコーダ１ｅの値で所定回転角以上、サーボモータ１が回転していた場合はステップＳ１９に分岐する。また、サーボモータ１の回転量が所定回転角より小さければ、ステップＳ２０に分岐する。
【０１００】
ステップ１９に分岐する場合は、ＣＰＵ２０１は、何らかの理由で当該関節の駆動系が制動状態となっていない、即ち、ブレーキ無効と判断し、警報音やエラーメッセージを用いたエラー通知を行う。また、ブレーキ無効と判断した場合は、関節姿勢を保持するため、サーボモータ１を現在のモータ回転位置を保持するように制御する。
【０１０１】
一方、ステップ２０の状態は、サーボモータ１が上記の所定回転角度以下であり、この場合はブレーキ有効と判断し、ブレーキＯＮイベントを終了する。このブレーキ有効でブレーキＯＮイベントを終了する場合には、例えば、ステップＳ１７の確認駆動前において既にモータ用タイミングプーリ２とブレーキ板５ｄが上記のブレーキ噛合状態で、正規の制動保持状態に移行しているような場合が含まれる。この場合には、サーボモータ１はステップＳ１７の確認駆動前の位置から回転しない。また、ステップＳ１７の確認駆動前において、機構の誤差などによって、例えば、モータ用タイミングプーリ２およびブレーキ板５ｄの山どうしが一致しているような状態からブレーキ噛合位置への移動が生じた場合も含まれる。この場合は、例えばモータ用タイミングプーリ２およびブレーキ板５ｄの山どうしが一致している状態から確認駆動によって直近の半ステップ〜ないし１ステップ程度のブレーキ噛合位置への移動が生じる。なお、ステップＳ１７の確認駆動でモータ用タイミングプーリ２にその歯数で１ないし２ステップ程度の回転が生じたとしても、関節の姿勢に問題となるような大きな誤差は生じない。これは、モータ用タイミングプーリ２〜減速機用タイミングプーリ３、および減速機１２の減速比が通常、上記の１／３０から１／２００程度のオーダに取られるためである。
【０１０２】
以上のように、本実施例のブレーキ制御（図８）によれば、ステップＳ１７以降において、サーボモータ１に所定トルクを発生させ、サーボモータ１の回転角を検出することで噛合いブレーキの有効／無効状態を判定できる。この判定において、ブレーキ無効と判断される場合はサーボモータ１のモータ回転位置を保持するように制御する。
【０１０３】
従って、本実施例によれば、ロボット装置５００の関節に噛合いブレーキを利用し、小型で低発熱のブレーキ装置が実現できる。また、噛合いブレーキを駆動した後、関節のサーボモータ１を確認駆動（ステップＳ１７）し、その際の回転角の検出値に応じて、噛合いブレーキの有効／無効状態を判定できる。この確認駆動（ステップＳ１７）により、モータ用タイミングプーリ２およびブレーキ板５ｄの山どうしが一致しているような半制動状態の場合は、直近のブレーキ噛合位置に移動させ確実な制動状態を形成できる。また、確認駆動（ステップＳ１７）における回転角が大き過ぎる場合は、噛合いブレーキは無効状態と判断されるが、その場合は、サーボモータ１のモータ回転位置を保持するように制御し、関節姿勢を保持することができる。
【０１０４】
＜実施例２＞
上記実施例１では、計算（図８ステップＳ１２）した停止軌道で関節を一旦停止させてから、確認駆動（ステップＳ１７）を行い、ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置における制動状態を形成した。しかしながら、上記のようにブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置を得られるサーボモータ１のモータ回転角度は予め計算しておくことができる。
【０１０５】
そこで、本実施例２では、計算した停止軌道と、その近傍のブレーキ噛合位置との差分を計算し、停止軌道の演算を補正するブレーキＯＮの制御例を示す。本実施例２の制御によれば、上記実施例１の確認駆動（ステップＳ１７）のような一旦停止の後の再度駆動が必要なくなる。
【０１０６】
即ち、本実施例２では、ＣＰＵ２０１（制御装置）が関節の目的の制動角度に相当するサーボモータ１（回転駆動源）の回転軸の停止回転角度を計算する（停止角度計算工程：下記のステップＳ１２）。そして、メモリ２０２１（記憶装置）から読み出したリストに含まれるブレーキ噛合位置との差分を用いて、計算した停止回転角度を補正する（補正工程：同Ｓ３２）。さらに、補正された停止回転角度に基づきをサーボモータ１を回転駆動し、その回転位置でブレーキ装置６０１の電磁ソレノイド７（ブレーキ駆動装置）を作動させて制動状態を形成する（同Ｓ１６）。
【０１０７】
図９は本実施例２のブレーキＯＮ制御の流れを示している。図９のフローチャートは図８と同等の様式であり、また、本実施例２では、ハードウェアや制御系の構成については上述の実施例１と同様であるものとする。図９では、図８と同等の処理ステップについては同一の参照符号を用いており、その詳細な説明は省略するものとする。以下、図９を参照して、本実施例２のブレーキＯＮ制御につき説明する。
【０１０８】
本実施例２では、ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置を得られるモータ回転角（噛合可能角度）のリストは上記のメモリ２０２１に格納しておく。このモータ回転角（噛合可能角度）のリストは、当然ながら各関節毎に用意しておく。
【０１０９】
図９のステップＳ１１は、上述のブレーキＯＮイベントの発生を示し、以後、ＣＰＵ２０１は、ステップＳ１２以降のブレーキＯＮ制御を実行する。ステップＳ１２では、上述の実施例１と同様に停止軌道の計算を行う。ステップＳ１２以降の制御は、当然ながら制動の必要な各関節ごとに行う。
【０１１０】
ステップＳ３１では、予めＲＯＭ２０２やＨＤＤ２０４に格納されているメモリ２０２１からブレーキ噛合位置を得られるモータ回転角（噛合可能角度）を読み出す。
【０１１１】
そして、ステップＳ３２において、ＣＰＵ２０１はメモリ２０２１から読み出したブレーキ噛合位置を得られるモータ回転角（噛合可能角度）と、ステップＳ１２で計算した停止軌道に対応する当該関節のサーボモータ１の停止角度の差分を計算する。この場合、例えばブレーキ噛合位置を得られるモータ回転角（噛合可能角度）のうち、ステップＳ１２で計算された当該関節のサーボモータ１の停止角度に直近のブレーキ噛合位置に相当するモータ回転角（噛合可能角度）との差分を取得する。そして、ステップＳ１２で計算された当該関節のサーボモータ１の停止角度に、取得した差分を加算または減算する補正を行い、このブレーキＯＮイベントによって当該関節を停止させるべきモータ停止角度を求める。
【０１１２】
続いて、ステップＳ３３では、ステップ３２で補正したモータ停止角度でサーボモータ１を停止させるよう、停止軌道制御を実行する。その後、ステップＳ１６において上述同様に電磁ソレノイド７の電流を遮断し、ブレーキ装置６０１を図６（ｂ）の状態から図６（ａ）の状態に移行させる。
【０１１３】
ステップＳ１６以降の制御は上述の実施例１と同様である。本実施例では、上記のようにブレーキ噛合位置に相当するモータ回転角（噛合可能角度）との差分によりサーボモータ１の停止角度を補正する。このため、ステップＳ１７の確認駆動を実行する前に、既にブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置が得られている可能性が高くなる。このため、実施例１の場合よりステップＳ１７の確認駆動は短時間かつより低トルクで行えば足りる可能性が高い。
【０１１４】
以上のように、本実施例ではブレーキＯＮイベントが発生した時、計算した停止軌道と、その近傍のブレーキ噛合位置との差分を計算し、停止軌道の演算を補正するようにしている。即ち、直近のブレーキ噛合位置に相当するモータ回転角（噛合可能角度）との差分を取得し、この差分によって計算された当該関節のサーボモータ１の停止角度を補正する。これにより、高速で低消費電力なブレーキＯＮ制御を実現できる。
【０１１５】
なお、機構や計算精度にもよるが、ステップＳ３２において、充分高精度にサーボモータ１の停止角度を補正できる見込みがあれば、ステップＳ１７以降の確認駆動およびその結果判定の制御は省略できる可能性がある。この場合には、さらに短時間かつ低消費電力なブレーキＯＮ制御を実現できる可能性がある。
【０１１６】
＜実施例３＞
実施例１と実施例２ではブレーキＯＮの制御シーケンスについて説明した。本実施例２では、ブレーキＯＦＦイベント発生時の制動解除制御例について述べる。本実施例２においても、ロボット装置５００のハードウェアや制御系の構成については上述の実施例１と同様であるものとする。
【０１１７】
関節（１１２）の制動を解除する場合、本実施例３では、次のような制御を行う。ＣＰＵ２０１（制御装置）は、サーボモータ１（回転駆動源）の駆動状態を関節が制動姿勢を保持するよう制御した後、電磁ソレノイド７（ブレーキ駆動装置）を励磁し、制動を解除する（下記のＳ４２、Ｓ４３）。
【０１１８】
また、ＣＰＵ２０１（制御装置）は、電磁ソレノイド７（ブレーキ駆動装置）を励磁し、制動を解除した後、サーボモータ１（回転駆動源）を所定の駆動量（回転角度）だけ回転させる。そして、その後の駆動軸の回転角度に応じて、制動解除状態の有効または無効を判定する（同Ｓ４４、Ｓ４５）。
【０１１９】
以下、図１０を参照して本実施例３のブレーキＯＦＦ制御につき説明する。図１０のステップＳ４１では、ユーザが操作するティーチングペンダント３００や装置上位コントローラ（不図示）によって、例えばロボットアーム１０１の動作指令が発生されると、ブレーキＯＦＦイベントが発生する。これに応じて、ＣＰＵ２０１は、ステップＳ４２以降のブレーキＯＦＦ制御を実行する。ステップＳ４２以降のブレーキＯＦＦ制御は、当然ながら駆動の必要な各関節毎に行う。
【０１２０】
ステップＳ４２においては、サーボ制御装置３１３を介して当該関節のサーボモータ１をサーボオン状態に移行させ、サーボモータ１を関節が制動姿勢を保持するよう駆動制御する。即ち、サーボモータ１で当該関節の現在の姿勢を保持できる大きさの駆動トルクを発生させる。
【０１２１】
続いて、ステップＳ４３でＣＰＵ２０１は電磁ソレノイド７を励磁し、ブレーキ装置６０１を図６（ｂ）の状態から図６（ａ）の状態、即ちブレーキＯＦＦ（無効）の状態に移行させる。この時、ブレーキ板５ｄがモータ用タイミングプーリ２から離間して当該関節の制動状態が解除される。一方、サーボモータ１の姿勢保持のためのトルクは継続して発生させる。これにより、現在の（制動時と同じ）関節の姿勢がサーボモータ１の駆動トルクによって保持される。
【０１２２】
以上のように、本実施例では、ステップＳ４３の電磁ソレノイド７の励磁による制動解除に先立ち、ステップＳ４２でサーボモータ１に姿勢保持のためのトルクを発生させておく。これにより、例えば重力などの影響によりリンクが落下するのを防止できる。
【０１２３】
例えば、図１の関節１１２や１１３のように重力方向に回転可能な回動軸を有する関節は、ステップＳ４２を行わないでブレーキ無効にすれば重力によって関節が回転し、その先のリンクが落下する可能性がある。しかしながら、このため、ステップＳ４３の制動力解除の前に、サーボモータ１に姿勢保持トルクを発生させておくことによりリンクの落下や衝突、それによる機構の損傷などを未然に防止できる。
【０１２４】
ステップＳ４４以降では、ブレーキＯＦＦ（制動解除）状態を確実に形成するとともに、その状態が形成されているか否かの確認動作およびその判定を行う。まず、ステップＳ４４では、電磁ソレノイド７のＯＮ（励磁）状態を保持したまま、サーボ制御装置３１３を介してサーボモータ１を所定角度だけ回転させる確認動作を行わせる。例えば、このサーボモータ１を回転させる所定角度は、サーボモータ１が、ステップＳ４４で実際に与えた指令と（ほぼ）同じ回転角だけ回転したか否か判定（Ｓ４５）できる程度でよい。例えば、この所定角度はブレーキ噛合位置の分解能の数ステップ程度、あるいは関節出力側のリンクの角度にして大きくとも数°程度、などとする。
【０１２５】
また、この時のサーボモータ１、ないしそれにより駆動される関節（１１２）の回動方向は、図１の関節１１２、１１３のようにそれよりも手先側の自重によって比較的大きな回動モーメント（自重モーメント）が作用する関節について、考慮すべき事項がある。この点については、本実施例の最後で考察する。
【０１２６】
ステップＳ４５においては、ＣＰＵ２０１は、モータ用エンコーダ１ｅの出力を用いて、サーボモータ１がステップＳ４４で実際に与えた指令と（ほぼ）同じ回転角だけ回転したか否か判定する。本実施例３はブレーキＯＦＦ制御であるから、この確認は上記実施例１および２とは逆に所定角度、サーボモータ１が回転したか否かを判定する。
【０１２７】
ここでサーボモータ１が指令通り所定角度揺動していれば、制動解除状態を達成したと判断してブレーキ処理のステップ４６の終了処理に分岐する。逆に、ブレーキＯＦＦに制御したにも拘らず、所期の回転量を得られていなければステップＳ４７のエラー処理に分岐する。
【０１２８】
なお、正常終了でステップＳ４６に移行する場合、実行しているロボット制御プログラムに応じてその後の制御が行われる。例えば、ロボットアーム１０１の姿勢を保持する場合、ＣＰＵ２０１はサーボモータ１に姿勢保持トルクを発生させる。また、ロボットアーム１０１の位置姿勢を目標の位置姿勢に変位させる場合には、ＣＰＵ２０１は、その位置姿勢への変位に必要な関節駆動を行うべく、サーボモータ１の回転角度、回転速度を制御する。
【０１２９】
また、図１のロボット装置の関節１１２や関節１１３には、その関節より手先側の自重がかかる。このような関節では、ブレーキ装置６０１の制動中、この自重モーメントは、モータ用タイミングプーリ２とブレーキ板５ｄの噛合部で支えることになる。モータ用タイミングプーリ２とブレーキ板５ｄの噛合部にかかるモーメントは、ブレーキ有効からブレーキ無効に推移する際の抵抗になる。この抵抗により、ブレーキを無効に（解除）できない可能性がある。
【０１３０】
そこで、上記のステップＳ４３で電磁ソレノイド７をＯＮした後、ステップＳ４４でサーボモータ１を比較的高速に所定周波数、ないし所定振幅で振動駆動する制御を行うことが考えられる。これにより、噛合部の抵抗が小さくなる瞬間が形成されるため、確実にブレーキ無効にできる可能性が高くなる。この場合、ステップ４５では、ステップＳ４４で行わせた振動駆動状態が形成されたか否かをモータ用エンコーダ１ｅなどを介して検出すればよい。
こ
【０１３１】
以上、説明したように、本実施例によれば、ブレーキＯＦＦイベントが発生すると、まずサーボオン（Ｓ４２）により発生後のモータ位置を保持する制御を行う。このため、手先側のリンクの落下などの障害を生じることなく、制動解除を行うことができる。また、電磁ソレノイドをＯＮとした後、サーボモータ１を駆動（Ｓ４４）する確認動作を行うことにより、実際に制動解除の状態が得られているか否かを確認（Ｓ４５〜Ｓ４６）することができる。また、この時（Ｓ４４）、サーボモータ１を好ましくは自重モーメントによる回転速度よりも高速に回動させることにより、スムーズに制動解除を行うことができる。
【０１３２】
＜実施例４＞
上述のように、噛合いブレーキの場合、ブレーキ板５ｄとモータ用タイミングプーリ２の歯（突起）の山と谷を噛合させる構造上、両者のブレーキ噛合位置は離散的であり、その分解能は両者の歯（突起）の山（谷）のピッチないし周期によって定まる。このため、ある関節を制動する場合、計算した停止軌道上の所定の制動位置に最も近いブレーキ噛合位置を選択できるのが望ましい。
【０１３３】
一方、上記の実施例１〜３では、モータ用エンコーダ１ｅを用いて、目的の制動状態が確実に生成されているか、あるいは制動状態が確実に解除されているかどうかを確認する例を示した。これに対して本実施例では、ブレーキＯＮイベントにおいては、出力軸エンコーダ１５の出力を利用し、制御対象の関節の目的の制動位置（姿勢）に最も近い（理想的な）ブレーキ噛合位置を得られるよう制御する例を示す。
【０１３４】
ロボットアーム１０１を用いた精密な組立や狭い場所の作業では、制動（停止）位置の制御の精度が良くなければ作業を失敗したり、他の物体に干渉したりする問題がある。このため、精密な組立や狭い場所の作業ほど、ロボットアーム１０１の手先の位置を正確に制御する必要がある。
【０１３５】
ロボットアーム１０１の手先位置（例えばハンド１０２の把持部）の位置姿勢は、各関節の減速機の捩れやガタの影響を受ける。このため、例えばサーボモータ用エンコーダ１ｅのみを利用してロボットアーム１０１の位置姿勢を制御しようとしても、ロボットアーム１０１の手先位置はそれ程正確に制御できない。ロボットアーム１０１の手先位置を精密に制御するためには、各関節の姿勢（回動角）を精密に制御する必要がある。このためには、各関節の姿勢（回動角）を出力軸エンコーダ１５の出力に基づき制御するのが望ましい。
【０１３６】
そこで、本実施例４では、ブレーキＯＮイベントの発生に応じて前記関節を制動する場合、次のような制御を行う。ＣＰＵ２０１（制御装置）は、当該関節（１１２）の目的の制動角度に相当するサーボモータ１（回転駆動源）の回転軸の停止回転角度を計算する（下記のＳ12：停止角度計算工程）。そして、ＣＰＵ２０１（制御装置）は、その停止回転角度に応じてサーボモータ１（回転駆動源）を一旦停止させる（同Ｓ１３：一旦停止工程）。さらに、一旦停止させたサーボモータ１（回転駆動源）の現在の回転角度の近傍で、メモリ２０２１（記憶装置）から読み出したリストに含まれる複数のブレーキ噛合位置にそれぞれサーボモータ１を回転させる。そして、その各回転位置において関節（１１２）の出力軸の回転角度を出力軸エンコーダ１５を用いて測定する（同Ｓ５２：測定工程）。
【０１３７】
そして、サーボモータ１を回転させた複数のブレーキ噛合位置のうち、出力軸エンコーダ１５により測定された回転角度と関節の目的の制動角度との差分が最も小さいブレーキ噛合位置で前記ブレーキ装置６０１を作動させ、制動有効状態を形成する。
【０１３８】
図１１は、本実施例４のブレーキＯＮ制御の流れを示している。図１１のフローチャートは図８、図９と同等の様式であり、また、本実施例４においてもハードウェアや制御系の構成については上述の各実施例と同様であるものとする。図１１では、図８、図９と同等の処理ステップについては同一の参照符号を用いており、その詳細な説明は省略するものとする。以下、図１１を参照して、本実施例４のブレーキＯＮ制御につき説明する。
【０１３９】
なお、本実施例でも、ブレーキ板５ｄとモータ用タイミングプーリ２が相互に歯の山と谷で噛合するブレーキ噛合位置を得られるモータ回転角（噛合可能角度）のリストは予めＲＯＭ２０２やＨＤＤ２０４などに配置したメモリなどに格納しておく。このモータ回転角（噛合可能角度）のリストは、当然ながら各関節毎に用意しておく。
【０１４０】
図１１のステップＳ１１において、ティーチングペンダント３００や装置上位コントローラ（不図示）によって例えばロボットアーム１０１の停止指令が発生されると、ブレーキＯＮイベントが発生する。このブレーキＯＮイベント（ステップＳ１１）が発生すると、ステップＳ１２以降でＣＰＵ２０１のブレーキ制御部２３の制御が実行される。
【０１４１】
ステップＳ１２では、停止軌道計算部２４によりロボットアーム１０１を停止させるための停止軌道、各関節のモータ指令プロファイルを計算する。ロボットアームが既に停止している場合は、その場所を停止位置として選択する。
【０１４２】
続いて、ステップＳ１３において、ステップＳ１２において停止軌道計算部２４で計算した停止軌道に基づきモータ制御部２６によるモータ制御を行い、各関節のサーボモータ１を停止させる。
【０１４３】
次にステップＳ５１において、上記のＲＯＭ２０２やＨＤＤ２０４などに配置されたブレーキ噛合位置のメモリから、現在のサーボモータ１の停止位置の近傍のブレーキ噛合位置を複数、検索する。このメモリには、ブレーキレバー５のブレーキ板５ｄとモータ用タイミングプーリ２が相互に山と谷で係合するブレーキ噛合位置を、例えばサーボモータ１の回転角度表現のリストとして用意しておく。ここでは、現在のサーボモータ１の停止位置は、モータ用エンコーダ１ｅを介して検出する。また、複数、検索する現在の停止位置の近傍のブレーキ噛合位置の数は、当該関節（の出力軸）の姿勢の制御誤差などに応じて定めておけばよい。
【０１４４】
続いてステップＳ５２において、モータ制御部２６の機能によって、サーボモータ１の指令値にステップＳ５１で検索した複数のブレーキ噛合位置の各々にモータ回転角度にサーボモータ１を制御する。そして、その各々の停止位置で出力軸エンコーダ１５の出力値を取得する。
【０１４５】
ステップＳ５３では、出力軸エンコーダ１５の出力値を用い、ステップＳ５２で移動させた各ブレーキ噛合位置のうち、ステップＳ１２で計算した停止軌道に最も近いブレーキ噛合位置を選択する。そして、この噛合位置に相当する回転角度にサーボモータ１を回転させる制御を行う。この時、ロボットアーム１０１の姿勢制御を各関節軸の角度で制御している場合には、各関節で、出力軸エンコーダ１５で当該関節軸の目標角度に近い角度が得られているブレーキ噛合位置を選択すればよい。また、停止軌道の制御を、例えばロボットアーム１０１の手先部位の目標位置で制御している場合には、順運動学で計算した手先位置と目標位置との差が最も小さくなるよう、各関節のブレーキ噛合位置を選択すればよい。
【０１４６】
続いてステップＳ１６において、ＣＰＵ２０１は、ソレノイド駆動部２７を介して励磁されている電磁ソレノイド７の電流を遮断して、図６（ｂ）の状態から図６（ａ）の状態にして噛合いブレーキを有効にする。
【０１４７】
ステップＳ１６〜Ｓ２０の処理は、図８、図９のステップＳ１６〜Ｓ２０と同じ処理である。ここでは、ブレーキＯＮ（制動）状態が形成されているか否かを判定（ステップＳ１８）し、モータ用エンコーダ１ｅの値で所定回転角以上、サーボモータ１が回転していた場合にはエラー処理（ステップＳ１９）を行う。また、サーボモータ１の回転角が所定回転角を超えない微小量であれば、正常な制動状態を確認したものとしてブレーキＯＮ制御を終了（ステップＳ２０）する。
【０１４８】
以上のように、本実施例４によれば、サーボモータ１を目的の制動角度に相当する停止回転角度で一旦停止させる。そして、メモリ２０２１から読み出したリストに含まれる複数のブレーキ噛合位置にそれぞれサーボモータ１を回転させる。さらに、その各回転位置において関節（１１２）の出力軸の回転角度を出力軸エンコーダ１５を用いて測定する。そして、サーボモータ１を回転させた複数のブレーキ噛合位置のうち、出力軸エンコーダ１５により測定された回転角度と関節の目的の制動角度との差分が最も小さいブレーキ噛合位置で前記ブレーキ装置６０１を作動させる。従って、出力軸エンコーダ１５を用いて測定した関節の実際の回転角度を測定し、メモリ２０２１から読み出したリストに含まれる複数のブレーキ噛合位置から関節の目的の制動角度との差分が最も小さいブレーキ噛合位置を選択することができる。このため、低発熱で大きな制動力を得られる噛合ブレーキ機構を用いながら、関節の目的の制動角度との差分が最も小さい、最適なブレーキ噛合位置を選択することができる。
【０１４９】
＜実施例５＞
以上の各実施例は、ロボットアーム１０１の関節（１１１〜１１６）の駆動系に、それぞれ突起（コグ／ドグ）付きのモータ用タイミングプーリ２、減速機用タイミングプーリ３、タイミングベルト４を用いた構成を用いて説明した。しかしながら、上述の噛合いブレーキ制御は、上述のようなベルト駆動による駆動系のみに限定的に実施すべきものではない。
【０１５０】
例えば、同様の噛合いブレーキによるブレーキ機構は、図１２に示すように、関節（例えば１１２）の駆動装置６００が、例えば平ギア３８、３９を用いて構成されているような場合でも実施することができる。
【０１５１】
図１２は、上述の図１〜図３、図６で説明した関節（例えば１１２）の駆動装置６００の異なる構成を図６と同様の様式で示したものである。図１２において、平ギア３８はブレーキベース８の外側に配置され、サーボモータ（１：同図では不図示）の回転駆動軸に結合されている。一方、平ギア３８と噛合う平ギア３９は減速機（１２：同図では不図示）の減速機入力軸１３に結合されている。
【０１５２】
図１２のブレーキ装置６０１は、図中の平ギア３８の上側に配置されている。ブレーキ装置６０１のブレーキレバー５は回動軸５ｃに回動自在に支持されるとともに、ブレーキレバー５の先端５ｅと、ブレーキベース８の支持部６ｄの間には、例えばコイルスプリングなどの弾性部材から成る噛合いバネ６が弾装されている。
【０１５３】
また、ブレーキレバー５には、モータ用タイミングプーリ２の歯を噛合いで停止させるための数歯の突起を有するブレーキ板５ｄ（噛合い部材）が取り付けられている。また、噛合いレバー５の中央部領域は、電磁ソレノイド７のプランジャ７ｐにリンクされている。電磁ソレノイド７は、前述同様に、コイル７ｃ、プランジャ７ｐ、フレーム７ｆから構成されている。
【０１５４】
上述の図１〜図３、図６の構成と比較して明らかなように、図１２の構成は、関節駆動軸（１３）への伝達がギア同士の噛合によって行われる以外は機械的には上述の構成とほぼ同等である。従って、サーボモータ１の駆動軸に装着された平ギア３８にブレーキ板５ｄを噛合させて制動するブレーキＯＮ動作、およびこれらの噛合を解除して制動を解除するブレーキＯＦＦ動作は、上述の各実施例で説明した手順によって制御することができる。
【０１５５】
以上、実施例１〜５によって本実施形態の構成および制御例を示したが、本発明は上述した実施例の構成に限定されるものではない。また、上記各実施例に記載した構成、作用や効果については、それぞれ好適例を例示したに過ぎず、本発明の構成、作用や効果は上記各実施例の記載のみに限定されるものではない。
【０１５６】
例えば、上記各実施例においては、ロボットアーム部１００が、垂直多関節ロボットアームである場合について説明した。しかしながら、本発明の噛合いブレーキ機構およびそのブレーキ制御は、ロボットアームのアーキテクチャに限定されず、例えば水平多関節ロボットアーム（スカラロボット）、パラレルリンクロボットアームのような構成においても実施することができる。
【０１５７】
また、本実施形態では、ブレーキレバー５を配置し、ブレーキレバー５を介してブレーキ板５ｄの位置を制御する構成を例示した。しかしながら、ブレーキレバー５は必須の構成要件ではない。例えば、電磁ソレノイド７のプランジャ７ｐの先端にブレーキ板５ｄを取り付け、また制動力を発生させる噛合いバネ６はプランジャ７ｐに同軸に弾装する、といった構成でも、上述のブレーキ制御は可能である。
【０１５８】
また、本実施形態の各処理は具体的には制御装置２００の制御部としてのＣＰＵ２０１により実行されるものである。従って、上述した機能を実現するプログラムを記録した記録媒体を制御装置２００に供給し、制御装置２００のコンピュータ（ＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施例の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１５９】
また、本実施例では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム３３０が格納される場合について説明したが、これに限定するものではない。プログラム３３０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するためのコンピュータ読み取り可能な記録媒体としては、ＲＯＭ２０２、外部記憶装置３１２、記憶ディスク３３１等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、本実施例におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
【０１６０】
また、コンピュータが読み出したプログラムコードを実行することにより、本実施例の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【０１６１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって本実施例の機能が実現される場合も含まれる。本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、本発明の制御は、１以上の機能を実現するハードウェア回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１６２】
１…サーボモータ、１ｅ…モータ用エンコーダ、２…モータ用タイミングプーリ、３…減速機用タイミングプーリ、４…タイミングベルト、５…ブレーキレバー、６…噛合いバネ、７…電磁ソレノイド、１１…クロスローラベアリング、１２…減速機、１３…減速機入力軸、１４…ベアリング、１５…出力軸エンコーダ、２１…関節機構部、２２…噛合いブレーキ部、２３…ブレーキ制御部、２４…停止軌道計算部、２５…噛合せ選択部、２６…モータ制御部、１０１…ロボットアーム、１１１〜１１６…関節、２００…制御装置、２０１…ＣＰＵ（演算部）、２０４…ＨＤＤ（記憶部）、３００…ティーチングペンダント、５００…ロボット装置、Ｗ…ワーク。
【図１】
0006652293.tif 000002
【図２】
0006652293.tif 000003
【図３】
0006652293.tif 000004
【図４】
0006652293.tif 000005
【図５】
0006652293.tif 000006
【図６】
0006652293.tif 000007
【図７】
0006652293.tif 000008
【図８】
0006652293.tif 000009
【図９】
0006652293.tif 000010
【図１０】
0006652293.tif 000011
【図１１】
0006652293.tif 000012
【図１２】
0006652293.tif 000013