JP7113847B2 - 産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法 - Google Patents

産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法 Download PDF

Info

Publication number
JP7113847B2
JP7113847B2 JP2019555922A JP2019555922A JP7113847B2 JP 7113847 B2 JP7113847 B2 JP 7113847B2 JP 2019555922 A JP2019555922 A JP 2019555922A JP 2019555922 A JP2019555922 A JP 2019555922A JP 7113847 B2 JP7113847 B2 JP 7113847B2
Authority
JP
Japan
Prior art keywords
robot
operator
path
collision
along
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
JP2019555922A
Other languages
English (en)
Other versions
JP2020516475A (ja
JP2020516475A5 (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.)
Battelle Memorial Institute Inc
Original Assignee
Battelle Memorial Institute 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 Battelle Memorial Institute Inc filed Critical Battelle Memorial Institute Inc
Publication of JP2020516475A publication Critical patent/JP2020516475A/ja
Publication of JP2020516475A5 publication Critical patent/JP2020516475A5/ja
Application granted granted Critical
Publication of JP7113847B2 publication Critical patent/JP7113847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details, by setting parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35471Select between run and step command mode, step forward, reverse
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39433Enter a move file, robot will follow a series of instructions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39434Each function key of pc corresponds to a motor, jog each motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39443Portable, adapted to handpalm, with joystick, function keys, display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39445Select between jog modes, user, robot coordinates, tool, system feed, joint feed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49158On near collision reduce speed

Description

関連出願の相互参照
[0001]本出願は、2017年10月20日に出願された米国特許出願第15/789,032号、および2017年4月13日に出願された、「Teach Mode Collision Avoidance System and Method for Industrial Robotic Manipulators(産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法)」という名称の米国仮出願第62/485,159号の利益を主張するものである。この出願のすべての内容は、参照により本明細書に組み込まれる。
[0002]本発明は産業ロボットの分野に関し、より詳細には製造環境で動作するロボットのためのコントローラであって、ロボットがその作業空間における周囲の物体と衝突するのを防止するコントローラに関する。
[0003]ロボットは、典型的な製造環境において、もはや珍しい存在ではない。産業ロボットは、製品を製造するために多くの産業で使用される。例えば航空宇宙産業では、ロボットは、翼アセンブリおよび胴体などの構成要素に取り組むべく使用されている。現在では、様々なエンドエフェクタおよび工具を備えたロボットが、製造環境の周囲でワークピースをかなりの速度で移動させている。同じ製造環境において使用されるロボットが多くなればなるほど、ロボットまたはその工具あるいはエンドエフェクタと、ロボットの作業空間における他の物体、さらには同じロボットの他の部分との間の衝突の可能性が高くなる。いかなる衝突も、衝突に関わったロボットおよび他の物体に対する重大な損傷の原因になり、そのロボットに関連するすべての製造プロセスにおける望ましくない多額の修理費およびダウンタイムをもたらし得る。
[0004]ロボットが新しい動作のためにプログラムされ、また、ロボットが最初に作業空間でオンラインにされると、ロボットが既に動作中である場合より高い衝突の危険が存在する。ロボットは、最初は、ロボットおよび作業空間のコンピュータ支援設計(CAD)モデルを使用してオフラインでプログラムされる。ロボットの工具の工具中心点(TCP)の経路は、ロボットが製造操作を遂行し得るようにプログラムされる。しかしながら作業空間の模擬CADモデルは、実際の作業空間と厳密に同じではないことがあり得る。この問題に対処するために、ほとんどの産業ロボットマニピュレータは、手動モードすなわち「教示」モードを提供し、オペレータは、教示ペンダントまたは同様の遠隔制御デバイスを使用してロボットを制御することができる。教示モード動作は、「タッチアップ」、すなわちオフラインで作成されたロボットプログラムを調整して、オフラインプログラミングソフトウェアおよび完成作業空間によって使用される模擬CADモデル間の揺れを考慮するためにしばしば使用される。教示モード動作は、新しいロボット作業空間のコミッショニング中に頻繁に使用され、人間のオペレータがロボットを直接制御するため、作業空間におけるロボット、ツーリング、ワークピースおよび他の構成要素間の衝突の著しく高い危険をもたらす。航空宇宙などのいくつかの産業では、再加工には費用が掛かり、また、製造スケジュールが厳しいため、ワークピースの価値が高いと、衝突の危険が許容不可能に高くなる。
[0005]衝突による損傷を防止するために、いくつかのロボット製造者は、ロボットの関節軸の各々に引き出される電流を監視して、衝突の可能性があることを示す規定量を超える電流を各関節アクチュエータが引き出すことを検出する衝突検出方法を提供する。しかしながら正規の加速および減速も同じくより大きい電流を引き出すことになり、通常、オペレータが手回しで電流監視感度を調整しなければならないため、この手法は完全には信頼することができない。ロボット製造者によって提供される別のオプションは、図1に示されるように、ゾーンに基づく監視特徴10であり、ユーザは、単純な多角形のキープ-インおよびキープ-アウト領域20を画定することができる。動作中、ロボットコントローラ30は、教示モードにある間、および通常の動作中の両方で、ロボット50が作業表面60に対して移動する際に、ロボット50の様々な要素40を監視し、ロボットの動きがキープ-アウト領域20に入るか、あるいはキープ-イン領域(図示せず)から離れると、直ちにロボット50を停止させる。しかしながらこのゾーンに基づく手法は、この手法によって監視することができる環境のタイプが限定される。航空宇宙産業においては、翼アセンブリまたは胴体などの湾曲した大きい構成要素が一般的であり、それは、単純なゾーンに基づく手法は、教示モード動作の間、ロボットの衝突を回避するためには適切ではないことを意味する。また、多くの航空機は、入口ダクトのような特徴を有し、ロボットエンドエフェクタは、これらのダクトの内側での操作(例えばコーティングまたはデコーティング操作)のために使用され得る。画定され得るゾーンの数に対する実際的な制限が存在し、また、各ゾーンが単純な凸状多面体であり、孔のような複雑性をサポートしないため(すなわちトーラスはオプションではない)、このような領域をゾーンに基づく手法で保護することはほとんど不可能であろう。センサに基づく他の手法は、ロボットに接触センサを設けなければならないことがあり、これは、ロボットのすべての部分を保護するには費用禁止的であり得る。3Dレーザスキャナのような非接触センサを使用してロボットおよびその環境が走査され得るが、幾何形状体の部分がセンサから隠される場合に生じる「陰」のため、常にロボットのすべての部分を見ることは不可能であり得る。
[0006]当分野においては、教示モードの間、複雑な形状の周囲の物体とのロボットの衝突を防止する必要性が存在する。
[0007]センサに基づく手法およびゾーンに基づく手法の両方の限界に対処するために、教示ペンダントコマンド、ロボットの現在の状態、およびロボットの過去の位置の最近の履歴に基づいてロボットの動きを予測することを含む新しい手法が開発された。この手法では、教示モード動作の間、ロボットの動きを監視し、かつ、衝突を予測して防止するために、パーソナルコンピュータがロボットコントローラに接続される。ロボットの実際の作業空間の正確な表現である環境の模擬表現が使用される。この模擬表現は、三次元(3D)CADモデル、3D走査データまたはその両方の組合せからのものであってもよい。環境の模擬表現が使用され、オペレータが教示ペンダントを使用してロボットを制御する間、衝突が差し迫っているかどうかを決定するために、ロボットの現在の位置と予測位置の間の衝突チェックが実施される。ロボットシステムは、教示モードの間、衝突を回避することができる。教示モードは、好ましくは、ジョグモード、ステップモードおよびランモードを含むいくつかのサブモードを有し、また、システムは、3つのすべてのモードで動作する。
[0008]ジョグモードでは、オペレータは、教示ペンダント上のボタンを押してロボットの各関節を移動させることができる。別法として、オペレータは、ボタンを使用して工具を作業空間の周囲に移動させることも可能である。いずれの場合においても、ソフトウェアは、ボタンの押下を「聴いて」、ロボットが数ミリ秒(この時間期間の長さは設定可能である)の時間スパンにわたってどこへ移動するかを予測し、かつ、ロボットの予測経路上で衝突チェックを実施する。衝突が予測されると、ロボットのオーバライド速度がオペレータによって設定された望ましい速度から減速される。ロボットがそのまま障害物にさらに接近すると、ロボットのオーバライド速度は完全停止に至るまで減速し続ける。しかしながらオペレータがロボットを衝突することにはならない任意の方向へ移動させる場合(例えば壁が障害物である場合、壁に沿って、あるいは壁から離れる方向に)、ロボットの速度が加速され、指示された方向への動きを許容する。
[0009]通常、ステップモードでは、オペレータは、「ステップ」ボタンを押してロボットをステップモードにすることにより、教示ペンダントプログラムを介してステップすることができ、次に、「前進」または「後退」キーによって、所望の方向に一度にプログラム中の1ステップずつ、または命令行ずつ実行するようにロボットに命令する。このモードでは、ソフトウェアは、ロボットの現在の状態およびロボットの最近の履歴を使用してロボットの動きを予測する。教示ペンダントプログラムにはロボットの未来の行動に関する完全な情報が含まれているが、この情報は必ずしもロボット製造者によってアクセスが可能にはなされていない。例えばロボットが過去の数ミリ秒(この時間期間の長さは設定可能である)にわたって円弧を描いて移動した場合、ソフトウェアは、動きはこの円形経路に沿って継続することになることを予測することになる。この経路は、次に、数秒間(これも設定可能である)にわたって予想され、衝突が事前チェックされることになる。予測された衝突は、すべてロボットのオーバライド速度を減速させることになる。しかしながらロボットの動きが予測経路から逸脱し始めると、ソフトウェアは、その予測に対する「確信を失う」ことになり、また、ロボットの任意の部分と衝突幾何形状体の間の最も近い距離に頼り始めることになり、衝突幾何形状体は、環境またはロボット自体の別の部分であってもよい(例えばロボットは、ロボットが自身のベース中に保持している工具にぶつかることがあり得る)。衝突までの最も近い距離が所定の第1の閾値(設定可能)の真下まで短くなると、ロボットのオーバライド速度がオペレータによって設定された所望の速度から減速され、ロボットが所定の第2のもっと小さい閾値に到達すると、最終的にはロボットを停止させる。より短い閾値距離に到達する前にロボットが停止されると、オペレータは、シフトキーおよび/またはデッドマンを解放することによってプログラムを停止する。オペレータは、次に、ジョグキーを使用して手動で後退させるか、あるいは別のステップモードコマンドを恐らくは逆に実行することができる。ロボットがより短い距離閾値よりもさらに接近すると、ユーザは、シフトキーおよびデッドマンを同じく保持している間、教示ペンダントGUI上の仮想ボタンを押すことによってオーバライドモードを起動しなければならない。好ましくはパスワード保護が使用される。これは、オーバライドモードに入るようにソフトウェアに命令する。このモードでは、ロボットの最高速度が著しく減速され、オペレータによる衝突状態からの極めて低速での後退を許容する。ロボットが衝突状態から抜け出ると、教示ペンダントGUIを使用してオーバライドモードが不能にされ、正規の動作を再開することができる。
[0010]ランモードでは、オペレータは、ステップモードと同様の教示ペンダントプログラムを実行することができるが、ロボットは、ユーザが教示ペンダントキーを解放することによって実行を停止するまで連続的に命令行を実行する。さもなければ予測および衝突回避は、上で説明したステップモードと全く同じように働く。
[0011]より詳細には、本発明はロボットシステムを対象とし、ロボットシステムは、好ましくは、物体を含む環境中の実際の経路に沿って移動させるためのマニピュレータアームを含むロボットを備え、物体およびロボットは衝突幾何形状体を構成する。ロボットは、好ましくは、ベースと、工具を保持するように構成されたマニピュレータアームとを有する。ベースは、統合軸と呼ばれることもある、マニピュレータアームを環境内の異なる位置に配置するように構成される回転または並進関節などの1つまたは複数の関節を備えることができる。マニピュレータアームは、工具を経路に沿った所望の位置に置くことができる少なくとも1つの関節を有する。ロボットは、教示ペンダント中に入力されるオペレータ入力を受け取るように構成されたオペレータインタフェースを含む教示ペンダントを備える。インタフェースは、キーが付いたキーパッドを有する。オペレータは、ロボットのマニピュレータアームの動きを実際の経路に沿って直接制御することができ、あるいはキーを使用して命令を入力することによって任意の追加統合軸を制御することができる。
[0012]ロボットシステムは、教示モードにある間、衝突を回避することができる。教示モードは、好ましくは、ジョグモード、ステップモードおよびランモードを含むいくつかのサブモードを有し、また、システムは、3つのすべてのモードで動作する。
[0013]一実施形態では、コントローラは、オペレータがジョグモードでキーを使用してロボットを直接制御する間、衝突が防止されるよう、ロボットの何らかの構成要素が衝突幾何形状体に接近するとロボットの速度を減速させるように構成される。同様に、コントローラは、オペレータが直交モードでロボットを直接制御する場合、ロボットの動きを予測するように構成され、キーは、直交空間における工具中心点を制御するように構成される。
[0014]別の実施形態では、ロボットは、プログラムステップおよび加速パラメータを有するプログラムに従って移動するように構成される。コントローラは、さらに、現在のプログラムステップの現在の目的位置、ロボットの速度および加速パラメータに基づいて、予測経路に沿ったロボットの動きを予測するとともに、衝突が防止されるよう、ロボットが予測経路に沿って衝突幾何形状体に接近するとロボットの速度を減速させるように構成される。
[0015]別の実施形態では、教示ペンダントはキーを有し、また、コントローラは、オペレータがキーを押している限り、プログラムのステップを実行し続けるように構成される。オペレータがキーを押している間、ロボットと、予測経路に沿った衝突の最も近いポイントとの間の距離が計算され、また、計算された距離に比例してロボットの速度が減速される。
[0016]動作中、マニピュレータアームを有するロボットと、追加関節を備えることができるベースと、オペレータインタフェースを有する教示ペンダントと、コンピュータおよび関連するハードウェアおよびソフトウェアを有する、ロボットおよび環境の仮想表現を含むロボットコントローラとを含むロボットシステムは、衝突を回避するための以下の方法を使用する。衝突幾何形状体を構成する物体を含む環境中の実際の経路に沿ってマニピュレータアームが移動される。オペレータ入力が教示ペンダント中に入力され、それによりオペレータは、ロボットの動きを実際の経路に沿って直接制御することができる。ロボットの動きの最近の履歴が記録される。教示ペンダント中に入力された入力、およびロボットの動きの最近の履歴に基づいてロボットの予測経路が計算される。オペレータが教示ペンダントを使用して手動でロボットを制御する間、ロボットの構成要素と衝突幾何形状体の間の実時間衝突チェックが予測経路を使用して実施される。
[0017]また、方法は、好ましくは、オペレータがジョグモードでキーを使用してロボットを直接制御する間、ロボットが環境中の物体に接近するとロボットの速度を減速させ、衝突を防止するステップを同じく含む。ロボットは、プログラムステップおよび加速パラメータを有するプログラムに従って移動され、また、ロボットの動きは、現在のプログラムステップの現在の目的位置、ロボットの速度および加速パラメータに基づいて予測される。衝突が防止されるよう、ロボットの何らかの構成要素が環境中の物体に接近するとロボットの速度が減速される。
[0018]別の実施形態では、方法は、プログラムステップを有するプログラムに従ってロボットを移動させるステップと、ロボットがプログラムの各ステップを実行する際にロボットの動きを予測するステップとを含む。ロボットの工具中心点の可能性ある経路が計算され、また、必要なロボット位置が実際の位置の履歴に対して比較される。経路がロボットの実際の動きと十分に類似していることが見出されると、その経路に基づいて、ロボットの動きが未来に向けて予想される。衝突が防止されるよう、ロボットの何らかの構成要素が環境中の物体に接近することが予測されるとロボットの速度が減速される。ロボットと、ロボットと衝突幾何形状体の間の衝突の最も近いポイントとの間の距離が計算され、また、計算された距離に比例してロボットの速度が減速される。
[0019]本発明の追加目的、特徴および利点は、同様の参照数表示はいくつかの図面における対応する部分を表す図面に関連してなされる、好ましい実施形態についての以下の詳細な説明からより容易に明らかになるであろう。
[0020]従来技術による、ロボットおよびロボットコントローラを含むロボットシステムの略図である。 [0021]本発明の好ましい実施形態による、ロボットを含むロボットシステムの略図である。 [0022]図2のロボットシステムからの教示ペンダントの大写し図である。 [0023]本発明によるロボットの一部を示す図である。 [0024]本発明による、ワークピースの近傍のロボットを示す図である。 [0025]本発明の好ましい実施形態による、ロボットの一部の動きを示す図である。 [0026]本発明の好ましい実施形態によるフローチャートである。 本発明の好ましい実施形態によるフローチャートである。
[0027]本明細書においては本発明の詳細な実施形態が開示される。しかしながら開示される実施形態は、様々な代替形態で具体化され得る本発明の例示的なものにすぎないことを理解されたい。図は必ずしもスケール通りではなく、いくつかの特徴は、特定の構成要素の詳細を示すために誇張され、あるいは最小化されていることがあり得る。したがって本明細書において開示される特定の構造的および機能的詳細は、本開示を制限するものとして解釈してはならず、当業者に本発明を使用するべく教示するための単なる体表的な土台として解釈されるべきである。図についての上記説明は、図面をより完全に理解するために提供されたものである。しかしながら実施形態は、示される厳密な構造および構成に限定されないことを理解されたい。以下では様々な実施形態の設計および使用が詳細に考察されるが、本発明は、広範囲にわたる様々な文脈で具体化され得る多くの発明概念を提供することを認識されたい。本明細書において考察される特定の態様および実施形態は、本発明を構築し、かつ、使用する方法の単なる例証にすぎず、本発明の範囲を制限するものではない。本開示における本発明の可能な実施形態および文脈のすべてを含むことは不可能であるか、あるいは非実際的であろう。本開示を読めば、当業者には本発明の多くの代替実施形態が明らかであろう。
[0028]最初に図2を参照すると、本発明の好ましい実施形態によるロボットシステム100全体が示される。システム100は、ロボット110、ロボットコントローラ120、オペレータ135によって使用され得る教示ペンダント130、およびパーソナルコンピュータ140の4つの主要構成要素を含む。ロボット110は、作業空間すなわち作業環境151における、工場の床などの表面155に取り付けられたベース150を含む。示されていないが、ベースが1つまたは複数の並進または回転ステージを備える他の構成も可能である。下部サポート156は、矢印157によって示されるように、下部サポート156がベース150に対して第1の関節158の周りを回転することができるようにベース150の上に取り付けられる。上部サポート160は、矢印163によって示されるように、下部サポート156に対して第2の関節164の周りを回転するように取り付けられる。上部サポート160は、下部サポート156を前腕リンク165に接続する。前腕リンク165は、矢印167によって示されるように、第3の関節166の周りを回転するよう、ピボット可能に取り付けられ、また、アームサポート168に対して伸びるか、または後退するように同じく設計される。したがってロボット110は6自由度で移動することができ、また、ロボット110は、前腕165の手関節で一致する3つの回転関節を同じく含むが、このような関節は図2では明確に見ることはできない。この構造によれば、エンドエフェクタまたは工具170は、アクチュエータ172などの様々なアクチュエータによって任意の所望の位置に置かれ得る。上記に基づいて、ロボット110は、複数の構成要素、例えばベース150、前腕165および工具170を含むことを理解されたい。工具170などのロボット110の構成要素は、物体177を含む環境151中の実際の経路175に沿って様々な所望の位置181、182、183、184、185および186へ移動される。ロボット110および物体177は衝突幾何形状体を構成する。ロボットコントローラ120はコンピュータを含むことができ、あるいは関連するハードウェアおよびソフトウェア(個別にラベルが振られていない)を有するコンピュータ140に接続され得る。好ましくはソフトウェアはコンピュータ140上で走り、ロボット110の関節位置および関節速度を監視する。本発明に従って修正され得る、商用的に入手することができるソフトウェアプログラムは、BattelleのPathPlan(商標)ソフトウェアパッケージである。
[0029]図3に最も良好に示されるように、教示ペンダント130はオペレータインタフェース200を含み、いくつかのキーは、前進キー210および後退キー220を含む。教示モード動作の間、ジョグモード、ステップモードおよびランモードなどのロボット110を制御するいくつかのモードが提供される。ジョグモードでは、ロボット110は、オペレータインタフェース200中の教示ペンダントキーを使用して手動で動き回され得る。個別の関節158、164、166(ならびにアーム165の手関節で一致する関節)は関節モード制御で移動され、あるいはロボットの工具中心点170は、直交モード制御で直交空間中を移動され得る。他の教示ペンダントモードを同じく使用して、ステップモードおよびランモードを含む教示ペンダント130を使用してロボット110が制御され得る。ステップモードでは、オペレータ135は、教示ペンダント130上の前進キー210または後退キー220を押すことによって所望の方向にロボットプログラムの1行を実行することができる。ランモードでは、前進キーまたは後退キー210、220を押さえつけることにより、キー210、220が解放されるまで複数の命令行が連続的に実行される。
[0030]ジョグモードでは、教示ペンダントキーがオペレータ135によって押されることを制御アルゴリズムが監視し、かつ、それに応じてロボットの動きを予測する。関節モードでは、アルゴリズムは、ロボット110の個別のリンクがどこを移動することになるかを予測するために、指定された軸の命令された関節速度を統合することによってロボットの動きを予想する。図4は、ロボットアームの仮想表現を示したものである。ベース300はアーム310をピボットで支持し、アーム310はエンドエフェクタ320を支持する。エンドエフェクタ320の位置および動きは、部分的にはアーム310およびエンドエフェクタ320の長さ、およびそれらの間に形成される角度に基づいて予測され得る(順運動学)。
[0031]直交モードでは、アルゴリズムは、図5に示されるように、直交空間におけるロボットの動きの経路を予想する。図5は、ワークピース450の近傍にアーム410などのマニピュレータアームを有するロボット400の仮想表現を示したものである。エンドエフェクタ470は、初期の位置に実線で示される。コントローラ120は、さらに、オペレータ135がジョグモードでオペレータインタフェース200のキーを使用してロボット400を直接制御する間、衝突が防止されるよう、アーム410が衝突幾何形状体(すなわちワークピース450)に接近するとアーム410の速度を減速させるように構成される。ロボット400がロボットのy-軸に沿って直線で移動するように命令されると(例えば教示ペンダント130上の+Yキーを使用して)、アルゴリズムはこの経路を計算し、かつ、それを数秒の未来に向けて予想する。矢印480によって示されるこの予想された経路に沿ったロボットの位置がワークピース450または別の障害物などの何かと衝突する場合、ロボット400のレンダリングがコンピュータ140上に提示されて衝突の可能性を警告し、また、アルゴリズムは、ある範囲のオーバライド速度を介してロボット400の速度の所望の速度からの減速を開始する。ロボット400がワークピース450に接近し続けると、ロボット400が停止するまでオーバライド速度が減速される。予測された衝突を含まない動き(ワークピースに接近し得るが、ワークピースには向かわない、例えば直線の端に沿った動きを含む)は、アルゴリズムにロボット400の速度を加速して所望の値に戻させることになる。例えばワークピース450から遠ざかるロボット400の移動は所望の速度で実施されることになり、一方、ワークピース450に向かうロボット400の移動はオーバライド速度で実施されることになる。
[0032]図2および図6を参照すると、コントローラ120は、実際の経路650に沿った工具170の動き、およびロボット110の関連する位置の最近の履歴を記録し、ペンダント130中に入力された入力および工具170の動きの最近の履歴に基づいて、工具170のための予測経路660を仮想表現で展開し、また、オペレータ135が教示ペンダント130を使用してロボット110を手動で制御する間、予測経路660と衝突幾何形状体の間の実時間衝突チェックを実施するように構成される。ステップモードでは、オペレータ135は、各ステップまたはプログラム行を教示ペンダントプログラムから逐次実行し、各ポイント611、612におけるロボットの位置をチェックすることができる。このモードの間、教示ペンダントプログラムコマンドへのアクセスが不可能である場合、図6に示されるように、ロボットの動きの最近の履歴を使用し、かつ、その履歴を予測された動きに対して比較し、それによりアルゴリズムの予測に対する確信レベルを決定する経路予測手法が使用される。例えば610における教示ペンダントプログラムにおいて、初期時間tに等しい時間における直近のプログラムステップNで開始し、アルゴリズムは、ロボットの工具中心位置が2つのステップ611および612によって実際の経路650に沿って、670で示される、雑音をフィルタ除去するための各ステップ間の少なくともδ距離だけ移動されるまで待機する。アルゴリズムが3つのステップのための十分なデータを有すると、アルゴリズムは、工具中心点サンプルを当てはめるために最適適合円弧および最適適合直線線分を計算する。アルゴリズムは、次に、各サンプルポイントで逆運動学を実施し、計算された工具中心点位置を達成するために必要なロボット110の関節角度θを決定する。初期関節角度θはtにおいて知られているため、無矛盾逆運動解のみがtおよびtに対して選択される(例えば肘がフリップされる代替構成は考察から除外され得る)。次にロボット位置の履歴が計算された位置に対して比較され、類似性測度が決定される。とりわけ実際のロボットデータと計算されたロボットデータの間に異なる数のサンプルが存在する場合、速度が変化し得る2つの一時的シーケンスの間の類似性を測定するために広く使用されている動的時間伸縮法などの方法を同じく使用してロボット位置の履歴が解析され得る。2つのデータストリームが十分に類似している場合、選択された経路を使用して、数秒だけ未来のロボットの動きが予測され、また、衝突がチェックされる。衝突が予測される場合、ロボットの速度が所望の速度からオーバライド速度へ、あるいはある範囲のオーバライド速度を介して減速される。図6では、例えば円形経路660は、線形経路665と比較すると最も良好にデータと適合するが、実際のロボット位置履歴が計算された逆運動学解と十分に類似している場合、アルゴリズムはこの経路のみを選択することになる。これが真である場合、アルゴリズムは、円形経路660が真の経路である高い確信を有する。
[0033]アルゴリズムが十分なデータサンプルを有するまで、あるいはアルゴリズムがロボットの経路の確信のある予測に到達し得ない場合(例えば工具中心位置経路が線形予想経路665または円形予想経路660のいずれとも一致しない関節移動をロボットが実行している場合)、ロボット110と衝突幾何形状体(ロボット110自体を含む)の間の最も近い距離を使用してロボットの速度が加減される。ロボット110が予め規定された閾値より近い場合、速度はゼロに向かって減速されることになる。ロボット110が第2のもっと小さい閾値より近くに接近すると、速度は、衝突の危険を除去するためにゼロに設定されるか、あるいは十分にゼロの近く(例えばオペレータにとってはデッドホールトのように見えるか、あるいは感じられる0.01%)に設定されることになる。ランモードでは、ロボットが動作している間、必ずしも十分なデータがロボット製造者によって明らかにされないため、経路予測は困難である。この理由により、アルゴリズムは、最も近い距離を利用して、ロボット110がその環境または自身と衝突するまでの近さの程度を追跡し、ステップモードおよびジョグモードのようにロボットのオーバライド速度を加減する。
[0034]図7Aおよび図7Bは、衝突回避アルゴリズム700のためのフローチャートを示したものである。アルゴリズム700はループで動作し、ロボット状態データ(関節位置および速度、ボタン押下などの制御フラグ、プログラム実行フラグ、等々)が各サーボ時間ステップでロボットコントローラ120から取得される。フローチャート全体は、ループの1つの対話中に取られる行動を記述し、ステップ702で始まる。ロボット状態データが704で取得されると、ソフトウェアアルゴリズム700は、3D CADおよび/または3D走査データから生成された模擬環境に対してロボット110をチェックする。衝突が予測されると、アルゴリズムは、図7Bのフローチャートの続きに示されるように、ステップ796でオーバライド速度Sを0にクランプすることによってロボット110を停止させる。衝突が予測されない場合、アルゴリズム700は、712で、コントローラ120からの論理フラグを使用して、オペレータ135が教示ペンダント130上でプログラムを走らせているかどうかを決定し、これは、ステップモードまたはランモードのいずれかを示すことになる。プログラムを走らせていない場合、オペレータ135はジョグモードを使用していることになり、その場合、アルゴリズム700は、教示ペンダントジョグボタン(例えばJ1+、J1-、等々であって、J1はロボットの第1の関節、すなわちベース、関節である)が押されているかどうかを決定する。714でどのキーも押されていない場合、ロボット110は、オーバライド速度を0にクランプすることによって停止状態で維持される(図7Bの796における経路C)。ジョグボタンが押されている場合、アルゴリズム700は、716で、コントローラ120からの関連する論理フラグを調べることにより、関節モードが使用されているかどうかを決定する。間接モードでは、718で、コントローラデータから関節速度が測定される。直交モードでは、工具中心点が、オペレータ135によって、オペレータインタフェース200のキーを使用して直交空間中で直線的に移動される。キー押下は方向に変換され、次に逆運動学が実施され、予想されたロボット位置720を決定するために使用され得る計算された関節速度を決定する。コントローラ120は、オペレータ135が直交モードでロボット110を直接制御する際に、アームまたは工具中心点の動きを予測するように構成される。関節モードおよび直交モードのいずれにおいても、ロボットの位置は、720で、計算または測定された関節速度に基づいて、未来に向けて予想され、また、725でアルゴリズムの次の部分に引き渡される(図7Bに示される)。
[0035]図7Aに示される他の主要な経路は、ステップモードおよびランモードのためのものである。ロボット110は、プログラムステップおよび加速パラメータを有するプログラムに従って工具170を移動させるように構成され、コントローラ120は、現在のプログラムステップの現在の目的位置、工具170の速度および加速パラメータに基づいて、予測経路660に沿った工具170の動きを予測するように構成される。コントローラ120は、さらに、衝突が防止されるよう、ロボット110の何らかの構成要素が予測経路660に沿って衝突幾何形状体に接近すると工具170の速度を減速させるように構成される。プログラムが走っている場合、アルゴリズム700は、730で、動きを計画するための十分なデータがロボットコントローラ120から入手することができるかどうかを決定する。これは、現在のプログラムステップ、ロボット110の現在の目的位置、加速および減速パラメータ、等々を含むことができる。この情報が入手可能である場合、ロボットの動きの正確な予測が可能であり、また、720でロボット位置が未来に向けて予想され、また、図7Bに725で示されるように、アルゴリズムの経路Aの部分に引き渡される。730でこのデータを入手できない場合、これはより一般的な場合であり、アルゴリズム700は、732で、ステップモードまたはランモードのどのモードがアクティブであるかを決定する。ランモードがアクティブである場合、アルゴリズム700は755へ移動し、図7Bの経路Bに示されるステップ742で、ロボット110、環境151および自身の間の衝突までの計算された最短距離の使用に頼る。ステップ742で最短距離が計算されると、744で、最短距離が構成閾値未満である場合、単調減少関数に基づいてクランピング係数が低減される。しかしながら732でステップモードがアクティブである場合、アルゴリズム700は、734で制御フラグに基づいて、関節モードがアクティブであるか、あるいは直交モードがアクティブであるかどうかを決定する。関節モードがアクティブである場合、明確に画定された明白な経路が直交空間に存在しないことになるため、アルゴリズム700は、755で最短距離手法に頼る。しかしながら734で直交モードがアクティブである場合、736でロボットの現在の状態が記録され、また、アルゴリズム700は、次に738で、ロボットの動きを予測するための十分なサンプルが記録されたかどうかを決定する。既に考察したように、線650または円弧665の予測には、通常、高品質推定のための最少数のサンプルが必要であるが、実際の数は、ロボット110に利用することができる動きオプション、ロボットの制御アルゴリズム700およびサンプル中の雑音の量によって決まる。十分なサンプルを入手することができない場合、アルゴリズム700は、755で最短距離手法に頼る。十分なサンプルが存在する場合、アルゴリズム700は、740で、様々な動きオプション(例えば直線、円、等々)をサンプルに最も良好に当てはめ、これらのサンプルを達成するために、既知の開始状態に基づいて必要な逆運動解を計算し、また、逆運動解の各セットをロボット関節位置の実際の履歴に対して比較する。742で、計算された逆運動解の1つのセットがロボット位置の実際の履歴に十分に類似している場合、アルゴリズム700は、ロボット110が関連する経路を実行しているであろうことの高い確信を有する。次に725で、予想された逆運動解が図7Bの経路Aに引き渡され、上で考察したジョグモードと同様、特異性および衝突がチェックされる。計算された経路がロボット位置の実際の履歴に十分に類似していない場合、アルゴリズム700は、図7Bの経路Bで説明される最短距離手法に頼る。アルゴリズム700のすべての経路が完了すると、実行は最初の702に戻り、コントローラ120から新しいデータが取得される。
[0036]通常、図7Bの経路A、BおよびCでは、所望のオーバライド速度を安全な値にクランプするために使用されるクランピング係数が計算される。経路Aでは、クランピング係数は、760で100%に設定され、次に764で、予想された位置の特異性がチェックされる。ロボットコントローラ120は、各ロボット特異性を別様に処理することができ、また、何が起こるかを決定するには、一般的にはコントローラ120からの情報が不十分であるため、ロボットの作業空間151におけるこれらの位置では、ロボットの動きはその予測がより困難であり、したがって特異性は重要である。さらに、特異性の周囲ではロボットの関節は極めて速やかに移動することができ、衝突の防止をますます困難にする。これらの危険を軽減するために、ロボットの関節が過剰に速く移動するのを防止し、また、反応するための追加時間をアルゴリズム700に提供するべく、特異性の周囲ではロボットの速度が766で自動的に減速される。
[0037]経路Aに沿った特異性のチェックが完了すると、アルゴリズム700は、次に768で、予想されたロボット位置に対する衝突の可能性をチェックする。何らかの可能性が検出されると、770で、差し迫った衝突までの時間に基づいてクランピング係数が低減される。衝突が起こり得るまでの時間が短いほど、より大きく低減される。非線形関数を含む様々な関数プロファイルが可能であるが、図7Bには線形関数の最も単純な事例が示される。衝突チェックが完了すると、次にクランピング係数が最後のブロックに引き渡され、そこでクランピング係数を使用してロボット110の所望のオーバライド速度がクランプされる。クランピング係数が100%であり、特異性すなわち衝突が検出されなかったことを意味する場合、780でオーバライド速度が所望の速度に設定される。クランピング係数が低減されている場合、所望の速度は、所望の速度がこの値を超える場合に限り、この値にクランプされる。これは、その速度が「安全」であると見なされる場合、すなわちその速度がクランピング係数未満である場合、オペレータ135はロボット110を所望の速度でジョグ操作することができることを意味する。アルゴリズム700は、次にステップ790で最初(ステップ702)に戻る。
[0038]本発明の好ましい実施形態を参照して説明したが、本発明の精神を逸脱することなく、様々な変更および/または修正が本発明に対して加えられ得ることは容易に理解されよう。例えば航空宇宙産業における航空機の部品に取り組んでいるロボットの制御が参照されるが、本発明は、衝突に巻き込まれ得る部分を有する任意の移動ロボットに適用することができる。一般に、本発明には、以下の特許請求の範囲によってのみ制限されることが意図される。

Claims (14)

  1. ロボットシステムであって、前記ロボットシステムは、
    物体を含む環境における実際の経路に沿って工具または部品を運ぶように設計されたマニピュレータアームを含むロボットであって、前記物体、前記ロボット、および、前記工具または部品は衝突幾何形状体を構成する、ロボットと、
    教示ペンダントであって、前記教示ペンダントに入力されるオペレータ入力を受け取るように構成されたオペレータインタフェースを含み、それによりオペレータが前記実際の経路に沿って前記ロボットの動きを直接制御することができる、教示ペンダントと、
    ロボットコントローラであって、前記ロボットおよび前記環境の仮想表現を含み、
    前記実際の経路に沿った前記ロボットの前記動きの履歴を記録し、
    前記教示ペンダントに入力された前記入力および前記ロボットの前記動きの前記履歴に基づいて、前記ロボットの予測経路を前記仮想表現で展開し、
    前記オペレータが前記教示ペンダントを使用して前記ロボットを手動で制御する間、前記予測経路に沿った前記ロボットの未来の動きを予想し、前記予測経路上の予測されたロボットの位置における前記ロボットと前記衝突幾何形状体の間のチェックを行うことによって実時間衝突チェックを実施する
    ように構成されたロボットコントローラと
    を備え、
    前記アームは工具を有し、
    前記コントローラは、
    前記工具の可能性ある経路を計算し、
    各可能性ある経路に沿った予測ロボット位置を前記実際の経路に沿った実際のロボット位置の履歴に対して比較し、前記可能性ある経路のうちの1つが前記実際の経路に十分に類似していることが見出された場合に、前記可能性ある経路のうちの前記1つを前記予測経路として指定して、前記ロボットの未来の動きを前記予測経路に沿って予想し、前記ロボットの何らかの構成要素が前記衝突幾何形状体に接近することが予測されると前記ロボットの速度を減速し、それによって衝突を防止する
    ことによって、前記ロボットがプログラムの各ステップを実行する際に前記工具の動きを予測するようにさらに構成された、
    システム。
  2. 請求項1に記載のシステムであって、前記オペレータインタフェースは前記オペレータ入力を受け取るためのキーを有する、システム。
  3. 請求項2に記載のシステムであって、前記コントローラは、前記オペレータがジョグモードで前記キーを使用して前記ロボットを直接制御する間、衝突が防止されるように、前記ロボットの何らかの構成要素が前記衝突幾何形状体に接近すると前記ロボットの速度を減速させるようにさらに構成された、システム。
  4. 請求項2に記載のシステムであって、前記ロボットは少なくとも1つの関節を有し、前記キーのうちの1つは前記少なくとも1つの関節を制御するように構成された、システム。
  5. 請求項2に記載のシステムであって、前記アームは工具を運び、前記工具は工具中心点を有し、前記コントローラは、前記オペレータが直交モードで前記ロボットを直接制御する際に前記ロボットの前記動きを予測するようにさらに構成され、前記キーは、直交空間における前記工具中心点を制御するように構成された、システム。
  6. 請求項1に記載のシステムであって、前記ロボットは、プログラムステップおよび加速パラメータを有するプログラムに従って移動するように構成され、前記コントローラは、現在のプログラムステップの現在の目的位置、前記ロボットの速度および前記加速パラメータに基づいて、前記予測経路に沿った前記ロボットの前記動きを予測し、前記ロボットの何らかの構成要素が前記予測経路に沿って前記衝突幾何形状体に接近すると前記ロボットの前記速度を減速させ、それによって衝突が防止されるようにさらに構成された、システム。
  7. 請求項1から6のうちの何れか一項に記載のシステムであって、前記教示ペンダントはキーを有し、前記コントローラは、
    前記オペレータが前記キーを押している限り、前記プログラムのステップを実行し続け、
    前記オペレータが前記キーを押している間、前記ロボットと、前記予測経路に沿った衝突の最も近いポイントとの間の距離を計算し、
    計算された前記距離に比例して前記ロボットの速度を減速させる
    ようにさらに構成された、システム。
  8. 請求項2に記載のシステムであって、前記コントローラは、
    前記オペレータが前記キーのうちの1つを押している間、前記ロボットと、前記予測経路に沿った衝突の最も近いポイントとの間の距離を計算し、
    計算された前記距離に比例して前記ロボットの速度を減速させる
    ようにさらに構成された、システム。
  9. マニピュレータアームを有するロボットと、キーを有するオペレータインタフェースを含む教示ペンダントと、前記ロボットおよび環境の仮想表現を含むロボットコントローラとを含むロボットシステムを動作させるための方法であって、前記方法は、
    衝突幾何形状体を構成する物体を含む前記環境における実際の経路に沿って前記ロボットを移動させるステップと、
    前記教示ペンダントに入力されるオペレータ入力を受け取るステップであって、それによりオペレータが前記実際の経路に沿って前記ロボットの動きを直接制御することができる、ステップと、
    前記ロボットの前記動きの履歴を記録するステップと、
    前記教示ペンダントに入力された前記入力および前記ロボットの前記動きの前記履歴に基づいて、前記ロボットの予測経路を前記仮想表現で展開するステップと、
    前記オペレータが前記教示ペンダントを使用して前記ロボットを手動で制御する間、前記予測経路に沿った前記ロボットの未来の動きを予想し、前記予測経路上の予測されたロボットの位置における前記ロボットと前記衝突幾何形状体の間のチェックを行うことによって実時間衝突チェックを実施するステップと
    を含み、
    前記方法は、前記ロボットを、プログラムステップを有するプログラムに従って移動させるステップをさらに含み、
    前記方法
    前記ロボットの工具の可能性ある経路を計算し、
    各可能性ある経路に沿った予測ロボット位置を前記実際の経路に沿った実際のロボット位置の履歴に対して比較し、前記可能性ある経路のうちの1つが前記実際の経路に十分に類似していることが見出された場合に、前記可能性ある経路のうちの前記1つを前記予測経路として指定して、前記ロボットの動きを前記予測経路に沿って未来に向けて予想し、前記ロボットの何らかの構成要素が前記衝突幾何形状体に接近することが予測されると前記ロボットの速度を減速することによって衝突を防止する
    ことによって、前記ロボットが前記プログラムの各ステップを実行する際に前記ロボットの前記動きを予測するステップをさらに含む
    方法。
  10. 請求項に記載の方法であって、前記オペレータがジョグモードで前記キーを使用して前記ロボットを直接制御する間、前記ロボットが前記衝突幾何形状体に接近すると前記ロボットの速度を減速させ、衝突を防止するステップとをさらに含む方法。
  11. 請求項に記載の方法であって、前記ロボットは関節を含み、前記オペレータ入力を受け取るステップと、前記キーのうちの1つを使用して前記関節を制御するステップとをさらに含む方法。
  12. 請求項に記載の方法であって、前記マニピュレータアームが工具中心点を有する工具を有し、前記オペレータが直交モードで前記ロボットを直接制御する際に前記ロボットの前記動きを予測するステップと、直交空間における前記工具中心点を制御するステップとをさらに含む方法。
  13. 請求項に記載の方法であって、
    前記ロボットをプログラムステップおよび加速パラメータを有するプログラムに従って移動させるステップと、
    現在のプログラムステップの現在の目的位置、前記ロボットの速度および前記加速パラメータに基づいて、前記ロボットの前記動きを予測するステップと、
    前記ロボットの何らかの構成要素が前記衝突幾何形状体に接近すると前記ロボットの前記速度を減速させて衝突を防止するステップと
    をさらに含む方法。
  14. 請求項から13のうちの何れか一項に記載の方法であって、
    前記オペレータが前記キーを押している限り、プログラムのステップを実行し続けるステップと、
    前記オペレータが前記キーを押している間、前記ロボットと、前記予測経路に沿った衝突の最も近いポイントとの間の距離を計算するステップと、
    計算された前記距離に比例して前記ロボットの速度を減速させるステップと
    をさらに含む方法。
JP2019555922A 2017-04-13 2018-01-31 産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法 Active JP7113847B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762485159P 2017-04-13 2017-04-13
US62/485,159 2017-04-13
US15/789,032 2017-10-20
US15/789,032 US10766140B2 (en) 2017-04-13 2017-10-20 Teach mode collision avoidance system and method for industrial robotic manipulators
PCT/US2018/016141 WO2018190936A1 (en) 2017-04-13 2018-01-31 Teach mode collision avoidance system and method for industrial robotic manipulators

Publications (3)

Publication Number Publication Date
JP2020516475A JP2020516475A (ja) 2020-06-11
JP2020516475A5 JP2020516475A5 (ja) 2021-03-18
JP7113847B2 true JP7113847B2 (ja) 2022-08-05

Family

ID=63791884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019555922A Active JP7113847B2 (ja) 2017-04-13 2018-01-31 産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法

Country Status (6)

Country Link
US (1) US10766140B2 (ja)
EP (1) EP3609655A1 (ja)
JP (1) JP7113847B2 (ja)
CA (1) CA3056861A1 (ja)
MX (1) MX2019010255A (ja)
WO (1) WO2018190936A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853076B1 (en) 2017-07-21 2023-12-26 AI Incorporated Virtual reality concert system
JP6659629B2 (ja) * 2017-07-31 2020-03-04 ファナック株式会社 多関節ロボットの制御装置
AT16425U1 (de) * 2017-12-14 2019-08-15 Wittmann Kunststoffgeraete Verfahren zur Validierung von programmierten Ablaufsequenzen oder
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
WO2020028356A1 (en) * 2018-07-30 2020-02-06 Intuitive Surgical Operations, Inc. Hard stop protection system and method
US10843340B2 (en) * 2018-08-27 2020-11-24 The Boeing Company Protected worker zones around mobile robotic platforms that manufacture aircraft
JP6863945B2 (ja) * 2018-10-24 2021-04-21 ファナック株式会社 ロボットの制御方法
CN109367573A (zh) * 2018-11-15 2019-02-22 中铁第四勘察设计院集团有限公司 一种列车上水机器人应急反馈系统及方法
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
FI3738430T3 (fi) * 2019-05-14 2022-12-15 Menetelmä ja järjestelmä työkalun ohjaamiseksi
IT201900008769A1 (it) * 2019-06-17 2020-12-17 Maurizio Corridori Interfaccia intuitiva per il controllo e la programmazione di un robot industriale manipolatore
US20210053226A1 (en) * 2019-08-23 2021-02-25 Brad C. MELLO Safe operation of machinery using potential occupancy envelopes
US11610153B1 (en) * 2019-12-30 2023-03-21 X Development Llc Generating reinforcement learning data that is compatible with reinforcement learning for a robotic task
CN111360824B (zh) * 2020-02-27 2021-04-30 中科新松有限公司 一种双臂自碰撞检测方法和计算机可读存储介质
US11707843B2 (en) 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
CN111292327B (zh) * 2020-05-08 2020-08-21 成都派沃特科技股份有限公司 机房巡检方法、装置、设备及存储介质
EP4000575A1 (en) * 2020-11-19 2022-05-25 TRUMPF Medizin Systeme GmbH + Co. KG Surgical table and method for controlling a surgical table
US11679500B2 (en) * 2020-12-14 2023-06-20 Honda Motor Co., Ltd. Target object retrieval
US11628568B2 (en) * 2020-12-28 2023-04-18 Industrial Technology Research Institute Cooperative robotic arm system and homing method thereof
TW202233369A (zh) * 2021-02-18 2022-09-01 日商發那科股份有限公司 機器人控制裝置、機器人控制系統、及電腦程式
JP7364285B1 (ja) 2022-11-11 2023-10-18 高丸工業株式会社 ロボット操作システムの動作方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010120139A (ja) 2008-11-21 2010-06-03 New Industry Research Organization 産業用ロボットの安全制御装置
JP2012056026A (ja) 2010-09-09 2012-03-22 Denso Wave Inc ロボットの評価制御方法及びロボットの制御装置
JP2012223845A (ja) 2011-04-18 2012-11-15 Fanuc Ltd ロボットの着目部位と周辺物との干渉を予測する方法及び装置
JP2013136123A (ja) 2011-12-28 2013-07-11 Kawasaki Heavy Ind Ltd ロボット動作教示支援装置及び方法
WO2016010614A1 (en) 2014-07-16 2016-01-21 Google Inc. Virtual safety cages for robotic devices
US20160052136A1 (en) 2014-08-25 2016-02-25 Google Inc. Natural Pitch and Roll

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE456048B (sv) * 1982-02-24 1988-08-29 Philips Norden Ab Sett och anordning for att bestemma kollisionsrisken for tva inbordes rorliga kroppar
US4663726A (en) * 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
US4723219A (en) 1985-06-21 1988-02-02 Amca International Corporation Programmed path for automatic tool retraction and return responsive to degradation threshold
US4644237A (en) 1985-10-17 1987-02-17 International Business Machines Corp. Collision avoidance system
US4922430A (en) * 1987-10-30 1990-05-01 U.S. Philips Corporation Method and apparatus for controlling the movement of a guided object
US5056031A (en) * 1988-11-12 1991-10-08 Kabushiki Kaisha Toyota Chuo Kenyusho Apparatus for detecting the collision of moving objects
US5150452A (en) 1989-07-28 1992-09-22 Megamation Incorporated Method and apparatus for anti-collision and collision protection for multiple robot system
JPH05265533A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd ロボットの制御方法
JP2785086B2 (ja) * 1992-06-17 1998-08-13 ファナック株式会社 ロボットの手動送り方法
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
JPH07295625A (ja) * 1994-04-28 1995-11-10 Fanuc Ltd ロボットのジョグ送り情報表示装置
US5495410A (en) 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
US5548694A (en) 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation
US6873944B1 (en) 2000-10-11 2005-03-29 Ford Global Technologies, Llc Method of real time collision detection between geometric models
US6678582B2 (en) 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
EP1535706A1 (en) * 2002-07-18 2005-06-01 Kabushiki Kaisha Yaskawa Denki Robot controller and robot system
JP3708083B2 (ja) 2003-02-28 2005-10-19 ファナック株式会社 ロボット教示装置
EP1652634B1 (en) 2003-07-29 2011-12-28 Panasonic Corporation Robot arm control method and control device
JP4027350B2 (ja) 2004-06-29 2007-12-26 ファナック株式会社 ロボットの待機位置復帰プログラム作成装置
DE102004041821A1 (de) * 2004-08-27 2006-03-16 Abb Research Ltd. Vorrichtung und Verfahren zur Sicherung eines maschinell gesteuerten Handhabungsgerätes
DE102004043514A1 (de) * 2004-09-08 2006-03-09 Sick Ag Verfahren und Vorrichtung zum Steuern einer sicherheitsrelevanten Funktion einer Maschine
JP4544145B2 (ja) 2005-11-24 2010-09-15 株式会社デンソーウェーブ ロボットの干渉回避方法およびロボット
US8355818B2 (en) 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
EP1972415B1 (en) 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Robots with collision avoidance functionality
US9858712B2 (en) 2007-04-09 2018-01-02 Sam Stathis System and method capable of navigating and/or mapping any multi-dimensional space
US8255092B2 (en) 2007-05-14 2012-08-28 Irobot Corporation Autonomous behaviors for a remote vehicle
DE102007056117A1 (de) 2007-11-15 2009-05-28 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Steuern der Bewegung eines Industrieroboters
JP4920785B2 (ja) 2008-04-22 2012-04-18 三菱電機株式会社 数値制御方法及びその装置
US9144904B2 (en) 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
DE102008043360A1 (de) 2008-10-31 2010-05-12 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
EP2364243B1 (en) * 2008-12-03 2012-08-01 ABB Research Ltd. A robot safety system and a method
EP2493664B1 (en) 2009-10-27 2019-02-20 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
FR2954518B1 (fr) 2009-12-18 2012-03-23 Aripa Service Innovation Ind " systeme anticollision pour le deplacement d'un objet dans un environnement encombre."
DE102010002250B4 (de) * 2010-02-23 2022-01-20 pmdtechnologies ag Überwachungssystem
US8340820B2 (en) 2010-02-26 2012-12-25 Agilent Technologies, Inc. Robot arm and method of controlling robot arm to avoid collisions
US20120061155A1 (en) 2010-04-09 2012-03-15 Willow Garage, Inc. Humanoid robotics system and methods
DE102010063208A1 (de) 2010-12-16 2012-06-21 Robert Bosch Gmbh Verfahren zum Betreiben einer Sicherungseinrichtung für eine Handhabungsvorrichtung, Sicherungseinrichtung für eine Handhabungsvorrichtung und Handhabungsvorrichtung
CN103492133B (zh) 2011-04-19 2016-04-13 Abb研究有限公司 具有运动冗余臂的工业机器人和用于控制该机器人的方法
EP2854687B1 (en) 2012-06-01 2022-08-24 Intuitive Surgical Operations, Inc. Systems for avoiding collisions between manipulator arms using a null-space
US20130343640A1 (en) 2012-06-21 2013-12-26 Rethink Robotics, Inc. Vision-guided robots and methods of training them
CN104428107B (zh) 2012-07-10 2016-06-29 西门子公司 机器人布置和用于控制机器人的方法
US9132551B2 (en) 2012-11-30 2015-09-15 Abb Technology Ag Teleoperated industrial robots
EP2969211B1 (en) 2013-03-15 2019-06-26 Becton, Dickinson and Company Process tube and carrier tray
US9452531B2 (en) * 2014-02-04 2016-09-27 Microsoft Technology Licensing, Llc Controlling a robot in the presence of a moving object
JP5860081B2 (ja) 2014-02-27 2016-02-16 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
JP6379874B2 (ja) 2014-08-29 2018-08-29 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010120139A (ja) 2008-11-21 2010-06-03 New Industry Research Organization 産業用ロボットの安全制御装置
JP2012056026A (ja) 2010-09-09 2012-03-22 Denso Wave Inc ロボットの評価制御方法及びロボットの制御装置
JP2012223845A (ja) 2011-04-18 2012-11-15 Fanuc Ltd ロボットの着目部位と周辺物との干渉を予測する方法及び装置
JP2013136123A (ja) 2011-12-28 2013-07-11 Kawasaki Heavy Ind Ltd ロボット動作教示支援装置及び方法
WO2016010614A1 (en) 2014-07-16 2016-01-21 Google Inc. Virtual safety cages for robotic devices
US20160052136A1 (en) 2014-08-25 2016-02-25 Google Inc. Natural Pitch and Roll

Also Published As

Publication number Publication date
EP3609655A1 (en) 2020-02-19
CA3056861A1 (en) 2018-10-18
US10766140B2 (en) 2020-09-08
JP2020516475A (ja) 2020-06-11
WO2018190936A1 (en) 2018-10-18
MX2019010255A (es) 2019-10-21
US20180297204A1 (en) 2018-10-18

Similar Documents

Publication Publication Date Title
JP7113847B2 (ja) 産業ロボットマニピュレータのための教示モード衝突回避システムおよび方法
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
Magrini et al. Human-robot coexistence and interaction in open industrial cells
US9821459B2 (en) Multi-joint robot having function for repositioning arm
CN109834708B (zh) 限制机器人速度的控制装置
US20160279796A1 (en) Robot control apparatus having function of detecting contact with object or person
EP0927612A1 (en) Robot controller
US11292130B2 (en) Method for motion simulation of a manipulator
WO2003086718A1 (fr) Robot
Maric et al. Collaborative human-robot framework for delicate sanding of complex shape surfaces
CN107088878B (zh) 计算扫描空间的机器人的模拟装置
Deng et al. Kinematic optimization of robot trajectories for thermal spray coating application
CN110842909B (zh) 控制装置、机器人系统以及机器人
Glogowski et al. Extended calculation of the dynamic separation distance for robot speed adaption in the human-robot interaction
Canfield et al. Zero moment control for lead-through teach programming and process monitoring of a collaborative welding robot
Namiki et al. Vision-based predictive assist control on master-slave systems
US20210260750A1 (en) Method to Modify a Program for Robotic Welding
CN112706167B (zh) 用于移动装置的控制方法、设备和计算机可读存储介质
JP4289219B2 (ja) 人間介入型ロボットの制御装置
Matour et al. Force Controlled Deburring using a Collaborative Robot
JP7311732B1 (ja) 数値制御装置及び数値制御システム
Vagas et al. Application of speed and separation monitoring technique at automated assembly process
WO2024004042A1 (ja) ロボット制御装置
Lindqvist Multi-axis industrial robot braking distance measurements: For risk assessments with virtual safety zones on industrial robots
JP6932618B2 (ja) ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220726

R150 Certificate of patent or registration of utility model

Ref document number: 7113847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150