(57)【特許請求の範囲】
【請求項１】
位置、速度の状態フィードバックループを施し関節を駆動するモータの制御回路を有するロボットアームの制御装置において、
前記状態フィードバックループの位置制御、速度制御、積分時間の各ゲインを通常より小さく設定する手段と、
前記モータの動作指令値から加速度と慣性とを算出する手段と、
前記算出された加速度と慣性との積を用いて前記モータの加速トルクを算出する手段と、
前記モータの動作指令値から、あらかじめ求めた速度と動摩擦との関係を用いて、前記モータの速度を維持するための速度維持トルクを算出する手段と、
前記加速トルクと前記速度維持トルクとを加算して前記モータの運動に必要な前向きトルクを算出する手段と、
前記前向きトルクを前記ロボットアームの制御装置のトルク指令に加算する手段とを、有することを特徴とするロボットアームの制御装置。
【請求項２】
位置、速度の状態フィードバックループを施し関節を駆動するモータの制御回路を有するロボットアームの制御装置において、
前記モータの動作指令値から加速度と慣性とを算出する手段と、
前記算出された加速度と慣性との積を用いて前記モータの加速トルクを算出する手段と、
前記モータの動作指令値から、あらかじめ求めた速度と動摩擦との関係を用いて、前記モータの速度を維持するための速度維持トルクを算出する手段と、
前記加速トルクと前記速度維持トルクとを加算して前記モータの運動に必要なトルク加算値を算出する手段と、
前記トルク加算値に所定の幅を与えてトルク制限値を算出する手段と、
前記トルク制限値を用いて、前記ロボットアームのトルク指令を制限する手段とを、有することを特徴とするロボットアームの制御装置。
【請求項３】
前記加速トルクを算出する手段の後段または前記速度維持トルクを算出する手段の後段に、前記モータの動作指令値から算出された前記前向きトルクを用いて、前記ロボットアームの発生トルクのトルク指令に加算する瞬間のトルクと、前記状態フィードバックループで発生するトルクとの時間遅れを補償する手段を有することを特徴とする請求項１記載のロボットアームの制御装置。
【請求項４】
前記加速トルクを算出する手段の後段または前記速度維持トルクを算出する手段の後段に、前記モータの動作指令値から算出された前記トルク制限値を用いて、前記ロボットアームのトルク指令を制限する瞬間のトルクと、前記状態フィードバックループで発生するトルクとの時間遅れを補償する手段を有することを特徴とする請求項２記載のロボットアームの制御装置。
【請求項５】
ロボットの教示モードにのみ、前記状態フィードバックループの位置制御、速度制御、積分時間の各ゲインを通常より小さく設定する手段と、
前記前向きトルクを前記ロボットアームの制御装置のトルク指令に加算する手段とを、有効にする手段を有することを特徴とする請求項１または請求項３記載のロボットアームの制御装置。
【請求項６】
前記ロボットアームの教示モードにのみ、前記トルク制限値を用いて、前記ロボットアームのトルク指令を制限する手段を有効にする手段を有することを特徴とする請求項２または請求項４記載のロボットアームの制御装置。
【請求項７】
前記ロボットアームの各関節に作用する重力トルクを算出する手段と、
前記状態フィードバックループの位置速度フィードバック制御系で前記重力トルクを補償する手段とを、有することを特徴とする請求項１から請求項６の何れか１項に記載のロボットアームの制御装置。
【請求項８】
前記モータに付属する位置検出器のデータを教示データとして記憶する手段を有することを特徴とする請求項１から請求項７の何れか１項に記載のロボットアームの制御装置。
【請求項９】
前記ロボットアームに付属する力センサと該力センサに付属する操作用ハンドルを有し、前記力センサの信号から前記ロボットアームの運動指令を生成する直接教示形ロボットで用いられる請求項１から請求項８の何れか１項に記載のロボットアームの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はロボットに用いられるモータの制御系において、ロボットアームが周辺物体に衝突した場合のロボットアーム本体やツール、ワークの保護、あるいはロボットアームがオペレータに接触した場合の安全を確保することが可能なロボットアームの制御装置に関する。
【０００２】
【従来の技術】
従来のロボットアームを駆動するモータのサーボ系では、位置フィードバックと速度フィードバックを施し、指令との差であるサーボ偏差を増幅し、その増幅ゲインをできるだけ高くとることにより制御を行っている。
図１０にロボットの従来の運動制御のブロック図を示す。図で１００は軌道発生ブロックであり、１０２のティーチペンダントのＪＯＧキー入力から、あるいは１０３のメモリのデータからモータの運動の指令を生成する。メモリにはあらかじめ教示された位置、速度等のデータが保存されている。１０２あるいは１０３のデータをもとに、１０４の軌道生成部で生成された軌道データは座標変換が施され、モータの回転指令として各関節の運動制御ブロック１０１へ送られる。
【０００３】
運動制御ブロック１０１はモータのサーボ系であり、ロボットの駆動系を構成しているモータの数だけ存在する。図１１では運動制御ブロックを更に詳しく示している。ここでは、１軸のサーボ系のみを記載しているが他のモータ軸に関しても同様の構成である。図１１では各関節で位置制御系を構成する場合の例を示している。図でＫｐは位置制御ゲイン、Ｋｖは速度制御ゲイン、Ｔｉは積分器の時定数である。
【０００４】
通常、位置制御ループと速度制御ループのゲインを高めに、積分時定数は短めに設定することにより位置の指令値に対してモータの追従性を良くする。また、ゲインを高くとることで、同時にトルク外乱の影響を受けにくい構成となっている。ここで、トルク外乱とはロボットアームに作用する重力や減速器の摩擦、その他、ロボットアームに作用する外力などである。
【０００５】
【発明が解決しようとする課題】
従来の制御手法では指令値と現在値の差、すなわち制御偏差によりモータのトルクが発生する。制御偏差は通常、ロボットアームの慣性や制御装置の応答遅れなどサーボの追従遅れによるものと、トルク外乱により発生する。
ロボットを希望する位置や方向に動かす場合は、動作指令に対してはロボットは高速に追従することが望ましい。ところが、ロボットが運動中、周辺の物体に衝突したり、人間に接触した場合には、ロボットは運動の指令に追従する事なく、対象物体に出来るだけ柔らかく接触し、運動を停止する事が望ましい。
【０００６】
ところが，従来の制御系では指令値応答、外乱応答ともに区別することなく、制御偏差が発生すれば、制御偏差量、もしくは偏差の過去の積算値、に比例したトルクをモータにより発生していた。
そのため、教示中に誤ってロボットを周辺の物体やワークに衝突させた場合には、教示ツールが変形する、さらにはロボット自体が破損するなどの不都合を起こしていた。ロボットが破損することは重大な問題であるが、教示ツ−ルが変形することで、過去の教示データが使用不能になったり、教示データを変形ツールに合わせて変更するなどめんどうな手続きが必要であるという問題があった。
【０００７】
また、さらに重大な問題として教示者の安全面での課題があった。教示中はロボットの先端の微妙な位置決めを行う必要があるため教示者はロボットの近傍で作業を行うことが多い。従って、教示中に誤って教示者自身の体にロボットアームをぶつけてしまう。あるいは、ロボットアームと周辺ワークの間に腕などを挟む等の危険性がある。これは、複雑なワーク、たとえば自動車の車体フレーム内に教示者が入り、微妙な位置決めなど行う場合、ロボット動作速度の選択、ロボット動作方向のＪＯＧキーを押し間違う等の危険はつねに存在しており、教示時の制御上の安全性は従来のロボット制御装置としては備えていなかった。
【０００８】
そこで本発明の目的は、予期せぬ外乱力がロボットに作用した場合には、ロボットが柔軟に動くことで、操作者の安全確保、あるいはロボットや周辺機器の破損防止のためのロボットアームの制御装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明のロボットアームの制御装置は、
位置、速度の状態フィードバックループを施し関節を駆動するモータの制御回路を有するロボットアームの制御装置において、
状態フィードバックループの位置制御、速度制御、積分時間の各ゲインを通常より小さく設定する手段と、モータの動作指令値から加速度と慣性とを算出する手段と、算出された加速度と慣性との積を用いてモータの加速トルクを算出する手段と、モータの動作指令値から、あらかじめ求めた速度と動摩擦との関係を用いて、モータの速度を維持するための速度維持トルクを算出する手段と、加速トルクと速度維持トルクとを加算してモータの運動に必要な前向きトルクを算出する手段と、前向きトルクをロボットアームの制御装置のトルク指令に加算する手段とを、有する。
【００１０】
また、状態フィードバックループの位置制御、速度制御、積分時間の各ゲインを通常より小さく設定する手段と、モータの動作指令値から加速度と慣性とを算出する手段と、算出された加速度と慣性との積を用いてモータの加速トルクを算出する手段と、モータの動作指令値から、あらかじめ求めた速度と動摩擦との関係を用いて、モータの速度を維持するための速度維持トルクを算出する手段と、加速トルクと速度維持トルクとを加算してモータの運動に必要なトルク加算値を算出する手段と、トルク加算値に所定の幅を与えてトルク制限値を算出する手段と、トルク制限値を用いて、ロボットアームのトルク指令を制限する手段とを、有してもよい。
【００１１】
即ち、ロボットの運動のための駆動トルクをモータの運動指令から求め、前向きトルクとしてフィードバック制御系の指令トルクに加算し、フィードバック制御系のゲインを小さく設定することにより、または駆動トルクの情報をもとにフィードバック制御系の指令トルクを制限することにより、予期せぬ外乱力がロボットに作用した場合には、ロボットが柔軟に動くことで、操作者の安全確保、あるいはロボットや周辺機器の破損防止ができる。
【００１２】
また、加速トルクを算出する手段の後段または速度維持トルクを算出する手段の後段に、モータの動作指令値から算出された前向きトルクを用いて、ロボットアームの発生トルクのトルク指令に加算する瞬間のトルクと、状態フィードバックループで発生するトルクとの時間遅れを補償する手段を有してもよい。
また、加速トルクを算出する手段の後段または速度維持トルクを算出する手段の後段に、モータの動作指令値から算出されたトルク制限値を用いて、ロボットアームのトルク指令を制限する瞬間のトルクと、状態フィードバックループで発生するトルクとの時間遅れを補償する手段を有してもよい。
【００１３】
また、ロボットの教示モードにのみ、状態フィードバックループの位置制御、速度制御、積分時間の各ゲインを通常より小さく設定する手段と、前向きトルクをロボットアームの制御装置のトルク指令に加算する手段とを、有効にする手段を有してもよい。
また、ロボットアームの教示モードにのみ、トルク制限値を用いて、ロボットアームのトルク指令を制限する手段を有効にする手段を有してもよい。
【００１４】
即ち、プレイバック時には指令値に対して厳密な位置決めを要求されることが多いため、プレイバック時には通常の制御を使用し、ロボットの教示モードにのみ発生トルクの制限機能等を有効にすることができる。
また、ロボットアームの各関節に作用する重力トルクを算出する手段と、状態フィードバックループの位置速度フィードバック制御系で重力トルクを補償する手段とを、有してもよい。
【００１５】
また、モータに付属する位置検出器のデータを教示データとして記憶する手段を有してもよい。
即ち、トルク制限値によりモータの発生トルクが制限された場合等、指令値とモータの現在値が異なることがおこりうる。ティーチ状態では、教示者が意図する現在値、すなわち、モータに付属する位置検出器のデータを記億することができる。
【００１６】
また、ロボットアームに付属する力センサと力センサに付属する操作用ハンドルを有し、力センサの信号からロボットアームの運動指令を生成する直接教示形ロボットで用いられてもよい。
即ち、ロボットの直接教示では教示者がロボットの近傍で教示を行うことになる。そのような直接教示の状態で上述の手段を用いることにより、操作者の安全を格段に向上させることができる。
【００１７】
【発明の実施の形態】
（本発明の第１の実施の形態）
はじめに、本発明の作用をティーチペンダントで教示を行う場合を例にとり説明を行う。
図１を用い、ティーチペンダントによる教示に本発明を適用した例に関して説明を行う。ティーチペンダント上にはＪＯＧキー１２と呼ばれる、ロボット誘導の動作ボタンが配置されている。ＪＯＧキー１２を押すと、その時に選択されている座標系と速度に応じて、押下するＪＯＧキー１２で示される方向にロボットが動作することになる。
【００１８】
その時の信号の流れは、ＪＯＧキー１２が押されるとその方向と大きさの情報が軌道生成部に入力される。軌道生成部１４では現在のロボットの指令に対して、指定座標系から基準座標系に変換された増分値が加算され新たなロボットの位置指令が生成される。基準座標系は通常ロボットのベースを中心とした直交座標系で表現されるため、動作指令値は実際のロボットの動作を行うためにロボットの関節座標系に変換され、モータのサーボ系の指令値となる。
【００１９】
各モータの制御を行うサーボ系では、例えば図２のブロック図で示されるような処理が行われる。図で、位置指令信号は２つのブロックの処理系に信号が分かれる。１つのブロックは通常のモータの位置、速度制御系２０１であり、もう１つは本発明で付加される制御系の処理系２０２のブロックである。２０１の処理系では位置制御および速度制御が施される。位置制御では比例制御、速度制御系では比例積分制御などが用いられることが一般的である。
【００２０】
図２で示す２０２の制御系は、運動に必要となるトルクを算出する部分である。通常のロボットの運動で必要となるトルクは、ロボットアームと口ボットの先端負荷の両者を加速するトルク、運動状態で速度を維持するためのトルクの２種類である。２０３は加速トルクの演算を行うブロック、２０４は速度を維持するためのトルクの演算を行うブロックを示している。
【００２１】
２０３のブロックでは慣性と加速度の積から必要となるトルクが算出される。慣性の情報は、以下のいずれかの方法により求められる。
１）ロボットの関節の動きに応じて変動する値を演算により求める。
２）適応オブザーバなどのパラメータ同定手法を用いて推定する。
３）代表的な慣性の値を用いる。例えば常に一定の値を用いる、あるいは変位に応じてテーブルから値を引く。
【００２２】
図２では１）の場合の例を示している。
２０４のブロックでは速度を維持するためのトルクが算出される。速度トルクはほぼ動摩擦の値に等しい。従って、あらかじめ求めた速度と摩擦の関係を用いて、現在の速度から必要なトルクを求めることができる。
２０３と２０４のブロックで算出されたトルクの加算値はロボットが運動を行うトルクとほぼ等しい値である。計算結果はトルクのフィードフォワード値としてメインループ（ブロック２０１）のトルク指令部分に加算される。また、位置速度制御の制御ゲインは物体に衝突した場合を考慮して、通常の制御に設定される値よりもかなり小さい値が設定される。また、速度制御系の積分時定数は非常に大きく、あるいは機能そのものをなくすことで、時間とともに発生トルクが大きくなりロボットが大きな力で押しつけるなどのこともなくなる。ここで、位置速度フィードバックのゲインは小さいながら機能を残すことで、通常の運動状態（ロボットアームが外部環境に接触や衝突を起こしていない状態）でロボットアームのスムーズな運動が行われる。
【００２３】
また、ロボットアームが外部環境に接触などを起こした場合には、位置速度制御系のループゲインが低く設定されているため、制御偏差が発生しても大きなトルクを発生する事はない。たとえば教示者の体の一部が挟まれる様なことがおこっても、人間の力でロボットを動かすことができる。
これらの関係を図３、図４、図５を用いてさらに詳しく説明する。図３はロボットの１つの関節の運動に着目した場合である。関節３０１は図３（ａ）で示されるような加速、定速、減速の運動指令が与えられるものとする。図４は図２のブロック図上の部分の信号を表している。図４（ｂ）は図２の信号２１０、（ｃ）は図２での信号２１１を表している。また、（ｄ）は２０２のブロックで発生するトルクと、フィードバックループの偏差を要因として発生するトルクの合計値（信号２１２）を表す。
【００２４】
図３（ａ）で示される様に関節３０１が特に障害なく運動する場合は図４（ｄ）の太線で表されるようなトルクが発生し、図４（ａ）の指令速度とほぼ一致した運動を行う。ところが、図４（ｂ）の様に、途中で障害物に衝突したような場合は、接触した後、特別大きなトルクを発生することなく障害物により運動を停止する。図５に本発明による発生トルクと従来の方式による発生トルクを示す。従来の方式では、可能な限りのトルクを発生し、その後、ロボットコントローラの過負荷検出機能で異常停止を行う。
【００２５】
以下では教示作業を例にとり、さらに具体的に説明する。
教示中は教示者はロボットの運動を見ながら教示作業を行うため、教示者がロボットが周辺の物体に接触をしたと判断した場合には，教示者はＪＯＧキーから指を離すことになる。ＪＯＧキーを離した時には指令の発生が停止する。するとトルク指令は加速トルク、速度維持トルクがなくなるため２０２の制御ブロックからの出力は大きく制限され、モータの発生トルク、すなわち外部からの作用力に抗する力は非常に弱いものになる。
【００２６】
また、仮に物体との衝突の瞬間に教示者が気づかなかった場合でも、教示者はＪＯＧキーを押し続けることになるが、速度を維持するためのトルクと十分小さなゲインで抑えられたフィードバックトルクの加算値が発生トルクであるため衝撃は十分小さいものになる。
ＪＯＧキーを離した状態ではロボットの発生トルクは非常に小さく抑えられているため人間の力で容易にロボットを動かすことができる。例えば、操作ミスにより教示時に操作者の腕がロボットとワークの間に挟まれる事態が発生するようなことがあった場合、操作者は反射的にＪＯＧキーを離すことになる。ＪＯＧキーが離されるとロボットは直ちに運動を停止する。停止後は操作者の腕の力でロボットを動かすことができるため、被害を最小限に抑えることができる（図５（ａ））。
【００２７】
このような緊急事態の場合、従来では操作者自身、または共同作業者が非常停止ボタンを押すか、図５（ｂ）でホすように、モータが過負荷状態になって非常停止が作用するまでロボットは力を発生し続けることになる。非常停止が働くと、モータの供給電源は遮断されると共に、ブレーキが作動しロボットは運動を停止することになる。ところが、ブレーキが作動するとロボットは機械的にロックされた状態になり、挟みこまれた教示者はもはや自力では脱出できないことになる。本発明では以上のような問題を発生しない。
【００２８】
重力方向に動くロボットでは重力トルクは２０７で示される補償演算をもとにメインループで補償されるため、位置速度フィードバック制御のゲインを小さく抑えることにより、メインループの発生トルクが小さくなっても、ロボットアームが重力で落下するなどのことはない。
動作指令とサーボ系のトルク発生時間のずれは、口ボットの加速トルクの算出手段の後段あるいは速度維持トルクの算出手段の後段に時間遅れを補償するフィルタを挿入することで吸収することができる。フイルタは一般的な１次遅れフィルタや２次遅れフィルタにより調整する事が可能である。
【００２９】
以上の説明はティーチペンダントで教示を行う場合を例にとって説明をおこなったが、プレイバックの状態でも当然用いることができる。プレイバック時には教示ペンダントのかわりにメモリ１３から軌道生成ブロックにデータの情報が払い出される。メモリ１３にはあらかじめ教示されたロボットの位置、姿勢の情報が保存されている。
【００３０】
さて、ブロック２０２の前向きトルク（信号２１１）が望ましい運動を行うトルクからずれが生ずる場合がある。ある程度の運動のずれはフィードバックループにより補償されるが、先端の負荷の質量などの情報が正確に得られない場合などに運動指令に対する誤差が生ずる可能性がある。したがって、指令通りの正確な運動が必要とされるプレイバック動作では制御ブロック２０２を用いず、教示モードでのみ２０２のブロックが機能するよう切り替えることができる。図１では１５の切替スイッチがこの部分の働きを行う。
【００３１】
教示モードにおいても負荷の変動等、必ずしも指令通りにロボットの動きが行われない場合が起こり得る。このような場合、エンコーダなど、現在のロボットの関節の変位量を教示データとしてメモリ２０８に保存することで、教示者の意図したポイントの位置及び姿勢が登録される。
また、本発明はロボットに力センサを取け付け、操作者が加える力を計測しロボットを誘導するタイプの、いわゆるダイレクトティーチングのロボットにも適用が可能であり、教示者の安全を確保する上で有効に作用する。ダイレクトティーチではロボット近傍での作業となるため、本発明は特に有効に作用する。
【００３２】
（本発明の第２の実施の形態）
はじめに、本発明の作用をティーチペンダントで教示を行う場合を例にとり説明を行う。
図６を用い、ティーチペンダントによる教示に本発明を適用した例に関して説明を行う。ティーチペンダント上にはＪＯＧキー６１と呼ばれる、ロボット誘導の動作ボタンが配置されている。ＪＯＧキー６２を押すと、その時に選択されている座標系と速度に応じて、押下するＪＯＧキー６２で示される方向にロボットが動作することになる。
【００３３】
その時の信号の流れは、ＪＯＧキー６２が押されるとその方向と大きさの情報が軌道生成部に入力される。軌道生成部６４では現在のロボットの指令に対して、指定座標系から基準座標系に変換された増分値が加算され新たなロボットの位置指令が生成される。基準座標系は通常ロボットのベースを中心とした直交座標系で表現されるため、動作指令値は実際のロボットの動作を行うためにロボットの関節座標系に変換され、モータのサーボ系の指令値となる。
【００３４】
各モータの制御を行うサーボ系では、例えば図７のブロック図で示されるような処理が行われる。図で、位置指令信号は２つのブロックの処理系に信号が分かれる。１つのブロックは通常のモータの位置、速度制御系７０１であり、もう１つは本発明で付加される制御系の処理系７０２のブロックである。７０１の処理系では位置制御および速度制御が施される。位置制御では比例制御、速度制御系では比例積分制御などが用いられることが一般的である。
【００３５】
図７で示す７０２の制御系は、運動に必要となるトルクをもとにトルク制限値を算出する部分である。通常のロボットの運動で必要となるトルクは、ロボットアームと口ボットの先端負荷の両者を加速するトルク、運動状態で速度を維持するためのトルクの２種類である。７０３は加速トルクの演算を行うブロック、７０４は速度を維持するためのトルクの演算を行うブロックを示している。
【００３６】
７０３のブロックでは慣性と加速度の積から必要となるトルクが算出される。慣性の情報は、以下のいずれかの方法により求められる。
１）ロボットの関節の動きに応じて変動する値を演算により求める。
２）適応オブザーバなどのパラメータ同定手法を用いて推定する。
３）代表的な慣性の値を用いる。例えば常に一定の値を用いる、あるいは変位に応じてテーブルから値を引く。
【００３７】
図７では１）の場合の例を示している。
７０４のブロックでは速度を維持するためのトルクが算出される。速度トルクはほぼ動摩擦の値に等しい。従って、あらかじめ求めた速度と摩擦の関係を用いて、現在の速度から必要なトルクを求めることができる。
７０３と７０４のブロックで算出されたトルクの加算値はロボットが運動を行うトルクとほぼ等しい値である。計算結果は７０６のトルク制限値演算ブロックへ入力される。ここでは、前段の演算をもとにメインブロック７０１で発生するトルクの制限値を演算する。ここでは、制限値は前段で演算された値に適度な幅を設けることにより求めている。幅を設ける理由は、一つは、指令トルクと発生トルクが必ずしも一致していないことがあるため、その誤差を吸収することであり、また、他の理由としては時間的な発生トルクのずれを吸収することである。時間的なずれの補償とは，指令値により発生トルクを演算した瞬間のトルクとメインループ７０１で発生するトルクが時間的なずれを生ずる可能性があり、その誤差をトルクの制限の幅で吸収することである。
【００３８】
このようなトルク制限を設けることによる物理的な作用の説明を次に行う。７０１の制御系のメインループではロボットに外部からの力が作用した場合、位置偏差と速度偏差が発生する。位置偏差は定数倍され速度指令となり速度偏差は比例積分制御され、その出力はモータのトルク指令となる。ロボットに特別の外力が作用しない場合、モータで発生すべきトルクは加速トルク、速度トルクである。  通常の動作でロボットが運動するためには上述の加速、速度のトルクを発生すれば良い。ところが、ロボットに外部から力が作用する（またはロボット自身が外部に接触する）場合には、外力によりロボットが動作し、前述の制御偏差が発生することになる。従って、その時の指令トルクはブロック７０２で演算を行ったトルクの制限域から逸脱したものになる。制限がなければ、その運動に必要な可能な限りのトルクが発生することになる。
【００３９】
適度に制限された場合には制限内のトルクが発生し、外部からの力により偏差をゆるす、すなわちロボットが外力により動くことになる。
これらの関係を図３、図８、図９を用いてさらに詳しく説明する。図３はロボットの１つの関節の運動に着目した場合である。関節３０１は図３（ａ）で示されるような加速、定速、減速の運動指令が与えられるものとする。図８は図７のブロック図上の部分の信号を表している。図８で（ｂ）は図７の信号７１０、（ｃ）は図７での信号７１１を表している。また、（ｄ）の細線はトルク制限ブロックでのトルク制限の上限値と下限値を表わしている。
【００４０】
図３（ａ）で示される様に関節３０１が特に障害なく運動する場合は図８（ｄ）の太線で表されるようなトルクが発生し、図３（ａ）の指令速度とほぼ一致した運動を行う。ところが、図３（ｂ）の様に、途中で障害物に衝突したような場合は、接触した後、７０７のトルク制限部により発生トルクが抑えられるため、上限トルク以上のトルクを発生することなく障害物により運動を停止する。停止したあとのトルクも制限器により小さく抑えられているため、障害物に作用する力も小さいものになる。図９に本発明による発生トルクと従来の方式による発生トルクを示す。従来の方式では、可能な限りのトルクを発生し、その後、ロボットコントローラの過負荷検出機能で異常停止を行う。
【００４１】
以下では教示作業を例にとり、さらに具体的に説明する。
教示中は教示者はロボットの運動を見ながら教示作業を行うため、教示者がロボットが周辺の物体に接触をしたと判断した場合には，教示者はＪＯＧキーから指を離すことになる。ＪＯＧキーを離した時には指令の発生が停止する。するとトルク指令は加速トルク、速度維持トルクがなくなるためトルク制限ブロックからの出力は大きく制限され、モータの発生トルク、すなわち外部からの作用力に抗する力は非常に弱いものになる。
【００４２】
また、仮に物体との衝突の瞬間に教示者が気づかなかった場合でも、教示者はＪＯＧキーを押し続けることになるが、トルク制限ブロックにより速度を維持するためのトルクのみが発生トルクであるため衝撃は十分小さいものになる。
ＪＯＧキーを離した状態ではロボットの発生トルクは非常に小さく抑えられているため人間の力で容易にロボットを動かすことができる。例えば、操作ミスにより教示時に操作者の腕がロボットとワークの間に挟まれる事態が発生するようなことがあった場合、操作者は反射的にＪＯＧキーを離すことになる。ＪＯＧキーが離されるとロボットは直ちに運動を停止する。停止後は操作者の腕の力でロボットを動かすことができるため、被害を最小限に抑えることができる（図９（ａ））。
【００４３】
このような緊急事態の場合、従来では操作者自身、または共同作業者が非常停止ボタンを押すか、図９（ｂ）でホすように、モータが過負荷状態になって非常停止が作用するまでロボットは力を発生し続けることになる。非常停止が働くと、モータの供給電源は遮断されると共に、ブレーキが作動しロボットは運動を停止することになる。ところが、ブレーキが作動するとロボットは機械的にロックされた状態になり、挟みこまれた教示者はもはや自力では脱出できないことになる。本発明では以上のような問題を発生しない。
【００４４】
重力方向に動くロボットでは重力トルクは７０８で示される補償演算をもとにメインループで補償されるため、７０７のトルク制限ブロックによりメインループのトルクが小さく抑えられた場合でも、ロボットアームが重力で落下するなどのことはない。
メインループでの指令トルクとトルク制限の時間的ずれは、前述のトルク制限演算に幅を持たせることで吸収することもできるが、演算ブロックの出力に時間遅れを補償するフィルタ７０５を挿入することで吸収することができる。フイルタは一般的な１次遅れフィルタや２次遅れフィルタにより調整することが可能である。
【００４５】
以上の説明はティーチペンダントで教示を行う場合を例にとって説明をおこなったが、プレイバックの状態でも当然用いることができる。プレイバック時には教示ペンダントのかわりにメモリ６３から軌道生成ブロックにデータの情報が払い出される。メモリ６３にはあらかじめ教示されたロボットの位置、姿勢の情報が保存されている。
【００４６】
さて、ブロック７０６で演算された制限値がロボットの運動で必要となるトルクからずれが生ずることがありうる。このような状態は先端の負荷の質量などの情報が得られない場合などに起こり得る。したがって、指令通りの正確な運動が必要とされるプレイバック動作では制御ブロック７０２を用いず、教示モードでのみ７０２のブロックが機能するよう切り替えることができる。図６では６５の切替スイッチがこの部分の働きを行う。
【００４７】
教示モードにおいても負荷の変動等、必ずしも指令通りにロボットの動きが行われない場合が起こり得る。このような場合、エンコーダなど、現在のロボットの関節の変位量を教示データとしてメモリ７０９に保存することで、教示者の意図したポイントの位置及び姿勢が登録される。
また、本発明はロボットに力センサを取け付け、操作者が加える力を計測しロボットを誘導するタイプの、いわゆるダイレクトティーチングのロボットにも適用が可能であり、教示者の安全を確保する上で有効に作用する。ダイレクトティーチではロボット近傍での作業となるため、本発明は特に有効に作用する。
【００４８】
【発明の効果】
以上説明したように、従来のロボットのモータの制御系に動作指令から生成される新たなブロックをつけ加え、ロボットの運動のためのトルクをトルク指令に加算し、フィードバックループの制御ゲインを通常の制御より小さな値に設定することによって、
ロボットの運動中にロボットが外部環境に衝突する、あるいはロボットアームに外部の機械が衝突するなどした場合、ロボットが柔軟に変形することで、ロボットやワークあるいは外部の機械の損傷がなくなる。また、教示中の操作者の安全が守られるなど、従来のロボットでは実現が不可能であった安全な制御機能が可能となる。
【００４９】
さらに、運動トルク演算ブロックの後段に時間遅れ補償フィルターを挿入することにより、動作指令とサーボ系のトルク発生時間のずれの調整が可能となる。
さらに、重力が作用する多関節ロボットでもメインとなる位置、速度制御ループのトルク指令部分に重力補償を付加することにより、フィートバック制御系のゲインが小さな制御が行われていても重力によりロボットのアームが落下することなど起こらない。
【００５０】
さらに、教示モードでのみ前向きトルクの加算を行い、フィードバック制御のゲインを小さくする機能を有効にすることで、プレイバック時には正確な位置ぎめ機能を有効にし、教示モードでは安全な教示作業を実行することができる。
さらに、教示時にはロボットアームの変位の計測値を教示の値としてメモリに記憶することで、前向きトルクに多少のずれが生じてロボットに指令通りの応答ができなかった場合でも、目的とする位置や姿勢の登録、すなわち教示ができる。
【００５１】
さらに、力センサフィードバックを用いたダイレクト教示に関しても適用が可能であり、操作者の安全を格段に向上させることができる。
また、従来のロボットのモータの制御系に動作指令から生成される新たなブロックをつけ加え、ロボットの関節を駆動するモータの発生トルクを制限することで、
ロボットの運転中にロボットが外部環境に衝突する、あるいはロボットアームに外部の機械が衝突するなどした場合、ロボットが柔軟に変形することで、ロボットやワークあるいは外部の機械の損傷がなくなる。また、教示中の操作者の安全が守られるなど、従来のロボットでは実現が不可能であった安全な制御機能が可能となる。
【００５２】
さらに、運動トルク演算の後段に時間遅れ補償フィルターを挿入することにより、指令値から生成されるトルク制限値の時間遅れの調整が可能となる。
さらに、重力が作用する多関節ロボットでも、位置、速度制御ループのトルク指令部分に重力補償を付加することにより、トルク制限が行われていても重力によりロボットのアームが落下することなど起こらない。
【００５３】
さらに、教示モードでのみトルク制限ブロックの機能を有効にすることで、プレイバック時には正確な位置ぎめ機能を有効にし、教示モードでは安全な教示作業を実行することができる。
さらに、教示時にはロボットアームの変位の計測値を教示の値としてメモリに記憶することで、制限値に多少のずれが生じてロボットに指令通りの応答ができなかった場合でも、目的とする位置や姿勢の登録、すなわち教示ができる。
【００５４】
さらに、力センサフィードバックを用いたダイレクト教示に関しても適用が可能であり、操作者の安全を格段に向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の装置の概略の信号の流れを示すブロック図である。
【図２】本発明の第１の実施の形態のモータのサーボ制御部を示すブロック図である。
【図３】本発明の作用を示すための一軸アームの運動例を示す図である。
【図４】本発明の第１の実施の形態のモータのサーボ制御部の作用を示す図である。
【図５】本発明の第１の実施の形態のモータのサーボ制御部の作用の効果を示す図である。
【図６】本発明の第２の実施の形態の装置の概略の信号の流れを示すブロック図である。
【図７】本発明の第２の実施の形態のモータのサーボ制御部を示すブロック図である。
【図８】本発明の第２の実施の形態のモータのサーボ制御部の作用を示す図である。
【図９】本発明の第２の実施の形態のモータのサーボ制御部の作用の効果を示す図である。
【図１０】従来の装置の概略の信号の流れを示すブロック図である。
【図１１】従来のモータのサーボ制御部を示すブロック図である。
【図１】
0003752758.tif 000002
【図２】
0003752758.tif 000003
【図３】
0003752758.tif 000004
【図４】
0003752758.tif 000005
【図５】
0003752758.tif 000006
【図６】
0003752758.tif 000007
【図７】
0003752758.tif 000008
【図８】
0003752758.tif 000009
【図９】
0003752758.tif 000010
【図１０】
0003752758.tif 000011
【図１１】
0003752758.tif 000012