JP5633623B2 - ロボットシステム - Google Patents

ロボットシステム Download PDF

Info

Publication number
JP5633623B2
JP5633623B2 JP2013255939A JP2013255939A JP5633623B2 JP 5633623 B2 JP5633623 B2 JP 5633623B2 JP 2013255939 A JP2013255939 A JP 2013255939A JP 2013255939 A JP2013255939 A JP 2013255939A JP 5633623 B2 JP5633623 B2 JP 5633623B2
Authority
JP
Japan
Prior art keywords
axis
collision
value
axes
link
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.)
Active
Application number
JP2013255939A
Other languages
English (en)
Other versions
JP2014042984A (ja
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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2013255939A priority Critical patent/JP5633623B2/ja
Publication of JP2014042984A publication Critical patent/JP2014042984A/ja
Application granted granted Critical
Publication of JP5633623B2 publication Critical patent/JP5633623B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボットに対する衝突をセンサレスで検出する手段を備えたロボットシステムに関する。
ロボットに対する衝突を検出する方法としては、各種センサを用いて行う方法や、各種センサを用いずに(センサレスで)ソフトウェアにより行う方法がある。このうち、センサレスでロボットに対する衝突を検出する方法としては、例えば特許文献1に開示されている方法が挙げられる。この特許文献1では、外乱オブザーバを使ってロボットの各軸に外部から加わる負荷(外乱負荷トルク)をそれぞれ求め、いずれか1つの軸に加わる外乱負荷トルクの値が予め定めたしきい値を超えると衝突が発生したと判断するようになっている。
特許第3212571号公報
特許文献1記載の上記方法によれば、ロボットに対する衝突の有無を検出することは可能である。しかしながら、特許文献1記載の方法では、例えば軸と軸の間に存在するリンクに対する衝突が生じた場合、その衝突がどのリンクに対するものであるのかなど、衝突箇所を特定することはできない。また、特許文献1記載の方法では、外乱オブザーバによる演算誤差(モデル値と現実値との差に起因した誤差)の影響により衝突の検出感度を十分に高めることができない。すなわち、特許文献1記載の方法では、衝突の検出感度を高めるためにしきい値を下げると、上記演算誤差が衝突の判定に与える影響が大きくなり、衝突を誤検出する可能性が高くなるため、衝突の検出感度を十分に高めることができなかった。
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボットに設けられる軸と軸の間に存在するリンクに対する衝突が生じた場合にその衝突箇所を特定できるとともに、衝突の誤検出を抑制しつつ検出感度を高めることができるロボットシステムを提供することにある。
請求項1記載の手段によれば、駆動制御手段は、外部から与えられる指令値に従って、ロボットに設けられた複数の軸を駆動するための複数のモータの駆動を制御する。そして、トルク値推定手段は、指令値を用いて複数の軸のうちの検出対象軸に生じる推定トルク値を推定する。また、トルク値演算手段は、モータに流れる電流を検出する電流検出手段の検出値を用いて上記検出対象軸に生じる発生トルク値を演算する。外部からロボットに対して負荷が加えられない限り、検出対象軸にはモータが発生する指令値に従ったトルクが生じることになるので、推定トルク値と発生トルク値とが一致することになる。これに対し、衝突が発生したことなどにより外部からロボットに対して所定の負荷が加えられると、推定トルク値と発生トルク値との間には、その負荷に応じた分だけの差が生じる。そこで、外乱演算手段は、推定トルク値と発生トルク値との差分から外部より検出対象軸に加わる外乱負荷トルクの値を演算する。
また、検出対象軸は、互いに同一方向の軸心を持つものであり、これらの間にはリンクが存在している。このリンクに対する衝突が発生した場合、これら検出対象軸の一方に加わる外乱負荷トルクの値と、他方に加わる外乱負荷トルクの値とは必ず符号が反転する。その理由は次のとおりである。すなわち、一般に、ロボットにおける種々の演算は、上記リンクが剛体であると仮定した上で行われる。剛体であるリンクに対して所定の負荷が加わったとしてもリンクは曲がることがないとされるため、必然的にリンクの両端部に位置する各検出対象軸において、互いに反対向きの(符号が異なる)外乱負荷トルクが生じることになる。本手段では、このような点を利用して、ロボットのリンクに対する衝突を以下のようにして検出する。
すなわち、衝突判断軸抽出手段は、外乱負荷トルク値の符号が異なる任意の2つの検出対象軸を衝突判断軸として抽出する。そして、衝突判断手段は、衝突判断軸に対応した2つの外乱負荷トルク値の差分の絶対値を求め、その絶対値が所定のしきい値を超えた場合には、これら衝突判断軸間に存在するリンクに対する衝突が発生していると判断する。衝突判断軸間のリンクに対する衝突が生じた場合、これら衝突判断軸に加わる外乱負荷トルクは、いずれも高い値を示すとともに互いに符号が異なる。従って、これらの差分の絶対値は、非常に高い値となる。これにより、各軸単位の外乱負荷トルクとしきい値とを比較する従来の方法と比べ、しきい値を高く設定することができる。このため、外乱負荷トルクの演算に伴う誤差の影響による衝突の誤検出を防止することができる。しかも、しきい値の比較対象である上記絶対値は、衝突が生じたリンクに対応する部分で非常に高い値を示すことになるので、衝突の検出感度についても高めることができる。また、本手段によれば、衝突が生じた箇所は、衝突判断軸間に存在するリンクのいずれかであるという判断ができるので、衝突箇所を所定の範囲内に特定することが可能となる。
また、衝突判断軸抽出手段は、外乱負荷トルク値の符号が互いに異なる任意の2つの検出対象軸のうち、互いの距離が最も遠いものを衝突判断軸として抽出する。2つの検出対象軸の外乱負荷トルク値は、てこの原理に基づいて考えれば、これらの距離が遠くなるほど高くなる。このことは、各検出対象軸の間に複数のリンクが存在する場合であっても、これら複数のリンクが1つの剛体であると仮定することで成り立つ。従って、このように互いの距離が最も遠いものを衝突判断軸とすることで、外乱負荷トルク値の差分の絶対値は最も高い値を示すことになる。このため、衝突が発生した場合、直ちにその衝突を検出することができる。
本発明の第1の実施形態を示すロボットシステムの構成を概略的に示す図 ロボットシステムの電気構成図 モータ制御の内容を等価的に示すブロック図 2つの軸およびそれらの間に存在するリンクを示す図 第3軸と第5軸の間に外力が加えられたロボットの構成を示す図 第3軸と第5軸の間に外力が加えられた場合の各軸の外乱負荷トルク値と2つの外乱負荷トルク値の差分とを絶対値として示す図 第2軸と第3軸の間に外力が加えられたロボットの構成を示す図 第2軸と第3軸の間に外力が加えられた場合の図6相当図 総合衝突検出制御の内容を示すフローチャート 本発明の第2の実施形態を示す図9相当図 本発明の第3の実施形態を示す図1相当図
(第1の実施形態)
以下、本発明の第1の実施形態について図1〜図9を参照しながら説明する。
図1は、一般的な産業用ロボットのシステム構成を示している。この図1に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4とから構成されている。
図1に示すように、ロボット2は、6軸の垂直多関節型ロボットとして構成されている。すなわち、ベース5上には、Z方向の軸心を持つ第1軸J1を介してショルダ部6が水平方向に回転可能に連結されている。ショルダ部6には、Y方向の軸心を持つ第2軸J2を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸J3を介して第1の上アーム8が垂直方向に回転可能に連結されている。第1の上アーム8の先端部には、X方向の軸心を持つ第4軸J4を介して第2の上アーム9が捻り回転可能に連結されている。第2の上アーム9の先端部には、Y方向の軸心を持つ第5軸J5を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸J6を介してフランジ11が捻り回転可能に連結されている。
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ロボット2に設けられる複数の軸(J1〜J6)はそれぞれに対応して設けられるモータ(図2に符号Mを付して示す)により駆動される。各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。
本実施形態では、下アーム7、第1の上アーム8および第2の上アーム9がリンクに相当する。また、第2軸J2、第3軸J3および第5軸J5を、ロボット2の上記リンクに対する衝突を検出するための検出対象軸としている。これら検出対象軸(J2、J3、J5)は、同一方向(Y方向)の軸心を持つとともに、互いの間にリンク(7、8、9)が存在している。
ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4には、各種のキースイッチが設けられており、使用者は、それらキースイッチにより種々の入力操作を行う。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチの操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。
図2は、ロボットシステム1の電気構成を概略的に示すブロック図である。ロボット2には、第1軸J1〜第6軸J6をそれぞれ駆動するための複数のモータM(図2では1つのみ示す)が設けられている。モータMは、例えばブラシレスDCモータである。コントローラ3には、交流電源21より供給される交流を整流および平滑して出力する直流電源装置22、モータMを駆動するインバータ装置23、電流検出部24、位置検出部25およびこれら各装置の制御などを行う制御部26が設けられている。
直流電源装置22は、整流回路27と平滑用のコンデンサ28とから構成されている。整流回路27は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば3相200Vの交流電源21の各相出力は、整流回路27の交流入力端子に接続されている。整流回路27の直流出力端子は、それぞれ直流電源線29、30に接続されている。これら直流電源線29、30間にはコンデンサ28が接続されている。
インバータ装置23は、直流電源線29、30間に6つのスイッチング素子例えばIGBT(図2には2つのみ示す)を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを6組備えている(図2には1組のみ示す)。IGBTのコレクタ・エミッタ間には還流ダイオードが接続されている。また、IGBTのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部26から与えられる指令信号(通電指令Sc)に基づいてパルス幅変調されたゲート信号を出力して各IGBTを駆動する。
制御部26(駆動制御手段に相当)は、CPU、ROM、RAM、I/Oなどを備えたマイクロコンピュータを主体として構成されている。電流検出部24(電流検出手段に相当)は、モータMに流れる電流を検出する電流検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。位置検出部25は、モータMの回転位置を検出する位置検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。制御部26は、電流検出部24から出力されるデータを元にモータMに流れる電流の値を取得するとともに、位置検出部25から出力されるデータを元にモータMの回転位置および回転速度を取得する。詳細は後述するが、制御部26は、このようにして取得した電流値、回転位置および回転速度を用いてインバータ装置23によるモータMの駆動をフィードバック制御する。
図3は、ロボットシステム1におけるモータ制御の内容を等価的に示したブロック図である。この図3に示すように、制御部26は、位置制御部41、速度制御部42、電流制御部43、トルク値推定部44、発生トルク値演算部45および外乱トルク値演算部46を備えている。なお、図3では、1つのモータMの制御に係る構成のみを示しているが、実際には全てのモータMのそれぞれに対応して同様の構成が設けられている。さて、一般に産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。図示しない上位制御部は、その動作プログラムを解釈し、ロボット2に動作プログラムに従った動作を行わせるように各モータMを制御するための指令値(位置指令pc)を位置制御部41に出力する。
位置制御部41は、上位制御部から与えられる位置指令pcに対する現在の回転位置p*の偏差を求める減算器47と、この減算器47の出力(偏差)をゼロに近づけるように速度指令vc(回転速度指令)を出力する位置制御アンプ48とから構成されている。この位置制御アンプ48のゲインはKpとなっている。
速度制御部42は、微分器49、減算器50および速度制御アンプ51により構成されている。微分器49は、現在の回転位置p*を微分して現在の回転速度v*に変換する。減算器50は、速度指令vcに対する現在の回転速度v*の偏差を求める。速度制御アンプ51は、この減算器50の出力(偏差)をゼロに近づけるように電流指令icを出力する。この速度制御アンプ51のゲインはKvとなっている。
電流制御部43は、電流指令icに対する現在のモータMに流れる電流i*の偏差を求める減算器52と、この減算器52の出力(偏差)をゼロに近づけるようにインバータ装置23に対する指令信号(通電指令Sc)を出力する電流制御アンプ53とから構成されている。この電流制御アンプ53のゲインはKiとなっている。このような構成により、制御部26は、電流フィードバック制御、速度フィードバック制御および位置フィードバック制御を行い、モータMの駆動をフィードバック制御してロボット2のアームの動作制御を行う。
トルク値推定部44(トルク値推定手段に相当)は、ロボット2が所定の動作プログラムに基づいて行う動作の開始から終了までの間にモータMに発生させる必要があるトルクの値(推定トルク値)を、位置指令pcを用いて一括して推定する。この推定方法としては、例えば運動方程式を用いて、ロボット2の軸を所定の回転位置からその次の回転位置まで回転させるためにモータMに発生させる必要があるトルク値を推定するという方法が挙げられる。なお、トルク値推定部44は、ロボット2が現在の指令位置からその次の指令位置まで移動するためにモータMに発生させる必要があるトルク値を逐次推定するように構成してもよい。発生トルク値演算部45(トルク値演算手段に相当)は、モータMに流れる現在の電流i*に対し、モータMのトルク定数を乗算することにより、モータMが発生する現在のトルクの値(発生トルク値)を求める。
外乱トルク値演算部46(外乱演算手段に相当)は、推定トルク値および発生トルク値の差分から、モータMが駆動する対象となる軸に外部から加わるトルク値(外乱負荷トルク値)を求める。すなわち、外部からロボット2に対して負荷が加えられない限り、ロボット2の各軸には、位置指令pcに従いモータMが発生するトルクがそれぞれ生じることになるので、推定トルク値と発生トルク値とは一致する。これに対し、衝突が発生したことなどにより外部からロボット2に対して所定の負荷が加えられると、推定トルク値と発生トルク値との間には、その負荷に応じた分だけの差が生じる。そこで、外乱トルク値演算部46は、推定トルク値Teおよび発生トルク値Tgを用いて下記(1)式に基づき外乱負荷トルク値Tdを演算する。
Td=Tg−Te …(1)
制御部26(衝突判断軸抽出手段および衝突判断手段に相当)は、検出対象軸(J2、J3、J5)に加わる外乱負荷トルク値Tdに基づいて以下のようにロボット2のリンクに対する衝突を検出する。例えば、第2軸J2および第3軸J3の間に存在するリンクである下アーム7に対する衝突が発生した場合、第2軸J2および第3軸J3のそれぞれには、互いに符号の異なる外乱負荷トルクが発生する。このように、2つの検出対象軸間に存在するリンクに外部から所定の負荷が加えられたときに、2つの検出対象軸の一方に加わるトルクの値と他方に加わるトルクの値とにおいて符号が反転する理由は次のとおりである。
すなわち、一般に、ロボット2における種々の演算は、各リンクが剛体であると仮定した上で行われる。図4は、2つの軸およびそれらの間に存在するリンクを模式的に示している。この図4に示すように、リンクLに対して所定の外力(負荷)が加わった場合、リンクLは剛体であるため、曲がることはない。このため、必然的にリンクLの両端部に位置する軸Ja、Jbにおいて、互いに反対向きの(符号が異なる)トルクが生じることになる。なお、このことは、各検出対象軸の間に複数のリンクが存在する場合であっても、これら複数のリンクが1つの剛体であると仮定することで成り立つ。
本実施形態の制御部26は、このような点を利用して、ロボット2のリンクに対する衝突を検出するリンク衝突検出制御を行う。すなわち、制御部26は、外乱負荷トルク値Tdの符号が互いに異なる任意の2つの検出対象軸を衝突判断軸として抽出する。制御部26は、抽出した衝突判断軸に対応する2つの外乱負荷トルク値の差分の絶対値を求める。そして、制御部26は、上記絶対値が所定のしきい値を超えた場合に、2つの衝突判断軸間に存在するリンクに対する衝突が発生していると判断する。
次に、本実施形態の作用および効果について図5〜図9も参照して説明する。
図5は、ロボット2の構成を模式的に示す図であり、検出対象軸(J2、J3、J5)以外の軸は省略している。図5に示すように、第3軸J3および第5軸J5の間のリンク(第1の上アーム8および第2の上アーム9)に対し、図示の外力(負荷)が加えられると、各検出対象軸には図示の外乱負荷トルクが生じる。すなわち、第2軸J2には+150[kgf・cm]の外乱負荷トルクが生じ、第3軸J3には+100[kgf・cm]の外乱負荷トルクが生じ、第5軸J5には−100[kgf・cm]の外乱負荷トルクが生じる。
この際、検出対象軸に生じる外乱負荷トルクの値のうち、互いに符号の異なる2つの組み合わせ(J2およびJ5の組み合わせと、J3およびJ5の組み合わせ)が存在する。この場合、本実施形態の制御部26は、互いの距離が近いほうの組み合わせを採用する。すなわち、制御部26は、外乱負荷トルク値の符号が互いに異なる任意の2つの検出対象軸のうち、互いの距離が最も近いものを衝突判断軸として抽出する。従って、制御部26は、第3軸J3および第5軸J5を衝突判断軸として抽出し、それらの外乱負荷トルク値の差分の絶対値を求める。
図6は、各検出対象軸の外乱負荷トルク値と、衝突判断軸の外乱負荷トルク値の差分とをいずれも絶対値で示している。この図6に示すように、上記差分の絶対値は、200[kgf・cm]であり、各検出対象軸の外乱負荷トルク値と比較して高い値を示している。また、本実施形態においては、しきい値Tthを例えば150[kgf・cm]としている。制御部26は、この差分の絶対値がしきい値Tthを超えているため、衝突判断軸(J3、J5)間のリンク(8、9)に衝突が生じたと判断する。そして、制御部26は、ロボット2の動作を停止させる停止制御を行うとともに、衝突が生じたことをユーザに対して報知する報知制御を行う。この報知制御としては、衝突を表すメッセージを表示させたり、衝突を表す警告音を発生させたりするなどが考えられる。本実施形態では、制御部26は、報知制御として、ティーチングペンダント4の画面上に「○○○において衝突発生!」といったメッセージを表示させる。なお、この○○○には、衝突が生じたと判断した箇所(リンク)の名称を表示すればよく、上記ケースでは「上アームにおいて衝突発生!」となる。
続いて、上記ケースとは異なるリンクに対する衝突が生じた場合について説明する。図7および図8は、それぞれ図5および図6に相当する。この図7に示すように、第2軸J2および第3軸J3の間のリンク(下アーム7)に対し、図示の外力(負荷)が加えられると、各検出対象軸には図示の外乱負荷トルクが生じる。すなわち、第2軸J2には−100[kgf・cm]の外乱負荷トルクが生じ、第3軸J3には+150[kgf・cm]の外乱負荷トルクが生じ、第5軸J5には+200[kgf・cm]の外乱負荷トルクが生じる。
このケースでも、検出対象軸に生じる外乱負荷トルクの値のうち、互いに符号の異なる2つの組み合わせ(J2およびJ3の組み合わせと、J2およびJ5の組み合わせ)が存在する。この場合、制御部26は、互いの距離が近い第2軸J2および第3軸J3を衝突判断軸として抽出し、それらの外乱負荷トルク値の差分の絶対値を求める。
図8に示すように、上記差分の絶対値は、250[kgf・cm]であり、各検出対象軸の外乱負荷トルク値と比較して高い値を示している。制御部26は、この差分の絶対値がしきい値Tthを超えているため、衝突判断軸(J2、J3)間のリンク(7)に衝突が生じたと判断する。そして、制御部26は、停止制御を行うとともに報知制御を行う。このケースではティーチングペンダント4の画面上に「下アームにおいて衝突発生!」という表示がなされる。
このように、制御部26は、外乱負荷トルク値の符号が互いに異なる任意の2つの検出対象軸を衝突判断軸として抽出し、これら衝突判断軸に加わる外乱負荷トルク値の差分の絶対値に基づいてロボット2のリンクに対する衝突を検出するリンク衝突検出制御を行う。上記差分の絶対値は、任意の2つの検出対象軸に加わる外乱負荷トルク値の絶対値を加算したものと等しくなるので、各検出対象軸にそれぞれ加わる外乱負荷トルク値と比べて非常に高い値となる。
一方、各軸の外乱負荷トルク値のそれぞれとしきい値とを比較してロボット2に対する衝突を検出する従来の方法では、そのしきい値を各軸単位の外乱負荷トルク値に合わせて設定する必要があった。例えば、図5および図7のケースでは、最も小さい外乱負荷トルク(100[kgf・cm])が加わる軸についての衝突を検出するためには、しきい値Tth’を例えば50[kgf・cm]程度に設定しなければならない。これに対し、本実施形態のリンク衝突検出制御では、各軸の外乱負荷トルク値よりも十分に高い上記絶対値に合わせてしきい値Tthを設定すればよいため、従来のしきい値Tth’に比べて高い値に設定することができる。
このしきい値が高いほど、外乱負荷トルクの演算に伴う誤差の影響を受け難くなり、その結果、衝突の誤検出が生じる可能性を低減できる。本実施形態のリンク衝突検出制御によれば、上記しきい値を高く設定できるため、外乱負荷トルクの演算に伴う誤差の影響による衝突の誤検出の発生を抑制することができる。また、その高いしきい値Tthは、上記差分の絶対値に合わせて設定しており、その差分の絶対値は各軸の外乱負荷トルク値に比べて非常に高い値となる。すなわち、上記差分の絶対値は、衝突が生じたときに、際立って高い値となるため、リンクに対する衝突の検出感度についても高めることができる。
上記リンク衝突検出制御によれば、衝突が生じた箇所は、衝突判断軸間に存在するリンクのいずれかであるという判断ができる。このため、衝突箇所を所定の範囲内に特定することが可能となる。加えて、外乱負荷トルク値の符号が互いに異なる検出対象軸のうち、互いの距離が近いものを衝突判断軸として抽出した。検出対象軸同士の距離が近いということは、それらの間に存在するリンクの数が少ないことを意味する。従って、衝突箇所をより狭い範囲内に特定することができる。また、制御部26は、特定した衝突箇所をユーザに報知する報知制御を実行する。各軸単位での衝突判断を行う従来の方法では、衝突位置が分かり難かったが、本実施形態によれば、衝突位置を所定の範囲内に特定することが可能となり、その衝突の原因特定作業において非常に有益な情報(おおよその衝突位置)をユーザに提供することができる。
このように、上記リンク衝突検出制御によれば、検出対象軸間のリンクに対して生じた衝突に関しては、誤検出の発生を抑制しつつ、高精度に検出することができる。しかし、上記リンク衝突判断制御では、検出対象軸間のリンク以外の部分(例えば手先など)に対して生じた衝突を検出することができない。なぜなら、検出対象軸間のリンク以外の部分(手先)に対して衝突が生じた場合、検出対象軸に同じ方向の外乱負荷トルクが加わる(検出対象軸に加わる外乱負荷トルク値の符号が全て同じになる)からである。そこで、本実施形態の制御部26は、上記リンク衝突検出制御と、従来の各軸単位での衝突検出制御(各軸衝突検出制御)とを以下のように組み合わせた総合衝突検出制御を実行する。
図9は、制御部26による総合衝突検出制御の内容を示すフローチャートである。
まず、図9のステップS1では、ロボット2の全ての軸、すなわち第1軸J1〜第6軸J6のそれぞれに加わる外乱負荷トルク値を求める。このステップS1の後は、ステップS2のリンク衝突検出制御と、ステップS3の各軸衝突検出制御とを並行して行う。なお、これらステップS2、S3は、いずれかを先に実行するようにしてもよい。
ステップS2のリンク衝突検出制御は、前述したとおりの内容である。このリンク衝突検出制御において衝突が検出された場合(検出有り)にはステップS4に進む。また、リンク衝突検出制御において衝突が検出されなかった場合(検出無し)にはステップS1に戻る。一方、ステップS3の各軸衝突検出制御は、従来の制御方法であり、例えば、各軸の外乱負荷トルク値の絶対値としきい値Tth’とを比較し、少なくとも1つの外乱負荷トルク値がしきい値Tth’を超えた場合(検出有り)には、その外乱負荷トルク値に対応する軸において衝突があったと判断し、ステップS4に進む。また、いずれの外乱負荷トルク値もしきい値Tth’以下であった場合(検出無し)にはステップS1に戻る。
ステップS4のロボット停止制御では、ロボット2の動作を直ちに停止させ、ステップS5に進む。なお、これらステップS4、S5は、並行して行ってもよいし、ステップS5を先に行ってもよい。続くステップS5では、衝突が生じたことをユーザに報知する報知制御を行う。ステップS5は、ステップS2、S3における衝突検出状況によって以下のように制御内容が変化する。すなわち、ステップS2のリンク衝突検出制御において衝突が検出された場合には、前述したように衝突が発生したリンク名称をユーザに報知する。これに対し、ステップS2では衝突が検出されず、ステップS3においてのみ衝突が検出された場合には、リンク以外の部分で衝突が生じているため、その旨を報知する。この場合、ティーチングペンダント4の画面上に「×××軸において衝突発生!」といったメッセージが表示されることになる。なお、この×××には、各軸のうち最も高い外乱負荷トルク値を示した軸の名称を表示するとよい。
このように、本実施形態の総合衝突検出制御によれば、検出対象軸間のリンクに対する衝突については、リンク衝突検出制御によって誤検出を抑制し且つ高精度に検出し、また、上記リンク以外の部分に対する衝突については、各軸衝突検出制御によって従来と同等の検出精度でもって検出することができる。
また、本実施形態では、Y方向の軸心を持つ第2軸J2、第3軸J3および第5軸J5を検出対象軸とした。ロボット2においては、Y方向の軸心を持つ軸の数が3つであり、最も多い。このように検出対象軸の数を多くすることで、リンクに対する衝突について、その衝突箇所を細かく特定することが可能となる。
なお、本実施形態では、X方向の軸心を持つ第4軸J4および第6軸J6を検出対象軸とすることは次のような理由からできない。すなわち、第4軸J4および第6軸J6は、同一軸上に互いの軸心が存在している。言い換えると、第4軸J4と第6軸J6との間にはリンクが存在しないことになる。このため、衝突が生じた場合には、第4軸J4および第6軸J6には、互いに同じ方向に同じ大きさのトルクが加わる。同じ方向に同じ大きさのトルクが加わるということは、それらの差がゼロになるということである。従って、これら軸に加わる外乱負荷トルク値の差分の絶対値が必ずしきい値Tth以下となり、衝突を検出することができない。このような理由から、第4軸J4および第6軸J6を検出対象軸とすることはできない。また、Z方向の軸心を持つ軸は第1軸J1しかないため、それを検出対象軸とすることもできない。
(第2の実施形態)
以下、第1の実施形態に対し、総合衝突検出制御の内容を変更した第2の実施形態について図10を参照しながら説明する。
図10は、第1の実施形態における図9相当図である。図10に示す総合衝突検出制御は、図9に示した第1の実施形態の総合衝突検出制御に対し、ステップS3の各軸衝突検出制御に代えてステップS13の手先衝突検出制御を行う点と、ステップS5の報知制御に代えてステップS15の報知制御を行う点とが異なっている。
従来より、各軸の外乱負荷トルク値から、ヤコビ行列を用いてロボット2の手先に加わる外乱負荷トルク値を求めることが行われている(例えば、特開2003−245881号公報参照)。ステップS13では、上記手法を用いて手先に加わる外乱負荷トルク値を求め、その外乱負荷トルク値の絶対値としきい値Tth’とを比較し、外乱負荷トルク値がしきい値Tth’を超えた場合(検出有り)には、手先に対する衝突があったと判断し、ステップS4に進む。また、外乱負荷トルク値がしきい値Tth’以下であった場合(検出無し)にはステップS1に戻る。
ステップS15は、ステップS5に対し、ステップS13でのみ衝突が検出された場合の報知方法が異なる。ステップS13においてのみ衝突が検出された場合には、ロボット2の手先に対する衝突が生じているため、その旨を報知する。この場合、ティーチングペンダント4の画面上に「手先において衝突発生!」といったメッセージが表示されることになる。
このように、本実施形態の総合衝突検出制御によれば、検出対象軸間のリンクに対する衝突については、リンク衝突検出制御によって誤検出を抑制し且つ高精度に検出し、また、上記リンク以外の部分である手先に対する衝突については、手先衝突検出制御によって従来と同等の検出精度でもって検出することができる。
(第3の実施形態)
以下、上記各実施形態に対し、対象とするロボットを変更した第3の実施形態について図11を参照しながら説明する。
図11は、第1の実施形態における図1相当図である。この図11に示すロボットシステム61は、第1の実施形態におけるロボットシステム1に対し、6軸の垂直多関節型ロボットとして構成されたロボット2に代えて、4軸の水平多関節型ロボットとして構成されたロボット62を用いている点が異なっている。
この図11に示すように、ロボット62は、設置面に固定されるベース63と、このベース63上にZ方向の軸心を持つ第1軸J61を中心に回転可能に連結された第1のアーム64と、第1のアーム64の先端部上にZ方向の軸心を持つ第2軸J62を中心に回転可能に連結された第2のアーム65と、第2のアーム65の先端部に上下動可能(矢印A方向)で且つZ方向の軸心を持つ第3軸J63を中心に回転可能に設けられたシャフト66とから構成されている。シャフト66の先端部(下端部)には、ツールなどを取り付けるためのフランジ67が位置決めされて着脱可能に取り付けられるようになっている。
本実施形態では、第1のアーム64および第2のアーム65がリンクに相当する。また、第1軸J61、第2軸J62および第3軸J63を、ロボット62の上記リンクに対する衝突を検出するための検出対象軸としている。これら検出対象軸(J61、J62、J63)は、同一方向(Z方向)の軸心を持つとともに、互いの間にリンク(64、65)が存在している。
上記構成においても、上記各実施形態と同様のリンク衝突検出制御、各軸衝突検出制御、手先衝突検出制御およびこれらを含む総合衝突検出制御を行うことが可能である。従って、本実施形態の構成によっても、検出対象軸間のリンクに対する衝突については、誤検出を抑制し且つ高精度に検出し、また、上記リンク以外の部分に対する衝突については、各軸衝突検出制御または手先衝突検出制御によって従来と同等の検出精度でもって検出することができる。
(第4の実施形態)
以下、上記各実施形態に対し、リンク衝突制御の内容を変更した本発明の第4の実施形態について説明する。
上記各実施形態のリンク衝突検出制御では、検出対称軸に加わる外乱負荷トルクの値に基づいてリンクに対する衝突を検出していたが、本実施形態では、全ての軸(J1〜J6)に加わる外乱負荷トルクの値に基づいて以下のようにリンクに対する衝突を検出する点が異なっている。すなわち、制御部26は、各軸に加わる外乱負荷トルクをX、Y、Z方向の各成分に分割して考え、そのうちの所定方向成分(本実施形態ではY方向成分)を抽出し、抽出した所定方向成分としきい値とを比較することで衝突の検出を行う。
ベース座標を基準とした各軸の回転ベクトルをaとし、抽出する方向の回転ベクトルをbとし、各軸の外乱負荷トルクをτとすると、外乱負荷トルクの抽出方向成分Tは、下記(2)式により表される。ただし、*はベクトルの内積とする。
=τ*a*b …(2)
例えば、図1に示す6軸のロボット2の第1軸J1〜第6軸J6の回転ベクトルa〜aは、それぞれ下記(3)〜(8)式により表される。
=(0,0,1) …(3)
=(0,1,0) …(4)
=(0,1,0) …(5)
=(1,0,0) …(6)
=(0,1,0) …(7)
=(1,0,0) …(8)
また、抽出するY方向の回転ベクトルbは、下記(9)式により表される。
b=(0,1,0) …(9)
例えば、ロボット2の第1軸J1〜第6軸J6に加わる外乱負荷トルクτが、60、50、−40、30、20、10であるとすると、各軸に加わる外乱負荷トルクのY方向成分T〜Tは、下記(10)〜(11)式により表される。
=60*(0,0,1)*(0,1,0)=0 …(10)
=50*(0,1,0)*(0,1,0)=50 …(11)
=−40*(0,1,0)*(0,1,0)=−40 …(12)
=30*(1,0,0)*(0,1,0)=0 …(13)
=20*(0,1,0)*(0,1,0)=20 …(14)
=10*(1,0,0)*(0,1,0)=0 …(15)
上記(10)〜(15)式に示すとおり、抽出したY方向と同じ方向の軸心を持つ軸(J2、J3、J5)以外の軸(J1、J4、J6)のY方向成分T、T、Tは、いずれもゼロになる。そして、制御部26は、各軸(J1〜J6)の外乱負荷トルクのY方向成分T〜Tについて、全ての軸の組み合わせの差分の絶対値を求める。従って、6軸のロボット2の場合には、15(=6×5÷2)組の差分の絶対値を求めることになる。なお、本実施形態では、上記各実施形態と比べて差分の絶対値を求める数が増えることになるが、この演算は単純な差分計算であるため、それに係る演算時間の増加はほとんど問題とならないレベルである。
制御部26は、全ての軸の組み合わせの差分の絶対値のうち、最も大きい値を抽出する。この場合、第2軸J2と第3軸J3の組み合わせの値が90であり、最も大きい値となる。制御部26は、差分の絶対値のうち最も大きい値と、しきい値とを比較し、差分の絶対値がしきい値を超えている場合には、その差分の絶対値に対応する第2軸J2および第3軸J3間のリンク(下アーム7)に対する衝突が生じたと判断する。
なお、抽出した成分と同方向(Y方向)の軸心を持つ軸以外の上記外乱負荷トルクの所定方向成分は、上記(10)、(13)、(15)式に示すとおり、全てゼロになる。このため、差分の絶対値が大きくなる組み合わせは、抽出した成分と同方向の軸心を持つ軸(J2、J3、J5)同士の組み合わせとなる。すなわち、抽出した成分と同方向の軸心を持つ軸が、上記各実施形態における検出対象軸および衝突判断軸に相当することになる。言い換えれば、リンクに対する衝突を検出するための軸を、第2軸J2、第3軸J3おおよび第5軸J5に限定したことにもなる。
上記構成によれば、全ての軸の外乱負荷トルクの所定方向成分を抽出し、その抽出した成分の差分の絶対値を全軸について求める。そして、その差分の絶対値のうち最も大きい値がしきい値を超えた場合には、その差分の絶対値に対応する軸間のリンクに衝突が生じたと判断するようになっている。このように上記構成によっても、ロボット2の軸間に存在するリンクに対する衝突が検出されるので、第1〜第3の実施形態と同様の作用および効果が得られる。
さて、第1、第2の実施形態におけるロボット2では、各軸の回転方向(軸心の方向)が互いに直交していたため、Y方向の軸心を持つ検出対象軸の外乱負荷トルクを演算する際、他の軸(X方向の軸心を持つ軸、Z方向の軸心を持つ軸)の影響を受けることがなかった。また、第3の実施形態におけるロボット62では、全ての軸(直動軸は除く)の回転方向(軸心の方向)が一致していたため、検出対象軸の外乱負荷トルクを演算する際に他の方向の軸心を持つ軸(そもそも存在しない)の影響を受けることがなかった。
しかし、第1〜第3の実施形態のリンク衝突検出制御を用いた場合、各軸の回転方向が互いに直交していないロボットを対象として衝突検出を行うと、検出対象軸の外乱負荷トルクが他の軸の外乱負荷トルクの影響を受けて変化する可能性があった。この場合、検出対象軸の外乱負荷トルクの演算に誤差が生じてしまい、ひいては衝突の検出精度の低下を招く可能性があった。本実施形態のリンク衝突検出制御によれば、外乱負荷トルクの所定方向成分のみを抽出して、その抽出した値に基づいてリンクに対する衝突を検出するための演算を行うので、上記した演算誤差が生じることがない。このため、本実施形態によれば、各軸の回転方向が互いに直交していないロボットを対象とした場合であっても、リンクに対する衝突の検出精度を高めることができる。
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
トルク値推定部44は、ロボット2に所定の動作を行わせるためにモータMに発生させる必要があるトルクの値(推定トルク値)を、モータ制御に用いられる所定の指令値を用いて推定する構成であればよい。
検出対象軸に生じる外乱負荷トルク値のうち、互いに符号の異なる組み合わせが2つ以上存在する場合、制御部26は、互いの距離が最も遠いものを衝突判断軸として抽出してもよい。2つの検出対象軸の外乱負荷トルク値は、てこの原理に基づいて考えれば、これらの距離が遠くなるほど高くなる。従って、このような構成によれば、外乱負荷トルク値の差分の絶対値は最も高い値を示すことになり、衝突の検出感度が向上する。
上記各実施形態では、本発明を6軸の垂直多関節型のロボット2または4軸の水平多関節型ロボット62に適用した例を説明したが、本発明は、各軸をモータにより駆動する構成であって、互いに同一方向の軸芯を持つとともに互いの間にリンクが存在する軸を備えたロボット全般に適用可能である。
図面中、1、61はロボットシステム、2、62はロボット、7は下アーム(リンク)、8は第1の上アーム(リンク)、9は第2の上アーム(リンク)、24は電流検出部(電流検出手段)、26は制御部(駆動制御手段、衝突判断軸抽出手段、衝突判断手段)、44はトルク値推定部(トルク値推定手段)、45は発生トルク値演算部(トルク値演算手段)、46は外乱トルク値演算部(外乱演算手段)、64は第1のアーム(リンク)、65は第2のアーム(リンク)、J1〜J6、J61〜J63は軸、Mはモータを示す。

Claims (1)

  1. ロボットに設けられ、互いに同一方向の軸心を持つとともに互いの間にリンクが存在する検出対象軸を含む複数の軸と、
    前記複数の軸をそれぞれ駆動するための複数のモータと、
    前記モータに流れる電流を検出する電流検出手段と、
    外部から与えられる指令値に従って前記モータの駆動を制御する駆動制御手段と、
    前記指令値を用いて前記検出対象軸に生じる推定トルク値を推定するトルク値推定手段と、
    前記電流検出手段の検出値を用いて前記検出対象軸に生じる発生トルク値を演算するトルク値演算手段と、
    前記推定トルク値と前記発生トルク値との差分から外部より前記検出対象軸に加わる外乱負荷トルクの値を演算する外乱演算手段と、
    前記外乱負荷トルク値の符号が互いに異なる任意の2つの前記検出対象軸を衝突判断軸として抽出する衝突判断軸抽出手段と、
    前記衝突判断軸に対応した2つの外乱負荷トルク値の差分の絶対値を求め、その絶対値が所定のしきい値を超えた場合には当該衝突判断軸間に存在するリンクに対する衝突が発生していると判断する衝突判断手段と、
    を備え、
    前記衝突判断軸抽出手段は、前記外乱負荷トルク値の符号が互いに異なる任意の2つの前記検出対象軸のうち、互いの距離が最も遠いものを衝突判断軸として抽出することを特徴とするロボットシステム。
JP2013255939A 2013-12-11 2013-12-11 ロボットシステム Active JP5633623B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013255939A JP5633623B2 (ja) 2013-12-11 2013-12-11 ロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013255939A JP5633623B2 (ja) 2013-12-11 2013-12-11 ロボットシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010055814A Division JP5471636B2 (ja) 2010-03-12 2010-03-12 ロボットシステム

Publications (2)

Publication Number Publication Date
JP2014042984A JP2014042984A (ja) 2014-03-13
JP5633623B2 true JP5633623B2 (ja) 2014-12-03

Family

ID=50394634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013255939A Active JP5633623B2 (ja) 2013-12-11 2013-12-11 ロボットシステム

Country Status (1)

Country Link
JP (1) JP5633623B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6418782B2 (ja) * 2014-05-16 2018-11-07 キヤノン株式会社 ロボットシステムの制御方法、プログラム、記録媒体、ロボットシステム、及び診断装置
JP6677441B2 (ja) 2014-10-20 2020-04-08 株式会社デンソーウェーブ ロボット、ロボットの形状設計方法
US10730191B2 (en) 2015-10-30 2020-08-04 Kawasaki Jukogyo Kabushiki Kaisha Monitoring device of robot system
JP7015279B2 (ja) * 2019-07-26 2022-02-02 ファナック株式会社 人間協調型ロボット

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01210292A (ja) * 1988-02-19 1989-08-23 Toshiba Corp ロボットの環境との接触検出法
JP3327205B2 (ja) * 1998-03-30 2002-09-24 松下電器産業株式会社 ロボットの制御方法および装置
JP3459973B2 (ja) * 1999-10-22 2003-10-27 川崎重工業株式会社 駆動制御方法および駆動制御装置
JP4756618B2 (ja) * 2001-03-21 2011-08-24 株式会社ダイヘン 多関節ロボットにおける衝突検出・停止制御法
JP4635971B2 (ja) * 2006-06-27 2011-02-23 トヨタ自動車株式会社 外力検知方法、マニピュレータ制御方法およびマニピュレータ制御システム

Also Published As

Publication number Publication date
JP2014042984A (ja) 2014-03-13

Similar Documents

Publication Publication Date Title
JP5471636B2 (ja) ロボットシステム
CN108772838B (zh) 一种基于外力观测器的机械臂安全碰撞策略
JP6924146B2 (ja) ロボットシステムの監視装置
JP5633623B2 (ja) ロボットシステム
JP6706741B2 (ja) ロボットの衝突検出方法
US8583285B2 (en) Method and device for stopping a manipulator
JP4294646B2 (ja) ロボットアームの制御方法および制御装置
JP5927440B2 (ja) ロボットの異常表示方法
CN102426391A (zh) 一种判断机器人运行是否发生碰撞的方法
KR20170102485A (ko) 로봇 시스템
JP2013000833A (ja) ロボットの故障検出方法、ロボット
CN110740840B (zh) 确定铰接式工业机器人的关节中的关节转矩的方法
US11133769B2 (en) Motor control device
JP2013169609A (ja) ロボットの衝突検出方法
JP5593968B2 (ja) ロボットシステム
JP2017077600A (ja) マニピュレータ装置
EP3327927B1 (en) Motor driving device
JP2015180114A (ja) 産業用機械の異常判定方法
Kawamura et al. Encoderless robot motion control using vision sensor and back electromotive force
JP4577607B2 (ja) ロボットの制御装置およびロボットシステム
JP2006116635A5 (ja)
KR102515961B1 (ko) 모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇
JP2011062794A (ja) ロボットシステム
JP4286607B2 (ja) 電動機のモニター装置
JP2022147213A (ja) モータの異常診断装置、異常診断方法及び異常診断プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140911

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: 20140916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140929

R150 Certificate of patent or registration of utility model

Ref document number: 5633623

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250