JP3878054B2 - Robot controller - Google Patents

Robot controller Download PDF

Info

Publication number
JP3878054B2
JP3878054B2 JP2002132952A JP2002132952A JP3878054B2 JP 3878054 B2 JP3878054 B2 JP 3878054B2 JP 2002132952 A JP2002132952 A JP 2002132952A JP 2002132952 A JP2002132952 A JP 2002132952A JP 3878054 B2 JP3878054 B2 JP 3878054B2
Authority
JP
Japan
Prior art keywords
value
command
torque
drive torque
calculating
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.)
Expired - Lifetime
Application number
JP2002132952A
Other languages
Japanese (ja)
Other versions
JP2003025272A (en
JP2003025272A5 (en
Inventor
清石 前川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002132952A priority Critical patent/JP3878054B2/en
Publication of JP2003025272A publication Critical patent/JP2003025272A/en
Publication of JP2003025272A5 publication Critical patent/JP2003025272A5/ja
Application granted granted Critical
Publication of JP3878054B2 publication Critical patent/JP3878054B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、モータを用いてロボットを駆動するロボット制御装置、特に付加的なセンサを用いずにロボットが周辺物に衝突したことを検知し、ロボット及び周辺物の破損を防止するロボット制御装置に関するものである。
【0002】
【従来の技術】
従来、ロボットが周辺物に衝突したことを検知する方式としては、例えば、特開昭63−127889号公報に記載されているように、各関節軸を駆動するモータの電流を検出する電流検出手段と、各関節軸の関節角度から当該モータの必要駆動トルクを計算し、これによりモータの電流制限値を演算する演算手段とを有し、電流検出手段により検出された電流と演算手段により演算された電流制限値とを比較することにより、ロボットが障害物に接触したことを検知する方式が用いられている。
一方、ロボットの手先の軌跡精度を向上するため、位置指令、速度指令、加速度指令より必要となる駆動トルク指令を計算し、トルクフィードフォワードを行う方式も従来より行われてきた。
【0003】
また、例えば、特開平1−310889号公報に記載されているように、電流制限値と実際の電流を比較して衝突を検知するだけでなく、必要駆動トルクに基づいて許容トルクを設定し、モータの出力トルクを当該許容トルク以内に拘束する方式も用いられていた。
【0004】
【発明が解決しようとする課題】
従来のロボット制御装置は以上のように構成されているので、軌跡精度を向上させるためにトルクフィードフォワードを行う方式と、付加的なセンサを用いずに各関節軸の関節角度から必要駆動トルクを演算する方式とをそのまま併用すると、指令値から行う駆動トルクの計算と実際の関節角度から行う駆動トルクの計算とを両方行う必要があり、計算量の多い駆動トルクの計算を2度行うことになるため、制御装置内で処理しなければならない計算量が増加するという課題があった。
また、衝突の判定に用いる駆動トルクとして、トルクフィードフォワードの計算結果をそのまま用いることも考えられるが、トルクフィードフォワードの計算結果をそのまま用いたのでは、駆動トルクの推定精度が低く、衝突判定の精度も低下する課題があった。
さらに、ロボットの各関節軸に作用する粘性摩擦、クーロン摩擦の係数は、周辺の温度の等の条件に応じて変動する。従って、必要駆動トルクを演算する際、粘性摩擦係数及びクーロン摩擦係数として一定値を用いると、必要駆動トルクの計算精度が低下し、衝突判定の精度も低下する課題があった。また、ロボットの手先に取り付ける負荷の質量が未知の場合も必要駆動トルクの計算精度が低下し、衝突判定の精度も低下する課題があった。
さらに、ロボットの各軸を駆動するモータの出力を高精度に制限できなかったため、衝突検知後の停止動作中に過大な力がロボット及びロボットと衝突した周辺物に作用する課題があった。
さらに、ロボットの手先に取り付けた負荷の質量、ロボットを動作させる際の加速度、速度、位置等に応じてトルク推定精度は異なる。また、バリ取り等の作業をロボットが行う場合、ハンド開閉を行う際にはロボットが反力を受けるため一定のしきい値で衝突を判別すると最悪の場合に合わせるため衝突判定の精度が低下する、あるいは、反力を受ける作業・動作で誤って衝突を判別してしまう課題があった。
【0005】
さらに、演算した必要駆動トルクに基づいて許容トルクを設定し、モータの出力トルクを許容トルク以内に制限しているため等価的にサーボ剛性が低下し、ロボットが障害物に衝突したときに作用する衝撃力が大きい場合等にはロボットが衝突の反動で戻り過ぎる恐れがあった。また、必要駆動トルクを指令値に基づいて算出している場合、減速停止指令が生成されると、減速停止中の加減速トルクは衝突時の動作方向とは反対方向のトルクとなるため、モータの出力トルクを許容トルク以内に制限する機能により押し付け力を低減する方向に作用するためロボットや衝突した対象物の保護には好ましい。しかし、減速停止指令に基づく加減速トルクが押し付け力以上に大きい場合は、今までの移動方向とは反対方向に加速するトルク指令が与えられることと等価になり、反対方向にロボットが動作し過ぎる恐れがあった。一方、減速停止指令に基づく加減速トルクを押し付け力に近づけることによりロボットや衝突した対象物に作用する力を制限しようとすると、減速度を大きくしなければならないため、停止時の振動が起こりやすい課題もあった。
さらに、このようなロボット制御装置において、電流検出手段により検出された電流と電流制限値演算手段により演算された電流制限値を比較する基準値が大き過ぎると衝突検知感度が低下し、衝突しても検知しない場合があったり、衝突を検知してもロボットやロボットが衝突した対象物に大きな力が作用してしまう。一方、電流検出手段により検出された電流と電流制限値演算手段により演算された電流制限値を比較する基準値が小さ過ぎると、衝突していないのに衝突していると誤って検知し、不必要にロボットを停止させてしまう。そのため、適切な基準値を設定する必要があるが、適切な基準値の設定方法については何ら触れられていなかった。
さらに、このようなロボット制御装置において、ロボット手先が下向きに動作しているときに対象物に衝突すると、衝突を検知して停止するが、ロボットが対象物を押し込んでいる状態で停止する。ロボットが対象物を押し下げている状態で停止すると、そのままでは対象物を除去して衝突状態を解消することができないため、ロボット手先を上方に移動させる必要がある。しかし、ロボットを上昇させようとすると、衝突状態にあるため、再度衝突を検知して停止してしまうため、ロボットを上昇させて衝突状態を解消することができない課題があった。
さらに、ロボットを誤って衝突させてしまって停止した後、作業者がロボットに回避動作を行う際、自動運転中に衝突した場合は手動操作モードに変更し適切な回避動作を行うまで時間が掛かってしまうことがあった。また、作業者が慌てているため間違った方向に回避動作を行ってしまい、さらに、押し込んでしまうことがあるという課題があった。
さらに、対象物と軽く接触する目標地点を教示したい場合や、対象物近傍を教示したい場合、ロボットが衝突を検知する際にいちいち停止してモータ電源遮断されると、モータ電源投入を頻繁に行わなければならず、教示作業に時間が掛るという課題があった。
さらに、衝突検出に使用する必要駆動トルクの演算を、速度0の地点でステップ状に変化するクーロン摩擦モデルを使用して算出すると、実際の摩擦はステップ状には変化しないため、必要駆動トルクの推定精度が速度0付近で悪化し、衝突を誤って検知したり、衝突検知の精度を上げられない課題があった。
さらに、衝突検出の判別値が固定値では、動作状態に応じてきめ細かく判別値を設定することができないため、衝突検出の感度を上げることができない課題があった。
【0006】
この発明は上記のような課題を解消するためになされたもので、計算量を削減し、高精度に衝突判定を行うロボット制御装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
この発明に係るロボット制御装置は、位置指令、速度指令、加速度指令の少なくとも1つから演算した必要駆動トルク指令要素と各関節を駆動するモータの位置、速度、加速度の少なくとも1つから、改めてロボットの運動方程式を全て再度計算することなしに必要駆動トルクを演算し、演算した必要駆動トルクと各関節を駆動するモータの電流を比較することにより衝突の判別を行うものである。
【0008】
この発明に係るロボット制御装置は、位置指令、速度指令、加速度指令の少なくとも1つから演算した必要駆動トルク指令要素と位置指令、速度指令、加速度指令から推定した各関節を駆動するモータの位置、速度、加速度の少なくとも1つから、改めてロボットの運動方程式を全て再度計算することなしに必要駆動トルクを演算し、演算した必要駆動トルクと各関節を駆動するモータの電流を比較することにより衝突の判別を行うものである。
0009
この発明に係るロボット制御装置は、摩擦係数等のロボットの運動方程式の計算に必要なパラメータの少なくとも1つをロボットの動作中に逐次推定し、逐次推定したパラメータを用いて位置指令、速度指令、加速度指令の少なくとも1つから必要駆動トルク指令要素の演算を行うと共に、演算した必要駆動トルク指令要素と各関節を駆動するモータの位置、速度、加速度の少なくとも1つから、改めてロボットの運動方程式を全て再度計算することなしに必要駆動トルクを逐次推定したパラメータを用いて演算し、演算した必要駆動トルクと各関節を駆動するモータの電流を比較することにより衝突の判別を行うものである。
0010
この発明に係るロボット制御装置は、ロボットの動作中に逐次推定するパラメータ値の現在の推定値ではなく、一定時間前の推定値を用いて必要駆動トルクの演算を行うと共に、演算した必要駆動トルクと各関節を駆動するモータの電流を比較することにより衝突の判別を行うものである。
0011
この発明に係るロボット制御装置は、衝突検知の基準を二重に設け、低レベル基準を一定時間超過した場合、もしくは高レベル基準を一瞬でも超過した場合に衝突を検知するものである。
0012
この発明に係るロボット制御装置は、必要駆動トルク演算手段で演算した必要駆動トルクに基づいてモータを駆動するトルクの制限を行うものである。
0013
この発明に係るロボット制御装置は、必要駆動トルク指令要素演算手段で演算した必要駆動トルク指令要素に基づいてモータを駆動するトルクの制限を行うものである。
0014
この発明に係るロボット制御装置は、モータ駆動電流測定値を用いて、必要駆動トルクと各関節を駆動するモータの電流を比較する際のしきい値を演算して衝突の判別を行うものである。
0015
この発明に係るロボット制御装置は、加速度指令及び加加速度指令を用いて、必要駆動トルクと各関節を駆動するモータの電流を比較する際のしきい値を演算して衝突の判別を行うものである。
0016
この発明に係るロボット制御装置は、必要駆動トルク演算手段、必要駆動トルク指令要素演算手段における演算を行う際、現在の手先負荷設定値もしくは手先負荷推定値を用いるのではなく、手先負荷設定値もしくは手先負荷推定値を平滑化手段に通したものを用いて演算を行うものである。
0017
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1によるロボット制御装置を示すブロック図であり、図において、1は位置指令、速度指令、加速度指令を生成する指令値生成手段、2は位置指令、速度指令、加速度指令から必要駆動トルク指令要素を演算する必要駆動トルク指令要素演算手段、3は位置、速度、加速度、必要駆動トルク指令要素、速度指令、加速度指令から必要駆動トルクを計算する必要駆動トルク演算手段、4は上側しきい値及び下側しきい値を演算するしきい値演算手段、5は必要駆動トルク、上側しきい値、下側しきい値、モータ駆動電流に基づいて衝突を判別する衝突判別手段、6はロボットの各軸を駆動するモータを制御するモータ制御手段である。
0018
次に動作について説明する。
まず、指令値生成手段1においては、ロボットを自動運転させる際には、ロボットを動作させるためのプログラムにて指示された動作命令を解釈して時々刻々のロボットの各軸の目標位置である位置指令を生成する。手動でロボットを動作させる際には、図示しないロボット操作盤からの入力に応じて時々刻々のロボットの各軸の目標位置である位置指令を生成する。さらに、自動運転時、手動運転時のいずれの場合も、時々刻々生成される位置指令より、速度指令、加速度指令の生成も行う。
0019
必要駆動トルク指令要素演算手段2では、指令値生成手段1で生成された位置指令、速度指令、加速度指令を入力して、ロボットの運動方程式を用いて必要駆動トルク指令の各要素を演算する。ロボットの運動方程式は、各軸の駆動トルクから構成される駆動トルクベクトルをτ、各軸の位置から構成される位置ベクトルをq、各軸の速度から構成される速度ベクトルをv、各軸の加速度から構成される加速度ベクトルをaとすると、
τ=M(q)a+h(q,v)+g(q)+f(v)・・・(1)
と書ける。ここで、M(q)は慣性行列、h(q,v)は各軸の遠心コリオリ力から構成される遠心コリオリ力ベクトル、g(q)は各軸の重力から構成される重力ベクトル、f(v)は各軸の摩擦力から構成される摩擦力ベクトルである。指令値生成手段1から出力された各指令を用いて各軸の位置指令から構成される位置指令ベクトルをqd、各軸の速度指令から構成される速度指令ベクトルをvd、各軸の加速度指令から構成される加速度指令ベクトルをadとし、(1)式に基づいて、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfdをそれぞれ下記のようにして算出する。
τmd=M(qd)ad ・・・(2)
τhd=h(qd,vd) ・・・(3)
τgd=g(qd) ・・・(4)
τfd=f(vd) ・・・(5)
0020
必要駆動トルク演算手段3では、本来なら(1)式に基づいて駆動トルクτを計算したいところである。しかしロボットの軸数が多い場合(1)式の計算量は多く、制御装置において単位時間あたりに処理しなければならない計算量が増加してしまう。そこでまず、モータ制御手段6から実際の各軸の速度をモニターして各軸の速度から構成される速度ベクトルvと前回モニターした速度ベクトルvpから各軸の加速度を求め、当該各軸の加速度から構成される加速度ベクトルaを演算する。次に、必要駆動トルク指令要素演算手段2で求めた速度指令ベクトルvd、加速度指令ベクトルad、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfd及び速度ベクトルv、加速度ベクトルaから下記のようにして各軸の必要駆動トルクから構成される必要駆動トルクベクトルτeを計算する。
md=τmd/n(ad) ・・・(6)
τme=n(a)*Imd ・・・(7)
hd=τhd/(n(vd))2 ・・・(8)
τhe=(n(v))2*Ihd ・・・(9)
τe=τme+τhe+τgd+τfd ・・・(10)
(6)式で演算されるImd及び(8)式で演算されるIhdは、前回の演算結果を記憶しておき、n(ad)もしくは(n(vd))2が予め定められている値以下となる場合は、(6)式もしくは(8)式の演算は行わず、前回のImdもしくはIhdの値を用いて(7)式もしくは(9)式の演算を行う。なお、n()はベクトルノルムを示している。
0021
しきい値演算手段4では、必要駆動トルクとモータ電流を比較し衝突を検知する基準となるしきい値を算出する。この実施の形態1では各軸毎に予め記憶されている上側しきい値及び下側しきい値を設定する。
0022
衝突判別手段5では、まず、モータ制御手段6から入力されるモータ電流から各軸のモータ駆動トルクを演算する。次に、必要駆動トルク演算手段3で演算した必要駆動トルクを入力して実際のモータ駆動トルクとの差を各軸ごとについて計算する。いずれかの軸における必要駆動トルクとモータ駆動トルクの差がしきい値演算手段4から出力された上側しきい値以上の場合、もしくは下側しきい値以下となった場合にロボットが衝突したと判別し、指令値生成手段1に停止命令を送信する。
0023
モータ制御手段6では、指令値生成手段1で生成された位置指令、速度指令、加速度指令、及び必要駆動トルク指令要素演算手段2で演算されたトルク指令要素を用いてロボットを駆動するモータの制御を行う。
0024
実施の形態2.
この発明の実施の形態2によるロボット制御装置を示すブロック図は図1であり、必要駆動トルク演算手段3以外の各手段の動作は、実施の形態1と同様のため、説明は省略する。
0025
次に動作について説明する。
必要駆動トルク演算手段3では、まず、モータ制御手段6から入力される各軸の速度から構成される速度ベクトルvと前回の速度ベクトルvpから各軸の加速度を求め、当該各軸の加速度から構成される加速度ベクトルaを演算する。次に必要駆動トルク指令要素演算手段2から出力される各軸の速度指令から構成される速度指令ベクトルvd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfd及びモータ制御手段6から出力される各軸位置ベクトルq、各軸速度ベクトルv、各軸加速度ベクトルaを入力して以下のようにして各軸の必要駆動トルクから構成される必要駆動トルクベクトルτeを計算する。
τme=M(q)a ・・・(11)
hd=τhd/(n(vd))2 ・・・(12)
τhe=(n(v))2*Ihd ・・・(13)
τe=τme+τhe+τgd+f(v) ・・・(14)
(12)式で演算されるIhdは、前回の演算結果を記憶しておき、(n(vd))2が予め定められている値以下となる場合は、(12)式の演算は行わず、前回のIhdの値を用いて(7)式もしくは(13)式の演算を行う。
0026
実施の形態3.
図2はこの発明の実施の形態3によるロボット制御装置を示すブロック図であり、図において、8は実施の形態1,2の衝突判別手段5に換えて設けられた加算手段、9は衝突判別手段、10はモータ制御手段である。
その他の構成については図1と同一のため、説明は省略する。
0027
次に動作について説明する。
加算手段8では、必要駆動トルク演算手段3で演算した必要駆動トルクの各軸要素にしきい値演算手段4で演算した上側しきい値の各軸要素を加算し、各軸毎の上側トルク許容値を算出する。次に必要駆動トルクの各軸要素にしきい値演算手段4で演算した下側しきい値の各軸要素を加算し、各軸毎の下側トルク許容値を算出する。
0028
衝突判別手段9では、モータ電流から算出した実駆動トルクと上側トルク許容値を各軸毎に比較し、実駆動トルクが上側トルク許容値以上の場合はロボットが衝突したと判別する。また、実駆動トルクが下側許容値以下となった場合もロボットが衝突したと判別する。衝突を判別したときは、衝突判別手段9はモータ制御手段10に停止命令を送信するとともに、指令値生成手段1にも衝突検知信号を出力する。
0029
モータ制御手段10は、通常状態では、衝突判別手段9を内蔵していること以外は、図1に記載されているモータ制御手段6の作用と同一である。衝突検知後は、衝突判別手段9から停止命令を受けると、モータ制御手段10内部で停止するための位置指令を生成し、生成した位置指令に沿って各軸の位置制御を行う。
0030
実施の形態4.
図3はこの発明の実施の形態4によるロボット制御装置を示すブロック図であり、図において、11は位置速度加速度推定手段、12は必要駆動トルク演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0031
次に動作について説明する。
位置速度加速度推定手段11の内部に位置指令とモータ位置の関係を模擬した1次遅れフィルタ手段を設ける。指令値生成手段1で生成された位置指令、速度指令、加速度指令の各軸要素をそれぞれ1次遅れフィルタ手段に入力し、その1次遅れフィルタ手段からの出力をそれぞれ推定位置、推定速度、推定加速度とする。
必要駆動トルク演算手段12では、各軸の速度指令から構成される速度指令ベクトルvd、各軸の加速度指令から構成される加速度指令ベクトルad、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfd及び位置速度加速度推定手段11で推定された推定速度ベクトルv、推定加速度ベクトルaから下記のようにして各軸の必要駆動トルクから構成される必要駆動トルクベクトルτeを計算する。
md=τmd/n(ad) ・・・(15)
τme=n(a)*Imd ・・・(16)
hd=τhd/(n(vd))2 ・・・(17)
τhd=(n(v))2*Ihd ・・・(18)
τe=τme+τhe+τgd+τfd ・・・(19)
(15)式で演算されるImd及び(17)式で演算されるIhdは、前回の演算結果を記憶しておき、n(ad)もしくは(n(vd))2が予め定められている値以下となる場合は、(15)式もしくは(17)式の演算は行わず、前回のImdもしくはIhdの値を用いて(16)式もしくは(18)式の演算を行う。
0032
実施の形態5.
この発明の実施の形態5によるロボット制御装置を示すブロック図は図1であり、必要駆動トルク演算手段3以外の各手段の動作は、実施の形態1と同様なため、説明は省略する。
0033
次に動作について説明する。
必要駆動トルク演算手段3の内部には、フィルタ1、フィルタ2、フィルタ3、フィルタ4の4個の1次遅れフィルタ手段を設け、それら4個の1次遅れフィルタ手段の時定数は独立に設定可能とする。必要駆動トルク指令要素演算手段2で算出された、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfdをそれぞれフィルタ1、フィルタ2、フィルタ3、フィルタ4に入力し、フィルタからの出力をそれぞれ慣性力指令要素ベクトルτme、遠心コリオリ力指令要素ベクトルτhe、重力指令要素ベクトルτge、摩擦力指令要素ベクトルτfeとし、必要駆動トルクτe
τe=τme+τhe+τge+τfe ・・・(20)
で算出する。
0034
実施の形態6.
図4はこの発明の実施の形態6によるロボット制御装置を示すブロック図であり、図において、指令値生成手段1、しきい値演算手段4、衝突判別手段5、モータ制御手段6は図1に記載のものと全く同一である。必要駆動トルク指令要素演算手段2の構成・作用も図1に記載の必要駆動トルク指令要素演算手段と全く同一であるが、各要素の演算を行う際、パラメータ推定手段14で推定したパラメータを用いる点が異なっている。必要駆動トルク演算手段3の構成・作用も実施の形態2に記載のものと全く同一であるが、
τp=τme+τhe+τgd ・・・(21)
で算出されるτpをパラメータ推定手段14に出力する点が異なっている。
0035
次に動作について説明する。
パラメータ推定手段14では、各軸の粘性摩擦係数とクーロン摩擦係数をオンラインで同定する。まず、モータ駆動電流から実駆動トルクτrを算出する。次に第i番目の軸の速度、実駆動トルク、必要駆動トルク演算手段3から入力される摩擦力以外の推定トルクの和τp、をそれぞれvi、τri、τpiとし、ベクトルyi、パラメータベクトルpiをそれぞれ
i=[vi,sgn(vi)] ・・・(22)
i=[pni,pci] ・・・(23)
と定義する。ここで、pni、pciはそれぞれ第i番目の軸の粘性摩擦係数同定値、クーロン摩擦係数同定値である。また、sgn()は入力が負の時−1、0の時0、正の時1を出力する関数である。第k回目の同定周期における値を[k]と表記することにすると、第k回目の同定周期における第i軸の摩擦係数同定値ベクトルpi[k]は
τmi[k]=τri[k]−τpi[k] ・・・(24)
i[k]=Ri[k−1]+moit
*(−σi*Ri[k−1]+yi[k]Ti[k])
・・・(25)
i[k]=ri[k−1]+moit
*(−σi*qi[k−1]+τmi[k]*yi[k]T
・・・(26)
i[k]=pi[k−1]−moit
*Gi・[Ri[k]・pi[k−1]−ri[k])
・・・(27)
により、逐次同定されていく。ここで、Gi及びσiは、それぞれ、同定の早さを調整するためのゲイン行列、重み係数である。また、moitはパラメータ同定演算を行う周期である。
パラメータ推定手段14は、前記のように同定した各軸の摩擦係数を必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3に送信する。必要駆動トルク指令要素演算手段2では、各軸の摩擦力指令要素ベクトルτfdの計算を、パラメータ推定手段14から送信された摩擦係数を用いて実施する。
0036
実施の形態7.
図5はこの発明の実施の形態7によるロボット制御装置を示すブロック図であり、図において、15は必要駆動トルク演算手段、16はパラメータ推定手段、17はモータ制御手段、18は指令値生成手段である。
その他の構成については図1と同一のため、説明は省略する。
0037
次に動作について説明する。
指令値生成手段18では、ロボットを自動運転させる際には、ロボットを動作させるためのプログラムにて指示された動作命令を解釈して時々刻々のロボットの各軸の目標位置である位置指令を生成する。手動でロボットを動作させる際には、図示しないロボット操作盤(操作手段)からの入力に応じて時々刻々のロボットの各軸の目標位置である位置指令を生成する。さらに、自動運転時、手動運転時のいずれの場合も、時々刻々生成される位置指令より、速度指令の生成も行う。
必要駆動トルク演算手段15では、パラメータ推定手段16に出力する摩擦力以外の推定トルクの和τp、及び衝突判別手段5に出力する必要駆動トルクτeを下記のように算出する。まず、各軸の速度から構成される速度ベクトルvと前回の速度ベクトルvpから各軸の加速度から構成される加速度ベクトルaを演算する。次に各軸の位置から構成される位置ベクトルq、速度ベクトルv、加速度ベクトルaから
τp=M(q)a+h(q,v)+g(q) ・・・(28)
により、摩擦力以外の推定トルクの和τpを算出し、
τf=f(v) ・・・(29)
により摩擦力を算出する。衝突判別手段5に出力する必要駆動トルクτeはτpとτfの和とする。
パラメータ推定手段16では、摩擦力以外の推定トルクの和τp、モータ駆動電流、各軸の速度から実施の形態6におけるパラメータ推定手段14と全く同様に各軸の摩擦係数を推定する。推定した摩擦係数は必要駆動トルク演算手段15内部で摩擦力の計算(29)式を行う際に使用される。
モータ制御手段17では、指令値生成手段18で生成された位置指令、速度指令を用いてロボットを駆動するモータの位置制御を行う。
0038
実施の形態8.
図6はこの発明の実施の形態8によるロボット制御装置を示すブロック図であり、図において、19はパラメータ蓄積手段である。
その他の構成については図4と同一のため、説明は省略する。
0039
次に動作について説明する。
パラメータ蓄積手段19では、パラメータ推定手段14で推定されたパラメータ値を指定された周期分だけ記憶しておく。例えば、10周期分のパラメータを蓄積しておくことが指定されている場合、10周期分のパラメータを蓄積する領域を確保し、パラメータの初期値を確保した領域に書き込んでおく。パラメータ同定周期毎に10周期前のパラメータを必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3に出力し、残りの9周期分のパラメータの記憶領域を1周期ずつシフトさせる。また、パラメータ推定手段14から入力された最新のパラメータ同定周期におけるパラメータ同定値を最新周期のパラメータを記憶しておくエリアに書き込む。必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3では、パラメータ蓄積手段19から出力されたパラメータを用いて運動方程式の各要素の計算を行う。
0040
実施の形態9.
図7はこの発明の実施の形態9によるロボット制御装置を示すブロック図であり、図において、20は同定ゲイン演算手段である。
その他の構成については図6と同一のため、説明は省略する。
0041
次に動作について説明する。
同定ゲイン演算手段20では、(27)式に記載されている同定の早さを調整するための行列Giの値を決定する。まず、各軸の速度がモータ制御手段6から入力される。入力された速度信号の絶対値を求め、予め記憶されている基準値と比較する。第i軸の速度絶対値が基準値以上の場合は、予め記憶されている行列Giの値を出力する。第i軸の速度絶対値が基準値以下の場合は、行列Giの各要素の値を0として出力する。パラメータ推定手段14では同定ゲイン演算手段20から出力されるGiに基づいてパラメータ推定値の更新を行うため、ある軸の速度絶対値が予め設定されている基準値以下の場合は、当該軸のパラメータ推定値は前回の周期の推定値と全く同一となりパラメータ推定が行われない。
0042
実施の形態10.
図8はこの発明の実施の形態10によるロボット制御装置を示すブロック図であり、図において、21はパラメータ推定値制限手段である。
その他の構成については図7と同一のため、説明は省略する。
0043
次に動作について説明する。
パラメータ推定値制限手段21には、予め各パラメータの上限値及び下限値を記憶しておく。パラメータ蓄積手段19から出力されたパラメータが上限値以上の場合は上限値に書き換える。パラメータ蓄積手段19から出力されたパラメータが下限値以下の場合は下限値に書き換える。パラメータ蓄積手段19から出力されたパラメータが下限値以上でかつ上限値以下のときはパラメータは書き換えない。必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3では、パラメータ推定値制限手段21で必要に応じて書き換えられたパラメータ値を用いて演算を行う。
0044
実施の形態11.
この発明の実施の形態11によるロボット制御装置を示すブロック図も図8である。
0045
次に動作について説明する。
図8に示す各ブロックのうち、モータ制御手段6はx[ms]の周期で演算を行い、1〜5の各構成要素はx[ms]のn倍の周期で演算を行い、14,19,20,21の各構成要素はx[ms]のn×m倍の周期で演算を行う。必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3では、パラメータ推定値制限手段21からパラメータ推定値が入力される周期では入力されたパラメータに基づいて演算する。パラメータ推定値制限手段21からパラメータ推定値が入力されない周期では前回以前に入力されたパラメータを用いて演算を行う。
0046
実施の形態12.
図9はこの発明の実施の形態12によるロボット制御装置を示すブロック図であり、図において、25は同定ゲイン演算手段である。
その他の構成については図8と同一のため、説明は省略する。
0047
次に動作について説明する。
同定ゲイン演算手段25の内部にパラメータ同定実行決定パラメータを備えている。パラメータ同定実行決定パラメータは、電源投入直後の初期状態では1の値を持っている。衝突判別手段5が衝突を検知すると、衝突検知信号が同定ゲイン演算手段25に送信され、同定ゲイン演算手段25は、衝突検知信号を受け取るとパラメータ同定実行決定パラメータの値を0とする。パラメータ同定実行決定パラメータ値は、電源遮断及び電源再投入が行われるか、図示しない制御装置の操作盤からパラメータ同定再開が指定されるまでの間は0を保持する。
同定ゲイン演算手段25の内部では、パラメータ同定実行決定パラメータの値に応じて、パラメータ同定ゲイン行列Giの各要素の値が選択される。パラメータ同定実行決定パラメータの値が1のときは各軸の同定ゲイン行列Giの各要素の値として予め記憶されている値が選択される。パラメータ同定実行決定パラメータの値が0のときは各軸の同定ゲイン行列Giの各要素の値として0が選択される。パラメータ推定手段14の内部では、同定ゲイン演算手段25で演算されたGiに基づいてパラメータ推定値が更新されるため、衝突検知後電源遮断及び電源再投入が行われるか、制御装置の操作盤からパラメータ同定再開が指定されまでの間はパラメータ同定値は変化せず、パラメータ同定が停止される。
0048
実施の形態13.
この発明の実施の形態13によるロボット制御装置を示すブロック図は図1であり、しきい値演算手段4及び衝突判別手段5以外の各手段の動作は、実施の形態2と同様なため、説明は省略する。
0049
次に動作について説明する。
しきい値演算手段4では、予め記憶されているパラメータ値を読み出して、上側高レベルしきい値、下側高レベルしきい値、上側低レベルしきい値、下側低レベルしきい値、衝突判別時間を各軸毎に設定し、衝突判別手段5に出力する。衝突判別手段5では、まず、モータ制御手段6から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に、演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時は、ロボットが衝突したと判別する。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは、前記タイマーを停止させると共に、タイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段4で設定された衝突判別時間以上となった場合もロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成部に停止命令を送信する。
0050
実施の形態14.
図10はこの発明の実施の形態14によるロボット制御装置を示すブロック図であり、図において、28はしきい値演算手段、29は第1衝突判別手段、30は第2衝突判別手段である。
その他の構成については図2と同一のため、説明は省略する。
0051
次に動作について説明する。
しきい値演算手段28では、予め記憶されているパラメータ値を読み出して、上側高レベルしきい値、下側高レベルしきい値、上側低レベルしきい値、下側低レベルしきい値、衝突判別時間を各軸毎に設定し、上側低レベルしきい値、下側低レベルしきい値、衝突判別時間を第1衝突判別手段29に出力し、上側高レベルしきい値、下側高レベルしきい値を第2衝突判別手段30に出力する。
第1衝突判別手段29では、まず、モータ制御手段10から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に、演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成手段1に停止命令を送信する。
第2衝突判別手段30では、まず、モータ制御手段10で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に、演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段30は、モータ制御手段10に停止命令を送信すると共に、指令値生成手段1にも衝突検知信号を出力する。
0052
実施の形態15.
図11はこの発明の実施の形態15によるロボット制御装置を示すブロック図であり、図において、31はトルク余裕演算手段、32はトルク制限値演算手段、33はモータ制御手段、34はモータ電流指令生成手段、35はモータ電流制限手段(モータ駆動トルク制限手段)、36はモータ電流制御手段、37は第2衝突判別手段である。
その他の構成については図1から図10と同一のため、説明は省略する。
0053
次に動作について説明する。
トルク余裕演算手段31は、しきい値演算手段28から上側低レベルしきい値及び下側低レベルしきい値を読み込む。トルク余裕演算手段31には、予め倍率αが記憶されており、各軸の上側低レベルしきい値及び下側低レベルしきい値のそれぞれをα倍することにより、各軸の上側トルク余裕値及び下側トルク余裕値が計算される。
トルク制限値演算手段32では、必要駆動トルク演算手段3で演算された各軸の必要駆動トルクに各軸の上側トルク余裕値を加算し、各軸の駆動トルク上側制限値を計算する。同様に必要駆動トルク演算手段3で演算された各軸の必要駆動トルクに各軸の下側トルク余裕値を加算し、各軸の駆動トルク下側制限値を計算する。トルク制限値演算手段32で演算された上側トルク制限値及び下側トルク制限値はモータ電流制限手段35に送信される。
モータ電流制限手段35では、減速比、モータのトルク定数等を考慮して、受信した上側トルク制限値及び下側トルク制限値をそれぞれ上側モータ電流制限値及び下側電流制限値に変換する。さらに、モータ電流指令生成手段34から出力される電流指令が上側モータ電流制限値以下でかつ下側電流制限値以上となるように電流指令に制限を加える。具体的には電流指令が上側電流制限値以上の時は電流指令を上側モータ電流制限値に置き換える。電流指令が下側電流制限値以下の時は、電流指令を下側モータ電流制限値に置き換える。モータ電流制御手段36では、モータ電流制限手段35で制限された電流指令に基づき各軸を駆動するモータの電流制御を行う。
第2衝突判別手段37では、まず、モータ電流指令生成手段34から出力されるモータ電流指令から実際の各軸のモータにおける駆動トルク指令を減速比、トルク定数を考慮して算出する。次に、演算したモータ駆動トルク指令と必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段37は、停止命令をモータ制御手段33に停止命令を送信すると共に、指令値生成手段1にも衝突検知信号を出力する。
モータ制御手段33では、衝突検知後、第2衝突判別手段37から停止命令を受けると、モータ制御手段33内部で停止するための位置指令を生成し、生成した位置指令に従って位置制御を行う。
0054
実施の形態16.
この発明の実施の形態16によるロボット制御装置を示すブロック図は図40であり、トルク制限値演算手段32以外の各手段の動作は、実施の形態15と同様なため、説明は省略する。
0055
次に動作について説明する。
トルク制限値演算手段32の内部では、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhd、重力指令要素ベクトルτgd、摩擦力指令要素ベクトルτfdを加算し、各軸のトルク指令から構成されるトルク指令ベクトルτdを算出する。次に算出したトルク指令ベクトルτdの各軸要素を1次遅れフィルタ手段に入力し、その出力から構成されるベクトルをτdfとする。さらに、τdfの各軸要素に各軸の上側トルク余裕値を加算して各軸の駆動トルク上側制限値を計算する。同様にτdfの各軸要素に各軸の下側トルク余裕値を加算し、各軸の駆動トルク下側制限値を計算する。トルク制限値演算手段32で演算された上側トルク制限値及び下側トルク制限値は、モータ電流制限手段35に送信される。
0056
実施の形態17.
この発明の実施の形態17によるロボット制御装置を示すブロック図は図1であり、しきい値演算手段4以外の各手段の動作は、実施の形態1と同様のため、説明は省略する。
0057
次に動作について説明する。
この実施の形態17におけるロボットの制御装置では、教示モード切替スイッチを教示側に押し込んでいる場合のみ、手動操作盤での操作に基づいて手動で動かすことができるようになっており、また、教示モード切替スイッチを自動運転側に押し込んでいる場合のみ、プログラムに基づく自動運転ができるようになっている。図示しない教示モード判別手段では、図示しない制御装置の操作盤に取り付けられている教示モード切替スイッチの状態に応じて教示モード判定パラメータの値を設定する。具体的には教示モード切替スイッチが教示側に押し込まれているときには教示モード判別パラメータの値を1とし、教示モード切替スイッチが自動運転側に押し込まれているときは教示モード判別パラメータの値を0とする。
しきい値演算手段4には、手動操作盤からロボットを動作させるとき用の各軸の上側しきい値及び下側しきい値と、プログラムに基づき自動運転する場合用の各軸の上側しきい値及び下側しきい値が予め記憶されている。教示モード判別手段から入力される教示モード判別パラメータの値が1の時は、手動操作盤からロボットを動作させるとき用の各軸の上側しきい値及び下側しきい値を採用する。教示モード判別手段から入力される教示モード判別パラメータの値が0の時は、プログラムに基づき自動運転する場合用の各軸の上側しきい値及び下側しきい値を採用する。
0058
実施の形態18.
この発明の実施の形態18によるロボット制御装置を示すブロック図は図1であり、しきい値演算手段4以外の各手段の動作は、実施の形態1と同様のため、説明は省略する。
0059
次に動作について説明する。
図示しないタイマー手段では、モータ電源投入時にタイマーを0から開始し、電源投入後の経過時間を出力する。モータ電源が遮断されるとタイマーを停止し、内部で持っている電源投入後の経過時間を0にリセットする。
しきい値演算手段4では、時間の規定値、モータ電源投入からの経過時間が規定値以下の場合に用いる第1上側しきい値及び第1下側しきい値と、モータ電源投入からの経過時間が規定値以上の場合に用いる第2上側しきい値及び第2下側しきい値が予め記憶されている。記憶されている時間の規定値とタイマー手段から出力されるモータ電源投入後の経過時間を比較し、時間規定値の方が大きい場合は、第1上側しきい値及び第1下側しきい値を採用し、時間規定値の方が小さい場合は、第2上側しきい値及び第2下側しきい値を採用する。
0060
実施の形態19.
この発明の実施の形態19によるロボット制御装置を示すブロック図は図1であり、しきい値演算手段4以外の各手段の動作は、実施の形態1と同様のため、説明は省略する。
0061
次に動作について説明する。
図示しない手先負荷設定値読み出し手段では、プログラムの命令によって指定される手先負荷パラメータ値もしくは制御装置内に記憶されている手先負荷パラメータ値を読み込む。また、手先負荷設定値読み出し手段内部には、下表に示すような、手先負荷と手先負荷の重心位置とに応じたテーブルを持っており、現在の手先負荷設定値が属するグループ番号を出力する。
【表1】

Figure 0003878054
しきい値演算手段4には、手先負荷の属する各グループ毎の上側しきい値及び下側しきい値のテーブルを備えており、手先負荷設定値読み出し手段から入力されるグループ番号の上側しきい値及び下側しきい値をそれぞれ上側しきい値及び下側しきい値として出力する。
0062
実施の形態20.
この発明の実施の形態20によるロボット制御装置を示すブロック図は図1であり、しきい値演算手段4以外の各手段の動作は、実施の形態1と同様のため、説明は省略する。
0063
次に動作について説明する。
図示しない検出感度読み出し手段では、まず、現在の検出感度の設定値を読み出す。検出感度の設定はプログラム内に記載された命令を用いて、もしくは制御装置の手動操作盤から設定される。次に、検出感度読み出し手段では、読み出した検出感度から倍率αを計算する。例えば、検出感度X%のとき、倍率αはα=100/Xで算出する。算出した倍率は、しきい値演算手段4に出力される。しきい値演算手段4には、検出感度が100%の時の上側しきい値及び下側しきい値が予め記憶されている。しきい値演算手段4では、記憶されている上側しきい値及び下側しきい値に検出感度読み出し手段から入力される倍率αを乗じたものをそれぞれ上側しきい値、下側しきい値として出力する。
0064
実施の形態21.
図12はこの発明の実施の形態21によるロボット制御装置を示すブロック図であり、図において、47は同定進行度判別手段、48はしきい値演算手段である。
その他の構成については図4と同一のため、説明は省略する。
0065
次に動作について説明する。
同定進行度判別手段47は、各軸の同定進行度から構成される同定進行度ベクトルを出力する。まず、同定進行度判別手段47には各軸の速度が入力される。同定進行度判別手段47は、予め各軸の速度規定値及び各軸の時間規定値が記憶されている。同定進行度判別手段47では、軸毎に、速度が速度既定値以上となっている累積時間を算出しており、累積時間が記憶されている規定時間以上となった場合、当該軸の同定進行度を1とする。累積時間が規定時間未満の場合は、当該軸の同定進行度は0とする。また、モータ電源が遮断されると、累積時間は0にリセットされる。
しきい値演算手段48の内部には、パラメータ同定進行前の上側しきい値及び下側しきい値と、パラメータ同定進行後の上側しきい値及び下側しきい値が記憶されている。同定進行度判別手段47から出力される同定進行度が1の軸に関しては、パラメータ同定進行後の上側しきい値及び下側しきい値が設定され、同定進行度判別手段47から出力される同定進行度が0の軸に関しては、パラメータ同定進行前の上側しきい値及び下側しきい値が設定される。
0066
実施の形態22.
図13はこの発明の実施の形態22によるロボット制御装置を示すブロック図であり、図において、49は同定進行度判別手段である。
その他の構成については図12と同一のため、説明は省略する。
0067
次に動作について説明する。
同定進行度判別手段49には、まず、パラメータ推定手段14からパラメータ同定周期毎のパラメータ同定値が入力される。同定進行度判別手段49では、入力されたパラメータ同定値から各軸のクーロン摩擦係数と粘性摩擦係数を選択し、それぞれの変化量を算出する。同定進行度判別手段49には各軸のクーロン摩擦係数推定値変化量及び粘性摩擦係数推定値変化量の規定値を記憶しておき、実際のクーロン摩擦係数変化量及び粘性摩擦係数変化量の両方が規定値以下の軸に関しては同定進行度を1とする。実際のクーロン摩擦係数変化量及び粘性摩擦係数変化量の少なくとも一方が規定値以上の軸は同定進行度を0とする。
0068
実施の形態23.
図14はこの発明の実施の形態23によるロボット制御装置を示すブロック図であり、図において、50はトルク指令絶対値最大値演算手段、51はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0069
次に動作について説明する。
トルク指令絶対値最大値演算手段50には、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdが入力される。次に、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdの各軸要素を加算し、加算結果の絶対値を求め、求めた絶対値を各軸の減速比、トルク定数を考慮して各軸のモータ電流指令のスケールに換算する。さらに、各軸モータの定格電流に基づいて正規化する。各軸毎に算出した各軸モータの定格電流で正規化した慣性力指令と遠心コリオリ力指令の和の絶対値の中から最大のものをTmaxとして出力する。
しきい値演算手段51には、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令倍率、下側しきい値トルク指令倍率を各軸毎に記憶しておき、トルク指令絶対値最大値演算手段50から出力されるTmaxを用いて、各軸の上側しきい値は、(上側しきい値ベース分)+(上側しきい値トルク指令倍率)×Tmax、下側しきい値は、(下側しきい値ベース分)+(下側しきい値トルク指令倍率)×Tmaxで算出される。
0070
実施の形態24.
図15はこの発明の実施の形態24によるロボット制御装置を示すブロック図であり、図において、52はモータ電流絶対値最大値演算手段、53はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0071
次に動作について説明する。
モータ電流絶対値最大値演算手段52では、まず、各軸のモータ電流測定値を入力し、各軸の電流測定値の絶対値を算出してから各軸モータの定格電流で正規化する。次に、正規化した各軸の電流測定値絶対値のなかで最大のものをDmaxとして出力する。
しきい値演算手段53には、上側しきい値ベース分、下側しきい値ベース分、上側しきい値電流倍率、下側しきい値電流倍率を各軸毎に記憶しておき、モータ電流絶対値最大値演算手段52から出力されるDmaxを用いて、各軸の上側しきい値は、(上側しきい値ベース分)+(上側しきい値電流倍率)×Dmax、下側しきい値は、(下側しきい値ベース分)+(下側しきい値電流倍率)×Dmaxで算出される。
0072
実施の形態25.
図16はこの発明の実施の形態25によるロボット制御装置を示すブロック図であり、図において、54はトルク指令トルク指令差分絶対値最大値演算手段、55はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0073
次に動作について説明する。
トルク指令トルク指令差分絶対値最大値演算手段54には、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdが入力される。次に、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdの各軸要素を加算したτmhdを算出する。τmhdの各軸要素は1周期分記憶しておき、今回のτmhdの値と前回のτmhdの値の差であるdτmhdを算出し、τmhd及びdτmhdの各軸の絶対値から構成されるベクトルaτmhd及びadτmhdを算出する。次に、全軸一定の重み係数wを用いて第i軸の要素が
wτmhdi=aτmhdi+w×adτmhdi・・・(30)
で算出されるから構成されるwτmhdを算出する。(30)式において、添え字iは第i軸の要素を意味する。さらに、wτmhdiを当該軸の減速比、トルク定数を用いてモータ電流指令のスケールに換算し、当該軸モータの定格電流で正規化したものをsτmhdiとして算出する。sτmhdiの最大値をSmaxとして出力する。
しきい値演算手段55には、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令トルク指令差分倍率、下側しきい値トルク指令トルク指令差分倍率を各軸毎に記憶しておき、トルク指令トルク指令差分絶対値最大値演算手段54から出力されるSmaxを用いて、各軸の上側しきい値は、(上側しきい値ベース分)+(上側しきい値トルク指令トルク指令差分倍率)×Smax、下側しきい値は、(下側しきい値ベース分)+(下側しきい値トルク指令トルク指令差分倍率)×Smaxで算出される。
0074
実施の形態26.
図17はこの発明の実施の形態26によるロボット制御装置を示すブロック図であり、図において、56はトルク指令トルク指令差分絶対値演算手段、57はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0075
次に動作について説明する。
トルク指令トルク指令差分絶対値演算手段56には、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdが入力される。次に、慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdの各軸要素を加算したτmhdを算出する。τmhdの各軸要素は1周期分記憶しておき、今回のτmhdの値と前回のτmhdの値の差であるdτmhdを算出し、τmhd及びdτmhdの各軸の絶対値から構成されるベクトルaτmhd及びadτmhdを算出する。次に、全軸一定の重み係数wを用いて第i軸の要素が、前記(30)式で算出されるから構成されるwτmhdを算出する。(30)式において、添え字iは第i軸の要素を意味する。さらに、wτmhdiを当該軸の減速比、トルク定数を用いてモータ電流指令のスケールに換算し、当該軸モータの定格電流で正規化したものをsτmhdiとして算出する。最後に、sτmhdiを1次遅れフィルタ手段に入力し、1次遅れフィルタ手段の出力をfτmhdiとして出力する。
しきい値演算手段57には、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令トルク指令差分倍率、下側しきい値トルク指令トルク指令差分倍率を各軸毎に記憶しておき、トルク指令トルク指令差分絶対値最大値演算手段56から出力されるfτmhdiを用いて、各軸の上側しきい値は、(上側しきい値ベース分)+(上側しきい値トルク指令トルク指令差分倍率)×fτmhdi、下側しきい値は、(下側しきい値ベース分)+(下側しきい値トルク指令トルク指令差分倍率)×fτmhdiで算出される。
0076
実施の形態27.
図18はこの発明の実施の形態27によるロボット制御装置を示すブロック図であり、図において、58は加速度指令加加速度指令絶対値演算手段、59はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0077
次に動作について説明する。
加速度指令加加速度指令絶対値演算手段58には、まず、各軸の加速度指令adが入力される。adの各軸要素は1周期分記憶しておき、今回のadの値と前回のadの差であるjdを各軸毎に計算する。次に、ad及びjdの各軸要素の絶対値から構成されるベクトルaad及びajdを算出する。次に、全軸一定の重み係数wを用いて第i軸の要素が
wajdi=aadi+w×ajdi ・・・(31)
で算出されるから構成されるwajdを算出する。(31)式において、添え字iは第i軸の要素を意味する。wajdは加速度指令加加速度指令絶対値演算手段58からしきい値演算手段59に出力される。
しきい値演算手段59には、上側しきい値ベース分、下側しきい値ベース分、上側しきい値加速度指令加加速度指令倍率、下側しきい値加速度指令加加速度指令倍率を各軸毎に記憶しておき、加速度指令加加速度指令絶対値演算手段58から出力されるwajdiを用いて、各軸の上側しきい値は、(上側しきい値ベース分)+(上側しきい値加速度指令加加速度指令倍率)×wajdi、下側しきい値は、(下側しきい値ベース分)+(下側しきい値加速度指令加加速度指令倍率)×wajdiで算出される。
0078
実施の形態28.
図19はこの発明の実施の形態28によるロボット制御装置を示すブロック図であり、図において、60はしきい値倍率要素演算手段、61はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0079
次に動作について説明する。
しきい値倍率要素演算手段60には、まず、位置指令、速度指令、加速度指令が入力される。速度指令及び加速度指令は減速比を考慮し、モータでの速度指令、加速度指令のスケールに変換される。さらに、スケール変換後の各軸の速度指令の最大値であるモータレベル速度指令最大値と、スケール変換後の各軸の加速度指令の最大値であるモータレベル加速度指令最大値を算出する。位置指令の属する範囲、モータレベル速度指令最大値、モータレベル加速度指令最大値のそれぞれに対応するしきい値倍率のテーブルをしきい値倍率要素演算手段60の内部に用意しておき、現在の位置指令、速度指令、加速度指令に対応する倍率bp、bv、baをテーブルから読み出して出力する。
しきい値演算手段61には、倍率1の時の上側しきい値及び下側しきい値を各軸毎に記憶しておく。次に、しきい値倍率要素演算手段60から出力される倍率bp、bv、baから、各軸毎の倍率1の時の上側しきい値及び下側しきい値をそれぞれbp×bv×ba倍してから出力する。
0080
実施の形態29.
図20はこの発明の実施の形態29によるロボット制御装置を示すブロック図であり、図において、62は停止判別手段、63はしきい値演算手段である。
その他の構成については図1と同一のため、説明は省略する。
0081
次に動作について説明する。
停止判別手段62に、まず、速度指令及びモータ速度を入力する。停止判別手段62は、軸毎に停止判別用規定値を記憶しており、速度指令及びモータ速度の両方を当該軸の停止判別用規定値と比較する。速度指令の各軸要素及びモータ速度の各軸要素の絶対値を算出し、速度指令絶対値及びモータ速度絶対値の両方が規定値以下の軸は停止中と判別し、当該軸の停止判別ベクトルの要素の値を1とする。速度指令絶対値及びモータ速度絶対値の少なくとも一方が規定値以上の場合は動作中と判別し、当該軸の停止判別ベクトルの要素の値を0とする。
しきい値演算手段63の内部に、各軸の上側しきい値、下側しきい値、クーロン摩擦係数を記憶しておく。停止判別手段62から出力される停止判別ベクトルの要素の値が0の軸に関しては、上側しきい値及び下側しきい値をそのまま出力する。停止判別手段62から出力される停止判別ベクトルの要素の値が1の軸に関しては、記憶してある上側しきい値にクーロン摩擦係数を加算した値を上側しきい値として出力する。また、記憶してある下側しきい値にクーロン摩擦係数を減算した値を下側しきい値として出力する。
0082
実施の形態30.
図21はこの発明の実施の形態30によるロボット制御装置を示すブロック図であり、図において、64は特殊作業判別手段、65はしきい値演算手段、66はプログラム解析手段である。
その他の構成については図1と同一のため、説明は省略する。
0083
次に動作について説明する。
プログラム解析手段66では、実行するプログラムを順次読み込んでいき、指令値生成手段1等に必要な情報を順次送信している。プログラム解析手段66がハンド開閉命令を処理すると、図示しないハンド開閉手段にハンド開平命令を送信すると共に、特殊作業判別手段64にもハンド開閉命令を送信する。特殊作業判別手段64は、ハンド開閉命令を受信すると予め記憶している規定時間の間、特殊作業判別パラメータの値を1にする。特殊作業判別パラメータの初期値は0となっており、ハンド開閉命令受信後規定時間経過すると再び0に戻される。
しきい値演算手段65には、通常作業用上側しきい値及び下側しきい値と特殊作業用上側しきい値及び下側しきい値が記憶されている。特殊作業判別手段64から出力される特殊作業判別パラメータの値が1のときは、特殊作業用上側しきい値及び下側しきい値が設定され、特殊作業判別パラメータの値が0のときは、通常作業用上側しきい値及び下側しきい値が設定される。
0084
実施の形態31.
図22はこの発明の実施の形態31によるロボット制御装置を示すブロック図であり、図において、67は平滑化手段である。
その他の構成については図15と同一のため、説明は省略する。
0085
次に動作について説明する。
平滑化手段67は、トルク余裕演算手段31から上側トルク余裕値及び下側トルク余裕値を順次受信する。平滑化手段67の内部には2段の移動平均フィルタ手段が設けられており、受信した上側トルク余裕値及び下側トルク余裕値を順次2段の移動平均フィルタに通した結果を上側トルク余裕値及び下側トルク余裕値としてトルク制限値演算手段32に送信する。2段の移動平均フィルタを通すことにより、しきい値演算手段28で演算される低レベル上側しきい値及び低レベル下側しきい値がステップ状に変化する場合にもトルク制限値演算手段32から出力される上側モータ電流制限値及び下側モータ電流制限値は滑らかに変化する。
0086
実施の形態32.
図23はこの発明の実施の形態32によるロボット制御装置を示すブロック図であり、図において、68はトルク制限値保持手段である。
その他の構成については図22と同一のため、説明は省略する。
0087
次に動作について説明する。
トルク制限値保持手段68には、通常状態では内部で保持している衝突状態判別パラメータの値が0になっており、前記衝突状態判別パラメータの値が0の時は、今回周期にトルク制限値演算手段32から入力される上側トルク制限値及び下側トルク制限値をトルク制限値記憶エリアに書き込み記憶させる。また、トルク制限値演算手段32から入力される上側トルク制限値及び下側トルク制限値をそのまま出力する。第1衝突判別手段29もしくは第2衝突判別手段37から衝突検知信号を受信すると衝突状態判別パラメータの値を1にする。衝突状態判別パラメータの値が1の時は、今回周期の上側トルク制限値及び下側トルク制限値の記憶エリアへの書き込みを停止し、記憶エリアに格納されている上側トルク制限値及び下側トルク制限値を出力する。衝突状態判別パラメータの値はモータ電源遮断時に0に戻される。
0088
実施の形態33.
図24はこの発明の実施の形態33によるロボット制御装置を示すブロック図であり、図において、69は手先負荷設定値読み出し手段、70は平滑化手段である。
その他の構成については図23と同一のため、説明は省略する。
0089
次に動作について説明する。
手先負荷設定値読み出し手段69では、時々刻々の手先負荷質量、手先負荷重心位置、手先負荷慣性モーメントを読み出して出力する。平滑化手段70は、2段の移動平均フィルタを備えており、手先負荷設定値読み出し手段69から出力される時々刻々の手先負荷質量、手先負荷重心位置、手先負荷慣性モーメントを前記2段の移動平均フィルタに通した結果を必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3に出力する。必要駆動トルク指令要素演算手段2及び必要駆動トルク演算手段3では、平滑化手段70から出力された手先負荷質量、手先負荷重心位置、手先負荷慣性モーメントを用いて運動方程式の演算を行う。
0090
実施の形態34.
この発明の実施の形態34によるロボット制御装置を示すブロック図は図1であり、衝突判別手段5以外の各手段の動作は、実施の形態2と同様のため、説明は省略する。
0091
次に動作について説明する。
衝突判別手段5の内部には、衝突状態判別パラメータを設ける。衝突状態判別パラメータの初期値は0である。衝突状態判別パラメータの値が0の場合、衝突判別手段5では、モータ制御手段6から入力されるモータ電流から実際各軸のモータ駆動トルクを演算する。次に、必要駆動トルク演算手段3で演算した必要駆動トルクと実際のモータ駆動トルクの差を各軸について計算する。いずれかの軸における必要駆動トルクとモータ駆動トルクの差が上側しきい値以上の場合、もしくは下側しきい値以下となった場合にロボットが衝突したと判別し、指令値生成部1に停止命令を送信すると共に、衝突状態判別パラメータの値を1とする。
衝突状態判別パラメータの値が1の場合も必要駆動トルクと実際のモータ駆動トルクの差を各軸について計算し、いずれかの軸における必要駆動トルクとモータ駆動トルクの差が上側しきい値以上の場合、もしくは下側しきい値以下となった場合にロボットが衝突したと判別するが、指令値生成部1に停止命令を送信することは行わない。衝突状態判別パラメータの値は制御装置の電源を遮断し再投入した場合と、プログラムもしくは制御装置の操作盤から衝突判別機能の再開が設定された場合に0に戻す。
0092
実施の形態35.
この発明の実施の形態35によるロボット制御装置を示すブロック図は図1であり、衝突判別手段5以外の各手段の動作は、実施の形態2と同様のため、説明は省略する。
0093
次に動作について説明する。
衝突判別手段5の内部には、1段の移動平均フィルタ手段を設ける。衝突判別手段5に入力される必要駆動トルクを前記移動平均フィルタに通したときの出力をフィルタ後必要駆動トルクとする。次に、衝突判別手段5に入力されるモータ電流から実際の各軸モータ駆動トルクを算出し、算出した各軸モータ駆動トルクを前記移動平均フィルタに通したときの出力をフィルタ後モータ駆動トルクとする。フィルタ後必要駆動トルクとフィルタ後モータ駆動トルクの差を各軸について計算する。いずれかの軸におけるフィルタ後必要駆動トルクとフィルタ後モータ駆動トルクとの差が上側しきい値以上の場合、もしくは下側しきい値以下となった場合にロボットが衝突したと判別し、指令値生成手段1に停止命令を送信する。
0094
実施の形態36.
この発明の実施の形態36によるロボット制御装置を示すブロック図は図1であり、指令値生成手段1以外の各手段の動作は、実施の形態34と同様のため、説明は省略する。
0095
次に動作について説明する。
指令値生成手段1では、ロボットに実行させる各動作毎に0以上1以下の値を持つ媒介変数で位置指令を表現し、媒介変数を0から1まで滑らかに増加させていくことにより時々刻々の位置指令を生成する。衝突判別手段5より停止命令を受信すると、媒介変数の現在値Xcを記憶すると共に、単位時間当たりの媒介変数の増加量を滑らかに0まで減少させる。単位時間当たりの媒介変数の増加量が0になった地点の媒介変数値をXsとする。指令値生成手段1には、媒介変数戻し量Xlを予め記憶しておく。Xc−Xlと0とを比較し、大きい方をXtとする。単位時間当たりの媒介変数の増加量が0になった後、直ちに媒介変数をXsからXtまで滑らかに減少させることにより衝突状態から回避する位置指令を生成する。
0096
実施の形態37.
図25はこの発明の実施の形態37によるロボット制御装置を示すブロック図であり、図において、74は第1衝突判別手段、75は第2衝突判別手段、76は位置速度記憶手段、77は過度反転判別手段である。
その他の構成については実施の形態16と同一のため、説明は省略する。
0097
次に動作について説明する。
第1衝突判別手段74では、位置速度記憶手段76に衝突検知信号を送信する。また、第2衝突判別手段75では、位置速度記憶手段76に衝突検知信号を送信する。
位置速度記憶手段76は、第1衝突判別手段74もしくは第2衝突判別手段75から衝突検知信号を受信すると、受信したときの各軸の関節変位と関節速度を記憶する。過度反転判別手段77では、位置速度記憶手段76に記憶された関節変位と関節速度を読み込み、モータ制御手段33から入手する現在の関節変位が、位置速度記憶手段76に記憶された関節変位から、位置速度記憶手段76に記憶された関節速度とは逆向きに規定値以上離れた場合に、過度反転が発生したと判別し、モータ制御手段33に即時停止命令を送信する。
0098
実施の形態38.
この発明の実施の形態38によるロボット制御装置を示すブロック図は図25であり、過渡反転判別手段77以外の各手段の動作は、実施の形態37と同様のため、説明は省略する。
0099
次に動作について説明する。
過度反転判別手段77では、位置速度記憶手段76に記憶された関節変位と関節速度を読み込み、モータ制御手段33から入手する現在の関節速度が、位置速度記憶手段76に記憶された関節関節速度とは逆向きでかつその絶対値が規定値以上の場合に、過度反転が発生したと判別し、モータ制御手段33に即時停止命令を送信する。
0100
実施の形態39.
図26はこの発明の実施の形態39によるロボット制御装置を示すブロック図であり、図において、79は第1衝突判別手段、80はモータ制御手段、81は第2衝突判別手段、82は第2指令値生成手段である。
その他の構成については実施の形態16と同一のため、説明は省略する。
0101
次に動作について説明する。
第1衝突判別手段79では、まずモータ制御手段80から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成手段1及び第2指令値生成手段82に停止命令を送信する。
第2衝突判別手段81では、まずモータ制御手段80で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段81は停止命令を指令値生成手段1及び第2指令値生成手段82に送信する。
第2指令値生成手段82は、第1衝突判別手段79もしくは第2衝突判別手段81から停止命令を受信すると、ロボットを駆動する各軸ごとに現在速度から速やかに減速停止する減速停止指令を生成する。モータ制御手段80では指令値生成手段1から送られてくる指令値を無視して、第2指令値生成手段82で生成される減速停止指令に基づいてモータ制御を行う。
0102
実施の形態40.
図27はこの発明の実施の形態40によるロボット制御装置を示すブロック図であり、図において、83は第1衝突判別手段、84はモータ制御手段、85は第2衝突判別手段、86はトルク制限値演算手段である。
その他の構成については図26と同一のため、説明は省略する。
0103
次に動作について説明する。
第1衝突判別手段83では、まずモータ制御手段84から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させるとともにタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成手段1に停止命令を送信すると共に、トルク制限値演算手段86に衝突検知信号と衝突検知軸番号を送信する。
第2衝突判別手段85では、まずモータ制御手段84で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段85は指令値生成手段1に停止命令を送信すると共に、トルク制限値演算手段86に衝突検知信号と衝突検知軸番号を送信する。
トルク制限値演算手段86の衝突検知信号受信前の動作は図37のトルク制限値演算手段32の動作と全く同一であるが、第1衝突判別手段83もしくは第2衝突判別手段85から衝突検知信号及び衝突検知軸番号を受信すると、衝突検知軸番号と同一の番号の軸のみ上側トルク制限値及び下側トルク制限値を現在値に固定する。残りの軸の上側トルク制限値及び下側トルク制限値は衝突検知信号受信前と全く同一の手法で算出を続ける。
0104
実施の形態41.
この発明の実施の形態41によるロボット制御装置を示すブロック図は図27であり、トルク制限値演算手段86以外の各手段の動作は、実施の形態40と同様のため、説明は省略する。
0105
次に動作について説明する。
トルク制限値演算手段86の衝突検知信号受信前の動作は、図25のトルク制限値演算手段32の動作と全く同一であるが、第1衝突判別手段83もしくは第2衝突判別手段85から衝突検知信号及び衝突検知軸番号を受信すると、衝突検知軸番号と同一の番号の軸のみ必要駆動トルク指令要素演算手段2から送信されてくる重力指令トルク要素に上側トルク余裕値を加算したものを上側トルク制限値とし、重力指令トルク要素に下側トルク余裕値を加算したものを下側トルク制限値とする。ただし、突然切り替えるとトルク制限値がステップ上に変化するため、滑らかに切り替える。具体的には、衝突検知軸番号と同一の番号の軸に関しては、衝突検知信号受信後は、必要駆動トルク指令要素演算手段2から送信されてくるトルク指令要素の和に基づくトルク制限値と重力指令に基づくトルク制限値の重み付和をモータ電流制限手段35に送信するトルク制限値とし、両者の重みの合計値を1に保ちながら、トルク指令要素の和に基づくトルク制限値の重みを1から0に滑らかに減少させると共に、重力指令に基づくトルク制限値の重みを0から1に滑らかに増加させる。
0106
実施の形態42.
この発明の実施の形態42によるロボット制御装置を示すブロック図は図27であり、トルク制限値演算手段86以外の各手段の動作は、実施の形態40と同様のため、説明は省略する。
0107
次に動作について説明する。
トルク制限値演算手段86の内部に衝突検知後のトルク余裕値倍率βをあらかじめ記憶しておく。第1衝突判別手段83もしくは第2衝突判別手段85から衝突検知信号を受信するまでは、図25のトルク制限値演算手段32と全く同様に上側トルク制限値及び下側トルク制限値を計算する。第1衝突判別手段83もしくは第2衝突判別手段85から衝突検知信号を受信した後は、上側トルク余裕値及び下側トルク余裕値にトルク余裕値倍率βを乗じてから、必要駆動トルク指令要素演算手段2から送信されてくるトルク指令要素の和に加算してモータ電流制限手段35に送信するトルク制限値を算出する。ただし、突然切り替えるとトルク制限値がステップ上に変化するため、上側トルク余裕値及び下側トルク余裕値に乗じる値をいきなりβにするのではなく、滑らかにβに変化させる。
0108
実施の形態43.
図28はこの発明の実施の形態43によるロボット制御装置を示すブロック図であり、図において、89はしきい値演算手段、90は衝突仮想判別手段、91は判別データ蓄積手段、92はモータ制御手段である。
その他の構成については実施の形態42と同一のため、説明は省略する。
0109
次に動作について説明する。
この実施の形態43においては、通常モードと試行動作モードとの2通りを設け、試行動作モードの動作結果から衝突判別に用いるしきい値を算出するもとになるパラメータを決定する。図28は実施の形態43におけるロボット制御方式の試行動作モードの構成を示すブロック図であり、実施の形態43におけるロボット制御方式の通常モードの構成を示すブロック図は図25である。
しきい値演算手段89には、しきい値の算出に使用されるパラメータの値の候補が複数設定される。パラメータの値の候補設定は、図示しない手動操作盤、もしくはロボット動作を記述するプログラムから行われる。しきい値演算手段89は設定されたパラメータとそのパラメータに基づいて算出されるしきい値を衝突仮想判別手段90に送信する。
衝突仮想判別手段90では、まず、モータ制御手段92から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。次にしきい値演算手段89から送信される複数のしきい値のそれぞれに対して演算した各軸のトルク差と各軸のしきい値のどちらが大きいか比較し、それぞれのしきい値に対して、各軸でトルク差がしきい値を連続して超えた回数である連続超過回数を算出する。算出した連続超過回数としきい値の算出に用いられたパラメータ値と軸番号は判別データ蓄積手段91に送信される。
判別データ蓄積手段91では、連続超過回数が、パラメータ値と軸番号ごとに保存される。保存されている連続超過回数よりも大きな値が連続超過回数として送信されてきた場合は保存されている値を書き換える。判別データ蓄積手段91に蓄積されたパラメータ値、軸番号、連続超過回数は、図示しない手動操作盤やロボット制御装置に接続されたパーソナルコンピュータから閲覧できる。ロボット制御装置の管理者は閲覧したパラメータ値、軸番号、連続超過回数に基づいてしきい値演算手段89で用いるパラメータ値を決定する。
0110
実施の形態44
図29はこの発明の実施の形態44によるロボット制御装置を示すブロック図であり、図において、93はパラメータ決定手段である。
その他の構成については図28と同一のため、説明は省略する。
0111
次に動作について説明する。
この実施の形態44においても、通常モードと試行動作モードとの2通りを設け、試行動作モードの動作結果から衝突判別に用いるしきい値を算出するもとになるパラメータを決定する。図29は、実施の形態44におけるロボット制御方式の試行動作モードの構成を示すブロック図であり、実施の形態44におけるロボット制御方式の通常モードの構成を示すブロック図は図25である。
パラメータ決定手段93では図示しない手動操作盤からパラメータ決定指令を受け取ると、ロボットを駆動する軸ごとにパラメータ値と連続超過回数データを判別データ蓄積手段91より受信する。次にあらかじめ記憶されている許容最大連続回数とパラメータ値ごとの連続超過回数を比較し、連続超過回数が許容最大連続回数以下となるパラメータ値の中で最小のパラメータ値を求め、さらに、あらかじめ記憶されている補正値を加算したものをしきい値演算用パラメータとして、しきい値演算手段89に送信する。
0112
実施の形態45.
図30はこの発明の実施の形態45によるロボット制御装置を示すブロック図であり、図において、94は感度設定手段である。
その他の構成については図28と同一のため、説明は省略する。
0113
次に動作について説明する。
この実施の形態45においても、通常モードと試行動作モードとの2通りを設け、試行動作モードの動作結果から衝突判別に用いるしきい値を算出するもとになるパラメータを決定する。図30は、実施の形態45におけるロボット制御方式の試行動作モードの構成を示すブロック図であり、実施の形態45におけるロボット制御方式の通常モードの構成を示すブロック図は図25である。
まず、感度設定手段94では図示しない手動操作盤から、感度候補値が複数設定され、設定された感度候補値は全てしきい値演算手段89に送信される。
しきい値演算手段89では、あらかじめ記憶されているパラメータに基づいて時々刻々のしきい値を算出する。次に算出したしきい値に感度候補値のそれぞれを乗算し、乗算結果と感度候補値の組み合わせを衝突仮想判別手段にすべて送信する。
衝突仮想判別手段90では、まずモータ制御手段92から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。次にしきい値演算手段89から送信される複数のしきい値のそれぞれに対して演算した各軸のトルク差と各軸のしきい値のどちらが大きいか比較し、それぞれのしきい値に対して、各軸でトルク差がしきい値を連続して超えた回数である連続超過回数を算出する。算出した連続超過回数、軸番号としきい値の算出に用いられた感度候補値は判別データ蓄積手段91に送信される。
判別データ蓄積手段91では、連続超過回数が、軸番号、感度候補値ごとに保存される。保存されている連続超過回数よりも大きな値が連続超過回数として送信されてきた場合は保存されている値を書き換える。判別データ蓄積手段91に蓄積された感度候補値、軸番号、連続超過回数は、図示しない手動操作盤やロボット制御装置に接続されたパーソナルコンピュータから閲覧できる。ロボット制御装置の管理者は閲覧した感度候補値、軸番号、連続超過回数に基づいて実際にロボットを動作させる際の感度設定値を決定する。
0114
実施の形態46.
図31はこの発明の実施の形態46によるロボット制御装置を示すブロック図であり、図において、95は表示手段である。
その他の構成については図25と同一のため、説明は省略する。
0115
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成手段1に停止命令を送信する。また表示手段95に衝突検知信号を送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は停止命令を指令値生成手段1に送信する。また表示手段95に衝突検知信号を送信する。
表示手段95は衝突検知信号を受信すると、手動操作盤の画面を衝突検知機能切り替え専用画面に自動的に切り替える。衝突検知機能切り替え画面には、1を入力すると衝突検知機能を有効としたまま元の画面に戻り、0を入力すると衝突検知機能を無効にして元の画面に戻る旨記載されている。ロボット操作者は画面表示に従って手動操作盤を操作することにより衝突検知機能を直ちに無効にして、衝突により押し込み状態にあるロボットを迅速に退避させることができる。
0116
実施の形態47.
図32はこの発明の実施の形態47によるロボット制御装置を示すブロック図であり、図において、96は衝突状態判別手段である。
その他の構成については図25と同一のため、説明は省略する。
0117
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。すべての軸で規定時間以上連続してトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となっているときは、衝突状態判別手段96に衝突状態脱出信号を送信する。一方、いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、衝突状態判別手段96に停止命令と衝突検知信号を送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は停止命令と衝突検知信号を衝突状態判別手段96に送信する。
衝突状態判別手段96には衝突状態判別フラグを備えている。通常の動作状態では衝突判別フラグは0となっている。衝突判別フラグの値が0のときは衝突状態にないと判別していることを意味している。衝突判別フラグの値が0の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信すると、停止命令はそのまま指令値生成手段1に出力すると共に衝突判別フラグの値を1に変更する。衝突判別フラグの値が1のときは衝突状態にあると判別していることを意味している。衝突判別フラグの値が1の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信しても、停止命令は指令値生成手段1に送信されない。第1衝突判別手段74から衝突状態脱出信号を受信すると衝突判別フラグの値は0に変更される。
0118
実施の形態48.
この発明の実施の形態48によるロボット制御装置を示すブロック図は図31であり、指令値生成手段1以外の各手段の動作は、実施の形態46と同様のため、説明は省略する。
0119
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、指令値生成手段1に停止命令を送信する。また指令値生成手段1及び表示手段95に衝突検知信号を送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は停止命令を指令値生成手段1に送信する。また指令値生成手段1及び表示手段95に衝突検知信号を送信する。
指令値生成手段1では、第1衝突判別手段74もしくは第2衝突判別手段75から停止信号を受信すると直ちに減速停止指令曲線を生成する。第1衝突判別手段74もしくは第2衝突判別手段75から衝突検知信号を受信すると、指令値生成手段1内部に備えてあるリングバッファ(記憶手段)からあらかじめ規定された時間前の位置指令を読み出し、読み出した位置を衝突退避動作目標地点として記憶する。手動操作盤の規定されたボタンが押し込まれることにより衝突退避指令が入力されると、減速停止した後の現在位置を始点とし、衝突退避動作目標点を終点とする直線動作指令を、あらかじめ規定された低速度で生成する。
表示手段95は衝突検知信号を受信すると、手動操作盤の画面を衝突退避動作専用画面に自動的に切り替える。衝突退避動作専用画面では、衝突退避動作を指令するために押さねばならないボタンの番号が示される。
0120
実施の形態49.
この実施の形態49におけるロボット制御方式の構成を示すブロック図も図31であり、指令値生成手段1以外の各要素は実施の形態48の各要素と同一なので説明は省略する。
0121
次に動作について説明する。
指令値生成手段1では、第1衝突判別手段74もしくは第2衝突判別手段75から停止信号を受信すると直ちに減速停止指令曲線を生成する。第1衝突判別手段74もしくは第2衝突判別手段75から衝突検知信号を受信すると、衝突検知信号受信時に実行している動作が1つの場合は当該動作の始点を衝突退避動作目標地点として記憶する。衝突検知信号受信時に実行している動作が2つ以上ある場合は、最新の動作が実際に開始された地点を算出し、算出した地点を衝突退避動作目標地点として記憶する。手動操作盤の規定されたボタンが押し込まれることにより衝突退避指令が入力されると、衝突検知信号受信時に実行している動作が1つの場合は、当該動作と同じ補間方法で減速停止した後の現在位置を始点とし、衝突退避動作目標点を終点する動作をあらかじめ規定された低速度で生成する。衝突検知信号受信時に実行している動作が2つ以上ある場合は、減速停止した後の現在位置を始点とし、衝突退避動作目標点を終点とする直線動作指令を、あらかじめ規定された低速度で生成する。
0122
実施の形態50.
図33はこの発明の実施の形態50によるロボット制御装置を示すブロック図であり、図において、98は衝突状態判別手段、99は指令値生成手段、100は表示手段である。
その他の構成については図25と同一のため、説明は省略する。
0123
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。すべての軸で規定時間以上連続してトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となっているときは、衝突状態判別手段98に衝突状態脱出信号を送信する。一方、いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、衝突状態判別手段98に衝突検知信号と停止命令を送信する。また衝突と判定された軸の番号である衝突検知軸番号と、その軸の差トルクの符号である衝突検知方向を衝突状態判別手段98に送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は衝突検知信号と停止命令を衝突状態判別手段98に送信する。また衝突と判定された軸の番号である衝突検知軸番号と、その軸の差トルクの符号である衝突検知方向を衝突状態判別手段98に送信する。
衝突状態判別手段98には衝突状態判別フラグを備えている。通常の動作状態では衝突判別フラグは0となっている。衝突判別フラグの値が0のときは衝突状態にないと判別していることを意味している。衝突判別フラグの値が0の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信すると、停止命令と衝突検知信号はそのまま指令値生成手段99に出力すると共に衝突判別フラグの値を1に変更する。衝突検知信号は表示手段100にも送信される。また、受信した衝突検知軸番号と衝突検知方向を指令値生成手段99及び表示手段100に送信する。衝突判別フラグの値が1のときは衝突状態にあると判別していることを意味している。衝突判別フラグの値が1の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信しても、停止命令は指令値生成手段99に送信されない。第1衝突判別手段74から衝突状態脱出信号を受信すると衝突判別フラグの値は0に変更される。衝突判別フラグが1から0に変わると衝突状態脱出信号を指令値生成手段99及び表示手段100に送信する。
指令値生成手段99では、衝突状態判別手段98から停止信号及び衝突検知信号を受信すると直ちに減速停止指令曲線を生成する。減速停止指令曲線の生成完了後に、衝突検知軸番号と同一の軸の指令方向チェックフラグを1にする。指令方向チェックフラグが1になっている軸の指令方向が衝突検知方向と一致する場合は、生成した指令値を指令値生成手段99の外部には出力せず、指令値生成周期の前回周期の値を外部に出力すると共に、表示手段100に動作方向警告信号を送信する。指令方向チェックフラグは衝突状態脱出信号を受信すると0に戻される。
表示手段100では、衝突状態判別手段98から、衝突検知信号、衝突検知軸番号、衝突検知方向を受信すると、手動操作盤の画面を衝突状態表示画面に切り替える。衝突状態表示画面では、衝突検知軸番号及び衝突検知方向が表示される。また、指令値生成手段99から動作方向警告信号を受信すると警告音を発生すると共に衝突検知軸番号及び衝突検知方向を点滅させながら手動操作盤の画面に表示させる。
0124
実施の形態51.
図34はこの発明の実施の形態51によるロボット制御装置を示すブロック図であり、図において、101は衝突状態判別手段である。
その他の構成については図33と同一のため、説明は省略する。
0125
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。すべての軸で規定時間以上連続してトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となっているときは、衝突状態判別手段101に衝突状態脱出信号を送信する。一方、いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、衝突状態判別手段101に衝突検知信号と停止命令を送信する。また、衝突と判別した瞬間の各軸のトルク差を衝突作用トルクとして衝突状態判別手段101に送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は衝突検知信号と停止命令を衝突状態判別手段101に送信する。また、衝突と判別した瞬間の各軸のトルク差を衝突作用トルクとして衝突状態判別手段101に送信する。
衝突状態判別手段101は衝突状態判別フラグを備えている。通常の動作状態では衝突判別フラグは0となっている。衝突判別フラグの値が0のときは衝突状態にないと判別していることを意味している。衝突判別フラグの値が0の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信すると、停止命令と衝突検知信号をそのまま指令値生成手段99に出力すると共に衝突判別フラグの値を1に変更する。衝突検知信号は表示手段100にも送信される。また、受信した衝突作用トルクとモータ制御手段33から入力される関節変位から直交座標系における衝突方向を下記の手順で算出する。
まず、各軸の衝突作用トルクから構成される衝突作用トルクベクトルをτc、ロボット手先で見た衝突力ベクトルをFcとすると、
c=(JvT-1τc ・・・(32)
とかける。ここで、(JvT-1はヤコビ行列と呼ばれる関節変位の関数となっている行列で、各軸の速度から構成される各軸速度ベクトルをv、手先の速度から構成される手先速度ベクトルをvxとすると、
x=Jvv ・・・(33)
なる関係がある。(32)式に基づいて衝突力ベクトルFcを算出し、FcのX、Y、Z成分の中で絶対値が規定値以上のものがあれば、その成分の方向を直交座標系における衝突方向とする。例えば、のX成分が+方向に規定値以上となっている場合は、衝突方向をX軸+方向とする。算出した衝突方向は指令値生成手段99及び表示手段100に送信される。衝突判別フラグの値が1のときは衝突状態にあると判別していることを意味している。衝突判別フラグの値が1の時に第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信しても、停止命令は指令値生成手段99に送信されない。第1衝突判別手段74から衝突状態脱出信号を受信すると衝突判別フラグの値は0に変更される。衝突判別フラグが1から0に変わると衝突状態脱出信号を指令値生成手段99及び表示手段100に送信する。
指令値生成手段99では、衝突状態判別手段101から停止信号及び衝突検知信号を受信すると直ちに減速停止指令曲線を生成する。減速停止指令曲線の生成完了後に、衝突方向の指令方向チェックフラグを1にする。指令方向チェックフラグが1になっている直交座標成分の指令方向が、衝突方向と同一になっている場合は、生成した指令値を指令値生成手段99の外部には出力せず、指令値生成周期の前回周期の値を外部に出力すると共に、表示手段100に動作方向警告信号を送信する。指令方向チェックフラグは衝突状態脱出信号を受信すると0に戻される。
表示手段100では、衝突状態判別手段101から、衝突検知信号、衝突方向を受信すると、手動操作盤の画面を衝突状態表示画面に切り替える。衝突状態表示画面では、衝突方向が表示される。また、指令値生成手段99から動作方向警告信号を受信すると警告音を発生すると共に衝突方向を点滅させながら手動操作盤の画面に表示させる。
0126
実施の形態52.
図35はこの発明の実施の形態52によるロボット制御装置を示すブロック図であり、図において、102はモード判別手段である。
その他の構成については図31と同一のため、説明は省略する。
0127
次に動作について説明する。
第1衝突判別手段74では、まずモータ制御手段33から入力されるモータ電流から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。すべての軸で規定時間以上連続してトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となっているときは、モード判別手段102に衝突状態脱出信号を送信する。一方、いずれかの軸においてトルク差が上側低レベルしきい値以上もしくは下側低レベルしきい値以下になると衝突判定タイマーをスタートさせる。当該軸のトルク差が上側低レベルしきい値以下かつ下側低レベルしきい値以上となったときは前記タイマーを停止させると共にタイマーの内部時間を0にリセットする。前記タイマーの内部時間がしきい値演算手段28で設定された衝突判別時間以上となった場合にロボットが衝突したと判別する。ロボットの衝突を判別した場合は、モード判別手段102に停止命令と衝突検知信号を送信する。
第2衝突判別手段75では、まずモータ制御手段33で保持しているモータ電流値から実際の各軸のモータ駆動トルクを演算する。次に演算したモータ駆動トルクと必要駆動トルク演算手段3で演算した必要駆動トルクとの差であるトルク差の演算を行う。いずれかの軸においてトルク差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下の時はロボットが衝突したと判別する。衝突を判別したときは、第2衝突判別手段75は停止命令と衝突検知信号をモード判別手段102に送信する。
モード判別手段102には、モードフラグが存在し、現在教示モードであるならばモードフラグの値は1、自動モードであるならばモードフラグは0となっている。モードフラグが1の時は、第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信しても、停止命令を指令値生成手段97には出力しない。衝突検知信号を受信してから衝突状態脱出信号を受信するまでの間は表示手段100に衝突検知信号を出力する。モードフラグが0の時は第1衝突判別手段74もしくは第2衝突判別手段75から停止命令と衝突検知信号を受信すると、停止命令と衝突検知信号を指令値生成手段97に出力する。また、衝突検知信号を受信してから衝突状態脱出信号を受信するまでの間は表示手段100に衝突検知信号を出力する。
表示手段100では、モード判別手段102から衝突検知信号を受信している間は警告音を発生する。
0128
実施の形態53.
この実施の形態53におけるロボット制御方式の構成を示すブロック図は図25であり、必要駆動トルク演算手段3以外の各要素は実施の形態37の各要素と同一なので説明は省略する。
0129
次に動作について説明する。
必要駆動トルク演算手段3では必要駆動トルクτe
τe=τme+τhe+τgd+τfe ・・・(34)
で算出する。(10)式と異なるのは最後のτfeのみなので、以下でτfeの算出について説明する。まず、τfeは摩擦力ベクトルであり、
τfe=τfb+τfc ・・・(35)
で算出される。各軸の粘性摩擦係数をfbi、クーロン摩擦係数をfci、各軸の現在速度をviとすると、
τfbi=fbi*vi ・・・(36)
τfc0i=fci (vi>0の時)・・・(37)
τfc0i=0 (vi=0の時)・・・(38)
τfc0i=−fci (vi<0の時)・・・(39)
で算出され、τfc0iを1次遅れフィルタに通した結果をτfciとし、各軸のτfciを集めたベクトルをτfcとし、各軸のτfbiを集めたベクトルをτfbとする。
0130
実施の形態54.
図36はこの発明の実施の形態54によるロボット制御装置を示すブロック図であり、図において、103はトルク指令絶対値最大値演算手段である。
その他の構成については図31と同一のため、説明は省略する。
0131
次に動作について説明する。
トルク指令絶対値最大値演算手段103には、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdが入力される。次に慣性力指令要素ベクトルτmd、遠心コリオリ力指令要素ベクトルτhdの各軸要素を加算し、加算結果の絶対値を求め、求めた絶対値を各軸の減速比、トルク定数を考慮して各軸のモータ電流指令のスケールに換算する。さらに各軸モータの定格電流に基づいて正規化する。各軸毎に算出した各軸モータの定格電流で正規化した慣性力指令と遠心コリオリ力指令の和の絶対値の中から最大のものをTmaxとして出力する。
しきい値演算手段28には、衝突判別時間、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令倍率、下側しきい値トルク指令倍率、上側低レベルしきい値クランプ値、下側低レベルしきい値クランプ値、高レベル加算値を各軸毎に記憶しておき、トルク指令絶対値最大値演算手段103から出力されるTmaxを用いて、各軸の上側しきい値基準値は、上側しきい値ベース分+上側しきい値トルク指令倍率×Tmax、下側しきい値基準値は下側しきい値ベース分+下側しきい値トルク指令倍率×Tmaxで算出される。次に上側しきい値基準値が上側低レベルしきい値クランプ値以下の場合は、上側しきい値基準値が上側低レベルしきい値として設定され、上側しきい値基準値が上側低レベルしきい値クランプ値以上の場合は、上側低レベルしきい値クランプ値が上側低レベルしきい値として設定される。下側しきい値基準値が下側低レベルしきい値クランプ値以上の場合は、下側しきい値基準値が下側低レベルしきい値として設定され、下側しきい値基準値が下側低レベルしきい値クランプ値以下の場合は、下側低レベルしきい値クランプ値が下側低レベルしきい値として設定される。上側高レベルしきい値は上側低レベルしきい値+高レベル加算値で設定され、下側高レベルしきい値は下側低レベルしきい値−高レベル加算値で設定される。設定された上側低レベルしきい値、下側低レベルしきい値、衝突判別時間は第1衝突判別手段74に出力され、上側高レベルしきい値、下側高レベルしきい値は第2衝突判別手段75に出力される。
0132
実施の形態55.
図37はこの発明の実施の形態55によるロボット制御装置を示すブロック図であり、図において、104は加減速方向重み決定手段、105はトルク指令絶対値最大値演算手段、106はしきい値演算手段である。
その他の構成については図36と同一のため、説明は省略する。
0133
次に動作について説明する。
加減速方向重み決定手段104には、まず、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmdが入力される。次にτmdの各軸の符号を求め、求めた符号に応じて加減速方向重みを決定する。具体的にはτmdの各軸の符号と同じ方向の重みをk1、逆方向の重みをk2とする。例えば第2軸のτmdの符号が+ならば、第2軸の上側しきい値にかける重みukの値をk1、下側しきい値にかける重みlkの値をk2とする。各軸ごとの加減速方向重みはしきい値演算手段106に出力される。
しきい値演算手段106には、衝突判別時間、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令倍率、下側しきい値トルク指令倍率、上側低レベルしきい値クランプ値、下側低レベルしきい値クランプ値、高レベル加算値を各軸毎に記憶しておき、トルク指令絶対値最大値演算手段105から出力されるTmaxを用いて、各軸の上側しきい値基準値は、上側しきい値ベース分+上側しきい値トルク指令倍率×Tmax、下側しきい値基準値は下側しきい値ベース分+下側しきい値トルク指令倍率×Tmaxで算出される。次に上側しきい値基準値が上側低レベルしきい値クランプ値以下の場合は、上側しきい値基準値が上側低レベルしきい値として設定され、上側しきい値基準値が上側低レベルしきい値クランプ値以上の場合は、上側低レベルしきい値クランプ値が上側低レベルしきい値として設定される。下側しきい値基準値が下側低レベルしきい値クランプ値以上の場合は、下側しきい値基準値が下側低レベルしきい値として設定され、下側しきい値基準値が下側低レベルしきい値クランプ値以下の場合は、下側低レベルしきい値クランプ値が下側低レベルしきい値として設定される。上側高レベルしきい値は上側低レベルしきい値+高レベル加算値で設定され、下側高レベルしきい値は下側低レベルしきい値−高レベル加算値で設定される。さらに設定された上側低レベルしきい値、及び上側高レベルしきい値のそれぞれに加減速方向重み決定手段104から入力された加減速方向重みukが乗じられる。また、下側低レベルしきい値、及び下側高レベルしきい値のそれぞれに加減速方向重み決定手段104から入力された加減速方向重みlkが乗じられる。加減速方向重みが乗じられた上側低レベルしきい値、下側低レベルしきい値、衝突判別時間は第1衝突判別手段74に出力され、加減速方向重みが乗じられた上側高レベルしきい値、下側高レベルしきい値は第2衝突判別手段75に出力される。
0134
実施の形態56.
図38はこの発明の実施の形態56によるロボット制御装置を示すブロック図であり、図において、107はしきい値演算手段である。
その他の構成については図36と同一のため、説明は省略する。
0135
次に動作について説明する。
しきい値演算手段107には、衝突判別時間、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令倍率、下側しきい値トルク指令倍率、上側低レベルしきい値クランプ値、下側低レベルしきい値クランプ値、高レベル加算値を各軸毎に記憶しておき、トルク指令絶対値最大値演算手段103から出力されるTmaxを用いて、各軸の上側しきい値基準値は、上側しきい値ベース分+上側しきい値トルク指令倍率×Tmax、下側しきい値基準値は下側しきい値ベース分+下側しきい値トルク指令倍率×Tmaxで算出される。次に上側しきい値基準値が上側低レベルしきい値クランプ値以下の場合は、上側しきい値基準値が上側低レベルしきい値として設定され、上側しきい値基準値が上側低レベルしきい値クランプ値以上の場合は、上側低レベルしきい値クランプ値が上側低レベルしきい値として設定される。下側しきい値基準値が下側低レベルしきい値クランプ値以上の場合は、下側しきい値基準値が下側低レベルしきい値として設定され、下側しきい値基準値が下側低レベルしきい値クランプ値以下の場合は、下側低レベルしきい値クランプ値が下側低レベルしきい値として設定される。上側高レベルしきい値は上側低レベルしきい値+高レベル加算値で設定され、下側高レベルしきい値は下側低レベルしきい値−高レベル加算値で設定される。
しきい値演算手段107には、モータ制御手段33から各軸のモータ速度も入力される。しきい値演算手段107では各軸モータ速度の現在値と前回の各軸モータ速度より、各軸モータ加速度を算出する。しきい値演算手段107には、モータ加速度の絶対値と衝突判別時間のテーブルがあらかじめ作成されており、このテーブルを参照することにより各軸の衝突判別時間が設定される。
設定された上側低レベルしきい値、下側低レベルしきい値、衝突判別時間は第1衝突判別手段74に出力され、上側高レベルしきい値、下側高レベルしきい値は第2衝突判別手段75に出力される。
0136
実施の形態57.
図39はこの発明の実施の形態57によるロボット制御装置を示すブロック図であり、図において、108はしきい値演算手段である。
その他の構成については図36と同一のため、説明は省略する。
0137
次に動作について説明する。
しきい値演算手段108には、衝突判別時間、上側しきい値ベース分、下側しきい値ベース分、上側しきい値トルク指令倍率、下側しきい値トルク指令倍率、上側低レベルしきい値クランプ値、下側低レベルしきい値クランプ値、高レベル加算値を各軸毎に記憶しておき、トルク指令絶対値最大値演算手段103から出力されるTmaxを用いて、各軸の上側しきい値基準値は、上側しきい値ベース分+上側しきい値トルク指令倍率×Tmax、下側しきい値基準値は下側しきい値ベース分+下側しきい値トルク指令倍率×Tmaxで算出される。次に上側しきい値基準値が上側低レベルしきい値クランプ値以下の場合は、上側しきい値基準値が上側低レベルしきい値として設定され、上側しきい値基準値が上側低レベルしきい値クランプ値以上の場合は、上側低レベルしきい値クランプ値が上側低レベルしきい値として設定される。下側しきい値基準値が下側低レベルしきい値クランプ値以上の場合は、下側しきい値基準値が下側低レベルしきい値として設定され、下側しきい値基準値が下側低レベルしきい値クランプ値以下の場合は、下側低レベルしきい値クランプ値が下側低レベルしきい値として設定される。上側高レベルしきい値は上側低レベルしきい値+高レベル加算値で設定され、下側高レベルしきい値は下側低レベルしきい値−高レベル加算値で設定される。
しきい値演算手段108には、必要駆動トルク指令要素演算手段2から出力された慣性力指令要素ベクトルτmdも入力される。次にτmdの各軸の絶対値が算出される。しきい値演算手段108には、τmdの各軸の絶対値と衝突判別時間のテーブルがあらかじめ作成されており、このテーブルを参照することにより各軸の衝突判別時間が設定される。
設定された上側低レベルしきい値、下側低レベルしきい値、衝突判別時間は第1衝突判別手段74に出力され、上側高レベルしきい値、下側高レベルしきい値は第2衝突判別手段75に出力される。
0138
【発明の効果】
以上のように、この発明によれば、衝突の判別に使用する必要駆動トルクを必要駆動トルク指令要素及びロボットを駆動するモータの位置、速度、加速度から演算するため、軌跡精度を向上させるためのフィードフォワード制御と付加的なセンサを用いずに衝突を検知する方式を両立させる際、計算量を削減し、かつ高精度の衝突の判別が行える効果がある。
0139
この発明によれば、必要駆動トルク指令要素及び位置指令、速度指令、加速度指令から近似的に演算したモータの位置、速度、加速度から衝突の判別に使用する必要駆動トルクを演算するため、軌跡精度を向上させるためのフィードフォワード制御と付加的なセンサを用いずに衝突を検知する方式を両立させる際、計算量を削減し、かつ高精度の衝突の判別が行える効果がある。
0140
この発明によれば、必要駆動トルク指令要素から衝突の判別に使用する必要駆動トルクを演算するため、軌跡精度を向上させるためのフィードフォワード制御と付加的なセンサを用いずに衝突を検知する方式を両立させる際、計算量を削減し、かつ高精度の衝突の判別が行える効果がある。
0141
この発明によれば、摩擦係数等の動作条件に応じて変動するパラメータをロボットの動作中に逐次適に同定するため、高精度で衝突の判別が行える効果がある。
0142
この発明によれば、衝突の判別に使用する必要駆動トルクの演算を行う際、動作中に同定した摩擦係数等のパラメータ推定値の現在値ではなく衝突以前の同定値を用いるため、衝突以前に同定したパラメータ値を用いて衝突の判別に使用する必要駆動トルクの演算を行うため、摩擦係数等のパラメータ推定値が衝突の影響による必要駆動トルク演算値とモータ電流との偏差を減少させるように変動して衝突の判別精度が低下することを防止する効果がある。
0143
この発明によれば、同定精度の高くなることが期待できるデータのみから摩擦係数等のパラメータ同定を行うため、高精度にパラメータ同定が実施でき、衝突の判別の用いる必要駆動トルクを高精度に演算できる効果がある。
0144
この発明によれば、同定精度が低いために、返って衝突の判別精度が低下するのを防止する効果がある。
0145
この発明によれば、比較的演算周期が長くても良いパラメータ同定を長い演算周期で行うため、衝突判別精度を落とすことなく、制御装置における単位時間当たりの計算量を低減できる効果がある。
0146
この発明によれば、ロボットが周辺対象物と衝突していることにより同定するパラメータ値が真値からずれることによる必要駆動トルクの演算精度が低下することを防止できる効果がある。
0147
この発明によれば、柔らかい対象物に衝突する場合と堅い対処物に衝突する場合のいずれにおいても高精度に衝突を判別することができる効果がある。
0148
この発明によれば、衝突検知後の停止時にロボットの各軸駆動用モータが発生するトルクを高精度に制限できるため、ロボット及び衝突した対象物に過大な力が作用するのを防止できる効果がある。
0149
この発明によれば、モータ電源投入時に誤って衝突を検知することを防止する効果がある。
0150
この発明によれば、手先負荷に応じた最適な感度を設定できるため、必要駆動トルクの推定精度が高い手先負荷条件時に必要以上に衝突判別の精度を低下させることを防止する効果がある。
0151
この発明によれば、ロボットのユーザが望む感度で衝突を検知することが可能となる効果がある。
0152
この発明によれば、自動運転時の感度に影響を与えることなく、衝突させてしまう危険が高い教示動作における衝突検知の感度を予め高くしておくことが可能となる効果がある。
0153
この発明によれば、パラメータの同定値が真値から大きくはずれているために必要駆動トルクの演算精度が低下している時に誤って衝突を検知してしまうことを防止しながら、パラメータ同定精度が高いときには高精度に衝突検知が可能となる効果がある。
0154
この発明によれば、ロボットの動作状態に応じてきめ細かく感度を設定できるため、常に高精度に衝突を検知できる効果がある。
0155
この発明によれば、静止摩擦の影響でトルクの推定精度が低下する停止時のみしきい値を大きくすることが可能なため、停止している軸で誤って衝突を検知することを防止しながら、動作中は高精度に衝突を検知できる効果がある。
0156
この発明によれば、外乱力の作用する作業をロボットに行わせる場合のみ自動的にしきい値を大きくすることができるため、外乱力の作用する作業をロボットに行わせる場合に衝突を誤って検知することを防止できる効果がある。
0157
この発明によれば、トルク制限値が急激に変化することによりモータに与えられるトルク指令が急激に変化し、ロボットの挙動が振動的になることを防止する効果がある。
0158
この発明によれば、トルク制限値が振動的に変化し、ロボットの挙度が振動的になることを防止する効果がある。
0159
この発明によれば、ハンドでワークを把持した場合のように手先負荷の質量がステップ状に変化する場合にも必要駆動トルク指令要素及び必要駆動トルクがステップ状に変化し、ロボットの挙動が振動的になることを防止する効果がある。
0160
この発明によれば、衝突検知によりロボットが対象物を押し当てている状態で停止したときに、対象物を除去することなく手動運転でロボットを待避させることが可能となる効果がある。
0161
この発明によれば、電流もしくは加速度信号に加わる観測ノイズの影響で衝突を誤って検知することを防止できる効果がある。
0162
この発明によれば、衝突検知後の待避中に再度衝突を起こさないようにロボットを待避させることが可能になる効果がある。
0163
この発明によれば、過度反転判別手段で過度反転を検出した場合にロボットを緊急停止するため、衝突後にロボットが過度に反転することを防止することができる効果がある。
0164
この発明によれば、過度反転判別手段で過度反転を検出した場合にロボットを緊急停止するため、衝突後にロボットが過度に反転することを防止することができる効果がある。
0165
この発明によれば、衝突判別後の停止中に運動方程式に基づいて各軸のトルク制限値を生成することによって得られる衝突時の押し付け力を低減する能力と、減速停止指令の減速度を別個に指定することにより、減速停止時の振動を防止しながら衝突時の押し付け力を大幅に低減することができる効果がある。
0166
この発明によれば、衝突時にロボットが思わぬ方向へ動作することを防止しながら、衝突後の押し付け力を低減することができる効果がある。
0167
この発明によれば、衝突時にロボットが思わぬ方向へ動作することを防止しながら、衝突後の押し付け力を低減することができる効果がある。
0168
この発明によれば、衝突判別までの期間はしきい値を小さくしておくことにより押し付け力を低減し、衝突判別により停止する際は、しきい値を大きくして、押し付け力低減効果は若干残しながら、ロボットが指令から大きく逸脱しないようにする。また、逆に衝突判別後のしきい値をさらに小さくすることにより、衝突判別により停止する際の押し付け力をさらに低減することも可能となる効果がある。
0169
この発明によれば、実際の動作データ(動作させた結果)に応じてパラメータが設定されるため、適切なパラメータを容易かつ短時間に設定できる効果がある。
0170
この発明によれば、実際の動作データ(動作させた結果)に応じて感度が設定されるため、適切な(可能な限り高い感度を実現し、かつ、誤検知はしない)感度を容易かつ短時間に設定できる効果がある。
0171
この発明によれば、押し付け状態で停止した場合に、回避動作を行わせようとすると再度衝突検知で停止するために、衝突検知機能を解除しないとロボットを動かせない場合がある。そうした場合に、衝突判別機能を速やかに解除し、押し付け状態から手動操作でロボットを回避させることが可能になる効果がある。
0172
この発明によれば、押し付け状態で停止した場合に、衝突を再度検知するためにロボットを回避できない現象を自動的に防止する。また、押し付け状態から逃れると自動的に衝突検知機能が再び有効となるため、再度別のところに衝突した場合のダメージを低減できる効果がある。
0173
この発明によれば、ロボットを衝突以前の地点まで容易に戻すことができる効果がある。
0174
この発明によれば、衝突によりロボットが停止している際、回避動作を行おうとして間違えて、さらに押し込む方向の指令を与えてもロボットが動作せず、さらに押し込むことを防止する。また、警告を発することにより、回避動作を行う方向を間違えたことを操作者は容易に気づくことができる効果がある。
0175
この発明によれば、教示時の軽い接触の場合は、警告が発せられ接触していることが操作者に認識されるが、ロボットが停止したり電源遮断されないため、そのまま教示作業が継続し、接触地点付近の教示を短時間で行える効果がある。
0176
この発明によれば、クーロン摩擦モデルがより正確になるため、運動方程式に基づいて算出したトルクの推定精度が高くなる効果がある。
0177
この発明によれば、しきい値を単純な関数に基づいて設定しながら、しきい値が過大になり、衝突検知感度が低下することを防止することができる効果がある。
0178
この発明によれば、しきい値に加減速方向に応じた重みを付けることにより、誤検知を防止しながら衝突検知の感度を上げることができる効果がある。
0179
この発明によれば、しきい値そのものだけでなく、トルク推定誤差がしきい値以上となる回数の連続値も動作条件に応じて可変にすることにより、誤検知を防止しながら衝突検知の感度を上げることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるロボット制御装置を示すブロック図である。
【図2】 この発明の実施の形態3によるロボット制御装置を示すブロック図である。
【図3】 この発明の実施の形態4によるロボット制御装置を示すブロック図である。
【図4】 この発明の実施の形態6によるロボット制御装置を示すブロック図である。
【図5】 この発明の実施の形態7によるロボット制御装置を示すブロック図である。
【図6】 この発明の実施の形態8によるロボット制御装置を示すブロック図である。
【図7】 この発明の実施の形態9によるロボット制御装置を示すブロック図である。
【図8】 この発明の実施の形態10によるロボット制御装置を示すブロック図である。
【図9】 この発明の実施の形態12によるロボット制御装置を示すブロック図である。
【図10】 この発明の実施の形態14によるロボット制御装置を示すブロック図である。
【図11】 この発明の実施の形態15によるロボット制御装置を示すブロック図である。
【図12】 この発明の実施の形態21によるロボット制御装置を示すブロック図である。
【図13】 この発明の実施の形態22によるロボット制御装置を示すブロック図である。
【図14】 この発明の実施の形態23によるロボット制御装置を示すブロック図である。
【図15】 この発明の実施の形態24によるロボット制御装置を示すブロック図である。
【図16】 この発明の実施の形態25によるロボット制御装置を示すブロック図である。
【図17】 この発明の実施の形態26によるロボット制御装置を示すブロック図である。
【図18】 この発明の実施の形態27によるロボット制御装置を示すブロック図である。
【図19】 この発明の実施の形態28によるロボット制御装置を示すブロック図である。
【図20】 この発明の実施の形態29によるロボット制御装置を示すブロック図である。
【図21】 この発明の実施の形態30によるロボット制御装置を示すブロック図である。
【図22】 この発明の実施の形態31によるロボット制御装置を示すブロック図である。
【図23】 この発明の実施の形態32によるロボット制御装置を示すブロック図である。
【図24】 この発明の実施の形態33によるロボット制御装置を示すブロック図である。
【図25】 この発明の実施の形態37及び53によるロボット制御装置を示すブロック図である。
【図26】 この発明の実施の形態39によるロボット制御装置を示すブロック図である。
【図27】 この発明の実施の形態40によるロボット制御装置を示すブロック図である。
【図28】 この発明の実施の形態43によるロボット制御装置を示すブロック図である。
【図29】 この発明の実施の形態44によるロボット制御装置を示すブロック図である。
【図30】 この発明の実施の形態45によるロボット制御装置を示すブロック図である。
【図31】 この発明の実施の形態46によるロボット制御装置を示すブロック図である。
【図32】 この発明の実施の形態47によるロボット制御装置を示すブロック図である。
【図33】 この発明の実施の形態50によるロボット制御装置を示すブロック図である。
【図34】 この発明の実施の形態51によるロボット制御装置を示すブロック図である。
【図35】 この発明の実施の形態52によるロボット制御装置を示すブロック図である。
【図36】 この発明の実施の形態54によるロボット制御装置を示すブロック図である。
【図37】 この発明の実施の形態55によるロボット制御装置を示すブロック図である。
【図38】 この発明の実施の形態56によるロボット制御装置を示すブロック図である。
【図39】 この発明の実施の形態57によるロボット制御装置を示すブロック図である。
【図40】 この発明の実施の形態16によるロボット制御装置を示すブロック図である。
【符号の説明】
1,18,99 指令値生成手段、2 必要駆動トルク指令要素演算手段、3,12,15 必要駆動トルク演算手段、4,28,48,51,53,55,57,59,61,63,65,89,106〜108 しきい値演算手段、5,9,27 衝突判別手段、6,10,17,33,80,84,92 モータ制御手段、8 加算手段、11 位置速度加速度推定手段、14,16 パラメータ推定手段、19 パラメータ蓄積手段、20 同定ゲイン演算手段、21 パラメータ推定値制限手段、25 同定ゲイン演算手段、29,74,79,83 第1衝突判別手段、30,37,75,81,85 第2衝突判別手段、31 トルク余裕演算手段、32,86 トルク制限値演算手段、34 モータ電流指令生成手段、35 モータ電流制限手段(モータ駆動トルク制限手段)、36 モータ電流制御手段、47,49 同定進行度判別手段、50 トルク指令絶対値最大値演算手段、52 モータ電流絶対値最大値演算手段、54 トルク指令トルク指令差分絶対値最大値演算手段、56 トルク指令トルク指令差分絶対値演算手段、58 加速度指令加加速度指令絶対値演算手段、60 しきい値倍率要素演算手段、62 停止判別手段、64 特殊作業判別手段、66 プログラム解析手段、67,70 平滑化手段、68 トルク制限値保持手段、69 手先負荷設定値読み出し手段、76 位置速度記憶手段、77 過度反転判別手段、82 第2指令値生成手段、90 衝突仮想判別手段、91 判別データ蓄積手段、93 パラメータ決定手段、94 感度設定手段、95,100 表示手段、96,98,101 衝突状態判別手段、102 モード判別手段、103,105 トルク指令絶対値最大値演算手段、104 加速度方向重み決定手段。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot control apparatus that drives a robot using a motor, and more particularly to a robot control apparatus that detects that a robot has collided with a peripheral object without using an additional sensor and prevents damage to the robot and the peripheral object. Is.
[0002]
[Prior art]
Conventionally, as a method for detecting that a robot has collided with a surrounding object, for example, as described in Japanese Patent Application Laid-Open No. 63-127890, current detection means for detecting the current of a motor that drives each joint axis And calculating means for calculating the required driving torque of the motor from the joint angle of each joint axis, and calculating the current limit value of the motor, thereby calculating the current detected by the current detecting means and the calculating means. A method of detecting that the robot has touched the obstacle by comparing with the current limit value is used.
On the other hand, in order to improve the trajectory accuracy of the hand of the robot, a method of calculating a driving torque command required from a position command, a speed command, and an acceleration command and performing torque feed forward has been conventionally performed.
[0003]
Further, for example, as described in JP-A-1-310889, not only a collision is detected by comparing a current limit value and an actual current, but an allowable torque is set based on a necessary driving torque, A method of constraining the output torque of the motor within the allowable torque has also been used.
[0004]
[Problems to be solved by the invention]
Since the conventional robot control apparatus is configured as described above, the required drive torque can be calculated from the joint angle of each joint axis without using an additional sensor and the method of performing torque feed forward in order to improve the trajectory accuracy. If the calculation method is used together as it is, it is necessary to perform both the calculation of the driving torque based on the command value and the calculation of the driving torque based on the actual joint angle. Therefore, there is a problem that the amount of calculation that must be processed in the control device increases.
In addition, it is conceivable to use the torque feed forward calculation result as it is as the driving torque used for the collision determination. However, if the torque feed forward calculation result is used as it is, the estimation accuracy of the drive torque is low, and the collision determination There was a problem that accuracy also decreased.
Furthermore, the coefficient of viscous friction and Coulomb friction acting on each joint axis of the robot varies depending on conditions such as ambient temperature. Therefore, when calculating the required drive torque, if constant values are used as the viscous friction coefficient and the Coulomb friction coefficient, there is a problem that the calculation accuracy of the required drive torque is reduced and the accuracy of the collision determination is also reduced. Further, even when the mass of the load attached to the hand of the robot is unknown, there is a problem that the calculation accuracy of the required driving torque is lowered and the accuracy of the collision determination is also lowered.
Furthermore, since the output of the motor that drives each axis of the robot could not be limited with high accuracy, there was a problem that excessive force acted on the robot and the peripheral objects that collided with the robot during the stop operation after collision detection.
Furthermore, the accuracy of torque estimation varies depending on the mass of the load attached to the hand of the robot, the acceleration, speed, position, etc. when the robot is operated. Also, when the robot performs a deburring operation, etc., the robot receives a reaction force when opening and closing the hand. Therefore, if the collision is determined at a certain threshold, the accuracy of the collision determination is reduced to match the worst case. Or, there is a problem that a collision is erroneously determined by a work / operation that receives a reaction force.
[0005]
Furthermore, the allowable torque is set based on the calculated required drive torque, and the output torque of the motor is limited to within the allowable torque, so the servo rigidity is equivalently reduced and acts when the robot collides with an obstacle. When the impact force is large, the robot may return too much due to the reaction of the collision. In addition, when the required drive torque is calculated based on the command value, when the deceleration stop command is generated, the acceleration / deceleration torque during deceleration stop becomes a torque in the direction opposite to the operation direction at the time of the collision. The function of limiting the output torque within the permissible torque acts in the direction of reducing the pressing force, which is preferable for protecting the robot and the colliding object. However, if the acceleration / deceleration torque based on the deceleration stop command is greater than the pressing force, it is equivalent to giving a torque command that accelerates in the opposite direction to the previous movement direction, and the robot moves too much in the opposite direction. There was a fear. On the other hand, if the acceleration / deceleration torque based on the deceleration stop command is brought close to the pressing force to limit the force acting on the robot or the object that has collided, the deceleration must be increased, and vibration at the time of stopping is likely There were also challenges.
Furthermore, in such a robot control device, if the reference value for comparing the current detected by the current detector and the current limit calculated by the current limit calculator is too large, the collision detection sensitivity is reduced and May not be detected, or even if a collision is detected, a large force is applied to the robot or the object to which the robot collided. On the other hand, if the reference value for comparing the current detected by the current detecting means and the current limit value calculated by the current limit value calculating means is too small, it is erroneously detected that there is no collision, If necessary, the robot is stopped. Therefore, it is necessary to set an appropriate reference value, but nothing has been said about a method for setting an appropriate reference value.
Further, in such a robot control device, when the robot hand collides with the target object while operating downward, the robot control apparatus detects and stops the collision, but stops with the robot pushing the target object. If the robot stops in a state where the object is being pushed down, the object cannot be removed as it is and the collision state cannot be resolved. Therefore, it is necessary to move the robot hand upward. However, when the robot is lifted, the robot is in a collision state, and thus the collision is detected again and stopped. Therefore, there is a problem that the robot cannot be lifted to resolve the collision state.
Furthermore, when an operator performs an avoidance operation on the robot after it has accidentally collided with the robot, if it collides during automatic operation, it takes time to change to manual operation mode and perform an appropriate avoidance operation. There was a case. In addition, since the worker is panicked, there is a problem that the avoidance operation is performed in the wrong direction, and the operator may push in.
In addition, if you want to teach a target point that touches the object lightly or if you want to teach the vicinity of the object, the motor power is turned on frequently when the robot stops each time it detects a collision and shuts off the motor power. Therefore, there is a problem that the teaching work takes time.
Furthermore, if the calculation of the required drive torque used for collision detection is calculated using a Coulomb friction model that changes stepwise at a point of speed 0, the actual friction does not change stepwise. The estimation accuracy deteriorates near zero speed, and there is a problem that a collision cannot be detected by mistake or the accuracy of collision detection cannot be increased.
Furthermore, when the discriminant value for collision detection is a fixed value, the discriminant value cannot be set finely according to the operating state, and there is a problem that the sensitivity for collision detection cannot be increased.
[0006]
The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain a robot control apparatus that reduces the amount of calculation and performs collision determination with high accuracy.
[0007]
[Means for Solving the Problems]
The robot control apparatus according to the present invention is a robot that uses a required drive torque command element calculated from at least one of a position command, a speed command, and an acceleration command and at least one of the position, speed, and acceleration of a motor that drives each joint. The required drive torque is calculated without recalculating all of the equations of motion, and the collision is determined by comparing the calculated required drive torque and the current of the motor that drives each joint.
[0008]
The robot control device according to the present invention includes a required drive torque command element calculated from at least one of a position command, a speed command, and an acceleration command, and a position of a motor that drives each joint estimated from the position command, the speed command, and the acceleration command, The required drive torque is calculated from at least one of speed and acceleration without recalculating all the equations of motion of the robot, and the calculated required drive torque is compared with the current of the motor that drives each joint. This is to make a determination.
[ 0009 ]
The robot control device according to the present invention sequentially estimates at least one of parameters necessary for calculation of a motion equation of the robot such as a friction coefficient during the operation of the robot, and uses the sequentially estimated parameters to determine a position command, a speed command, The required drive torque command element is calculated from at least one of the acceleration commands, and the equation of motion of the robot is re-established from at least one of the calculated required drive torque command element and the position, speed, and acceleration of the motor that drives each joint. The calculation is made using parameters obtained by sequentially estimating the required driving torque without recalculating all of them, and the collision is determined by comparing the calculated required driving torque and the current of the motor driving each joint.
[ 0010 ]
The robot control apparatus according to the present invention calculates the required driving torque using the estimated value of a predetermined time before, instead of the current estimated value of the parameter value that is sequentially estimated during the operation of the robot, and the calculated required driving torque And the current of the motor that drives each joint are compared to determine the collision.
[ 0011 ]
The robot control device according to the present invention provides a collision detection criterion twice, and detects a collision when the low level criterion is exceeded for a certain period of time or when the high level criterion is exceeded even for a moment.
[ 0012 ]
The robot control apparatus according to the present invention limits the torque for driving the motor based on the required driving torque calculated by the required driving torque calculating means.
[ 0013 ]
The robot control apparatus according to the present invention limits the torque for driving the motor based on the required drive torque command element calculated by the required drive torque command element calculation means.
[ 0014 ]
The robot control device according to the present invention includes: Using the measured motor drive current, Threshold value when comparing required drive torque and current of motor driving each joint Calculation Thus, the collision is determined.
[ 0015 ]
The robot control device according to the present invention includes an acceleration command and a jerk command. Using Threshold value for comparing required drive torque and motor current to drive each joint Calculation Thus, the collision is determined.
[ 0016 ]
The robot control device according to the present invention does not use the current hand load setting value or the hand load estimated value when performing the calculation in the required driving torque calculating means and the required driving torque command element calculating means, The calculation is performed using the hand load estimated value passed through the smoothing means.
[ 0017 ]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below.
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a robot control apparatus according to Embodiment 1 of the present invention. In the figure, 1 is a command value generating means for generating a position command, a speed command, and an acceleration command, 2 is a position command, a speed command, Required drive torque command element calculation means for calculating a required drive torque command element from the acceleration command, 3 is a required drive torque calculation means for calculating the required drive torque from the position, speed, acceleration, required drive torque command element, speed command, and acceleration command 4 is a threshold value calculating means for calculating an upper threshold value and a lower threshold value, and 5 is a collision for determining a collision based on a necessary driving torque, an upper threshold value, a lower threshold value, and a motor driving current. The discriminating means 6 is a motor control means for controlling a motor for driving each axis of the robot.
[ 0018 ]
Next, the operation will be described.
First, in the command value generating means 1, when the robot is automatically operated, the operation command instructed by the program for operating the robot is interpreted, and the position that is the target position of each axis of the robot every moment. Generate directives. When the robot is manually operated, a position command that is a target position of each axis of the robot is generated every moment according to an input from a robot operation panel (not shown). Furthermore, in both cases of automatic operation and manual operation, a speed command and an acceleration command are also generated from a position command generated every moment.
[ 0019 ]
The required drive torque command element calculation means 2 inputs the position command, speed command, and acceleration command generated by the command value generation means 1 and calculates each element of the required drive torque command using the motion equation of the robot. The equation of motion of the robot is as follows: τ is a drive torque vector composed of the drive torque of each axis, q is a position vector composed of the position of each axis, v is a velocity vector composed of the speed of each axis, If the acceleration vector composed of acceleration is a,
τ = M (q) a + h (q, v) + g (q) + f (v) (1)
Can be written. Here, M (q) is the inertia matrix, h (q, v) is the centrifugal Coriolis force vector composed of the centrifugal Coriolis force of each axis, g (q) is the gravity vector composed of the gravity of each axis, f (V) is a friction force vector composed of the friction force of each axis. Using each command output from the command value generating means 1, a position command vector composed of position commands for each axis is represented by q d , The speed command vector composed of speed commands for each axis d , An acceleration command vector composed of acceleration commands for each axis is represented by a d And the inertia force command element vector τ based on the equation (1) md , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd Are calculated as follows.
τ md = M (q d ) A d ... (2)
τ hd = H (q d , V d (3)
τ gd = G (q d (4)
τ fd = F (v d (5)
[ 0020 ]
The necessary drive torque calculating means 3 originally wants to calculate the drive torque τ based on the equation (1). However, when the number of axes of the robot is large, the amount of calculation of equation (1) is large, and the amount of calculation that must be processed per unit time in the control device increases. Therefore, first, the actual speed of each axis is monitored from the motor control means 6, and the speed vector v composed of the speed of each axis and the speed vector v monitored last time are displayed. p , The acceleration of each axis is obtained, and an acceleration vector a composed of the acceleration of each axis is calculated. Next, the speed command vector v obtained by the necessary drive torque command element calculation means 2 d , Acceleration command vector a d , Inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd And the required drive torque vector τ composed of the required drive torque of each axis from the velocity vector v and the acceleration vector a as follows. e Calculate
I md = Τ md / N (a d (6)
τ me = N (a) * I md ... (7)
I hd = Τ hd / (N (v d )) 2 (8)
τ he = (N (v)) 2 * I hd ... (9)
τ e = Τ me + Τ he + Τ gd + Τ fd ... (10)
I calculated by equation (6) md And I calculated by equation (8) hd Stores the previous calculation result, and n (a d ) Or (n (v d )) When 2 is less than or equal to a predetermined value, the calculation of the expression (6) or (8) is not performed, and the previous I md Or I hd (7) or (9) is calculated using the value of. Note that n () represents a vector norm.
[ 0021 ]
The threshold value calculation means 4 compares the required drive torque with the motor current and calculates a threshold value that serves as a reference for detecting a collision. In the first embodiment, an upper threshold value and a lower threshold value stored in advance for each axis are set.
[ 0022 ]
In the collision determination unit 5, first, the motor driving torque of each axis is calculated from the motor current input from the motor control unit 6. Next, the required drive torque calculated by the required drive torque calculation means 3 is input, and the difference from the actual motor drive torque is calculated for each axis. If the robot collides when the difference between the required drive torque and the motor drive torque on any of the axes is greater than or equal to the upper threshold value output from the threshold value calculation means 4, or less than the lower threshold value A determination is made and a stop command is transmitted to the command value generating means 1.
[ 0023 ]
The motor control means 6 controls the motor that drives the robot using the position command generated by the command value generation means 1, the speed command, the acceleration command, and the torque command element calculated by the necessary drive torque command element calculation means 2. I do.
[ 0024 ]
Embodiment 2. FIG.
FIG. 1 is a block diagram showing a robot control apparatus according to Embodiment 2 of the present invention, and the operation of each means other than the required drive torque calculating means 3 is the same as that in Embodiment 1, and thus the description thereof is omitted.
[ 0025 ]
Next, the operation will be described.
In the required drive torque calculation means 3, first, the speed vector v composed of the speeds of the respective axes inputted from the motor control means 6 and the previous speed vector v p , The acceleration of each axis is obtained, and an acceleration vector a composed of the acceleration of each axis is calculated. Next, a speed command vector v composed of a speed command for each axis output from the necessary drive torque command element calculation means 2 d , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd Each axis position vector q, each axis velocity vector v, and each axis acceleration vector a output from the motor control means 6 are input, and a required drive torque vector τ composed of the required drive torque of each axis as follows. e Calculate
τ me = M (q) a (11)
I hd = Τ hd / (N (v d )) 2 (12)
τ he = (N (v)) 2 * I hd ... (13)
τ e = Τ me + Τ he + Τ gd + F (v) (14)
I calculated by equation (12) hd Stores the previous calculation result, and (n (v d )) 2 Is less than or equal to a predetermined value, the calculation of equation (12) is not performed and the previous I hd (7) or (13) is calculated using the value of.
[ 0026 ]
Embodiment 3 FIG.
FIG. 2 is a block diagram showing a robot control apparatus according to Embodiment 3 of the present invention. In the figure, 8 is an adding means provided in place of the collision determining means 5 of Embodiments 1 and 2, and 9 is a collision determination. Means 10 are motor control means.
Other configurations are the same as those in FIG.
[ 0027 ]
Next, the operation will be described.
The adding means 8 adds each axis element of the upper threshold value calculated by the threshold value calculating means 4 to each axis element of the required driving torque calculated by the required driving torque calculating means 3, and an upper torque allowable value for each axis. Is calculated. Next, each axis element of the lower threshold value calculated by the threshold value calculation means 4 is added to each axis element of the necessary drive torque, and the lower torque allowable value for each axis is calculated.
[ 0028 ]
The collision determination means 9 compares the actual driving torque calculated from the motor current and the upper torque allowable value for each axis, and determines that the robot has collided when the actual driving torque is greater than the upper torque allowable value. It is also determined that the robot has collided when the actual driving torque is equal to or lower than the lower allowable value. When the collision is determined, the collision determination unit 9 transmits a stop command to the motor control unit 10 and also outputs a collision detection signal to the command value generation unit 1.
[ 0029 ]
The motor control means 10 is the same as the operation of the motor control means 6 shown in FIG. 1 except that the motor control means 10 incorporates the collision determination means 9 in the normal state. After the collision is detected, when a stop command is received from the collision determination means 9, a position command for stopping within the motor control means 10 is generated, and the position control of each axis is performed according to the generated position command.
[ 0030 ]
Embodiment 4 FIG.
FIG. 3 is a block diagram showing a robot control apparatus according to Embodiment 4 of the present invention. In the figure, 11 is a position / velocity acceleration estimating means, and 12 is a required drive torque calculating means.
Other configurations are the same as those in FIG.
[ 0031 ]
Next, the operation will be described.
First-order lag filter means simulating the relationship between the position command and the motor position is provided inside the position / velocity acceleration estimating means 11. Each axis element of the position command, speed command, and acceleration command generated by the command value generating means 1 is input to the first-order lag filter means, and the output from the first-order lag filter means is estimated position, estimated speed, and estimated, respectively. Acceleration.
In the necessary drive torque calculation means 12, a speed command vector v composed of speed commands for each axis. d , An acceleration command vector a composed of acceleration commands for each axis d , Inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd And the necessary driving torque vector τ composed of the necessary driving torque of each axis from the estimated velocity vector v and estimated acceleration vector a estimated by the position / velocity acceleration estimating means 11 as follows. e Calculate
I md = Τ md / N (a d (15)
τ me = N (a) * I md ... (16)
I hd = Τ hd / (N (v d )) 2 ... (17)
τ hd = (N (v)) 2 * I hd ... (18)
τ e = Τ me + Τ he + Τ gd + Τ fd ... (19)
I calculated by equation (15) md And I calculated by the equation (17) hd Stores the previous calculation result, and n (a d ) Or (n (v d )) 2 Is less than or equal to a predetermined value, the calculation of equation (15) or (17) is not performed and the previous I md Or I hd (16) or (18) is calculated using the value of.
[ 0032 ]
Embodiment 5 FIG.
A block diagram showing a robot control apparatus according to Embodiment 5 of the present invention is shown in FIG. 1, and the operation of each means other than the required drive torque calculating means 3 is the same as that in Embodiment 1, and therefore the description thereof is omitted.
[ 0033 ]
Next, the operation will be described.
The required driving torque calculation means 3 is provided with four first-order lag filter means of filter 1, filter 2, filter 3, and filter 4, and the time constants of these four first-order lag filter means are set independently. Make it possible. Inertial force command element vector τ calculated by necessary drive torque command element calculation means 2 md , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd Are input to the filter 1, filter 2, filter 3, and filter 4, respectively, and the output from the filter is the inertial force command element vector τ. me , Centrifugal Coriolis force command element vector τ he , Gravity command element vector τ ge , Friction force command element vector τ fe And required drive torque τ e The
τ e = Τ me + Τ he + Τ ge + Τ fe ... (20)
Calculate with
[ 0034 ]
Embodiment 6 FIG.
FIG. 4 is a block diagram showing a robot control apparatus according to Embodiment 6 of the present invention. In the figure, command value generation means 1, threshold value calculation means 4, collision determination means 5, and motor control means 6 are shown in FIG. Exactly the same as described. The required drive torque command element calculation means 2 has the same configuration and operation as the required drive torque command element calculation means shown in FIG. 1, but the parameters estimated by the parameter estimation means 14 are used when calculating each element. The point is different. The configuration and operation of the required drive torque calculation means 3 are exactly the same as those described in the second embodiment.
τ p = Τ me + Τ he + Τ gd (21)
Τ calculated by p Is output to the parameter estimation means 14.
[ 0035 ]
Next, the operation will be described.
The parameter estimation means 14 identifies the viscous friction coefficient and the Coulomb friction coefficient of each axis online. First, from the motor drive current to the actual drive torque τ r Is calculated. Next, the sum τ of the estimated torque other than the friction force input from the speed of the i-th axis, the actual drive torque, and the required drive torque calculation means 3 p , V i , Τ ri , Τ pi And the vector y i , Parameter vector p i Each
y i = [V i , Sgn (v i ]] (22)
p i = [P ni , P ci ] (23)
It is defined as Where p ni , P ci Are the viscous friction coefficient identification value and the Coulomb friction coefficient identification value of the i-th axis, respectively. Sgn () is a function that outputs -1 when the input is negative, 0 when the input is 0, and 1 when the input is positive. If the value in the k-th identification period is expressed as [k], the i-th axis friction coefficient identification value vector p in the k-th identification period i [K] is
τ mi [K] = τ ri [K] -τ pi [K] (24)
R i [K] = R i [K-1] + moit
* (− Σ i * R i [K-1] + y i [K] T y i [K])
... (25)
r i [K] = r i [K-1] + moit
* (− Σ i * Q i [K-1] + τ mi [K] * y i [K] T )
... (26)
p i [K] = p i [K-1] -moit
* G i ・ [R i [K] ・ p i [K-1] -r i [K])
... (27)
Thus, the identification is performed sequentially. Where G i And σ i Are a gain matrix and a weighting coefficient for adjusting the speed of identification, respectively. “Moit” is a period for performing parameter identification calculation.
The parameter estimation unit 14 transmits the friction coefficient of each axis identified as described above to the necessary drive torque command element calculation unit 2 and the necessary drive torque calculation unit 3. In the necessary drive torque command element calculation means 2, the frictional force command element vector τ of each axis fd Is calculated using the friction coefficient transmitted from the parameter estimation means 14.
[ 0036 ]
Embodiment 7 FIG.
FIG. 5 is a block diagram showing a robot control apparatus according to Embodiment 7 of the present invention. In the figure, 15 is a required drive torque calculation means, 16 is a parameter estimation means, 17 is a motor control means, and 18 is a command value generation means. It is.
Other configurations are the same as those in FIG.
[ 0037 ]
Next, the operation will be described.
When the robot is automatically operated, the command value generation means 18 interprets an operation command instructed by a program for operating the robot and generates a position command that is a target position of each axis of the robot every moment. To do. When the robot is manually operated, a position command that is a target position of each axis of the robot is generated from moment to moment according to an input from a robot operation panel (operation means) (not shown). Further, in both cases of automatic operation and manual operation, a speed command is also generated from a position command that is generated every moment.
In the necessary drive torque calculation means 15, the sum τ of estimated torques other than the frictional force output to the parameter estimation means 16 p , And the required drive torque τ output to the collision determination means 5 e Is calculated as follows. First, an acceleration vector a composed of the acceleration of each axis is calculated from the velocity vector v composed of the speed of each axis and the previous velocity vector vp. Next, from the position vector q, velocity vector v, and acceleration vector a composed of the positions of each axis
τ p = M (q) a + h (q, v) + g (q) (28)
The sum of estimated torques other than friction force τ p To calculate
τ f = F (v) (29)
The frictional force is calculated by Necessary driving torque τ output to the collision determination means 5 e Is τ p And τ f The sum of
In the parameter estimation means 16, the sum τ of estimated torques other than the friction force p Then, the friction coefficient of each axis is estimated from the motor drive current and the speed of each axis in the same manner as the parameter estimation means 14 in the sixth embodiment. The estimated friction coefficient is used when calculating the frictional force (29) in the required drive torque calculation means 15.
The motor control means 17 controls the position of the motor that drives the robot using the position command and speed command generated by the command value generation means 18.
[ 0038 ]
Embodiment 8 FIG.
6 is a block diagram showing a robot control apparatus according to an eighth embodiment of the present invention. In the figure, reference numeral 19 denotes parameter storage means.
Other configurations are the same as those in FIG.
[ 0039 ]
Next, the operation will be described.
The parameter accumulating unit 19 stores the parameter value estimated by the parameter estimating unit 14 for the designated period. For example, when it is specified that parameters for 10 cycles are stored, an area for storing parameters for 10 cycles is secured, and an initial value of the parameter is written in the area. For each parameter identification cycle, the parameter 10 cycles before is output to the required drive torque command element calculation means 2 and the required drive torque calculation means 3, and the parameter storage area for the remaining nine cycles is shifted by one cycle. Further, the parameter identification value in the latest parameter identification cycle input from the parameter estimation means 14 is written in the area for storing the parameters in the latest cycle. The required drive torque command element calculation means 2 and the required drive torque calculation means 3 calculate each element of the equation of motion using the parameters output from the parameter storage means 19.
[ 0040 ]
Embodiment 9 FIG.
FIG. 7 is a block diagram showing a robot control apparatus according to Embodiment 9 of the present invention. In the figure, 20 is an identification gain calculating means.
Other configurations are the same as those in FIG.
[ 0041 ]
Next, the operation will be described.
In the identification gain calculating means 20, a matrix G for adjusting the speed of identification described in the equation (27). i Determine the value of. First, the speed of each axis is input from the motor control means 6. The absolute value of the input speed signal is obtained and compared with a reference value stored in advance. If the absolute speed value of the i-th axis is greater than or equal to the reference value, the pre-stored matrix G i The value of is output. When the absolute velocity value of the i-th axis is less than or equal to the reference value, the matrix G i The value of each element is output as 0. The parameter estimation means 14 outputs G output from the identification gain calculation means 20. i Since the parameter estimated value is updated based on the parameter, if the velocity absolute value of a certain axis is less than or equal to the preset reference value, the parameter estimated value for that axis is exactly the same as the estimated value of the previous period, and the parameter estimated Is not done.
[ 0042 ]
Embodiment 10 FIG.
FIG. 8 is a block diagram showing a robot control apparatus according to Embodiment 10 of the present invention. In FIG. 8, reference numeral 21 denotes parameter estimated value limiting means.
Other configurations are the same as those in FIG.
[ 0043 ]
Next, the operation will be described.
The parameter estimated value limiting means 21 stores an upper limit value and a lower limit value of each parameter in advance. If the parameter output from the parameter storage means 19 is equal to or greater than the upper limit value, it is rewritten to the upper limit value. If the parameter output from the parameter storage means 19 is less than or equal to the lower limit value, it is rewritten to the lower limit value. When the parameter output from the parameter accumulating means 19 is not less than the lower limit and not more than the upper limit, the parameter is not rewritten. The required drive torque command element calculation means 2 and the required drive torque calculation means 3 perform calculations using the parameter values rewritten as necessary by the parameter estimated value limiting means 21.
[ 0044 ]
Embodiment 11 FIG.
FIG. 8 is also a block diagram showing a robot control apparatus according to Embodiment 11 of the present invention.
[ 0045 ]
Next, the operation will be described.
Among the blocks shown in FIG. 8, the motor control means 6 performs calculations with a period of x [ms], and each of the components 1 to 5 performs calculations with a period of n times x [ms]. , 20, and 21 perform calculations at a cycle of n × m times x [ms]. The required drive torque command element calculation means 2 and the required drive torque calculation means 3 perform calculations based on the input parameters in the period in which the parameter estimation values are input from the parameter estimation value limiting means 21. In the period when the parameter estimated value is not input from the parameter estimated value limiting means 21, the calculation is performed using the parameters input before the previous time.
[ 0046 ]
Embodiment 12 FIG.
FIG. 9 is a block diagram showing a robot control apparatus according to Embodiment 12 of the present invention. In the figure, reference numeral 25 denotes identification gain calculation means.
Other configurations are the same as those in FIG.
[ 0047 ]
Next, the operation will be described.
A parameter identification execution determination parameter is provided inside the identification gain calculation means 25. The parameter identification execution determination parameter has a value of 1 in the initial state immediately after the power is turned on. When the collision determination unit 5 detects a collision, a collision detection signal is transmitted to the identification gain calculation unit 25. When the identification gain calculation unit 25 receives the collision detection signal, the parameter identification execution determination parameter value is set to zero. The parameter identification execution determination parameter value holds 0 until the power is turned off and the power is turned on again or until the parameter identification restart is designated from the control panel (not shown).
Inside the identification gain calculation means 25, the parameter identification gain matrix G is determined according to the value of the parameter identification execution determination parameter. i The value of each element of is selected. When the parameter identification execution determination parameter value is 1, the identification gain matrix G of each axis i A value stored in advance as a value of each element is selected. When the parameter identification execution decision parameter value is 0, the identification gain matrix G of each axis i 0 is selected as the value of each element. Inside the parameter estimation means 14, the G calculated by the identification gain calculation means 25 i Since the parameter estimated value is updated based on the parameter identification value does not change until the power is shut off and the power is turned on again after the collision is detected or the parameter identification restart is designated from the control panel of the control device. Parameter identification is stopped.
[ 0048 ]
Embodiment 13 FIG.
FIG. 1 is a block diagram showing a robot control apparatus according to Embodiment 13 of the present invention, and the operation of each means other than threshold value calculation means 4 and collision determination means 5 is the same as that in Embodiment 2 and will be described. Is omitted.
[ 0049 ]
Next, the operation will be described.
The threshold value calculation means 4 reads the parameter values stored in advance, and the upper high level threshold value, the lower high level threshold value, the upper low level threshold value, the lower low level threshold value, the collision The discrimination time is set for each axis and output to the collision discrimination means 5. In the collision determination means 5, first, the actual motor driving torque of each axis is calculated from the motor current input from the motor control means 6. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes equal to or lower than the upper low level threshold and equal to or higher than the lower low level threshold, the timer is stopped and the timer internal time is reset to zero. When the internal time of the timer is equal to or longer than the collision determination time set by the threshold value calculation means 4, it is determined that the robot has collided. When the collision of the robot is determined, a stop command is transmitted to the command value generation unit.
[ 0050 ]
Embodiment 14 FIG.
10 is a block diagram showing a robot control apparatus according to Embodiment 14 of the present invention. In the figure, 28 is a threshold value calculation means, 29 is a first collision determination means, and 30 is a second collision determination means.
Other configurations are the same as those in FIG.
[ 0051 ]
Next, the operation will be described.
The threshold value calculation means 28 reads the parameter values stored in advance, and the upper high level threshold value, the lower high level threshold value, the upper low level threshold value, the lower low level threshold value, the collision The discrimination time is set for each axis, and the upper low level threshold, the lower low level threshold, and the collision discrimination time are output to the first collision discrimination means 29, and the upper high level threshold and the lower high level are output. The threshold value is output to the second collision determination means 30.
The first collision determination means 29 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 10. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When it is determined that the robot has collided, a stop command is transmitted to the command value generating means 1.
The second collision determination unit 30 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control unit 10. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 30 transmits a stop command to the motor control unit 10 and also outputs a collision detection signal to the command value generation unit 1.
[ 0052 ]
Embodiment 15 FIG.
11 is a block diagram showing a robot control apparatus according to Embodiment 15 of the present invention. In the figure, 31 is a torque margin calculating means, 32 is a torque limit value calculating means, 33 is a motor control means, and 34 is a motor current command. The generating means 35 is a motor current limiting means (motor driving torque limiting means), 36 is a motor current control means, and 37 is a second collision determining means.
Other configurations are the same as those shown in FIGS.
[ 0053 ]
Next, the operation will be described.
The torque margin calculating means 31 reads the upper low level threshold value and the lower low level threshold value from the threshold value calculating means 28. The torque margin calculating means 31 stores the magnification α in advance, and the upper torque margin value of each axis is obtained by multiplying each of the upper low level threshold value and the lower low level threshold value of each axis by α. And a lower torque margin value is calculated.
The torque limit value calculation means 32 adds the upper torque margin value of each axis to the required drive torque of each axis calculated by the required drive torque calculation means 3, and calculates the drive torque upper limit value of each axis. Similarly, the lower torque margin value of each axis is added to the required drive torque of each axis calculated by the required drive torque calculation means 3, and the lower limit value of the drive torque of each axis is calculated. The upper torque limit value and the lower torque limit value calculated by the torque limit value calculation means 32 are transmitted to the motor current limit means 35.
The motor current limiting means 35 converts the received upper torque limit value and lower torque limit value into the upper motor current limit value and the lower current limit value, respectively, taking into consideration the reduction ratio, the motor torque constant, and the like. Further, the current command is limited so that the current command output from the motor current command generating means 34 is not more than the upper motor current limit value and not less than the lower current limit value. Specifically, when the current command is equal to or higher than the upper current limit value, the current command is replaced with the upper motor current limit value. When the current command is below the lower current limit value, the current command is replaced with the lower motor current limit value. The motor current control means 36 controls the current of the motor that drives each axis based on the current command restricted by the motor current restriction means 35.
First, the second collision determination unit 37 calculates a drive torque command for the actual motor of each axis from the motor current command output from the motor current command generation unit 34 in consideration of the reduction ratio and the torque constant. Next, a torque difference that is the difference between the calculated motor drive torque command and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 37 transmits a stop command to the motor control unit 33 and also outputs a collision detection signal to the command value generation unit 1.
When the motor control unit 33 receives a stop command from the second collision determination unit 37 after detecting a collision, the motor control unit 33 generates a position command for stopping in the motor control unit 33 and performs position control according to the generated position command.
[ 0054 ]
Embodiment 16 FIG.
A block diagram showing a robot control apparatus according to Embodiment 16 of the present invention is shown in FIG. 40, and the operation of each means other than torque limit value calculation means 32 is the same as that in Embodiment 15, and thus the description thereof is omitted.
[ 0055 ]
Next, the operation will be described.
In the torque limit value calculating means 32, first, the inertia force command element vector τ output from the necessary drive torque command element calculating means 2 is used. md , Centrifugal Coriolis force command element vector τ hd , Gravity command element vector τ gd , Friction force command element vector τ fd Torque command vector τ composed of torque commands for each axis d Is calculated. Next, the calculated torque command vector τ d Are input to the first-order lag filter means, and a vector composed of the outputs is τ df And In addition, τ df The upper torque margin value of each axis is added to each axis element to calculate the upper limit value of driving torque for each axis. Similarly τ df The lower torque margin value of each axis is added to each of the shaft elements, and the drive torque lower limit value of each axis is calculated. The upper torque limit value and the lower torque limit value calculated by the torque limit value calculation means 32 are transmitted to the motor current limit means 35.
[ 0056 ]
Embodiment 17. FIG.
A block diagram showing a robot control apparatus according to Embodiment 17 of the present invention is shown in FIG. 1, and the operations of the respective means other than the threshold calculation means 4 are the same as those in Embodiment 1, and therefore description thereof is omitted.
[ 0057 ]
Next, the operation will be described.
In the robot control apparatus according to the seventeenth embodiment, only when the teaching mode changeover switch is pushed into the teaching side, the robot can be manually moved based on the operation on the manual operation panel. Only when the mode switch is pushed to the automatic operation side, automatic operation based on the program can be performed. The teaching mode determination means (not shown) sets the value of the teaching mode determination parameter according to the state of the teaching mode changeover switch attached to the operation panel of the control device (not shown). Specifically, when the teaching mode change switch is pushed to the teaching side, the value of the teaching mode discrimination parameter is set to 1. When the teaching mode change switch is pushed to the automatic operation side, the value of the teaching mode discrimination parameter is set to 0. And
The threshold value calculation means 4 includes an upper threshold value and a lower threshold value for each axis for operating the robot from the manual operation panel, and an upper threshold value for each axis for automatic operation based on a program. The value and the lower threshold value are stored in advance. When the value of the teaching mode discrimination parameter input from the teaching mode discrimination means is 1, the upper threshold value and the lower threshold value of each axis for operating the robot from the manual operation panel are adopted. When the value of the teaching mode discrimination parameter input from the teaching mode discrimination means is 0, the upper threshold value and the lower threshold value of each axis for automatic operation based on the program are adopted.
[ 0058 ]
Embodiment 18 FIG.
FIG. 1 is a block diagram showing a robot control apparatus according to Embodiment 18 of the present invention, and the operation of each means other than threshold value calculation means 4 is the same as that in Embodiment 1, and therefore description thereof is omitted.
[ 0059 ]
Next, the operation will be described.
The timer means (not shown) starts the timer from 0 when the motor power is turned on and outputs the elapsed time after the power is turned on. When the motor power is cut off, the timer is stopped and the elapsed time after turning on the power is reset to zero.
In the threshold value calculation means 4, the first upper threshold value and the first lower threshold value used when the specified time value, the elapsed time since turning on the motor power is less than the specified value, and the elapsed time since turning on the motor power A second upper threshold value and a second lower threshold value that are used when the time is equal to or greater than the specified value are stored in advance. The stored prescribed value of the time is compared with the elapsed time after turning on the motor power output from the timer means, and when the prescribed time value is larger, the first upper threshold value and the first lower threshold value When the time regulation value is smaller, the second upper threshold value and the second lower threshold value are adopted.
[ 0060 ]
Embodiment 19. FIG.
A block diagram showing a robot control apparatus according to Embodiment 19 of the present invention is shown in FIG. 1, and the operation of each means other than the threshold value calculation means 4 is the same as that in Embodiment 1 and will not be described.
[ 0061 ]
Next, the operation will be described.
A hand load setting value reading means (not shown) reads a hand load parameter value specified by a program instruction or a hand load parameter value stored in the control device. The hand load setting value reading means has a table according to the hand load and the center of gravity position of the hand load as shown in the table below, and outputs the group number to which the current hand load setting value belongs. .
[Table 1]
Figure 0003878054
The threshold value calculation means 4 is provided with an upper threshold value table and a lower threshold value table for each group to which the hand load belongs, and the upper threshold value of the group number input from the hand load set value reading means. The value and the lower threshold value are output as the upper threshold value and the lower threshold value, respectively.
[ 0062 ]
Embodiment 20. FIG.
A block diagram showing a robot control apparatus according to Embodiment 20 of the present invention is shown in FIG. 1, and the operations of the respective means other than threshold value calculating means 4 are the same as those in Embodiment 1, and will not be described.
[ 0063 ]
Next, the operation will be described.
A detection sensitivity reading means (not shown) first reads the current detection sensitivity setting value. The detection sensitivity is set using a command described in the program or from a manual operation panel of the control device. Next, the detection sensitivity reading means calculates the magnification α from the read detection sensitivity. For example, when the detection sensitivity is X%, the magnification α is calculated as α = 100 / X. The calculated magnification is output to the threshold value calculation means 4. The threshold value calculation means 4 stores in advance an upper threshold value and a lower threshold value when the detection sensitivity is 100%. In the threshold value calculation means 4, the stored upper and lower threshold values are multiplied by the magnification α inputted from the detection sensitivity reading means as the upper threshold value and the lower threshold value, respectively. Output.
[ 0064 ]
Embodiment 21. FIG.
FIG. 12 is a block diagram showing a robot control apparatus according to Embodiment 21 of the present invention. In the figure, 47 is an identification progress determination means, and 48 is a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0065 ]
Next, the operation will be described.
The identification progress determination means 47 outputs an identification progress vector composed of the identification progress of each axis. First, the speed of each axis is input to the identification progress determination means 47. The identification progress degree discriminating means 47 stores in advance a speed regulation value for each axis and a time regulation value for each axis. The identification progress degree discriminating means 47 calculates, for each axis, the accumulated time during which the speed is equal to or greater than the speed default value. The degree is 1. If the accumulated time is less than the specified time, the identification progress of the axis is 0. When the motor power is cut off, the accumulated time is reset to zero.
The threshold value calculation means 48 stores therein an upper threshold value and a lower threshold value before the parameter identification progress, and an upper threshold value and a lower threshold value after the parameter identification progress. For the axis with the identification progress degree 1 output from the identification progress degree judging means 47, the upper threshold value and the lower threshold value after the progress of parameter identification are set, and the identification output from the identification progress degree judging means 47 For an axis with a progression degree of 0, an upper threshold value and a lower threshold value before parameter identification progress are set.
[ 0066 ]
Embodiment 22. FIG.
FIG. 13 is a block diagram showing a robot control apparatus according to Embodiment 22 of the present invention. In the figure, reference numeral 49 denotes identification progress determination means.
Other configurations are the same as those in FIG.
[ 0067 ]
Next, the operation will be described.
First, a parameter identification value for each parameter identification period is input from the parameter estimation unit 14 to the identification progress determination unit 49. The identification progress degree discriminating means 49 selects the Coulomb friction coefficient and the viscous friction coefficient of each axis from the input parameter identification values, and calculates the respective variations. The identification progress degree discriminating means 49 stores prescribed values of the estimated Coulomb friction coefficient variation and viscous friction coefficient variation for each axis, and stores both actual Coulomb friction coefficient variation and viscous friction coefficient variation. The identification progress is set to 1 with respect to an axis whose is less than or equal to the specified value. An axis in which at least one of the actual Coulomb friction coefficient change amount and viscous friction coefficient change amount is not less than a specified value has an identification progress of 0.
[ 0068 ]
Embodiment 23. FIG.
FIG. 14 is a block diagram showing a robot control apparatus according to Embodiment 23 of the present invention. In the figure, 50 is a torque command absolute value maximum value calculating means, and 51 is a threshold value calculating means.
Other configurations are the same as those in FIG.
[ 0069 ]
Next, the operation will be described.
First, the torque command absolute value maximum value calculation means 50 first receives the inertial force command element vector τ output from the necessary drive torque command element calculation means 2. md , Centrifugal Coriolis force command element vector τ hd Is entered. Next, inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd Each axis element is added, the absolute value of the addition result is obtained, and the obtained absolute value is converted into the scale of the motor current command of each axis in consideration of the reduction ratio and torque constant of each axis. Further, normalization is performed based on the rated current of each axis motor. T is the maximum of the absolute values of the sum of the inertia force command and the centrifugal Coriolis force command normalized by the rated current of each axis motor calculated for each axis. max Output as.
The threshold value calculation means 51 stores the upper threshold base portion, the lower threshold base portion, the upper threshold torque command magnification, and the lower threshold torque command magnification for each axis. T output from torque command absolute value maximum value calculation means 50 max , The upper threshold value of each axis is (upper threshold base amount) + (upper threshold torque command magnification) × T max The lower threshold value is (lower threshold base portion) + (lower threshold torque command magnification) × T max Is calculated by
[ 0070 ]
Embodiment 24. FIG.
15 is a block diagram showing a robot control apparatus according to Embodiment 24 of the present invention. In the figure, reference numeral 52 denotes a motor current absolute value maximum value calculation means, and 53 denotes a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0071 ]
Next, the operation will be described.
The motor current absolute value maximum value calculation means 52 first inputs the motor current measurement value of each axis, calculates the absolute value of the current measurement value of each axis, and then normalizes it with the rated current of each axis motor. Next, among the normalized absolute values of the current measured values for each axis, max Output as.
In the threshold value calculation means 53, the upper threshold base portion, the lower threshold base portion, the upper threshold current magnification, and the lower threshold current magnification are stored for each axis. D output from absolute value maximum value calculation means 52 max The upper threshold value of each axis is (upper threshold base portion) + (upper threshold current magnification) × D max The lower threshold is (lower threshold base portion) + (lower threshold current magnification) × D max Is calculated by
[ 0072 ]
Embodiment 25. FIG.
16 is a block diagram showing a robot control apparatus according to Embodiment 25 of the present invention. In the figure, 54 is a torque command torque command difference absolute value maximum value calculating means, and 55 is a threshold value calculating means.
Other configurations are the same as those in FIG.
[ 0073 ]
Next, the operation will be described.
In the torque command torque command difference absolute value maximum value calculating means 54, first, the inertial force command element vector τ output from the necessary drive torque command element calculating means 2. md , Centrifugal Coriolis force command element vector τ hd Is entered. Next, inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd Τ with each axis element added mhd Is calculated. τ mhd Each axis element of is stored for one period, and this time τ mhd Value and previous τ mhd Is the difference between the values of dτ mhd To calculate τ mhd And dτ mhd A vector composed of absolute values of each axis mhd And adτ mhd Is calculated. Next, using the constant weighting factor w for all axes,
mhdi = Aτ mhdi + W × adτ mhdi ... (30)
Wτ composed of calculated by mhd Is calculated. In the equation (30), the subscript i means an element on the i-th axis. Furthermore, wτ mhdi Is converted into a motor current command scale using the reduction ratio and torque constant of the shaft, and normalized with the rated current of the shaft motor is sτ mhdi Calculate as sτ mhdi The maximum value of S max Output as.
The threshold calculation means 55 includes an upper threshold base portion, a lower threshold base portion, an upper threshold torque command torque command difference magnification, and a lower threshold torque command torque command difference magnification for each axis. S is output from the torque command torque command difference absolute value maximum value calculation means 54. max The upper threshold value of each axis is (upper threshold base amount) + (upper threshold torque command torque command difference magnification) × S max The lower threshold value is (lower threshold base portion) + (lower threshold torque command torque command differential magnification) × S max Is calculated by
[ 0074 ]
Embodiment 26. FIG.
FIG. 17 is a block diagram showing a robot control apparatus according to Embodiment 26 of the present invention. In FIG. 17, 56 is a torque command torque command difference absolute value calculation means, and 57 is a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0075 ]
Next, the operation will be described.
First, the torque command torque command difference absolute value calculation means 56 first receives the inertial force command element vector τ output from the necessary drive torque command element calculation means 2. md , Centrifugal Coriolis force command element vector τ hd Is entered. Next, inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd Τ with each axis element added mhd Is calculated. τ mhd Each axis element of is stored for one period, and this time τ mhd Value and previous τ mhd Is the difference between the values of dτ mhd To calculate τ mhd And dτ mhd A vector composed of absolute values of each axis mhd And adτ mhd Is calculated. Next, wτ configured by calculating the element of the i-th axis using the constant weighting factor w for all the axes by the equation (30). mhd Is calculated. In the equation (30), the subscript i means an element on the i-th axis. Furthermore, wτ mhdi Is converted into a motor current command scale using the reduction ratio and torque constant of the shaft, and normalized with the rated current of the shaft motor is sτ mhdi Calculate as Finally, sτ mhdi Is input to the first-order lag filter means, and the output of the first-order lag filter means is fτ mhdi Output as.
The threshold value calculation means 57 includes an upper threshold base portion, a lower threshold base portion, an upper threshold torque command torque command difference magnification, and a lower threshold torque command torque command difference magnification for each axis. Fτ output from the torque command torque command difference absolute value maximum value calculating means 56 mhdi The upper threshold value of each axis is (upper threshold base amount) + (upper threshold torque command torque command differential magnification) × fτ mhdi The lower threshold value is (lower threshold base portion) + (lower threshold torque command torque command differential magnification) × fτ mhdi Is calculated by
[ 0076 ]
Embodiment 27. FIG.
18 is a block diagram showing a robot control apparatus according to Embodiment 27 of the present invention. In the figure, 58 is an acceleration command jerk command absolute value calculation means, and 59 is a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0077 ]
Next, the operation will be described.
First, the acceleration command jerk command absolute value calculation means 58 receives an acceleration command a for each axis. d Is entered. a d Each axis element is stored for one period, and this time a d Value and previous a d J which is the difference between d Is calculated for each axis. Next, a d And j d Vector aa composed of absolute values of each axis element d And aj d Is calculated. Next, using the constant weighting factor w for all axes,
waj di = Aa di + W × aj di ... (31)
Waj composed of calculated by d Is calculated. In the formula (31), the subscript i means an element on the i-th axis. waj d Is output from the acceleration command jerk command absolute value calculation means 58 to the threshold value calculation means 59.
The threshold value calculation means 59 includes an upper threshold base portion, a lower threshold base portion, an upper threshold acceleration command jerk command magnification, and a lower threshold acceleration command jerk command magnification for each axis. Waj output from the acceleration command jerk command absolute value calculation means 58 di The upper threshold value of each axis is (upper threshold base amount) + (upper threshold acceleration command jerk command magnification) × waj di The lower threshold value is (lower threshold base portion) + (lower threshold acceleration command jerk command magnification) × waj di Is calculated by
[ 0078 ]
Embodiment 28. FIG.
FIG. 19 is a block diagram showing a robot control apparatus according to Embodiment 28 of the present invention. In the figure, reference numeral 60 denotes a threshold multiplication factor calculation means, and 61 denotes a threshold calculation means.
Other configurations are the same as those in FIG.
[ 0079 ]
Next, the operation will be described.
First, a position command, a speed command, and an acceleration command are input to the threshold value factor calculation unit 60. The speed command and the acceleration command are converted into a speed command and acceleration command scale in the motor in consideration of the reduction ratio. Further, a motor level speed command maximum value that is the maximum value of the speed command of each axis after the scale conversion and a motor level acceleration command maximum value that is the maximum value of the acceleration command of each axis after the scale conversion are calculated. A threshold magnification table corresponding to each of the range to which the position command belongs, the motor level speed command maximum value, and the motor level acceleration command maximum value is prepared in the threshold magnification element calculation means 60, and the current position The magnifications bp, bv, and ba corresponding to the command, speed command, and acceleration command are read from the table and output.
The threshold value calculation means 61 stores an upper threshold value and a lower threshold value at a magnification of 1 for each axis. Next, from the magnifications bp, bv, and ba output from the threshold magnification factor calculation means 60, the upper threshold value and the lower threshold value at the magnification of 1 for each axis are respectively multiplied by bp × bv × ba. Then output.
[ 0080 ]
Embodiment 29. FIG.
FIG. 20 is a block diagram showing a robot control apparatus according to Embodiment 29 of the present invention. In the figure, 62 is a stop determining means, and 63 is a threshold value calculating means.
Other configurations are the same as those in FIG.
[ 0081 ]
Next, the operation will be described.
First, a speed command and a motor speed are input to the stop determination means 62. The stop determination means 62 stores a stop determination specified value for each axis, and compares both the speed command and the motor speed with the stop determination specified value of the axis. Calculate the absolute value of each axis element of the speed command and each axis element of the motor speed, determine that the axis whose both speed command absolute value and motor speed absolute value are below the specified value is stopped, The value of the element is set to 1. When at least one of the speed command absolute value and the motor speed absolute value is equal to or greater than a specified value, it is determined that the motor is operating, and the value of the stop determination vector element of the axis is set to zero.
The upper threshold value, the lower threshold value, and the Coulomb friction coefficient of each axis are stored in the threshold value calculation means 63. For the axis where the element value of the stop determination vector output from the stop determination means 62 is 0, the upper threshold value and the lower threshold value are output as they are. For the axis whose stop discriminating vector element value output from the stop discriminating means 62 is 1, a value obtained by adding the Coulomb friction coefficient to the stored upper threshold value is output as the upper threshold value. Further, a value obtained by subtracting the Coulomb friction coefficient from the stored lower threshold value is output as the lower threshold value.
[ 0082 ]
Embodiment 30. FIG.
FIG. 21 is a block diagram showing a robot control apparatus according to Embodiment 30 of the present invention. In the figure, reference numeral 64 denotes special work determination means, 65 denotes threshold value calculation means, and 66 denotes program analysis means.
Other configurations are the same as those in FIG.
[ 0083 ]
Next, the operation will be described.
The program analysis unit 66 sequentially reads the program to be executed and sequentially transmits necessary information to the command value generation unit 1 and the like. When the program analysis unit 66 processes the hand opening / closing command, it transmits a hand opening / closing command to a hand opening / closing unit (not shown) and also transmits a hand opening / closing command to the special work determination unit 64. When receiving the hand opening / closing command, the special work determination unit 64 sets the value of the special work determination parameter to 1 for a predetermined time stored in advance. The initial value of the special work determination parameter is 0, and is returned to 0 again after a specified time elapses after receiving the hand opening / closing command.
The threshold value calculation means 65 stores a normal work upper threshold value and a lower threshold value, and a special work upper threshold value and a lower threshold value. When the value of the special work determination parameter output from the special work determination means 64 is 1, the special work upper threshold and the lower threshold are set, and when the special work determination parameter is 0, A normal work upper threshold and a lower threshold are set.
[ 0084 ]
Embodiment 31. FIG.
FIG. 22 is a block diagram showing a robot control apparatus according to Embodiment 31 of the present invention, in which 67 is a smoothing means.
Other configurations are the same as those in FIG.
[ 0085 ]
Next, the operation will be described.
The smoothing unit 67 sequentially receives the upper torque margin value and the lower torque margin value from the torque margin calculation unit 31. The smoothing means 67 is provided with a two-stage moving average filter means. The result obtained by sequentially passing the received upper torque margin value and lower torque margin value through the two-stage moving average filter is the upper torque margin value. And the lower torque margin value is transmitted to the torque limit value calculating means 32. Even when the low-level upper threshold value and the low-level lower threshold value calculated by the threshold value calculating means 28 change stepwise by passing through the two-stage moving average filter, the torque limit value calculating means 32. The upper motor current limit value and the lower motor current limit value output from are smoothly changed.
[ 0086 ]
Embodiment 32. FIG.
FIG. 23 is a block diagram showing a robot control apparatus according to Embodiment 32 of the present invention. In FIG. 23, reference numeral 68 denotes torque limit value holding means.
Other configurations are the same as those in FIG.
[ 0087 ]
Next, the operation will be described.
In the torque limit value holding means 68, the value of the collision state determination parameter held internally in the normal state is 0, and when the value of the collision state determination parameter is 0, the torque limit value is stored in the current cycle. The upper torque limit value and the lower torque limit value input from the calculation means 32 are written and stored in the torque limit value storage area. Further, the upper torque limit value and the lower torque limit value input from the torque limit value calculation means 32 are output as they are. When a collision detection signal is received from the first collision determination unit 29 or the second collision determination unit 37, the value of the collision state determination parameter is set to 1. When the value of the collision state determination parameter is 1, writing of the upper torque limit value and the lower torque limit value in the current cycle to the storage area is stopped, and the upper torque limit value and the lower torque stored in the storage area are stopped. Output the limit value. The value of the collision state determination parameter is returned to 0 when the motor power is shut off.
[ 0088 ]
Embodiment 33. FIG.
FIG. 24 is a block diagram showing a robot control apparatus according to Embodiment 33 of the present invention. In the figure, 69 is a hand load set value reading means, and 70 is a smoothing means.
Other configurations are the same as those in FIG.
[ 0089 ]
Next, the operation will be described.
The hand load set value reading means 69 reads and outputs the hand load mass, the hand load center of gravity position, and the hand load inertia moment moment by moment. The smoothing means 70 is provided with a two-stage moving average filter, and the hand load mass, hand load center of gravity position, and hand load inertia moment output from the hand load set value reading means 69 are moved in two stages. The result passed through the average filter is output to the required drive torque command element calculation means 2 and the required drive torque calculation means 3. The required drive torque command element calculation means 2 and the required drive torque calculation means 3 calculate the equation of motion using the hand load mass, the hand load gravity center position, and the hand load inertia moment output from the smoothing means 70.
[ 0090 ]
Embodiment 34. FIG.
A block diagram showing a robot control apparatus according to Embodiment 34 of the present invention is shown in FIG. 1, and the operations of the respective means other than the collision determination means 5 are the same as those in Embodiment 2 and will not be described.
[ 0091 ]
Next, the operation will be described.
A collision state determination parameter is provided inside the collision determination means 5. The initial value of the collision state determination parameter is zero. When the value of the collision state determination parameter is 0, the collision determination unit 5 actually calculates the motor driving torque of each axis from the motor current input from the motor control unit 6. Next, the difference between the required drive torque calculated by the required drive torque calculation means 3 and the actual motor drive torque is calculated for each axis. When the difference between the required drive torque and the motor drive torque on any axis is greater than or equal to the upper threshold value or less than or equal to the lower threshold value, it is determined that the robot has collided and the command value generation unit 1 stops. The command is transmitted and the value of the collision state determination parameter is set to 1.
Even when the value of the collision state determination parameter is 1, the difference between the required drive torque and the actual motor drive torque is calculated for each axis, and the difference between the required drive torque and the motor drive torque on any axis is equal to or greater than the upper threshold value. In this case, it is determined that the robot has collided when the value is equal to or lower than the lower threshold value, but the stop command is not transmitted to the command value generation unit 1. The value of the collision state determination parameter is reset to 0 when the control device is turned off and then turned on again, or when the restart of the collision determination function is set from the operation panel of the program or the control device.
[ 0092 ]
Embodiment 35. FIG.
A block diagram showing a robot control apparatus according to Embodiment 35 of the present invention is shown in FIG. 1, and the operation of each means other than collision determination means 5 is the same as that in Embodiment 2 and will not be described.
[ 0093 ]
Next, the operation will be described.
A single stage moving average filter means is provided inside the collision determination means 5. The output when the required drive torque input to the collision determination means 5 is passed through the moving average filter is set as the required drive torque after filtering. Next, the actual motor driving torque for each axis is calculated from the motor current input to the collision determination means 5, and the output when the calculated motor driving torque for each axis is passed through the moving average filter is the filtered motor driving torque. To do. The difference between the post-filter required drive torque and the post-filter motor drive torque is calculated for each axis. It is determined that the robot has collided when the difference between the post-filter drive torque and the post-filter motor drive torque on any axis is greater than or equal to the upper threshold value or less than the lower threshold value. A stop command is transmitted to the generation means 1.
[ 0094 ]
Embodiment 36. FIG.
A block diagram showing a robot control apparatus according to Embodiment 36 of the present invention is shown in FIG. 1, and the operation of each means other than the command value generating means 1 is the same as that in Embodiment 34, and thus description thereof is omitted.
[ 0095 ]
Next, the operation will be described.
In the command value generating means 1, the position command is expressed by a parameter having a value between 0 and 1 for each operation to be executed by the robot, and the parameter is increased smoothly from 0 to 1 every moment. Generate a position command. When a stop command is received from the collision determination means 5, the current value X of the parameter is c And the increase in the parameter per unit time is smoothly reduced to zero. The parameter value at the point where the increase in parameter per unit time becomes zero is X s And The command value generation means 1 includes a parameter return amount X l Is stored in advance. X c -X l And 0 and compare the larger X t And Immediately after the increase of the parameter per unit time becomes zero, the parameter is set to X s To X t A position command for avoiding the collision state is generated by smoothly reducing the position command to.
[ 0096 ]
Embodiment 37. FIG.
FIG. 25 is a block diagram showing a robot control apparatus according to Embodiment 37 of the present invention. In the figure, 74 is first collision determination means, 75 is second collision determination means, 76 is position speed storage means, and 77 is excessive. It is a reverse discrimination means.
Other configurations are the same as those in the sixteenth embodiment, and a description thereof will be omitted.
[ 0097 ]
Next, the operation will be described.
The first collision determination unit 74 transmits a collision detection signal to the position / velocity storage unit 76. In addition, the second collision determination unit 75 transmits a collision detection signal to the position / speed storage unit 76.
When the position / velocity storage unit 76 receives a collision detection signal from the first collision determination unit 74 or the second collision determination unit 75, the position / velocity storage unit 76 stores the joint displacement and the joint velocity of each axis when received. The excessive inversion determination means 77 reads the joint displacement and the joint speed stored in the position / speed storage means 76, and the current joint displacement obtained from the motor control means 33 is obtained from the joint displacement stored in the position / speed storage means 76. If the joint speed stored in the position speed storage means 76 is away from the specified value in the opposite direction, it is determined that excessive reversal has occurred, and an immediate stop command is transmitted to the motor control means 33.
[ 0098 ]
Embodiment 38. FIG.
FIG. 25 is a block diagram showing a robot control apparatus according to Embodiment 38 of the present invention. The operations of the respective means other than the transient inversion determination means 77 are the same as those in Embodiment 37, and thus description thereof is omitted.
[ 0099 ]
Next, the operation will be described.
The excessive inversion determination means 77 reads the joint displacement and the joint speed stored in the position / speed storage means 76, and the current joint speed obtained from the motor control means 33 is the joint joint speed stored in the position / speed storage means 76. Is reversed and the absolute value is equal to or greater than the specified value, it is determined that excessive reversal has occurred, and an immediate stop command is transmitted to the motor control means 33.
[ 0100 ]
Embodiment 39. FIG.
26 is a block diagram showing a robot control apparatus according to Embodiment 39 of the present invention. In the figure, 79 is a first collision determination means, 80 is a motor control means, 81 is a second collision determination means, and 82 is a second collision determination means. Command value generation means.
Other configurations are the same as those in the sixteenth embodiment, and a description thereof will be omitted.
[ 0101 ]
Next, the operation will be described.
First collision discriminating means 79 first calculates the actual motor driving torque of each axis from the motor current input from motor control means 80. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When it is determined that the robot has collided, a stop command is transmitted to the command value generation means 1 and the second command value generation means 82.
The second collision discriminating means 81 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 80. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 81 transmits a stop command to the command value generation unit 1 and the second command value generation unit 82.
When receiving the stop command from the first collision determination unit 79 or the second collision determination unit 81, the second command value generation unit 82 generates a deceleration stop command for quickly decelerating and stopping from the current speed for each axis that drives the robot. To do. The motor control unit 80 ignores the command value sent from the command value generation unit 1 and performs motor control based on the deceleration stop command generated by the second command value generation unit 82.
[ 0102 ]
Embodiment 40. FIG.
27 is a block diagram showing a robot control apparatus according to Embodiment 40 of the present invention. In the figure, 83 is a first collision determination means, 84 is a motor control means, 85 is a second collision determination means, and 86 is a torque limiter. It is a value calculation means.
Other configurations are the same as those in FIG.
[ 0103 ]
Next, the operation will be described.
First collision determination means 83 first calculates the actual motor drive torque of each axis from the motor current input from motor control means 84. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes equal to or lower than the upper low level threshold and equal to or higher than the lower low level threshold, the timer is stopped and the timer internal time is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When it is determined that the robot has collided, a stop command is transmitted to the command value generation unit 1 and a collision detection signal and a collision detection axis number are transmitted to the torque limit value calculation unit 86.
The second collision discriminating means 85 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 84. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 85 transmits a stop command to the command value generation unit 1 and transmits a collision detection signal and a collision detection axis number to the torque limit value calculation unit 86.
The operation of the torque limit value calculating means 86 before receiving the collision detection signal is exactly the same as the operation of the torque limit value calculating means 32 of FIG. 37, but the collision detection signal from the first collision determining means 83 or the second collision determining means 85. When the collision detection axis number is received, the upper torque limit value and the lower torque limit value are fixed to the current value only for the axis having the same number as the collision detection axis number. The upper and lower torque limit values for the remaining shafts continue to be calculated in exactly the same manner as before the collision detection signal is received.
[ 0104 ]
Embodiment 41. FIG.
A block diagram showing a robot control apparatus according to Embodiment 41 of the present invention is shown in FIG. 27, and the operation of each means other than torque limit value calculating means 86 is the same as that in Embodiment 40, and will not be described.
[ 0105 ]
Next, the operation will be described.
The operation of the torque limit value calculating means 86 before receiving the collision detection signal is exactly the same as the operation of the torque limit value calculating means 32 of FIG. 25, but the collision detection from the first collision determining means 83 or the second collision determining means 85 is performed. When the signal and the collision detection axis number are received, only the axis having the same number as that of the collision detection axis number is obtained by adding the upper torque margin value to the gravity command torque element transmitted from the necessary drive torque command element calculation means 2 as the upper torque The lower limit torque value is obtained by adding the lower torque margin value to the gravity command torque element. However, since the torque limit value changes on the step when suddenly switching, switching is performed smoothly. Specifically, for the axis having the same number as the collision detection axis number, after receiving the collision detection signal, the torque limit value based on the sum of the torque command elements transmitted from the necessary drive torque command element calculation means 2 and the gravity The weighted sum of the torque limit values based on the command is used as the torque limit value to be transmitted to the motor current limit means 35, and the weight of the torque limit value based on the sum of the torque command elements is set to 1 while the total value of the weights of both is kept at 1. From 0 to 1 and the weight of the torque limit value based on the gravity command is increased smoothly from 0 to 1.
[ 0106 ]
Embodiment 42. FIG.
FIG. 27 is a block diagram showing a robot control apparatus according to Embodiment 42 of the present invention, and the operation of each means other than torque limit value calculating means 86 is the same as that in Embodiment 40, and thus description thereof is omitted.
[ 0107 ]
Next, the operation will be described.
A torque margin value magnification β after collision detection is stored in advance in the torque limit value calculation means 86. Until the collision detection signal is received from the first collision determination unit 83 or the second collision determination unit 85, the upper torque limit value and the lower torque limit value are calculated in the same manner as the torque limit value calculation unit 32 of FIG. After receiving the collision detection signal from the first collision determination unit 83 or the second collision determination unit 85, the upper torque margin value and the lower torque margin value are multiplied by the torque margin value magnification β, and then the necessary drive torque command element calculation is performed. A torque limit value that is added to the sum of the torque command elements transmitted from the means 2 and transmitted to the motor current limiting means 35 is calculated. However, since the torque limit value changes stepwise when switching suddenly, the values multiplied by the upper torque margin value and the lower torque margin value are not suddenly changed to β, but are smoothly changed to β.
[ 0108 ]
Embodiment 43. FIG.
FIG. 28 is a block diagram showing a robot control apparatus according to Embodiment 43 of the present invention. In the figure, 89 is a threshold value calculation means, 90 is a collision virtual discrimination means, 91 is a discrimination data storage means, and 92 is a motor control. Means.
Since other configurations are the same as those in the forty-second embodiment, description thereof is omitted.
[ 0109 ]
Next, the operation will be described.
In the forty-third embodiment, there are provided two modes, a normal mode and a trial operation mode, and a parameter based on which a threshold value used for collision determination is calculated from the operation result of the trial operation mode. FIG. 28 is a block diagram showing the configuration of the trial operation mode of the robot control system in the forty-third embodiment, and FIG. 25 is a block diagram showing the configuration of the normal mode of the robot control system in the forty-third embodiment.
In the threshold value calculation means 89, a plurality of parameter value candidates used for threshold value calculation are set. The parameter value candidate setting is performed from a manual operation panel (not shown) or a program describing the robot operation. The threshold value calculation unit 89 transmits the set parameter and the threshold value calculated based on the parameter to the collision virtual determination unit 90.
The virtual collision determination unit 90 first calculates the actual motor driving torque of each axis from the motor current input from the motor control unit 92. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. Next, the torque difference of each axis calculated for each of the plurality of threshold values transmitted from the threshold value calculation means 89 is compared with which of the threshold values of each axis is greater. The number of consecutive excesses, which is the number of times that the torque difference has continuously exceeded the threshold value for each axis, is calculated. The calculated number of consecutive excesses, the parameter value used for calculating the threshold value, and the axis number are transmitted to the discrimination data storage unit 91.
In the discrimination data storage unit 91, the number of consecutive excesses is stored for each parameter value and axis number. When a value larger than the stored continuous excess number is transmitted as the continuous excessive number, the stored value is rewritten. The parameter value, the axis number, and the number of consecutive excesses accumulated in the discrimination data accumulating unit 91 can be viewed from a manual operation panel (not shown) or a personal computer connected to the robot controller. The administrator of the robot controller determines a parameter value to be used in the threshold value calculation unit 89 based on the browsed parameter value, the axis number, and the number of consecutive excesses.
[ 0110 ]
Embodiment 44. .
FIG. Is a block diagram showing a robot control apparatus according to Embodiment 44 of the present invention, in which 93 is a parameter determining means.
Other configurations are the same as those in FIG.
[ 0111 ]
Next, the operation will be described.
Also in the forty-fourth embodiment, there are provided two modes, the normal mode and the trial operation mode, and the parameter from which the threshold value used for collision determination is calculated from the operation result of the trial operation mode. FIG. 29 is a block diagram showing the configuration of the trial operation mode of the robot control system in the forty-fourth embodiment, and FIG. 25 is a block diagram showing the configuration of the normal mode of the robot control system in the forty-fourth embodiment.
When the parameter determination unit 93 receives a parameter determination command from a manual operation panel (not shown), the parameter determination unit 93 receives a parameter value and continuous excess count data from the discrimination data storage unit 91 for each axis that drives the robot. Next, the allowable maximum continuous count stored in advance is compared with the number of consecutive excesses for each parameter value, and the minimum parameter value among the parameter values whose continuous excess count is less than or equal to the allowable maximum continuous count is determined. A value obtained by adding the corrected values is transmitted to the threshold value calculation means 89 as a threshold value calculation parameter.
[ 0112 ]
Embodiment 45. FIG.
30 is a block diagram showing a robot control apparatus according to Embodiment 45 of the present invention. In the figure, 94 is sensitivity setting means.
Other configurations are the same as those in FIG.
[ 0113 ]
Next, the operation will be described.
Also in the forty-fifth embodiment, there are provided two modes, the normal mode and the trial operation mode, and the parameter from which the threshold value used for collision determination is calculated from the operation result of the trial operation mode. FIG. 30 is a block diagram showing the configuration of the trial operation mode of the robot control system in the forty-fifth embodiment, and FIG. 25 is a block diagram showing the configuration of the normal mode of the robot control system in the forty-fifth embodiment.
First, the sensitivity setting unit 94 sets a plurality of sensitivity candidate values from a manual operation panel (not shown), and all the set sensitivity candidate values are transmitted to the threshold value calculation unit 89.
The threshold value calculation means 89 calculates a threshold value every moment based on parameters stored in advance. Next, the calculated threshold value is multiplied by each of the sensitivity candidate values, and all combinations of the multiplication result and the sensitivity candidate value are transmitted to the collision virtual determination means.
The virtual collision determination unit 90 first calculates the actual motor driving torque of each axis from the motor current input from the motor control unit 92. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. Next, the torque difference of each axis calculated for each of the plurality of threshold values transmitted from the threshold value calculation means 89 is compared with which of the threshold values of each axis is greater. The number of consecutive excesses, which is the number of times that the torque difference has continuously exceeded the threshold value for each axis, is calculated. The calculated number of consecutive excesses, the axis number, and the sensitivity candidate value used for calculating the threshold value are transmitted to the discrimination data storage unit 91.
In the discrimination data storage unit 91, the number of consecutive excesses is stored for each axis number and sensitivity candidate value. When a value larger than the stored continuous excess number is transmitted as the continuous excessive number, the stored value is rewritten. The sensitivity candidate value, the axis number, and the number of consecutive excesses stored in the discrimination data storage unit 91 can be viewed from a manual operation panel (not shown) or a personal computer connected to the robot controller. The administrator of the robot control device determines the sensitivity setting value for actually operating the robot based on the browsed sensitivity candidate value, the axis number, and the number of consecutive excesses.
[ 0114 ]
Embodiment 46. FIG.
FIG. 31 is a block diagram showing a robot control apparatus according to Embodiment 46 of the present invention, in which 95 is a display means.
Other configurations are the same as those in FIG.
[ 0115 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When it is determined that the robot has collided, a stop command is transmitted to the command value generating means 1. Further, a collision detection signal is transmitted to the display means 95.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a stop command to the command value generation unit 1. Further, a collision detection signal is transmitted to the display means 95.
When receiving the collision detection signal, the display means 95 automatically switches the screen of the manual operation panel to the collision detection function switching dedicated screen. The collision detection function switching screen describes that if 1 is input, the screen returns to the original screen while the collision detection function is enabled, and if 0 is input, the collision detection function is disabled and the screen returns to the original screen. The robot operator can immediately invalidate the collision detection function by operating the manual operation panel according to the screen display, and can quickly retreat the robot in the pushed state due to the collision.
[ 0116 ]
Embodiment 47. FIG.
FIG. 32 is a block diagram showing a robot control apparatus according to Embodiment 47 of the present invention. In FIG. 32, reference numeral 96 denotes a collision state determination means.
Other configurations are the same as those in FIG.
[ 0117 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is not more than the upper low level threshold and not less than the lower low level threshold for all the axes continuously for a specified time, a collision state escape signal is transmitted to the collision state determination means 96. On the other hand, the collision determination timer is started when the torque difference in any of the axes becomes equal to or higher than the upper low level threshold or lower than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When the collision of the robot is determined, a stop command and a collision detection signal are transmitted to the collision state determination means 96.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a stop command and a collision detection signal to the collision state determination unit 96.
The collision state determination unit 96 includes a collision state determination flag. The collision determination flag is 0 in the normal operation state. When the value of the collision determination flag is 0, it means that it is determined that there is no collision state. If the stop command and the collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 0, the stop command is output to the command value generation unit 1 as it is and the collision determination flag Change the value to 1. When the value of the collision determination flag is 1, it means that it is determined that the vehicle is in a collision state. Even if a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 1, the stop command is not transmitted to the command value generation unit 1. When a collision state escape signal is received from the first collision determination means 74, the value of the collision determination flag is changed to zero.
[ 0118 ]
Embodiment 48. FIG.
A block diagram showing a robot control apparatus according to Embodiment 48 of the present invention is shown in FIG. 31, and the operation of each means other than the command value generating means 1 is the same as that in Embodiment 46, and thus the description thereof is omitted.
[ 0119 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. The collision determination timer is started when the torque difference in any of the axes becomes greater than or equal to the upper low level threshold or less than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When it is determined that the robot has collided, a stop command is transmitted to the command value generating means 1. Further, a collision detection signal is transmitted to the command value generating means 1 and the display means 95.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a stop command to the command value generation unit 1. Further, a collision detection signal is transmitted to the command value generating means 1 and the display means 95.
When the command value generating means 1 receives a stop signal from the first collision discriminating means 74 or the second collision discriminating means 75, it generates a deceleration stop command curve immediately. When a collision detection signal is received from the first collision determination unit 74 or the second collision determination unit 75, a position command before a predetermined time is read from a ring buffer (storage unit) provided in the command value generation unit 1, The read position is stored as a collision retreat operation target point. When a collision evacuation command is input by pressing a specified button on the manual operation panel, a linear operation command with the current position after the deceleration stop as the start point and the collision evacuation operation target point as the end point is specified in advance. Generate at low speed.
When receiving the collision detection signal, the display means 95 automatically switches the screen of the manual operation panel to a screen dedicated for collision evacuation operation. The screen dedicated to collision evacuation operation indicates the number of a button that must be pressed to command the collision evacuation operation.
[ 0120 ]
Embodiment 49. FIG.
A block diagram showing the configuration of the robot control system in the forty-ninth embodiment is also shown in FIG. 31, and the elements other than the command value generating means 1 are the same as the respective elements in the forty-eighth embodiment, and the description thereof will be omitted.
[ 0121 ]
Next, the operation will be described.
When the command value generating means 1 receives a stop signal from the first collision discriminating means 74 or the second collision discriminating means 75, it generates a deceleration stop command curve immediately. When a collision detection signal is received from the first collision determination unit 74 or the second collision determination unit 75, when one operation is performed when the collision detection signal is received, the start point of the operation is stored as a collision retreat operation target point. When there are two or more operations executed when the collision detection signal is received, a point where the latest operation is actually started is calculated, and the calculated point is stored as a collision evacuation operation target point. When a collision evacuation command is input by pressing a specified button on the manual operation panel, if one operation is being performed at the time of receiving a collision detection signal, it is An operation that starts from the current position and ends at the target point of the collision evacuation operation is generated at a predetermined low speed. If there are two or more actions that are being performed when a collision detection signal is received, a linear motion command with the current position after deceleration stop as the start point and the collision evacuation action target point as the end point is sent at a predetermined low speed. Generate.
[ 0122 ]
Embodiment 50. FIG.
FIG. 33 is a block diagram showing a robot control apparatus according to Embodiment 50 of the present invention. In FIG. 33, reference numeral 98 denotes a collision state determining means, 99 is a command value generating means, and 100 is a display means.
Other configurations are the same as those in FIG.
[ 0123 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is not more than the upper low level threshold and not less than the lower low level threshold for all the axes continuously for a specified time, a collision state escape signal is transmitted to the collision state determination means 98. On the other hand, the collision determination timer is started when the torque difference in any of the axes becomes equal to or higher than the upper low level threshold or lower than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When the collision of the robot is determined, a collision detection signal and a stop command are transmitted to the collision state determination means 98. Further, the collision detection axis number which is the number of the axis determined to be a collision and the collision detection direction which is the sign of the differential torque of the axis are transmitted to the collision state determination means 98.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a collision detection signal and a stop command to the collision state determination unit 98. Further, the collision detection axis number which is the number of the axis determined to be a collision and the collision detection direction which is the sign of the differential torque of the axis are transmitted to the collision state determination means 98.
The collision state determination unit 98 includes a collision state determination flag. The collision determination flag is 0 in the normal operation state. When the value of the collision determination flag is 0, it means that it is determined that there is no collision state. When a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 0, the stop command and the collision detection signal are output to the command value generation unit 99 as they are. The value of the collision determination flag is changed to 1. The collision detection signal is also transmitted to the display means 100. Further, the received collision detection axis number and the collision detection direction are transmitted to the command value generation means 99 and the display means 100. When the value of the collision determination flag is 1, it means that it is determined that the vehicle is in a collision state. Even if a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 1, the stop command is not transmitted to the command value generation unit 99. When a collision state escape signal is received from the first collision determination means 74, the value of the collision determination flag is changed to zero. When the collision determination flag changes from 1 to 0, a collision state escape signal is transmitted to the command value generation means 99 and the display means 100.
The command value generating means 99 generates a deceleration stop command curve as soon as a stop signal and a collision detection signal are received from the collision state determination means 98. After completion of the deceleration stop command curve generation, the command direction check flag of the same axis as the collision detection axis number is set to 1. If the command direction of the axis for which the command direction check flag is 1 matches the collision detection direction, the generated command value is not output to the outside of the command value generation means 99, and the previous cycle of the command value generation cycle is not output. The value is output to the outside and an operation direction warning signal is transmitted to the display means 100. The command direction check flag is reset to 0 when a collision state escape signal is received.
When the display unit 100 receives the collision detection signal, the collision detection axis number, and the collision detection direction from the collision state determination unit 98, the screen of the manual operation panel is switched to the collision state display screen. On the collision state display screen, the collision detection axis number and the collision detection direction are displayed. When an operation direction warning signal is received from the command value generation means 99, a warning sound is generated and the collision detection axis number and the collision detection direction are displayed on the screen of the manual operation panel while blinking.
[ 0124 ]
Embodiment 51. FIG.
FIG. 34 is a block diagram showing a robot control apparatus according to Embodiment 51 of the present invention. In FIG. 34, reference numeral 101 denotes a collision state determination means.
Other configurations are the same as those in FIG.
[ 0125 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is not more than the upper low level threshold value and not less than the lower low level threshold value for all the shafts continuously for a predetermined time or longer, a collision state escape signal is transmitted to the collision state determination means 101. On the other hand, the collision determination timer is started when the torque difference in any of the axes becomes equal to or higher than the upper low level threshold or lower than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When the collision of the robot is determined, a collision detection signal and a stop command are transmitted to the collision state determination unit 101. Further, the torque difference between the axes at the moment when the collision is determined is transmitted to the collision state determination means 101 as a collision action torque.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a collision detection signal and a stop command to the collision state determination unit 101. Further, the torque difference between the axes at the moment when the collision is determined is transmitted to the collision state determination means 101 as a collision action torque.
The collision state determination unit 101 includes a collision state determination flag. The collision determination flag is 0 in the normal operation state. When the value of the collision determination flag is 0, it means that it is determined that there is no collision state. When a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 0, the stop command and the collision detection signal are output to the command value generation unit 99 as they are. The value of the collision determination flag is changed to 1. The collision detection signal is also transmitted to the display means 100. Further, the collision direction in the orthogonal coordinate system is calculated from the received collision action torque and the joint displacement input from the motor control means 33 according to the following procedure.
First, the collision action torque vector composed of the collision action torque of each axis is expressed as τ c , F is the collision force vector seen with the robot hand c Then,
F c = (Jv T ) -1 τ c ... (32)
Call it. Where (Jv T ) -1 Is a matrix that is a function of joint displacement called a Jacobian matrix. Each axis velocity vector composed of the velocity of each axis is v, and the hand velocity vector composed of the hand velocity is v x Then,
v x = J v v (33)
There is a relationship. Collision force vector F based on equation (32) c To calculate F c If the absolute value of the X, Y, and Z components is greater than the specified value, the direction of the component is set as the collision direction in the orthogonal coordinate system. For example, when the X component is greater than or equal to a specified value in the + direction, the collision direction is set to the X axis + direction. The calculated collision direction is transmitted to the command value generation means 99 and the display means 100. When the value of the collision determination flag is 1, it means that it is determined that the vehicle is in a collision state. Even if a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75 when the value of the collision determination flag is 1, the stop command is not transmitted to the command value generation unit 99. When a collision state escape signal is received from the first collision determination means 74, the value of the collision determination flag is changed to zero. When the collision determination flag changes from 1 to 0, a collision state escape signal is transmitted to the command value generation means 99 and the display means 100.
The command value generation unit 99 generates a deceleration stop command curve immediately after receiving the stop signal and the collision detection signal from the collision state determination unit 101. After the generation of the deceleration stop command curve is completed, the command direction check flag for the collision direction is set to 1. When the command direction of the orthogonal coordinate component for which the command direction check flag is 1 is the same as the collision direction, the generated command value is not output to the outside of the command value generation means 99, and the command value generation is performed. The value of the previous cycle of the cycle is output to the outside and an operation direction warning signal is transmitted to the display means 100. The command direction check flag is reset to 0 when a collision state escape signal is received.
When receiving the collision detection signal and the collision direction from the collision state determination unit 101, the display unit 100 switches the screen of the manual operation panel to the collision state display screen. The collision direction is displayed on the collision state display screen. When an operation direction warning signal is received from the command value generation means 99, a warning sound is generated and displayed on the screen of the manual operation panel while blinking the collision direction.
[ 0126 ]
Embodiment 52. FIG.
FIG. 35 is a block diagram showing a robot control apparatus according to Embodiment 52 of the present invention. In FIG. 35, reference numeral 102 denotes mode discrimination means.
Other configurations are the same as those in FIG.
[ 0127 ]
Next, the operation will be described.
The first collision discriminating means 74 first calculates the actual motor driving torque of each axis from the motor current input from the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is not more than the upper low level threshold and not less than the lower low level threshold for all the axes continuously for a specified time, a collision state exit signal is transmitted to the mode discrimination means 102. On the other hand, the collision determination timer is started when the torque difference in any of the axes becomes equal to or higher than the upper low level threshold or lower than the lower low level threshold. When the torque difference of the shaft becomes lower than the upper low level threshold and higher than the lower low level threshold, the timer is stopped and the internal time of the timer is reset to zero. When the internal time of the timer exceeds the collision determination time set by the threshold value calculation means 28, it is determined that the robot has collided. When the collision of the robot is determined, a stop command and a collision detection signal are transmitted to the mode determination means 102.
The second collision discriminating means 75 first calculates the actual motor driving torque of each axis from the motor current value held by the motor control means 33. Next, a torque difference that is a difference between the calculated motor drive torque and the required drive torque calculated by the required drive torque calculation means 3 is calculated. When the torque difference is higher than the upper high level threshold value or lower than the lower high level threshold value in any of the axes, it is determined that the robot has collided. When the collision is determined, the second collision determination unit 75 transmits a stop command and a collision detection signal to the mode determination unit 102.
The mode determination means 102 has a mode flag. The value of the mode flag is 1 if the current teaching mode is selected, and the mode flag is 0 if the current mode is the automatic mode. When the mode flag is 1, even if a stop command and a collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75, the stop command is not output to the command value generation unit 97. A collision detection signal is output to the display means 100 from when the collision detection signal is received until the collision state escape signal is received. When the mode flag is 0, when the stop command and the collision detection signal are received from the first collision determination unit 74 or the second collision determination unit 75, the stop command and the collision detection signal are output to the command value generation unit 97. In addition, a collision detection signal is output to the display unit 100 from when the collision detection signal is received until the collision state escape signal is received.
The display unit 100 generates a warning sound while receiving the collision detection signal from the mode determination unit 102.
[ 0128 ]
Embodiment 53. FIG.
FIG. 25 is a block diagram showing the configuration of the robot control system in the embodiment 53, and since each element other than the necessary drive torque calculating means 3 is the same as each element in the embodiment 37, the description thereof is omitted.
[ 0129 ]
Next, the operation will be described.
In the required drive torque calculation means 3, the required drive torque τ e The
τ e = Τ me + Τ he + Τ gd + Τ fe ... (34)
Calculate with The last τ is different from equation (10) fe Only τ fe The calculation of will be described. First, τ fe Is the friction force vector,
τ fe = Τ fb + Τ fc ... (35)
Is calculated by The viscous friction coefficient of each axis is f bi , Coulomb friction coefficient f ci , The current speed of each axis v i Then,
τ fbi = F bi * V i ... (36)
τ fc0i = F ci (V i > 0) (37)
τ fc0i = 0 (v i = 0) (38)
τ fc0i = -F ci (V i <When 0) (39)
Calculated by τ fc0i The result of passing through the first-order lag filter is τ fci And τ of each axis fci Τ fc And τ of each axis fbi Τ fb And
[ 0130 ]
Embodiment 54. FIG.
FIG. 36 is a block diagram showing a robot control apparatus according to Embodiment 54 of the present invention. In FIG. 36, reference numeral 103 denotes torque command absolute value maximum value calculation means.
Other configurations are the same as those in FIG.
[ 0131 ]
Next, the operation will be described.
First, the torque command absolute value maximum value calculation means 103 first receives the inertial force command element vector τ output from the necessary drive torque command element calculation means 2. md , Centrifugal Coriolis force command element vector τ hd Is entered. Next, inertial force command element vector τ md , Centrifugal Coriolis force command element vector τ hd Each axis element is added, the absolute value of the addition result is obtained, and the obtained absolute value is converted into the scale of the motor current command of each axis in consideration of the reduction ratio and torque constant of each axis. Furthermore, normalization is performed based on the rated current of each axis motor. T is the maximum of the absolute values of the sum of the inertia force command and the centrifugal Coriolis force command normalized by the rated current of each axis motor calculated for each axis. max Output as.
The threshold calculation means 28 includes a collision determination time, an upper threshold base portion, a lower threshold base portion, an upper threshold torque command magnification, a lower threshold torque command magnification, and an upper low level threshold. The value clamp value, the lower low level threshold value clamp value, and the high level addition value are stored for each axis, and output from the torque command absolute value maximum value calculation means 103. max The upper threshold reference value for each axis is the upper threshold base amount + upper threshold torque command magnification × T max Lower threshold reference value is lower threshold base amount + lower threshold torque command magnification x T max Is calculated by Next, if the upper threshold reference value is less than or equal to the upper low level threshold clamp value, the upper threshold reference value is set as the upper low level threshold, and the upper threshold reference value becomes the upper lower level. If it is greater than or equal to the threshold clamp value, the upper low level threshold clamp value is set as the upper low level threshold. If the lower threshold reference value is greater than or equal to the lower low level threshold clamp value, the lower threshold reference value is set as the lower low level threshold and the lower threshold reference value is lower. If the lower low level threshold clamp value is less than or equal to, the lower low level threshold clamp value is set as the lower low level threshold. The upper high level threshold value is set by the upper low level threshold value + the high level addition value, and the lower high level threshold value is set by the lower low level threshold-the high level addition value. The set upper low level threshold, lower low level threshold, and collision determination time are output to the first collision determination means 74, and the upper high level threshold and lower high level threshold are the second collision. It is output to the discrimination means 75.
[ 0132 ]
Embodiment 55. FIG.
FIG. 37 is a block diagram showing a robot controller according to Embodiment 55 of the present invention. In FIG. 37, reference numeral 104 denotes acceleration / deceleration direction weight determination means, 105 denotes torque command absolute value maximum value calculation means, and 106 denotes threshold calculation. Means.
Other configurations are the same as those in FIG.
[ 0133 ]
Next, the operation will be described.
First, the acceleration / deceleration direction weight determination means 104 first receives the inertial force command element vector τ output from the necessary drive torque command element calculation means 2. md Is entered. Then τ md The sign of each axis is obtained, and the acceleration / deceleration direction weight is determined according to the obtained sign. Specifically, τ md The weight in the same direction as the sign of each axis is k1, and the weight in the reverse direction is k2. For example, the second axis τ md If the sign of + is +, the value of the weight uk applied to the upper threshold value of the second axis is k1, and the value of the weight lk applied to the lower threshold value is k2. The acceleration / deceleration direction weight for each axis is output to the threshold value calculation means 106.
The threshold calculation means 106 includes a collision determination time, an upper threshold base portion, a lower threshold base portion, an upper threshold torque command magnification, a lower threshold torque command magnification, and an upper low level threshold. The value clamp value, the lower low level threshold value clamp value, and the high level addition value are stored for each axis, and output from the torque command absolute value maximum value calculation means 105. max The upper threshold reference value for each axis is the upper threshold base amount + upper threshold torque command magnification × T max Lower threshold reference value is lower threshold base amount + lower threshold torque command magnification x T max Is calculated by Next, if the upper threshold reference value is less than or equal to the upper low level threshold clamp value, the upper threshold reference value is set as the upper low level threshold, and the upper threshold reference value becomes the upper lower level. If it is greater than or equal to the threshold clamp value, the upper low level threshold clamp value is set as the upper low level threshold. If the lower threshold reference value is greater than or equal to the lower low level threshold clamp value, the lower threshold reference value is set as the lower low level threshold and the lower threshold reference value is lower. If the lower low level threshold clamp value is less than or equal to, the lower low level threshold clamp value is set as the lower low level threshold. The upper high level threshold value is set by the upper low level threshold value + the high level addition value, and the lower high level threshold value is set by the lower low level threshold-the high level addition value. Furthermore, the acceleration / deceleration direction weight uk input from the acceleration / deceleration direction weight determination means 104 is multiplied to each of the set upper low level threshold value and upper upper level threshold value. Further, the acceleration / deceleration direction weight lk input from the acceleration / deceleration direction weight determining means 104 is multiplied to each of the lower low level threshold and the lower high level threshold. The upper low level threshold multiplied by the acceleration / deceleration direction weight, the lower low level threshold, and the collision determination time are output to the first collision determination means 74, and the upper high level threshold multiplied by the acceleration / deceleration direction weight. The value and the lower high level threshold value are output to the second collision determination means 75.
[ 0134 ]
Embodiment 56. FIG.
FIG. 38 is a block diagram showing a robot control apparatus according to Embodiment 56 of the present invention. In the figure, reference numeral 107 denotes a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0135 ]
Next, the operation will be described.
The threshold calculation means 107 includes a collision determination time, an upper threshold base portion, a lower threshold base portion, an upper threshold torque command magnification, a lower threshold torque command magnification, and an upper low level threshold. The value clamp value, the lower low level threshold value clamp value, and the high level addition value are stored for each axis, and output from the torque command absolute value maximum value calculation means 103. max The upper threshold reference value for each axis is the upper threshold base amount + upper threshold torque command magnification × T max Lower threshold reference value is lower threshold base amount + lower threshold torque command magnification x T max Is calculated by Next, if the upper threshold reference value is less than or equal to the upper low level threshold clamp value, the upper threshold reference value is set as the upper low level threshold, and the upper threshold reference value becomes the upper lower level. If it is greater than or equal to the threshold clamp value, the upper low level threshold clamp value is set as the upper low level threshold. If the lower threshold reference value is greater than or equal to the lower low level threshold clamp value, the lower threshold reference value is set as the lower low level threshold and the lower threshold reference value is lower. If the lower low level threshold clamp value is less than or equal to, the lower low level threshold clamp value is set as the lower low level threshold. The upper high level threshold value is set by the upper low level threshold value + the high level addition value, and the lower high level threshold value is set by the lower low level threshold-the high level addition value.
The motor speed of each axis is also input from the motor control means 33 to the threshold calculation means 107. The threshold calculation means 107 calculates the motor acceleration of each axis from the current value of the motor speed of each axis and the previous motor speed of each axis. In the threshold value calculation means 107, a table of absolute values of motor acceleration and collision determination time is created in advance, and the collision determination time of each axis is set by referring to this table.
The set upper low level threshold, lower low level threshold, and collision determination time are output to the first collision determination means 74, and the upper high level threshold and lower high level threshold are the second collision. It is output to the discrimination means 75.
[ 0136 ]
Embodiment 57. FIG.
FIG. 39 is a block diagram showing a robot control apparatus according to Embodiment 57 of the present invention. In FIG. 39, 108 is a threshold value calculation means.
Other configurations are the same as those in FIG.
[ 0137 ]
Next, the operation will be described.
The threshold calculation means 108 includes a collision determination time, an upper threshold base portion, a lower threshold base portion, an upper threshold torque command magnification, a lower threshold torque command magnification, and an upper low level threshold. The value clamp value, the lower low level threshold value clamp value, and the high level addition value are stored for each axis, and output from the torque command absolute value maximum value calculation means 103. max The upper threshold reference value for each axis is the upper threshold base amount + upper threshold torque command magnification × T max Lower threshold reference value is lower threshold base amount + lower threshold torque command magnification x T max Is calculated by Next, if the upper threshold reference value is less than or equal to the upper low level threshold clamp value, the upper threshold reference value is set as the upper low level threshold, and the upper threshold reference value becomes the upper lower level. If it is greater than or equal to the threshold clamp value, the upper low level threshold clamp value is set as the upper low level threshold. If the lower threshold reference value is greater than or equal to the lower low level threshold clamp value, the lower threshold reference value is set as the lower low level threshold and the lower threshold reference value is lower. If the lower low level threshold clamp value is less than or equal to, the lower low level threshold clamp value is set as the lower low level threshold. The upper high level threshold value is set by the upper low level threshold value + the high level addition value, and the lower high level threshold value is set by the lower low level threshold-the high level addition value.
The threshold value calculation means 108 includes an inertial force command element vector τ output from the necessary drive torque command element calculation means 2. md Is also entered. Then τ md The absolute value of each axis is calculated. The threshold value calculation means 108 includes τ md A table of absolute values of each axis and collision determination time is prepared in advance, and the collision determination time of each axis is set by referring to this table.
The set upper low level threshold, lower low level threshold, and collision determination time are output to the first collision determination means 74, and the upper high level threshold and lower high level threshold are the second collision. It is output to the discrimination means 75.
[ 0138 ]
【The invention's effect】
As described above, according to the present invention, the required drive torque used for collision determination is calculated from the required drive torque command element and the position, speed, and acceleration of the motor that drives the robot. When both the feedforward control and the method of detecting a collision without using an additional sensor are made compatible, there is an effect that the amount of calculation can be reduced and the collision can be discriminated with high accuracy.
[ 0139 ]
According to this invention, since the required drive torque used for discrimination of the collision is calculated from the position, speed, and acceleration of the motor approximately calculated from the required drive torque command element and the position command, speed command, and acceleration command, the trajectory accuracy When both the feedforward control for improving the system and the method of detecting the collision without using an additional sensor are made compatible, there is an effect that the calculation amount can be reduced and the collision can be discriminated with high accuracy.
[ 0140 ]
According to this invention, in order to calculate the necessary drive torque used for collision determination from the necessary drive torque command element, the feedforward control for improving the trajectory accuracy and the method for detecting the collision without using an additional sensor When both are satisfied, the calculation amount can be reduced and the collision can be discriminated with high accuracy.
[ 0141 ]
According to the present invention, parameters that change in accordance with operating conditions such as a friction coefficient are identified appropriately and appropriately during the operation of the robot.
[ 0142 ]
According to the present invention, when calculating the necessary driving torque used for the collision determination, the identification value before the collision is used instead of the current value of the parameter estimation value such as the friction coefficient identified during the operation. In order to calculate the required drive torque used for collision discrimination using the identified parameter value, parameter estimation values such as friction coefficient reduce the deviation between the required drive torque calculated value due to the impact and the motor current. There is an effect of preventing the collision discrimination accuracy from being lowered.
[ 0143 ]
According to the present invention, parameter identification such as the coefficient of friction is performed only from data that can be expected to have high identification accuracy. Therefore, parameter identification can be performed with high accuracy, and the required drive torque used for collision determination can be calculated with high accuracy. There is an effect that can be done.
[ 0144 ]
According to the present invention, since the identification accuracy is low, there is an effect of preventing the collision discrimination accuracy from being lowered.
[ 0145 ]
According to the present invention, parameter identification, which may have a relatively long calculation cycle, is performed with a long calculation cycle, so that the amount of calculation per unit time in the control device can be reduced without degrading the collision discrimination accuracy.
[ 0146 ]
According to the present invention, there is an effect that it is possible to prevent the calculation accuracy of the required driving torque from being lowered due to the parameter value to be identified deviating from the true value due to the robot colliding with the surrounding object.
[ 0147 ]
According to the present invention, there is an effect that the collision can be discriminated with high accuracy both in the case of collision with a soft object and the case of collision with a hard countermeasure object.
[ 0148 ]
According to this invention, since the torque generated by each axis driving motor of the robot when stopping after collision detection can be limited with high accuracy, it is possible to prevent an excessive force from acting on the robot and the colliding object. is there.
[ 0149 ]
According to the present invention, there is an effect of preventing a collision from being erroneously detected when the motor power is turned on.
[ 0150 ]
According to the present invention, it is possible to set the optimum sensitivity according to the hand load, and therefore, there is an effect of preventing the collision determination accuracy from being lowered more than necessary when the required load torque estimation accuracy is high.
[ 0151 ]
According to the present invention, it is possible to detect a collision with the sensitivity desired by the user of the robot.
[ 0152 ]
According to the present invention, there is an effect that it is possible to increase the sensitivity of collision detection in a teaching operation that has a high risk of causing a collision without affecting the sensitivity during automatic driving.
[ 0153 ]
According to the present invention, the parameter identification accuracy is improved while preventing the collision from being erroneously detected when the calculation accuracy of the required drive torque is reduced because the parameter identification value is greatly deviated from the true value. When it is high, there is an effect that the collision can be detected with high accuracy.
[ 0154 ]
According to the present invention, since the sensitivity can be set finely according to the operation state of the robot, there is an effect that the collision can always be detected with high accuracy.
[ 0155 ]
According to the present invention, the threshold value can be increased only at the time of stopping when the estimation accuracy of the torque is lowered due to the influence of static friction, so that it is possible to prevent a collision from being erroneously detected on the stopped shaft. During operation, there is an effect that a collision can be detected with high accuracy.
[ 0156 ]
According to the present invention, the threshold value can be automatically increased only when the robot performs the work with the disturbance force. Therefore, when the robot performs the work with the disturbance force, the collision is erroneously detected. There is an effect that can be prevented.
[ 0157 ]
According to the present invention, there is an effect of preventing the torque command given to the motor from changing abruptly due to a sudden change in the torque limit value, and the behavior of the robot from becoming vibrational.
[ 0158 ]
According to the present invention, there is an effect of preventing the torque limit value from changing vibrationally and preventing the robot from moving in vibration.
[ 0159 ]
According to the present invention, the required drive torque command element and the required drive torque change stepwise even when the mass of the hand load changes stepwise as in the case of gripping the workpiece with the hand, and the behavior of the robot vibrates. There is an effect to prevent becoming.
[ 0160 ]
According to the present invention, when the robot stops in a state where the robot is pressing the object by collision detection, there is an effect that the robot can be retracted by manual operation without removing the object.
[ 0161 ]
According to the present invention, it is possible to prevent the collision from being erroneously detected due to the influence of the observation noise applied to the current or the acceleration signal.
[ 0162 ]
According to the present invention, there is an effect that the robot can be retracted so that the collision does not occur again during the retreat after the collision detection.
[ 0163 ]
According to the present invention, since the robot is urgently stopped when excessive reversal is detected by the excessive reversal determination means, it is possible to prevent the robot from reversing excessively after the collision.
[ 0164 ]
According to the present invention, since the robot is urgently stopped when excessive reversal is detected by the excessive reversal determination means, it is possible to prevent the robot from reversing excessively after the collision.
[ 0165 ]
According to the present invention, the ability to reduce the pressing force at the time of collision obtained by generating the torque limit value of each axis based on the equation of motion during stop after collision determination and the deceleration of the deceleration stop command are separated. In this case, it is possible to significantly reduce the pressing force at the time of collision while preventing vibration at the time of deceleration stop.
[ 0166 ]
According to the present invention, it is possible to reduce the pressing force after the collision while preventing the robot from moving in an unexpected direction at the time of the collision.
[ 0167 ]
According to the present invention, it is possible to reduce the pressing force after the collision while preventing the robot from moving in an unexpected direction at the time of the collision.
[ 0168 ]
According to the present invention, the pressing force is reduced by reducing the threshold value during the period until the collision determination, and when stopping by the collision determination, the threshold value is increased to slightly reduce the pressing force reduction effect. The robot should not deviate greatly from the command while leaving. Conversely, by further reducing the threshold value after the collision determination, there is an effect that the pressing force when stopping by the collision determination can be further reduced.
[ 0169 ]
According to the present invention, parameters are set according to actual operation data (results of operation), so that there is an effect that appropriate parameters can be set easily and in a short time.
[ 0170 ]
According to the present invention, since sensitivity is set according to actual operation data (result of operation), appropriate sensitivity (which realizes as high a sensitivity as possible and does not cause false detection) can be easily and short. There is an effect that can be set to time.
[ 0171 ]
According to the present invention, when the robot is stopped in the pressing state, if the avoidance operation is to be performed, the robot is stopped again by collision detection. Therefore, the robot may not be moved unless the collision detection function is released. In such a case, it is possible to quickly cancel the collision determination function and to avoid the robot by manual operation from the pressed state.
[ 0172 ]
According to the present invention, when stopping in a pressed state, a phenomenon in which the robot cannot be avoided to detect a collision again is automatically prevented. Further, since the collision detection function is automatically re-enabled when the pressing state is escaped, there is an effect of reducing damage in the case of collision with another place again.
[ 0173 ]
According to the present invention, there is an effect that the robot can be easily returned to the point before the collision.
[ 0174 ]
According to the present invention, when the robot is stopped due to a collision, the robot is prevented from operating even if it is mistakenly attempted to perform the avoiding operation and even if a command for further pressing is given, and further pressing is prevented. Further, by issuing a warning, there is an effect that the operator can easily notice that the direction of performing the avoidance operation is wrong.
[ 0175 ]
According to the present invention, in the case of light contact at the time of teaching, a warning is issued and the operator recognizes that contact is being made, but the teaching operation continues as it is because the robot does not stop or power is shut off. There is an effect that teaching near the contact point can be performed in a short time.
[ 0176 ]
According to this invention, since the Coulomb friction model becomes more accurate, there is an effect that the estimation accuracy of the torque calculated based on the equation of motion is increased.
[ 0177 ]
According to the present invention, it is possible to prevent the threshold value from becoming excessive and the collision detection sensitivity from being lowered while setting the threshold value based on a simple function.
[ 0178 ]
According to the present invention, there is an effect that the sensitivity of collision detection can be increased while preventing erroneous detection by attaching a weight according to the acceleration / deceleration direction to the threshold value.
[ 0179 ]
According to the present invention, not only the threshold value itself, but also the continuous value of the number of times that the torque estimation error is equal to or greater than the threshold value is made variable according to the operating conditions, so that the sensitivity of collision detection is prevented while preventing erroneous detection. There is an effect that can raise.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a robot control apparatus according to Embodiment 1 of the present invention.
FIG. 2 is a block diagram showing a robot control apparatus according to Embodiment 3 of the present invention.
FIG. 3 is a block diagram showing a robot control apparatus according to Embodiment 4 of the present invention.
FIG. 4 is a block diagram showing a robot control apparatus according to Embodiment 6 of the present invention.
FIG. 5 is a block diagram showing a robot control apparatus according to a seventh embodiment of the present invention.
FIG. 6 is a block diagram showing a robot control apparatus according to an eighth embodiment of the present invention.
FIG. 7 is a block diagram showing a robot control apparatus according to Embodiment 9 of the present invention.
FIG. 8 is a block diagram showing a robot control apparatus according to Embodiment 10 of the present invention.
FIG. 9 is a block diagram showing a robot control apparatus according to Embodiment 12 of the present invention.
FIG. 10 is a block diagram showing a robot control apparatus according to Embodiment 14 of the present invention.
FIG. 11 is a block diagram showing a robot control apparatus according to Embodiment 15 of the present invention.
FIG. 12 is a block diagram showing a robot control apparatus according to a twenty-first embodiment of the present invention.
FIG. 13 is a block diagram showing a robot control apparatus according to a twenty-second embodiment of the present invention.
FIG. 14 is a block diagram showing a robot control apparatus according to a twenty-third embodiment of the present invention.
FIG. 15 is a block diagram showing a robot control apparatus according to Embodiment 24 of the present invention.
FIG. 16 is a block diagram showing a robot control apparatus according to a twenty-fifth embodiment of the present invention.
FIG. 17 is a block diagram showing a robot control apparatus according to a twenty-sixth embodiment of the present invention.
FIG. 18 is a block diagram showing a robot control apparatus according to a twenty-seventh embodiment of the present invention.
FIG. 19 is a block diagram showing a robot control apparatus according to an embodiment 28 of the present invention.
FIG. 20 is a block diagram showing a robot control apparatus according to an embodiment 29 of the present invention.
FIG. 21 is a block diagram showing a robot control apparatus according to a thirtieth embodiment of the present invention.
FIG. 22 is a block diagram showing a robot control apparatus according to Embodiment 31 of the present invention.
FIG. 23 is a block diagram showing a robot control apparatus according to a thirty-second embodiment of the present invention.
FIG. 24 is a block diagram showing a robot control apparatus according to a thirty-third embodiment of the present invention.
FIG. 25 is a block diagram showing a robot control apparatus according to Embodiments 37 and 53 of the present invention.
FIG. 26 is a block diagram showing a robot control apparatus according to an embodiment 39 of the present invention.
FIG. 27 is a block diagram showing a robot control apparatus according to a fortieth embodiment of the present invention.
FIG. 28 is a block diagram showing a robot control apparatus according to embodiment 43 of the present invention.
FIG. 29 is a block diagram showing a robot control apparatus according to embodiment 44 of the present invention.
FIG. 30 is a block diagram showing a robot control apparatus according to embodiment 45 of the present invention.
FIG. 31 is a block diagram showing a robot control apparatus according to embodiment 46 of the present invention.
32 is a block diagram showing a robot control apparatus according to an embodiment 47 of the present invention. FIG.
FIG. 33 is a block diagram showing a robot control apparatus according to embodiment 50 of the present invention.
FIG. 34 is a block diagram showing a robot control apparatus according to embodiment 51 of the present invention.
FIG. 35 is a block diagram showing a robot control apparatus according to embodiment 52 of the present invention.
FIG. 36 is a block diagram showing a robot control apparatus according to embodiment 54 of the present invention.
FIG. 37 is a block diagram showing a robot control apparatus according to embodiment 55 of the present invention.
FIG. 38 is a block diagram showing a robot control apparatus according to an embodiment 56 of the present invention.
FIG. 39 is a block diagram showing a robot control apparatus according to an embodiment 57 of the present invention.
FIG. 40 is a block diagram showing a robot control apparatus according to a sixteenth embodiment of the present invention.
[Explanation of symbols]
1, 18, 99 Command value generation means, 2 Required drive torque command element calculation means, 3, 12, 15 Required drive torque calculation means, 4, 28, 48, 51, 53, 55, 57, 59, 61, 63, 65, 89, 106 to 108 Threshold value calculation means, 5, 9, 27 Collision discrimination means, 6, 10, 17, 33, 80, 84, 92 Motor control means, 8 Addition means, 11 Position velocity acceleration estimation means, 14, 16 Parameter estimation means, 19 Parameter storage means, 20 Identification gain calculation means, 21 Parameter estimated value restriction means, 25 Identification gain calculation means, 29, 74, 79, 83 First collision determination means, 30, 37, 75, 81, 85 Second collision discriminating means, 31 Torque margin calculating means, 32, 86 Torque limit value calculating means, 34 Motor current command generating means, 35 Motor current limiting means (Mode 36, motor current control means, 47, 49 identification progress determination means, 50 torque command absolute value maximum value calculation means, 52 motor current absolute value maximum value calculation means, 54 torque command torque command difference absolute value Maximum value calculating means, 56 Torque command torque command difference absolute value calculating means, 58 Acceleration command jerk command absolute value calculating means, 60 Threshold magnification factor calculating means, 62 Stop determining means, 64 Special work determining means, 66 Program analysis Means, 67, 70 smoothing means, 68 torque limit value holding means, 69 hand load set value reading means, 76 position speed storage means, 77 excessive inversion determination means, 82 second command value generation means, 90 collision virtual determination means, 91 discriminating data storage means, 93 parameter determining means, 94 sensitivity setting means, 95, 100 display means, 96, 98, 1 01 collision state determination means, 102 mode determination means, 103, 105 torque command absolute value maximum value calculation means, 104 acceleration direction weight determination means.

Claims (12)

位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令要素及び前記必要駆動トルク指令要素の差分絶対値の重みつき和の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値トルク指令トルク指令差分倍率、前記重みつき和の最大値から(上側しきい値ベース分)+(上側しきい値トルク指令トルク指令差分倍率)×(重みつき和の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベース分、下側しきい値トルク指令トルク指令差分倍率、前記重みつき和の最大値から(下側しきい値ベース分)+(下側しきい値トルク指令トルク指令差分倍率)×(重みつき和の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。Required drive torque command element calculating means for calculating each element of the required drive torque command from at least one of position command, speed command, and acceleration command, at least one of position, speed, and acceleration, and the required drive torque Necessary driving torque calculating means for calculating the required driving torque using at least one of the elements of the required driving torque command calculated by the command element calculating means, and the necessity calculated by the necessary driving torque command element calculating means The maximum value of the weighted sum of the absolute value of the difference between the drive torque command element and the required drive torque command element is calculated, and the upper threshold base value stored in advance, the upper threshold torque command torque command difference magnification, the weight From the maximum value of the mitsuki sum (upper threshold base) + (upper threshold torque command torque command differential magnification) x (weighted sum The upper threshold value is calculated by (large value), and the lower threshold base value stored in advance, the lower threshold torque command torque command difference magnification, and the maximum value of the weighted sum (lower threshold value) Base value) + (Lower threshold torque command torque command differential magnification) × (Maximum weighted sum) Threshold value calculation means for calculating the lower threshold value and calculation by the required drive torque calculation means A collision determination means for determining that the robot has collided when the difference between the required drive torque and the actual motor drive torque is greater than or equal to the upper threshold value or less than or equal to the lower threshold value. In addition, at least one of the required drive torque command element calculating means and the required drive torque calculating means, the position, speed, and acceleration of each axis are input, and each axis is driven as the sum of inertial force, centrifugal Coriolis force, gravity, and frictional force. torque Calculating robot control apparatus characterized by performing the calculation of the equation of motion of robot. 位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、各軸の制御系を模擬し位置、速度、加速度の推定値を位置指令、速度指令、加速度指令から演算する位置速度加速度推定手段と、前記位置速度加速度推定手段により推定された位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令要素及び前記必要駆動トルク指令要素の差分絶対値の重みつき和の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値トルク指令トルク指令差分倍率、前記重みつき和の最大値から(上側しきい値ベース分)+(上側しきい値トルク指令トルク指令差分倍率)×(重みつき和の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベース分、下側しきい値トルク指令トルク指令差分倍率、前記重みつき和の最大値から(下側しきい値ベース分)+(下側しきい値トルク指令トルク指令差分倍率)×(重みつき和の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。Necessary driving torque command element calculation means for calculating each element of the required driving torque command from at least one of position command, speed command, and acceleration command, and estimated values of position, speed, and acceleration by simulating the control system of each axis A position / speed / acceleration estimating means for calculating the position / speed / acceleration command from at least one of the position / speed / acceleration estimated by the position / speed / acceleration estimating means and the required drive torque command element calculating means. A required drive torque calculating means for calculating the required drive torque using at least one of the elements of the calculated required drive torque command; a required drive torque command element calculated by the required drive torque command element calculating means; calculates the maximum value of the weighted sum of the difference absolute value of the required driving torque command element, pre-stored upper threshold based , Upper threshold torque command torque command difference magnification, from maximum value of weighted sum (for upper threshold base) + (upper threshold torque command torque command difference magnification) × (maximum value of weighted sum) The upper threshold value is calculated with the lower threshold base value stored in advance, the lower threshold torque command torque command differential magnification, and the maximum value of the weighted sum (lower threshold base value) Threshold value calculation means for calculating the lower threshold value by + (lower threshold torque command torque command difference magnification) × (maximum value of weighted sum), and calculated by the required drive torque calculation means Collision determining means for determining that the robot has collided when the difference between the driving torque and the actual motor driving torque is equal to or greater than the upper threshold value or equal to or less than the lower threshold value; Drive torque command At least one at the position of each axis of the elementary calculation means and the required driving torque calculation means, speed, and an input acceleration, inertial force, centrifugal Coriolis force, gravity, the robot for calculating a driving torque of each axis as the sum of the frictional force A robot controller characterized by calculating an equation of motion. 必要駆動トルク指令要素演算手段及び必要駆動トルク演算手段の内部でロボットの運動方程式の演算を行う際に必要な摩擦係数を、摩擦力以外の推定トルクの和、モータ駆動電流、各軸の速度から推定するパラメータ推定手段を備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の内部でロボットの運動方程式の摩擦力の演算を行う際に前記パラメータ推定手段により推定された摩擦係数を用いることを特徴とする請求項1または請求項2記載のロボット制御装置。The friction coefficient required when calculating the equation of motion of the robot inside the required drive torque command element calculation means and the required drive torque calculation means is calculated from the sum of the estimated torque other than the friction force, the motor drive current, and the speed of each axis. with an estimation for parameter estimation means, the friction coefficient estimated by the parameter estimation section when performing the calculation of the frictional force of the equation of motion of a robot within the required driving torque command element calculation means and said demanded drive torque calculating means 3. The robot control apparatus according to claim 1, wherein the robot control apparatus is used. 必要駆動トルク演算手段及び必要駆動トルク指令要素演算手段の内部でロボットの運動方程式の摩擦力の演算を行う際にパラメータ推定手段により推定される摩擦係数の現在値ではなく一定時間前の値を用いて演算を行うことを特徴とする請求項3記載のロボット制御装置。When calculating the frictional force of the equation of motion of the robot inside the required drive torque calculation means and the required drive torque command element calculation means, use the value before a certain time instead of the current value of the friction coefficient estimated by the parameter estimation means. 4. The robot control apparatus according to claim 3, wherein the robot control device performs the calculation. 上側しきい値及び下側しきい値の双方に高レベルしきい値と低レベルしきい値を設け、必要駆動トルク演算手段により演算された必要駆動トルクと各軸モータを駆動するモータの電流より算出した実駆動トルクの差が上側高レベルしきい値以上もしくは下側高レベルしきい値以下となった場合、あるいは、必要駆動トルク演算手段により演算された必要駆動トルクと各軸モータを駆動するモータの電流より算出した実駆動トルクの差が所定時間以上連続して上側低レベルしきい値以上もしくは下側低レベルしきい値以下となった場合に衝突と判別する衝突判別手段を備えたことを特徴とする請求項1から請求項4のうちのいずれか1項記載のロボット制御装置。  A high level threshold value and a low level threshold value are provided for both the upper threshold value and the lower threshold value, and the required drive torque calculated by the required drive torque calculation means and the current of the motor that drives each axis motor When the difference between the calculated actual drive torques is greater than or equal to the upper high level threshold value or less than the lower high level threshold value, or each axis motor is driven with the required drive torque calculated by the required drive torque calculation means Collision discrimination means was provided to discriminate a collision when the difference in the actual driving torque calculated from the motor current was continuously above the upper low level threshold or below the lower low level threshold for a predetermined time or longer. The robot control device according to any one of claims 1 to 4, wherein しきい値演算手段により演算された上側しきい値及び下側しきい値にあらかじめ記憶された倍率を乗じて上側トルク余裕値及び下側トルク余裕値を演算するトルク余裕演算手段と、必要駆動トルク演算手段により演算された必要駆動トルク、前記上側トルク余裕値及び前記下側トルク余裕値に基づいて駆動トルク上側制限値及び駆動トルク下側制限値を演算するトルク制限値演算手段と、モータ駆動トルクが常に駆動トルク上側制限値以下でかつ、駆動トルク下側制限値以上となるようにモータ駆動トルクを制限するモータ駆動トルク制限手段とを備えたことを特徴とする請求項1から請求項5のうちのいずれか1項記載のロボット制御装置。Torque margin calculation means for calculating the upper torque margin value and the lower torque margin value by multiplying the upper threshold value and the lower threshold value calculated by the threshold value calculation means in advance, and the necessary drive torque Torque limit value calculating means for calculating a drive torque upper limit value and a drive torque lower limit value based on the required drive torque calculated by the calculation means, the upper torque margin value, and the lower torque margin value; and motor drive torque 6. A motor drive torque limiting means for limiting the motor drive torque so that is always equal to or less than the drive torque upper limit value and equal to or greater than the drive torque lower limit value. The robot control device according to any one of the above. しきい値演算手段により演算された上側しきい値及び下側しきい値にあらかじめ記憶された倍率を乗じて上側トルク余裕値及び下側トルク余裕値を演算するトルク余裕演算手段と、必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令要素、前記上側トルク余裕値及び下側トルク余裕値に基づいて駆動トルク上側制限値及び駆動トルク下側制限値を演算するトルク制限値演算手段と、モータ駆動トルクが常に駆動トルク上側制限値以下でかつ、駆動トルク下側制限値以上となるようにモータ駆動トルクを制限するモータ駆動トルク制限手段とを備えたことを特徴とする請求項1から請求項5のうちのいずれか1項記載のロボット制御装置。Torque margin calculation means for calculating the upper torque margin value and the lower torque margin value by multiplying the upper threshold value and the lower threshold value calculated by the threshold value calculation means in advance, and the required drive torque Torque limit value calculating means for calculating a drive torque upper limit value and a drive torque lower limit value based on the required drive torque command element calculated by the command element calculating means, the upper torque margin value and the lower torque margin value; The motor drive torque limiting means for limiting the motor drive torque so that the motor drive torque is always equal to or lower than the drive torque upper limit value and equal to or higher than the drive torque lower limit value. The robot control device according to any one of items 5 to 6. 位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、モータ駆動電流測定値絶対値の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値電流倍率、前記モータ駆動電流測定値絶対値の最大値から(上側しきい値ベース分)+(上側しきい値電流倍率)×(モータ駆動電流測定値絶対値の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベース分、下側しきい値電流倍率、前記モータ駆動電流測定値絶対値の最大値から(下側しきい値ベース分)+(下側しきい値電流倍率)×(モータ駆動電流測定値絶対値の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。Required drive torque command element calculating means for calculating each element of the required drive torque command from at least one of position command, speed command, and acceleration command, at least one of position, speed, and acceleration, and the required drive torque Required drive torque calculating means for calculating the required drive torque using at least one of the elements of the required drive torque command calculated by the command element calculating means, and calculating the maximum value of the measured absolute value of the motor drive current From the upper threshold base value stored in advance, the upper threshold current magnification, and the maximum value of the measured absolute value of the motor drive current (upper threshold base) + (upper threshold current magnification) × ( The upper threshold value is calculated by the maximum absolute value of the measured motor drive current value), and the lower threshold base amount stored in advance, the lower threshold current magnification, the motor drive Calculate the lower threshold value from the absolute value of the absolute value of the current measurement value (for the lower threshold value base) + (lower threshold current magnification) x (maximum absolute value of the measured motor drive current value) When the difference between the threshold value calculation means and the required drive torque calculated by the required drive torque calculation means and the actual motor drive torque is equal to or greater than the upper threshold value, or less than the lower threshold value A collision determination means for determining that the robot has collided, and at least one of the required drive torque command element calculation means and the required drive torque calculation means is input with the position, speed, and acceleration of each axis, A robot control apparatus that calculates a motion equation of a robot that calculates a drive torque of each axis as a sum of centrifugal Coriolis force, gravity, and friction force. 位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、各軸の制御系を模擬し位置、速度、加速度の推定値を位置指令、速度指令、加速度指令から演算する位置速度加速度推定手段と、前記位置速度加速度推定手段により推定された位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、モータ駆動電流測定値絶対値の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値電流倍率、前記モータ駆動電流測定値絶対値の最大値から(上側しきい値ベース分)+(上側しきい値電流倍率)×(モータ駆動電流測定値絶対値の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベNecessary driving torque command element calculation means for calculating each element of the required driving torque command from at least one of position command, speed command, and acceleration command, and estimated values of position, speed, and acceleration by simulating the control system of each axis A position / speed / acceleration estimating means for calculating the position / speed / acceleration command from at least one of the position / speed / acceleration estimated by the position / speed / acceleration estimating means and the required drive torque command element calculating means. Required drive torque calculating means for calculating the required drive torque using at least one of the elements of the calculated required drive torque command, the maximum value of the measured absolute value of the motor drive current is calculated and stored in advance From the upper threshold base, the upper threshold current magnification, and the maximum value of the measured absolute value of the motor drive current (upper threshold base) + (upper Calculating an upper threshold in threshold current magnification) × (maximum value of the motor driving current measurements absolute value), pre-stored lower threshold base ース分、下側しきい値電流倍率、前記モータ駆動電流測定値絶対値の最大値から(下側しきい値ベース分)+(下側しきい値電流倍率)×(モータ駆動電流測定値絶対値の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。From the maximum value of the absolute value of the motor drive current measured value (lower threshold base amount) + (lower threshold current magnification) x (motor drive current measured value) The threshold value calculating means for calculating the lower threshold value with the maximum absolute value) and the difference between the required driving torque calculated by the required driving torque calculating means and the actual motor driving torque is the upper threshold value. In the above case, or a collision determination unit that determines that the robot has collided when the value is equal to or lower than the lower threshold value, at least one of the required drive torque command element calculation unit and the required drive torque calculation unit A robot control device characterized by calculating a robot's equation of motion that calculates the driving torque of each axis as the sum of inertial force, centrifugal Coriolis force, gravity, and frictional force by inputting the position, velocity, and acceleration of each axis. . 位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、加速度指令絶対値及び前記加速度指令の差分絶対値の重みつき和の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値加速度指令加加速度指令倍率、前記重みつき和の最大値から(上側しきい値ベース分)+(上側しきい値加速度指令加加速度指令倍率)×(重みつき和の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベース分、下側しきい値加速度指令加加速度指令倍率、前記重みつき和の最大値から(下側しきい値ベース分)+(下側しきい値加速度指令加加速度指令倍率)×(重みつき和の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。Required drive torque command element calculating means for calculating each element of the required drive torque command from at least one of position command, speed command, and acceleration command, at least one of position, speed, and acceleration, and the required drive torque Required drive torque calculation means for calculating the required drive torque using at least one of the elements of the required drive torque command calculated by the command element calculation means, and the acceleration command absolute value and the difference absolute value of the acceleration command The maximum value of the weighted sum is calculated, and the upper threshold base amount stored in advance, the upper threshold acceleration command jerk command magnification, and the maximum value of the weighted sum (upper threshold base portion) + ( Upper threshold acceleration command jerk command multiplication factor) x (maximum value of weighted sum) is used to calculate the upper threshold value and to store the lower threshold base. Lower threshold acceleration command jerk command magnification, from the maximum value of the above weighted sum (for the lower threshold base) + (lower threshold acceleration command jerk command magnification) x (maximum of the weighted sum) Value) and a difference between the required driving torque calculated by the required driving torque calculating means and the actual motor driving torque is greater than or equal to the upper threshold value, Or a collision discriminating unit for discriminating that the robot has collided when the value falls below the lower threshold, and the position of each axis in at least one of the required driving torque command element calculating unit and the required driving torque calculating unit. A robot control apparatus that calculates a motion equation of a robot that receives a speed and an acceleration and calculates a driving torque of each axis as a sum of inertial force, centrifugal Coriolis force, gravity, and frictional force. 位置指令、速度指令、加速度指令のうちの少なくとも1つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、各軸の制御系を模擬し位置、速度、加速度の推定値を位置指令、速度指令、加速度指令から演算する位置速度加速度推定手段と、前記位置速度加速度推定手段により推定された位置、速度、加速度のうちの少なくとも1つ及び前記必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも1つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、加速度指令絶対値及び前記加速度指令の差分絶対値の重みつき和の最大値を演算し、あらかじめ記憶された上側しきい値ベース分、上側しきい値加速度指令加加速度指令倍率、前記重みつき和の最大値から(上側しきい値ベース分)+(上側しきい値加速度指令加加速度指令倍率)×(重みつき和の最大値)で上側しきい値を演算し、あらかじめ記憶された下側しきい値ベース分、下側しきい値加速度指令加加速度指令倍率、前記重みつき和の最大値から(下側しきい値ベース分)+(下側しきい値加速度指令加加速度指令倍率)×(重みつき和の最大値)で下側しきい値を演算するしきい値演算手段と、前記必要駆動トルク演算手段により演算された必要駆動トルクと実際のモータ駆動トルクとの差が前記上側しきい値以上の場合、もしくは前記下側しきい値以下となった場合にロボットが衝突したと判別する衝突判別手段とを備え、前記必要駆動トルク指令要素演算手段及び前記必要駆動トルク演算手段の少なくとも一方で各軸の位置、速度、加速度を入力とし、慣性力、遠心コリオリ力、重力、摩擦力の和として各軸の駆動トルクを算出するロボットの運動方程式の演算を行うことを特徴とするロボット制御装置。Necessary driving torque command element calculation means for calculating each element of the required driving torque command from at least one of position command, speed command, and acceleration command, and estimated values of position, speed, and acceleration by simulating the control system of each axis A position / speed / acceleration estimating means for calculating the position / speed / acceleration command from at least one of the position / speed / acceleration estimated by the position / speed / acceleration estimating means and the required drive torque command element calculating means. Required drive torque calculating means for calculating the required drive torque using at least one of the calculated elements of the required drive torque command, and the maximum of the weighted sum of the acceleration command absolute value and the difference absolute value of the acceleration command The value is calculated and the upper threshold base value stored in advance, the upper threshold acceleration command jerk command magnification, the maximum value of the weighted sum (Upper threshold base portion) + (Upper threshold acceleration command jerk command magnification) x (Maximum weighted sum) is calculated as the upper threshold value, and the previously stored lower threshold base portion , Lower threshold acceleration command jerk command magnification, from the maximum value of the weighted sum (for lower threshold base) + (lower threshold acceleration command jerk command magnification) x (weighted sum of Threshold value calculating means for calculating a lower threshold value with a maximum value), and the difference between the required driving torque calculated by the required driving torque calculating means and the actual motor driving torque is equal to or greater than the upper threshold value. Or a collision discriminating unit that discriminates that the robot has collided when the value falls below the lower threshold value, and at least one of the required driving torque command element calculating unit and the required driving torque calculating unit Position, speed An input acceleration, inertial force, centrifugal Coriolis force, gravity, the robot control apparatus characterized by performing the calculation of the equation of motion of the robot for calculating a driving torque of each axis as the sum of the frictional force. 必要駆動トルク指令要素演算手段及び必要駆動トルク演算手段の内部での運動方程式の演算に用いる手先負荷質量、手先負荷重心位置、手先負荷慣性モーメントとして手先負荷の設定値をそのまま用いるのではなく、手先負荷の設定値を平滑化手段に入力し、平滑化手段の出力を手先負荷質量、手先負荷重心位置、手先負荷慣性モーメントとして必要駆動トルク指令要素演算手段及び必要駆動トルク演算手段の内部での運動 方程式の演算を行うことを特徴とする請求項1から請求項11のうちのいずれか1項記載のロボット制御装置。Instead of using the set values of the hand load as it is as the hand load mass, hand load center of gravity position, and hand load inertia moment used for the calculation of the equation of motion inside the required drive torque command element calculation means and the required drive torque calculation means, the load set value input to the smoothing means, the hand load mass output of the smoothing means, the hand load center of gravity position, movement within the required driving torque command element calculation means and the required driving torque calculating means as the end effector load inertia The robot control apparatus according to claim 1, wherein an equation is calculated.
JP2002132952A 2001-05-08 2002-05-08 Robot controller Expired - Lifetime JP3878054B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002132952A JP3878054B2 (en) 2001-05-08 2002-05-08 Robot controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-137837 2001-05-08
JP2001137837 2001-05-08
JP2002132952A JP3878054B2 (en) 2001-05-08 2002-05-08 Robot controller

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006135450A Division JP2006263916A (en) 2001-05-08 2006-05-15 Robot control device

Publications (3)

Publication Number Publication Date
JP2003025272A JP2003025272A (en) 2003-01-29
JP2003025272A5 JP2003025272A5 (en) 2004-12-02
JP3878054B2 true JP3878054B2 (en) 2007-02-07

Family

ID=26614768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002132952A Expired - Lifetime JP3878054B2 (en) 2001-05-08 2002-05-08 Robot controller

Country Status (1)

Country Link
JP (1) JP3878054B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010188504A (en) * 2009-02-20 2010-09-02 Yaskawa Electric Corp Robot control device, and robot
US10434647B2 (en) 2016-11-25 2019-10-08 Kabushiki Kaisha Toshiba Robot control device, a robot control method, and a picking device
WO2020027118A1 (en) 2018-08-02 2020-02-06 株式会社神戸製鋼所 Robot control device, robot control method, and robot control program
KR20200085253A (en) * 2020-07-01 2020-07-14 삼성전자주식회사 A walk-assistive apparatus and a method for controlling the walk-assistive apparatus
WO2022269850A1 (en) * 2021-06-24 2022-12-29 株式会社Fuji Method for controlling robot and arm

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004364396A (en) * 2003-06-04 2004-12-24 Yaskawa Electric Corp Controller and control method for motor
JP4294646B2 (en) * 2003-07-29 2009-07-15 パナソニック株式会社 Robot arm control method and control apparatus
JP4258718B2 (en) * 2003-09-29 2009-04-30 株式会社安川電機 Robot controller
JP3933158B2 (en) * 2004-10-21 2007-06-20 松下電器産業株式会社 Robot collision detection method
JP4440072B2 (en) * 2004-10-26 2010-03-24 パナソニック株式会社 Robot control method
JP4109280B2 (en) * 2005-09-08 2008-07-02 ファナック株式会社 Machine having a movable part driven and controlled by a servo motor
JP5177495B2 (en) * 2007-11-28 2013-04-03 ブラザー工業株式会社 Numerical control device, computer program, and storage medium
EP2124118B1 (en) * 2008-05-19 2011-04-06 Siemens Aktiengesellschaft Control device for controlling a machine tool by which tools can be driven
JP5593968B2 (en) * 2010-03-04 2014-09-24 株式会社デンソーウェーブ Robot system
WO2011161765A1 (en) 2010-06-22 2011-12-29 株式会社 東芝 Robot control device
DE102011003374A1 (en) * 2011-01-31 2012-08-02 Deckel Maho Pfronten Gmbh Machine tool with a device for collision monitoring
ITMI20111868A1 (en) 2011-10-13 2013-04-14 Gima Spa PROCEDURE FOR CONTROL OF INTERFERENCE AND / OR COLLISION OF MECHANICAL ORGANS AND CONNECTED SYSTEM
JP5912683B2 (en) * 2012-03-07 2016-04-27 株式会社神戸製鋼所 System having motor drive structure, program used for motor drive structure system, and welded article manufacturing method
CN104995001B (en) * 2013-02-13 2017-07-14 日本电产三协株式会社 The control method of industrial robot and industrial robot
JP5926346B2 (en) * 2014-09-25 2016-05-25 ファナック株式会社 Human cooperation robot system
JP5937706B1 (en) * 2015-01-21 2016-06-22 ファナック株式会社 Robot control apparatus and robot system for controlling robot based on external force applied to robot
JP6055014B2 (en) 2015-03-23 2016-12-27 ファナック株式会社 Robot control device having function of detecting contact with object or person
JP6924146B2 (en) * 2015-10-30 2021-08-25 川崎重工業株式会社 Robot system monitoring device
JP7015068B2 (en) * 2017-05-29 2022-02-02 フランカ エーミカ ゲーエムベーハー Collision processing by robot
JP6836557B2 (en) * 2018-08-30 2021-03-03 ファナック株式会社 Human cooperative robot system
JP7211007B2 (en) 2018-10-30 2023-01-24 セイコーエプソン株式会社 Control device, robot system and control method
DE112021001568T5 (en) * 2020-03-12 2022-12-29 Fanuc Corporation Robot control device, robot system and robot control method
KR102643316B1 (en) * 2022-04-25 2024-03-04 한국로봇융합연구원 Detecting device and method for calculating amount of impact of robot manipulator

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010188504A (en) * 2009-02-20 2010-09-02 Yaskawa Electric Corp Robot control device, and robot
US10434647B2 (en) 2016-11-25 2019-10-08 Kabushiki Kaisha Toshiba Robot control device, a robot control method, and a picking device
WO2020027118A1 (en) 2018-08-02 2020-02-06 株式会社神戸製鋼所 Robot control device, robot control method, and robot control program
KR20210030423A (en) 2018-08-02 2021-03-17 가부시키가이샤 고베 세이코쇼 Robot control device, robot control method and robot control program
EP3808516A4 (en) * 2018-08-02 2022-01-19 Kabushiki Kaisha Kobe Seiko Sho (Kobe Steel, Ltd.) Robot control device, robot control method, and robot control program
KR20220148310A (en) 2018-08-02 2022-11-04 가부시키가이샤 고베 세이코쇼 Robot control device, robot control method, and robot control program
KR20200085253A (en) * 2020-07-01 2020-07-14 삼성전자주식회사 A walk-assistive apparatus and a method for controlling the walk-assistive apparatus
KR102234788B1 (en) 2020-07-01 2021-04-01 삼성전자주식회사 A walk-assistive apparatus and a method for controlling the walk-assistive apparatus
WO2022269850A1 (en) * 2021-06-24 2022-12-29 株式会社Fuji Method for controlling robot and arm

Also Published As

Publication number Publication date
JP2003025272A (en) 2003-01-29

Similar Documents

Publication Publication Date Title
JP3878054B2 (en) Robot controller
JP2006263916A (en) Robot control device
US10350765B2 (en) Switching a control of a robot into a manual operating mode
JP6238021B2 (en) ROBOT, ROBOT CONTROL DEVICE AND CONTROL METHOD, AND ROBOT CONTROL PROGRAM
JP6706741B2 (en) Robot collision detection method
CN107813345B (en) Robot collision detection method and device
JP4983812B2 (en) Robot control method and control apparatus
US11040449B2 (en) Robot control system and method of controlling a robot
JP2003025272A5 (en)
CN109291055B (en) Robot motion control method, device, computer equipment and storage medium
WO1989008538A1 (en) Method of detecting collision of moving portions driven by servo motor
JP2003236787A (en) Drivingly controlling method and drivingly controlling device
US10583558B2 (en) Robot control device
JP4440072B2 (en) Robot control method
JP2000052286A (en) Robot control device
KR101307782B1 (en) Direct teaching and playback method of robot and robot control system
JPWO2005035205A1 (en) Robot control device
JP2013169609A (en) Method for detecting collision of robot
JP3204207B2 (en) Robot control device and control method
JP3528503B2 (en) Motor control device for opening and closing mechanism
CN115336167A (en) Friction compensation device, collision detection device, torque feedforward calculation device, robot control device, and friction compensation method
JP2001353687A (en) Robot controller and method for controlling the same
JP7176255B2 (en) Motor control device and collision detection method
CN114074323A (en) Safety system for ensuring boundary limit of speed and momentum of robot
KR102304030B1 (en) Collision criteria selection module for cooperative robots, collision occurrence discrimination system for cooperative robots, and sensorless collision determination method using the same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060901

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061101

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3878054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091110

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101110

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111110

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121110

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121110

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131110

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term