JPH0871969A - ロボットの位置教示方法 - Google Patents
ロボットの位置教示方法Info
- Publication number
- JPH0871969A JPH0871969A JP6232479A JP23247994A JPH0871969A JP H0871969 A JPH0871969 A JP H0871969A JP 6232479 A JP6232479 A JP 6232479A JP 23247994 A JP23247994 A JP 23247994A JP H0871969 A JPH0871969 A JP H0871969A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- teaching
- control
- soft floating
- axis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Control Of Position Or Direction (AREA)
Abstract
(57)【要約】
【目的】 ソフトフローティングサーボ制御を利用して
位置教示作業の簡略化と高精度化を図ること。 【構成】 溶接対象部材W1 ,W2 からなるワークW
は、アームAM先端に装着されたハンドHで把持され
る。ロボットを(1)に示した初期位置から溶接ガンG
1 ,G2 に接近させ、(2)の状態とする。この状態へ
のロボット移動は、粗い位置教示後の再生運転、ジョグ
送りを適宜組み合わせて行う。この状態ではツール先端
点W0 の位置P0 は、最適の教示位置Q0 とは少量ずれ
ている。次いで、動作プログラムあるいは教示操作盤か
らの入力により、ソフトフローティングサーボ制御を開
始させ、更に、溶接ガンG1 ,G2 の閉成動作を開始す
る。溶接ガンG1 ,G2 は(3)に示したように、ワー
クWに接触してワークW、ハンドHを介してロボットに
力を及ぼす。ロボットは、この反力に抗しきれずに、矢
印ARで示した移動を開始し、図9(4)の状態(閉成
完了)に至る。この状態で、位置教示を実行する。位置
教示は、P0 の位置データの修正または新規位置データ
の書込によって実行される。
位置教示作業の簡略化と高精度化を図ること。 【構成】 溶接対象部材W1 ,W2 からなるワークW
は、アームAM先端に装着されたハンドHで把持され
る。ロボットを(1)に示した初期位置から溶接ガンG
1 ,G2 に接近させ、(2)の状態とする。この状態へ
のロボット移動は、粗い位置教示後の再生運転、ジョグ
送りを適宜組み合わせて行う。この状態ではツール先端
点W0 の位置P0 は、最適の教示位置Q0 とは少量ずれ
ている。次いで、動作プログラムあるいは教示操作盤か
らの入力により、ソフトフローティングサーボ制御を開
始させ、更に、溶接ガンG1 ,G2 の閉成動作を開始す
る。溶接ガンG1 ,G2 は(3)に示したように、ワー
クWに接触してワークW、ハンドHを介してロボットに
力を及ぼす。ロボットは、この反力に抗しきれずに、矢
印ARで示した移動を開始し、図9(4)の状態(閉成
完了)に至る。この状態で、位置教示を実行する。位置
教示は、P0 の位置データの修正または新規位置データ
の書込によって実行される。
Description
【0001】
【産業上の利用分野】本願発明は、産業用ロボット(以
下、単に「ロボット」と言う。)に位置教示を行なう為
の技術に関し、更に詳しく言えば、位置ずれ時に外力が
加わる環境にある教示位置に関するロボットの位置教示
を簡便且つ正確に行えるようにする為の技術に関する。
下、単に「ロボット」と言う。)に位置教示を行なう為
の技術に関し、更に詳しく言えば、位置ずれ時に外力が
加わる環境にある教示位置に関するロボットの位置教示
を簡便且つ正確に行えるようにする為の技術に関する。
【0002】
【従来の技術】ロボットに位置教示を行なう為に最も一
般的に用いられている方法は、ティーチング・プレイバ
ック方式と呼ばれている。この方法によれば、実際の作
業環境に出来るだけ近い状況の下で、ツール先端点が作
業実行時にとるべき位置(姿勢も含む。以下、同様。)
に来るようにロボットの実機が操作され、その時のロボ
ット位置(ツール先端点の位置)がロボットに教示され
る。このような教示点は所望されるロボット経路に沿っ
て、複数個指定されるのが通常である。
般的に用いられている方法は、ティーチング・プレイバ
ック方式と呼ばれている。この方法によれば、実際の作
業環境に出来るだけ近い状況の下で、ツール先端点が作
業実行時にとるべき位置(姿勢も含む。以下、同様。)
に来るようにロボットの実機が操作され、その時のロボ
ット位置(ツール先端点の位置)がロボットに教示され
る。このような教示点は所望されるロボット経路に沿っ
て、複数個指定されるのが通常である。
【0003】従来より、上記方式による教示時における
ロボットの操作は、いわゆるジョグ送りによって実行さ
れている。このジョグ送りによる教示作業には高度の熟
練と多くの作業時間が要求されることが通常であった。
即ち、正確な教示を行なう為には、ツール先端点の位置
をあらゆる方向から目視によって確認しながらロボット
を試行錯誤的に細かく操作する作業が必要であった。特
に、位置ずれ時に外力が加わる環境にある教示位置につ
いてロボットの位置教示を行なう場合には、細心の注意
と高度の熟練を要していた。
ロボットの操作は、いわゆるジョグ送りによって実行さ
れている。このジョグ送りによる教示作業には高度の熟
練と多くの作業時間が要求されることが通常であった。
即ち、正確な教示を行なう為には、ツール先端点の位置
をあらゆる方向から目視によって確認しながらロボット
を試行錯誤的に細かく操作する作業が必要であった。特
に、位置ずれ時に外力が加わる環境にある教示位置につ
いてロボットの位置教示を行なう場合には、細心の注意
と高度の熟練を要していた。
【0004】例えば、ロボットハンドによってワークを
把持する位置を教示する場合には、ロボットハンドがワ
ークを正確に把持出来る位置をロボットに実際にとらせ
る必要があるが、ロボットをそのような正確な位置にも
ってくる為のジョグ送り操作には高度の熟練を要し、ま
た、ジョグ送りの最終過程あるいはハンド閉成試行時等
にハンド(一般には、エンドエフェクタ)とワークの間
に予期しない力がかかり易く、破損事故を招く危険性も
あった。
把持する位置を教示する場合には、ロボットハンドがワ
ークを正確に把持出来る位置をロボットに実際にとらせ
る必要があるが、ロボットをそのような正確な位置にも
ってくる為のジョグ送り操作には高度の熟練を要し、ま
た、ジョグ送りの最終過程あるいはハンド閉成試行時等
にハンド(一般には、エンドエフェクタ)とワークの間
に予期しない力がかかり易く、破損事故を招く危険性も
あった。
【0005】このように、従来の方式で位置ずれ時に外
力が加わる環境にある教示位置についてロボットの位置
教示を行なう場合には、エンドエフェクタに外力が作用
した時にこれを回避して位置ずれに起因した外力を受け
ない状態にロボットを確実にもってくる技術手段を欠い
ていた為に、位置教示を高精度で安全に実行することが
困難であった。
力が加わる環境にある教示位置についてロボットの位置
教示を行なう場合には、エンドエフェクタに外力が作用
した時にこれを回避して位置ずれに起因した外力を受け
ない状態にロボットを確実にもってくる技術手段を欠い
ていた為に、位置教示を高精度で安全に実行することが
困難であった。
【0006】
【発明が解決しようとする課題】そこで本願発明の目的
は、最適の教示位置(適正な教示位置としてみなし得る
位置のこと。以下、同様。)からずれた位置にロボット
が存在する時に該位置ずれを修正する方向に作用する外
力がロボットに加わり得る環境にある教示位置につい
て、ロボットの位置教示を簡単な操作で安全確実に実行
することが出来るロボットの位置教示方法を提供するこ
とにある。また、本願発明は、そのことを通してロボッ
ト作業の精度と効率を向上させることを企図するもので
ある。
は、最適の教示位置(適正な教示位置としてみなし得る
位置のこと。以下、同様。)からずれた位置にロボット
が存在する時に該位置ずれを修正する方向に作用する外
力がロボットに加わり得る環境にある教示位置につい
て、ロボットの位置教示を簡単な操作で安全確実に実行
することが出来るロボットの位置教示方法を提供するこ
とにある。また、本願発明は、そのことを通してロボッ
ト作業の精度と効率を向上させることを企図するもので
ある。
【0007】
【課題を解決するための手段】本願発明は、位置制御ル
ープ及び速度制御ループを備える制御系で制御されるサ
ーボモータで各軸を駆動されるロボットに対し、最適の
教示位置からずれた位置にロボットが存在する時に該位
置ずれを修正する方向に作用する外力がロボットに加わ
り得る環境にある教示位置について教示を行なうケース
について、上記技術課題を解決する為に、次の諸段階を
含む方法を提案した。このような外力は、通常、ロボッ
ト作業に関連した対象物(把持ワーク、溶接ワーク、溶
接ガン、嵌め合い対象ワークなど)からの反力として与
えられる。
ープ及び速度制御ループを備える制御系で制御されるサ
ーボモータで各軸を駆動されるロボットに対し、最適の
教示位置からずれた位置にロボットが存在する時に該位
置ずれを修正する方向に作用する外力がロボットに加わ
り得る環境にある教示位置について教示を行なうケース
について、上記技術課題を解決する為に、次の諸段階を
含む方法を提案した。このような外力は、通常、ロボッ
ト作業に関連した対象物(把持ワーク、溶接ワーク、溶
接ガン、嵌め合い対象ワークなど)からの反力として与
えられる。
【0008】本願発明に従えば、ロボットをプログラム
再生運転あるいはジョグ送り操作を適宜用いて、ロボッ
トを前記最適の教示位置の近傍に移動させ、前記最適な
教示位置からの位置ずれを修正する方向に作用する外力
が前記ロボットに加わる状態とする。この状態におい
て、ソフトフローティングサーボによる制御が実行され
る。その為には、前記各軸の内少なくとも1つの軸につ
いて、位置ループゲイン及び速度ループゲインを変更す
れば良い。
再生運転あるいはジョグ送り操作を適宜用いて、ロボッ
トを前記最適の教示位置の近傍に移動させ、前記最適な
教示位置からの位置ずれを修正する方向に作用する外力
が前記ロボットに加わる状態とする。この状態におい
て、ソフトフローティングサーボによる制御が実行され
る。その為には、前記各軸の内少なくとも1つの軸につ
いて、位置ループゲイン及び速度ループゲインを変更す
れば良い。
【0009】ロボットが外力(例えば、ワークからの反
力)を受け、外力が弱まる方向へ移動した段階で、その
時点における現在位置を前記ロボットに教示すること
で、ロボットに最適な位置が教示される。現在位置の教
示は、既に教示済みの位置データの修正あるいは教示位
置データの新規の書き込みの形態で実行される。
力)を受け、外力が弱まる方向へ移動した段階で、その
時点における現在位置を前記ロボットに教示すること
で、ロボットに最適な位置が教示される。現在位置の教
示は、既に教示済みの位置データの修正あるいは教示位
置データの新規の書き込みの形態で実行される。
【0010】また、本願発明によれば、上記各方法にお
けるソフトフローティングサーボによる制御をソフトフ
ローティング機能のバネ定数が予め設定された値と一致
するように行なうことが併せて提案される。このような
制御は、前記の少なくとも1つの軸に関する先端距離が
ロボットコントローラ内で求められ、それに応じて位置
ループゲイン及び速度ループゲインを変更することで実
現される。この提案に従えば、ソフトフローティング機
能のバネ定数がロボットの姿勢に影響されない利点が生
じる。
けるソフトフローティングサーボによる制御をソフトフ
ローティング機能のバネ定数が予め設定された値と一致
するように行なうことが併せて提案される。このような
制御は、前記の少なくとも1つの軸に関する先端距離が
ロボットコントローラ内で求められ、それに応じて位置
ループゲイン及び速度ループゲインを変更することで実
現される。この提案に従えば、ソフトフローティング機
能のバネ定数がロボットの姿勢に影響されない利点が生
じる。
【0011】
【作用】本願発明は、通常の「硬いサーボ制御方式」の
弊害を避ける為に提案され、利用されている「ソフトフ
ローティングサーボによる制御」をロボットの位置教示
に利用した点に基本的な特徴がる。そこで、先ず、本願
発明で利用されるソフトフローティングサーボに制御方
法について、ソフトフローティングサーボを用いない通
常の制御と対比させて簡単に説明する。
弊害を避ける為に提案され、利用されている「ソフトフ
ローティングサーボによる制御」をロボットの位置教示
に利用した点に基本的な特徴がる。そこで、先ず、本願
発明で利用されるソフトフローティングサーボに制御方
法について、ソフトフローティングサーボを用いない通
常の制御と対比させて簡単に説明する。
【0012】ロボットのアームを駆動する各軸のサーボ
モータの制御は、通常、位置制御ループ及び速度制御ル
ープを有する制御系によって制御されている。図2は、
これを示したブロック図で、符号1は位置ループにおけ
るボジションゲインKpの項、符号2は速度ループゲイ
ンKvの項である。また符号3,4はモータの伝達関数
の項であり、3はトルク定数Kt、4はイナーシャJで
ある。更に、符号5はモータ速度vを積分してモータ位
置yを求める伝達関数である。なお、sはラプラス演算
子を表わしている。
モータの制御は、通常、位置制御ループ及び速度制御ル
ープを有する制御系によって制御されている。図2は、
これを示したブロック図で、符号1は位置ループにおけ
るボジションゲインKpの項、符号2は速度ループゲイ
ンKvの項である。また符号3,4はモータの伝達関数
の項であり、3はトルク定数Kt、4はイナーシャJで
ある。更に、符号5はモータ速度vを積分してモータ位
置yを求める伝達関数である。なお、sはラプラス演算
子を表わしている。
【0013】ロボットコントローラの内部で作成される
移動指令rとモータ位置yより位置偏差eが求められ、
該位置偏差eにポジションゲインKpを乗じて速度指令
vcmdが求められる。更に、速度偏差eが、該速度指
令vcmdとモータ速度vより求められる。この速度偏
差eに速度ループゲインKvを乗じてトルク指令Tcが
求められ、該トルク指令Tcに応じた駆動電流がモータ
に供給される。
移動指令rとモータ位置yより位置偏差eが求められ、
該位置偏差eにポジションゲインKpを乗じて速度指令
vcmdが求められる。更に、速度偏差eが、該速度指
令vcmdとモータ速度vより求められる。この速度偏
差eに速度ループゲインKvを乗じてトルク指令Tcが
求められ、該トルク指令Tcに応じた駆動電流がモータ
に供給される。
【0014】なお、速度ループの制御においては、図2
の例ではPI制御を例として記載しているが、IP制御
とすることも出来る。
の例ではPI制御を例として記載しているが、IP制御
とすることも出来る。
【0015】このような制御系でサーボモータが制御さ
れる場合には、与えられた位置指令によって目標位置に
向かってロボット乃至エンドエフェクタが移動している
途上において、エンドエフェクタがなんらかの障害物に
遭遇・接触しても、そのまま目標位置に向かって移動し
続けるとういう現象が生じる。
れる場合には、与えられた位置指令によって目標位置に
向かってロボット乃至エンドエフェクタが移動している
途上において、エンドエフェクタがなんらかの障害物に
遭遇・接触しても、そのまま目標位置に向かって移動し
続けるとういう現象が生じる。
【0016】この現象は次のように説明される。即ち、
障害物の存在に関わらずサーボモータは目標位置に向か
って移動しようとするが、実際には障害物によりその目
標位置に移動することが阻まれ位置偏差が増大し、この
位置偏差にポジションゲインKpを乗じて得られる速度
指令vcmdも増大する。そして、この増大する速度指
令vcmdとモータの速度(障害物に当接しているとき
には、速度は「0」と考えられる。)との差は、速度ル
ープの持つ積分器によって積分されて増大し、トルク指
令Tcは大きな値となる。
障害物の存在に関わらずサーボモータは目標位置に向か
って移動しようとするが、実際には障害物によりその目
標位置に移動することが阻まれ位置偏差が増大し、この
位置偏差にポジションゲインKpを乗じて得られる速度
指令vcmdも増大する。そして、この増大する速度指
令vcmdとモータの速度(障害物に当接しているとき
には、速度は「0」と考えられる。)との差は、速度ル
ープの持つ積分器によって積分されて増大し、トルク指
令Tcは大きな値となる。
【0017】その結果、サーボモータは目標位置に達す
るように最大のトルクを出力するようになる。ここで障
害物となるものは、ロボットによる作業(把持、溶接、
機械加工、嵌め合い等)の対象物(以下、「ワーク」で
これを代表させる。)の対象物である場合が多く、従っ
て、上記したような現象はワークとの干渉事故(衝突)
の原因となる。
るように最大のトルクを出力するようになる。ここで障
害物となるものは、ロボットによる作業(把持、溶接、
機械加工、嵌め合い等)の対象物(以下、「ワーク」で
これを代表させる。)の対象物である場合が多く、従っ
て、上記したような現象はワークとの干渉事故(衝突)
の原因となる。
【0018】このような不都合を回避する為に、ソフト
ウェアによって制御系に「柔軟なサーボ制御」を行なわ
せることによって、ソフトフローティング機能を発揮さ
せることが提案されている。これは、位置制御ループ及
び速度制御ループを備えるサーボモータの制御系におい
て、柔軟制御指令の入力時に、ポジションゲイン及び速
度ループゲインを低下させることにより、速度指令及び
トルク指令の値を小さな値に抑える方式である。ここで
は、このような制御方式を一般に、「ソフトフローティ
ングサーボによる制御」と呼ぶこととする。
ウェアによって制御系に「柔軟なサーボ制御」を行なわ
せることによって、ソフトフローティング機能を発揮さ
せることが提案されている。これは、位置制御ループ及
び速度制御ループを備えるサーボモータの制御系におい
て、柔軟制御指令の入力時に、ポジションゲイン及び速
度ループゲインを低下させることにより、速度指令及び
トルク指令の値を小さな値に抑える方式である。ここで
は、このような制御方式を一般に、「ソフトフローティ
ングサーボによる制御」と呼ぶこととする。
【0019】柔軟制御指令の入力時のポジションゲイン
及び速度ループゲインの決め方として、柔軟制御用の値
を予め設定しておき、柔軟制御指令の入力時にその設定
値に切り換える手法が従来より利用されている。本願発
明で利用されるソフトフローティングサーボによる制御
は、このような方式によるものであっても構わないが、
本出願人に係る特願平6−24709号に添付された明
細書及び図面に記載されたような改良方式を利用するこ
とも出来る。
及び速度ループゲインの決め方として、柔軟制御用の値
を予め設定しておき、柔軟制御指令の入力時にその設定
値に切り換える手法が従来より利用されている。本願発
明で利用されるソフトフローティングサーボによる制御
は、このような方式によるものであっても構わないが、
本出願人に係る特願平6−24709号に添付された明
細書及び図面に記載されたような改良方式を利用するこ
とも出来る。
【0020】これは、柔軟制御指令の入力時のポジショ
ンゲイン及び速度ループゲインを、そのサーボモータに
よって駆動される軸に関する先端距離に応じてソフトフ
ローティング機能のバネ定数が設定値となるように変更
するものである。この改良方式によれば、先端距離が変
化しても、駆動体先端での柔らかさが一定に保たれる利
点が得られる(詳細については、上記出願関連文書を参
照)。
ンゲイン及び速度ループゲインを、そのサーボモータに
よって駆動される軸に関する先端距離に応じてソフトフ
ローティング機能のバネ定数が設定値となるように変更
するものである。この改良方式によれば、先端距離が変
化しても、駆動体先端での柔らかさが一定に保たれる利
点が得られる(詳細については、上記出願関連文書を参
照)。
【0021】ここで、「先端距離」とは、その軸で駆動
される駆動体(アーム)の運動軸(回転軸または直動
軸)から測った駆動体の先端点(外力が作用する点。ロ
ボットであれば、エンドエフェクタの先端点乃至これに
準ずる点。例えば、アーム先端に装着されたハンドに設
定されたハンド座標系の原点位置、アーム先端のフェイ
スプレート中心位置など。以下、同様。)までの回転半
径を指すものとする。別の言い方をすれば、任意の軸に
関する先端距離は、外力の作用点をその軸で駆動される
駆動体(アーム)の運動軸に対して垂直な面(以後、
「回転平面」と言う。)上に射影し、回転平面上でその
運動軸に垂線を降ろした時の足の長さのことである(実
例は実施例を参照)。
される駆動体(アーム)の運動軸(回転軸または直動
軸)から測った駆動体の先端点(外力が作用する点。ロ
ボットであれば、エンドエフェクタの先端点乃至これに
準ずる点。例えば、アーム先端に装着されたハンドに設
定されたハンド座標系の原点位置、アーム先端のフェイ
スプレート中心位置など。以下、同様。)までの回転半
径を指すものとする。別の言い方をすれば、任意の軸に
関する先端距離は、外力の作用点をその軸で駆動される
駆動体(アーム)の運動軸に対して垂直な面(以後、
「回転平面」と言う。)上に射影し、回転平面上でその
運動軸に垂線を降ろした時の足の長さのことである(実
例は実施例を参照)。
【0022】この先端距離はロボットの姿勢に依存して
変化するので、ロボットコントローラ内で柔軟制御指令
の入力時のロボット姿勢に対応した先端距離が計算され
る。このような改良された方式を採用した場合には、サ
ーボ制御の「柔らかさ」がロボット姿勢に影響を受けな
い利点が発揮される(詳しくは、実施例参照)。
変化するので、ロボットコントローラ内で柔軟制御指令
の入力時のロボット姿勢に対応した先端距離が計算され
る。このような改良された方式を採用した場合には、サ
ーボ制御の「柔らかさ」がロボット姿勢に影響を受けな
い利点が発揮される(詳しくは、実施例参照)。
【0023】以上が本願発明で利用されるソフトフロー
ティングサーボ制御方法の概要である。上記説明から理
解されるように、ソフトフローティングサーボによる制
御の特徴は、強い外力がロボットに作用した時に、ロボ
ットの機構部を駆動するサーボモータが無理にこれに打
ち勝とうとして大きなトルクを出力しない点にある。
ティングサーボ制御方法の概要である。上記説明から理
解されるように、ソフトフローティングサーボによる制
御の特徴は、強い外力がロボットに作用した時に、ロボ
ットの機構部を駆動するサーボモータが無理にこれに打
ち勝とうとして大きなトルクを出力しない点にある。
【0024】通常、この性質は障害物との強い干渉を避
ける為に利用されるのであるが、本願発明ではこの性質
を逆用し、ロボット乃至エンドエフェクタがワーク等の
作業関連物に押し付けられる状況を作り、その時に受け
る反力をロボットに作用する外力として利用し、ロボッ
トをその反力が弱まる位置まで移動させる。
ける為に利用されるのであるが、本願発明ではこの性質
を逆用し、ロボット乃至エンドエフェクタがワーク等の
作業関連物に押し付けられる状況を作り、その時に受け
る反力をロボットに作用する外力として利用し、ロボッ
トをその反力が弱まる位置まで移動させる。
【0025】このような移動のプロセスは、多くの場
合、ロボット作業に関連した対象物(把持ワーク、溶接
ワーク、溶接ガン、嵌め合い対象ワークなど)にロボッ
トが過剰に接近した押し付け状態から、最適な教示位置
へ向けて必要量(ベクトル量)だけ修正シフトされた位
置に移動するプロセスとみなすことが出来る。そこで、
この修正シフトされた位置をロボットに教示すれば、精
度の高い位置教示が実現されることになる。
合、ロボット作業に関連した対象物(把持ワーク、溶接
ワーク、溶接ガン、嵌め合い対象ワークなど)にロボッ
トが過剰に接近した押し付け状態から、最適な教示位置
へ向けて必要量(ベクトル量)だけ修正シフトされた位
置に移動するプロセスとみなすことが出来る。そこで、
この修正シフトされた位置をロボットに教示すれば、精
度の高い位置教示が実現されることになる。
【0026】
【実施例】先ず、本実施例で利用されるソフトウェアに
よるソフトフローティングサーボ制御方法についてその
概要を説明する。図1は、ソフトフローティングサーボ
制御を実行する軸の制御に関するサーボ制御系のブロッ
ク図である。図の記載から明らかなように、ブロック図
で見た御系の構成は図2に示した通常のサーボ制御系と
基本的には共通したものであり、共通部分の繰り返し説
明は省略する。図1に示した制御系が図2に示した通常
のサーボ制御系と相違する点は、位置制御ループのポジ
ションゲインKp及び速度制御ループゲインKvが先端
距離Dに応じて変更して、常に設定されたバネ定数を保
つ点ににある。
よるソフトフローティングサーボ制御方法についてその
概要を説明する。図1は、ソフトフローティングサーボ
制御を実行する軸の制御に関するサーボ制御系のブロッ
ク図である。図の記載から明らかなように、ブロック図
で見た御系の構成は図2に示した通常のサーボ制御系と
基本的には共通したものであり、共通部分の繰り返し説
明は省略する。図1に示した制御系が図2に示した通常
のサーボ制御系と相違する点は、位置制御ループのポジ
ションゲインKp及び速度制御ループゲインKvが先端
距離Dに応じて変更して、常に設定されたバネ定数を保
つ点ににある。
【0027】図3は、本願発明の実施例で使用されるロ
ボットコントローラRCを関連機器と共に要部ブロック
図で示したものである。先ず、ソフトフローティングサ
ーボ制御に直接関係のある部分から説明すると、符号1
0はシステム全体を制御するホストコンピュータを表わ
している。符号16は、ホストコンピュータ10から出
力される移動指令や制御信号を後述のディジタルサーボ
回路のプロセッサに引渡し、逆にディジタルサーボ回路
のプロセッサからの各種信号をホストコンピュータ10
に引き渡すための共有RAMメモリを表わしている。
ボットコントローラRCを関連機器と共に要部ブロック
図で示したものである。先ず、ソフトフローティングサ
ーボ制御に直接関係のある部分から説明すると、符号1
0はシステム全体を制御するホストコンピュータを表わ
している。符号16は、ホストコンピュータ10から出
力される移動指令や制御信号を後述のディジタルサーボ
回路のプロセッサに引渡し、逆にディジタルサーボ回路
のプロセッサからの各種信号をホストコンピュータ10
に引き渡すための共有RAMメモリを表わしている。
【0028】また、符号17は、上述したサーボ制御を
実行するディジタルサーボ(ソフトウェアサーボ)回路
で、プロセッサ、ROM、RAM等のメモリ等で構成さ
れる。符号18は、ロボット30における各軸のサーボ
モータの位置のフィードバック値、速度のフィードバッ
ク値、電流のフィードバック値等が書き込まれる帰還レ
ジスタを表わしている。
実行するディジタルサーボ(ソフトウェアサーボ)回路
で、プロセッサ、ROM、RAM等のメモリ等で構成さ
れる。符号18は、ロボット30における各軸のサーボ
モータの位置のフィードバック値、速度のフィードバッ
ク値、電流のフィードバック値等が書き込まれる帰還レ
ジスタを表わしている。
【0029】他の部分について見ると、ホストCPU1
0にはバスライン19を介してROM11、RAM1
2、不揮発性メモリ13、外部装置40とのインターフ
ェイスの役割を果たす入出力装置(I/O)14、教示
操作盤20とのインターフェイス(I/F)が接続され
ている。ROM11には、各種のシステムプログラムが
格納される。ROM12は、ホストCPU10によるデ
ータの一時記憶に使用されるメモリである。不揮発性メ
モリ13には、ロボット30及び外部装置40の動作内
容に関する各種プログラム、関連設定値等が格納され
る。
0にはバスライン19を介してROM11、RAM1
2、不揮発性メモリ13、外部装置40とのインターフ
ェイスの役割を果たす入出力装置(I/O)14、教示
操作盤20とのインターフェイス(I/F)が接続され
ている。ROM11には、各種のシステムプログラムが
格納される。ROM12は、ホストCPU10によるデ
ータの一時記憶に使用されるメモリである。不揮発性メ
モリ13には、ロボット30及び外部装置40の動作内
容に関する各種プログラム、関連設定値等が格納され
る。
【0030】教示操作盤20は、液晶ディスプレイ(L
CD)及びキーボードKYを備え、通常の指令(プログ
ラム再生運転指令、ジョグ送り指令、プログラムデータ
の入力/変更、関連設定値入力/変更等)が可能である
他に、ソフトフローティングサーボ制御の開始/解除の
指令の入力が可能である。
CD)及びキーボードKYを備え、通常の指令(プログ
ラム再生運転指令、ジョグ送り指令、プログラムデータ
の入力/変更、関連設定値入力/変更等)が可能である
他に、ソフトフローティングサーボ制御の開始/解除の
指令の入力が可能である。
【0031】入出力装置14に接続される外部装置は、
アプリケーションによって異なる。例えば、ワークの把
持を伴う作業であればロボットハンド、スポット溶接で
あればスポット溶接装置(電源、溶接ガン等を含む。)
が入出力装置14に接続される。
アプリケーションによって異なる。例えば、ワークの把
持を伴う作業であればロボットハンド、スポット溶接で
あればスポット溶接装置(電源、溶接ガン等を含む。)
が入出力装置14に接続される。
【0032】さて、本実施例で利用されるソフトウェア
によるソフトフローティング制御の理解を容易にする為
に、ここでロボット30として、図5に示したように、
J1軸とJ2軸の2軸により構成される例を想定する。
によるソフトフローティング制御の理解を容易にする為
に、ここでロボット30として、図5に示したように、
J1軸とJ2軸の2軸により構成される例を想定する。
【0033】このJ1軸がモータにより駆動されて、回
転平面の中心点を駆動体中心としてJ1軸が回転し、そ
のJ1軸に取り付けられているJ2軸の先端の駆動体先
端がワークWに当接して力を作用する。J2軸のJ1軸
に対する姿勢は、J1軸の回転平面に対してJ2軸のな
す角度θにより表される。ここで、J1軸のアーム長は
L1、J2軸のアーム長はL2により表されるものとす
る。
転平面の中心点を駆動体中心としてJ1軸が回転し、そ
のJ1軸に取り付けられているJ2軸の先端の駆動体先
端がワークWに当接して力を作用する。J2軸のJ1軸
に対する姿勢は、J1軸の回転平面に対してJ2軸のな
す角度θにより表される。ここで、J1軸のアーム長は
L1、J2軸のアーム長はL2により表されるものとす
る。
【0034】図中のJ1軸の駆動について、ソフトウェ
アによるソフトフローティング制御を実施する場合の処
理について説明する。
アによるソフトフローティング制御を実施する場合の処
理について説明する。
【0035】図5に示すロボット機構図において、駆動
体先端にかかる力f(例えば、kg)と駆動体の移動距
離Y(例えば、cm)との関係により表される柔軟制御
のソフトフローティング制御の柔らかさの程度である駆
動体のバネ定数Y/fは、Dを駆動体中心から駆動体先
端までの回転平面上での距離、iをモータ側での減速
比、Kpを位置ループゲイン、Kvを速度ループゲイン
とすると、 Y/f=(D・i2 )/(Kt・Kp・Kv) ・・・(1) となる(この式の導出法については、ここでは省略す
る。詳しくは、前記出願関連文書を参照)。これを位置
ループゲインKpと速度ループゲインKvとの積の値に
ついて解くと、 Kp・Kv=(D・i2 )/{Kt・(Y/f)} ・・・(2) となる。ここで、バネ定数Y/fをα(rag/kg)
と設定した場合、前記(2)式は次式(3)となる。
体先端にかかる力f(例えば、kg)と駆動体の移動距
離Y(例えば、cm)との関係により表される柔軟制御
のソフトフローティング制御の柔らかさの程度である駆
動体のバネ定数Y/fは、Dを駆動体中心から駆動体先
端までの回転平面上での距離、iをモータ側での減速
比、Kpを位置ループゲイン、Kvを速度ループゲイン
とすると、 Y/f=(D・i2 )/(Kt・Kp・Kv) ・・・(1) となる(この式の導出法については、ここでは省略す
る。詳しくは、前記出願関連文書を参照)。これを位置
ループゲインKpと速度ループゲインKvとの積の値に
ついて解くと、 Kp・Kv=(D・i2 )/{Kt・(Y/f)} ・・・(2) となる。ここで、バネ定数Y/fをα(rag/kg)
と設定した場合、前記(2)式は次式(3)となる。
【0036】 Kp・Kv=(D・i2 )/(Kt・α) ・・・(3) 従って、前記式(3)において、駆動体(ロボット)の
姿勢が変化して先端距離Dの値が変更されても、はじめ
に設定したバネ定数αの値が変化しないようにするため
には、位置ループゲインKpと速度ループゲインKvと
の積の値Kp・Kvを先端距離Dの値に応じて前記
(3)の右辺に一致するように変更させればよい。
姿勢が変化して先端距離Dの値が変更されても、はじめ
に設定したバネ定数αの値が変化しないようにするため
には、位置ループゲインKpと速度ループゲインKvと
の積の値Kp・Kvを先端距離Dの値に応じて前記
(3)の右辺に一致するように変更させればよい。
【0037】一方、図に示す2軸の駆動体において、J
1軸は水平回転軸であり、駆動体の先端距離DはJ2軸
の角度θとJ2軸のアーム長L2に依存し、次式(4)
により表される。
1軸は水平回転軸であり、駆動体の先端距離DはJ2軸
の角度θとJ2軸のアーム長L2に依存し、次式(4)
により表される。
【0038】 D=L2・cosθ ・・・(4) また、バネ定数(=Y/f)をα(rag/kg)と設
定した場合の位置ループゲインpと速度ループゲインK
vの関係は前記式(3),(4)から Kp・Kv=(D・i2 )/(Kt・α) =(L2・cosθ・i2 )/(Kt・α) ・・・(5) となる。この式(5)において、駆動体(ロボット)の
姿勢変化は角度θの角度変化として現れる。この角度θ
の変化により先端距離Dの値が変更されても、はじめに
設定したバネ定数αの値が変化しないようにするために
は、式(5)の左辺の項である位置ループゲインKpと
速度ループゲインKvとの積の値Kp・Kvが、θの値
に応じて変化する式(5)の右辺の値となるように変更
させればよく、さらに、その制御安定性を崩さないため
には位置ループゲインKpと速度ループゲインKvの比
が一定であることが条件となる。そこで、通常動作時に
おける位置ループゲインをKpo、速度ループゲインを
Kvoとして、位置ループゲインKpと速度ループゲイ
ンKvの比が一定となるように変更すると、 Kpo:Kvo=Kp:Kv ・・・(6) の関係から、 Kpo・Kv=Kvo・Kp ・・・(7) の条件式を満足する必要がある。この条件式(7)と前
記式(5)から、位置ループゲインKp及び速度ループ
ゲインKvについて解き、ソフトフローティング制御を
行うときの位置ループゲイン、速度ループゲインをKp
f、Kvfとすると、それぞれ、 Kpf={(Kpo・i2 ・L2・cosθ)/(Kvo・Kt・α)}1/2 ・・・(8) Kvf={(Kvo・i2 ・L2・cosθ)/(Kpo・Kt・α)}1/2 ・・・(9) となる。
定した場合の位置ループゲインpと速度ループゲインK
vの関係は前記式(3),(4)から Kp・Kv=(D・i2 )/(Kt・α) =(L2・cosθ・i2 )/(Kt・α) ・・・(5) となる。この式(5)において、駆動体(ロボット)の
姿勢変化は角度θの角度変化として現れる。この角度θ
の変化により先端距離Dの値が変更されても、はじめに
設定したバネ定数αの値が変化しないようにするために
は、式(5)の左辺の項である位置ループゲインKpと
速度ループゲインKvとの積の値Kp・Kvが、θの値
に応じて変化する式(5)の右辺の値となるように変更
させればよく、さらに、その制御安定性を崩さないため
には位置ループゲインKpと速度ループゲインKvの比
が一定であることが条件となる。そこで、通常動作時に
おける位置ループゲインをKpo、速度ループゲインを
Kvoとして、位置ループゲインKpと速度ループゲイ
ンKvの比が一定となるように変更すると、 Kpo:Kvo=Kp:Kv ・・・(6) の関係から、 Kpo・Kv=Kvo・Kp ・・・(7) の条件式を満足する必要がある。この条件式(7)と前
記式(5)から、位置ループゲインKp及び速度ループ
ゲインKvについて解き、ソフトフローティング制御を
行うときの位置ループゲイン、速度ループゲインをKp
f、Kvfとすると、それぞれ、 Kpf={(Kpo・i2 ・L2・cosθ)/(Kvo・Kt・α)}1/2 ・・・(8) Kvf={(Kvo・i2 ・L2・cosθ)/(Kpo・Kt・α)}1/2 ・・・(9) となる。
【0039】従って、ソフトウェアによって、位置ルー
プゲインKp及び速度ループゲインKvの値を、上記式
(8),(9)により設定される値に変更してソフトフ
ローティング制御を行うことにより、あらかじめ定めた
値のバネ定数により希望とする柔らかさの制御を行うこ
とが出来る。
プゲインKp及び速度ループゲインKvの値を、上記式
(8),(9)により設定される値に変更してソフトフ
ローティング制御を行うことにより、あらかじめ定めた
値のバネ定数により希望とする柔らかさの制御を行うこ
とが出来る。
【0040】次に、前記した図3におけるディジタルサ
ーボ回路12のプロセッサが実行する、ソフトウェアに
よるソフトフローティングサーボ制御の処理について、
図5及び図6に示す2軸の駆動体(ロボット)の例につ
いて、図4のソフトフローチャートを参照して説明す
る。
ーボ回路12のプロセッサが実行する、ソフトウェアに
よるソフトフローティングサーボ制御の処理について、
図5及び図6に示す2軸の駆動体(ロボット)の例につ
いて、図4のソフトフローチャートを参照して説明す
る。
【0041】なお、前述したバネ定数α=Y/fの値は
設定済みであり、通常のサーボ制御を行うときのポジシ
ョンゲインKp、速度ループゲインKvの値は、Kp
o、Kvoとして設定されているものとする。
設定済みであり、通常のサーボ制御を行うときのポジシ
ョンゲインKp、速度ループゲインKvの値は、Kp
o、Kvoとして設定されているものとする。
【0042】本願発明では、位置教示されるべき位置へ
ロボットを接近させる為に、ロボットがプログラム再生
モードまたはジョグ送りモードで運転される。ソフトフ
ローティングサーボ制御は、ソフトフローティングサー
ボ制御開始指令によって開始される。この指令は、オペ
レータによる教示操作盤20からのマニュアル入力また
は動作プログラムに基づいて、ホストCPU10から発
せられる。
ロボットを接近させる為に、ロボットがプログラム再生
モードまたはジョグ送りモードで運転される。ソフトフ
ローティングサーボ制御は、ソフトフローティングサー
ボ制御開始指令によって開始される。この指令は、オペ
レータによる教示操作盤20からのマニュアル入力また
は動作プログラムに基づいて、ホストCPU10から発
せられる。
【0043】なお、プログラム再生あるいはジョグ送り
によるロボット動作の内容、ソフトフローティングサー
ボ制御の開始指令の入力タイミング等については後述す
る。
によるロボット動作の内容、ソフトフローティングサー
ボ制御の開始指令の入力タイミング等については後述す
る。
【0044】ディジタルサーボ回路12のプロセッサ
は、ソフトフローティングサーボ制御の開始指令を受け
て位置・速度ループ処理周期毎に以下の如く図4に示す
処理を実行する。
は、ソフトフローティングサーボ制御の開始指令を受け
て位置・速度ループ処理周期毎に以下の如く図4に示す
処理を実行する。
【0045】ディジタルサーボ回路12のプロセッサ
は、ホストコンピータ10から共有メモリ11を介して
送られてくる移動指令より移動指令rを読み込み(ステ
ップS1)、ロボット14のモータ位置yを読み込む
(ステップS2)。このモータ位置yは、帰還レジスタ
13に書き込まれている位置フィードバック値を用いる
ことが出来る。また、図示していない入力装置により共
有メモリ11にバネ定数αを入力して、柔軟制御の柔ら
かさの程度の設定を行う(ステップS3)。次に、ホス
トコンピータ10からJ2軸のアーム角度θを取り込む
(ステップS4)。このJ2軸のアーム角度θは、ワー
クに力を印加するための駆動体を駆動するために、ホス
トコンピータ10から駆動体に送られる角度信号を用い
ることが出来る。前記ステップS4で取り込んだJ2軸
のアーム角度θを用いて、駆動体の駆動体先端の位置を
算出する(ステップS5)。この駆動体の先端位置は、
図5,6において、駆動体の回転平面上における駆動体
中心から駆動体先端の投影位置までの距離Dとして求め
られ、次式により表される。 D=L2・cosθ ・・・(10) なお、L2はJ2軸のアーム長である。
は、ホストコンピータ10から共有メモリ11を介して
送られてくる移動指令より移動指令rを読み込み(ステ
ップS1)、ロボット14のモータ位置yを読み込む
(ステップS2)。このモータ位置yは、帰還レジスタ
13に書き込まれている位置フィードバック値を用いる
ことが出来る。また、図示していない入力装置により共
有メモリ11にバネ定数αを入力して、柔軟制御の柔ら
かさの程度の設定を行う(ステップS3)。次に、ホス
トコンピータ10からJ2軸のアーム角度θを取り込む
(ステップS4)。このJ2軸のアーム角度θは、ワー
クに力を印加するための駆動体を駆動するために、ホス
トコンピータ10から駆動体に送られる角度信号を用い
ることが出来る。前記ステップS4で取り込んだJ2軸
のアーム角度θを用いて、駆動体の駆動体先端の位置を
算出する(ステップS5)。この駆動体の先端位置は、
図5,6において、駆動体の回転平面上における駆動体
中心から駆動体先端の投影位置までの距離Dとして求め
られ、次式により表される。 D=L2・cosθ ・・・(10) なお、L2はJ2軸のアーム長である。
【0046】次に、式(10)で表される駆動体の先端
距離Dを用いて、ソフトフローティング制御を行うとき
の位置ループゲインKpf、及び速度ループゲインKv
fを算出する(ステップS6)。この位置ループゲイン
Kpf、及び速度ループゲインKvfの算出は、前記式
(8),(9),及び式(10)から得られる前式
(8),(9)を用いて行うことが出来る。 Kpf={(Kpo・i2 ・D)/(Kvo・Kt・α)}1/2 ・・(8) Kvf={(Kvo・i2 ・D)/(Kpo・Kt・α)}1/2 ・・(9) なお、iは減速比である。
距離Dを用いて、ソフトフローティング制御を行うとき
の位置ループゲインKpf、及び速度ループゲインKv
fを算出する(ステップS6)。この位置ループゲイン
Kpf、及び速度ループゲインKvfの算出は、前記式
(8),(9),及び式(10)から得られる前式
(8),(9)を用いて行うことが出来る。 Kpf={(Kpo・i2 ・D)/(Kvo・Kt・α)}1/2 ・・(8) Kvf={(Kvo・i2 ・D)/(Kpo・Kt・α)}1/2 ・・(9) なお、iは減速比である。
【0047】これにより、共有メモリ11には、通常の
制御を行う場合の位置ループゲインKpo、及び速度ル
ープゲインKvoと、ソフトフローティング制御を行う
ときの位置ループゲインKpf、及び速度ループゲイン
Kvfが格納されることになる。
制御を行う場合の位置ループゲインKpo、及び速度ル
ープゲインKvoと、ソフトフローティング制御を行う
ときの位置ループゲインKpf、及び速度ループゲイン
Kvfが格納されることになる。
【0048】前記ステップS6までの工程により、サー
ボモータの制御を行う場合において、通常の制御に用い
る位置ループゲインKpo、及び速度ループゲインKv
oと、ソフトフローティング制御に用いる位置ループゲ
インKpf、及び速度ループゲインKvfのゲイン値が
準備できたことになる。
ボモータの制御を行う場合において、通常の制御に用い
る位置ループゲインKpo、及び速度ループゲインKv
oと、ソフトフローティング制御に用いる位置ループゲ
インKpf、及び速度ループゲインKvfのゲイン値が
準備できたことになる。
【0049】そこで、次に、サーボモータの制御におい
て、通常の制御を行うか、あるいはループゲインを駆動
体の姿勢に応じて変更するソフトフローティング制御を
行うかの判定を行い(ステップS7)、その判定に応じ
て位置ループゲイン値の設定を行う(ステップS8,
9)。
て、通常の制御を行うか、あるいはループゲインを駆動
体の姿勢に応じて変更するソフトフローティング制御を
行うかの判定を行い(ステップS7)、その判定に応じ
て位置ループゲイン値の設定を行う(ステップS8,
9)。
【0050】ステップS7の判定は、手動によるオペレ
ータからの柔軟制御指令の有無を判断することにより行
うことができ、例えば、共有メモリ11内に設けたフラ
グを柔軟制御指令、及び解除指令によりセット、リセッ
トし、そのフラグを監視することにより行うことが出来
る。
ータからの柔軟制御指令の有無を判断することにより行
うことができ、例えば、共有メモリ11内に設けたフラ
グを柔軟制御指令、及び解除指令によりセット、リセッ
トし、そのフラグを監視することにより行うことが出来
る。
【0051】前記ステップS7の判定において、ソフト
フローティング制御によりループゲインを駆動体の姿勢
に応じて変更する場合には、ソフトフローティング制御
に用いる位置ループゲインKpfをKpの値とし(ステ
ップS8)、一方、通常制御を行う場合には通常の位置
ループゲインKpoをKpの値とし(ステップS9)、
それぞれの値を共有メモリ11から読み出して設定す
る。
フローティング制御によりループゲインを駆動体の姿勢
に応じて変更する場合には、ソフトフローティング制御
に用いる位置ループゲインKpfをKpの値とし(ステ
ップS8)、一方、通常制御を行う場合には通常の位置
ループゲインKpoをKpの値とし(ステップS9)、
それぞれの値を共有メモリ11から読み出して設定す
る。
【0052】次に、前記ステップS1で読み込んだ移動
指令rから前記ステップS2で読み込んだモータ位置y
を減算して位置偏差eを求め、その位置偏差eに前記ス
テップS8,9で設定した位置ループゲインKpを乗算
して速度指令vcmdを算出する(ステップS10)。
次に、モータ速度の取込みを行う(ステップS11)。
このモータ速度の取込みは、例えば、帰還レジスタ13
内に書き込まれている速度フィードバック値を用いるこ
とが出来る。そして、速度ループゲインの設定を行うた
めに、サーボモータの制御において、通常の制御を行う
か、あるいはループゲインを駆動体の姿勢に応じて変更
するソフトフローティング制御を行うかの判定を行い
(ステップS12)、その判定に応じて速度ループゲイ
ン値の設定を行う(ステップS13,14)。
指令rから前記ステップS2で読み込んだモータ位置y
を減算して位置偏差eを求め、その位置偏差eに前記ス
テップS8,9で設定した位置ループゲインKpを乗算
して速度指令vcmdを算出する(ステップS10)。
次に、モータ速度の取込みを行う(ステップS11)。
このモータ速度の取込みは、例えば、帰還レジスタ13
内に書き込まれている速度フィードバック値を用いるこ
とが出来る。そして、速度ループゲインの設定を行うた
めに、サーボモータの制御において、通常の制御を行う
か、あるいはループゲインを駆動体の姿勢に応じて変更
するソフトフローティング制御を行うかの判定を行い
(ステップS12)、その判定に応じて速度ループゲイ
ン値の設定を行う(ステップS13,14)。
【0053】ステップS12の判定は、前記ステップS
7と同様に行うことが出来る。前記ステップS12の判
定において、ソフトフローティング制御によりループゲ
インを駆動体(ロボット)の姿勢に応じて変更する場合
には、ソフトフローティング制御に用いる速度ループゲ
インKvfをKvの値とし(ステップS13)、一方、
通常制御を行う場合には通常の速度ループゲインKvo
をKvの値とし(ステップS14)、それぞれの値を共
有メモリ11から読み出して設定する。
7と同様に行うことが出来る。前記ステップS12の判
定において、ソフトフローティング制御によりループゲ
インを駆動体(ロボット)の姿勢に応じて変更する場合
には、ソフトフローティング制御に用いる速度ループゲ
インKvfをKvの値とし(ステップS13)、一方、
通常制御を行う場合には通常の速度ループゲインKvo
をKvの値とし(ステップS14)、それぞれの値を共
有メモリ11から読み出して設定する。
【0054】次に、前記ステップS10で算出した速度
指令vcmdから前記ステップS11で読み込んだモー
タ速度vを減算して速度偏差を求め、その速度偏差に前
記ステップS13,14で設定した速度ループゲインK
vを乗算してトルク指令Tcmdを算出する(ステップ
S15)。この算出したトルク指令Tcmdをアンプ等
に出力して、電流ループに引渡し(ステップS16)、
当該位置・速度ループ処理周期の処理を終了する。
指令vcmdから前記ステップS11で読み込んだモー
タ速度vを減算して速度偏差を求め、その速度偏差に前
記ステップS13,14で設定した速度ループゲインK
vを乗算してトルク指令Tcmdを算出する(ステップ
S15)。この算出したトルク指令Tcmdをアンプ等
に出力して、電流ループに引渡し(ステップS16)、
当該位置・速度ループ処理周期の処理を終了する。
【0055】前記位置・速度ループ処理を所定周期毎に
繰り返すことにより、ソフトウェアによるソフトフロー
ティングサーボ制御が行われ、駆動体(ロボット)の姿
勢に応じて先端位置を求めて、その先端位置に応じた位
置ループゲインと速度ループゲインによりサーボ制御を
行い、設定したバネ定数の柔らかさを実施することが出
来る。
繰り返すことにより、ソフトウェアによるソフトフロー
ティングサーボ制御が行われ、駆動体(ロボット)の姿
勢に応じて先端位置を求めて、その先端位置に応じた位
置ループゲインと速度ループゲインによりサーボ制御を
行い、設定したバネ定数の柔らかさを実施することが出
来る。
【0056】以上が、ロボット30として、図5の構成
(J1軸とJ2軸の2軸)を想定した場合のソフトフロ
ーティングサーボ制御の処理の概要である。ロボット3
0が3軸以上の構成を有する場合についても、上記説明
した処理の考え方を拡張して任意の駆動軸について、ソ
フトフローティングサーボ制御を実行することが出来
る。
(J1軸とJ2軸の2軸)を想定した場合のソフトフロ
ーティングサーボ制御の処理の概要である。ロボット3
0が3軸以上の構成を有する場合についても、上記説明
した処理の考え方を拡張して任意の駆動軸について、ソ
フトフローティングサーボ制御を実行することが出来
る。
【0057】例えば、図7及び図8に示す3軸の駆動体
の例について簡単に説明すると次のようになる。図7及
び図8に示す3軸の駆動体(ロボット)は、JI軸,J
2軸,及びJ3軸からなり、各軸が同一平面上にある例
であり、JI軸はモータに接続されて該軸を駆動体中心
として回転する。JI軸の先端にはJ2軸が接続され、
さらに該J2軸の先端にはJ3軸が接続され、J3軸の
先端を駆動体先端としてワークWと当接する。そして、
J2軸のJI軸に対する取付け角度は回転平面に対して
θ2であり、J3軸のJ2軸に対する取付け角度は回転
平面に対してθ3である。従って、この駆動体の姿勢
は、この角度θ2,及びθ3により決定されることにな
る。なお、J2軸,及びJ3軸のアーム長は、それぞれ
L2,及びL3とする。
の例について簡単に説明すると次のようになる。図7及
び図8に示す3軸の駆動体(ロボット)は、JI軸,J
2軸,及びJ3軸からなり、各軸が同一平面上にある例
であり、JI軸はモータに接続されて該軸を駆動体中心
として回転する。JI軸の先端にはJ2軸が接続され、
さらに該J2軸の先端にはJ3軸が接続され、J3軸の
先端を駆動体先端としてワークWと当接する。そして、
J2軸のJI軸に対する取付け角度は回転平面に対して
θ2であり、J3軸のJ2軸に対する取付け角度は回転
平面に対してθ3である。従って、この駆動体の姿勢
は、この角度θ2,及びθ3により決定されることにな
る。なお、J2軸,及びJ3軸のアーム長は、それぞれ
L2,及びL3とする。
【0058】この駆動体における先端距離Dは、図にお
いてJ2軸,及びJ3軸のアーム長を回転平面に投影し
た長さD2,D3の和であり、 D=D2+D3 ・・・(11) により表される。
いてJ2軸,及びJ3軸のアーム長を回転平面に投影し
た長さD2,D3の和であり、 D=D2+D3 ・・・(11) により表される。
【0059】なお、D2,及びD3は次式で表される。 D2=L2・cosθ2 ・・・(12) D3=L3・cosθ3 ・・・(13) この駆動体(ロボット)のJ1軸についてのフトウェア
によるソフトフローティングサーボ制御の処理は、前記
実施例の作用で説明したソフトフローチャートとほぼ同
様にして行われる。前記フローチャートとの相違は、ス
テップS4のアーム角度θの取込みと、ステップS5の
先端位置の算出である。
によるソフトフローティングサーボ制御の処理は、前記
実施例の作用で説明したソフトフローチャートとほぼ同
様にして行われる。前記フローチャートとの相違は、ス
テップS4のアーム角度θの取込みと、ステップS5の
先端位置の算出である。
【0060】アーム角度θの取込みにおいては、J2軸
のJI軸に対する取付け角度を表す角度θ2と、J3軸
のJ2軸に対する取付け角度を表す角度θ3を取り込む
ことにより行うことができ、また、先端位置の算出にお
いては、前記式(11),(12),及び(10)を用
いて行うことが出来る。
のJI軸に対する取付け角度を表す角度θ2と、J3軸
のJ2軸に対する取付け角度を表す角度θ3を取り込む
ことにより行うことができ、また、先端位置の算出にお
いては、前記式(11),(12),及び(10)を用
いて行うことが出来る。
【0061】4軸以上の多軸の場合においても同様にし
て、ホストコンピータ10から駆動体に送られる角度信
号等によりソフトウェアからの制御信号を用いることに
より軸相互の位置関係を表す角度を逐次取込んで駆動体
の姿勢を求め、その姿勢における位置ループゲインと速
度ループゲインを求め、その求めたゲインにより制御を
行うことができ、これにより、駆動体の姿勢変化した場
合でも設定したバネ定数により所望の柔らかさによる制
御を行うことが出来る。
て、ホストコンピータ10から駆動体に送られる角度信
号等によりソフトウェアからの制御信号を用いることに
より軸相互の位置関係を表す角度を逐次取込んで駆動体
の姿勢を求め、その姿勢における位置ループゲインと速
度ループゲインを求め、その求めたゲインにより制御を
行うことができ、これにより、駆動体の姿勢変化した場
合でも設定したバネ定数により所望の柔らかさによる制
御を行うことが出来る。
【0062】以上が、本実施例で利用されるソフトフロ
ーティングサーボ制御の概要である。以下、このような
ソフトフローティングサーボ制御とジョグ送りとを組み
合わせてロボットの位置教示を行なう方法について、幾
つかの例を挙げて説明する。
ーティングサーボ制御の概要である。以下、このような
ソフトフローティングサーボ制御とジョグ送りとを組み
合わせてロボットの位置教示を行なう方法について、幾
つかの例を挙げて説明する。
【0063】以下の適用例1〜適用例3に示すように、
本願発明の方法が適用可能なアプリケーションの条件
は、「ロボットに対し、最適の教示位置からずれた位置
にロボットが存在する時に該位置ずれを修正する方向に
外力が加わる状態は、ハンドの開閉等によって作り出さ
れる。
本願発明の方法が適用可能なアプリケーションの条件
は、「ロボットに対し、最適の教示位置からずれた位置
にロボットが存在する時に該位置ずれを修正する方向に
外力が加わる状態は、ハンドの開閉等によって作り出さ
れる。
【0064】先ず、図9(1)〜(4)は第1の適用例
を説明する状態推移図である。
を説明する状態推移図である。
【0065】[適用例1]これは、据置型の溶接ガンを
使用したスポット溶接への適用例であり、システム構成
としては、図3における外部装置40としてスポット溶
接装置を配したものを使用する。各図において、溶接ガ
ン(全体図は省略)の先端部が符号G1 ,G2 で表わさ
れている。先端部G1 ,G2 は、ホストCPU10から
の指令に従って閉成/開成動作を行なう(上下方向矢印
参照)。
使用したスポット溶接への適用例であり、システム構成
としては、図3における外部装置40としてスポット溶
接装置を配したものを使用する。各図において、溶接ガ
ン(全体図は省略)の先端部が符号G1 ,G2 で表わさ
れている。先端部G1 ,G2 は、ホストCPU10から
の指令に従って閉成/開成動作を行なう(上下方向矢印
参照)。
【0066】溶接対象ワークは、2枚の板状部材W1 ,
W2 を重ねたものをまとめて符号Wで表わされている。
ワークWは、ロボットアームAMの先端部に装着された
ハンドHに堅く把持されている。符号W0 は、溶接点に
対応して設定されたツール先端点を表わしている。
W2 を重ねたものをまとめて符号Wで表わされている。
ワークWは、ロボットアームAMの先端部に装着された
ハンドHに堅く把持されている。符号W0 は、溶接点に
対応して設定されたツール先端点を表わしている。
【0067】本願発明の適用にあたっては、ロボットを
図9(1)に示した初期位置から溶接ガンG1 ,G2 に
接近させ、図9(2)の状態とする。この状態へのロボ
ット移動は、粗い位置教示後の再生運転によって行なっ
ても良いし、ジョグ送りによっても良い。また、両者を
組み合わせて利用しても構わない。
図9(1)に示した初期位置から溶接ガンG1 ,G2 に
接近させ、図9(2)の状態とする。この状態へのロボ
ット移動は、粗い位置教示後の再生運転によって行なっ
ても良いし、ジョグ送りによっても良い。また、両者を
組み合わせて利用しても構わない。
【0068】図9(2)の状態では、ツール先端点W0
は位置P0 にあるものとする。この位置(姿勢を含む。
以下、同様)P0 は、図9(1)に符号Q0 で示した最
適の教示位置とは少量ずれていることが通常である。何
故ならば、位置P0 の教示あるいはジョグ送りに、高精
度を期待するのは一般に困難であるからである。図中で
は、特にロボットの姿勢に無視出来ないずれがある状態
が描かれている。
は位置P0 にあるものとする。この位置(姿勢を含む。
以下、同様)P0 は、図9(1)に符号Q0 で示した最
適の教示位置とは少量ずれていることが通常である。何
故ならば、位置P0 の教示あるいはジョグ送りに、高精
度を期待するのは一般に困難であるからである。図中で
は、特にロボットの姿勢に無視出来ないずれがある状態
が描かれている。
【0069】次いで、動作プログラムあるいは教示操作
盤20からの入力により、ソフトフローティングサーボ
制御の開始指令をホストCPU10から発し、ソフトフ
ローティングサーボ制御を開始させる。更に、溶接ガン
G1 ,G2 の閉成指令によって溶接ガンG1 ,G2 の閉
成動作を開始する。やがて、溶接ガンG1 ,G2 は図9
(3)に示したように、ワークWに接触してワークW、
ハンドHを介してロボットに力を及ぼす状態となる。
盤20からの入力により、ソフトフローティングサーボ
制御の開始指令をホストCPU10から発し、ソフトフ
ローティングサーボ制御を開始させる。更に、溶接ガン
G1 ,G2 の閉成指令によって溶接ガンG1 ,G2 の閉
成動作を開始する。やがて、溶接ガンG1 ,G2 は図9
(3)に示したように、ワークWに接触してワークW、
ハンドHを介してロボットに力を及ぼす状態となる。
【0070】ロボットは、ソフトフローティングサーボ
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR1で示した向きに移動を開始する。この移動
は、溶接ガンG1 ,G2 の閉成動作が進み、図9(4)
の状態(閉成完了)まで続行される。図9(4)の状態
においては、ロボットの位置(特に、姿勢)が図9
(2)の状態から修正され、最適な位置Q0 により近い
ロボット位置が実現されているものと考えられる。
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR1で示した向きに移動を開始する。この移動
は、溶接ガンG1 ,G2 の閉成動作が進み、図9(4)
の状態(閉成完了)まで続行される。図9(4)の状態
においては、ロボットの位置(特に、姿勢)が図9
(2)の状態から修正され、最適な位置Q0 により近い
ロボット位置が実現されているものと考えられる。
【0071】そこで、この図9(4)の状態で、位置教
示を実行すれば高精度の位置教示が実現される。粗い位
置教示によって位置P0 の位置データが不揮発性メモリ
13に書き込み済みである場合には、その位置データが
書き直される。また、初めての位置教示の場合(位置P
0 への移動はジョグ送り)であれば、図9(4)の状態
における現在位置データに基づいて、新規に位置データ
が不揮発性メモリ13の位置データ書込領域に書き込ま
れる。位置教示が終わったら、溶接ガンG1 ,G2 を開
成し、ロボットを退避させた上でソフトフローティング
サーボ制御を解除する。
示を実行すれば高精度の位置教示が実現される。粗い位
置教示によって位置P0 の位置データが不揮発性メモリ
13に書き込み済みである場合には、その位置データが
書き直される。また、初めての位置教示の場合(位置P
0 への移動はジョグ送り)であれば、図9(4)の状態
における現在位置データに基づいて、新規に位置データ
が不揮発性メモリ13の位置データ書込領域に書き込ま
れる。位置教示が終わったら、溶接ガンG1 ,G2 を開
成し、ロボットを退避させた上でソフトフローティング
サーボ制御を解除する。
【0072】なお、この適用例の変形として、ワークW
に代えてポータブルガンをロボットに装着し、位置決め
されたワークに対してロボットを接近させ、ソフトフロ
ーティングサーボ制御の下で、ポータブルガンを閉成さ
せる態様が考えられる。この場合には、ポータブルガン
を介してロボットに作用する力によってロボットがより
適正な教示位置へ移動され、移動後の位置が教示され
る。
に代えてポータブルガンをロボットに装着し、位置決め
されたワークに対してロボットを接近させ、ソフトフロ
ーティングサーボ制御の下で、ポータブルガンを閉成さ
せる態様が考えられる。この場合には、ポータブルガン
を介してロボットに作用する力によってロボットがより
適正な教示位置へ移動され、移動後の位置が教示され
る。
【0073】[適用例2]これは、ロボットハンドによ
るハンドリングへの適用例であり、システム構成として
は、図3における外部装置40としてハンド(開閉装
置)を配したものを使用する。各図において、ロボット
のアーム先端AMの装着されたハンドHの把持部が符号
H1 ,H2 で表わされている。ハンドHの把持部H1 ,
H2 は、ホストCPU10からの指令に従って閉成/開
成動作を行なう(左右方向矢印参照)。
るハンドリングへの適用例であり、システム構成として
は、図3における外部装置40としてハンド(開閉装
置)を配したものを使用する。各図において、ロボット
のアーム先端AMの装着されたハンドHの把持部が符号
H1 ,H2 で表わされている。ハンドHの把持部H1 ,
H2 は、ホストCPU10からの指令に従って閉成/開
成動作を行なう(左右方向矢印参照)。
【0074】ハンドリング対象ワークWは、ワークテー
ブルTB上に固定的に位置決めされている。ハンドHに
よるワークWのハンドリングは、把持部H1 ,H2 の閉
成動作によってワークWの突起部PRを挟むことで達成
されるものとする。このケースで把持を確実に行なう為
には、突起部PRを把持部H1 ,H2 で挟む時のロボッ
トの姿勢が特に重要である。なお、符号H0 は、ハンド
Hの軸線上に設定されたツール先端点を表わしている。
ブルTB上に固定的に位置決めされている。ハンドHに
よるワークWのハンドリングは、把持部H1 ,H2 の閉
成動作によってワークWの突起部PRを挟むことで達成
されるものとする。このケースで把持を確実に行なう為
には、突起部PRを把持部H1 ,H2 で挟む時のロボッ
トの姿勢が特に重要である。なお、符号H0 は、ハンド
Hの軸線上に設定されたツール先端点を表わしている。
【0075】本願発明の適用にあたっては、ロボットを
図10(1)に示した初期位置からワークWに接近さ
せ、図10(2)の状態とする。この状態へのロボット
移動は、適用例1の場合と同じく、粗い位置教示後の再
生運転によって行なっても良い。また、ジョグ送りによ
っても良く、両者を組み合わせても構わない。
図10(1)に示した初期位置からワークWに接近さ
せ、図10(2)の状態とする。この状態へのロボット
移動は、適用例1の場合と同じく、粗い位置教示後の再
生運転によって行なっても良い。また、ジョグ送りによ
っても良く、両者を組み合わせても構わない。
【0076】図10(2)の状態では、ツール先端点H
0 は位置P0 にあるものとする。この位置(姿勢を含
む。以下、同様)P0 は、適用例1の場合と同じく、図
10(1)に符号Q0 で示した最適の教示位置とは少量
ずれていることが通常である。
0 は位置P0 にあるものとする。この位置(姿勢を含
む。以下、同様)P0 は、適用例1の場合と同じく、図
10(1)に符号Q0 で示した最適の教示位置とは少量
ずれていることが通常である。
【0077】次いで、動作プログラムあるいは教示操作
盤20からの入力により、ソフトフローティングサーボ
制御の開始指令をホストCPU10から発し、ソフトフ
ローティングサーボ制御を開始させる。更に、溶接ガン
G1 ,G2 の閉成指令によって溶接ガンG1 ,G2 の閉
成動作を開始する。やがて、把持部H1 ,H2 は図10
(3)に示したように、ワークWに接触してハンドHを
介してロボットに力を及ぼす状態となる。
盤20からの入力により、ソフトフローティングサーボ
制御の開始指令をホストCPU10から発し、ソフトフ
ローティングサーボ制御を開始させる。更に、溶接ガン
G1 ,G2 の閉成指令によって溶接ガンG1 ,G2 の閉
成動作を開始する。やがて、把持部H1 ,H2 は図10
(3)に示したように、ワークWに接触してハンドHを
介してロボットに力を及ぼす状態となる。
【0078】ロボットは、ソフトフローティングサーボ
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR2で示した向きに移動を開始する。
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR2で示した向きに移動を開始する。
【0079】この移動は、把持部H1 ,H2 の閉成動作
が進み、図10(4)の状態(閉成完了)まで続行され
る。図10(4)の状態においては、ロボットの位置
(特に、姿勢)が図10(2)の状態から修正され、最
適な位置Q0 により近いロボット位置が実現されている
ものと考えられる。
が進み、図10(4)の状態(閉成完了)まで続行され
る。図10(4)の状態においては、ロボットの位置
(特に、姿勢)が図10(2)の状態から修正され、最
適な位置Q0 により近いロボット位置が実現されている
ものと考えられる。
【0080】そこで、この図10(4)の状態で、位置
教示を実行すれば高精度の位置教示が実現される。適用
例1の場合と同じく、粗い位置教示によって位置P0 の
位置データが不揮発性メモリ13に書き込み済みである
場合には、その位置データが書き直される。また、初め
ての位置教示の場合(位置P0 への移動はジョグ送り)
であれば、図10(4)の状態における現在位置データ
に基づいて、新規に位置データが不揮発性メモリ13の
位置データ書込領域に書き込まれる。位置教示が完了し
たら、把持部H1 ,H2 を開成し、ロボットを退避させ
た上でソフトフローティングサーボ制御を解除する。
教示を実行すれば高精度の位置教示が実現される。適用
例1の場合と同じく、粗い位置教示によって位置P0 の
位置データが不揮発性メモリ13に書き込み済みである
場合には、その位置データが書き直される。また、初め
ての位置教示の場合(位置P0 への移動はジョグ送り)
であれば、図10(4)の状態における現在位置データ
に基づいて、新規に位置データが不揮発性メモリ13の
位置データ書込領域に書き込まれる。位置教示が完了し
たら、把持部H1 ,H2 を開成し、ロボットを退避させ
た上でソフトフローティングサーボ制御を解除する。
【0081】[適用例3]これは、ロボットハンドによ
るローディングへの適用例であり、システム構成として
は、図3における外部装置40としてハンド(開閉装
置)並びにチャック(開閉装置)を配したものを使用す
る。図11(1)〜(4)において、符号CH1 〜CH
4 で表わされたチャッキング部材を有するチャックCH
(全体描図は省略)は、例えば工作機械のワーク保持部
に使用されてるものである。これらのチャッキング部材
CH1 〜CH4 は、ホストCPU10からの指令に従っ
て拡張/収縮方向に閉成/開成動作を行なう(各矢印参
照)。
るローディングへの適用例であり、システム構成として
は、図3における外部装置40としてハンド(開閉装
置)並びにチャック(開閉装置)を配したものを使用す
る。図11(1)〜(4)において、符号CH1 〜CH
4 で表わされたチャッキング部材を有するチャックCH
(全体描図は省略)は、例えば工作機械のワーク保持部
に使用されてるものである。これらのチャッキング部材
CH1 〜CH4 は、ホストCPU10からの指令に従っ
て拡張/収縮方向に閉成/開成動作を行なう(各矢印参
照)。
【0082】ロボットのハンドHからチャックCHにロ
ーディングされるワークWは、ロボットのアームAMに
装着されたハンドHの把持部H1 ,H2 によって把持さ
れているものとする。そして、ワークWのローディング
は、ロボット移動によってワークWをチャッキング部材
CH1 〜CH4 で取り囲まれた空間領域に搬送し、チャ
ッキング部材CH1 〜CH4 の閉成動作によってワーク
Wの四個の側面を挟むことで達成されるものとする。
ーディングされるワークWは、ロボットのアームAMに
装着されたハンドHの把持部H1 ,H2 によって把持さ
れているものとする。そして、ワークWのローディング
は、ロボット移動によってワークWをチャッキング部材
CH1 〜CH4 で取り囲まれた空間領域に搬送し、チャ
ッキング部材CH1 〜CH4 の閉成動作によってワーク
Wの四個の側面を挟むことで達成されるものとする。
【0083】このケースでローディングを支障なく行な
う為には、ワークWの四辺側面をチャッキング部材CH
1 〜CH4 で挟む時のロボットの姿勢が特に重要であ
る。なお、符号H0 は、ハンドHの軸線上に設定された
ツール先端点を表わしている。また、符号CH0 はロー
ディングの為に最適と考えられる教示点を表わしたもの
である。
う為には、ワークWの四辺側面をチャッキング部材CH
1 〜CH4 で挟む時のロボットの姿勢が特に重要であ
る。なお、符号H0 は、ハンドHの軸線上に設定された
ツール先端点を表わしている。また、符号CH0 はロー
ディングの為に最適と考えられる教示点を表わしたもの
である。
【0084】本願発明の適用にあたっては、ロボットを
図11(1)に示した初期位置からチャックCHに接近
させ、図11(2)の状態とする。なお、図11(2)
〜図11(4)においては、ワークWの位置とチャッキ
ング部材CH1 〜CH4 の状態のみを抽出して図11
(1)の矢印Cの方向から見た平面図で描示した。この
状態へのロボット移動には、適用例1,2の場合と同じ
く、粗い位置教示後の再生運転あるいはジョグ送りが適
宜利用される。
図11(1)に示した初期位置からチャックCHに接近
させ、図11(2)の状態とする。なお、図11(2)
〜図11(4)においては、ワークWの位置とチャッキ
ング部材CH1 〜CH4 の状態のみを抽出して図11
(1)の矢印Cの方向から見た平面図で描示した。この
状態へのロボット移動には、適用例1,2の場合と同じ
く、粗い位置教示後の再生運転あるいはジョグ送りが適
宜利用される。
【0085】図11(2)の状態では、ツール先端点H
0 は位置P0 にあるものとする。この位置P0 は、最適
の教示位置CH0 とは少量ずれている。次いで、動作プ
ログラムあるいは教示操作盤20からの入力により、ソ
フトフローティングサーボ制御の開始指令をホストCP
U10から発し、ソフトフローティングサーボ制御を開
始させる。更に、チャックCHに対する閉成指令によっ
てチャッキング部材CH1 〜CH4 の閉成動作を開始す
る。やがて、チャッキング部材CH1 〜CH4の内の一
部または全部は図11(3)に示したように、ワークW
に接触してワークW、ハンドHを介してロボットに力を
及ぼす状態となる。
0 は位置P0 にあるものとする。この位置P0 は、最適
の教示位置CH0 とは少量ずれている。次いで、動作プ
ログラムあるいは教示操作盤20からの入力により、ソ
フトフローティングサーボ制御の開始指令をホストCP
U10から発し、ソフトフローティングサーボ制御を開
始させる。更に、チャックCHに対する閉成指令によっ
てチャッキング部材CH1 〜CH4 の閉成動作を開始す
る。やがて、チャッキング部材CH1 〜CH4の内の一
部または全部は図11(3)に示したように、ワークW
に接触してワークW、ハンドHを介してロボットに力を
及ぼす状態となる。
【0086】ロボットは、ソフトフローティングサーボ
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR3で示した向きに移動を開始する。
制御が行なわれている為に、この反力に抗しきれずに、
矢印AR3で示した向きに移動を開始する。
【0087】この移動は、チャッキング部材CH1 〜C
H4 の閉成動作が進み、図11(4)の状態(閉成完
了)まで続行される。図11(4)の状態においては、
ロボットの位置(特に、姿勢)が図11(2)の状態か
ら修正され、最適な位置CH0により近いロボット位置
が実現されている。
H4 の閉成動作が進み、図11(4)の状態(閉成完
了)まで続行される。図11(4)の状態においては、
ロボットの位置(特に、姿勢)が図11(2)の状態か
ら修正され、最適な位置CH0により近いロボット位置
が実現されている。
【0088】そこで、この図11(4)の状態で、位置
教示を実行すれば高精度の位置教示が実現される。適用
例1,2の場合と同じく、粗い位置教示によって位置P
0 の位置データが不揮発性メモリ13に書き込み済みで
ある場合には、その位置データが書き直される。また、
初めての位置教示の場合(位置P0 への移動はジョグ送
り)であれば、図11(4)の状態における現在位置デ
ータに基づいて、新規に位置データが不揮発性メモリ1
3の位置データ書込領域に書き込まれる。位置教示が完
了したら、チャッキング部材CH1 〜CH4 を開成し、
ロボットを退避させた上でソフトフローティングサーボ
制御を解除する。
教示を実行すれば高精度の位置教示が実現される。適用
例1,2の場合と同じく、粗い位置教示によって位置P
0 の位置データが不揮発性メモリ13に書き込み済みで
ある場合には、その位置データが書き直される。また、
初めての位置教示の場合(位置P0 への移動はジョグ送
り)であれば、図11(4)の状態における現在位置デ
ータに基づいて、新規に位置データが不揮発性メモリ1
3の位置データ書込領域に書き込まれる。位置教示が完
了したら、チャッキング部材CH1 〜CH4 を開成し、
ロボットを退避させた上でソフトフローティングサーボ
制御を解除する。
【0089】以上3つの適用例について説明したが、本
願発明はこれらの適用例に限定されれれうものではな
い。即ち、最適の教示位置からずれた位置にロボットが
存在する時に該位置ずれを修正する方向に作用する外力
をロボットに加え得る環境にある教示位置について教示
を行なうケースであれば、上記各事例で説明した考え方
を状況に応じて適用し、本願発明の方法を実施すること
が可能である。
願発明はこれらの適用例に限定されれれうものではな
い。即ち、最適の教示位置からずれた位置にロボットが
存在する時に該位置ずれを修正する方向に作用する外力
をロボットに加え得る環境にある教示位置について教示
を行なうケースであれば、上記各事例で説明した考え方
を状況に応じて適用し、本願発明の方法を実施すること
が可能である。
【0090】なお、本願発明の方法を実施する際にソフ
トフローティングサーボ制御を実行する軸は、ロボット
の全軸とすることも出来るが、必ずしもそうする必要は
ない。即ち、ロボットが不必要な運動方向について「柔
らかく」ならない為に、ソフトフローティングサーボ制
御を実行する軸を限定することも可能である。ソフトフ
ローティングサーボ制御を実行する軸の選択にあたって
は、使用されるロボットの軸構成、アプリケーションの
タイプ、特に、最適の教示位置からずれた位置にロボッ
トが存在する時に受ける反力の作用方向がを考慮され
る。例えば、上記各適用例1〜3においては、矢印AR
1〜AR3で示した方向へのロボットの移動を許容する
柔らかさがロボットに要求される。従って、少なくとも
このような移動に対応した運動自由度に関連した軸につ
いては、ソフトフローティングサーボ制御を行なうこと
が必要である。
トフローティングサーボ制御を実行する軸は、ロボット
の全軸とすることも出来るが、必ずしもそうする必要は
ない。即ち、ロボットが不必要な運動方向について「柔
らかく」ならない為に、ソフトフローティングサーボ制
御を実行する軸を限定することも可能である。ソフトフ
ローティングサーボ制御を実行する軸の選択にあたって
は、使用されるロボットの軸構成、アプリケーションの
タイプ、特に、最適の教示位置からずれた位置にロボッ
トが存在する時に受ける反力の作用方向がを考慮され
る。例えば、上記各適用例1〜3においては、矢印AR
1〜AR3で示した方向へのロボットの移動を許容する
柔らかさがロボットに要求される。従って、少なくとも
このような移動に対応した運動自由度に関連した軸につ
いては、ソフトフローティングサーボ制御を行なうこと
が必要である。
【0091】
【発明の効果】以上説明したように、本願発明によれ
ば、スポット溶接、ハンドリング、ローディング等のよ
うに、最適の教示位置からずれた位置にロボットが存在
する時に該位置ずれを修正する方向に作用する外力がロ
ボットに加わり得る環境が与えらたアプリケーションに
ついて、位置教示作業の作業負担を軽減し、短時間で高
精度の位置教示を行なうことが出来る。
ば、スポット溶接、ハンドリング、ローディング等のよ
うに、最適の教示位置からずれた位置にロボットが存在
する時に該位置ずれを修正する方向に作用する外力がロ
ボットに加わり得る環境が与えらたアプリケーションに
ついて、位置教示作業の作業負担を軽減し、短時間で高
精度の位置教示を行なうことが出来る。
【0092】また、ソフトフローティングサーボ制御時
のソフトフローティング機能のバネ定数がロボット姿勢
に影響されないようにした方式を採用すれば、ロボット
姿勢によって変動しない柔らかさをもったソフトフロー
ティングサーボ制御の下で、位置教示を行なうことが出
来る。
のソフトフローティング機能のバネ定数がロボット姿勢
に影響されないようにした方式を採用すれば、ロボット
姿勢によって変動しない柔らかさをもったソフトフロー
ティングサーボ制御の下で、位置教示を行なうことが出
来る。
【図1】本願発明のソフトウェアによるソフトフローテ
ィングサーボ制御方法を実施するサーボ制御系のブロッ
ク図である。
ィングサーボ制御方法を実施するサーボ制御系のブロッ
ク図である。
【図2】従来のサーボ制御系のブロック図である。
【図3】本願発明の実施例で使用されるロボットコント
ローラRCを関連機器と共に要部ブロック図で示したも
のである。
ローラRCを関連機器と共に要部ブロック図で示したも
のである。
【図4】本願発明の実施例における位置・速度ループ処
理の概要を記したフローチャートである。
理の概要を記したフローチャートである。
【図5】ロボットとして、2軸により構成される一例を
想定した場合の構成を説明する図である。
想定した場合の構成を説明する図である。
【図6】図5による説明を補助する為の平面図である。
【図7】ロボットとして、3軸により構成される一例を
想定した場合の構成を説明する図である。
想定した場合の構成を説明する図である。
【図8】図7による説明を補助する為の平面図である。
【図9】(1)〜(4)は本願発明の方法の第1の適用
例(スポット溶接)を説明する状態推移図である。
例(スポット溶接)を説明する状態推移図である。
【図10】(1)〜(4)は本願発明の方法の第2の適
用例(ハンドリング)を説明する状態推移図である。
用例(ハンドリング)を説明する状態推移図である。
【図11】(1)〜(4)は本願発明の方法の第3の適
用例(ローディング)を説明する状態推移図である。
用例(ローディング)を説明する状態推移図である。
【符号の説明】 1 位置ループのボジションゲインの項 2 速度ループゲインの項 3,4 モータの伝達関数の項 5 モータ速度からモータ位置を求める伝達関数 10 ホストCPU 11 ROM 12 RAM 13 不揮発性メモリ 14 入出力装置 15 インターフェイス 16 共有RAM 17 ディジタルサーボ回路 18 帰還レジスタ 19 バスライン 20 教示操作盤 30 ロボット 40 外部装置 AM ロボットアーム(先端部) AR1,AR2 反力によるロボット移動方向 CH チャック CH0 ,Q0 最適の教示位置 CH1 〜CH4 チャッキング部材 G1 ,G2 溶接ガン(先端部) H ハンド H0 ,W0 ツール先端点 H1 ,H2 ハンド先端部 J イナーシャ KB キーボード Kp ポジションゲイン Kv 速度ループゲイン Kt トルク定数 LCD 液晶ディスプレイ PR 突起部 P0 粗い精度で教示された教示点 RC ロボットコントローラ TB ワークテーブル W1 ,W2 板状部材 W ワーク
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05D 3/12 305 V 306 Z
Claims (3)
- 【請求項1】 位置制御ループ及び速度制御ループを備
える制御系で制御されるサーボモータで各軸を駆動され
るロボットに対し、最適の教示位置からずれた位置にロ
ボットが存在する時に該位置ずれを修正する方向に作用
する外力をロボットに加え得る環境にある教示位置につ
いて教示を行なう方法であって、 前記ロボットをプログラム再生運転を含む動作により前
記最適の教示位置の近傍にロボットを移動させ、前記最
適な教示位置からの位置ずれを修正する方向に作用する
外力を前記ロボットに加える段階と、 前記外力に従って前記ロボットが移動する制御を開始さ
せる段階と、 前記ロボットの移動後に現在位置データに基づいて前記
教示位置データを修正する段階を含むことを特徴とする
ロボットの位置教示方法。 - 【請求項2】 位置制御ループ及び速度制御ループを備
える制御系で制御されるサーボモータで各軸を駆動され
るロボットに対し、最適の教示位置からずれた位置にロ
ボットが存在する時に該位置ずれを修正する方向に作用
する外力をロボットに加え得る環境にある教示位置につ
いて教示を行なう方法であって、 前記ロボットをジョグ送り操作により前記最適の教示位
置の近傍にロボットを移動させ、前記最適な教示位置か
らの位置ずれを修正する方向に作用する外力を前記ロボ
ットに加える段階と、 前記外力に従って前記ロボットが移動する制御を開始さ
せる段階と、前記ロボットの移動後に現在位置データに
基づいて前記教示位置データを教示する段階を含むこと
を特徴とするロボットの位置教示方法。 - 【請求項3】 前記外力に従って前記ロボットが移動す
る制御がソフトフローティングサーボによる制御によっ
て行なわれ、その際にソフトフローティング機能のバネ
定数が予め設定された値と一致するように制御されるこ
とを特徴とする請求項1または請求項2に記載されたロ
ボットの位置教示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23247994A JP3421442B2 (ja) | 1994-09-02 | 1994-09-02 | ロボットの位置教示方法及びロボット制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23247994A JP3421442B2 (ja) | 1994-09-02 | 1994-09-02 | ロボットの位置教示方法及びロボット制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0871969A true JPH0871969A (ja) | 1996-03-19 |
JP3421442B2 JP3421442B2 (ja) | 2003-06-30 |
Family
ID=16939956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23247994A Expired - Fee Related JP3421442B2 (ja) | 1994-09-02 | 1994-09-02 | ロボットの位置教示方法及びロボット制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3421442B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998033100A1 (fr) * | 1997-01-27 | 1998-07-30 | Fanuc Ltd | Procede et systeme de commande de robot |
US7376488B2 (en) | 2003-02-27 | 2008-05-20 | Fanuc Ltd. | Taught position modification device |
WO2010004635A1 (ja) * | 2008-07-10 | 2010-01-14 | 川崎重工業株式会社 | ロボット及びその教示方法 |
JP2012254524A (ja) * | 2012-08-30 | 2012-12-27 | Kawasaki Heavy Ind Ltd | ロボット及びその教示方法 |
JP2013056420A (ja) * | 2012-12-25 | 2013-03-28 | Kawasaki Heavy Ind Ltd | ロボットのターゲット位置検出装置 |
JP2013103298A (ja) * | 2011-11-14 | 2013-05-30 | Honda Motor Co Ltd | 把持部位置決め治具 |
WO2015049858A1 (ja) * | 2013-10-01 | 2015-04-09 | 川崎重工業株式会社 | ロボット及びロボットの制御方法 |
JP2015085455A (ja) * | 2013-10-31 | 2015-05-07 | セイコーエプソン株式会社 | ロボット、ロボットシステム、ロボット制御装置 |
DE102015007524A1 (de) | 2014-06-20 | 2015-12-24 | Fanuc Corporation | Mehrgelenkroboter mit einer Funktion zum Repositionieren des Arms |
WO2020133877A1 (zh) * | 2018-12-26 | 2020-07-02 | 南京埃斯顿机器人工程有限公司 | 一种无传感器的工业机器人直线软浮动控制方法 |
US10792751B2 (en) | 2017-04-25 | 2020-10-06 | Fanuc Corporation | Teaching system and teaching method of welding robot |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61264406A (ja) * | 1985-05-20 | 1986-11-22 | Fujitsu Ltd | 移動体制御装置 |
JPS624584A (ja) * | 1985-06-28 | 1987-01-10 | 松下電器産業株式会社 | ロボツトア−ムのコンプライアンス制御装置 |
JPH0258107A (ja) * | 1988-08-24 | 1990-02-27 | Toshiba Corp | ロボットティーチング時の操作者支援制御方式 |
JPH03218502A (ja) * | 1990-01-24 | 1991-09-26 | Murata Mach Ltd | ロボットの教示装置 |
JPH0440506A (ja) * | 1990-06-06 | 1992-02-10 | Murata Mach Ltd | ロボットの教示装置 |
-
1994
- 1994-09-02 JP JP23247994A patent/JP3421442B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61264406A (ja) * | 1985-05-20 | 1986-11-22 | Fujitsu Ltd | 移動体制御装置 |
JPS624584A (ja) * | 1985-06-28 | 1987-01-10 | 松下電器産業株式会社 | ロボツトア−ムのコンプライアンス制御装置 |
JPH0258107A (ja) * | 1988-08-24 | 1990-02-27 | Toshiba Corp | ロボットティーチング時の操作者支援制御方式 |
JPH03218502A (ja) * | 1990-01-24 | 1991-09-26 | Murata Mach Ltd | ロボットの教示装置 |
JPH0440506A (ja) * | 1990-06-06 | 1992-02-10 | Murata Mach Ltd | ロボットの教示装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998033100A1 (fr) * | 1997-01-27 | 1998-07-30 | Fanuc Ltd | Procede et systeme de commande de robot |
EP0901054A1 (en) * | 1997-01-27 | 1999-03-10 | Fanuc Ltd | Method and system for controlling robot |
US6140788A (en) * | 1997-01-27 | 2000-10-31 | Fanuc Ltd. | Method and system for controlling robot |
EP0901054A4 (en) * | 1997-01-27 | 2003-03-12 | Fanuc Ltd | ROBOT CONTROL METHOD AND SYSTEM |
US7376488B2 (en) | 2003-02-27 | 2008-05-20 | Fanuc Ltd. | Taught position modification device |
KR101291368B1 (ko) * | 2008-07-10 | 2013-07-30 | 가와사키 쥬코교 가부시키가이샤 | 로봇 및 그 교시 방법 |
EP2308657A1 (en) * | 2008-07-10 | 2011-04-13 | Kawasaki Jukogyo Kabushiki Kaisha | Robot and its teaching method |
EP2308657A4 (en) * | 2008-07-10 | 2012-05-09 | Kawasaki Heavy Ind Ltd | ROBOT AND METHOD OF TEACHING |
JP5114804B2 (ja) * | 2008-07-10 | 2013-01-09 | 川崎重工業株式会社 | ロボット及びその教示方法 |
WO2010004635A1 (ja) * | 2008-07-10 | 2010-01-14 | 川崎重工業株式会社 | ロボット及びその教示方法 |
US8788087B2 (en) | 2008-07-10 | 2014-07-22 | Kawasaki Jukogyo Kabushiki Kaisha | Robot and instruction method thereof |
JP2013103298A (ja) * | 2011-11-14 | 2013-05-30 | Honda Motor Co Ltd | 把持部位置決め治具 |
JP2012254524A (ja) * | 2012-08-30 | 2012-12-27 | Kawasaki Heavy Ind Ltd | ロボット及びその教示方法 |
JP2013056420A (ja) * | 2012-12-25 | 2013-03-28 | Kawasaki Heavy Ind Ltd | ロボットのターゲット位置検出装置 |
WO2015049858A1 (ja) * | 2013-10-01 | 2015-04-09 | 川崎重工業株式会社 | ロボット及びロボットの制御方法 |
JP2015071191A (ja) * | 2013-10-01 | 2015-04-16 | 川崎重工業株式会社 | ロボット及びロボットの制御方法 |
CN105579203A (zh) * | 2013-10-01 | 2016-05-11 | 川崎重工业株式会社 | 机械手及机械手的控制方法 |
CN105579203B (zh) * | 2013-10-01 | 2018-09-07 | 川崎重工业株式会社 | 机械手及机械手的控制方法 |
JP2015085455A (ja) * | 2013-10-31 | 2015-05-07 | セイコーエプソン株式会社 | ロボット、ロボットシステム、ロボット制御装置 |
DE102015007524A1 (de) | 2014-06-20 | 2015-12-24 | Fanuc Corporation | Mehrgelenkroboter mit einer Funktion zum Repositionieren des Arms |
US9821459B2 (en) | 2014-06-20 | 2017-11-21 | Fanuc Corporation | Multi-joint robot having function for repositioning arm |
DE102015007524B4 (de) | 2014-06-20 | 2019-03-14 | Fanuc Corporation | Mehrgelenkroboter mit einer Funktion zum Repositionieren des Arms |
US10792751B2 (en) | 2017-04-25 | 2020-10-06 | Fanuc Corporation | Teaching system and teaching method of welding robot |
WO2020133877A1 (zh) * | 2018-12-26 | 2020-07-02 | 南京埃斯顿机器人工程有限公司 | 一种无传感器的工业机器人直线软浮动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3421442B2 (ja) | 2003-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3288250B2 (ja) | ロボット制御装置 | |
EP0901054B1 (en) | Method and system for controlling robot | |
JPH079606B2 (ja) | ロボット制御装置 | |
JP3421442B2 (ja) | ロボットの位置教示方法及びロボット制御装置 | |
JPS60160409A (ja) | ロボツトシステムの安全方法 | |
WO2001023149A1 (fr) | Unité de commande de robot | |
KR960001962B1 (ko) | 로보트의 공구 자세 제어방법 | |
US20210260750A1 (en) | Method to Modify a Program for Robotic Welding | |
JPH06155346A (ja) | ロボットの教示装置 | |
JP2771458B2 (ja) | 産業用ロボットの撓み補正方法 | |
JP3483675B2 (ja) | ソフトフローティング機能を用いた位置教示方法 | |
JPS58155188A (ja) | 産業用ロボツト | |
JPH0425905A (ja) | 産業用ロボットの教示・再生方法 | |
JPH01187602A (ja) | ロボット制御方法 | |
JPH01175004A (ja) | ロボット制御装置 | |
JPH03270887A (ja) | 工業用ロボットの制御装置および制御方法 | |
JPS6054275A (ja) | 溶接ト−チの駆動制御方法 | |
JPS6227802A (ja) | 工業用ロボツトのハンド制御装置及び制御方法 | |
JPH01228693A (ja) | ティーチング機能を備えたレーザ加工機 | |
JPH04273303A (ja) | サーボ機構による位置検出センサの制御方法 | |
JPH0957671A (ja) | 多関節型移動体の制御装置及びその制御方法 | |
JPS59201775A (ja) | ロボツトの制御装置 | |
JPS60151715A (ja) | ロボツトの座標変換方法 | |
JPS62287988A (ja) | 工業用ロボツトの動作範囲制御方法 | |
JPH07175508A (ja) | ロボット制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010116 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080418 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090418 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |