JP5981215B2 - Method and system for automatically preventing deadlock in a multi-robot system - Google Patents

Method and system for automatically preventing deadlock in a multi-robot system Download PDF

Info

Publication number
JP5981215B2
JP5981215B2 JP2012105505A JP2012105505A JP5981215B2 JP 5981215 B2 JP5981215 B2 JP 5981215B2 JP 2012105505 A JP2012105505 A JP 2012105505A JP 2012105505 A JP2012105505 A JP 2012105505A JP 5981215 B2 JP5981215 B2 JP 5981215B2
Authority
JP
Japan
Prior art keywords
program
deadlock
robot
robots
interference
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
JP2012105505A
Other languages
Japanese (ja)
Other versions
JP2012232408A (en
Inventor
マクギー エイチ.ディーン
マクギー エイチ.ディーン
エル.チャン ティエン
エル.チャン ティエン
スワンソン ピーター
スワンソン ピーター
タオ チャンミン
タオ チャンミン
シャオ ディ
シャオ ディ
チュン ウォン ホ
チュン ウォン ホ
チェン サイ−カイ
チェン サイ−カイ
サイ ジェイソン
サイ ジェイソン
Original Assignee
ファナック アメリカ コーポレイション
ファナック アメリカ コーポレイション
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 ファナック アメリカ コーポレイション, ファナック アメリカ コーポレイション filed Critical ファナック アメリカ コーポレイション
Publication of JP2012232408A publication Critical patent/JP2012232408A/en
Application granted granted Critical
Publication of JP5981215B2 publication Critical patent/JP5981215B2/en
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
    • 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/39083Robot interference, between two robot arms
    • 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/40442Voxel map, 3-D grid map

Description

関連出願の相互参照
この出願は、2008年5月21日に出願された同時係属中の米国特許出願第12/124,430号の一部継続出願である。
CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part of co-pending US patent application Ser. No. 12 / 124,430, filed May 21, 2008.

この出願は、2011年5月5日に出願された米国特許仮出願第61/482,808号の利益を主張する。   This application claims the benefit of US Provisional Application No. 61 / 482,808, filed May 5, 2011.

本発明は、一般的には複数のロボットを制御するシステム及び複数のロボットの動作干渉回避を制御する方法に関する。   The present invention generally relates to a system for controlling a plurality of robots and a method for controlling motion interference avoidance of the plurality of robots.

空間中の物体の動作は、典型的な製造環境における必要なタスクである。必要な動作を行うためにロボット工学がますます用いられるようになってきている。しかしながら、複数の物体を動作させるときに、物体間に干渉が生じることがある。物体が同一の座標系に対して同一の座標を有するときのように少なくとも二つの物体が同一の空間を同時に共有する場合、干渉がある。   The movement of objects in space is a necessary task in a typical manufacturing environment. Robotics are increasingly being used to perform the necessary actions. However, when operating a plurality of objects, interference may occur between the objects. There is interference when at least two objects share the same space simultaneously, such as when the objects have the same coordinates with respect to the same coordinate system.

最近の産業用ロボットは相当な速度で動作するので、ロボット間の干渉によって衝突が生じ、ロボット及びロボットによって操作されるワークピースに不所望な損傷が加えられることがある。衝突により製造工程中に犠牲の大きい故障時間が生じることがある。したがって、そのような衝突を回避することが望ましい。   Since modern industrial robots operate at considerable speeds, collisions can occur due to interference between robots, which can cause unwanted damage to the robot and workpieces manipulated by the robot. Collisions can cause costly failure times during the manufacturing process. It is therefore desirable to avoid such a collision.

従来のシステム及び方法は、干渉及び衝突を最小にするために用いられてきた。しかしながら、従来のシステム及び方法の複数の欠点が存在する。典型的には、工具中心点(TCP)は、予め決定された干渉エリアすなわち「静的空間」(static space)に対してのみ確認される。複数のロボットに対して、これらの衝突又は干渉を直ちに又は有効に防止するのは困難である。さらに、複数の動作するロボットの静止座標系に関する干渉空間を特定するのは困難である。任意の干渉空間はロボットの動作経路の関数であるだけでなく動作速度の関数でもある。二つ以上のロボットが共用空間で同時に動作することを要求するときのデッドロック状態を処理することを試みる際の困難もある。   Conventional systems and methods have been used to minimize interference and collisions. However, there are several disadvantages of conventional systems and methods. Typically, the tool center point (TCP) is only confirmed against a predetermined interference area or “static space”. It is difficult to prevent these collisions or interferences with multiple robots immediately or effectively. Furthermore, it is difficult to specify the interference space related to the stationary coordinate system of a plurality of moving robots. The arbitrary interference space is not only a function of the robot's motion path, but also a function of the motion speed. There are also difficulties in attempting to handle deadlock situations when two or more robots are required to operate simultaneously in a shared space.

従来のシステムは、世界座標系に対する固定空間でロボットのTCPが衝突するのを防止する試みも行っている。(複数のコントローラを有する)複数のロボットがタスク実行中に共通空間すなわち「干渉」空間を共有するとき、各コントローラは、ロボットが共通空間に存在しなくなるまで待機する必要がある。この場合、コントローラは、ロボットに動作を許容するために動作制御コマンドを発することができる。この工程は、「待機及び動作」工程とも称され、一般的には作業サイクル時間を増大する。しかしながら、干渉空間はロボットの動作経路の関数であるだけでなく動作速度の関数でもあるので、固定座標系に対する干渉空間を有効に特定するのは困難である。一つを超えるロボットが共通空間で同時に動作することを要求するとき、ロボットは、ロボットが互いに待機するためにいずれのロボットも動作することができないデッドロック状態を作り出す。   Conventional systems have also attempted to prevent the robot TCP from colliding in a fixed space relative to the world coordinate system. When multiple robots (with multiple controllers) share a common space or “interference” space during task execution, each controller must wait until the robot is no longer in the common space. In this case, the controller can issue an operation control command to allow the robot to operate. This process is also referred to as the “standby and operation” process and generally increases the work cycle time. However, since the interference space is not only a function of the motion path of the robot but also a function of the motion speed, it is difficult to effectively specify the interference space for the fixed coordinate system. When more than one robot requests to operate simultaneously in a common space, the robot creates a deadlock condition in which neither robot can operate because the robot waits for each other.

従来のシステムは、球及び円柱によってロボットのモデルを作る試みも行っている。従来のシステムは、リアルタイムでの動作中にロボットの将来の位置を予測する。従来のシステムは所定の時間に亘ってロボットによって占有される累積空間(accumulated space)を決定しないので、従来のシステムは、ロボットの動作中に頻繁に比較を行う必要がある。従来のシステムは、作業セルの全てのロボットのモデルを構成要素ごとに比較する。この比較は、計算コストが非常に高くなり、コストは、ロボット並びにロボット及び工具のモデルを作るのに用いられる構成要素の個数が増大するに従って飛躍的に高くなる。差し迫った衝突が検出されるときに比較がリアルタイムで行われるので、従来のシステムは、一般的には差し迫った衝突に伴う全てのロボットを停止させる必要があり、自動プログラム動作を中断する必要がある。従来のシステムは、ロボットが異なるコントローラに属するときに更に困難になる。その理由は、従来のシステムがコントローラ間でリアルタイムの通信を行うために多量の情報を必要とするからである。従来のシステムは、干渉を回避するためにI/Oハンドシェイク機構を利用する試みも行っている。本発明において、I/O PLCの必要はない。   Conventional systems also attempt to model robots with spheres and cylinders. Conventional systems predict the future position of the robot during real-time operation. Since conventional systems do not determine the accumulated space occupied by the robot over a predetermined time, conventional systems need to make frequent comparisons during robot operation. Conventional systems compare models of all robots in a work cell for each component. This comparison is very computationally expensive and increases dramatically as the number of components used to build the robot and robot and tool models increases. Because comparisons are made in real time when an impending collision is detected, conventional systems typically need to stop all robots associated with an impending collision and interrupt the automatic program operation . Conventional systems become even more difficult when the robot belongs to a different controller. This is because a conventional system requires a large amount of information in order to perform real-time communication between controllers. Prior systems have also attempted to use an I / O handshake mechanism to avoid interference. In the present invention, there is no need for I / O PLC.

既知のシステム及び方法の一つは、譲受人による同時係属中の国際出願番号PCT/US2007/066638に開示されており、参照すにより全体がここに組み込まれる。かかるシステム及び方法は、ロボットの動作の効率を最大にするとともに複数のロボットの干渉又は衝突の可能性を最小にする「動的空間確認」(dynamic space check)システムを有する。各コントローラによって制御されるロボットは、ユーザによって定義された動的空間(user-defined dynamic space)でのみ動作し、これにより衝突を回避する。しかしながら、動的空間確認システムは、一般的にはユーザによって定義された直線で囲まれた空間(user-defined rectilinear space)に対してのみTCPを保護する。   One known system and method is disclosed in co-pending international application number PCT / US2007 / 066668 by assignee, which is hereby incorporated by reference in its entirety. Such systems and methods have a “dynamic space check” system that maximizes the efficiency of robot operation and minimizes the possibility of interference or collision of multiple robots. The robot controlled by each controller operates only in a user-defined dynamic space, thereby avoiding collisions. However, dynamic space validation systems generally protect TCP only against user-defined rectilinear spaces.

ロボットの衝突を回避する他の既知の方法は、Pollack等による米国特許第5,150,452号明細書で報告されている。この方法は、所望のロボットの動作を含む衝突マップを作成することを含む。排他的論理和演算においてロボットマップと「ワールド」マップとを組み合わせ、その後、排他的論理和演算において衝突マップと「ワールド」マップとを組み合わせるのに続いて包含的論理和演算において衝突マップと「ワールド」マップとを組み合わせることをバイト単位で行うことによって、所望のロボットの元の位置が「ワールド」マップから取り除かれる。衝突は、包含的論理和の組合せ及び排他的論理和の組合せの任意のビット位置の差によって表される。この方法は、衝突を検出するために2次元的なx−y投影(x-y projection)及び1次元的な高さを与えるが、3次元的なリアルタイムの衝突検出を行うことができない。   Another known method of avoiding robotic collisions is reported in US Pat. No. 5,150,452 by Pollack et al. The method includes creating a collision map that includes the desired robot motion. The robot map and the “world” map are combined in the exclusive OR operation, and then the collision map and the “world” map are combined in the exclusive OR operation, followed by the collision map and the “world” in the inclusive OR operation. By combining the "map" with the byte, the original position of the desired robot is removed from the "world" map. A collision is represented by a difference in arbitrary bit positions of the combination of inclusive or exclusive OR. This method provides a two-dimensional x-y projection and a one-dimensional height to detect a collision, but cannot perform a three-dimensional real-time collision detection.

ロボットと一つ以上の障害との間の衝突を衝突が生じる前に検出する更に別の既知の方法は、Greenspan等による米国特許第5,347,459号明細書に記載されている。ロボットは、ボクセル作業空間(voxelized workspace)において球によってモデルが作られる。作業空間中の各ボクセルには、最も近い障害からの距離に対応する値が割り当てられる。球の中心のボクセル値がボクセル中の他の球の半径より小さい場合には、衝突間近であると決定される。しかしながら、この方法は、単一のロボットアームを保護するだけである。ロボットは、球のみによってモデルが作られ、したがって、ロボットの重要な工程経路の保護には不十分である。   Yet another known method of detecting a collision between a robot and one or more obstacles before the collision occurs is described in US Pat. No. 5,347,459 by Greenspan et al. Robots are modeled by spheres in a voxelized workspace. Each voxel in the workspace is assigned a value corresponding to the distance from the nearest obstacle. If the voxel value at the center of the sphere is smaller than the radius of the other sphere in the voxel, it is determined that the collision is near. However, this method only protects a single robot arm. Robots are modeled only by spheres and are therefore insufficient to protect the robot's critical process paths.

複数のロボットの動作干渉回避を制御するシステム及び方法が引き続き必要となっている。望ましくは、システム及び方法は、3次元的なリアルタイムの衝突の検出を行い、ロボットシステムにロボットの動作を予め提供し、衝突のないプログラムされた軌跡を保存し、かつ、重要な工程経路を保護する。   There remains a need for systems and methods for controlling motion interference avoidance of multiple robots. Preferably, the system and method provides three-dimensional real-time collision detection, pre-providing robot motion to the robot system, preserving collision-free programmed trajectories, and protecting critical process paths To do.

プログラム又はタスクが、プログラム又はタスクのいずれかの継続するシーケンシャル実行(continued sequential execution)の結果としてプログラム又はタスクに関連した一つ以上のロボット間に干渉が生じ、かつ、干渉なく順次に進行することができるプログラム又はタスクが存在しない状態になったとき、デッドロック状態が生じる。   A program or task causes interference between one or more robots associated with the program or task as a result of continued sequential execution of either program or task, and proceeds sequentially without interference A deadlock condition occurs when there is no program or task that can perform.

Chaffee等による米国特許第7,114,157号は、設定命令(set order)においてリソースを取得することによってデッドロックを回避する方法を記載している。この方法はデッドロックを回避することができるが、この方法は、設定デッドロックフリー命令(set deadlock-free order)が決定されなかった場合には動作を許可する能力がない。さらに、この方法は、要求された命令が規定のデッドロックフリー命令とは別である場合にはデッドロックフリーとすることができる動作を許可しない。   US Pat. No. 7,114,157 by Chaffee et al. Describes a method for avoiding deadlocks by acquiring resources in a set order. Although this method can avoid deadlocks, this method does not have the ability to allow operation if a set deadlock-free order is not determined. In addition, this method does not allow an operation that can be made deadlock free if the requested instruction is different from the prescribed deadlock free instruction.

Chang等による米国特許出願第2009/0326711号明細書は、自動的に又は手動でデッドロックを回避するために自動区分(automatic zone)を利用する方法を記載する。Changは、デッドロックを防止するために優先値(priority value)を使用する方法を示唆している。Changは、優先値を使用しない場合にデッドロックを防止する方法を示唆していない。   US Patent Application No. 2009/0326711 by Chang et al. Describes a method of using automatic zones to avoid deadlocks automatically or manually. Chang suggests how to use priority values to prevent deadlocks. Chang does not suggest a way to prevent deadlocks when priority values are not used.

本開示によれば、複数のロボットの動作干渉回避を制御するシステム及び方法であって、3次元的なリアルタイムの衝突の検出を行い、ロボットシステムにロボットの動作を予め提供し、衝突のないプログラムされた軌跡を保存し、かつ、I/Oハンドシェイク機構を利用することなく重要な工程経路を保護するシステム及び方法は、驚くべき発見である。   According to the present disclosure, there is provided a system and method for controlling motion interference avoidance of a plurality of robots, which performs three-dimensional real-time collision detection, provides robot operations to the robot system in advance, and provides a collision-free program. A system and method that preserves critical trajectories and protects critical process paths without utilizing an I / O handshake mechanism is a surprising discovery.

一実施の形態において、共通の作業空間を有する1対のロボットのデッドロックを防止する方法であって、ロボットの各々は、関連のプログラムによって制御され、プログラムが同時に実行されるとき、ロボットの各々が、関連のプログラムの実行の一部の間に共通の作業空間の少なくとも一部を占有し、プログラムの同時実行中に、ロボットによって占有される共通の作業空間の部分を識別するステップと、共通の作業空間の部分と重なる少なくとも一つの干渉領域を識別するステップと、少なくとも一つの干渉領域を分析するとともに二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を識別するステップと、少なくとも一つのデッドロック状態となるロボットの任意の動作の実行前に少なくとも一つのデッドロックフリー動作ステートメントを自動的に決定及び実行することによって、プログラムの実行中に少なくとも一つのデッドロック状態を回避するステップと、を備える。   In one embodiment, a method for preventing deadlock of a pair of robots having a common workspace, wherein each of the robots is controlled by an associated program and each of the robots when the program is executed simultaneously Occupying at least a portion of the common workspace during a portion of the execution of the associated program, and identifying a portion of the common workspace that is occupied by the robot during concurrent execution of the program, Identifying at least one interference region that overlaps a portion of the workspace of the computer, analyzing at least one interference region and identifying a location where at least one deadlock condition of the two robots may occur, and at least At least one deadlock prior to the execution of any robot action in a single deadlock state By automatically determining and executing the Kufuri operation statement, comprising the steps of avoiding at least one of the deadlock in the program.

他の実施の形態において、共通の作業空間を有する1対のロボットのデッドロックを防止する方法を実行するためにコンピュータによって実行可能な命令を有するコンピュータ読出し可能媒体であって、ロボットの各々は、関連のプログラムによって制御され、プログラムが同時実行されるとき、ロボットの各々が、関連のプログラムの実行の一部の間に共通の作業空間の少なくとも一部を占有し、方法は、プログラムの同時実行中に、ロボットによって占有される共通の作業空間の部分を識別する命令と、共通の作業空間の部分と重なる少なくとも一つの干渉領域を識別する命令と、少なくとも一つの干渉領域を分析するとともに二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を識別する命令と、少なくとも一つのデッドロック状態となるロボットの任意の動作の実行前に少なくとも一つのデッドロックフリー動作ステートメントを自動的に決定及び実行することによって、プログラムの実行中に少なくとも一つのデッドロック状態を回避する命令と、を備える。   In another embodiment, a computer readable medium having instructions executable by a computer to perform a method for preventing deadlock of a pair of robots having a common work space, each of the robots comprising: Each of the robots occupies at least a portion of a common work space during a portion of execution of the associated program, and the method is controlled by the associated program and the method is executed simultaneously. A command for identifying a part of the common workspace occupied by the robot, a command for identifying at least one interference area overlapping with the part of the common workspace, and analyzing at least one interference area and two Instructions identifying where at least one deadlock condition of the robot may occur, and at least one Instructions for avoiding at least one deadlock condition during program execution by automatically determining and executing at least one deadlock free action statement prior to execution of any robot motion that is in a deadlock state; .

他の実施の形態において、共通の作業空間を有する複数のロボットのデッドロックを防止する方法であって、ロボットの各々は、関連のプログラムによって制御され、プログラムが同時実行されるとき、ロボットの各々が、関連のプログラムの実行の一部の間に共通の作業空間の少なくとも一部を占有し、プログラムの同時実行中に、ロボットによって占有される共通の作業空間の部分を識別するステップと、ロボットの少なくとも二つのロボットについて共通の作業空間の部分と重なる少なくとも一つの干渉領域を識別するステップと、少なくとも一つの干渉領域を分析するとともに少なくとも二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を識別するステップと、少なくとも一つのデッドロック状態となる少なくとも二つのロボットの任意の動作の実行前に少なくとも一つのデッドロックフリー動作ステートメントを自動的に決定及び実行することによって、プログラムの実行中に少なくとも一つのデッドロック状態を回避するステップと、を備える。   In another embodiment, a method for preventing deadlock of a plurality of robots having a common work space, each of the robots being controlled by an associated program and each of the robots when the program is executed simultaneously Occupying at least a portion of a common workspace during a portion of execution of an associated program, and identifying a portion of the common workspace that is occupied by the robot during concurrent execution of the program; and Identifying at least one interference region that overlaps a common workspace portion for at least two robots, analyzing at least one interference region, and causing at least one deadlock condition of at least two robots A step of identifying the location and at least one deadlock condition Avoiding at least one deadlock condition during program execution by automatically determining and executing at least one deadlock free motion statement prior to execution of any motion of at least two robots; Prepare.

本発明によるシステム及び方法は、既知のデッドロックフリーシーケンスを必要としない。本発明によるシステム及び方法は、あり得るデッドロック状態を自動的に決定し、あり得るデッドロック状態を回避する方法を確定する。本発明によるシステム及び方法は、デッドロックを防止するための優先値を必要としない。本発明によるシステム及び方法は、干渉状態を防止するのと同時に、存在しうるデットロック状態を防止する。   The system and method according to the present invention does not require a known deadlock free sequence. The system and method according to the present invention automatically determines possible deadlock conditions and establishes a method for avoiding possible deadlock conditions. The system and method according to the present invention does not require a priority value to prevent deadlock. The system and method according to the present invention prevent deadlock conditions that may exist at the same time as preventing interference conditions.

本発明の上記利点及び他の利点は、添付図面を考慮するときに好適な実施の形態の詳細の説明から当業者に明らかになる。   These and other advantages of the present invention will become apparent to those skilled in the art from the detailed description of the preferred embodiment when considered in conjunction with the accompanying drawings.

ワークセル内で動作する第1のロボット及び第2のロボットを有する本開示による典型的なロボットシステムを示す。2 illustrates an exemplary robot system according to the present disclosure having a first robot and a second robot operating in a work cell. 本開示による干渉確認自動区分法を示す工程図である。FIG. 5 is a process diagram illustrating an automatic interference confirmation classification method according to the present disclosure. 図1に示す第1のロボットと第2のロボットのうちの一方のボクセル化モデルを示す。The voxelization model of one of the 1st robot and the 2nd robot shown in FIG. 1 is shown. 図3に示すボクセル化モデルの等角図である。FIG. 4 is an isometric view of the voxelization model shown in FIG. 3. 第1のロボットと第2のロボットのうちの一方を覆うボクセル化した球及び円柱によって形成されたボクセル化モデルを有する図1に示す第1のロボットと第2のロボットのうちの一方の拡大図を示す。1 is an enlarged view of one of the first robot and the second robot shown in FIG. 1 having a voxelization model formed by voxelized spheres and cylinders covering one of the first robot and the second robot. Indicates. 複数のボクセルから形成した図5に示すボクセル化球およびボクセル化円柱を示す。6 shows the voxelized sphere and voxelized cylinder shown in FIG. 5 formed from a plurality of voxels. 本発明によるデッドロックフリー行列及び関連のプログラムリストを示す。2 shows a deadlock free matrix and associated program listing according to the present invention. 本発明によるデッドロックフリー行列及び関連のプログラムリストを示す。2 shows a deadlock free matrix and associated program listing according to the present invention. 本発明によるデッドロックフリー行列及び関連のプログラムリストを示す。2 shows a deadlock free matrix and associated program listing according to the present invention. 本発明による干渉行列及び関連のプログラムリストを示す。Fig. 4 shows an interference matrix and associated program list according to the present invention. 本発明による干渉行列及び関連のプログラムリストを示す。Fig. 4 shows an interference matrix and associated program list according to the present invention. 本発明による干渉行列及び関連のプログラムリストを示す。Fig. 4 shows an interference matrix and associated program list according to the present invention. 本発明による干渉行列及び関連のプログラムリストを示す。Fig. 4 shows an interference matrix and associated program list according to the present invention. 複数のデッドロック領域を組み合わせて単一のデッドロックフリー領域にする経路及び関連の表を示す。Fig. 4 shows a path and associated table for combining multiple deadlock areas into a single deadlock free area. 本発明によるデッドロック防止を行わない複数のロボットプログラム実行シーケンス及び本発明によるデッドロック防止を行う複数のロボットプログラム実行シーケンスを示す。2 shows a plurality of robot program execution sequences not performing deadlock prevention according to the present invention and a plurality of robot program execution sequences performing deadlock prevention according to the present invention. 本発明によるデッドロック回避シーケンスの流れ図である。3 is a flowchart of a deadlock avoidance sequence according to the present invention. 本発明によるあり得るデッドロック領域を決定するための流れ図である。4 is a flow chart for determining possible deadlock regions according to the present invention.

以下の説明は、本質的には単なる例示であり、この開示、この出願又は使用を制限することを意図しない。図面中、対応する参照番号が同様な又は対応する部分及び特徴を表すことを理解すべきである。開示した方法に関して、示したステップは、本質的には例示であり、したがって、必須でも重要でない。   The following description is merely exemplary in nature and is not intended to limit the disclosure, the application, or the use. In the drawings, it should be understood that corresponding reference numerals indicate like or corresponding parts and features. With respect to the disclosed method, the steps shown are exemplary in nature and are therefore not required or important.

図1は、複数のロボット間の衝突回避を制御するロボットシステム2を示す線形図である。限定されない例として、ロボットシステム2を、少なくとも二つのロボットを有するボディーショップロボットシステム(body shop robot system)、ウォータジェット切断ロボットシステム(waterjet cutting robot system)、レーザ溶接ロボットシステム、アーク溶接ロボットシステム及び塗装ロボットシステムのうちの一つとすることができる。所望に応じて、複数のロボットを有する他のロボットシステム2を用いることもできる。   FIG. 1 is a linear diagram showing a robot system 2 that controls collision avoidance between a plurality of robots. Non-limiting examples include robot system 2, body shop robot system having at least two robots, waterjet cutting robot system, laser welding robot system, arc welding robot system and painting. It can be one of the robot systems. Other robot systems 2 having a plurality of robots can be used as desired.

ロボットシステム2は、第1のロボット6及び第2のロボット8が動作するように構成されるエンベロープ(envelope)を規定するワークセル4を有する。第1のロボット6及び第2のロボット8は、ワークセル4内に配置された少なくとも一つの共通空間10を選択的に占有するように構成される。第1のロボット6及び第2のロボット8のみを示すが、当然のことながら、ロボットシステム2は、開示の範囲及び精神から逸脱することなく2を超える数のロボットを有することができる。   The robot system 2 has a work cell 4 that defines an envelope configured to operate the first robot 6 and the second robot 8. The first robot 6 and the second robot 8 are configured to selectively occupy at least one common space 10 arranged in the work cell 4. Only the first robot 6 and the second robot 8 are shown, but it will be appreciated that the robot system 2 can have more than two robots without departing from the scope and spirit of the disclosure.

第1のロボット6は、第1のプログラム経路(programmed path)に沿った第1のロボット6の動作中に共通空間10の第1の部分12を占有することができる。第2のロボット8は、第2のプログラム経路に沿った第2のロボット8の動作中に共通空間10の第2の部分14を占有することができる。第1の部分12及び第2の部分14は、「自動区分」(automatic zone)又は「自動ゾーン」(autozone)としても知られている。各プログラム経路は、一つ以上の自動区分を備え、各自動区分は、予め処理され、一つ以上の動作ステートメントから取得される。第1のプログラム経路及び第2のプログラム経路を、例えば、複数の動作ステートメントを有する一連の命令中の一つ以上の動作ステートメントによって制御することができる。当業者は、第1のロボット6及び第2のロボット8の動作を制御する干渉回避方法を用いない場合には第1の部分12及び第2の部分14が重なることがあるためにロボットの干渉の可能性があることを理解すべきである。   The first robot 6 can occupy the first portion 12 of the common space 10 during operation of the first robot 6 along a first programmed path. The second robot 8 can occupy the second portion 14 of the common space 10 during operation of the second robot 8 along the second program path. The first portion 12 and the second portion 14 are also known as “automatic zones” or “autozones”. Each program path comprises one or more automatic partitions, each automatic partition being pre-processed and obtained from one or more action statements. The first program path and the second program path can be controlled, for example, by one or more action statements in a series of instructions having a plurality of action statements. A person skilled in the art knows that robot interference may occur because the first portion 12 and the second portion 14 may overlap if the interference avoidance method for controlling the operation of the first robot 6 and the second robot 8 is not used. It should be understood that

第1のロボット6及び第2のロボット8は、少なくとも一つのコントローラ16,18によって制御される。図1に示す実施の形態において、第1のロボット6は、第1のコントローラ16によって制御され、第2のロボット8は、第2のコントローラ18によって制御される。少なくとも一つのコントローラ16,18は、電源(図示せず)と電気的なやり取りを行うように適合される。コントローラ16,18は、コントローラ16,18内にあるコンピュータプログラムのような一連の命令を実行することができる。他の実施の形態において、一連の命令は、コントローラ16,18とやり取りを行うコンピュータ読出し可能媒体又はメモリに存在することができる。   The first robot 6 and the second robot 8 are controlled by at least one controller 16, 18. In the embodiment shown in FIG. 1, the first robot 6 is controlled by a first controller 16, and the second robot 8 is controlled by a second controller 18. At least one controller 16, 18 is adapted to make electrical communication with a power source (not shown). Controllers 16 and 18 can execute a series of instructions such as computer programs residing in controllers 16 and 18. In other embodiments, the sequence of instructions may reside on a computer readable medium or memory that interacts with the controllers 16, 18.

ロボットシステム2は、種々のシステム構成要素に接続するように構成されたネットワーク媒体(図示せず)、プログラマブル論理装置(図示せず)及び少なくとも一つのコントローラ16,18と電気的なやり取りを行う教示装置(teaching device)20のうちの少なくとも一つのような従来既知の他の構成要素を更に有することができる。特定の実施の形態において、教示装置20は、モニタを有することができ、所望に応じてロボットシステム2のオペレータが観察するために、第1のロボット6、第2のロボット8、共通空間10の第1の部分12及び共通空間10の第2の部分14を映像によって表すように構成される。教示装置20は、ロボットのジョグ操作を行うための一連の命令を行う(initiate)手段を有することもできる。   The robot system 2 is in charge of electrical communication with a network medium (not shown), a programmable logic device (not shown) and at least one controller 16, 18 configured to connect to various system components. It can further comprise other components known in the art, such as at least one of the teaching devices 20. In a particular embodiment, the teaching device 20 can have a monitor and can be used for viewing the first robot 6, the second robot 8, and the common space 10 for observation by an operator of the robot system 2 as desired. The first portion 12 and the second portion 14 of the common space 10 are configured to be represented by an image. The teaching device 20 can also include means for initiating a series of instructions for performing a robot jog operation.

本開示による典型的な一連の命令を図2に示す。一連の命令は、干渉確認自動区分法(interference check automatic zone method)200を有する。干渉確認自動区分法200は、先ず、ワークセル4内に少なくとも一つの共通空間10を設ける開始ステップ202を有する。開始ステップ202の後に第1の決定ステップ204及び第2の決定ステップ206が続く。第1の決定ステップ204は、第1のプログラム経路に沿った第1のロボット6の動作中に占有される共通空間10の第1の部分12の決定を含む。第2の決定ステップ206は、第2のプログラム経路に沿った第2のロボット8の動作中に占有される共通空間10の第2の部分14の決定を含む。当然のことながら、第1の部分12及び第2の部分14を、自動的に、すなわち、従来知られているような各ロボットの動作のユーザ指定区分を必要とすることなく決定することができる。その後、第1の部分12及び第2の部分14は、これらの間に重なり210が存在するか否かを決定するために比較ステップ208で比較される。   A typical sequence of instructions according to this disclosure is shown in FIG. The sequence of instructions has an interference check automatic zone method 200. The automatic interference confirmation method 200 first has a start step 202 in which at least one common space 10 is provided in the work cell 4. The start step 202 is followed by a first determination step 204 and a second determination step 206. The first determining step 204 includes determining the first portion 12 of the common space 10 that is occupied during the operation of the first robot 6 along the first program path. The second determining step 206 includes determining the second portion 14 of the common space 10 that is occupied during operation of the second robot 8 along the second program path. Of course, the first part 12 and the second part 14 can be determined automatically, i.e. without requiring user-specified segments of movement of each robot as is known in the art. . Thereafter, the first portion 12 and the second portion 14 are compared in a comparison step 208 to determine if there is an overlap 210 between them.

限定されない例として、第1の決定ステップ及び第2の決定ステップを、第1のロボット6及び第2のロボット8を有するロボットシステム2の開始動作中に実質的にリアルタイムで行うことができる。開始動作を、第1のロボット6と第2のロボット8との任意のあり得る衝突を回避するためにロックダウンモード(lockdown mode)において第1のロボット6及び第2のロボット8によって行うことができる。他の例において、第1の決定ステップ204及び第2の決定ステップ206を、例えば、リアルタイム動作中にロボット6,8によって占有することができる共通空間10の第1の部分12及び第2の部分14を識別するために第1のプログラム経路及び第2のプログラム経路のオフライン実行(offline run)により行うことができる。第1の決定ステップ204及び第2の決定ステップ206中に識別された第1の部分12及び第2の部分14を、例えば、メモリに保持し、第1のロボット6及び第2のロボット8の次の動作中に再利用することができる。その結果、第1のロボット6及び第2のロボット8の衝突に影響を及ぼすために第1のロボット6及び第2のロボット8の動作のプログラム経路すなわち軌道が予め処理されるとともに保持されることを理解すべきである。   As a non-limiting example, the first determination step and the second determination step can be performed substantially in real time during the starting operation of the robot system 2 having the first robot 6 and the second robot 8. The starting action can be performed by the first robot 6 and the second robot 8 in a lockdown mode to avoid any possible collision between the first robot 6 and the second robot 8. it can. In other examples, the first determination step 204 and the second determination step 206 can be occupied by the robots 6, 8 during real-time operation, for example, the first portion 12 and the second portion of the common space 10. 14 can be identified by an offline run of the first program path and the second program path. The first portion 12 and the second portion 14 identified during the first determination step 204 and the second determination step 206 are held in, for example, a memory, and the first robot 6 and the second robot 8 Can be reused during the next operation. As a result, in order to influence the collision between the first robot 6 and the second robot 8, the program path, that is, the trajectory of the operation of the first robot 6 and the second robot 8 is processed and held in advance. Should be understood.

第1のロボット6及び第2のロボット8の第1の移動ステップ212及び第2の移動ステップ214は、重なり210の存在に応じて選択される。第1の部分12と第2の部分14との間に重なり210が存在する場合、ロボット6,8の衝突の可能性があり、第1の移動ステップ212が選択される。第1の移動ステップ212は、第1のプログラム経路に沿う第1のロボット6と第2のプログラム経路に沿う第2のロボット8のうちの一方のみの移動を含む。第1の部分12と第2の部分14との間に重なり210が存在しない場合、ロボット6,8の衝突の可能性がなく、第2の移動ステップ214が選択される。第2の移動ステップ214は、第1のプログラム経路に沿う第1のロボット6の移動及び第2のプログラム経路に沿う第2のロボット8の移動を含む。   The first moving step 212 and the second moving step 214 of the first robot 6 and the second robot 8 are selected according to the presence of the overlap 210. If there is an overlap 210 between the first part 12 and the second part 14, there is a possibility of collision of the robots 6, 8, and the first movement step 212 is selected. The first movement step 212 includes movement of only one of the first robot 6 along the first program path and the second robot 8 along the second program path. If there is no overlap 210 between the first part 12 and the second part 14, there is no possibility of a collision of the robots 6 and 8, and the second movement step 214 is selected. The second moving step 214 includes movement of the first robot 6 along the first program path and movement of the second robot 8 along the second program path.

第1の決定ステップ204及び第2の決定ステップ206を、従来既知の任意の手段によって行うことができる。本開示による一つの特定の実施の形態において、第1の決定ステップ204及び第2の決定ステップ206は、図3〜6に実例で示すような少なくとも一つのボクセル302を有する少なくとも一つのボクセルモデル300を有する共通空間10、第1の部分12及び第2の部分14のうちの少なくとも一つを表すステップを有することができる。ボクセル302は、3次元空間において規則的なグリッド上に値を表すボリュームエレメント(volume element)である。比較ステップ208は、例えば、第1の部分12を表す第1のボクセルモデル300と第2の部分14を表す第2のボクセルモデル300との間に重なり210が存在するか否かを決定するステップを有することができる。ボクセル300は、一般的には第1のロボット6及び第2のロボット8の基部、アーム及び工具のような種々の構成要素の形状を近似する複数のボクセル302によって表される。   The first determination step 204 and the second determination step 206 can be performed by any conventionally known means. In one particular embodiment according to the present disclosure, the first determination step 204 and the second determination step 206 comprise at least one voxel model 300 having at least one voxel 302 as illustrated in FIGS. Can be included to represent at least one of the common space 10, the first portion 12, and the second portion 14. The voxel 302 is a volume element that represents a value on a regular grid in a three-dimensional space. The comparing step 208 determines, for example, whether an overlap 210 exists between the first voxel model 300 representing the first portion 12 and the second voxel model 300 representing the second portion 14. Can have. The voxel 300 is generally represented by a plurality of voxels 302 that approximate the shapes of various components such as the bases, arms, and tools of the first robot 6 and the second robot 8.

図3及び図4を参照すると、実例のボクセルモデル300は、X軸、Y軸及びZ軸に沿った座標に配置された複数のボクセルを有することができる。ボクセルモデル300は、第1のロボット6と第2のロボット8の少なくとも一方によって占有される共通空間10の3次元ボリュームを表現するよう構成される。ボクセルモデル300を、生成されるデータファイルの形態にすることができ、例えば、コントローラ16,18、他のコンピュータ読取可能媒体又は他のメモリに保存することができる。所定の実施の形態において、ボクセルモデル300は、動的であり、ロボットの一連の動作に関連した複数のモデル300を有する。動的なボクセルモデル300を、第1のロボット6と第2のロボット8の少なくとも一方の動作中に占有される共通空間10の3次元ボリュームを表現するために用いることができる。各自動区分を、ボクセルモデル300の複数のスナップショット(snapshot)の累積/重ね合わせ(accumulation/superimposition)から取得し、各スナップショットは、一つ以上のITP間隔から取り出される。   Referring to FIGS. 3 and 4, an example voxel model 300 may have a plurality of voxels arranged at coordinates along the X, Y, and Z axes. The voxel model 300 is configured to represent a three-dimensional volume of the common space 10 occupied by at least one of the first robot 6 and the second robot 8. The voxel model 300 can be in the form of a generated data file and can be stored, for example, in the controller 16,18, other computer readable media, or other memory. In certain embodiments, the voxel model 300 is dynamic and has a plurality of models 300 associated with a series of robot motions. The dynamic voxel model 300 can be used to represent a three-dimensional volume of the common space 10 that is occupied during the operation of at least one of the first robot 6 and the second robot 8. Each automatic segment is obtained from the accumulation / superimposition of multiple snapshots of the voxel model 300, and each snapshot is taken from one or more ITP intervals.

図5及び図6を参照すると、第1のロボット6及び第2のロボット8のボクセルモデル300は、第1のロボット6及び第2のロボット8によって占有された3次元ボリュームを表すためにボクセル化された球500及びボクセル化された円柱502のうちの少なくとも一方を有することができる。ここで更に説明するように、ボクセル化された球500及びボクセル化された円柱502は、第1のロボット6及び第2のロボット8の基部、アーム及び工具のような種々の構成要素を表すことができる。ボクセル化された球500及びボクセル化された円柱502は、一般的には第1のロボット6及び第2のロボット8の一般的な形状及び境界を近似するために相互配置された複数のボクセル302を有する。   Referring to FIGS. 5 and 6, the voxel model 300 of the first robot 6 and the second robot 8 is voxelized to represent the three-dimensional volume occupied by the first robot 6 and the second robot 8. At least one of a sphere 500 and a voxelized cylinder 502. As will be further described herein, the voxelized sphere 500 and the voxelized cylinder 502 represent various components such as the bases, arms and tools of the first robot 6 and the second robot 8. Can do. A voxelized sphere 500 and a voxelized cylinder 502 are typically a plurality of voxels 302 interleaved to approximate the general shape and boundary of the first robot 6 and the second robot 8. Have

当業者は、ボクセル化された球500及びボクセル化された円柱502を任意の適切な手段によって生成することができることを理解すべきである。例えば、ボクセル化された球500を、ロボット6,8の構成要素を表す典型的な球をX−Y平面に投影することによって近似することができる。この場合、球を包囲する最も小さい円柱Aが識別される。その後、同一の球をY−Z平面に投影し、球を包囲する最も小さい円柱Bを識別する。その後、同一の球をZ−X平面に投射し、球を包囲する最も小さい円柱Cを識別する。その後、ボクセル化された球500は、円柱A、円柱B及び円柱Cの交差を識別することによって近似される。   One skilled in the art should understand that the voxelized sphere 500 and the voxelized cylinder 502 can be generated by any suitable means. For example, the voxelized sphere 500 can be approximated by projecting a typical sphere representing the components of the robots 6 and 8 onto the XY plane. In this case, the smallest cylinder A surrounding the sphere is identified. Thereafter, the same sphere is projected onto the YZ plane, and the smallest cylinder B surrounding the sphere is identified. Thereafter, the same sphere is projected onto the ZX plane, and the smallest cylinder C surrounding the sphere is identified. The voxelized sphere 500 is then approximated by identifying the intersection of cylinder A, cylinder B, and cylinder C.

他の実施の形態において、ボクセル化された球500を、ロボット6の構成要素及びロボット8の構成要素を表す球を包囲する最小のボックスを最初に見つけることによって近似することができる。ボックスは、ボリューム占有Aを有する。ボックスAの内側にあるとともに球の外側にあるボクセルボリューム占有Bが識別される。その後、ボクセル球500は、値Aから値Bを減算することによって近似される。   In other embodiments, the voxelized sphere 500 can be approximated by first finding the smallest box that encloses the sphere representing the components of the robot 6 and the components of the robot 8. The box has a volume occupancy A. A voxel volume occupancy B that is inside the box A and outside the sphere is identified. The voxel sphere 500 is then approximated by subtracting the value B from the value A.

ボクセル化された球500を、典型的な球とX−Y平面との交差を識別することによって近似することもできる。交差は、Z軸沿いに球の中心を有し、交差した円形プレートA1を形成する。円形面A1には任意の高さが割り当てられ、その後、交差した円形プレートA1のボクセルの占有が識別される。さらに、円形プレートA2,A3,...,A(n)を、典型的な球とX−Y平面の交差をZ軸に沿ってシフトすることによって決定し、これらのボリューム占有が同様に識別される。その後、ボクセル化された球500は、典型的な球の円形プレートに対して識別されたボクセル占有の各々を統合することによって近似される。   The voxelized sphere 500 can also be approximated by identifying the intersection of the typical sphere and the XY plane. The intersection has the center of the sphere along the Z axis and forms an intersecting circular plate A1. An arbitrary height is assigned to the circular plane A1, and then the voxel occupancy of the intersecting circular plates A1 is identified. Furthermore, the circular plates A2, A3,. . . , A (n) are determined by shifting the intersection of the typical sphere and the XY plane along the Z axis, and these volume occupations are similarly identified. The voxelized sphere 500 is then approximated by consolidating each of the identified voxel occupancy against a typical spherical circular plate.

ボクセル化された円柱502を、左半球/全球のボクセル占有Aを識別し、右半球/全球のボクセル占有Bを識別し、左半球と右半球との間の複数の円形プレートのボクセル占有Cを識別することによって近似することができる。この場合、基線に垂直な円形基板が形成される。基線は、円柱の両端で二つの半球を接続する。次に、円形面を、円形基板をZ軸に沿ってシフトすることによって取得することができる。基線のボクセル占有を計算し、次に、二つの半球間の全領域を満たすために基線をシフトすることもできる。次に、ボクセル化された円柱502を、ボクセル占有A、ボクセル占有B及びボクセル占有Cの各々を統合することによって近似する。   The voxelized cylinder 502 identifies the left hemisphere / global voxel occupancy A, identifies the right hemisphere / global voxel occupancy B, and determines the voxel occupancy C of the plurality of circular plates between the left hemisphere and the right hemisphere. It can be approximated by identifying. In this case, a circular substrate perpendicular to the base line is formed. The baseline connects the two hemispheres at the ends of the cylinder. Next, a circular surface can be obtained by shifting the circular substrate along the Z axis. It is also possible to calculate the baseline voxel occupancy and then shift the baseline to fill the entire area between the two hemispheres. Next, the voxelized cylinder 502 is approximated by integrating each of voxel occupancy A, voxel occupancy B, and voxel occupancy C.

ボクセル化された円柱502を近似する他の方法は、ロボットの構成要素を表す典型的な円柱を包囲することができる最小のボックスを最初に識別することを含む。ボックスはボリューム占有Aを有する。その後、ボックスの内側にあるとともに円柱の外側にあるボクセルボリューム占有Bが識別される。次に、ボクセル化されたシリンダ502を、ボクセルボリューム占有Aからボクセル占有Bを減算することによって近似する。当業者は、ロボット6,8の構成要素を表すボクセル化された球500及び円柱502を近似するのに適切な他の手段を所望に応じて用いることができることを理解すべきである。   Another method of approximating the voxelized cylinder 502 involves first identifying the smallest box that can surround a typical cylinder representing a robot component. The box has volume occupancy A. Thereafter, the voxel volume occupancy B that is inside the box and outside the cylinder is identified. Next, the voxelized cylinder 502 is approximated by subtracting voxel occupancy B from voxel volume occupancy A. Those skilled in the art should understand that other means suitable for approximating the voxelized spheres 500 and cylinders 502 representing the components of the robots 6, 8 can be used as desired.

ボクセル化(voxelization)を、ロボット、アームドレスアウト(arm dressout)及びツーリング(tooling)を表すことができる任意のCAD表面又はボリューム(CAD surface or volume)から同様にして決定することもできる。   Voxelization can be similarly determined from any CAD surface or volume that can represent robots, arm dressouts, and tooling.

ボクセル化は、ロボットの動作セグメント(motion segment)によって占有される空間を表すのに非常に有効な方法である。ボクセル化工程は、ボクセル化された空間を形成するためにある程度の計算オーバーヘッド(computational overhead)を有するが、ランタイムコンポーネント(run-time component)は非常に有用である。一度空間がボクセル化されると、動作経路中にロボットによって占有される共通空間の複雑さの程度又は量に関係なくボクセル化された空間に要求される最大の記憶容量は固定される。ボクセル化された空間の間の干渉のランタイム確認は非常に有効である。好適な実施の形態は、ボクセル化された領域によって表すために干渉確認自動区分を提供するが、動作経路中にロボットによって占有される空間のボリューム又は表面を表す任意の方法を用いることができる。   Voxelization is a very effective way to represent the space occupied by robot motion segments. Although the voxelization process has some computational overhead to form a voxelized space, a run-time component is very useful. Once the space is voxelized, the maximum storage capacity required for the voxelized space is fixed regardless of the degree or amount of complexity of the common space occupied by the robot in the motion path. Runtime verification of interference between voxelized spaces is very effective. Although the preferred embodiment provides for interference confirmation automatic segmentation to be represented by voxelized regions, any method of representing the volume or surface of space occupied by the robot in the motion path can be used.

他の実施の形態は、プログラムされた動作中、ジョグ操作によって開始される動作中又は他の手段によって開始される動作中の衝突を回避する。他の実施の形態は、動作中のロボットを、ワークセル中の静止しているロボット、他の固定された物体又は他の規定された領域への衝突から保護する。プログラムされた動作に対して、ボクセル化工程又は他の干渉確認自動区分モデル化工程を、オフライン中又はテストラン中に行うことができ、ボクセル化されたデータは、後の探索のために効率的に格納される。この工程を、新たな動作経路が新たなプログラム、ロボットのジョグ操作又は他の手段によって開始される動作から決定されるときにリアルタイムで行うこともできる。これらの場合に対して、一連の命令を、教示装置の使用又は動作を開始する他の手段によって決定することができる。実際の動作は、工程が完了するとともにこの干渉確認自動区分及び他の占有された干渉確認自動区分による干渉がなくなるまで開始するのを許可されない。   Other embodiments avoid collisions during programmed operations, operations initiated by jog operations, or operations initiated by other means. Other embodiments protect the operating robot from collisions with stationary robots, other fixed objects, or other defined areas in the work cell. For programmed operations, a voxelization process or other interference verification automatic segmentation modeling process can be performed off-line or during a test run, and the voxelized data is efficient for later exploration. Stored in This process can also be performed in real time when a new motion path is determined from a new program, robot jog operation or motion initiated by other means. For these cases, the sequence of instructions can be determined by other means of initiating use or operation of the teaching device. The actual operation is not allowed to start until the process is complete and there is no interference due to this and other occupied interference confirmation auto-segments.

他の実施の形態において、共通空間10の第1の部分12及び第2の部分14の少なくとも一方は、第1のロボット6及び第2のロボット8の少なくとも一方に取り付けられたツーリングによって占有されるツーリング空間(tooling space)及びドレスアウトアッセンブリ(dressout assembly)(例えば、アークツールワイヤフィーダ(ArcTool wire feeder))を有することができる。重なり210を決定するステップは、第1の部分12及び第2の部分14の少なくとも一方とロボット以外の障害(non-robot obstacle)(図示せず)によって占有される共通空間10の第3の部分との比較を含むこともできる。障害を、所望に応じて共通空間10の寸法、形状及び位置を規定するのに用いられるパラメータのセットによって手動で特定することができる。他の例において、方法200は、障害によって占有される共通空間10の第3の部分を決定するステップを更に有することができる。ロボット以外の障害によって占有される共通空間の第3の部分を所望に応じて同様なボクセルモデル300のボクセル302によって表すこともできることを理解すべきである。   In another embodiment, at least one of the first portion 12 and the second portion 14 of the common space 10 is occupied by a tooling attached to at least one of the first robot 6 and the second robot 8. There can be a tooling space and a dressout assembly (eg, an ArcTool wire feeder). The step of determining the overlap 210 includes a third portion of the common space 10 occupied by at least one of the first portion 12 and the second portion 14 and a non-robot obstacle (not shown). A comparison with can also be included. Obstacles can be identified manually by a set of parameters used to define the size, shape and position of the common space 10 as desired. In other examples, the method 200 can further comprise determining a third portion of the common space 10 occupied by the obstacle. It should be understood that the third portion of the common space occupied by obstacles other than robots can be represented by voxels 302 of a similar voxel model 300 as desired.

本開示の方法200は、第1のプログラム経路に沿った第1のロボット6の動作及び第2のプログラム経路に沿った第2のロボット8の動作の少なくとも一方の後に共通空間10の非占有部分を決定するステップを更に有することもできる。この場合、共通空間10の非占有部分を、所望に応じて他のプログラム経路すなわち軌道に従う他のロボットによって使用できるようにする。他の実施の形態において、方法200は、本開示の方法200による他の使用のために共通空間10の第1の部分12及び第2の部分14の座標を少なくとも一つのコントローラ16,18に移すステップを有することができる。この場合、コントローラ16,18は、ここで説明した第1の決定ステップ204及び第2の決定ステップ206の少なくとも一方を行うとともに座標を第1の部分12及び第2の部分14を表すボクセルモデル300に変換するために用いることができる。   The method 200 of the present disclosure includes an unoccupied portion of the common space 10 after at least one of the movement of the first robot 6 along the first program path and the movement of the second robot 8 along the second program path. Can be further included. In this case, an unoccupied portion of the common space 10 is made available for use by other robots following other program paths or trajectories as desired. In other embodiments, the method 200 transfers the coordinates of the first portion 12 and the second portion 14 of the common space 10 to at least one controller 16, 18 for other uses according to the method 200 of the present disclosure. Can have steps. In this case, the controllers 16 and 18 perform at least one of the first determination step 204 and the second determination step 206 described here, and coordinate the voxel model 300 representing the first portion 12 and the second portion 14. Can be used to convert

当業者は、共通空間10の第1の部分12と第2の部分14との間に重なりが存在するか否かを決定する際に第1のロボット6の動作と第2のロボット8の動作のそれぞれを優先値によって決定できることを理解すべきである。限定されない例として、第1のロボット6及び第2のロボット8の優先値は、先入れ先出しシステムに基づくことができる。他の例において、第1のロボット6及び第2のロボット8の一方は、常に第1のロボット6及び第2のロボット8の他方よりも高い優先値を有することができる。高い優先値は、ロボットシステム2のロボット6,8の優先度に対する予め決定されたユーザ設定に基づくことができる。他の例において、優先値を、共通空間10内の非占有部分の利用可能性に基づいて選択することができる。当業者は、所望に応じて第1のロボット6及び第2のロボット8に対して所望の優先値を割り当てることができる。   A person skilled in the art will determine whether there is an overlap between the first portion 12 and the second portion 14 of the common space 10 and the operation of the first robot 6 and the operation of the second robot 8. It should be understood that each of these can be determined by a priority value. As a non-limiting example, the priority values of the first robot 6 and the second robot 8 can be based on a first-in first-out system. In another example, one of the first robot 6 and the second robot 8 can always have a higher priority value than the other of the first robot 6 and the second robot 8. The high priority value can be based on a predetermined user setting for the priority of the robots 6, 8 of the robot system 2. In other examples, the priority value can be selected based on the availability of unoccupied portions in the common space 10. A person skilled in the art can assign a desired priority value to the first robot 6 and the second robot 8 as desired.

他の実施の形態において、方法200は、デッドロック状態となり得る重なり210の存在に対する複数のプログラム経路を分析するステップを更に有することができる。次に、デッドロック状態の発生に影響を及ぼすために複数のプログラム経路の動作シーケンスを所望に応じて調整することができる。動作シーケンスを、例えば、所望に応じて優先値に基づいて手動で又は自動的に調整することができる。   In other embodiments, the method 200 can further comprise analyzing a plurality of program paths for the presence of an overlap 210 that can be deadlocked. Next, the operation sequence of the plurality of program paths can be adjusted as desired to affect the occurrence of a deadlock condition. The operating sequence can be adjusted manually or automatically based on priority values, for example, as desired.

当然のことながら、本開示の干渉確認自動区分システム2及び方法200は、従来のマルチアームロボットシステムよりも優れた利点を提供することができる。システム2及び方法200は、3次元的なリアルタイムの衝突回避を行う。システム2は、最小のプログラミングしか必要としない。その理由は、システム2が干渉区域の特定又は教示の必要に影響を及ぼすからである。これによって、生産休止時間も減少する。   Of course, the automatic interference confirmation segmentation system 2 and method 200 of the present disclosure can provide advantages over conventional multi-arm robot systems. System 2 and method 200 provide three-dimensional real-time collision avoidance. System 2 requires minimal programming. The reason is that system 2 affects the need for identifying or teaching interference areas. This also reduces production downtime.

当業者は、ボクセル化された球500及び円柱502を使用することによって典型的にはロボットモデルの生成に関連した処理要求を最小にすることも理解すべきである。第1のロボット6及び第2のロボット8の動作は、例えば、ボクセルモデル300のオフライン生成によってシステム2に予め伝達される。同様に、第1のロボット6及び第2のロボット8のプログラム経路すなわち軌道は、衝突なく保持される。工程経路は、切断、溶接、研削、ルーティング(routing)、塗装、分配(dispensing)等のアプリケーション工程(application process)又は他の同様な工程を行う間の一連の動作である。一度工程が開始されると全体の工程経路を中断なく完了することは、一般的には重要である。当然のことながら、第1のロボット6及び第2のロボット8の重要な工程経路も本方法200によって同様に保護される。   One skilled in the art should also understand that using voxelized spheres 500 and cylinders 502 typically minimizes processing requirements associated with robot model generation. The operations of the first robot 6 and the second robot 8 are transmitted in advance to the system 2 by, for example, off-line generation of the voxel model 300. Similarly, the program paths or trajectories of the first robot 6 and the second robot 8 are maintained without collision. A process path is a series of operations during an application process such as cutting, welding, grinding, routing, painting, dispensing, or other similar processes. It is generally important to complete the entire process path without interruption once the process is started. Of course, the critical process paths of the first robot 6 and the second robot 8 are similarly protected by the method 200.

システム2は、所望に応じて同一のコントローラ16,18内及び複数のコントローラ16,18間の複数のロボットアームの衝突の回避をサポートする。さらに、システム2及び方法200は、簡単なロボット形態を提供し、所定の従来のシステム及び方法で行われるようなI/Oハンドシェイクプロトコルの必要に影響を及ぼす。干渉確認自動区分システム2及び方法200は、複数のアーム干渉確認の形態を簡単化し、複数のロボットアームのデッドロックに影響を及ぼす。   The system 2 supports the avoidance of multiple robot arm collisions within and between the same controllers 16, 18 as desired. In addition, system 2 and method 200 provide a simple robot configuration and affect the need for I / O handshake protocols as performed in certain conventional systems and methods. The automatic interference confirmation sorting system 2 and method 200 simplify the form of multiple arm interference confirmation and affect the deadlock of multiple robot arms.

干渉防止及びデッドロック防止は密接な関係がある。干渉は、二つのロボットが同一の物理的な空間を占有することを試みるときに生じる。干渉を防止する一つの方法は、現在の動作コマンドにおいて全てのロボットによって占有されている又は将来占有される空間の確認及び干渉が生じる前の一つ以上のロボットの停止を伴う。このタイプの干渉防止は、停止しているロボットの一つ以上が他のロボットによって必要である又は将来必要とされる空間を現在占有しているとともに他のロボットにより妨害され続けているために停止しているロボットが始動できないときにデッドロックが生じる傾向が非常に高いという重大な不都合を有する。   Interference prevention and deadlock prevention are closely related. Interference occurs when two robots attempt to occupy the same physical space. One way to prevent interference involves identifying the space occupied by all robots or currently occupied in the current motion command and stopping one or more robots before interference occurs. This type of interference prevention is stopped because one or more of the stopped robots are currently occupying space that is needed by other robots or will be needed in the future and continues to be disturbed by other robots. This has the serious disadvantage that deadlocks are very prone to occur when the robot in question cannot be started.

干渉を防止する他の方法は、ロボットプログラムに開始区分コマンド及び終了区分コマンド(enter and exit zone commands)をプログラム的に(programmatically)挿入することによって設定することである。これらのコマンドは、一つのロボットだけが一度に特定区分を占有できるようにすることを容易にするためにPLC又は他のロボットとやり取りを行う。単一の区分に対して、ほとんど影響がない。主要な問題は、利用可能となっているときに複数のロボットが待機中である場合に誰が区分を取得するかという優先度の一つである。しかしながら、複数の区分に対して、デッドロックが非常に生じやすくなっている。例えば、隣接する区分に対して、各ロボットが現在一つの区分を占有するとともに次の動作が他のロボットに占有されている区分内で行われるか否かを知ることは容易である。この場合、各ロボットは、他のロボットが所望の区分をあきらめるのを永久に待つ。デッドロック状態が生じる。   Another way to prevent interference is to set it by programmatically inserting start and end zone commands into the robot program. These commands interact with the PLC or other robots to facilitate allowing only one robot to occupy a particular segment at a time. There is little effect on a single segment. The main issue is one of the priorities of who gets the classification when multiple robots are waiting when available. However, deadlock is very likely to occur for a plurality of sections. For example, for adjacent segments, it is easy to know whether each robot currently occupies one segment and the next action is performed in the segment occupied by another robot. In this case, each robot will wait forever for the other robot to give up the desired segment. A deadlock condition occurs.

本発明によるシステム及び方法は、起こりうるデッドロック状態を有する動作を実行する前にデッドロックフリー動作ステートメントを決定することによって上述した場合におけるデッドロック状態を除外する。デッドロックフリー動作ステートメントの決定を、オフラインで、通常の実行とは別に又は通常の製造の実行中に行うことができる。十分なCPU処理時間を利用できる場合、通常の製造の実行中の決定は、I/Oタイミングの変化又は外部イベント若しくはシーケンスのタイミングの変化のような動的な条件に応答するのに最大の適応性を与える。最小のCPUの影響に対して、決定はオフラインで行われ、この場合、プログラムシーケンス(programming sequence)の多数の順列(permutation)を分析することができ、最適化された実行のシーケンスを見つけることができる。   The system and method according to the present invention eliminates the deadlock condition in the above case by determining a deadlock free action statement before performing an action with a possible deadlock condition. The determination of the deadlock-free operation statement can be made offline, separately from normal execution or during normal manufacturing execution. If sufficient CPU processing time is available, normal manufacturing in-progress decisions are most adaptive to respond to dynamic conditions such as changes in I / O timing or timing of external events or sequences Give sex. For minimal CPU effects, decisions are made offline, in which case a large number of permutations of the programming sequence can be analyzed to find an optimized sequence of execution. it can.

本発明によるシステム及び方法は、既知のデッドロックフリーシーケンス(deadlock-free sequence)を必要としない。システム及び方法は、起こりうるデッドロック状態を自動的に決定し、起こりうるデッドロック状態を回避する方法を特定することができる。システム及び方法は、デッドロックを回避するために優先値を必要としない。システム及び方法は、干渉状態を防止し、同時に、デッドロック状態の可能性が存在しないようにする。   The system and method according to the present invention does not require a known deadlock-free sequence. The system and method can automatically determine possible deadlock conditions and identify ways to avoid possible deadlock conditions. The system and method do not require priority values to avoid deadlocks. The system and method prevent interference conditions while at the same time eliminating the possibility of deadlock conditions.

第1のロボットによって実行される「元のプログラムA」のリスト401の行番号及び第2のロボットによって実行される「元のプログラムB」のリスト403の行番号の「デッドロックフリー行列」400を、図7に示す。行列400の網掛けセルは、デッドロックフリー領域を規定する上方向の凸包(ascending convex hull)を表す。網掛けセルの大部分は、一方のプログラムの行i−1から行iまでの経路及び他方のプログラムの行j−1から行jまでの経路の進行中に干渉を有するプログラム行の対を表す。残りのセルは、上方向の凸包を完成することが要求される。行列400のセルを、(i,j)の形式で指定することができ、この場合、iは、プログラムAの行番号であり、jは、プログラムBの行番号である。したがって、干渉セルは、(3,6;3,7;4,5;4,6;4,7;5,4;5,5;5,6;5,7)であり、残りのセルは、(3,4;3,5;4,4)である。   The “dead lock free matrix” 400 of the line number of the list 401 of “original program A” executed by the first robot and the line number of the list 403 of “original program B” executed by the second robot As shown in FIG. The shaded cells in the matrix 400 represent an upward convex hull that defines a deadlock free region. Most of the shaded cells represent pairs of program lines that have interference during the course of the path from line i-1 to line i of one program and the path from line j-1 to line j of the other program. . The remaining cells are required to complete the upward convex hull. Cells of the matrix 400 can be specified in the form (i, j), where i is the line number of program A and j is the line number of program B. Thus, the interfering cells are (3, 6; 3, 7; 4, 5; 4, 6; 4, 7; 5, 4; 5, 5; 5, 6; 5, 7), and the remaining cells are (3, 4; 3, 5; 4, 4).

例えば、プログラムAが行3にあり、プログラムBが行5にある場合、デッドロック状態が存在する。その理由は、Aが行4に移動することを試みる場合、行5でBとの干渉があり、Bが行6に移動することを試みる場合、行3でAとの干渉があるからである。したがって、いずれのロボットも進行することができない。Aの行3から行5まで及びBの行4から行7までのデッドロック区分を完成することによって、一方のプログラムA又はBのみが一度にこの区分を占有することができる。これは、「新たなプログラムA」のリスト402及び「新たなプログラムB」のリスト404に示すようなプログラムの例においてZONE[1]として識別される。   For example, if program A is on line 3 and program B is on line 5, a deadlock condition exists. The reason is that if A attempts to move to row 4, there is interference with B in row 5, and if B attempts to move to row 6, there is interference with A in row 3. . Therefore, none of the robots can advance. By completing the deadlock partition from A row 3 to row 5 and B row 4 to row 7, only one program A or B can occupy this partition at a time. This is identified as ZONE [1] in the example of the program as shown in the list 402 of “new program A” and the list 404 of “new program B”.

図8は、「干渉行列」405を三つのデッドロックフリー区分:ZONE[1],ZONE[2],ZONE[3]に細分することができる例を示す。干渉セルは、(3,3;3,4;3,5;3,6;3,7;4,5;4,6;4,7;5,4;5,5;5,6;5,7:6,6;6,7)である。ZONE[1]は、セル(3,3;3,4;3,5;3,6;3,7)を有する。ZONE[2]は、セル(4,5;4,6;4,7;5,4;5,5;5,6;5,7)を有する。ZONE[3]は、(6,6;6,7)を有する。上方向の凸包は、三つの凸包を形成できるようにするとともに全領域が上に凸となるように、仮想的な干渉であるセル(4,4)を通じて形成される。三つの区分は、「新たなプログラムA」リスト406及び「新たなプログラムB」リスト407に組み込まれる。任意の干渉のない行の対の組合せにおいて少なくとも一つのプログラムが干渉なく次の行に進むことができる場合はない。   FIG. 8 shows an example where the “interference matrix” 405 can be subdivided into three deadlock-free categories: ZONE [1], ZONE [2], ZONE [3]. The interfering cells are (3,3; 3,4; 3,5; 3,6; 3,7; 4,5; 4,6; 4,7; 5,4; 5,5; 5,6; 5 7: 6, 6; 6, 7). ZONE [1] has cells (3, 3; 3, 4; 3, 5; 3, 6; 3, 7). ZONE [2] has cells (4, 5; 4, 6; 4, 7; 5, 4; 5, 5; 5, 6; 5, 7). ZONE [3] has (6, 6; 6, 7). The upward convex hull is formed through the cells (4, 4) which are virtual interferences so that three convex hulls can be formed and the entire region is convex upward. The three sections are incorporated in the “new program A” list 406 and the “new program B” list 407. It is not possible for at least one program to proceed to the next row without interference in any combination of row pairs without interference.

図9は、デッドロックが存在しうる複数の干渉領域及び二つのデッドロック領域を有するプログラムの対の例を示す。「プログラムA」は、行3から行15までの経路409を進む。「プログラムB」は、行9から行21までの経路410を進む。プログラムは、経路及び表413に示すような第1のデッドロック領域412及び第2のデッドロック領域411を有する。単一のデッドロック領域を形成する簡単な方法は、全ての干渉領域及び介在する非干渉領域を組み合わせて表414に示すような単一の領域にすることであり、この領域は、もともとデッドロックがない。   FIG. 9 shows an example of a program pair having a plurality of interference regions where two deadlocks may exist and two deadlock regions. “Program A” follows the path 409 from line 3 to line 15. “Program B” follows the path 410 from line 9 to line 21. The program has a path and a first deadlock area 412 and a second deadlock area 411 as shown in Table 413. A simple way to form a single deadlock region is to combine all interfering regions and intervening non-interfering regions into a single region as shown in Table 414, which was originally deadlocked. There is no.

図10は、「プログラムA」及び「プログラムB」をそれぞれ実行するロボット6,8の五つのシーケンスを示す。最も左にある第1のシーケンスにおいて、ロボット6は、ロボット8が動作することなく「プログラムA」を実行する。右側の次のシーケンスにおいて、ロボット8は、ロボット6が動作することなく「プログラムB」を実行する。真ん中のシーケンスにおいて、ロボット6,8は、各プログラムを同時に実行し、衝突が生じる。右側の次のシーケンスは、デッドロックが生じる従来の干渉回避を行いながら各プログラムを同時に実行するロボット6,8を示す。最も右側のシーケンスは、本発明によるデッドロック防止を行いながら各プログラムを同時に実行するロボット6,8を示し、両プログラムは、干渉なく完了する。   FIG. 10 shows five sequences of the robots 6 and 8 that execute “program A” and “program B”, respectively. In the first sequence on the far left, the robot 6 executes the “program A” without the robot 8 operating. In the next sequence on the right side, the robot 8 executes the “program B” without the robot 6 operating. In the middle sequence, the robots 6 and 8 execute each program simultaneously, and a collision occurs. The next sequence on the right shows the robots 6 and 8 that execute each program simultaneously while avoiding the conventional interference that causes deadlock. The rightmost sequence shows the robots 6 and 8 that simultaneously execute each program while preventing deadlock according to the present invention, and both programs are completed without interference.

上述したシステム及び方法は、衝突の防止とあり得るデッドロックの処理の両方を行うためにプログラムステートメントを自動的に追加及び/又は修正する。一部のケースにおいて、発される自動待機コマンドによって、全体のサイクル時間を所定のジョブのために増大させる。サイクル時間の増大が許容されない場合、本発明によるシステム及び方法は、ロボットが停止することなくプログラムを実行することができる再設定経路(re-sequenced path)を推奨又は自動的に形成する。すなわち、二つのロボットが一度に同一空間を占有する予定である経路の部分が存在する場合、システム及び方法は、この状態を除去するために新たな経路シーケンス(溶接を想定した場合には、異なる順序のスポット)を自動的に推奨する。このようにプログラム命令を再設定する特徴は、塗装屋の塗布に用いることができる。   The systems and methods described above automatically add and / or modify program statements to both prevent collisions and handle possible deadlocks. In some cases, an automatic wait command that is issued increases the overall cycle time for a given job. If an increase in cycle time is not allowed, the system and method according to the present invention recommends or automatically creates a re-sequenced path that allows the robot to execute the program without stopping. That is, if there is a portion of the path that two robots will occupy the same space at one time, the system and method will be different if a new path sequence (if welding is assumed) to eliminate this condition. Automatically recommend spot order). The feature of resetting the program instructions in this way can be used for paint shop application.

条件実行ステートメントがプログラム中に生じる場合、分析は、シーケンシャル実行の全ての組合せを含むことができる。又は、簡単のために、条件分岐領域に含まれるプログラムセグメントを、独立したものとして扱うことができる。典型的には、ロボットプログラマは、そのような条件領域を教示し、領域に対する入力経路及び領域に対する出力経路が他のロボットとの干渉を有さなくするとともに独立した扱いを実用的にできるようにする。しかしながら、条件領域に対する入力経路及び条件領域に対する出力経路が他のロボットとの干渉を有する場合、干渉のないこと及びデッドロックのないことを保証するために条件領域及び非条件領域の複数の組合せを分析する。   If conditional execution statements occur in the program, the analysis can include all combinations of sequential execution. Alternatively, for the sake of simplicity, the program segments included in the conditional branch area can be treated as independent. Typically, a robot programmer will teach such a conditional region so that the input path to the region and the output path to the region will have no interference with other robots and be able to make independent handling practical. To do. However, if the input path to the conditional area and the output path to the conditional area have interference with other robots, multiple combinations of conditional and non-conditional areas are used to ensure no interference and no deadlock. analyse.

この方法の利点の一つは、デッドロック状態を除去することができる機構と同一の機構が通常のプログラム動作中に干渉も除去できることである。したがって、ロボット間の干渉のリアルタイムの確認を、通常プログラム動作中に除去することができる。これは、処理時間を更に高い補間速度すなわち更に短い補間時間のような他の目的のために用いることができる著しいCPU利用を確保することができる。エラー状態中すなわちプログラムが実行されないとき、「3次元自動区分によるマルチアームロボットシステム干渉確認」(Multi-Arm Robot System Interference Check Via Three Dimensional Automatic Zones)の表題の同時係属中の米国特許出願第12/124,430号で提案されているようなCPUの使用が少ない干渉確認を、干渉を防止するために用いることができる。   One advantage of this method is that the same mechanism that can eliminate the deadlock condition can also eliminate interference during normal program operation. Thus, real-time confirmation of interference between robots can be eliminated during normal program operation. This can ensure significant CPU utilization where processing time can be used for other purposes such as higher interpolation speeds, ie shorter interpolation times. In an error state, ie, when the program is not executed, the co-pending US patent application Ser. No. 12/11 entitled “Multi-Arm Robot System Interference Check Via Three Dimensional Automatic Zones”. Interference confirmation such as that proposed in US Pat. No. 124,430, which uses less CPU, can be used to prevent interference.

プログラムによって占有される空間を、物理的な空間、時間、プログラムシーケンス、行番号、プルグラム若しくは行の完了の割合又はロボット、プログラム若しくはシステムに関連した状態変化の関数とすることができる。干渉領域及びデッドロック領域は、占有空間を規定する関数と同一の関数によって関連付けられる。   The space occupied by a program can be a function of physical space, time, program sequence, line number, percentage of programs or lines, or state changes associated with a robot, program or system. The interference area and the deadlock area are related by the same function as the function defining the occupied space.

デッドロックを回避する方法をさまざまな形で実行することができる。最も簡単な方法は、図9に示すようにデッドロック及び干渉を防止するよう干渉領域を展開する(expand)ことである。全プログラムに対して一つの干渉領域のみが存在するように干渉領域を展開することは、システムがデッドロックフリーになることを保証するが、サイクル時間が重要である場合、シーケンス制御の一部のソート及び/又は複数の干渉領域を用いることができる。他の方法は、デッドロックを防止するために干渉領域外に実行シーケンスを設けることである。これを、第1のロボットが進行する前にデッドロック状態が存在しうるプログラム実行の一部を完了するために第1のロボットが第2のロボットを待機することによって簡単に行うことができる。   There are various ways to avoid deadlocks. The simplest method is to expand the interference region to prevent deadlock and interference as shown in FIG. Expanding the interference area so that there is only one interference area for the entire program ensures that the system is deadlock free, but if cycle time is important, it is part of the sequence control. Sorting and / or multiple interference regions can be used. Another method is to provide an execution sequence outside the interference area to prevent deadlock. This can be easily done by having the first robot wait for the second robot to complete a portion of the program execution where a deadlock condition may exist before the first robot proceeds.

占有空間を決定することができる複数の方法がある。最も簡単な方法は、占有面積を純粋にプログラム実行中にロボットによって占有される累積空間(cumulative space)とすることである。複数のロボットがこのように決定された占有空間を有するとき、干渉領域は、各ロボットの累積占有空間の交差である単なる空間となる。一つのロボットのみが一度にこの空間に入ることを許容することによって、干渉とデッドロックの両方を防止する。   There are several ways in which the occupied space can be determined. The simplest method is to make the occupied area purely the cumulative space occupied by the robot during program execution. When a plurality of robots have the occupied space determined in this way, the interference area is simply a space that is an intersection of the accumulated occupied spaces of the robots. By allowing only one robot to enter this space at a time, both interference and deadlock are prevented.

他の方法は、占有空間を時間の関数として決定することである。各時点において、各ロボットによって占有される空間が存在する。占有空間を特定の期間にわたる時間の積分として表すことによって、占有空間を、時間に関連した一連の離散空間として表すことができる。干渉領域は、同一時間又は時間間隔におけるロボットの交差となる。干渉を、一度に一つのロボットだけが干渉領域に存在できるようにすることによって回避することができる。相対的時間(relative time)がシーケンス制御により変化するので、時間基準を、シーケンス制御が行われた後に新たな時間に関連するように調整する必要がある。   Another method is to determine the occupied space as a function of time. There is a space occupied by each robot at each point in time. By representing the occupancy space as an integral of time over a specific period, the occupancy space can be represented as a series of discrete spaces related to time. The interference area is a robot intersection at the same time or time interval. Interference can be avoided by allowing only one robot at a time to be in the interference area. Since the relative time varies with sequence control, the time reference needs to be adjusted to relate to the new time after sequence control is performed.

上述した時間に基づく方法に対して、時間を時間間隔数(time interval number)として表すことができる。この方法では、全経過時間は重要でなくなり、干渉領域を時間間隔数の行列として表すことができる。特定の時間間隔状態で干渉が存在する場合、当該時間間隔状態の発生を許容しないようにする必要がある。その理由は、当該時間間隔状態で衝突が生じうるからである。   For the time-based method described above, time can be expressed as a time interval number. In this method, the total elapsed time is not important and the interference area can be represented as a matrix of the number of time intervals. When interference exists in a specific time interval state, it is necessary not to allow the occurrence of the time interval state. This is because a collision can occur in the time interval state.

同様に、プログラムシーケンスを、行番号、完了の割合、プログラム状態等によって表すことができる。そのような任意のシーケンシャル表示に対して、選択されたパラメータの関数として規定された干渉を表示することができる。干渉を回避する目的は、干渉が存在する関数の集合の状態を回避することである。シーケンシャル離散間隔すなわちシーケンシャル状態として表すことができる関数に対して、これを、図8に示すような干渉行列として表すことができる。干渉行列は干渉領域を有する。当然、行列は、データを表す一つの方法にすぎないが、行列を、更に視覚的な表現にすることができる。一般的に、行列はスパースであり、任意のスパース行列技術を表示に適用することができる。   Similarly, a program sequence can be represented by line number, completion rate, program state, and the like. For any such sequential display, the specified interference as a function of the selected parameter can be displayed. The purpose of avoiding interference is to avoid the state of the set of functions in which interference exists. For a function that can be expressed as a sequential discrete interval or sequential state, this can be expressed as an interference matrix as shown in FIG. The interference matrix has an interference area. Of course, a matrix is just one way of representing data, but a matrix can be a more visual representation. In general, the matrix is sparse, and any sparse matrix technique can be applied to the display.

I/O状態若しくは工程又は他の状態のような状態規定を、領域を規定するために用いることができる。状態がシーケンシャルな意味を有し又はロボット位置及び占有空間に関連したシーケンシャル動作を表すために規定できる限り、状態を干渉領域及びデッドロック領域のパラメータ表示に用いることができる。   State definitions such as I / O states or processes or other states can be used to define the region. As long as the state has a sequential meaning or can be defined to represent a sequential motion relative to the robot position and occupied space, the state can be used for parameter display of interference and deadlock regions.

一度干渉行列が決定されると、デッドロックを防止する一つの方法は、干渉が順方向シーケンシング(forward sequencing)を妨害するシーケンス番号の単調増加の任意の「トラップ」を回避することである。干渉行列を上に凸(ascendingly convex)にすることによって、デッドロックと干渉の両方を回避することができる。このように上に凸である干渉行列を、デッドロック行列と称することができる。デッドロック行列は、図7に示すようなデッドロック領域を有する。干渉と同様に、デッドロック行列は、データを表す一つの方法にすぎない。   Once the interference matrix is determined, one way to prevent deadlock is to avoid any “trapping” of monotonically increasing sequence numbers where interference interferes with forward sequencing. By making the interference matrix ascendingly convex, both deadlock and interference can be avoided. Such an interference matrix that is convex upward can be referred to as a deadlock matrix. The deadlock matrix has a deadlock region as shown in FIG. Similar to interference, a deadlock matrix is just one way of representing data.

一度デッドロック行列を決定するとデッドロック及び干渉を回避する多数の手段がある。最も簡単な手段は、デッドロック行列のデッドロック領域を回避するよう実行タイミングを調整するためにプログラムに命令を挿入することである。プログラムに命令を追加することは、実行タイミングの正確な性質を単なるプログラム観察だけによって決定できることである。他の手段は、実際のプログラム変更とは別にタイミングを決定することができる。   Once the deadlock matrix is determined, there are a number of ways to avoid deadlocks and interference. The simplest means is to insert instructions into the program to adjust the execution timing so as to avoid deadlock areas of the deadlock matrix. Adding instructions to the program means that the exact nature of execution timing can be determined by mere program observation. Other means can determine the timing separately from the actual program change.

干渉領域及びデッドロック領域のパラメータ規定は、干渉及びデッドロックを回避するための一般的な方法を提供する。このような領域の表示によって、種々の係数(factor)による種々のプログラム制御を可能にする。   The parameter definition of the interference area and deadlock area provides a general way to avoid interference and deadlock. The display of such areas allows various program controls with various factors.

また、CPUの利用を減らすために、実際のプログラムを、デッドロック状態を回避するために必要な全ての情報がプログラムに含まれるように区分及びシーケンシャル情報を含むために更新することができる。これによって、プログラムシーケンス、干渉及びあり得るデッドロック状態をリアルタイムで確認する必要がなくなる。   Also, to reduce CPU usage, the actual program can be updated to include partition and sequential information so that all the information necessary to avoid deadlock conditions is included in the program. This eliminates the need to check in real time the program sequence, interference and possible deadlock conditions.

図11は、本発明のシステム及び方法によるデッドロック回避シーケンスの流れ図である。ステップ420において、プログラムをロボットコントローラ16,18に教示する。ステップ421において、占有空間を決定する。その後、ステップ422において、干渉領域を決定する。ステップ423において、あり得るデッドロック領域を決定する。ステップ424において、デッドロックを回避するためのプログラム実行要求を決定する。最後に、上述したように、デッドロックを回避するための機構をステップ425で決定する。   FIG. 11 is a flow diagram of a deadlock avoidance sequence according to the system and method of the present invention. In step 420, the program is taught to the robot controllers 16 and 18. In step 421, the occupied space is determined. Thereafter, in step 422, an interference area is determined. In step 423, possible deadlock regions are determined. In step 424, a program execution request for avoiding deadlock is determined. Finally, as described above, a mechanism for avoiding deadlock is determined in step 425.

ステップ423を、図12において更に詳細に示す。ステップ426において、占有空間及び全ての干渉領域を識別する。ステップ427において、各干渉領域の組合せを調べる。「デッドロック状態が存在するか」についての確認を、決定ステップ428で行う。結果がNOである場合、ステップ429において、ステップ423を終了する。結果がYESである場合、ステップ430は、デッドロックの発生を防止する手段を提供し、ステップ427に戻る。   Step 423 is shown in more detail in FIG. In step 426, the occupied space and all interference areas are identified. In step 427, the combination of each interference area is examined. A check is made at decision step 428 as to whether a deadlock condition exists. If the result is NO, step 423 is terminated at step 429. If the result is yes, step 430 provides a means to prevent the occurrence of deadlock and returns to step 427.

発明を説明するために所定の代表的な実施の形態及び説明を示したが、当業者は、以下で添付した請求の範囲で更に説明した開示の範囲から逸脱することなく種々の変更を行うことができることを理解する。   While certain representative embodiments and descriptions have been presented to illustrate the invention, those skilled in the art will make various modifications without departing from the scope of the disclosure as further described in the appended claims below. Understand that you can.

Claims (13)

共通の作業空間を有する1対のロボットのデッドロックを防止する方法であって、前記ロボットの各々は、関連のプログラムによって制御され、通常プログラム動作を生成するためにプログラムが同時に実行されるとき、前記ロボットの各々が、前記関連のプログラムの実行の一部の間に前記共通の作業空間の少なくとも一部を占有し、
前記通常プログラム動作の前に、前記共通の作業空間の占有された部分をボクセルモデルで表すことを含む前記プログラムに従うロックダウンモードの開始動作又はオフライン実行によって、前記ロボットによって占有される前記共通の作業空間の部分を決定するステップと、
前記ロボットによって占有される前記共通の作業空間の部分と重なる少なくとも一つの干渉領域を決定するために前記ボクセルモデルを比較することによって、前記少なくとも一つの干渉領域を決定するステップと、
前記少なくとも一つの干渉領域を分析するとともに二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を決定するステップと、
前記通常プログラム動作の前記プログラムの実行前に前記少なくとも一つのデッドロック状態を回避するための機構を自動的に決定するとともに前記機構を前記プログラムの少なくとも一つに関連させることによって、前記通常プログラム動作の前記プログラムの実行中に前記少なくとも一つのデッドロック状態を回避するステップと、
を備えることを特徴とする方法。
A method for preventing deadlock of a pair of robots having a common work space, wherein each of the robots is controlled by an associated program, and when the programs are executed simultaneously to generate a normal program action, Each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program;
Prior to the normal program operation, the common work occupied by the robot by a start-up operation or off-line execution of a lockdown mode according to the program comprising representing an occupied portion of the common work space with a voxel model Determining a portion of space;
Determining the at least one interference region by comparing the voxel model to determine at least one interference region overlapping a portion of the common workspace occupied by the robot;
Analyzing the at least one interference area and determining a location where at least one deadlock condition of the two robots may occur;
The normal program operation by automatically determining a mechanism for avoiding the at least one deadlock condition prior to execution of the program of the normal program operation and associating the mechanism with at least one of the programs Avoiding the at least one deadlock condition during execution of the program of:
A method comprising the steps of:
前記機構は、少なくとも一つのデッドロックフリー動作ステートメントを含む請求項1に記載の方法。   The method of claim 1, wherein the mechanism includes at least one deadlock free action statement. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つに追加することによって関連させる請求項2に記載の方法。   The method of claim 2, wherein the at least one deadlock free action statement is associated by adding to at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つにある少なくとも一つの命令を変更することによって関連させる請求項2に記載の方法。   3. The method of claim 2, wherein the at least one deadlock-free operation statement is related by changing at least one instruction in at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つにある命令を並べ直すことによって関連させる請求項2に記載の方法。   3. The method of claim 2, wherein the at least one deadlock-free operation statement is related by reordering instructions in at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、待機コマンドを前記プログラムの少なくとも一つに追加することによって関連させる請求項2に記載の方法。   The method of claim 2, wherein the at least one deadlock free action statement is associated by adding a wait command to at least one of the programs. 共通の作業空間を有する1対のロボットのデッドロックを防止する方法を実行するためにコンピュータによって実行可能な命令を有するコンピュータ読出し可能媒体であって、前記ロボットの各々は、関連のプログラムによって制御され、通常プログラム動作を生成するためにプログラムが同時に実行されるとき、前記ロボットの各々が、前記関連のプログラムの実行の一部の間に前記共通の作業空間の少なくとも一部を占有し、前記コンピュータ読出し可能媒体は、
前記通常プログラム動作の前に、前記共通の作業空間の占有された部分をボクセルモデルで表すことを含む前記プログラムに従うロックダウンモードの開始動作又はオフライン実行によって、前記ロボットによって占有される前記共通の作業空間の部分を決定する命令と、
前記共通の作業空間の部分と重なる少なくとも一つの干渉領域を決定するために前記ボクセルモデルを比較することによって、前記少なくとも一つの干渉領域を決定する命令と、
前記少なくとも一つの干渉領域を分析するとともに二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を決定する命令と、
前記通常プログラム動作の前記プログラムの実行前に前記少なくとも一つのデッドロック状態を回避するための機構を自動的に決定するとともに前記機構を前記プログラムの少なくとも一つに関連させることによって、前記通常プログラム動作の前記プログラムの実行中に前記少なくとも一つのデッドロック状態を回避する命令と、
を備えることを特徴とするコンピュータ読出し可能媒体。
A computer readable medium having instructions executable by a computer to perform a method for preventing deadlock of a pair of robots having a common work space, each of said robots being controlled by an associated program Each of the robots occupies at least a portion of the common work space during a portion of execution of the associated program when the programs are executed simultaneously to generate normal program operations, and the computer The readable medium is
Prior to the normal program operation, the common work occupied by the robot by a start-up operation or off-line execution of a lockdown mode according to the program comprising representing an occupied portion of the common work space with a voxel model An instruction to determine a portion of space;
Instructions for determining the at least one interference region by comparing the voxel models to determine at least one interference region overlapping a portion of the common workspace;
Instructions for analyzing the at least one interference region and determining where a deadlock condition of at least one of the two robots may occur;
The normal program operation by automatically determining a mechanism for avoiding the at least one deadlock condition prior to execution of the program of the normal program operation and associating the mechanism with at least one of the programs Instructions to avoid the at least one deadlock condition during execution of the program of
A computer readable medium comprising:
前記機構は、少なくとも一つのデッドロックフリー動作ステートメントを含む請求項7に記載のコンピュータ読出し可能媒体The computer-readable medium of claim 7, wherein the mechanism includes at least one deadlock free operational statement. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つに追加することによって関連させる請求項8に記載のコンピュータ読出し可能媒体The computer-readable medium of claim 8, wherein the at least one deadlock-free operation statement is associated by adding to at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つにある少なくとも一つの命令を変更することによって関連させる請求項8に記載のコンピュータ読出し可能媒体The computer-readable medium of claim 8, wherein the at least one deadlock-free operation statement is associated by modifying at least one instruction in at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、前記プログラムの少なくとも一つにある命令を並べ直すことによって関連させる請求項8に記載のコンピュータ読出し可能媒体The computer-readable medium of claim 8, wherein the at least one deadlock-free operation statement is related by reordering instructions in at least one of the programs. 前記少なくとも一つのデッドロックフリー動作ステートメントを、待機コマンドを前記プログラムの少なくとも一つに追加することによって関連させる請求項8に記載のコンピュータ読出し可能媒体The computer-readable medium of claim 8, wherein the at least one deadlock-free operation statement is associated by adding a wait command to at least one of the programs. 共通の作業空間を有する複数のロボットのデッドロックを防止する方法であって、前記ロボットの各々は、関連のプログラムによって制御され、通常プログラム動作を生成するためにプログラムが同時に実行されるとき、前記ロボットの各々が、前記関連のプログラムの実行の一部の間に前記共通の作業空間の少なくとも一部を占有し、
前記通常プログラム動作の前に、前記共通の作業空間の占有された部分をボクセルモデルで表すことを含む前記プログラムに従うロックダウンモードの開始動作又はオフライン実行によって、前記ロボットによって占有される前記共通の作業空間の部分を決定するステップと、
前記ロボットの少なくとも二つのロボットについて前記共通の作業空間の部分と重なる少なくとも一つの干渉領域を決定するために前記ボクセルモデルを比較することによって、前記少なくとも一つの干渉領域を決定するステップと、
前記少なくとも一つの干渉領域を分析するとともに前記少なくとも二つのロボットのうちの少なくとも一つのデッドロック状態が生じうる場所を決定するステップと、
前記通常プログラム動作の前記プログラムの実行前に前記少なくとも一つのデッドロック状態を回避するための機構を自動的に決定するとともに前記機構を前記プログラムの少なくとも一つに関連させることによって、前記通常プログラム動作の前記プログラムの実行中に前記少なくとも一つのデッドロック状態を回避するステップと、
を備えることを特徴とする方法。
A method for preventing deadlock of a plurality of robots having a common work space, wherein each of the robots is controlled by an associated program, and when the program is executed simultaneously to generate a normal program action, Each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program;
Prior to the normal program operation, the common work occupied by the robot by a start-up operation or off-line execution of a lockdown mode according to the program comprising representing an occupied portion of the common work space with a voxel model Determining a portion of space;
Determining the at least one interference region by comparing the voxel models to determine at least one interference region that overlaps a portion of the common workspace for at least two robots of the robot;
Analyzing the at least one interference region and determining a location where a deadlock condition of at least one of the at least two robots may occur;
The normal program operation by automatically determining a mechanism for avoiding the at least one deadlock condition prior to execution of the program of the normal program operation and associating the mechanism with at least one of the programs Avoiding the at least one deadlock condition during execution of the program of:
A method comprising the steps of:
JP2012105505A 2011-05-05 2012-05-02 Method and system for automatically preventing deadlock in a multi-robot system Active JP5981215B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161482808P 2011-05-05 2011-05-05
US61/482,808 2011-05-05

Publications (2)

Publication Number Publication Date
JP2012232408A JP2012232408A (en) 2012-11-29
JP5981215B2 true JP5981215B2 (en) 2016-08-31

Family

ID=47019755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012105505A Active JP5981215B2 (en) 2011-05-05 2012-05-02 Method and system for automatically preventing deadlock in a multi-robot system

Country Status (3)

Country Link
JP (1) JP5981215B2 (en)
CN (1) CN102814813B (en)
DE (1) DE102012103830B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102595007B1 (en) * 2023-03-24 2023-10-27 주식회사 아임토리 Mathod and Apparatus for Optimizing of Robot Process

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104969134B (en) * 2013-02-06 2017-06-09 三菱电机株式会社 Interference checking device
JP5768829B2 (en) * 2013-03-15 2015-08-26 株式会社安川電機 Robot system, robot control method, and workpiece manufacturing method
DE102013015234A1 (en) * 2013-09-13 2015-03-19 Liebherr-Verzahntechnik Gmbh Method for controlling a gear cutting machine and gear cutting machine
CH709347A2 (en) * 2014-03-10 2015-09-15 Tecan Trading Ag A method for path finding in an automated handling system and handling system with corresponding control module for pathfinding.
US9555545B2 (en) * 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
JP6556245B2 (en) 2015-02-13 2019-08-07 アーベーベー シュヴァイツ アクツィエンゲゼルシャフト Method for avoiding a collision between two robots
DE102015007395A1 (en) * 2015-06-08 2016-12-08 Kuka Roboter Gmbh Method and system for operating and / or monitoring a machine, in particular a robot
US9707681B2 (en) * 2015-07-27 2017-07-18 Siemens Industry Software Ltd. Anti-collision management of overlapping robotic movements
CN108472808B (en) * 2015-10-13 2022-05-17 艾天诚工程技术系统股份有限公司 Synchronization of multiple robots
JP6328599B2 (en) 2015-11-20 2018-05-23 ファナック株式会社 Robot manual feed device that calculates the operable range of the robot
JP6654926B2 (en) * 2016-02-24 2020-02-26 本田技研工業株式会社 How to estimate processing time
CN107797550A (en) * 2016-09-01 2018-03-13 松下电器(美国)知识产权公司 Autonomous formula robot, method and non-transient recording medium
JP6998660B2 (en) 2017-02-21 2022-01-18 株式会社安川電機 Robot simulator, robot system and simulation method
DE102017215268A1 (en) * 2017-08-31 2019-02-28 Siemens Aktiengesellschaft Method for laser deposition welding
TWI822729B (en) * 2018-02-06 2023-11-21 美商即時機器人股份有限公司 Method and apparatus for motion planning of a robot storing a discretized environment on one or more processors and improved operation of same
US11738457B2 (en) 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
JP6823015B2 (en) 2018-07-17 2021-01-27 ファナック株式会社 Robot system
DE102019126465B4 (en) * 2018-10-01 2021-02-11 KBee AG Method and device for determining trajectories for serial manipulators
CN111354654B (en) 2018-12-20 2022-10-21 北京北方华创微电子装备有限公司 Deadlock judgment method and semiconductor device
DE102018133472B3 (en) * 2018-12-21 2020-03-12 Franka Emika Gmbh Motion monitoring of a robot manipulator
CN109767118A (en) * 2019-01-11 2019-05-17 沈阳建筑大学 A kind of limited buffer dynamic capacity method for obligating in there is the bus body painting workshop that can reentry process
DE102019102803B4 (en) * 2019-02-05 2022-02-17 Franka Emika Gmbh Aligning two robotic arms to each other
CN112783145B (en) * 2019-11-11 2023-03-31 上海快仓智能科技有限公司 Traffic control method, device, equipment and computer readable storage medium
JP2021142635A (en) 2020-03-13 2021-09-24 オムロン株式会社 Interference determination device, method and program
DE102020203636A1 (en) 2020-03-20 2021-09-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Determination of safety areas around an automated machine
DE102021204148B3 (en) 2021-04-27 2022-06-23 Kuka Deutschland Gmbh Process and system for the coordinated traversing of specified robot paths
WO2023013042A1 (en) 2021-08-06 2023-02-09 ファナック株式会社 Interference check device
DE102021122606A1 (en) 2021-09-01 2023-03-02 Arburg Gmbh + Co Kg Method, machine control and computer program product for determining a path for car navigation
CN117381805B (en) * 2023-12-13 2024-02-27 成都航空职业技术学院 Mechanical arm operation control method and system for conflict handling

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257204A (en) * 1989-03-29 1990-10-18 Yaskawa Electric Mfg Co Ltd Collision evasion control system for plural robot arms
US5150452A (en) 1989-07-28 1992-09-22 Megamation Incorporated Method and apparatus for anti-collision and collision protection for multiple robot system
JPH04201081A (en) * 1990-11-29 1992-07-22 Honda Motor Co Ltd Control unit for robot
JPH05108129A (en) * 1991-10-21 1993-04-30 Nachi Fujikoshi Corp Inter-robot interlock control method
US5347459A (en) 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
US5548694A (en) 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation
US6004016A (en) * 1996-08-06 1999-12-21 Trw Inc. Motion planning and control for systems with multiple mobile objects
JPH11347984A (en) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd Robot control device
JP2003103484A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Interlock setting method for robot
US7114157B2 (en) 2001-11-27 2006-09-26 Kuka Roboter Gmbh System controlling exclusive access by control programs to system resources
US6678582B2 (en) 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
DE102004027944B4 (en) 2004-06-08 2012-02-16 Kuka Laboratories Gmbh Method for protecting a robot against collisions
JP2007000955A (en) * 2005-06-22 2007-01-11 Nachi Fujikoshi Corp Robot system
JP4544145B2 (en) * 2005-11-24 2010-09-15 株式会社デンソーウェーブ Robot interference avoidance method and robot
JP4159577B2 (en) 2005-12-13 2008-10-01 ファナック株式会社 Interlock automatic setting device and automatic setting method between a plurality of robots
EP2024796B1 (en) * 2006-06-06 2015-09-16 ABB Research Ltd Improved method and system for operating a cyclic production machine in coordination with a loader or unloader machine
DE102008013400B4 (en) 2008-03-06 2016-03-10 Voith Engineering Services Gmbh Method for determining locking areas of at least one first object movable in space
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
CN100570523C (en) * 2008-08-18 2009-12-16 浙江大学 A kind of mobile robot's barrier-avoiding method based on the barrier motion prediction
JP2010240772A (en) * 2009-04-06 2010-10-28 Seiko Epson Corp Device and method for controlling robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102595007B1 (en) * 2023-03-24 2023-10-27 주식회사 아임토리 Mathod and Apparatus for Optimizing of Robot Process

Also Published As

Publication number Publication date
DE102012103830A1 (en) 2012-11-08
CN102814813A (en) 2012-12-12
JP2012232408A (en) 2012-11-29
DE102012103830B4 (en) 2022-05-25
CN102814813B (en) 2017-05-31

Similar Documents

Publication Publication Date Title
JP5981215B2 (en) Method and system for automatically preventing deadlock in a multi-robot system
US9144904B2 (en) Method and system for automatically preventing deadlock in multi-robot systems
US8315738B2 (en) Multi-arm robot system interference check via three dimensional automatic zones
JP7332199B2 (en) Motion planning for multiple robots in a shared workspace
US11577393B2 (en) Method for collision-free motion planning
JP7419001B2 (en) Motion planning method and device for manipulator collision avoidance
EP1901151B1 (en) A method and a device for avoiding collisions between an industrial robot and an object
US6678582B2 (en) Method and control device for avoiding collisions between cooperating robots
EP1336909B1 (en) System controlling exclusive access by control programs to system resources
JP7319001B2 (en) Safety systems, methods and systems for enforcing safe operations, and methods and systems for modeling
JP6449534B2 (en) Teaching point program selection method for robot simulator
JP5144785B2 (en) Method and apparatus for predicting interference between target region of robot and surrounding object
JP5025598B2 (en) Interference check control apparatus and interference check control method
KR20120082881A (en) Robotic apparatus implementing collision avoidance scheme and associated methods
US20090204258A1 (en) Dynamic space check for multi-arm system moving on a rail
WO2019232430A1 (en) Robotic motion planning
JPH08166809A (en) Method for evading interference of plural robots and method for determining order and partial charge of operation
US20230286156A1 (en) Motion planning and control for robots in shared workspace employing staging poses
US11934177B2 (en) Collision testing on the basis of high-quality geometry
Qiao et al. Flexible modeling and simulation for mass customization manufacturing
TW202406697A (en) Motion planning and control for robots in shared workspace employing look ahead planning
US20210187746A1 (en) Task planning accounting for occlusion of sensor observations
JP2023084115A (en) Point-set interference check
CN114700940A (en) Grabbing method and device and computing equipment
CN117681183A (en) Method, device, equipment and medium for generating initial joint state of mechanical arm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160728

R150 Certificate of patent or registration of utility model

Ref document number: 5981215

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