"複数の軸を有し各軸に対応して設けられる複数のモータを備えた多関節ロボットと、前記複数のモータを駆動制御して前記多関節ロボットの動作を制御するコントローラとを備えたロボットシステムにおいて、前記コントローラは、作業者が前記多関節ロボットに直接触れながらティーチングをするダイレクトティーチングモードの実施が可能に構成され、前記ダイレクトティーチングモードでは、前記多関節ロボットの前記複数の軸について予め設定された順序で、開放対象となる所定の軸は前記モータのブレーキを解除した状態で且つ他の残りの軸は前記モータのブレーキをかけた状態のままとするブレーキ解除状態を設定された所定時間だけ実施するブレーキ解除ステップを実行し、使用者によるティーチングの動作終了時まで予め設定された順序で前記ブレーキ解除ステップを繰り返し続けることを特徴とするロボットシステム。請求項1に記載のロボットシステムにおいて、前記コントローラは、前記ブレーキ解除ステップを、前記予め設定された順番が1回りすることを1周期として繰り返し実行し、1周期内では、1軸毎に前記モータのブレーキ解除を行うための設定時間として、固定的に確保される固定開放時間に、前周期での当該軸の移動量が多いほど長くなるように移動量に比例して算出される可変開放時間であって軸毎に算出される時間の総和が常に予め定められた一定時間となるように算出される可変開放時間を加算した時間が設定されることを特徴とするロボットシステム。請求項2に記載のロボットシステムにおいて、前記コントローラは、前記可変開放時間の算出として、前周期での各軸の移動量と平均移動量とを算出し、前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、前記各軸の偏差移動量の値が同符号のものを加算して分配分母係数を算出し、前記各軸の偏差移動量を前記分配分母係数で除した値に1を加算した値を各軸の変化係数として算出し、前記可変開放時間の初期値として予め設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第1の可変開放時間設定処理を実行することを特徴とするロボットシステム。請求項2に記載のロボットシステムにおいて、前記コントローラは、前記可変開放時間の算出として、前周期での各軸の移動量と平均移動量とを算出し、前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、前記各軸の偏差移動量を予め定められた所定の基準移動量で除した値を増加率とし当該増加率に1を加算した値を各軸の変化係数として算出し、前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第2の可変開放時間設定処理を実行することを特徴とするロボットシステム。請求項3に記載のロボットシステムにおいて、前記コントローラは、前記可変開放時間の算出として、前記複数の軸のうちの特定の軸の前記移動量が予め設定されたしきい値以下と判断したときには前記第1の可変開放時間設定処理を実行し、前記特定の軸の前記移動量が前記しきい値を超えると判断したときには、前周期での各軸の移動量と平均移動量とを算出し、前記各軸の移動量から前記平均移動量を差し引いた各軸の偏差移動量を算出し、前記各軸の偏差移動量を予め定められた所定の基準移動量で除した値を増加率とし当該増加率に1を加算した値を各軸の変化係数として算出し、前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する第2の可変開放時間設定処理を実行することを特徴とするロボットシステム。請求項4または5に記載のロボットシステムにおいて、前記コントローラは、前記第2の可変開放時間設定処理の実行時に、前記各軸の偏差移動量の前記増加率中に-1未満のものがあるときには、最も小さい増加率の絶対値の逆数を圧縮係数として算出し、前記各軸の変化係数の算出では、前記各軸の偏差移動量の前記増加率に前記圧縮係数を乗じてから1を加算することを特徴とするロボットシステム。請求項1に記載のロボットシステムにおいて、前記コントローラは、前記ダイレクトティーチングモードで行うブレーキ解除ステップで、1軸毎に前記モータのブレーキ解除を行う設定された所定時間として、全ての軸に一定時間を設定することを特徴とするロボットシステム。請求項1ないし7のいずれか一項に記載のロボットシステムにおいて、前記コントローラは、前記ダイレクトティーチングモードでは、前記多関節ロボットの複数の軸について予め設定された順序で解除対象軸を設定するとともに、設定された前記解除対象軸を除いた残りの軸のうちで前記解除対象軸よりも順序が後ろの軸に対して順次現在の解除対象軸の姿勢を基準として直交相当の軸が存在するか否かを判定し、該当する軸が存在する場合には同時解除対象軸として設定し、前記解除対象軸および前記同時解除対象軸について前記モータのブレーキ解除を設定された時間行うと共に残りの軸のモータのブレーキをかけたままの状態とするブレーキ解除ステップを実施し、使用者による教示動作が終了するまで前記ブレーキ解除ステップを繰り返し実施することを特徴とするロボットシステム。請求項8に記載のロボットシステムにおいて、前記コントローラは、前記同時解除対象軸の判定では、設定された前記解除対象軸に対して残りの軸のうちで前記解除対象軸よりも順序が後ろの軸に続いて前記解除対象軸よりも順序が前の軸についても前記順序にしたがって直交相当の軸が存在するか否かを判定することを特徴とするロボットシステム。しかしながら、上記した特許文献1に示されるものでは、基本軸第1軸~第3軸と手先軸第4軸~第6軸の2グループのブレーキ解除の切替えは作業者による人為的な作業であるから、この点においてダイレクトティーチの際のロボットアームの移動の際の応答性が悪くなり、本来のダイレクトティーチングの特徴の1つである作業者の感覚的なティーチングがし難くなるものであった。本発明は、上記事情を考慮してなされたもので、その目的は、複数の軸を有するロボットにおいて、ダイレクトティーチングを行う際に、作業中に手先落下が発生しないようにしつつ、ダイレクトティーチの応答性も十分確保することができるようにしたロボットシステムを提供することにある。請求項1に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で所定の軸毎にモータのブレーキ解除を設定された所定時間だけ行うブレーキ解除ステップを実施する。そして、使用者によるティーチングの動作が終了するまでブレーキ解除ステップが繰り返し実施される。ここで、所定の軸は、1軸でも良いし、1軸のブレーキ解除に合わせてブレーキを解除する条件の備わった他の軸が存在しても良い。また、設定された時間は、各軸に固定的に設定される時間としても良いし、各軸の動作状態に応じて可変的に設定する時間としても良い。これにより、ダイレクトティーチングを実施しているときには、常にブレーキ解除されるのは所定の軸だけの状態となり、しかもブレーキ解除される軸が設定された時間が経過すると切り替わっていくので、作業中に意図していない軸が一気に移動して落下することが防止され、作業中の安全性を確保することができるようになる。また、ブレーキ解除される軸が設定された時間が経過すると切り替わることで、時間差で少しずつ全軸が動くことになるが、本来ダイレクトティーチでの手先の動きは人の作業である点からゆっくりした動きが前提となるので、作業者の感覚としては全軸を同時にブレーキ解除したのと同等の感覚で操作ができ、この結果、応答性も確保することができる。請求項2に記載のロボットシステムによれば、コントローラにより、ブレーキ解除ステップが、予め設定された順番が1回りすることを1周期として繰り返し実行され、1周期内では、1軸毎にモータのブレーキ解除を行うための設定時間として、固定的に確保される固定開放時間に、前周期での当該軸の移動量が多いほど長くなるように移動量に比例して算出される可変開放時間であって軸毎に算出される時間の総和が常に予め定められた一定時間となるように算出される可変開放時間を加算した時間が設定される。これにより、複数の軸について、1軸毎にモータのブレーキ解除がなされ、その場合の設定時間が、固定開放時間に可変開放時間を加算した時間が設定されるので、安全性の向上を図りつつ、ティーチングの作業性の向上も図ることができる。各軸については、例えば移動量が少ない或いは移動していない軸であってもブレーキが解除される設定時間として固定開放時間だけは確保されているので、毎回必ず移動可能な状態が確保されている。また、移動量が多い軸については、移動が優先して行えるように可変開放時間により移動量にほぼ正比例した時間が加算されるので、現在のティーチングの状況を反映した作業性の高い設定時間とすることができる。請求項3に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として次の第1の可変開放時間設定処理を実行する。この第1の可変開放時間設定処理は、まず、前周期での各軸の移動量と平均移動量とを算出し、次に、各軸の移動量から平均移動量を差し引いた各軸の偏差移動量を算出する。次に、各軸の偏差移動量の値が同符号のものを加算して分配分母係数を算出し、続いて、各軸の偏差移動量を分配分母係数で除した値に1を加算した値を各軸の変化係数として算出する。そして、可変開放時間の初期値としてあらかじめ設定された基準時間に、各軸の変化係数を乗じたものを可変開放時間として設定する。これにより、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が多いものについて長い時間となるように設定することができることは勿論、可変開放時間の設定に分配分母係数を算出して配分をするので、移動量実績が数~数十という増加量に圧縮されて評価されることになり、これによって、移動量が多い軸に一気に時間が配分されてしまうことを抑制しながら、全軸に適切な時間を配分することができる。このため、手先の位置を微調整するときのように、各軸を細かく動作させたい場合に各軸が容易に動作するようになり、操作性に優れたものとなる。請求項4に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として次の第2の可変開放時間設定処理を実行する。この第2の可変開放時間設定処理は、まず、前周期での各軸の移動量と平均移動量とを算出し、次に、各軸の移動量から平均移動量を差し引いた各軸の偏差移動量を算出する。そして、各軸の偏差移動量を所定の基準移動量で除した値を増加率とし当該増加率に1を加算した値を各軸の変化係数として算出し、前記可変開放時間の初期値としてあらかじめ設定された基準時間に、前記各軸の変化係数を乗じたものを前記可変開放時間として設定する。これにより、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が多いものについて長い時間となるように設定することができるが、可変開放時間の設定を該当する軸の移動量にほぼ正比例して多く配分をすることができるので、移動量が多い軸の可変開放時間を優先して配分することができ、移動量が多い場合のダイレクトティーチングの作業性を優先させることができる。このため、教示位置に向かって手先を大きく動かしたいような場合、その手先の大きな移動のために大きく動作する軸に対して可変開放時間を長く配分できるようになるので、動かしたい軸を大きく動かして楽に手先を教示位置近くまで移動させることができるようになり、操作性に優れたものとなる。請求項5に記載のロボットシステムによれば、コントローラにより、可変開放時間の算出として、複数の軸のうちの特定の軸の前周期での移動量が予め設定されたしきい値以下と判断したときには第1の可変開放時間設定処理を実行し、特定の軸の前周期での移動量がしきい値を超えると判断したときには、前記第2の可変開放時間設定処理を実行する。この場合、特定の軸は、複数の軸の全てが対象であっても良いし、ダイレクトティーチングの作業性から必要とされる軸を対象としても良い。これにより、ダイレクトティーチングの作業に応じて、特定の軸として設定されている軸の移動量がしきい値を超えるか否かを基準として第1の可変開放時間設定処理を行うか第2の可変開放時間設定処理を行うかの切り換えを自動的に行わせることができるようになり、特定の軸の移動の仕方からその作業において移動量が多い作業をしているのか、移動量が少ない細かい作業をしているのかの作業内容の違いに応じて可変開放時間の配分の仕方を切り替えて設定することができるので、移動量の変化が激しいような作業の場合に適したものとなる。請求項6に記載のロボットシステムによれば、コントローラにより、第2の可変開放時間設定処理の実行時に、各軸の偏差移動量の中に-1未満のものがあるときには、最も小さい増加率の絶対値の逆数を圧縮係数として算出し、各軸の変化係数の算出では、各軸の偏差移動量の前記増加率に圧縮係数を乗じてから1を加算する。これにより、第2の可変開放時間設定処理を行う場合に、移動量の非常に少ない軸が移動量の多い軸に対して相対的に偏差移動量が小さくなって、その偏差移動量の増加率が-1を下回る場合、圧縮係数を設定することで、移動量の多い軸に可変開放時間が長く配分され過ぎることを防止すると同時に、一定時間に定められた1周期内で、前周期での移動量の非常に少ない軸でも、最低限のブレーキ解除時間として固定開放時間を確保できるようにする。以上により、前周期で移動量の非常に少ない軸がブレーキ解除されず移動できなくなるといった不具合の発生を抑止しながら、前周期の移動量の多い軸に対して適切な可変開放時間を割り当てることができる。請求項7に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で1軸毎にモータのブレーキ解除を一定時間行うブレーキ解除ステップを実施する。そして、使用者によるティーチングの動作が終了するまでブレーキ解除ステップが繰り返し実施される。これにより、ダイレクトティーチングを実施しているときには、常にブレーキ解除されるのは1つの軸だけの状態となり、しかもブレーキ解除される軸が一定時間ごとに切り替わっていくので、特定の軸だけが一気に落下することが防止され、作業中の安全性を確保することができるようになる。また、ブレーキ解除される軸が一定時間ごとに切り替わることで、時間差で少しずつ全軸が動くことになるが、本来ダイレクトティーチでの手先の動きは人の作業である点からゆっくりした動きが前提となるので、作業者の感覚としては全軸を同時にブレーキ解除したのと同等の感覚で操作ができ、この結果、応答性も確保することができる。請求項8に記載のロボットシステムによれば、ロボットのダイレクトティーチングを実施する際には、コントローラにより、多関節ロボットの複数の軸について予め設定された順序で解除対象軸を設定するとともに、設定された解除対象軸に対して残りの軸のうちで解除対象軸よりも順序が後ろの軸に対して順次直交相当の軸が存在するか否かを判定し、該当する軸が存在する場合には同時解除対象軸として設定し、解除対象軸および同時解除対象軸についてモータのブレーキ解除を一定時間行うブレーキ解除ステップを実施し、使用者による教示動作が終了するまでブレーキ解除ステップを実施する。これにより、同時にブレーキ解除をしても支障を生じない直交もしくは直交状態とみなしても支障のない直交相当の関係にある軸のみを一定時間ブレーキ解除をしてフリーの状態とするので、ダイレクトティーチングの作業に際してアームの落下事故の発生を抑制しつつアーム移動の自由度を高めて作業性の向上を図ることができる。請求項9に記載のロボットシステムによれば、コントローラにより、同時解除対象軸の判定で、設定された解除対象軸に対して残りの軸のうちで解除対象軸よりも順序が後ろの軸に続いて解除対象軸よりも順序が前の軸についても順序にしたがって直交相当の軸が存在するか否かを判定するので、同時にブレーキ解除をすることができる軸の発生確率を高めることができ、ダイレクトティーチングにおける作業性をより高めることができる。第1の実施形態;請求項1,7以下本発明の第1の実施形態について図1~図6を参照して説明する。図2はロボットのシステム1の外観構成を示している。このロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。ロボット2は、垂直6軸の多関節型ロボットとして構成されている。このロボット2は、ベース5と、このベース5に回転関節軸の第第1軸L1を中心に水平方向に旋回可能に支持されたショルダ部6と、このショルダ部6に回転関節軸の第2軸L2を中心に上下方向に旋回可能に支持された下アーム7と、この下アーム7に回転関節軸の第3軸L3を中心に上下方向に旋回可能に支持された第1の上アーム8と、この第1の上アーム8の先端部に回転関節軸の第第4軸L4を中心に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に回転関節軸の第5軸L5を中心に上下方向に旋回可能に支持された手首10と、この手首10に回転関節軸の第6軸L6を中心に捻り回転可能に支持されたフランジ11とから構成されている。なお、ロボット先端であるフランジ11には、ワークを把持するハンドや、視覚検査のために用いるカメラなどのエンドエフェクタ図示せずが取り付けられるようになっている。ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10、フランジ11は、ロボット2におけるアームとして機能し、固定アームであるベース5を除く各アーム6~11は、前段のアームに回転可能に支持された回転関節軸である第第1軸L1~第6軸L6に固定連結されている。次に、電気的なブロック構成を示す図1において、ロボット2には、上記した各アーム6~11の回転関節軸である第1軸L1~第6軸L6の周りに回転駆動させるためのサーボモータからなるモータM1~M6が設けられている。モータM1~M6の回転により、図示しない減速機構を介して各アーム6~11が回転駆動されるように構成されている。また、各モータM1~M6には、第1軸L1~第6軸L6に連結されたエンコーダS1~S6が設けられ、回転検出信号をコントローラ3に出力するように構成されている。ロボット2の動作を制御するコントローラ3は、マイコンを主体とした構成であり、CPU12、記憶手段としてのROM13およびRAM14を備えている。ROM13は、一般的な読み出し専用のメモリに加えて、電気的に書き換え可能なフラッシュメモリEEPROMの一種などのメモリも含むものである。このROM13には、後述するダイレクトティーチングに関する制御プログラムを含めてロボット2を駆動制御するための各種制御プログラムが記憶されている。また、コントローラ3には、ロボット2のモータM1~M6を駆動させるための駆動回路15が設けられている。コントローラ3には、ロボット2側の各エンコーダS1~S6からの検出信号に基づいて各モータM1~M6の回転角を検出する回転位置検出回路が設けられており、CPU12は、その回転角情報に基づいて駆動回路15に位置姿勢を制御するための制御信号を出力するように構成されている。次に、ロボット2の各アーム6~11の6つの回転関節軸である第1軸L1~第6軸L6について説明する。ベース5および各アーム6~11には、3次元の座標が規定されている。このうち、床面に据え付けられるベース5の座標系図2に座標軸XYZで示すは、不動の座標系で基準座標ロボット座標とされる。アーム6~11の座標は、各アーム6~11の回転関節軸の第1軸L1~第6軸L6の回転中心軸線上に設定されており、アーム6~11の回転によりロボット座標上での位置と姿勢が変化する。ROM13には、ロボット座標上におけるショルダ部6の座標位置、ショルダ部6の座標上における下アーム7の座標位置、下アーム7の座標上における第1の上アーム8の座標位置、第1の上アーム8の座標上における第2の上アーム9の座標位置、第2の上アーム9の座標上における手首10の座標位置、手首10の座標上におけるフランジ11の座標位置、各アーム6~11の長さなどの各種のパラメータが記憶されている。なお、以下では、各アーム6~11の座標のロボット座標上の位置を、単に、各アーム6~11の位置ということとする。ロボット先端であるフランジ11の座標の原点は、当該フランジ11の先端面の回転中心に定められている。そして、CPU12は、座標変換の計算機能を有し、ロボット先端の位置姿勢を含む;以下同じが与えられると、当該与えられた位置をロボット先端が取るような各アーム6~10の回転角を演算逆変換できるようになっており、また、各アーム6~11の回転角が与えられると、各アーム6~11の位置を演算順変換できるようにもなっている。ロボット2の動作を教示により設定する動作プログラムはティーチングペンダント4により作成されてROM13あるいはRAM14に記憶される。コントローラ3は、内部に記憶された制御プログラムに基づいて、ロボット先端の移動軌跡を演算し、そして、ロボット先端が開始位置から教示位置まで移動する間、当該ロボット先端の速度パターンが台形パターンや三角パターンなどの所定の速度パターンとなるように、サンプリングタイム毎のロボット先端の位置を演算する。ロボット2の動作制御中、コントローラ3は、サンプリングタイム毎に、エンコーダS1~S6から与えられる各モータM1~M6の回転角から各アーム6~10の回転角を演算し、各アーム6~11の回転角からフランジ11の位置を演算して現在位置を検出する。そして、ロボット先端の現在位置の次の位置における各アーム6~11の回転角をメモリから取得し、各アーム6~11の回転角から各モータM1~M6の回転角を演算して当該各回転角を各モータM1~M6の目標回転角として駆動回路15に出力する。次に、上記構成のロボットシステムにおいて、ロボット2のダイレクトティーチングを行う場合について図3~図6を参照して説明する。作業者によりティーチングペンダント4からダイレクトティーチングのモードが設定されると、コントローラ3は、図3に示すような手順によりダイレクトティーチングの制御プログラムを実行する。ダイレクトティーチングでは、作業者によりロボット2の各アーム6~11を教示位置まで直接移動させて設定するものである。例えば図4に示すように、aに示す開始位置からmに示す教示位置まで移動させる場合で説明する。また、この実施形態では、回転関節軸である第1軸L1~第6軸L6の設定順序は、第1軸L1から順次番号順に第6軸L6に移行するように設定されている。この順序は、かならずしも第1軸L1から軸番号の順に設定する必要はなく、作業に応じて適宜所望の順序に設定できる。また、フランジ11を捻り動作させる第6軸L6については、取り付けられるエンドエフェクタによっては教示動作時には常時ブレーキ解除としてフリー状態とすることができる場合がある。コントローラ3は、まず、第1軸L1のモータM1のブレーキを解除してフリー状態にするともに他の回転関節軸である第2軸L2~第6軸L6のモータM2~M6にダイナミックブレーキをかけてロック状態とする図3のステップA1,A2。コントローラ3は、この状態のまま任意時間として例えば予め設定された所定時間として1ms待って第1軸L1周りのダイレクトティーチングの動作を可能とするステップA3。尚、この回転関節軸1軸分のブレーキ解除の動作をブレーキ解除ステップとしている。上記の動作においては、図4aに示す状態から、第1軸L1周りの旋回移動がフリーとなる状態であるから、例えば図5bに示すように、作業者はアーム6つまりショルダ部6から上の部分を水平面内で回動させることができる。なお、説明の都合でロボット2の動きをわかりやすくするために、図5bの位置まで移動させたことを示しているが、実際には、1msの開放時間であるから、1回の移動量はわずかなものである。上記の動作において、モータM1のブレーキを解除してフリー状態にするとは、モータM1を駆動する駆動回路15において、通電経路をオープン状態に制御することでモータM1の回動に自己制動がかからないように制御することをいう。また、モータM1にダイナミックブレーキをかけてロック状態にするとは、モータM1を駆動する駆動回路15において通電経路をショート状態にしてモータM1の回転動作に対する自己制動がかかるように制御することをいう。次に、コントローラ3は、第2軸L2のモータM2のブレーキを解除してフリー状態にするとともに他の回転関節軸である第1軸L1、第3軸L3~第6軸L6のモータM1,M3~M6にブレーキをかけてロック状態としステップA4,A5、上述同様にこの状態のままで任意時間同じく一定時間例えば1ms待つステップA6。この状態では、第2軸L2周りの旋回がフリーとなるブレーキ解除ステップの状態であるから、作業者はアーム7つまり下アーム7を上下方向に旋回移動させてダイレクトティーチングを行うことができる。以下、同様にしてコントローラ3は、第3軸L3以降の各軸についてモータM3~M6を順次ブレーキ解除してフリー状態にし、他の回転関節軸についてはダイナミックブレーキをかけることで、いずれにおいても、1つの軸のみがフリー状態となるように制御しているステップA7~A18。以上のようにして順次第1軸L1から第6軸L6に至るまで短時間1msec単位で開放されるので、全ての回転関節軸について所定間隔でダイレクトティーチングの作業を行うことができる。この一連のブレーキ解除ステップをすべての軸について行う動作をブレーキ解除サイクルとしている。尚、1回のブレーキ解除サイクルでロボット2の位置を開始位置図4aから目的とする教示位置図4mに移動させることができない場合にはステップA19でNO、同様にしてブレーキ解除サイクルを繰り返し実行しステップA1~A18、ロボット2の位置が教示位置に移動できて、ダイレクトティーチング作業の終了がティーチングペンダント4から入力操作されるとステップA19でYES、コントローラ3は、ダイレクトティーチングモードを終了する。ダイレクトティーチングによるロボット2の位置が図4mあるいは図6mに示した教示位置に設定されると、この位置の変数データがティーチングペンダント4により取り込まれ、これによって動作プログラムのデータとして組み込むことができる。このような第1の実施形態によれば、ダイレクトティーチングを実施する際に、コントローラ3により、第1軸L1~第6軸L6までの6つの回転関節軸について、所定の順序で1軸ずつ一定時間毎にブレーキ解除をするように制御するので、特定の回転関節軸だけが一気に落下することを防止でき、教示作業における安全性を向上させることができる。また、ブレーキ解除する回転関節軸を一定時間ごとに順次切り替えるので、換言すれば全軸について順次一定時間毎に動かすことができるようになり、ダイレクトティーチング時のような教示動作でのロボット2の手先10部分の動きが比較的遅い動きになる動作では、作業者にとっては全軸を同時に開放させたのと同じような感覚で操作することができるようになり、全軸を開放させる従来相当の応答性とほぼ同等のものとすることができる。上記実施形態においては、一定時間任意時間として、1msを設定した場合を示したが、この一定時間はダイレクトティーチング作業を行う作業者の安全性を考慮して次のような原則を適用している。すなわち、回転関節軸L1~L6のモータM1~M6を順次ブレーキ解除したときに、解除したモータが暴走した場合でも作業者の安全を確保できる時間を上限とするものである。ブレーキ解除をしたモータが異常な回転状態になった場合に、ロボット2の手先部分が移動する速度が上昇して作業者に万一衝突した場合でも事故とならない程度の移動速度となる範囲を想定している。この場合、ロボット2の種類やスペックにも依存するが、ロボット2の手先の移動の危険速度が例えば250mm/s以上であるとすると、ブレーキ解除の直後からこの危険速度に達するまでの時間を想定して一定時間として設定することができる。また、ここではロボット2の手先にはエンドエフェクタが取り付けられていない状態、つまりロボット2の先端部が最も軽い状態で速く移動する場合でも危険速度に達しない時間を設定する。このため、実際には、エンドエフェクタが取り付けられた状態では、危険速度に達するまでにはまだ時間がかかる場合もある。上記の原理に従って回転関節軸毎に一定時間を算出すると、その時間は軸毎に異なる時間が一定時間として得られることが予想される。したがって、回転関節軸毎に異なる一定時間を設定することもできるし、それらのうちの最短の時間を共通の一定時間として設定することもできる。この点、一定時間の設定には、ダイレクトティーチングの際の応答性の点も考慮して設定することが好ましい。上記実施形態では、ブレーキ解除サイクルの単位でダイレクトティーチングの終了判断をしているが、ブレーキ解除ステップ毎にダイレクトティーチングの終了判断をするようにしても良い。第2の実施形態;請求項8図7は本発明の第2の実施形態を示すもので、以下、第1の実施形態と異なる部分について説明する。この実施形態においては、ブレーキを解除する回転関節軸の数を支障のない条件の下で2軸まで増やすようにしたところが異なる部分で、ダイレクトティーチングの際の位置姿勢の作業の自由度を高めるようにしたものである。図7はダイレクトティーチングを実施する際のコントローラ3による制御の流れを示す図である。コントローラ3は、まず、解除軸1変数を1に設定しステップB1、続いて全軸L1~L6をロック状態に制御するステップB2。この場合、各軸のロックは、各軸L1~L6を駆動するモータM1~M6にダイナミックブレーキDBをかけることで制御する。次に、各軸L1~L6について、順変換を実行して各アーム6~11の位置を演算するステップB3。続いて、コントローラ3は、解除対象軸を設定するためのループカウント値として解除軸1変数の値に1を加算した値つまり2を設定しステップB4、解除軸1アプローチとして解除軸1変数の軸つまり第1軸L1のアプローチを算出するステップB5。次に、ループカウントアプローチとしてループカウント値2の軸つまりここでは第2軸L2のアプローチを算出するステップB6。続いて、コントローラ3は、上記ステップB5,B6で算出した解除軸1アプローチとループカウントアプローチとの両方のベクトルの角度を計算するステップB7。つまり、ここでは、第1軸L1と第2軸L2との交差角度θを計算する。そして、計算結果として得られたベクトル間の交差角度θが、次式1を満たしているか否かを判断するステップB8。90°-α≦|θ|≦90°α1これは、ベクトル間の交差角度θが許容角度範囲±αで直交=90°する状態に相当している直交相当か否かを判定するものである。ここで許容角度範囲±αを例えばα=45°とすると、式1の示す範囲は、具体的には次式1a、1bのいずれかを満たしているか否かを判断することになる。45°≦θ≦135°1a-45°≧θ≧-135°1b尚、上記した直交相当とは、解除軸1変数に相当する軸に対して、これと直交する90°をなす角度を中心として±45°の範囲をいうもので、ダイレクトティーチングでアームを回転操作する際に、対象とする軸の周りのみの旋回を独立して実施でき、連動して旋回させることがない軸との交差角度の範囲を示すものである。したがって、2つの軸の交差角度θとして、直交角度である90°を中心として許容できる範囲は必ずしも±45°とする必要はなく、それよりも狭い許容範囲を設定することもできる。また、上記の許容範囲を狭くすることは、ダイレクトティーチングを実施する際に同時にブレーキを解除する同時解除対象軸の判定条件を厳しくすることになるが、これはダイレクトティーチングの実施時の安全性を高めることとトレードオフの関係にあり、使用者により所望の範囲に設定することができる。次に、コントローラ3は、上記した式1aまたは1bの条件を満たしていない場合には、ループカウント値が6以下であることを条件としてループカウント値は2であるから、ステップB9でYES、ループカウント値を1インクリメント=3してステップB10ステップB6に戻り、再びループカウントアプローチとしてループカウントアプローチの軸つまり第3軸L3のアプローチを算出するステップB6。以下、同様にして、コントローラ3は、第1軸L1と第3軸L3との各ベクトルがなす角度θを計算しステップB7、直交相当であるか否かを判定するステップB8。このようにして次々とループカウントを増やしていって直交相当の回転関節軸が存在するか否かを判定し、条件に合致する軸が存在する場合にはステップB8でYES、該当するループカウント値の軸についてブレーキを解除してフリー状態に制御するステップB11。続いて、コントローラ3は、解除軸1変数の値の軸つまり第1軸L1のブレーキを解除してフリー状態に制御するステップB12。尚、上記の条件を判定する際に、ループカウント値が6を超えても条件に合致する軸が存在しない場合、つまり第6軸L6まで実施しても条件に該当しない場合ステップB9でNOには、解除軸1変数の値の軸つまり第1軸L1のみをブレーキ解除するステップB12。上記のように、2つの軸であるループカウント値の軸および解除軸1変数の値の軸を同時にブレーキ解除した場合、あるいは解除軸1変数の値の軸のみをブレーキ解除した場合のいずれの場合においても、任意時間例えば一定時間1msだけ解除するステップB13。これにより、条件が合致したときには同時に2軸が、合致しない場合には1軸がブレーキ解除されてフリーの状態となるので、この間にフリーになっている軸に関連するアームの移動を行うことができる。任意時間が経過すると、コントローラ3は、フリー状態にした軸についてブレーキをかけて全軸をロック状態に戻す。次に、ダイレクトティーチング作業がまだ終了していないのでステップB14でNO、コントローラ3は、解除軸1変数の値が6になっているか否かを判断した上でステップB15でNO、解除軸1変数の値を1インクリメントして2とするステップB16。インクリメントした解除軸1変数の値はまだ6ではないのでステップB17でNO、ステップB2に戻って解除軸1変数の値の軸である第2軸L2について、上記と同様の処理を実施する。具体的には、ステップB2~B14を繰り返し実施する。このステップB2~B14を繰り返す場合、第2軸L2と同時にブレーキ解除が可能なのかどうかを判定の対象となる軸同時解除対象軸は、第3軸L3~第6軸L6である実際の判定ではステップCでYESとなるのは第4軸L4。同様にして、解除軸1変数の軸が第3軸L3の場合は、同時解除対象軸は第4軸L4~第6軸L6であり、第4軸L4では同時解除対象軸は第5軸L5および第6軸L6、第5軸L5では同時解除対象軸は第6軸L6のみとなる。また、解除軸1変数が6の場合には、ステップB16で5から6にインクリメントされた時点で、ステップB17でYESの判定となるので、上記したステップを繰り返すことなく直接ステップB12に進み、第6軸L6のみをブレーキ解除してフリー状態とする。これにより、第2軸L2のブレーキ解除の際に条件の合致する軸が存在する場合にはその軸のブレーキも同時に解除し、存在しない場合には、第2軸L2のみのブレーキ解除を行う。このようにして、全ての回転関節軸L1~L6について順次ブレーキ解除の動作を行うと、1回のブレーキ解除サイクルが終了することになる。この時、ダイレクトティーチング作業が終了してロボット2の位置が教示位置図4mの状態に設定されていれば終了しステップB14、そうでない場合には、繰り返し上記のブレーキ解除サイクルを実施する。この場合、コントローラ3は、解除軸1変数の値が6になっているのでステップB15でYES、解除軸1変数の値を再び1に設定して、ステップB2に戻り、上記のステップB2~B17を繰り返し実行する。そして、ダイレクトティーチング作業の終了がティーチングペンダント4から入力操作されると、コントローラ3は、ステップB14でYESとなって制御プログラムを終了する。このような第2の実施形態によれば、第1の実施形態の効果に加えて、同時に2つの軸についてブレーキ解除を行えるので、ダイレクトティーチングの作業に際してアームの移動の自由度を高めることができる。また、この場合でも、解除軸1変数の値の軸と同時にブレーキ解除される軸とが直交相当の条件を満たしているので、一方の軸の周りの回動操作で他方の軸の周りに連動して移動するのを抑制でき、これによって互いに教示動作を阻害することなく移動させることができる。第2の実施形態においても、ブレーキ解除サイクルの単位でダイレクトティーチングの終了判断をしているが、ブレーキ解除ステップ毎にダイレクトティーチングの終了判断をするようにしても良い。第3の実施形態;請求項9図8は本発明の第3の実施形態を示すもので、以下、第2の実施形態と異なる部分について説明する。この第3の実施形態では、解除軸1変数の値の軸に対して、他のすべての軸について直交相当であるか否かを判定してブレーキ解除を行うところが第2の実施形態と異なるところである。第2の実施形態で解除軸1変数の値の軸について同時にブレーキ解除をする対象としてループカウントの値を1ずつインクリメントした値が6に達した時点で終了していたのに対して、6に達した後、1に戻り解除軸1変数の値まで判定を行うようにしている。即ち、図8に示すように、コントローラ3は、解除軸1変数を1に設定しステップC1、全軸L1~L6をロック状態に制御するステップC2。次に、各軸L1~L6について、順変換を実行して各アーム6~11の位置を演算するステップC3。続いて、コントローラ3は、ループカウント値として1を設定しステップC4、解除軸候補変数の値を解除軸1変数に1を加えた値つまり2に設定するステップC5。解除軸候補変数は、同時解除対象軸を設定するための変数である。次に、コントローラ3は、解除軸1アプローチとして解除軸1変数の軸つまり第1軸L1のアプローチを算出するステップC6。続いて、解除軸候補アプローチとして解除軸候補変数の軸つまり第2軸L2のアプローチを算出するステップC7。続いて、コントローラ3は、上記ステップステップC6,C7で算出した解除軸1アプローチと解除軸候補アプローチとの両方のベクトルの角度を計算するステップC8。前述同様にして、ここでは、第1軸L1と第2軸L2との交差角度θを計算する。そして、計算結果として得られたベクトル間の交差角度θが、直交相当であるかすなわち前述の式1を満たしているか否かを判断するステップC9。以下、コントローラ3は、式1を満たしている解除軸候補が存在するか否かを順次判定していく。まず、ループカウント値が6以下である場合ステップC10でYESには、解除軸候補変数の値が6に達するまでステップC11でNO、解除軸候補変数の値を1インクリメントするステップC12と共にループカウント値を1インクリメントしてステップC13、ステップC7に戻り、上記のステップC7~C13を繰り返し実行する。この後、直交相当の回転関節軸が判定されないままステップC9でNO解除軸候補変数の値が6に達した場合にはステップC11でYES、解除軸候補変数の値を1に設定してステップC14ステップC13を経て直交相当の軸が存在するか否かを判定する。これにより、解除軸1変数の値よりも小さい値の軸についても直交相当の軸が存在するか否かの判定が行われることになる。コントローラ3は、上記の判定の結果、直交相当の軸が存在する場合にはステップC9でYES、その直交相当の軸である解除軸候補変数の値の軸をブレーキ解除してフリー状態としステップC15、続いて解除軸1変数の値の軸をブレーキ解除してフリー状態とするステップC16。また、判定の結果、直交相当の軸が存在しない場合にはステップC10でNO、解除軸1変数の値の軸のみをブレーキ解除してフリー状態とするステップC16。これにより、解除軸1変数の値の軸について上位の値の軸について直交相当の軸が存在しない場合でも、下位の値の軸について直交相当の軸が存在するか否かを判定するので、同時にブレーキ解除される軸が発生する確率が高くなる。コントローラ3は、解除軸1変数の軸と直交相当の軸が存在した場合にはその軸とをフリーにした状態で、任意時間例えば1msの一定時間だけ待ったステップC17後、全軸をロック状態に戻す。そして、以上のようにして解除軸1変数の軸である第1軸L1について直交相当の軸の判定とブレーキ解除を行うブレーキ解除ステップが終了すると、ダイレクトティーチングの作業が終了したか否かを判断しステップC18、NOの場合には、続いて解除軸1変数を1インクリメントしてステップC20、再びステップC2に戻り、上記したステップC2~C17のブレーキ解除ステップを繰り返し実行する。このようにして、解除軸1変数の値が6になるまでの動作を1回のブレーキ解除サイクルとして実行し、各軸L1~L6について順次直交相当の軸が存在するか否かを判断して存在する場合には同時にブレーキ解除を行ってロボット2のティーチング動作を実施できるようにする。そして、ブレーキ解除サイクルが1サイクル終了した時点でダイレクトティーチング作業が終了していない場合ステップC18でNOには、解除軸1変数の値が6になっているのでステップC19でYES、コントローラ3は、解除軸1変数を1に再設定しステップC21、且つ解除軸候補変数を0に設定してステップC22、再びステップC2に戻り、上記したブレーキ解除ステップを繰り返し実行する。この後、ダイレクトティーチング作業が終了した旨の入力がティーチングペンダント4などから入力されると、コントローラ3は、ダイレクトティーチングの制御動作を終了するステップC18でYES。このような第3の実施形態によっても、第1、第2の実施形態と同様の効果を得ることができるとともに、解除軸1変数の値の軸について上位の値の軸について直交相当の軸が存在しない場合でも、下位の値の軸について直交相当の軸が存在するか否かを判定するので、同時にブレーキ解除される軸が発生する確率が高くなり、ダイレクトティーチングにおけるアームの移動の自由度が高くなり、作業性の向上を図ることができる。尚、上記実施形態では、ダイレクトティーチング作業の終了を、ブレーキ解除ステップ毎に判定しているが、ブレーキ解除サイクル単位で判定することもできる。第4の実施形態;請求項1,2,3図9~図12は本発明の第4の実施形態を示すもので、以下、第1の実施形態と異なる部分について説明する。この実施形態においては、第1の実施形態と同様に、複数の軸、つまり第1軸L1~第6軸L6について予め設定された順序でブレーキ解除ステップ開放対象となる所定の軸はモータのブレーキを解除した状態で、他の残りの軸はモータのブレーキをかけた状態のままとするブレーキ解除状態を所定時間だけ実施するステップを実行する。ブレーキ解除ステップは、第1の実施形態と同様に、予め設定された順番が1回りすることを1周期1ブレーキ解除サイクルとして繰り返し実行される。この1周期の所要時間は、固定的で一定の時間、本実施形態では、60msに定められている。1周期内で、各軸は順にモータのブレーキが解除されるが、このブレーキ解除時間以下、開放時間は、第1の実施形態では、全ての軸について一律に定められた一定の時間1msであったが、本実施形態では、前周期における移動量が多い軸ほど長い時間となるように移動量に比例して長くなるように構成されている。本実施形態の場合、各軸の開放時間Tkは、固定的に確保される固定開放時間Tkf本実施形態では1msに、移動量に応じて変わる可変開放時間Tkvを加算した時間として設定される。なお、1周期の所要時間は60ms、そのうち固定開放時間Tkfは6軸全体で6msであるから、可変開放時間Tkvは全体で54msであり、この54msが各軸に分配される。各軸の可変開放時間Tkvは、初期値として予め設定された基準時間Tkv本実施形態では9msに、各軸の前周期n-1での移動量を基にして求めた変化係数Ckを乗じて算出する。各軸の変化係数は次のようにして求める。まず、前周期における各軸の移動量Mkと全軸の平均移動量Maveとを算出し、各軸の移動量Mkから平均移動量Maveを差し引いた値を各軸の偏差移動量ΔMkとする。次に、各軸の偏差移動量ΔMkの値が同符号のものプラスのもの、或いはマイナスのものを加算した値の絶対値を分配分母係数Dとして算出し、各軸の偏差移動量ΔMkを分配分母係数Dで除した値に1を加算してその値を変化係数Ckとして算出する。そして、前述のように、可変開放時間の基準時間Tkv9msに変化係数Ckを乗じたものを次回周期nにおける各軸の可変開放時間Tkvとして設定する以上、第1の可変開放時間設定処理。従って、各軸の可変開放時間は、前周期での移動量の偏差に正比例する部分基準時間×偏差移動量/分配分母係数を有し、この可変開放時間と固定開放時間の和として求められる開放時間は、前周期の各軸の移動量が多いほど長い時間に設定されることとなる。ここで、各軸の移動量は回転角度で表わし、回転した角度の累計として表わすものとする。例えば、一方向に2°回転し、逆方向に2°回転した場合、移動量は4°として表わす。さて、作業者によりダイレクトティーチングのモードが設定されると、コントローラ3は、図9に示すダイレクトティーチングの制御プログラムを実行する。つまり、コントローラ3は、まず、第1回目のブレーキ解除サイクルを実行するために、各軸のブレーキの固定開放時間および可変開放時間を初期値として予め設定された基準時間に設定する図9のステップD1でNO、ステップD2。ここで、各軸の固定開放時間Tkfは固定的で1msに設定されているから、固定開放時間の基準時間は1msであり、可変開放時間の基準時間Tkvは、前述のように9msに設定されているから、各軸に与えられる開放時間Tkは10msである。なお、可変開放時間の基準時間は、1周期における全体の可変開放時間54msを6つの各軸に均等に配分した値として設定されたものである。各軸の開放時間Tkを設定すると、コントローラ3は、第1回目のブレーキ解除サイクルの実行に入る。このブレーキ解除サイクルは、図10に示されているように、第1軸L1から第6軸L6まで軸番号順にブレーキ解除ステップを実施することによって行われる。このことは第1の実施形態と同様であるが、第1の実施形態との相違は、各軸のブレーキ解除ステップに入る前に当該軸の現在角度を検出して例えばROM13に記憶し第1軸ではステップE1、ブレーキの解除中は、回転方向、逆転した場合にはその時の回転角度をROM13に記憶し第1軸ではステップE4、ブレーキ解除ステップの終了後に当該軸の現在角度を検出してROM13に記憶する第1軸ではステップE5ところにある。そして、このブレーキ解除ステップ中の各軸の累計回転角度を算出し、この累計値を各軸の移動量としてROM13に記憶する図9のステップD4。第1回目のブレーキ解除サイクルを終了すると、コントローラ3は、次回である第2回目のブレーキ解除サイクルでの各軸の開放時間Tkを、前周期での各軸の移動量に応じた時間に設定する演算を行う図9のステップD5でNO、ステップD1でYES、ステップD3。この次回のブレーキ解除サイクルでの各軸の開放時間を求める制御プログラムは図11に示されている。つまり、各軸の開放時間Tkの算出は、まず、前周期n-1での全軸の平均移動量Maveを求めることから始まるステップF1。次に、コントローラ3は、前周期n-1での各軸の移動量Mkから平均移動量Maveを差し引き、その値を偏差移動量ΔMkとするステップF2。続いて、コントローラ3は、この各軸の偏差移動量ΔMkのうち、符号が同じもの、例えば符号がプラスの偏差移動量の総和を求め、これを分配分母係数DとするステップF3。なお、マイナス-の偏差移動量の総和を求めてその絶対値をとっても、同じ値の分配分母係数Dが得られる。その後、コントローラ3は、偏差移動量ΔMkを分配分母係数Dで除した値に1を加算し、これを変化係数CkとするステップF4。そして、コントローラ3は、各軸の変化係数Ckに可変開放時間の基準時間Tkvを乗じて各軸の可変開放時間Tkvを求めステップF5、最後に、各軸について固定開放時間Tkfと可変開放時間Tkvとを加算し、これを各軸の開放時間として設定しステップF6、以上により、次周期での各軸の開放時間の計算を終了する。このようにして次周期での各軸の開放時間を求めると、コントローラ3は、次の周期のブレーキ解除サイクルを実行する図9のステップD4。このブレーキ解除サイクルの実行時においても、上述したと同様に、各軸の移動量を求め、そして、この移動量を基に、次回のブレーキ解除サイクルでの各軸の開放時間を求める。このようにして次々と前周期での各軸の移動量を基に、各軸の開放時間を求めてブレーキ解除サイクルを実行することをロボット先端が教示位置に移動するまで継続して行う。図12はブレーキ解除サイクルの第1回目から第3回目までの各周期について、各軸の移動量と次周期の各軸の開放時間を示したものである。なお、図12では、第1軸L1~第6軸L6をJ1~J6で示している。この図12により、例えば第1軸L1と第5軸L5について、第2回目の周期における開放時間の計算例を説明すると、まず、第1回目で第1軸L1~第6軸L6の総移動量が3°で、平均移動量Maveは0.5°となるから、偏差移動量ΔMkは第1軸L1が1.5、第2軸L2が0.5、第3軸L3~第6軸L6がそれぞれ-0.5となり、分配分母係数Dは符号がプラスの第1軸L1と第2軸L2の偏差移動量ΔMkを合計した値2となる。そして、各軸の変化係数Ckは、各軸の偏差移動量ΔMkを分配分母係数Dで除した値に1を加算したものであるから、第1軸L1の変化係数Ckは[1.5/21]=1.75、第5軸L5の変化係数Ckは[-0.5/21]=0.75となる。各軸の可変開放時間Tkvは、可変開放時間の基準時間Tkvに変化係数Ck1を乗じたものであるから、第1軸L1の可変開放時間Tkvは9ms×1.75=15.75ms、第5軸L5の可変開放時間Tkvは9ms×0.75=6.75msとなる。開放時間は、固定開放時間Tkfと可変開放時間Tkvの和であるから、第1軸L1の開放時間は1ms15.75ms=16.75ms、第5軸L5の開放時間は1ms6.75ms=7.75msとなる。このようにして次の1周期における各軸のブレーキ開放時間が求められるのである。このように本実施形態によれば、各軸のブレーキ解除時間開放時間が固定開放時間と前周期の移動量に応じて変わる可変開放時間とを加算した時間として設定されるので、移動量が少ない軸であっても開放時間として固定開放時間だけは確保され、この固定開放時間によって、各軸について毎周期必ず移動可能なブレーキ解除状態が確保される。また、前周期の移動量が多い軸については、次周期でも移動が優先して行えるように、前周期での移動量が多ければ、それだけ長い可変開放時間が設定されるので、現在のティーチングの状況を反映した開放時間とすることができる。特に、本実施形態では、1周期60msの中で、可変開放時間が合計で54msに限定されているという事情下にあって、各軸の可変開放時間の設定に分配分母係数を算出して配分をするようにしている。この分配分母係数は、各軸の移動量から平均移動量を差し引いて求めた各軸の偏差移動量のうち、同符号のものを加算した値であるから、各軸の移動量実績が数~数十という増加量に圧縮されて評価されることになる。このため、前周期での移動量が多い軸に一気に多くの時間が配分されてしまうことを抑制しながら、全軸に適切な時間配分を行うことができる。例えば、図12に示されているように、前周期の移動量が0の軸、例えば、第5軸L5は第1回目、第2回目、第3回目の移動量が0であるが、その軸であっても、次周期の第2回目、第3回目、第4回目では、可変開放時間は0ではなく、6.75ms固定開放時間を併せて7.75msという時間が確保されている。このように、前周期での移動量が多い軸に一気に多くの時間が配分されてしまうことを抑制しながら、全軸に適切な時間配分を行うことから、手先を教示位置の近くまで動作させた後、当該手先の位置を微調整するときのように、各軸を細かく動作させたい場合に、各軸のブレーキ解除時間が適切に確保されて、各軸が容易に動作するようになり、操作性に優れたものとなる。第5の実施例;請求項1,2,4,6図13および図14は本発明の第5の実施形態を示す。この実施形態において、各軸の可変開放時間を求める場合、前周期の平均移動量Maveを求め、各軸の移動量から平均移動量を差し引いて偏差移動量ΔMaveを求めるところまでは第4の実施形態と同様である。第4の実施形態との相違は以下の通りである。つまり、偏差移動量ΔMaveを求めた後、最小の偏差移動量ΔMaveを適宜定めた所定の基準移動量、例えば1°で除し、その値を増加率とする。本実施形態の場合、基準移動量が1°であるから、偏差移動量の値がそのまま増加率となる。そして、各軸の増加率の最小値が-1以上のとき、各軸の増加率に1を加算したものを各軸の変化係数Ckとする。また、各軸の増加率中に-1未満のものがあるときには、最も小さい増加率Msの絶対値の逆数を圧縮係数Pとして算出し、各軸の増加率に圧縮係数を乗じてから1を加算したものを変化係数Ckとする。以上のようにして変化係数を求めた後、可変開放時間の基準時間Tkvに変化係数Ckを乗じたものを今回周期の可変開放時間として設定する以上、第2の可変開放時間設定処理。以上のように、前周期の各軸の移動量に基づいて第n番目の周期の開放時間を設定するための制御の内容を図13を参照しながら説明する。前周期n-1のブレーキ解除サイクルが終了すると、コントローラ3は、前周期の全軸の平均移動量Maveを求めステップG1、続いて各軸の偏差移動量ΔMkを算出するステップG2。そして、コントローラ3は、偏差移動量ΔMkをそのまま増加率としステップ3、その増加率ΔMkの中で最小のものを検索し、最小の増加率Msが予め設定されたしきい値である-1未満であるか否かを判断する。最小の増加率が-1以上である場合ステップG5でNO、コントローラ3は、各軸の増加率ΔMkに1を加算し、その値を各軸の変化係数CkとするステップG6。そして、コントローラ3は、可変開放時間の基準時間Tkvに各軸の変化係数Ckを乗じて各軸の可変開放時間Tkvを算出しステップG7、固定開放時間Tkfに各軸の可変開放時間Tkvを加算して各軸の開放時間Tkとする。最小の増加率が-1未満である場合ステップG5でYES、コントローラ3は、最小の増加率Msの絶対値の逆数を圧縮係数PとしステップG8、各軸の増加率ΔMkに圧縮係数Pを乗じ、その積に1を加算した値を各軸の変化係数CkとするステップG9。そして、コントローラ3は、可変開放時間の基準時間Tkvに各軸の変化係数Ckを乗じて各軸の可変開放時間Tkvを算出しステップG10、固定開放時間Tkfと各軸の可変開放時間Tkvを加算して各軸の開放時間Tkとする。図14はブレーキ解除サイクルの第1回目から第3回目までの各周期について、増加率の最小値が-1以上のときの各軸の移動量と次周期の各軸の開放時間を示したものである。なお、この場合には、圧縮係数の概念を取り入れなくとも良いが、図14には、後述する図15との関係で、圧縮係数1として示した。この図14により、例えば第1軸L1と第5軸L5について、第2回目の周期における開放時間の計算例を説明すると、まず、前周期である第1回目の周期で第1軸L1~第6軸L6の移動量の合計が3°であるから、平均移動量Maveは0.5°となる。偏差移動量ΔMkは、第1軸L1が1.5、第2軸L2が0.5、第3軸L3~第6軸L6がそれぞれ-0.5となる。各軸の偏差移動量ΔMkがそのまま各軸の増加率となるから、その増加率のうち最小のものは-0.5で、-1以上である。そこで、各軸の変化係数Ck1は、各軸の偏差移動量ΔMkに1を加算したものなるから、第1軸L1の変化係数Ckは1.51=2.5、第5軸L5の変化係数Ckは-0.51=0.5となる。各軸の可変開放時間Tkv2は、可変開放時間の基準時間Tkvに変化係数Ck1を乗じたものであるから、第1軸L1の可変開放時間Tkvは9ms×2.5=22.5ms、第5軸L5の可変開放時間Tkvは9ms×0.5=4.5msとなる。開放時間は、固定開放時間Tkfと可変開放時間Tkvの和であるから、第1軸L1の開放時間は1ms22.5ms=23.5ms、第5軸L5の開放時間は1ms4.5ms=5.5msとなる。また、図15はブレーキ解除サイクルの第1回目から第3回目までの各周期について、第2回目と第3回目に増加率の最小値が-1未満となるときの各軸の移動量と次周期の各軸の開放時間を示したものである。この図15により、例えば第1軸L1と第5軸L5について、第3回目の開放時間の計算例を説明すると、まず、前周期である第2回目で軸L1~第6軸L6の総移動量が6.6°で、平均移動量Maveは1.1°となるから、偏差移動量ΔMkは第1軸L1が2.7、第2軸L2が1.7、第3軸L3~第6軸L6がそれぞれ-1.1となる。各軸の偏差移動量ΔMk2がそのまま各軸の増加率となるから、その増加率のうち最小のものΔMsは-1.1で、-1未満である。この増加率の最小のものが-1未満場合には、最小の増加率の絶対値の逆数1/-1.1=0.909091が圧縮係数P2となる。そして、各軸の増加率に圧縮係数を乗じたものに1を加算したものが各軸の変化係数であるから、第1軸L1の変化係数Ckは2.7×0.9090911=3.454547、第5軸L5の変化係数Ckは-1.1×0.9090911=0となる。そして、可変開放時間Tkvは、可変開放時間の基準時間に変化係数Ckを乗じたものであるから、第1軸L1の可変開放時間Tkvは9ms×3.454547=31.090923ms、第5軸L5の可変開放時間Tkvは0となる。開放時間Tkは、固定開放時間Tkfと可変開放時間Tkvの和であるから、第1軸L1の開放時間Tkは1ms31.090923ms=32.090923ms、第5軸L5の開放時間Tkは1ms0ms=1msとなる。このように本実施形態によれば、各軸の増加率のうち、最低の増加率が-1以上である場合、各軸の増加率偏差移動量に同じに1を加算したものを変化係数とし、この変化係数に基準時間を乗じたものを可変開放時間としたので、第4実施例の場合とは異なり、各軸の可変開放時間の設定の際に、該当する軸の前周期での移動量が比較的多いものについて、長い開放時間となるように設定することができる。また、可変開放時間の設定において、基準時間に加算する時間を、該当する軸の偏差移動量にほぼ正比例して多く配分をすることができるので、移動量が多い軸の可変開放時間を早い段階で優先して配分することができ、移動量が多い場合のダイレクトティーチングの作業性を優先させることができる。このため、ダイレクトティーチングの開始当初に、手先を教示位置に向かって大きく動かしたいような場合、その動作に対応して大きく動く軸に対して可変開放時間を多く配分できるようになるので、動かしたい軸を大きく動かして楽に手先を教示位置近くまで移動させることができるようになり、操作性に優れたものとなる。ここで、各軸の偏差移動量をそのまま増加率としたのでは、移動量が非常に少ない軸の偏差移動量が小さくなって当該軸の増加率が-1を下回る場合がある。すると、変化係数の符号がマイナスになり、その結果、可変開放時間の計算値がマイナスになり、固定開放時間と可変開放時間の和として求められる開放時間が、最小限確保すべき固定開放時間1msよりも少ない開放時間、更に言えば開放時間が0となってしまうことがある。このようなことが生じないようにするために、本実施形態では、各軸の増加率のうち、最小のものが-1を下回る場合、各軸の変化係数を算出する際に、その最小の偏差移動量の絶対値の逆数を圧縮係数と定め、各軸の増加率に圧縮係数を乗じてから1を加算するようにした。このため、移動量が非常に少ない軸が移動量の多い軸に対して相対的に偏差移動量が小さくなってその増加率が-1を下回る場合に、圧縮係数を設定することで、移動量の多い軸に可変開放時間が多く配分されることを防止し、以て1周期が一定時間に定められている事情下で、移動量の非常に少ない軸でも最低限の固定開放時間1msだけは確保できる。これにより、移動量の非常に少ない軸であっても、移動できなくなることを抑制しながら、移動量の多い軸に適切に可変開放時間を割り当てることができる。第6の実施形態;請求項1,2,3,5,6図16~図18は本発明の第6の実施形態を示すもので、第4の実施形態との相違は、可変開放時間の算出として、各軸のうちの特定の軸、例えば主軸基本軸としての第1軸L1の移動量が予め設定されたしきい値を超えるときには、第5の実施形態の第2の可変開放時間設定処理を実行するようにしたところにある。さて、作業者によりダイレクトティーチングのモードが設定されると、コントローラ3は、図16に示すダイレクトティーチングの制御プログラムを実行する。この制御プログラムの実行に入ると、まず、コントローラ3は、可変開放時間の設定の処理のために前記第1の可変開放時間設定処理を選択する。このため、第1回目のブレーキ解除サイクルは第4の実施形態の場合と同様に、各軸に与えられる開放時間を10msに設定する。その後、コントローラ3は、第1回目のブレーキ解除サイクルの実行に入り、各軸の回転角度の累計を算出し記憶手段としてのROM13に記憶するステップH2。そして、第1回目のブレーキ解除サイクルが終了すると、コントローラ3は、各軸の移動量を読み出し、そのうち主軸としての第1軸L1の移動量が予め定められたしきい値、例えば3°を超えているか否かを判断するステップH4。しきい値を超えていなければステップH4でNO、コントローラ3は、第1の可変開放時間設定処理により可変開放時間を算出してこの可変開放時間に1msを加算して各軸の開放時間を設定しステップH5、第2回目のブレーキ解除サイクルを実行するステップH7でNO、ステップH2。しきい値を超えていればステップH4でYES、コントローラ3は、前記第2の可変開放時間設定処理により可変開放時間を算出してこの可変開放時間に固定開放時間である1msを加算して各軸の開放時間を設定しステップH6、第2回目のブレーキ解除サイクルを実行するステップH7でNO、ステップH2。以後、上述のように、前周期での第1軸L1の移動量がしきい値を超えているか否かにより、第1の可変開放時間設定処理または第2の可変開放時間設定処理を選択して可変開放時間を算出し、ブレーキ解除サイクルを実行する。図17は第1軸L1の移動量に応じて可変開放時間を第1の可変開放時間設定処理または第2の可変開放時間設定処理により算出して各軸の開放時間を求めた具体例を示す。この図17において、第1回目、第2回目のブレーキ解除サイクルは第1の可変開放時間設定処理によるもの、第3回目、第4回目は第2の可変開放時間設定処理によるもの、第5回目は第1の可変開放時間設定処理によるものの開放時間を示す。図18は上述のようにして算出した第1回目から第5回目までの各軸の開放時間の変化を示すグラフである。このように本実施形態では、前周期での第1軸L1の移動量がしきい値を超えているか否かにより、第1の可変開放時間設定処理または第2の可変開放時間設定処理を選択して可変開放時間を算出する。第1軸L1は、ティーチング時、ロボット2を開始位置から教示位置に向かって動かすような場合に大きく動くが、手先を教示位置近くまで動かして微調整するような場合には小さな動きしかしない。このため、本実施形態によれば、ロボット2を大きく動かしたい場合には、その大きく動いた例えば第1軸L1について、次周期の開放時間も大きな動きにとって必要な長い時間が設定され第2の可変開放時間設定処理、また、手先の位置を微調整するような場合には、ロボット2を大きく動かす場合とは異なり例えば第1軸L1の動きも小さくなって全軸に適切な開放時間を配分することができ第1の開放時間設定処理、総じて、ダイレクトティーチング全体において各軸が容易に動作するようになり、操作性に優れたものとなる。他の実施形態なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、以下のような拡張あるいは変形が可能である。実施形態では、6軸の回転関節軸すべてについて第1軸L1から順次ブレーキ解除の対象としているが、フランジ11に取り付けるエンドエフェクタの種類によっては、第6軸L6を常時ブレーキ解除してもフランジ11部分のアームの落下や不意の移動が無い場合があるので、第1軸L1~第5軸L5をブレーキ解除ステップの対象として複数の軸のモータについて同時にブレーキ解除を行うこともでき、その場合に、作業性の向上を図ることができる。実施形態では、6軸のロボットについて説明したが、6軸に限られない。第2あるいは第3実施形態では、解除軸1変数の値の軸と他の1つの軸をブレーキ解除してブレーキ解除ステップを実行する例を示しているが、直交相当に該当する軸は、3次元的には3軸が対象となりうるので、これを同様の条件を設定して計算により判定し、3軸について同時にブレーキ解除をすることもできる。また、この場合には、直交相当に該当する3軸であるから、ひとつの軸周りの回転操作するときに他のフリーな軸を連動させて回転させるのを防止することができる。各ブレーキ解除ステップにおけるブレーキ解除の時間を任意時間として例えば1msとした場合で示したが、これに限らず、適宜の時間を設定することができる。この場合、6軸L1~L6までを順次ブレーキ解除するので、作業者にとっては、時間を長くすると1軸あたりの移動時間が増える一方で他の軸の自由度が低下するような感覚を受け、時間を短くすると1軸あたりの移動時間が少なくなる一方で全ての軸を速い速度で切り換えることでスムーズにダイレクトティーチングをできるような感覚を受ける。このような性質を考慮して適宜の時間を設定すれば、作業者の主観的な感覚を配慮しつつ作業性をも配慮したティーチングを行うことができる。第2あるいは第3の実施形態では、直交相当の軸の判定を、式1つまり直交角度90°を中心として±45°の範囲を設定したが、これに限らず、直交相当の意味する同時にブレーキ解除しても可能な範囲と判定できる交差角度であれば許容範囲を適宜に設定することができる。尚、この場合に、許容範囲を狭くすると直交に近い範囲に限定的になるので安全性の点で向上し、許容範囲を広くすると自由度を高めてダイレクトティーチングの作業性の点で向上する。また、直交相当の判定の許容角度は、第1軸L1~第6軸L6の軸同士の組み合わせに応じてそれぞれに設定することもできる。組み合わせる軸によっては、許容範囲を広くできる場合もあり、逆に安全性を考慮して狭い方が良い場合もあるからである。各軸L1~L6の移動量は、各アーム6~11の先端の移動距離単位mmで表わすようにしても良い。この場合、第5の実施形態において、最小の偏差移動量ΔMaveを所定の基準移動量で除して増加率を求める場合に、当該基準移動量としては、例えば100mmに定める。第6の実施形態における特定の軸は第1軸L1に限らず、他の主軸である第2軸L2または第3軸L3としても良く、更に、別の軸L4~L6のいずれかであっても良く、要は、手先の位置を大きく変える場合に、その手先の大きな動きに伴って大きく移動する軸であれば良い。第2の実施形態の、ブレーキを解除する回転関節軸の数を支障のない条件の下で増やすこと、つまり、予め定められた順序で設定される解除対象軸よりも順序が後の軸であって当該解除対象軸の現在の姿勢を基準にしてこれと直交相当の軸が存在する場合、この軸を同時解除対象軸として、解除対象軸と同時解除対象軸のブレーキを解除することは、第4の実施形態~第6の実施形態に適用しても良い。第3の実施形態の、解除対象軸よりも順序が後の軸に限られず、順序が前の軸についても解除対象軸と直交相当であるか否かを判定してブレーキ解除を行うことは、第4の実施形態~第6の実施形態に適用しても良い。"