JP2018020413A - Work support device, work support method and program - Google Patents

Work support device, work support method and program Download PDF

Info

Publication number
JP2018020413A
JP2018020413A JP2016154060A JP2016154060A JP2018020413A JP 2018020413 A JP2018020413 A JP 2018020413A JP 2016154060 A JP2016154060 A JP 2016154060A JP 2016154060 A JP2016154060 A JP 2016154060A JP 2018020413 A JP2018020413 A JP 2018020413A
Authority
JP
Japan
Prior art keywords
robot
interference
robots
unit
interlock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016154060A
Other languages
Japanese (ja)
Other versions
JP6665056B2 (en
Inventor
淳 藤城
Atsushi Fujishiro
淳 藤城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Production Engineering Corp
Original Assignee
Toyota Production Engineering Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Production Engineering Corp filed Critical Toyota Production Engineering Corp
Priority to JP2016154060A priority Critical patent/JP6665056B2/en
Publication of JP2018020413A publication Critical patent/JP2018020413A/en
Application granted granted Critical
Publication of JP6665056B2 publication Critical patent/JP6665056B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem of requiring time and labor, due to requiring to manually set an interlock, when executing work by cooperating between a plurality of robots.SOLUTION: A work support device in one embodiment of the present invention, comprises a specification part for specifying respective works of a plurality of robots for cooperatively executing a predetermined process as a step with every predetermined unit, a calculation part for calculating the step of causing a collision or contact of at least the mutual two robots as an interference step among the specified steps, a determination part for determining the robot for preferentially working in the interference step, a setting part for setting an interlock for preventing the collision or the contact based on a determination result of the determination part and a notification part for giving a notification of a signal on the set interlock.SELECTED DRAWING: Figure 9

Description

本発明は、作業支援装置、作業支援方法およびプログラムに関し、特に複数のロボットに協働して作業を行わせるための作業支援に関する。   The present invention relates to a work support device, a work support method, and a program, and more particularly to work support for causing a plurality of robots to perform work in cooperation.

自動車等の生産は、ロボットを用いた自動化が実現されている。自動車等の生産においては、複数のロボットが同時に用いられることが一般的であり、そのようなロボット同士が干渉ないし衝突することを防止するために、インターロックが設けられている。特許文献1には、複数のロボットの相互動作を、所定の動作行程または動作時間毎の組み合わせにより干渉の有無を確認し、干渉が発生する箇所にインターロックを設けることが記載されている。   Production of automobiles and the like has been automated using robots. In the production of automobiles and the like, a plurality of robots are generally used at the same time, and an interlock is provided to prevent such robots from interfering with each other or colliding with each other. Japanese Patent Application Laid-Open No. 2004-228561 describes that the presence or absence of interference is confirmed by a combination of a plurality of robots in a predetermined operation process or operation time, and an interlock is provided at a location where the interference occurs.

特開2003−103484号公報JP 2003-103484 A

しかしながら、特許文献1に記載の技術では、干渉が発生する箇所(干渉領域)の各々にインターロックを設けるだけであるため、各干渉領域において優先して動作するロボットの選択方法によっては、作業全体の処理時間が長くなる恐れがある。   However, in the technique described in Patent Document 1, since only an interlock is provided in each of the places where interference occurs (interference area), depending on the selection method of the robot that operates preferentially in each interference area, the entire work There is a risk that the processing time will be longer.

本発明の目的は、上記問題に鑑み、複数のロボットが協働して作業する場合において、作業全体の処理時間を短くすることが可能な作業支援装置、作業支援方法およびプログラムを提供することにある。   In view of the above problems, an object of the present invention is to provide a work support device, a work support method, and a program capable of shortening the processing time of the entire work when a plurality of robots work in cooperation. is there.

本発明の一実施形態における作業支援装置は、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する特定部と、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触の可能性があるステップを、干渉ステップとして算出する算出部と、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する決定部と、当該決定部の決定結果に基づいて、当該衝突または干渉を防止するためのインターロックを設定する設定部と、当該設定したインターロックに関する信号を通知する通知部を備える。   An operation support apparatus according to an embodiment of the present invention includes: a specifying unit that specifies each operation of a plurality of robots that perform a predetermined process in cooperation as a step for each predetermined unit; and Among them, when there are a plurality of interference steps and a calculation unit that calculates a step that may cause collision or contact between at least two robots as an interference step, a time required to complete the predetermined process is shortened. As described above, a determination unit that determines a robot to be preferentially operated in each of the plurality of interference steps, and a setting unit that sets an interlock for preventing the collision or interference based on the determination result of the determination unit And a notification unit for notifying a signal related to the set interlock.

本発明の一実施形態における作業支援方法は、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定し、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出し、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定し、当該決定部の決定結果に基づいて、当該衝突または接触を防止するためのインターロックを設定する設定し、当該設定したインターロックに関する情報を通知することを特徴とする。   The work support method according to an embodiment of the present invention specifies each work of a plurality of robots that perform a predetermined process in cooperation as a step for each predetermined unit, and at least of the specified steps. A step where there is a collision or contact between two robots is calculated as an interference step, and when there are a plurality of the interference steps, the time required for completing the predetermined process is shortened. Determine the robot to be preferentially operated in each, set the interlock to prevent the collision or contact based on the determination result of the determination unit, and notify the information about the set interlock It is characterized by.

本発明の一実施形態におけるプログラムは、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する機能と、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する機能と、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する機能と、当該決定部の決定結果に基づいて、当該衝突または接触を防止するためのインターロックを設定する機能と、当該設定したインターロックに関する情報を通知する機能とをコンピュータに実行させることを特徴とする。   A program according to an embodiment of the present invention includes a function of specifying each operation of a plurality of robots performing a predetermined process in cooperation as a step for each predetermined unit, and at least of the specified steps. A function for calculating a step where there is a collision or contact between two robots as an interference step, and when there are a plurality of the interference steps, a plurality of the interferences so that the time required for completing the predetermined process is shortened. A function for determining a robot to be prioritized in each step, a function for setting an interlock for preventing the collision or contact based on a determination result of the determination unit, and information on the set interlock And a function of notifying the computer.

本発明によれば、協働して作業する複数のロボットに対するインターロックの設定を自動的で実行することができる。   According to the present invention, it is possible to automatically execute the interlock setting for a plurality of robots working in cooperation.

図1は、第1の実施形態に係るティーチングシステムの概要を模式的に示す図である。FIG. 1 is a diagram schematically showing an outline of the teaching system according to the first embodiment. 図2は、第1の実施形態に係るロボット同士の衝突または接触を示す図である。FIG. 2 is a diagram illustrating collision or contact between the robots according to the first embodiment. 図3は、第1の実施形態に係る2つのロボットについて、干渉を解析する際の組み合わせの数を説明する図である。FIG. 3 is a diagram for explaining the number of combinations when analyzing interference for two robots according to the first embodiment. 図4は、第1の実施形態に係るティーチング装置の機能構成を模式的に示す図である。FIG. 4 is a diagram schematically illustrating a functional configuration of the teaching device according to the first embodiment. 図5は、第1の実施形態に係る記憶部が格納する情報のデータ構造を模式的に示す図である。FIG. 5 is a diagram schematically illustrating a data structure of information stored in the storage unit according to the first embodiment. 図6は、第1の実施形態に係る5つのロボットとその軌跡とを示す図である。FIG. 6 is a diagram illustrating five robots and their trajectories according to the first embodiment. 図7は、第1の実施形態に係る2つの異なるロボットの軌跡の一例を示す図である。FIG. 7 is a diagram illustrating an example of trajectories of two different robots according to the first embodiment. 図8は、第1の実施形態に係る算出部によるロボット間の衝突または接触の解析を説明する模式図である。FIG. 8 is a schematic diagram illustrating analysis of collision or contact between robots by the calculation unit according to the first embodiment. 図9は、第1の実施形態に係る干渉ステップを説明するための模式図である。FIG. 9 is a schematic diagram for explaining an interference step according to the first embodiment. 図10は、第1の実施形態に係る干渉エリアを説明するための模式図である。FIG. 10 is a schematic diagram for explaining an interference area according to the first embodiment. 図11は、第1の実施形態に係るティーチング装置が実行するプログラム作成支援処理の流れを説明するフローチャートである。FIG. 11 is a flowchart for explaining the flow of a program creation support process executed by the teaching device according to the first embodiment. 図12は、第1の実施形態に係る取得部が実行する軌跡取得工程の流れを説明するフローチャートである。FIG. 12 is a flowchart illustrating the flow of a trajectory acquisition process executed by the acquisition unit according to the first embodiment. 図13は、第1の実施形態に係る算出部が実行する解析工程の流れを説明するフローチャートである。FIG. 13 is a flowchart for explaining the flow of the analysis process executed by the calculation unit according to the first embodiment. 図14は、第1の実施形態に係る決定部が実行する決定工程の流れを説明するフローチャートである。FIG. 14 is a flowchart illustrating the flow of a determination process executed by the determination unit according to the first embodiment. 図15は、第2の実施形態に係る分割エリアを説明するための模式図である。FIG. 15 is a schematic diagram for explaining divided areas according to the second embodiment. 図16は、第2の実施形態に係る1系統の場合の分割エリアを説明するための模式図である。FIG. 16 is a schematic diagram for explaining divided areas in the case of one system according to the second embodiment. 図17は、第2の実施形態に係る2系統の場合の分割エリアを説明するための模式図である。FIG. 17 is a schematic diagram for explaining divided areas in the case of two systems according to the second embodiment. 図18は、第2の実施形態に係る決定部が実行する決定工程の流れを説明するフローチャートである。FIG. 18 is a flowchart for explaining the flow of the determination process executed by the determination unit according to the second embodiment.

本発明に係る実施形態について、図面を参照して説明する。なお、実施形態は一例であり、これに限定されるものではない。   Embodiments according to the present invention will be described with reference to the drawings. In addition, embodiment is an example and is not limited to this.

<第1の実施形態>
第1の実施形態に記載の内容は、後述する実施形態のいずれにも適用可能である。
<First Embodiment>
The contents described in the first embodiment can be applied to any of the embodiments described later.

図1は、第1の実施形態に係るシステム1の概要を模式的に示す図である。図1に示すように、システム1は、ティーチング装置100と、表示装置102と、ロボット200とを含む。   FIG. 1 is a diagram schematically illustrating an overview of a system 1 according to the first embodiment. As shown in FIG. 1, the system 1 includes a teaching device 100, a display device 102, and a robot 200.

ロボット200は、他のロボット200と協働して作業するロボットである。ロボット200は、所定の工程を他のロボット200と協働して遂行する。図1に示すように、ロボット200は、例えば、自動車の車体の組み立て等に用いられる産業用ロボットである。なお、ロボット200は、産業用ロボットに限られず、協働して作業するロボットであれば、どのようなロボットでもよい。   The robot 200 is a robot that works in cooperation with another robot 200. The robot 200 performs a predetermined process in cooperation with another robot 200. As shown in FIG. 1, the robot 200 is an industrial robot used for assembling a car body of an automobile, for example. The robot 200 is not limited to an industrial robot, and may be any robot as long as it works in cooperation.

ロボット200は、作業を所定の単位ごとに特定したステップごとに、作業を実行する。なお、1つのステップには複数の作業が含まれていてもよいし、1つの作業が含まれていてもよい。   The robot 200 executes the work for each step in which the work is specified for each predetermined unit. A single step may include a plurality of operations or a single operation.

図1に示すように、ロボット200は、例えば、1回の工程において、第1ステップ10aから第7ステップ10gまでの7つのステップを実行する。以下、特に区別する場合を除き、各ステップを「ステップ10」と総称する。ロボット200は、例えば、1回の工程において、各ステップ10を結ぶ領域を移動する。以下、ロボット200が移動する領域を「軌跡12」と記載する。なお、軌跡12は3次元空間上の線分ではなく、ロボット200が作業空間を移動する際にロボット200が掃く(スウィープ(sweep)する)空間を意味する。   As shown in FIG. 1, the robot 200 executes, for example, seven steps from a first step 10a to a seventh step 10g in one process. Hereinafter, unless otherwise distinguished, each step is collectively referred to as “step 10”. For example, the robot 200 moves in a region connecting the steps 10 in one process. Hereinafter, an area in which the robot 200 moves is referred to as “trajectory 12”. The trajectory 12 is not a line segment in the three-dimensional space, but means a space that the robot 200 sweeps (sweeps) when the robot 200 moves in the work space.

ロボット200は、例えば、当該ロボット200の動作を制御する制御プログラムによる制御の下で動作する。制御プログラムは、ロボット200に対して、当該ロボット200の移動や停止を実行させるためのプログラムである。制御プログラムは、複数のロボット200の各々に対して設定されていてもよいし、複数のロボット200に対して設定されていてもよい。   For example, the robot 200 operates under the control of a control program that controls the operation of the robot 200. The control program is a program for causing the robot 200 to move and stop the robot 200. The control program may be set for each of the plurality of robots 200 or may be set for the plurality of robots 200.

制御プログラムは、ロボット200が動作する際に参照する、1または複数のステップ情報が含まれる。ステップ情報は、所定の単位ごとに特定したステップを実行するために必要な情報である。ステップ情報は、例えば、ロボット200が作業を実行するために停止または移動する空間上の位置情報である。ステップ情報は、例えば、ロボット200の移動の単位となる情報であってもよい。ステップ情報は、ロボット200が各ステップ10間を移動する際の、速度や移動方向を含んでいてもよい。   The control program includes one or more step information that is referred to when the robot 200 operates. The step information is information necessary for executing the step specified for each predetermined unit. The step information is, for example, position information on a space where the robot 200 stops or moves to perform work. The step information may be information serving as a unit of movement of the robot 200, for example. The step information may include a speed and a moving direction when the robot 200 moves between the steps 10.

位置情報は、例えば、ロボット200の基準位置からの相対的な位置座標である。位置情報は、例えば、ロボット200が有するアームの先端部の位置座標である。位置情報は、基準位置からの相対的な位置座標に限らず、予め定められた座標におけるロボット200の位置を示すものであってもよい。また、位置情報は、例えば、緯度や経度などの絶対的な位置座標であってもよい。その他、ロボット200の停止や移動を決定可能であれば、どのような座標であってもよい。   The position information is, for example, relative position coordinates from the reference position of the robot 200. The position information is, for example, the position coordinates of the tip of the arm that the robot 200 has. The position information is not limited to the relative position coordinates from the reference position, and may indicate the position of the robot 200 at predetermined coordinates. Further, the position information may be absolute position coordinates such as latitude and longitude. In addition, any coordinates may be used as long as the stop and movement of the robot 200 can be determined.

なお、制御プログラムは、例えば、一のロボット200が、後述するインターロック領域に進入する際に、他のロボット200に対して発信する「進入前信号」(待機信号)の発信命令を含んでいてもよい。また、制御プログラムは、ロボット200がインターロック領域を脱出した後に、他のロボットに対して発信する「待避後信号」(干渉外信号)の発信命令を含んでいてもよい。   Note that the control program includes, for example, a transmission command of a “pre-entry signal” (standby signal) that is transmitted to another robot 200 when one robot 200 enters an interlock area described later. Also good. Further, the control program may include a transmission command of a “post-retraction signal” (non-interference signal) that is transmitted to another robot after the robot 200 exits the interlock region.

ティーチング装置100は、ロボット200に対して、制御プログラムを設定する装置である。また、ティーチング装置100は、複数のロボット200の制御プログラムに基づいて、必要となるインターロックを設定する装置である。なお、インターロックは、ロボット200同士の衝突や接触を防止するための制御や指令である。   The teaching device 100 is a device that sets a control program for the robot 200. The teaching device 100 is a device that sets necessary interlocks based on a control program for a plurality of robots 200. The interlock is a control or command for preventing a collision or contact between the robots 200.

また、ティーチング装置100は、さらに、探索したインターロックの前後においてロボット200が適切に待避動作をするためのプログラムが実装されているか否かを確認してもよい。これにより、ティーチング装置100は、ユーザが制御プログラムを作成することを支援することができる。このように、ティーチング装置100は、ロボットの制御プログラムの作成支援装置として機能してもよい。   Further, the teaching device 100 may further confirm whether or not a program is installed for the robot 200 to appropriately perform a retracting operation before and after the searched interlock. Thereby, the teaching device 100 can assist the user in creating the control program. Thus, the teaching device 100 may function as a robot control program creation support device.

ティーチング装置100は、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。   The teaching device 100 calculates a step where there is a collision or contact between at least two robots as an interference step.

表示装置102は、ティーチング装置100の計算結果等の情報をユーザに通知するための装置である。表示装置102は、例えば、液晶モニタや有機ELモニタ等で実現できる。   The display device 102 is a device for notifying the user of information such as the calculation result of the teaching device 100. The display device 102 can be realized by, for example, a liquid crystal monitor or an organic EL monitor.

図2は、ロボット200同士の衝突または接触を示す図である。図2に示す例では、第1ロボット200aおよび第2ロボット200bと、各ロボット200の軌跡である第1軌跡12aおよび第2軌跡12bとが示されている。図2において、第1ロボット200aの第1ステップ10aと、第2ロボット200bの第7ステップ10dとの距離がLであり、Lが所定の距離L未満であることを示している。 FIG. 2 is a diagram illustrating a collision or contact between the robots 200. In the example illustrated in FIG. 2, the first robot 200 a and the second robot 200 b and the first locus 12 a and the second locus 12 b that are the locus of each robot 200 are illustrated. 2, a first step 10a of the first robot 200a, a distance between the seventh step 10d of the second robot 200b is L, L indicates that is less than the predetermined distance L T.

ここで、所定の「距離L」とは、ある二つのロボット200が干渉する可能性があるか否かを判定するための基準閾値となる距離である。一のロボット200が通るステップ10と、他のロボット200が通るステップ10との距離Lが距離L未満の場合、ティーチング装置100はそれらのロボット200が干渉する可能性があると判断する。干渉は、ロボットどうしが衝突または接触することである。接触距離Lは、作業に用いるロボット200の大きさや軌跡12の複雑さ、製品の形状等を考慮して、例えば、シミュレーションや実験により定めることができる。 Here, the predetermined “distance L T ” is a distance serving as a reference threshold for determining whether or not there is a possibility that two robots 200 interfere with each other. Step 10 in which one of the robot 200 passes, it is determined that the distance L between the step 10 of another robot 200 passes the case of less than the distance L T, the teaching device 100 their robot 200 may interfere. Interference is the collision or contact between robots. Contact distance L T, the size and the trajectory 12 the complexity of the robot 200 to be used for work, taking into account the shape of the product, for example, can be determined by simulation or experiment.

図2において、第1ロボット200aによる第1ステップ10aから第2ステップ10bに至るまでの第1軌跡12aと、第2ロボット200bによる第6ステップ10cから第7ステップ10dに至るまでの第2軌跡12bとは、交差している。図2において、第1軌跡12aと第2軌跡12bとによって囲まれる領域(斜線の領域)は、第1ロボット200aと第2ロボット200bとが衝突または接触する恐れがある領域である。このような領域を「干渉領域14」と記載する。なお、前述のとおり、軌跡12は3次元的な広がりを持つ領域であってもよく、干渉領域14は3次元空間となる場合もある。   In FIG. 2, the first trajectory 12a from the first step 10a to the second step 10b by the first robot 200a and the second trajectory 12b from the sixth step 10c to the seventh step 10d by the second robot 200b. And intersect. In FIG. 2, an area (shaded area) surrounded by the first locus 12a and the second locus 12b is an area where the first robot 200a and the second robot 200b may collide or come into contact with each other. Such a region is referred to as an “interference region 14”. As described above, the locus 12 may be a three-dimensional area, and the interference area 14 may be a three-dimensional space.

第1ロボット200aの第1軌跡12aと第2ロボット200bの第2軌跡12bとが交差していても、第1ロボット200aと第2ロボット200bとが正常に動作している場合、両者は干渉領域14で衝突しない場合もあり得る。例えば、通常の工程において第1ロボット200aが第1ステップ10aから第2ステップ10bに至るまで移動する時刻が、第2ロボット200bが第6ステップ10cから第7ステップ10dに至るまで移動する時刻よりも早ければ、両者は干渉領域14で衝突しない。   Even if the first trajectory 12a of the first robot 200a and the second trajectory 12b of the second robot 200b intersect, when the first robot 200a and the second robot 200b are operating normally, the two are in the interference region. 14 may not collide. For example, in a normal process, the time when the first robot 200a moves from the first step 10a to the second step 10b is greater than the time when the second robot 200b moves from the sixth step 10c to the seventh step 10d. If early, they do not collide in the interference area 14.

しかし、第1ロボット200aが干渉領域14を移動中に何らかの理由で停止したり、速度が低下したりすることも起こりうる。この様な場合には、干渉領域14において第1ロボット200aと第2ロボット200bとが衝突または接触してしまう可能性がある。そこで、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮せずに、異なる2つのロボットが通りうる2つの軌跡12が交差する場合には、当該交差する領域を干渉領域14としてもよい。なお、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮して、干渉領域14を設定してもよい。   However, the first robot 200a may stop for some reason while moving in the interference area 14, or the speed may decrease. In such a case, the first robot 200a and the second robot 200b may collide or come into contact with each other in the interference region 14. Therefore, when the two trajectories 12 through which two different robots can pass without considering the time when the robot 200 passes through each step 10 in the trajectory 12 intersect, the teaching apparatus 100 determines the intersecting region as an interference region. It may be 14. Note that the teaching device 100 may set the interference region 14 in consideration of the time when the robot 200 passes through each step 10 in the trajectory 12.

ロボット200の各々は、干渉領域14に進入する前に「侵入前信号」(待機信号)を対となるロボット200に送信し、干渉領域14を脱出した後に「待避後信号」(干渉外信号)を対となるロボット200に送信する。例えば、図2において、第1ロボット200aが第1ステップ10aにあるときに、「進入前信号」(待機信号)を第2ロボット200bに送信する。その後、第1ロボット200aは、干渉領域14を脱出して第2ステップ10bに到達すると、「待避後信号」(干渉外信号)を第2ロボット200bに送信する。   Each of the robots 200 transmits a “pre-entry signal” (standby signal) to the paired robot 200 before entering the interference area 14, and after exiting the interference area 14, a “post-retraction signal” (non-interference signal). Is transmitted to the paired robot 200. For example, in FIG. 2, when the first robot 200a is in the first step 10a, a “pre-entry signal” (standby signal) is transmitted to the second robot 200b. Thereafter, when the first robot 200a escapes from the interference area 14 and reaches the second step 10b, the first robot 200a transmits a “post-retraction signal” (non-interference signal) to the second robot 200b.

第2ロボット200bは、第1ロボット200aから進入前信号を受信した後は、「待避後信号」(干渉外信号)を受信するまでは、第6ステップ10c以降のステップには進まずに待機する。なお、第2ロボット200bが第6ステップより前のステップにいるときは、第1ロボット200aとの衝突の恐れはないため、作業を継続する。第2ロボット200bは、第1ロボット200aから「待避後信号」(干渉外信号)を受信した後に、第7ステップ10dに進む。これにより、第1ロボット200aと第2ロボット200bとが干渉領域14で衝突または接触することを抑制できる。   After receiving the pre-entry signal from the first robot 200a, the second robot 200b waits without proceeding to the steps after the sixth step 10c until receiving the “post-retraction signal” (non-interference signal). . When the second robot 200b is in a step before the sixth step, the operation is continued because there is no possibility of a collision with the first robot 200a. The second robot 200b proceeds to the seventh step 10d after receiving the “post-retraction signal” (non-interference signal) from the first robot 200a. Thereby, it can suppress that the 1st robot 200a and the 2nd robot 200b collide or contact in the interference area | region 14. FIG.

なお、ティーチング装置100は、第1ロボット200aと第2ロボット200bとのどちらが先に干渉領域14に進入するかについて、予め設定する。ティーチング装置100は、第1ロボット200aおよび第2ロボット200bのいずれか一方に対して、先に干渉領域14に進入可能であることを示す情報である「優先情報」を通知する。すなわち、優先情報をもつロボット200が、優先情報を持たないロボット200に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを送信するように、制御プログラムが組まれる。   Note that the teaching device 100 sets in advance which of the first robot 200a and the second robot 200b enters the interference region 14 first. The teaching device 100 notifies “priority information”, which is information indicating that the robot can enter the interference area 14 first, to one of the first robot 200a and the second robot 200b. That is, the control program so that the robot 200 having priority information transmits a “pre-entry signal” (standby signal) and a “post-evacuation signal” (non-interference signal) to the robot 200 having no priority information. Is formed.

続いて、実施の形態に係るティーチング装置100による、制御プログラムのインターロックの設定支援処理について説明する。   Subsequently, an interlock setting support process of the control program by the teaching device 100 according to the embodiment will be described.

ティーチング装置100は、協働して作業する複数のロボット200のうち、異なる2つのロボット200の組み合わせ全てについて、干渉および接触を解析する。ひとつのロボット200が複数の制御プログラムで実行される場合には、それによってロボット200が動きうる軌跡の全ての組み合わせについて、ティーチング装置100は衝突または接触を解析する。   The teaching device 100 analyzes interference and contact for all combinations of two different robots 200 among a plurality of robots 200 working in cooperation. When one robot 200 is executed by a plurality of control programs, the teaching device 100 analyzes a collision or contact for all combinations of trajectories through which the robot 200 can move.

例えば、各ロボット200には管理用の制御プログラムが存在する。管理用のプログラムとは、例えばロボット200の基準位置を設定するための「原点プログラム」、ロボット200を待避させるための「保全プログラム」、ロボット200自体または一部の部品を交換するために移動させる「交換プログラム」である。また、ひとつの生産ラインで複数種類の製品を生産する場合には、製品の種類に応じた制御プログラムが存在する。仮に、ひとつの生産ラインで4種類の製品を生産する場合には、4種類の生産用制御プログラムが存在することになる。この場合、ひとつのロボット200は、計7つの制御プログラムによって動作し、7種類の軌跡12を描くことになる。   For example, each robot 200 has a control program for management. The management program is, for example, an “origin program” for setting the reference position of the robot 200, a “maintenance program” for retracting the robot 200, and moving to replace the robot 200 itself or some parts. “Exchange program”. In addition, when a plurality of types of products are produced on one production line, there are control programs corresponding to the types of products. If four types of products are produced on one production line, there are four types of production control programs. In this case, one robot 200 is operated by a total of seven control programs and draws seven types of trajectories 12.

図3(a)−(b)は、2つのロボット200について衝突の有無を解析する際の組み合わせ数を説明する図である。より具体的に、図3(a)は、3種類の管理用制御プログラムと、4種類の生産用制御プログラムが存在する場合の組み合わせを示す図である。図3(a)に示すように、第1ロボット200aが製品Aを生産するときには、第2ロボット200bも製品Aを生産する。一方、第1ロボット200aがいずれの制御プログラムで動作していても、第2ロボット200bが管理用制御プログラムで動作する可能性がある。その逆も同様である。したがって、2つのロボット200について制御プログラムの組み合わせは37通りとなる。なお、図3(a)中考え得る組み合わせは「○」で示している。   FIGS. 3A and 3B are diagrams illustrating the number of combinations when analyzing the presence or absence of a collision for two robots 200. FIG. More specifically, FIG. 3A is a diagram showing a combination when there are three types of management control programs and four types of production control programs. As shown in FIG. 3A, when the first robot 200a produces the product A, the second robot 200b also produces the product A. On the other hand, regardless of which control program the first robot 200a is operating on, the second robot 200b may operate on the management control program. The reverse is also true. Therefore, there are 37 control program combinations for the two robots 200. In FIG. 3A, possible combinations are indicated by “◯”.

いま、生産ライン上に12台のロボット200が存在すると仮定すると、12台のロボット200の中から2つの異なるロボット200を選ぶ組み合わせは12×11/2=66通りとなる。このため、全ての制御プログラムの組み合わせは、37×66=2442通りとなる。さらに、製品を生産するための工程が5工程あったと仮定すると、同一工程における制御プログラムの組み合わせは2442×5=12210通りとなる。   Assuming that there are twelve robots 200 on the production line, there are 12 × 11/2 = 66 combinations for selecting two different robots 200 from the twelve robots 200. For this reason, there are 37 × 66 = 2442 combinations of all control programs. Further, assuming that there are five processes for producing a product, there are 2442 × 5 = 112210 combinations of control programs in the same process.

図3(b)は、工程間の組み合わせを説明する図である。上述のとおり製品を生産するための工程が5工程ある場合、工程間の組み合わせは、(工程1、工程2)、(工程2、工程3)、(工程3、工程4)、および(工程4、工程5)の4通りとなる。すなわち、全工程数から同一工程の組み合わせを除いた数となる。異なる工程においては、第1ロボット200aと第2ロボット200bとが異なる製品を生産する場合もあるため、図3(b)に示すように、2台のロボット200における制御プログラムの組み合わせは49通りとなる。したがって工程間における制御プログラムの組み合わせは、ロボット200の組み合わせ数(66)×工程の組み合わせ(4)×2台のロボットにおける制御プログラムの組み合わせ(49)=12936通りとなる。   FIG. 3B is a diagram illustrating a combination between steps. When there are five processes for producing a product as described above, the combinations between processes are (process 1, process 2), (process 2, process 3), (process 3, process 4), and (process 4). , Step 4). That is, the number is obtained by excluding the combination of the same steps from the total number of steps. In different processes, the first robot 200a and the second robot 200b may produce different products. Therefore, as shown in FIG. 3B, there are 49 combinations of control programs in the two robots 200. Become. Therefore, the number of combinations of the control programs between the processes is 66 (the number of combinations of the robot 200) × the combination of the processes (4) × the combination of the control programs in the two robots (49) = 12936.

同一工程における制御プログラムの組み合わせ数と工程間における制御プログラムの組み合わせ数とは合計で2.5万通りの組み合わせとなる。仮に1つの制御プログラムの組み合わせについて計算機による衝突または接触の解析が仮に10秒で終了したとしても、全ての組み合わせを解析するためにはおよそ70時間を要し現実的ではない。このため実施の形態に係るティーチング装置100は、衝突または接触を解析するために高速化の工夫を実装している。以下、ティーチング装置100についてより詳細に説明する。   The number of combinations of control programs in the same process and the number of combinations of control programs between processes are a total of 25,000 combinations. Even if the analysis of the collision or contact by the computer is completed in 10 seconds for one control program combination, it takes about 70 hours to analyze all the combinations, which is not practical. For this reason, the teaching device 100 according to the embodiment implements a device for speeding up in order to analyze a collision or contact. Hereinafter, the teaching device 100 will be described in more detail.

図4は、実施の形態に係るティーチング装置100の機能構成を模式的に示す図である。ティーチング装置100は、特定部110、算出部120、決定部130、設定部140、通知部150、取得部160、記憶部170、を備える。   FIG. 4 is a diagram schematically illustrating a functional configuration of the teaching apparatus 100 according to the embodiment. The teaching device 100 includes a specifying unit 110, a calculation unit 120, a determination unit 130, a setting unit 140, a notification unit 150, an acquisition unit 160, and a storage unit 170.

図4は、実施の形態に係るティーチング装置100が実行するインターロックの設定支援処理を実現するための機能構成を示しており、他の構成は省略している。図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メインメモリ、その他のLSI(Large Scale Integration)で構成することができる。またソフトウェア的には、メインメモリにロードされた設定支援プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。限定はしないが、一例として、ティーチング装置100は、PC(Personal Computer)、メインフレーム、ワークステーション、クラウドコンピューティングシステム等、種々の計算リソースを用いて実現できる。   FIG. 4 shows a functional configuration for realizing the interlock setting support processing executed by the teaching device 100 according to the embodiment, and other configurations are omitted. In FIG. 4, each element described as a functional block for performing various processes can be configured by a CPU (Central Processing Unit), a main memory, and other LSI (Large Scale Integration) in hardware. In terms of software, it is realized by a setting support program loaded in the main memory. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one. Although not limited, as an example, the teaching device 100 can be realized using various computing resources such as a PC (Personal Computer), a mainframe, a workstation, a cloud computing system, and the like.

図4に示すティーチング装置100の各機能部をソフトウェアにより実現する場合、ティーチング装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行することで実現される。このプログラムを格納する記録媒体は、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、このプログラムは、当該検索プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。   When each function unit of the teaching device 100 shown in FIG. 4 is realized by software, the teaching device 100 is realized by executing a command of a program that is software that realizes each function. As a recording medium for storing this program, a “non-temporary tangible medium”, for example, a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. The program may be supplied to the computer via any transmission medium (such as a communication network or a broadcast wave) that can transmit the search program. The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the search program is embodied by electronic transmission.

記憶部170は、ティーチング装置100が解析の対象とする複数のロボット200それぞれについて、ロボット200の外形を表す形状データとそのロボット200を動作させる制御プログラムとを記憶する。   The storage unit 170 stores shape data representing the outer shape of the robot 200 and a control program for operating the robot 200 for each of the plurality of robots 200 to be analyzed by the teaching device 100.

図5は、記憶部170が格納する情報のデータ構造を模式的に示す図である。図5に示すように、ティーチング装置100が解析の対象とする複数のロボット200の各々は、ロボット200を一意に特定するためのロボット識別子が割り当てられている。ロボット識別子の割り当ては、例えば複数のロボット200にあらかじめ通し番号を付与することで実現できる。図5に示すように、ロボット識別子と、そのロボット識別子で識別されるロボット200の形状データ、およびそのロボット200の動作制御に用いる1以上の制御プログラムが対応づけられて格納されている。   FIG. 5 is a diagram schematically illustrating a data structure of information stored in the storage unit 170. As shown in FIG. 5, each of a plurality of robots 200 to be analyzed by the teaching device 100 is assigned a robot identifier for uniquely identifying the robot 200. The assignment of robot identifiers can be realized, for example, by assigning serial numbers to a plurality of robots 200 in advance. As shown in FIG. 5, a robot identifier, shape data of the robot 200 identified by the robot identifier, and one or more control programs used for operation control of the robot 200 are stored in association with each other.

特定部110は、所定の工程を協働して遂行する複数のロボット200の各々の作業を、所定の単位ごとにステップとして特定する。   The specifying unit 110 specifies each operation of the plurality of robots 200 that performs a predetermined process in cooperation as a step for each predetermined unit.

まず、特定部110は、解析の対象とする複数のロボット200各々について、作業において移動する軌跡を取得する。より具体的には、特定部110は、複数のロボット200のうちひとつのロボット200を特定するためのロボット識別子を選択する。続いて特定部110は、選択したロボット識別子で特定されるロボット200の動作を制御するための制御プログラムを、記憶部170から読み出す。   First, the specifying unit 110 acquires a trajectory that moves in the operation for each of the plurality of robots 200 to be analyzed. More specifically, the specifying unit 110 selects a robot identifier for specifying one robot 200 among the plurality of robots 200. Subsequently, the specifying unit 110 reads a control program for controlling the operation of the robot 200 specified by the selected robot identifier from the storage unit 170.

次に、特定部110は、読み出した制御プログラムをもとにシミュレーションを実行し、各制御プログラムを実行した場合にロボット200が移動するステップ10の位置座標を取得する。これにより、特定部110は、全てのロボット200について、各ロボット200に割り当てられた制御プログラムを実行した場合に移動しうる軌跡を、ステップ10の単位で離散的に取得する。   Next, the specifying unit 110 executes a simulation based on the read control program, and acquires the position coordinates of Step 10 where the robot 200 moves when each control program is executed. Thereby, the specifying unit 110 discretely acquires a trajectory that can move when the control program assigned to each robot 200 is executed for all the robots 200 in units of step 10.

図6は、5つのロボット200とその軌跡12とを示す図である。より具体的には、図6は、第1ロボット200aから第5ロボット200eまでの5つのロボット200と、それぞれ対応する第1軌跡12aから第5軌跡12eとを示している。なお、第1軌跡12aから第5軌跡12eの各軌跡12は破線で示している。煩雑となることを避けるため図中符号を付していないが、各軌跡12上に存在する黒丸は、特定部110が取得したステップ10の位置を示している。   FIG. 6 is a diagram showing five robots 200 and their trajectories 12. More specifically, FIG. 6 shows five robots 200 from the first robot 200a to the fifth robot 200e and the corresponding first trajectory 12a to fifth trajectory 12e. In addition, each locus | trajectory 12 of the 1st locus | trajectory 12a to the 5th locus | trajectory 12e is shown with the broken line. In order to avoid complication, the reference numerals in the figure are not attached, but the black circles present on each locus 12 indicate the position of step 10 acquired by the specifying unit 110.

算出部120は、特定部110が特定したステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。   The calculation unit 120 calculates, as an interference step, a step in which at least two robots collide or contact among the steps specified by the specification unit 110.

まず、算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する。算出部120は、特定部110が取得した軌跡12をもとに、組となる2つのロボットがそれぞれ取り得る軌跡の中から、1対の軌跡12の組を取得する。同一のロボット200であっても、制御プログラムが異なれば異なる軌跡を描くため、算出部120は制御プログラム毎に解析を実行する。   First, the calculation unit 120 acquires a set of two different robots 200 from the plurality of robots 200. Based on the trajectory 12 acquired by the specifying unit 110, the calculation unit 120 acquires a pair of trajectories 12 from trajectories that can be taken by each of the two robots that form the pair. Even for the same robot 200, if the control program is different, a different trajectory is drawn. Therefore, the calculation unit 120 performs analysis for each control program.

次に、算出部120は、取得した1対の軌跡12の組に含まれるステップ10同士が、上述した距離L未満にあるか否かを比較する。これの比較は、シミュレーション空間上に離散的に存在する2点間の距離求めて距離Lと比較する処理であるため、計算量は少ない。このため、算出部120はこの比較処理を高速に実行することができる。以下本明細書において、算出部120が実行するステップ10同士と距離Lとの比較処理を、点の位置(ポジション;position)をもとにする確認処理であるため、「ポジションチェック」と記載することがある。 Next, calculator 120, step 10 to each other included in a set of trajectory 12 of a pair of acquired compares whether less than the distance L T as described above. Comparison of this is because on the simulation space is a process of comparing the distance calculated distance L T between discretely two points exist, the calculation amount is small. For this reason, the calculation part 120 can perform this comparison process at high speed. Herein below, the process of comparison between a step 10 between the distance L T the calculation unit 120 performs, the position of the point; for a confirmation process for the (position position) based on, as "position check" There are things to do.

図7は、2つの異なるロボット200の軌跡の一例を示す図であり、より具体的には、図6における第3ロボット200cの軌跡12cと、第5ロボット200eの軌跡12dとを示す図である。図7に示すように、軌跡12cと軌跡12dとは離れており、これらの軌跡12の間には干渉領域14は存在しない。算出部120は、全てのロボット200の組み合わせにおける全ての制御プログラムの組み合わせを解析し、軌跡12のポジションチェックを総当たりで実行する。これにより、算出部120は干渉しないことが明らかな軌跡12の組み合わせを迅速に除去することができる。ゆえに、算出部120は、ロボット200間の衝突または接触の解析の高速化、解析時間の短縮化を実現できる。   FIG. 7 is a diagram showing an example of the trajectories of two different robots 200. More specifically, FIG. 7 is a diagram showing the trajectory 12c of the third robot 200c and the trajectory 12d of the fifth robot 200e in FIG. . As shown in FIG. 7, the trajectory 12 c and the trajectory 12 d are separated from each other, and the interference region 14 does not exist between these trajectories 12. The calculation unit 120 analyzes all combinations of control programs in all combinations of the robots 200, and executes a position check of the trajectory 12 with brute force. Thereby, the calculation part 120 can remove rapidly the combination of the locus | trajectory 12 that it is clear that it does not interfere. Therefore, the calculation unit 120 can realize speeding up of analysis of collision or contact between the robots 200 and shortening of analysis time.

算出部120は、複数のロボット200のそれぞれについてポジションチェックを実行し、ロボット200が描く軌跡12のうちステップ10同士の距離が距離L未満となる場合、2つのロボット200同士の衝突または接触の可能性がある組と判定する。算出部120は、さらに、衝突または接触の可能性がある組を判定した場合、所定の距離以下となるステップと、その前のステップまたは後ろのステップとの少なくともいずれか一方のステップとを結ぶ軌跡12を解析し、ロボット200同士が衝突または接触するか否かを解析する。 Calculator 120 executes the position check for each of the plurality of robots 200, when the distance step 10 between of the trajectory 12 of the robot 200 is drawn is less than the distance L T, the two robots 200 to each other in a collision or contact Judged as a possible pair. Further, when the calculation unit 120 determines a pair having a possibility of collision or contact, a trajectory connecting a step that is equal to or less than a predetermined distance and at least one of the previous step or the subsequent step. 12 is analyzed to determine whether the robots 200 collide or contact each other.

図8(a)−(b)は、算出部120によるロボット200間の衝突または接触の解析を説明する模式図である。図8(a)は、第1ステップ10aから第2ステップ10bに至るまでの第1軌跡12aと、第3ステップ10cから第4ステップ10dに至るまでの第2軌跡12bと2を図示している。図8(a)に示す例では、第1ステップ10aと第3ステップ10cとの間の距離Lが、距離L未満となっている。そこで算出部120は、少なくとも第1軌跡12aと第2軌跡12bとは「接触」であると判定する。第1軌跡12aと第2軌跡12bとが少なくとも接触すると判定した場合、算出部120は、第1軌跡12aにおける第1ステップ10aから第2ステップ10bに至るまでの第1軌跡12a、および第3ステップ10cから第4ステップ10dに至るまでの第2軌跡12bについて、単位時間毎に衝突があるか否かを解析する。 FIGS. 8A and 8B are schematic diagrams for explaining the analysis of the collision or contact between the robots 200 by the calculation unit 120. FIG. FIG. 8A illustrates a first locus 12a from the first step 10a to the second step 10b, and a second locus 12b and 2 from the third step 10c to the fourth step 10d. . In the example shown in FIG. 8 (a), the distance L between the first step 10a and the third step 10c have a distance less than L T. Therefore, the calculation unit 120 determines that at least the first trajectory 12a and the second trajectory 12b are “contact”. When it is determined that the first trajectory 12a and the second trajectory 12b are in contact with each other, the calculating unit 120 performs the first trajectory 12a from the first step 10a to the second step 10b in the first trajectory 12a, and the third step. The second trajectory 12b from 10c to the fourth step 10d is analyzed whether or not there is a collision every unit time.

図8(b)は、第1軌跡12aと第2軌跡12bとにおける、単位時間毎の解析箇所を示す模式図である。ここで「単位時間」とは、算出部120が接触判定のあった軌跡12の組を詳細に解析する際のサンプリングレートである。単位時間はロボット200の数や工程数、軌跡12の距離等を考慮して実験により定めればよいが、例えば0.02秒である。   FIG. 8B is a schematic diagram showing the analysis locations for each unit time in the first trajectory 12a and the second trajectory 12b. Here, the “unit time” is a sampling rate when the calculation unit 120 analyzes in detail the set of the trajectories 12 for which contact determination has been made. The unit time may be determined by experiment in consideration of the number of robots 200, the number of processes, the distance of the trajectory 12, and the like, and is 0.02 seconds, for example.

上述したように、制御プログラムが有するステップ情報には、ロボット200が各ステップ10間を移動する際の速度や移動方向等の補助情報も含まれる。算出部120は、この補助情報とサンプリングレートとを用いて、単位時間毎にロボット200の存在位置を計算により取得する。図8(b)において、白い丸は第1軌跡12aにおける単位時間毎のロボット200の位置を示し、斜線で示す丸は第2軌跡12bにおける単位時間毎のロボット200の位置を示す。図8(b)より、算出部120は第1軌跡12aと第2軌跡12bとが交差すること、すなわちロボット200同士が衝突する可能性があることが判定できる。以下本明細書において、算出部120による補助情報とサンプリングレートとを用いた軌跡12の解析を、軌跡チェックと記載することがある。   As described above, the step information included in the control program includes auxiliary information such as a speed and a moving direction when the robot 200 moves between the steps 10. Using the auxiliary information and the sampling rate, the calculation unit 120 acquires the presence position of the robot 200 by calculation every unit time. In FIG. 8B, a white circle indicates the position of the robot 200 per unit time in the first trajectory 12a, and a circle indicated by diagonal lines indicates the position of the robot 200 per unit time in the second trajectory 12b. From FIG. 8B, the calculation unit 120 can determine that the first trajectory 12a and the second trajectory 12b intersect, that is, the robots 200 may collide with each other. Hereinafter, in this specification, the analysis of the trajectory 12 using the auxiliary information and the sampling rate by the calculation unit 120 may be referred to as a trajectory check.

このように、算出部120は離散的なポジションチェックを実行することで交差しないことが明白な軌跡12の組み合わせを迅速に除去し、接触している軌跡12の組についてのみ詳細な軌跡チェックを実行する。これにより、算出部120は衝突解析の迅速化と精度向上とを達成することができる。   In this way, the calculation unit 120 quickly removes the combinations of the trajectories 12 that are clearly not intersected by executing the discrete position check, and performs the detailed trajectory check only for the pair of trajectories 12 that are in contact with each other. To do. Thereby, the calculation part 120 can achieve speeding-up and accuracy improvement of a collision analysis.

決定部130は、算出部120が算出した干渉ステップにおいて、優先して作業させるロボット200を決定する。決定部130は、干渉ステップが複数ある場合に、所定の工程を完了させるために必要な時間が短くなるように、複数の干渉ステップの各々において優先して作業させるロボット200を決定する。所定の工程は、例えば、複数のロボット200が協働して実行する作業全体のことである。   The determination unit 130 determines the robot 200 to be preferentially operated in the interference step calculated by the calculation unit 120. When there are a plurality of interference steps, the determination unit 130 determines the robot 200 to be preferentially operated at each of the plurality of interference steps so that the time required to complete the predetermined process is shortened. The predetermined process is, for example, the entire work performed by the plurality of robots 200 in cooperation.

設定部140は、決定部130の決定結果をもとに、少なくとも2つのロボット200同士の衝突または接触を防止するためのインターロックを設定する。設定部140は、決定部130が干渉エリアとして複数の組み合わせを設定した場合、当該複数の組み合わせのうち、所定の工程を完了させるために必要な時間が短くなる組み合わせに基づいて、衝突または接触を防止するためのインターロックを設定してもよい。   The setting unit 140 sets an interlock for preventing a collision or contact between at least two robots 200 based on the determination result of the determination unit 130. When the determination unit 130 sets a plurality of combinations as the interference area, the setting unit 140 performs a collision or a contact based on a combination that shortens a time required for completing a predetermined process among the plurality of combinations. An interlock for prevention may be set.

通知部150は、設定部140が設定したインターロックの設定に関する情報を通知する。通知部150は、例えば、複数のロボット200の各々に対して、インターロックの設定に関する信号を通知する。複数のロボット200の各々は、通知されたインターロックの設定に関する信号に基づいて動作する。また、通知部150は、例えば、ユーザに対して、設定部140が設定したインターロックを示す領域を図示するための情報を通知してもよい。   The notification unit 150 notifies information related to the interlock setting set by the setting unit 140. For example, the notification unit 150 notifies each of the plurality of robots 200 of a signal related to the interlock setting. Each of the plurality of robots 200 operates based on the notified signal regarding the interlock setting. In addition, the notification unit 150 may notify the user of information for illustrating the area indicating the interlock set by the setting unit 140, for example.

図9は、実施形態1における干渉ステップ20を説明するための模式図である。図9に示す画像は、組とする2つのロボット200のうち一方のロボット200のステップ情報を第1座標軸、第1座標軸と非平行であり他方のロボット200のステップ情報を第2座標軸とするグラフに、インターロックを示すインターロック領域をマッピングした図である。   FIG. 9 is a schematic diagram for explaining the interference step 20 according to the first embodiment. The image shown in FIG. 9 is a graph in which step information of one robot 200 out of two robots 200 to be paired is a first coordinate axis, non-parallel to the first coordinate axis, and step information of the other robot 200 is a second coordinate axis. It is the figure which mapped the interlock area | region which shows an interlock.

より具体的に、図9に示すグラフは、第1ロボット200aを制御する制御プログラム001によるステップ情報を横軸、第2ロボット200bを制御する制御プログラム003のステップ情報を縦軸とするマトリクスに、干渉ステップ20をマッピングして示している。なお、干渉ステップ20は、インターロックの設定を行うインターロック領域でもある。   More specifically, the graph shown in FIG. 9 is a matrix in which step information by the control program 001 for controlling the first robot 200a is abscissa and step information of the control program 003 for controlling the second robot 200b is ordinate. The interference step 20 is shown mapped. The interference step 20 is also an interlock area where the interlock is set.

図9に示す例では、第1ロボット200aの第2ステップと、第2ロボット200bの第2ステップとが干渉ステップとなる。同様にして、図9に示すマトリクスのうち斜線でしめす領域が、干渉ステップであることを示している。   In the example shown in FIG. 9, the second step of the first robot 200a and the second step of the second robot 200b are interference steps. Similarly, the area shown with diagonal lines in the matrix shown in FIG. 9 indicates an interference step.

設定部140は、図9のマトリクス上に示される干渉ステップの各々に対して、インターロックの設定を行う。なお、設定部140は、干渉ステップ20の周囲を含めて、インターロックの設定をおこなってもよい。   The setting unit 140 sets an interlock for each of the interference steps shown on the matrix of FIG. Note that the setting unit 140 may set the interlock including the periphery of the interference step 20.

本発明の実施形態1において、決定部130は、干渉ステップ20が複数ある場合に、複数の干渉ステップ20のうちの少なくとも2つの干渉ステップ20を干渉エリア21として設定し、設定した干渉エリア21において優先して作業させるロボットを決定させる。   In the first embodiment of the present invention, when there are a plurality of interference steps 20, the determination unit 130 sets at least two interference steps 20 among the plurality of interference steps 20 as the interference area 21. Determine the robot to work with priority.

決定部130は、複数の干渉ステップ20を1つの干渉エリア21として設定し、設定した干渉エリア21において優先して作業させるロボットを決定する。なお、その場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。   The determination unit 130 sets a plurality of interference steps 20 as one interference area 21 and determines a robot to work with priority in the set interference area 21. In this case, the determination unit 130 may set an area including an area that is not the interference step 20 as the interference area 21.

図10は、実施形態1における干渉エリア21を説明するための模式図である。図10に示す例では、第1ロボット200aの第10乃至第11ステップと、第2ロボット200bの第9乃至第10ステップで囲まれたエリアが、干渉エリア21となる。また、第1ロボット200aの第5乃至第7ステップと、第2ロボット200bの第4乃至第7ステップで囲まれたエリアが、干渉エリア21となる。なお、当該干渉エリア21は、干渉ステップ20ではない領域(例えば、第1ロボット200aの第5ステップと、第2ロボット200bの第7ステップのエリア)も、干渉エリア21に含めることができる。   FIG. 10 is a schematic diagram for explaining the interference area 21 in the first embodiment. In the example illustrated in FIG. 10, the area surrounded by the tenth to eleventh steps of the first robot 200 a and the ninth to tenth steps of the second robot 200 b is the interference area 21. The area surrounded by the fifth to seventh steps of the first robot 200a and the fourth to seventh steps of the second robot 200b is the interference area 21. It should be noted that the interference area 21 can also include areas that are not the interference step 20 (for example, areas of the fifth step of the first robot 200a and the seventh step of the second robot 200b) in the interference area 21.

決定部130は、干渉ステップ20または干渉エリア21に対して、優先して作業させるロボットを決定する。この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、干渉ステップ20または干渉エリア21において優先して作業させるロボットを決定する。図10に示すように、干渉ステップ20および干渉エリア21が複数ある場合、干渉ステップ20および干渉エリア21ごとに優先して作業させるロボットを決定するため、複数の組み合わせが考えられる。この場合において、決定部130は、複数の組み合わせのうち、作業全体が完了するまでに必要な時間が短くなる組み合わせを採用する。決定部130は、例えば、複数の組み合わせの各々について、作業全体が完了するまでに必要な時間を計算し、当該必要な時間が最も短い組み合わせを選択する。   The determination unit 130 determines a robot to be preferentially operated with respect to the interference step 20 or the interference area 21. In this case, the determination unit 130 determines a robot to be preferentially operated in the interference step 20 or the interference area 21 in consideration of the time required until the entire operation is completed. As shown in FIG. 10, when there are a plurality of interference steps 20 and interference areas 21, a plurality of combinations are conceivable in order to determine a robot to be preferentially operated for each interference step 20 and interference area 21. In this case, the determination unit 130 employs a combination that shortens the time required until the entire operation is completed among a plurality of combinations. For example, for each of a plurality of combinations, the determination unit 130 calculates the time required until the entire work is completed, and selects the combination with the shortest required time.

第1ロボット200aを制御する制御プログラム001と第2ロボット200bを制御する制御プログラム003とに、干渉ステップ20および干渉エリア21におけるインターロックを設定する。   Interlocks in the interference step 20 and the interference area 21 are set in the control program 001 for controlling the first robot 200a and the control program 003 for controlling the second robot 200b.

図11は、実施の形態に係るティーチング装置100が実行するプログラム作成支援処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えばティーチング装置100が起動したときに開始する。   FIG. 11 is a flowchart illustrating the flow of the program creation support process executed by the teaching device 100 according to the embodiment. The processing in this flowchart starts when the teaching device 100 is activated, for example.

特定部110は、記憶部170を参照して、複数のロボット200がそれぞれ取り得る軌跡12を全て取得する(S100)。   The specifying unit 110 refers to the storage unit 170 and acquires all the trajectories 12 that the plurality of robots 200 can take (S100).

算出部120は、複数のロボット200のうち異なる2つのロボット200の組を取得する(S200)。   The calculation unit 120 acquires a set of two different robots 200 among the plurality of robots 200 (S200).

算出部120は、組となる2つのロボット200がそれぞれ取り得る軌跡12をもとに、当該2つのロボットが衝突または接触するか否かを解析する(S300)。   The calculation unit 120 analyzes whether or not the two robots collide or come into contact with each other based on the trajectories 12 that can be taken by the two robots 200 as a pair (S300).

決定部130は、算出部120により衝突または接触すると解析された領域を、干渉ステップ20および干渉エリア21と決定する(S400)。   The determination unit 130 determines the region analyzed by the calculation unit 120 to collide or contact as the interference step 20 and the interference area 21 (S400).

設定部140は、決定部130が決定した干渉ステップ20および干渉エリア21に対して、組となる2つのロボットの衝突または接触を防止するためのインターロックを設定する(S500)。   The setting unit 140 sets an interlock for preventing the collision or contact of the two robots that form a pair with respect to the interference step 20 and the interference area 21 determined by the determination unit 130 (S500).

その後、設定部140は、インターロックの設定に基づいて、複数のロボット200を制御するための制御プログラムを設定する(S600)。   Thereafter, the setting unit 140 sets a control program for controlling the plurality of robots 200 based on the interlock setting (S600).

図12は、実施の形態に係る特定部110が実行する特定機能の流れを説明するフローチャートであり、図11におけるステップS100をより詳細に説明する図である。   FIG. 12 is a flowchart illustrating the flow of the specific function executed by the specifying unit 110 according to the embodiment, and is a diagram illustrating step S100 in FIG. 11 in more detail.

特定部110は、複数のロボット200のうちから1つのロボット200を選択する(S110)。   The specifying unit 110 selects one robot 200 from the plurality of robots 200 (S110).

続いて、特定部110は、選択したロボット200の動作を制御するための制御プログラムを全て読み出す(S120)。   Subsequently, the specifying unit 110 reads all the control programs for controlling the operation of the selected robot 200 (S120).

特定部110は、読み出した制御プログラムそれぞれで制御された場合における、選択したロボット200が動く軌跡12を取得する(S140)。   The specifying unit 110 acquires the trajectory 12 on which the selected robot 200 moves when controlled by each of the read control programs (S140).

特定部110は、全てのロボット200について選択するまでの間(ステップS150のNo)、ステップ110からステップ140までの処理を継続する。   The identification unit 110 continues the processing from step 110 to step 140 until all the robots 200 are selected (No in step S150).

特定部110は、全てのロボット200について選択が終了すると(S150のYes)、処理を終了する。   When the selection unit 110 finishes selecting all the robots 200 (Yes in S150), the specifying unit 110 ends the process.

図13は、実施の形態に係る算出部120が実行する算出機能の流れを説明するフローチャートであり、図11におけるステップS300をより詳細に説明する図である。   FIG. 13 is a flowchart illustrating the flow of the calculation function executed by the calculation unit 120 according to the embodiment, and is a diagram illustrating step S300 in FIG. 11 in more detail.

算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する(S310)。算出部120は、組を構成する2つのロボット200それぞれが取り得る軌跡12の中から、1対の軌跡12の組を取得する(S320)。   The calculation unit 120 acquires a set of two different robots 200 from the plurality of robots 200 (S310). The calculation unit 120 acquires a pair of trajectories 12 from the trajectories 12 that can be taken by each of the two robots 200 constituting the pair (S320).

算出部120は、軌跡12の組に含まれるステップ10間の距離が、所定の距離L未満であるか否かの比較、すなわち上述したポジションチェックを実行する(S330)。軌跡12の組に含まれるステップ10間の距離が、所定の距離L以上の場合(S340のNo)、算出部120は取得した1対の軌跡12は接触しないと判定し、ステップS310に戻って処理を継続する。 Calculator 120, the distance between the step 10 included in a set of trajectory 12, the comparison of whether it is less than a predetermined distance L T, namely to perform a position check described above (S330). The distance between the step 10 included in a set of trajectory 12, the case of more than the predetermined distance L T (No in S340), calculation unit 120 trajectory 12 of a pair of acquired is determined to not contact, returns to step S310 To continue processing.

軌跡12の組に含まれるステップ10間の距離が、所定の距離L未満の場合(S340のYes)、算出部120はステップ10とその前後いずれかのまたは両方のステップ10を結ぶ軌跡12が交差するか否かを解析、すなわち上述した軌跡チェックを実行する(S350)。 The distance between the step 10 included in the set of trajectories 12, if less than the predetermined distance L T (Yes in S340), calculation unit 120 trajectory 12 connecting either or both steps 10 and its front and rear step 10 It is analyzed whether or not they intersect, that is, the trajectory check described above is executed (S350).

軌跡12が交差する場合(S360のYes)、算出部120は、組とした2つのロボット200が衝突すると判定する(S370)。一方、軌跡12が交差しない場合(S360のNo)、算出部120は、組とした2つのロボット200は接触すると判定する(S380)。   When the trajectories 12 intersect (Yes in S360), the calculation unit 120 determines that the two robots 200 in the set collide (S370). On the other hand, when the trajectories 12 do not intersect (No in S360), the calculation unit 120 determines that the two robots 200 in the set contact each other (S380).

複数のロボット200について取り得る全ての軌跡12の組み合わせを取得するまでの間(S390のNo)、算出部120は、ステップS310〜ステップS390までの処理を繰り返す。算出部120は、取り得る全ての軌跡12の組み合わせを取得すると(S390のYes)、処理を終了する。   Until the combinations of all the trajectories 12 that can be taken with respect to the plurality of robots 200 are acquired (No in S390), the calculation unit 120 repeats the processes from Step S310 to Step S390. When the calculation unit 120 acquires all possible combinations of the trajectories 12 (Yes in S390), the calculation unit 120 ends the process.

図14は、実施形態1における決定部130が、干渉ステップ20および干渉エリア21を決定する場合の動作例を示すフローチャートであり、図11におけるステップS400を詳細に説明する図である。   FIG. 14 is a flowchart illustrating an operation example when the determination unit 130 according to the first embodiment determines the interference step 20 and the interference area 21, and is a diagram illustrating in detail step S400 in FIG.

決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。   The determination unit 130 identifies the interference step 20 of the two robots 200 that make the pair (S410).

決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。   The determination unit 130 specifies a region that can be set as the interference area 21 among the specified interference steps 20 (S420). In this case, the determination unit 130 may set an area including an area that is not the interference step 20 as the interference area 21.

決定部130は、干渉ステップ20またはこれらの干渉エリア21に対して、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する(S430)。   The determination unit 130 determines a robot to be preferentially operated with respect to the interference step 20 or these interference areas 21 in consideration of the time required until the entire operation is completed (S430).

以上の構成によるティーチングシステム1の動作は以下のとおりである。まず、ティーチング装置100は、複数のロボット200のうち異なる2つのロボット200の組を単位として制御プログラムを解析し、全ての軌跡12の組み合わせについて、2つのロボット200が干渉する領域を干渉ステップ20または干渉エリア21と設定し、当該干渉ステップ20または干渉エリア21において、優先して動作するロボットを決定する。この場合において、そして、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する。ティーチング装置100は、干渉ステップ20または干渉エリア21において優先して動作するロボット200に基づき、インターロックを設定する。そして、ティーチング装置100は、インターロックの設定に基づいて、複数のロボット200の動作を制御するための制御プログラムを設定する。ティーチング装置100は、複数のロボット200に協働して作業を行わせるための制御プログラムを提供することができる。   The operation of the teaching system 1 configured as above is as follows. First, the teaching apparatus 100 analyzes the control program in units of two different robots 200 among the plurality of robots 200, and sets the interference step 20 or the region where the two robots 200 interfere for all combinations of the trajectories 12. The interference area 21 is set, and the robot that operates with priority in the interference step 20 or the interference area 21 is determined. In this case, and in consideration of the time required until the entire work is completed, the robot to be preferentially worked is determined. The teaching device 100 sets an interlock based on the robot 200 that operates with priority in the interference step 20 or the interference area 21. Then, the teaching device 100 sets a control program for controlling the operations of the plurality of robots 200 based on the interlock setting. The teaching device 100 can provide a control program for causing a plurality of robots 200 to work together.

以上説明したように、第1の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムを作成することができる。特に、ロボット200の接触を抑制するための制御に利用するインターロックの設定を支援することができる。   As described above, according to the system 1 according to the first embodiment, it is possible to create a control program for causing a plurality of robots 200 to work together. In particular, it is possible to support setting of an interlock used for control for suppressing contact of the robot 200.

<第2の実施形態>
第2の実施形態は、決定部130が、干渉ステップ20および/または干渉エリア21が複数ある場合に、複数の干渉ステップ20および/または干渉エリア21を含む領域を、少なくとも1つ以上の分割エリア22に分けて、該分割エリア22において優先して作業させるロボットを決定させる実施形態である。
<Second Embodiment>
In the second embodiment, when the determining unit 130 includes a plurality of interference steps 20 and / or interference areas 21, a region including the plurality of interference steps 20 and / or interference areas 21 is divided into at least one divided area. In this embodiment, a robot to be preferentially operated in the divided area 22 is determined.

第2の実施形態に記載の内容は、第1の実施形態にも適用可能である。   The content described in the second embodiment is also applicable to the first embodiment.

なお、システム1やロボット200、ティーチング装置100の構成例は、第1の実施形態で説明したシステム1やロボット200、ティーチング装置100と同様であるため、詳細な説明は省略される。   Note that configuration examples of the system 1, the robot 200, and the teaching device 100 are the same as those of the system 1, the robot 200, and the teaching device 100 described in the first embodiment, and thus detailed description thereof is omitted.

また、第2の実施形態における決定部130は、干渉ステップ20や干渉エリア21が複数ある場合に、該複数の干渉ステップ20や干渉エリア21を少なくとも1つ以上の分割エリア22として設定可能である。決定部130は、設定した分割エリア22において優先して作業させるロボットを決定する。   In addition, when there are a plurality of interference steps 20 and interference areas 21, the determination unit 130 in the second embodiment can set the plurality of interference steps 20 and interference areas 21 as at least one divided area 22. . The determination unit 130 determines a robot to be preferentially operated in the set divided area 22.

決定部130は、予め定められた個数の分割エリア22を設定する。分割エリア22の個数が1つの場合は“1系統”、2つの場合は“2系統”、N個の場合は“N系統”と記載してもよい。1系統の場合は、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)を1組用いる。すなわち、1系統の場合は、1つの信号の組み合わせにより、インターロックを設定する。また、2系統の場合は、2つの信号の組み合わせにより、インターロックを設定する。   The determination unit 130 sets a predetermined number of divided areas 22. If the number of divided areas 22 is one, it may be described as “1 system”, 2 may be described as “2 systems”, and N may be described as “N systems”. In the case of one system, one set of “pre-entry signal” (standby signal) and “post-evacuation signal” (non-interference signal) is used. That is, in the case of one system, the interlock is set by a combination of one signal. In the case of two systems, an interlock is set by a combination of two signals.

なお、分割エリア22の個数は、予め定められている必要はなく、決定部130が決定してもよいし、ユーザが都度設定してもよい。決定部130が決定する場合、該決定部130は、例えば、干渉ステップ20や干渉エリア21の数や大きさに基づいて、分割エリア22の数を決定してもよい。また、決定部130は、作業全体が完了するまでに必要な時間を考慮して、分割エリア22の数を決定してもよい。例えば、決定部130は、作業全体が完了するまでに必要な時間が最小となるように、分割エリア22の数を決定してもよい。   Note that the number of the divided areas 22 does not need to be determined in advance, and may be determined by the determination unit 130 or may be set by the user each time. When the determination unit 130 determines, the determination unit 130 may determine the number of divided areas 22 based on the number and size of the interference step 20 and the interference area 21, for example. Further, the determination unit 130 may determine the number of the divided areas 22 in consideration of a time required until the entire work is completed. For example, the determination unit 130 may determine the number of the divided areas 22 so that the time required for completing the entire work is minimized.

図15は、第2の実施形態における分割エリア22を説明するための模式図である。図15は、2系統の場合の分割エリア22の例である。図15に示すように、1つの干渉ステップ20と、2つの干渉エリア21がある場合、分割エリア22は、図15に示すように、2つのパターンが考えられる。図15(a)は、干渉ステップ20と干渉エリア21Aを一方の分割エリア22Aとし、干渉エリア21Bを他方の分割エリア22Bとするパターンである。一方、図15(b)は、干渉ステップ20を一方の分割エリア22Aとし、干渉エリア21Aと干渉エリア21Bとを他方の分割エリア22Bとするパターンである。   FIG. 15 is a schematic diagram for explaining the divided areas 22 in the second embodiment. FIG. 15 is an example of the divided area 22 in the case of two systems. As shown in FIG. 15, when there is one interference step 20 and two interference areas 21, the divided area 22 can have two patterns as shown in FIG. 15. FIG. 15A shows a pattern in which the interference step 20 and the interference area 21A are set as one divided area 22A, and the interference area 21B is set as the other divided area 22B. On the other hand, FIG. 15B shows a pattern in which the interference step 20 is set as one divided area 22A, and the interference area 21A and the interference area 21B are set as the other divided area 22B.

決定部130は、図15(a)のパターンと、図15(b)のパターンとを計算し、いずれのパターンを用いるかを決定する。決定部130は、分割エリア22の設定に関して複数のパターンがある場合に、分割エリア22間のロボット200の移動時間に基づいて、どのパターンを用いるか決定する。   The determination unit 130 calculates the pattern in FIG. 15A and the pattern in FIG. 15B and determines which pattern to use. The determination unit 130 determines which pattern to use based on the movement time of the robot 200 between the divided areas 22 when there are a plurality of patterns regarding the setting of the divided areas 22.

決定部130は、複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長である場合を含むパターンを、実際に用いるパターンとして決定する。分割エリア22間のロボット200の移動時間が最長の場合を含むパターンは、ロボット200が自由に動作または移動できる領域が大きいこと、すなわちインターロックによるロボット200の停止時間が少ないことを意味する。そこで、決定部130は、インターロックによるロボット200の停止時間が少ないパターンを選択する。   When there are a plurality of patterns, the determination unit 130 determines a pattern including a case where the movement time of the robot 200 between the divided areas 22 is the longest as a pattern to be actually used. The pattern including the case where the movement time of the robot 200 between the divided areas 22 is the longest means that the area where the robot 200 can freely move or move is large, that is, the stop time of the robot 200 due to the interlock is small. Therefore, the determination unit 130 selects a pattern with a short stop time of the robot 200 due to the interlock.

図15(a)において、分割エリア22間のロボット200の移動時間は、“Δt1”と“Δt2”とがある。また、図15(b)において、分割エリア22間のロボット200の移動時間は、“Δt3”と“Δt4”とがある。決定部130は、“Δt1”〜“Δt4”のうち最も長い時間を含むパターンを選択する。例えば“Δt1”が最も長い時間である場合には、決定部130は、“Δt1”を含む図15(a)のパターンを、実際に使用するパターンとして選択する。   In FIG. 15A, the movement time of the robot 200 between the divided areas 22 includes “Δt1” and “Δt2”. In FIG. 15B, the movement time of the robot 200 between the divided areas 22 includes “Δt3” and “Δt4”. The determination unit 130 selects a pattern including the longest time from “Δt1” to “Δt4”. For example, when “Δt1” is the longest time, the determination unit 130 selects the pattern of FIG. 15A including “Δt1” as a pattern to be actually used.

上記のとおり、決定部130は、分割エリア22の設定に関して複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長の場合を含むパターンを、実際に使用するパターンとして選択する。   As described above, the determination unit 130 selects a pattern including the case where the movement time of the robot 200 between the divided areas 22 is the longest as a pattern to be actually used when there are a plurality of patterns regarding the setting of the divided areas 22. .

次に、決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定する。この場合において、設定部140は、決定部130の決定結果に基づいて、インターロックの設定を行う。設定部140は、例えば、優先して作業させるロボット200(優先情報を持つロボット200)に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを、待機させるロボット200(優先情報を持たないロボット200)に送信する旨を設定してもよいし、そのような制御を行うための制御プログラムを設定してもよい。   Next, the determination unit 130 determines a robot 200 to be preferentially operated for each of the divided areas 22. In this case, the setting unit 140 sets an interlock based on the determination result of the determination unit 130. For example, the setting unit 140 waits for a “pre-entry signal” (standby signal) and a “post-evacuation signal” (non-interference signal) to the robot 200 (the robot 200 having priority information) to be prioritized. It may be set to transmit to the robot 200 to be transmitted (the robot 200 having no priority information), or a control program for performing such control may be set.

図16は、1系統の場合の分割エリア22を説明するための模式図である。図16(a)は、分割エリア22において、第1のロボット200が優先して作業する場合の例である。図16(a)に示すように、分割エリア22において第1のロボット200が優先して作業する場合、設定部140は、第1のロボットに対して、“第2のロボット200のステップ1において、「進入前信号」(待機信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第2のロボット200はステップ2の工程に進まず、分割エリア22において第1のロボット200が優先して作業可能となる。   FIG. 16 is a schematic diagram for explaining the divided area 22 in the case of one system. FIG. 16A shows an example in which the first robot 200 works with priority in the divided area 22. As shown in FIG. 16A, when the first robot 200 works with priority in the divided area 22, the setting unit 140 instructs the first robot to “in step 1 of the second robot 200. , “Send pre-entry signal” (standby signal) to the second robot ”is set. As a result, the second robot 200 performs the“ pre-entry signal ”while performing the process of step 1. "(Standby signal). As a result, the second robot 200 does not proceed to the step 2 and the first robot 200 can work with priority in the divided area 22.

また、設定部140は、第1のロボットに対して、“第1のロボット200のステップ12において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。   Further, the setting unit 140 sets to the first robot that “in step 12 of the first robot 200“ a signal after retraction ”(a signal outside interference) is transmitted to the second robot”. As a result, the second robot 200 can receive the “post-retraction signal” (non-interference signal) after the first robot 200 completes the step in the divided area 22, and can proceed to the step 2. .

上記のとおり、決定部130が分割エリア22を決定することにより、設定部140は、インターロックに関する信号を設定するステップを求めることが可能となる。   As described above, when the determination unit 130 determines the divided area 22, the setting unit 140 can obtain a step for setting a signal related to the interlock.

図16(b)は、分割エリア22において、ロボット2が優先して作業する場合の例である。図16(b)に示すように、分割エリア22において第2のロボット200が優先して作業する場合、設定部140は、第1のロボット200のステップ1において、第2のロボットが「進入前信号」(待機信号)を第1のロボットに対して送信する旨を設定する。その結果、第1のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第1のロボット200はステップ2の工程に進まず、分割エリア22において第2のロボット200が優先して作業可能となる。   FIG. 16B shows an example in which the robot 2 preferentially works in the divided area 22. As shown in FIG. 16B, when the second robot 200 works with priority in the divided area 22, the setting unit 140 determines that the second robot is “before entering” in step 1 of the first robot 200. “Signal” (standby signal) is set to be transmitted to the first robot. As a result, the first robot 200 receives the “pre-entry signal” (standby signal) while performing the process of step 1. As a result, the first robot 200 does not proceed to step 2, and the second robot 200 can work with priority in the divided area 22.

また、設定部140は、第2のロボット200のステップ11において、第2のロボットが「退避後信号」(干渉外信号)を、第1のロボットに対して送信する旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。   The setting unit 140 sets that the second robot transmits a “post-retraction signal” (non-interference signal) to the first robot in Step 11 of the second robot 200. As a result, the first robot 200 can receive the “post-retraction signal” (non-interference signal) after the second robot 200 completes the step in the divided area 22, and can proceed to the step 2. .

ここで、図16に示すように、1系統の場合、分割エリア22において優先して作業するロボット200が第1のロボット200の場合と第2のロボット200の場合とで、2通りの経路(組み合わせ)が考えられる。例えば、図16(a)のように、分割エリア22において、第1ロボット200を優先して動作するロボット200として決定する場合(経路A)と、図15(b)のように、第2ロボット200を優先して動作するロボット200として決定する場合(経路B)の2通りが考えられる。   Here, as shown in FIG. 16, in the case of one system, there are two routes (i.e., the first robot 200 and the second robot 200 are the robots 200 that work preferentially in the divided area 22). Combination). For example, as shown in FIG. 16A, in the divided area 22, the first robot 200 is determined as the robot 200 that operates with priority (path A), and as shown in FIG. 15B, the second robot There are two possible cases (route B) when 200 is determined as the robot 200 that operates with priority.

この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路Aまたは経路Bのいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路Aまたは経路Bのいずれかを選択する。この場合において、決定部130は、例えば、ダイクストラ法(最短経路法)を用いて、いずれかの経路を選択してもよい。   In this case, the determination unit 130 selects either the route A or the route B in consideration of the time required until the entire work is completed. For example, the determination unit 130 selects either the route A or the route B so that the time required for completing the entire work is the shortest. In this case, the determination unit 130 may select one of the routes using, for example, the Dijkstra method (shortest route method).

その後、設定部140は、上述したように、決定部130の決定した経路に基づいて、インターロックの設定を行う。例えば、設定部140は、決定部130が経路Aを選択した場合には、図16(a)に示すインターロックに関する信号の設定を行う。   Thereafter, as described above, the setting unit 140 sets an interlock based on the route determined by the determination unit 130. For example, when the determination unit 130 selects the route A, the setting unit 140 sets a signal related to the interlock illustrated in FIG.

上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。   As described above, the determination unit 130 determines the divided area 22 and selects any one of the plurality of routes so that the setting unit 140 determines which step should be used to set the signal related to the interlock. Can do. And since the determination part 130 selects the path | route which requires the shortest time until the whole operation | work is completed, the teaching apparatus 100 has the control program with which the some robot 200 can cooperate most efficiently, and can work. Can be provided.

図17は、2系統の場合の分割エリア22における経路を説明するための模式図である。図17において説明したように、決定部130は、分割エリア22の設定のパターンが複数ある場合には、分割エリア22間のロボット200の移動時間に基づいて、どのパターンを用いるか決定すする。決定部130は、例えば、複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長である場合を含むパターンを、実際に用いるパターンとして決定する。   FIG. 17 is a schematic diagram for explaining a route in the divided area 22 in the case of two systems. As described with reference to FIG. 17, when there are a plurality of setting patterns for the divided area 22, the determination unit 130 determines which pattern to use based on the movement time of the robot 200 between the divided areas 22. For example, when there are a plurality of patterns, the determination unit 130 determines a pattern including a case where the movement time of the robot 200 between the divided areas 22 is the longest as a pattern to be actually used.

図17には、決定部130が図17(a)のパターンを選択した場合における、複数の経路が示されている。図17(a)〜(d)に示すように、2系統の場合には、4通りの経路が考えられる。図17(a)は、分割エリア22Aおよび22Bにおいて、第1のロボット200を優先して作業させるロボット200とする場合の経路である。また、図17(b)は、分割エリア22Aでは第1のロボット200を、分割エリア22Bでは第2のロボット200を、それぞれ優先して作業させるロボット200とする場合の経路である。また、図17(c)は、分割エリア22Aでは第1のロボット200を、分割エリア22Bでは第2のロボット200を、それぞれ優先して作業させるロボット200とする場合の経路である。さらに、図17(d)は、分割エリア22Aおよび22Bにおいて、第2のロボット200を優先して作業させるロボット200とする場合の経路である。   FIG. 17 shows a plurality of routes when the determining unit 130 selects the pattern of FIG. As shown in FIGS. 17A to 17D, in the case of two systems, four routes are conceivable. FIG. 17A shows a route in the case of the robot 200 in which the first robot 200 is preferentially operated in the divided areas 22A and 22B. FIG. 17B shows a route when the first robot 200 in the divided area 22A and the second robot 200 in the divided area 22B are used as the robot 200 with priority. FIG. 17C shows a route when the first robot 200 in the divided area 22A and the second robot 200 in the divided area 22B are used as the robot 200 that gives priority to the work. Further, FIG. 17D shows a route in the case where the robot 200 is given priority to work on the second robot 200 in the divided areas 22A and 22B.

決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路1〜経路4のいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路1〜経路4のいずれかを選択する。   The determination unit 130 selects one of the route 1 to the route 4 in consideration of the time required until the entire work is completed. For example, the determination unit 130 selects any one of the routes 1 to 4 so that the time required for completing the entire work is the shortest.

設定部140は、決定部130が選択した経路に基づいて、インターロックの設定を行う。設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ1において、「進入前信号」(待機信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第2のロボット200はステップ2の工程に進まず、分割エリア22Aにおいて第1のロボット200が優先して作業可能となる。   The setting unit 140 sets an interlock based on the route selected by the determination unit 130. For example, when the determining unit 130 selects the route 2, the setting unit 140 sends “a pre-entry signal” (standby signal) to the second robot in step 1 of the second robot 200 with respect to the first robot. As a result, the second robot 200 receives the “pre-entry signal” (standby signal) while executing the process of step 1. As a result, the second robot 200 does not proceed to step 2, and the first robot 200 can work with priority in the divided area 22A.

また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第1のロボット200のステップ8において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22A内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。   For example, when the determination unit 130 selects the path 2, the setting unit 140 sends the “post-retraction signal” (non-interference signal) to the first robot in step 8 of the first robot 200. 2 ”is set. As a result, after the first robot 200 completes the steps in the divided area 22A, the second robot 200 generates a“ post-retraction signal ”(non-interference signal). Receive and proceed to step 2.

設定部140は、例えば決定部130が経路2を選択した場合、第2のロボットに対して、“第1のロボット200のステップ9において、「進入前信号」(待機信号)を第1のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ9の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第1のロボット200はステップ9の工程に進まず、分割エリア22Bにおいて第2のロボット200が優先して作業可能となる。   For example, when the determination unit 130 selects the path 2, the setting unit 140 sends “a pre-entry signal” (standby signal) to the first robot in step 9 of the first robot 200. As a result, the second robot 200 receives the “pre-entry signal” (standby signal) while executing the process of step 9. As a result, the first robot 200 does not proceed to step 9, and the second robot 200 can work with priority in the divided area 22B.

また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ11において、「退避後信号」(干渉外信号)を第1のロボットに送信する”旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22B内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ10の工程に進むことができる。   For example, when the determination unit 130 selects the path 2, the setting unit 140 sends the “post-retraction signal” (non-interference signal) to the first robot in step 11 of the second robot 200. As a result, the first robot 200 sends a “post-retraction signal” (non-interference signal) after the second robot 200 completes the steps in the divided area 22B. Receive and proceed to step 10.

上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。   As described above, the determination unit 130 determines the divided area 22 and selects any one of the plurality of routes so that the setting unit 140 determines which step should be used to set the signal related to the interlock. Can do. And since the determination part 130 selects the path | route which requires the shortest time until the whole operation | work is completed, the teaching apparatus 100 has the control program with which the some robot 200 can cooperate most efficiently, and can work. Can be provided.

図18は、実施形態2における決定部130の動作例を示すフローチャートである。   FIG. 18 is a flowchart illustrating an operation example of the determination unit 130 according to the second embodiment.

決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。   The determination unit 130 identifies the interference step 20 of the two robots 200 that make the pair (S410).

決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。   The determination unit 130 specifies a region that can be set as the interference area 21 among the specified interference steps 20 (S420). In this case, the determination unit 130 may set an area including an area that is not the interference step 20 as the interference area 21.

決定部130は、干渉ステップ20および干渉エリア21が複数ある場合に、少なくとも1つ以上の分割エリア22を設定する(S430)。決定部130は、例えば、予め定められた個数の分割エリア22を設定する。   The determination unit 130 sets at least one or more divided areas 22 when there are a plurality of interference steps 20 and interference areas 21 (S430). For example, the determination unit 130 sets a predetermined number of divided areas 22.

決定部130は、分割エリア22の設定に関して複数のパターンが計算可能な場合(S440のYES)、分割エリア22間のロボット200の移動時間に基づいて、いずれのパターンを用いるかを決定する(S450)。一方、決定部130は、設定可能な分割エリア22が1つの場合には(S440のNO)、S460に進む。   When a plurality of patterns can be calculated regarding the setting of the divided area 22 (YES in S440), the determining unit 130 determines which pattern to use based on the movement time of the robot 200 between the divided areas 22 (S450). ). On the other hand, when there is one settable divided area 22 (NO in S440), the determination unit 130 proceeds to S460.

決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定することにより、複数の経路を計算する(S460)。そして、決定部130は、複数の経路のうち、作業全体が完了するまでに必要な時間が最短となる経路を、実際に用いる経路として決定する(S470)。その後、設定部140は、図11に示すS500やS600において、決定部130が決定した経路に基づいて、インターロックの設定を行う。   The determination unit 130 calculates a plurality of routes by determining the robot 200 to work with priority for each of the divided areas 22 (S460). Then, the determination unit 130 determines, as a path to be actually used, a path that requires the shortest time required to complete the entire work among a plurality of paths (S470). Thereafter, the setting unit 140 sets an interlock based on the route determined by the determination unit 130 in S500 and S600 illustrated in FIG.

以上説明したように、第2の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムの作成を支援することができる。特に、ロボット200の衝突または接触を抑制するための制御に利用するインターロックの設定を支援することができる。   As described above, according to the system 1 according to the second embodiment, it is possible to support the creation of a control program for causing a plurality of robots 200 to work together. In particular, it is possible to support setting of an interlock used for control for suppressing the collision or contact of the robot 200.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

上記の説明では、ティーチング装置100はPCやワークステーション等で実現する場合につて説明した。これに代えて、ティーチング装置100を分散並列処理が実行可能なスーパーコンピュータを用いて実現してもよい。これにより、ロボット200間の衝突または接触の解析をさらに高速化することができる。   In the above description, the teaching device 100 has been described as being realized by a PC, a workstation, or the like. Instead, the teaching device 100 may be realized using a supercomputer capable of executing distributed parallel processing. Thereby, the analysis of the collision or contact between the robots 200 can be further accelerated.

上記の説明では、通知部150は、干渉ステップ、干渉エリア21を示すマトリクスをユーザに通知する場合について説明した。これに加えて、マトリクス上の各領域をユーザが選択すると、それぞれのロボット200の動きをシミュレーションした結果をユーザに提示するようにしてもよい。より具体的には、ユーザがマウス等のポインティングデバイスを用いてマトリクスの所望の領域を選択すると、算出部120は、制御プログラムを用いてそのマトリクスに対応するステップまでロボット200を動作させるシミュレーションを実行する。その結果を既知の3次元レンダリング技術を用いて画像化することによりユーザに提示すればよい。これにより、ユーザはどの位置に置いてロボット200の衝突または接触が発生しているかを視覚的に確認することができる。   In the above description, the notification unit 150 has described the case of notifying the user of the matrix indicating the interference step and the interference area 21. In addition, when the user selects each area on the matrix, a result of simulating the movement of each robot 200 may be presented to the user. More specifically, when the user selects a desired region of the matrix using a pointing device such as a mouse, the calculation unit 120 executes a simulation for operating the robot 200 up to the step corresponding to the matrix using the control program. To do. The result may be presented to the user by imaging using a known three-dimensional rendering technique. Thereby, the user can visually confirm at which position the collision or contact of the robot 200 has occurred.

1 システム
12 軌跡
14 干渉領域
20 干渉ステップ
21 干渉エリア
22 分割エリア
100 ティーチング装置
110 特定部
120 算出部
130 決定部
140 設定部
150 通知部
160 取得部
170 記憶部
200 ロボット
202 ワーク
204 駆動部
DESCRIPTION OF SYMBOLS 1 System 12 Trajectory 14 Interference area 20 Interference step 21 Interference area 22 Divided area 100 Teaching device 110 Identification part 120 Calculation part 130 Determination part 140 Setting part 150 Notification part 160 Acquisition part 170 Storage part 200 Robot 202 Work 204 Drive part

Claims (11)

所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する特定部と、
前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触の可能性があるステップを、干渉ステップとして算出する算出部と、
前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する決定部と、
前記決定部の決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する設定部と、
前記設定したインターロックに関する信号を通知する通知部
を備える作業支援装置。
A specific unit that identifies each work of a plurality of robots that perform a predetermined process in cooperation as a step for each predetermined unit;
Of the identified steps, a calculation unit that calculates a step where there is a possibility of collision or contact between at least two robots as an interference step;
A determination unit that determines a robot to be preferentially operated in each of the plurality of interference steps so that a time required for completion of the predetermined process is shortened when there are a plurality of the interference steps;
Based on the determination result of the determination unit, a setting unit for setting an interlock for preventing the collision or contact;
A work support apparatus comprising a notification unit that notifies a signal related to the set interlock.
前記決定部は、前記干渉ステップが複数ある場合に、前記複数の干渉ステップを少なくとも1つの干渉エリアとして設定し、前記所定の工程の完了に必要な時間が短くなるように、前記設定した干渉エリアにおいて優先して作業させるロボットを決定する
ことを特徴とする請求項1に記載の作業支援装置。
The determining unit sets the plurality of interference steps as at least one interference area when there are a plurality of interference steps, and sets the interference area so that a time required for completion of the predetermined process is shortened. The work support apparatus according to claim 1, wherein a robot to be preferentially operated is determined.
前記決定部は、前記干渉ステップ以外のステップを含む前記干渉エリアを設定可能であることを特徴とする請求項2に記載の作業支援装置。   The work support apparatus according to claim 2, wherein the determination unit can set the interference area including steps other than the interference step. 前記決定部は、前記干渉ステップおよび前記干渉エリアが複数ある場合に、前記複数の干渉ステップおよび干渉エリアを少なくとも1つの分割エリアとして設定し、前記設定した分割エリアにおいて優先して作業させるロボットを決定することを特徴とする請求項2または3に記載の作業支援装置。   The determining unit sets the plurality of interference steps and the interference areas as at least one divided area when there are a plurality of the interference steps and the interference areas, and determines a robot to be preferentially operated in the set divided areas. The work support apparatus according to claim 2 or 3, wherein 前記決定部は、前記分割エリアの設定のパターンが複数存在する場合に、当該複数のパターンの分割エリアのうち、前記複数のロボットが衝突または接触せずに動作可能な時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択する
ことを特徴とする請求項4に記載の作業支援装置。
In the case where there are a plurality of patterns for setting the division area, the determination unit performs division in which the plurality of robots can operate relatively long without colliding or contacting among the division areas of the plurality of patterns. The work support apparatus according to claim 4, wherein the area is selected as a divided area to be actually used.
前記決定部は、複数の分割エリアを設定する場合であって、当該分割エリアの設定のパターンが複数存在する場合に、当該複数の分割エリア間における前記ロボットの移動時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択する
ことを特徴とする請求項4または5に記載の作業支援装置。
The determining unit sets a plurality of divided areas, and when there are a plurality of setting patterns for the divided areas, the divided area is a relatively long moving time of the robot between the plurality of divided areas. The work support device according to claim 4, wherein the work support device is selected as a divided area to be actually used.
前記決定部は、前記所定の工程の完了に必要な時間が短くなるように、前記分割エリアにおいて優先して作業させるロボットを決定する
ことを特徴とする請求項4乃至6のいずれかに記載の作業支援装置。
7. The robot according to claim 4, wherein the determination unit determines a robot to be preferentially operated in the divided area so that a time required for the completion of the predetermined process is shortened. Work support device.
前記通知部は、前記複数のロボットの各々に対して、前記インターロックに関する信号を通知する
ことを特徴とする請求項1乃至5のいずれかに記載の作業支援装置。
The work support apparatus according to claim 1, wherein the notification unit notifies each of the plurality of robots of a signal related to the interlock.
前記通知部は、さらに、前記複数のロボットの各々のステップに関する情報を座標軸とするグラフに、前記インターロックを示す領域をマッピングして通知する
ことを特徴とする請求項1乃至6のいずれかに記載の作業支援装置。
7. The notification unit according to any one of claims 1 to 6, wherein the notification unit further maps and notifies a region indicating the interlock on a graph having information about each step of the plurality of robots as a coordinate axis. The work support apparatus described.
所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定し、
前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出し、
前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定し、
前記決定部の決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する設定し、
前記設定したインターロックに関する情報を通知する
ことを特徴とする作業支援方法。
Each operation of a plurality of robots that perform a predetermined process in cooperation is specified as a step for each predetermined unit,
Of the identified steps, a step where there is a collision or contact between at least two robots is calculated as an interference step,
When there are a plurality of interference steps, a robot to be preferentially operated in each of the plurality of interference steps is determined so that the time required for completing the predetermined process is shortened,
Based on the determination result of the determination unit, set to set an interlock to prevent the collision or contact,
A work support method comprising notifying information on the set interlock.
所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する機能と、
前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する機能と、
前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する機能と、
前記決定部の決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する機能と、
前記設定したインターロックに関する情報を通知する機能と
をコンピュータに実行させることを特徴とするプログラム。
A function for identifying each work of a plurality of robots that perform a predetermined process in cooperation as a step for each predetermined unit;
A function of calculating, as an interference step, a step in which at least two robots collide or contact among the identified steps;
A function of determining a robot to be preferentially operated in each of the plurality of interference steps so that the time required to complete the predetermined process is shortened when there are a plurality of the interference steps;
A function of setting an interlock for preventing the collision or contact based on a determination result of the determination unit;
A program for causing a computer to execute a function of notifying information on the set interlock.
JP2016154060A 2016-08-04 2016-08-04 Work support device, work support method, and program Active JP6665056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016154060A JP6665056B2 (en) 2016-08-04 2016-08-04 Work support device, work support method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016154060A JP6665056B2 (en) 2016-08-04 2016-08-04 Work support device, work support method, and program

Publications (2)

Publication Number Publication Date
JP2018020413A true JP2018020413A (en) 2018-02-08
JP6665056B2 JP6665056B2 (en) 2020-03-13

Family

ID=61164145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016154060A Active JP6665056B2 (en) 2016-08-04 2016-08-04 Work support device, work support method, and program

Country Status (1)

Country Link
JP (1) JP6665056B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019202568A1 (en) 2018-04-19 2019-10-24 G.D Società per Azioni Method to restore the functional state of an automatic machine for the production of tobacco industry articles
JP2019532827A (en) * 2016-10-31 2019-11-14 ピルツ ゲーエムベーハー アンド コー.カーゲー Method for collision avoidance motion planning
JP2019212023A (en) * 2018-06-05 2019-12-12 富士通株式会社 Information processor, work planning program, and work planning method
CN110561429A (en) * 2019-08-30 2019-12-13 北京北方华创微电子装备有限公司 manipulator collision protection detection method and system and lower computer
WO2020031333A1 (en) * 2018-08-09 2020-02-13 株式会社Fuji Simulation method and simulation system
JP2020104239A (en) * 2018-12-28 2020-07-09 川崎重工業株式会社 Work plan creation method and work plan creation device for robot
WO2020158320A1 (en) * 2019-01-31 2020-08-06 オムロン株式会社 Control system and control method of control system
KR102573870B1 (en) * 2023-01-30 2023-09-01 주식회사 마키나락스 Method for preventing collision between plural task-performing robots
JP7502135B2 (en) 2020-09-29 2024-06-18 ファナック株式会社 Robot program adjustment device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1039909A (en) * 1996-07-23 1998-02-13 Kawasaki Heavy Ind Ltd Work scheduling method for plural robots
JPH11347984A (en) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd Robot control device
JP2002116816A (en) * 2000-10-11 2002-04-19 Nkk Corp Controller and control method
JP2003103484A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Interlock setting method for robot
US20050273200A1 (en) * 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1039909A (en) * 1996-07-23 1998-02-13 Kawasaki Heavy Ind Ltd Work scheduling method for plural robots
JPH11347984A (en) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd Robot control device
JP2002116816A (en) * 2000-10-11 2002-04-19 Nkk Corp Controller and control method
JP2003103484A (en) * 2001-09-28 2003-04-08 Honda Motor Co Ltd Interlock setting method for robot
US20050273200A1 (en) * 2004-06-08 2005-12-08 Gerhard Hietmann Process for protecting a robot from collisions

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019532827A (en) * 2016-10-31 2019-11-14 ピルツ ゲーエムベーハー アンド コー.カーゲー Method for collision avoidance motion planning
WO2019202568A1 (en) 2018-04-19 2019-10-24 G.D Società per Azioni Method to restore the functional state of an automatic machine for the production of tobacco industry articles
EP3781998B1 (en) 2018-04-19 2022-10-19 G.D Società per Azioni Method to restore the functional state of an automatic machine for the production of tobacco industry articles
US11247334B2 (en) 2018-06-05 2022-02-15 Fujitsu Limited Task planning apparatus, task planning method, and non-transitory computer-readable storage medium
JP2019212023A (en) * 2018-06-05 2019-12-12 富士通株式会社 Information processor, work planning program, and work planning method
JP7160923B2 (en) 2018-08-09 2022-10-25 株式会社Fuji Simulation method, simulation system
JP2022132506A (en) * 2018-08-09 2022-09-08 株式会社Fuji Simulation method, simulation system, and data structure of module data
JP7373028B2 (en) 2018-08-09 2023-11-01 株式会社Fuji Simulation method, simulation system
CN112543695A (en) * 2018-08-09 2021-03-23 株式会社富士 Simulation method and simulation system
EP3835005A4 (en) * 2018-08-09 2021-07-28 Fuji Corporation Simulation method and simulation system
JPWO2020031333A1 (en) * 2018-08-09 2021-08-02 株式会社Fuji Simulation method and simulation system
WO2020031333A1 (en) * 2018-08-09 2020-02-13 株式会社Fuji Simulation method and simulation system
JP2020104239A (en) * 2018-12-28 2020-07-09 川崎重工業株式会社 Work plan creation method and work plan creation device for robot
JP7178900B2 (en) 2018-12-28 2022-11-28 川崎重工業株式会社 ROBOT WORK PLANNING METHOD AND WORK PLANNING DEVICE
WO2020158320A1 (en) * 2019-01-31 2020-08-06 オムロン株式会社 Control system and control method of control system
JP7143776B2 (en) 2019-01-31 2022-09-29 オムロン株式会社 Control system and control method for control system
US11738451B2 (en) 2019-01-31 2023-08-29 Omron Corporation Control system and control method of control system
JP2020121384A (en) * 2019-01-31 2020-08-13 オムロン株式会社 Control system and control method of control system
CN110561429A (en) * 2019-08-30 2019-12-13 北京北方华创微电子装备有限公司 manipulator collision protection detection method and system and lower computer
JP7502135B2 (en) 2020-09-29 2024-06-18 ファナック株式会社 Robot program adjustment device
KR102573870B1 (en) * 2023-01-30 2023-09-01 주식회사 마키나락스 Method for preventing collision between plural task-performing robots

Also Published As

Publication number Publication date
JP6665056B2 (en) 2020-03-13

Similar Documents

Publication Publication Date Title
JP6665056B2 (en) Work support device, work support method, and program
EP3794314B1 (en) Robot coordination in a shared workspace
US10782668B2 (en) Development of control applications in augmented reality environment
JP5981215B2 (en) Method and system for automatically preventing deadlock in a multi-robot system
WO2019141222A1 (en) Conflict management method and system for multiple mobile robots
US10540626B2 (en) Manufacturing process management system, manufacturing process management method, and non-transitory computer-readable recording medium recording manufacturing process management program
US10260890B2 (en) Aisle-based roadmap generation
JP2016190315A (en) Program creation support method, program creation support device and program
US11295400B2 (en) Automated supervision of construction operations in an intelligent workspace
US11385626B2 (en) Production planning apparatus
CN113253735B (en) Method, device, robot and computer readable storage medium for following target
JP6998228B2 (en) Robot work program creation support device, robot work program creation support method, and robot work support program
CN115220447A (en) Multi-robot motion scheduling method and device
JP2018012159A (en) Robot system, control method of robot system, and program
JP7163925B2 (en) Information processing device, information processing method, and program
Weng et al. Quantitative assessment at task-level for performance of robotic configurations and task plans
CN112183833A (en) AGV multi-vehicle collision determination method, device and equipment based on time prediction
Marshall et al. An application of a digital twin to robotic system design for an unstructured environment
US20240176349A1 (en) Information processing device, information processing method, and storage medium
US20240182282A1 (en) Hybrid autonomous system and human integration system and method
US20210187746A1 (en) Task planning accounting for occlusion of sensor observations
CN108628252A (en) Measuring system, computer-readable medium and control method
CN113524200B (en) Mechanical arm scheduling system, mechanical arm scheduling method, mechanical arm replacing device, mechanical arm equipment and mechanical arm medium
WO2024075206A1 (en) Pick-and-place operation prediction device, prediction method, and prediction program
Bejarano et al. Towards enhanced live visualization based on communication delay prediction for remote AGV operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181019

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20181019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200219

R150 Certificate of patent or registration of utility model

Ref document number: 6665056

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