JP2018020413A - Work support device, work support method and program - Google Patents
Work support device, work support method and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 description 33
- 238000004458 analytical method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
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.
しかしながら、特許文献1に記載の技術では、干渉が発生する箇所(干渉領域)の各々にインターロックを設けるだけであるため、各干渉領域において優先して動作するロボットの選択方法によっては、作業全体の処理時間が長くなる恐れがある。
However, in the technique described in
本発明の目的は、上記問題に鑑み、複数のロボットが協働して作業する場合において、作業全体の処理時間を短くすることが可能な作業支援装置、作業支援方法およびプログラムを提供することにある。 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.
本発明に係る実施形態について、図面を参照して説明する。なお、実施形態は一例であり、これに限定されるものではない。 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
ロボット200は、他のロボット200と協働して作業するロボットである。ロボット200は、所定の工程を他のロボット200と協働して遂行する。図1に示すように、ロボット200は、例えば、自動車の車体の組み立て等に用いられる産業用ロボットである。なお、ロボット200は、産業用ロボットに限られず、協働して作業するロボットであれば、どのようなロボットでもよい。
The
ロボット200は、作業を所定の単位ごとに特定したステップごとに、作業を実行する。なお、1つのステップには複数の作業が含まれていてもよいし、1つの作業が含まれていてもよい。
The
図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
ロボット200は、例えば、当該ロボット200の動作を制御する制御プログラムによる制御の下で動作する。制御プログラムは、ロボット200に対して、当該ロボット200の移動や停止を実行させるためのプログラムである。制御プログラムは、複数のロボット200の各々に対して設定されていてもよいし、複数のロボット200に対して設定されていてもよい。
For example, the
制御プログラムは、ロボット200が動作する際に参照する、1または複数のステップ情報が含まれる。ステップ情報は、所定の単位ごとに特定したステップを実行するために必要な情報である。ステップ情報は、例えば、ロボット200が作業を実行するために停止または移動する空間上の位置情報である。ステップ情報は、例えば、ロボット200の移動の単位となる情報であってもよい。ステップ情報は、ロボット200が各ステップ10間を移動する際の、速度や移動方向を含んでいてもよい。
The control program includes one or more step information that is referred to when the
位置情報は、例えば、ロボット200の基準位置からの相対的な位置座標である。位置情報は、例えば、ロボット200が有するアームの先端部の位置座標である。位置情報は、基準位置からの相対的な位置座標に限らず、予め定められた座標におけるロボット200の位置を示すものであってもよい。また、位置情報は、例えば、緯度や経度などの絶対的な位置座標であってもよい。その他、ロボット200の停止や移動を決定可能であれば、どのような座標であってもよい。
The position information is, for example, relative position coordinates from the reference position of the
なお、制御プログラムは、例えば、一のロボット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
ティーチング装置100は、ロボット200に対して、制御プログラムを設定する装置である。また、ティーチング装置100は、複数のロボット200の制御プログラムに基づいて、必要となるインターロックを設定する装置である。なお、インターロックは、ロボット200同士の衝突や接触を防止するための制御や指令である。
The
また、ティーチング装置100は、さらに、探索したインターロックの前後においてロボット200が適切に待避動作をするためのプログラムが実装されているか否かを確認してもよい。これにより、ティーチング装置100は、ユーザが制御プログラムを作成することを支援することができる。このように、ティーチング装置100は、ロボットの制御プログラムの作成支援装置として機能してもよい。
Further, the
ティーチング装置100は、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。
The
表示装置102は、ティーチング装置100の計算結果等の情報をユーザに通知するための装置である。表示装置102は、例えば、液晶モニタや有機ELモニタ等で実現できる。
The
図2は、ロボット200同士の衝突または接触を示す図である。図2に示す例では、第1ロボット200aおよび第2ロボット200bと、各ロボット200の軌跡である第1軌跡12aおよび第2軌跡12bとが示されている。図2において、第1ロボット200aの第1ステップ10aと、第2ロボット200bの第7ステップ10dとの距離がLであり、Lが所定の距離LT未満であることを示している。
FIG. 2 is a diagram illustrating a collision or contact between the
ここで、所定の「距離LT」とは、ある二つのロボット200が干渉する可能性があるか否かを判定するための基準閾値となる距離である。一のロボット200が通るステップ10と、他のロボット200が通るステップ10との距離Lが距離LT未満の場合、ティーチング装置100はそれらのロボット200が干渉する可能性があると判断する。干渉は、ロボットどうしが衝突または接触することである。接触距離LTは、作業に用いるロボット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
図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
第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
しかし、第1ロボット200aが干渉領域14を移動中に何らかの理由で停止したり、速度が低下したりすることも起こりうる。この様な場合には、干渉領域14において第1ロボット200aと第2ロボット200bとが衝突または接触してしまう可能性がある。そこで、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮せずに、異なる2つのロボットが通りうる2つの軌跡12が交差する場合には、当該交差する領域を干渉領域14としてもよい。なお、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮して、干渉領域14を設定してもよい。
However, the
ロボット200の各々は、干渉領域14に進入する前に「侵入前信号」(待機信号)を対となるロボット200に送信し、干渉領域14を脱出した後に「待避後信号」(干渉外信号)を対となるロボット200に送信する。例えば、図2において、第1ロボット200aが第1ステップ10aにあるときに、「進入前信号」(待機信号)を第2ロボット200bに送信する。その後、第1ロボット200aは、干渉領域14を脱出して第2ステップ10bに到達すると、「待避後信号」(干渉外信号)を第2ロボット200bに送信する。
Each of the
第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
なお、ティーチング装置100は、第1ロボット200aと第2ロボット200bとのどちらが先に干渉領域14に進入するかについて、予め設定する。ティーチング装置100は、第1ロボット200aおよび第2ロボット200bのいずれか一方に対して、先に干渉領域14に進入可能であることを示す情報である「優先情報」を通知する。すなわち、優先情報をもつロボット200が、優先情報を持たないロボット200に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを送信するように、制御プログラムが組まれる。
Note that the
続いて、実施の形態に係るティーチング装置100による、制御プログラムのインターロックの設定支援処理について説明する。
Subsequently, an interlock setting support process of the control program by the
ティーチング装置100は、協働して作業する複数のロボット200のうち、異なる2つのロボット200の組み合わせ全てについて、干渉および接触を解析する。ひとつのロボット200が複数の制御プログラムで実行される場合には、それによってロボット200が動きうる軌跡の全ての組み合わせについて、ティーチング装置100は衝突または接触を解析する。
The
例えば、各ロボット200には管理用の制御プログラムが存在する。管理用のプログラムとは、例えばロボット200の基準位置を設定するための「原点プログラム」、ロボット200を待避させるための「保全プログラム」、ロボット200自体または一部の部品を交換するために移動させる「交換プログラム」である。また、ひとつの生産ラインで複数種類の製品を生産する場合には、製品の種類に応じた制御プログラムが存在する。仮に、ひとつの生産ラインで4種類の製品を生産する場合には、4種類の生産用制御プログラムが存在することになる。この場合、ひとつのロボット200は、計7つの制御プログラムによって動作し、7種類の軌跡12を描くことになる。
For example, each
図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
いま、生産ライン上に12台のロボット200が存在すると仮定すると、12台のロボット200の中から2つの異なるロボット200を選ぶ組み合わせは12×11/2=66通りとなる。このため、全ての制御プログラムの組み合わせは、37×66=2442通りとなる。さらに、製品を生産するための工程が5工程あったと仮定すると、同一工程における制御プログラムの組み合わせは2442×5=12210通りとなる。
Assuming that there are twelve
図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 (
同一工程における制御プログラムの組み合わせ数と工程間における制御プログラムの組み合わせ数とは合計で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
図4は、実施の形態に係るティーチング装置100の機能構成を模式的に示す図である。ティーチング装置100は、特定部110、算出部120、決定部130、設定部140、通知部150、取得部160、記憶部170、を備える。
FIG. 4 is a diagram schematically illustrating a functional configuration of the
図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
図4に示すティーチング装置100の各機能部をソフトウェアにより実現する場合、ティーチング装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行することで実現される。このプログラムを格納する記録媒体は、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、このプログラムは、当該検索プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
When each function unit of the
記憶部170は、ティーチング装置100が解析の対象とする複数のロボット200それぞれについて、ロボット200の外形を表す形状データとそのロボット200を動作させる制御プログラムとを記憶する。
The
図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
特定部110は、所定の工程を協働して遂行する複数のロボット200の各々の作業を、所定の単位ごとにステップとして特定する。
The specifying
まず、特定部110は、解析の対象とする複数のロボット200各々について、作業において移動する軌跡を取得する。より具体的には、特定部110は、複数のロボット200のうちひとつのロボット200を特定するためのロボット識別子を選択する。続いて特定部110は、選択したロボット識別子で特定されるロボット200の動作を制御するための制御プログラムを、記憶部170から読み出す。
First, the specifying
次に、特定部110は、読み出した制御プログラムをもとにシミュレーションを実行し、各制御プログラムを実行した場合にロボット200が移動するステップ10の位置座標を取得する。これにより、特定部110は、全てのロボット200について、各ロボット200に割り当てられた制御プログラムを実行した場合に移動しうる軌跡を、ステップ10の単位で離散的に取得する。
Next, the specifying
図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
算出部120は、特定部110が特定したステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。
The
まず、算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する。算出部120は、特定部110が取得した軌跡12をもとに、組となる2つのロボットがそれぞれ取り得る軌跡の中から、1対の軌跡12の組を取得する。同一のロボット200であっても、制御プログラムが異なれば異なる軌跡を描くため、算出部120は制御プログラム毎に解析を実行する。
First, the
次に、算出部120は、取得した1対の軌跡12の組に含まれるステップ10同士が、上述した距離LT未満にあるか否かを比較する。これの比較は、シミュレーション空間上に離散的に存在する2点間の距離求めて距離LTと比較する処理であるため、計算量は少ない。このため、算出部120はこの比較処理を高速に実行することができる。以下本明細書において、算出部120が実行するステップ10同士と距離LTとの比較処理を、点の位置(ポジション;position)をもとにする確認処理であるため、「ポジションチェック」と記載することがある。
Next,
図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
算出部120は、複数のロボット200のそれぞれについてポジションチェックを実行し、ロボット200が描く軌跡12のうちステップ10同士の距離が距離LT未満となる場合、2つのロボット200同士の衝突または接触の可能性がある組と判定する。算出部120は、さらに、衝突または接触の可能性がある組を判定した場合、所定の距離以下となるステップと、その前のステップまたは後ろのステップとの少なくともいずれか一方のステップとを結ぶ軌跡12を解析し、ロボット200同士が衝突または接触するか否かを解析する。
図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が、距離LT未満となっている。そこで算出部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
図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
上述したように、制御プログラムが有するステップ情報には、ロボット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
このように、算出部120は離散的なポジションチェックを実行することで交差しないことが明白な軌跡12の組み合わせを迅速に除去し、接触している軌跡12の組についてのみ詳細な軌跡チェックを実行する。これにより、算出部120は衝突解析の迅速化と精度向上とを達成することができる。
In this way, the
決定部130は、算出部120が算出した干渉ステップにおいて、優先して作業させるロボット200を決定する。決定部130は、干渉ステップが複数ある場合に、所定の工程を完了させるために必要な時間が短くなるように、複数の干渉ステップの各々において優先して作業させるロボット200を決定する。所定の工程は、例えば、複数のロボット200が協働して実行する作業全体のことである。
The
設定部140は、決定部130の決定結果をもとに、少なくとも2つのロボット200同士の衝突または接触を防止するためのインターロックを設定する。設定部140は、決定部130が干渉エリアとして複数の組み合わせを設定した場合、当該複数の組み合わせのうち、所定の工程を完了させるために必要な時間が短くなる組み合わせに基づいて、衝突または接触を防止するためのインターロックを設定してもよい。
The
通知部150は、設定部140が設定したインターロックの設定に関する情報を通知する。通知部150は、例えば、複数のロボット200の各々に対して、インターロックの設定に関する信号を通知する。複数のロボット200の各々は、通知されたインターロックの設定に関する信号に基づいて動作する。また、通知部150は、例えば、ユーザに対して、設定部140が設定したインターロックを示す領域を図示するための情報を通知してもよい。
The notification unit 150 notifies information related to the interlock setting set by the
図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
より具体的に、図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
図9に示す例では、第1ロボット200aの第2ステップと、第2ロボット200bの第2ステップとが干渉ステップとなる。同様にして、図9に示すマトリクスのうち斜線でしめす領域が、干渉ステップであることを示している。
In the example shown in FIG. 9, the second step of the
設定部140は、図9のマトリクス上に示される干渉ステップの各々に対して、インターロックの設定を行う。なお、設定部140は、干渉ステップ20の周囲を含めて、インターロックの設定をおこなってもよい。
The
本発明の実施形態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
決定部130は、複数の干渉ステップ20を1つの干渉エリア21として設定し、設定した干渉エリア21において優先して作業させるロボットを決定する。なお、その場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。
The
図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
決定部130は、干渉ステップ20または干渉エリア21に対して、優先して作業させるロボットを決定する。この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、干渉ステップ20または干渉エリア21において優先して作業させるロボットを決定する。図10に示すように、干渉ステップ20および干渉エリア21が複数ある場合、干渉ステップ20および干渉エリア21ごとに優先して作業させるロボットを決定するため、複数の組み合わせが考えられる。この場合において、決定部130は、複数の組み合わせのうち、作業全体が完了するまでに必要な時間が短くなる組み合わせを採用する。決定部130は、例えば、複数の組み合わせの各々について、作業全体が完了するまでに必要な時間を計算し、当該必要な時間が最も短い組み合わせを選択する。
The
第1ロボット200aを制御する制御プログラム001と第2ロボット200bを制御する制御プログラム003とに、干渉ステップ20および干渉エリア21におけるインターロックを設定する。
Interlocks in the interference step 20 and the interference area 21 are set in the
図11は、実施の形態に係るティーチング装置100が実行するプログラム作成支援処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えばティーチング装置100が起動したときに開始する。
FIG. 11 is a flowchart illustrating the flow of the program creation support process executed by the
特定部110は、記憶部170を参照して、複数のロボット200がそれぞれ取り得る軌跡12を全て取得する(S100)。
The specifying
算出部120は、複数のロボット200のうち異なる2つのロボット200の組を取得する(S200)。
The
算出部120は、組となる2つのロボット200がそれぞれ取り得る軌跡12をもとに、当該2つのロボットが衝突または接触するか否かを解析する(S300)。
The
決定部130は、算出部120により衝突または接触すると解析された領域を、干渉ステップ20および干渉エリア21と決定する(S400)。
The
設定部140は、決定部130が決定した干渉ステップ20および干渉エリア21に対して、組となる2つのロボットの衝突または接触を防止するためのインターロックを設定する(S500)。
The
その後、設定部140は、インターロックの設定に基づいて、複数のロボット200を制御するための制御プログラムを設定する(S600)。
Thereafter, the
図12は、実施の形態に係る特定部110が実行する特定機能の流れを説明するフローチャートであり、図11におけるステップS100をより詳細に説明する図である。
FIG. 12 is a flowchart illustrating the flow of the specific function executed by the specifying
特定部110は、複数のロボット200のうちから1つのロボット200を選択する(S110)。
The specifying
続いて、特定部110は、選択したロボット200の動作を制御するための制御プログラムを全て読み出す(S120)。
Subsequently, the specifying
特定部110は、読み出した制御プログラムそれぞれで制御された場合における、選択したロボット200が動く軌跡12を取得する(S140)。
The specifying
特定部110は、全てのロボット200について選択するまでの間(ステップS150のNo)、ステップ110からステップ140までの処理を継続する。
The
特定部110は、全てのロボット200について選択が終了すると(S150のYes)、処理を終了する。
When the
図13は、実施の形態に係る算出部120が実行する算出機能の流れを説明するフローチャートであり、図11におけるステップS300をより詳細に説明する図である。
FIG. 13 is a flowchart illustrating the flow of the calculation function executed by the
算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する(S310)。算出部120は、組を構成する2つのロボット200それぞれが取り得る軌跡12の中から、1対の軌跡12の組を取得する(S320)。
The
算出部120は、軌跡12の組に含まれるステップ10間の距離が、所定の距離LT未満であるか否かの比較、すなわち上述したポジションチェックを実行する(S330)。軌跡12の組に含まれるステップ10間の距離が、所定の距離LT以上の場合(S340のNo)、算出部120は取得した1対の軌跡12は接触しないと判定し、ステップS310に戻って処理を継続する。
軌跡12の組に含まれるステップ10間の距離が、所定の距離LT未満の場合(S340のYes)、算出部120はステップ10とその前後いずれかのまたは両方のステップ10を結ぶ軌跡12が交差するか否かを解析、すなわち上述した軌跡チェックを実行する(S350)。
The distance between the
軌跡12が交差する場合(S360のYes)、算出部120は、組とした2つのロボット200が衝突すると判定する(S370)。一方、軌跡12が交差しない場合(S360のNo)、算出部120は、組とした2つのロボット200は接触すると判定する(S380)。
When the
複数のロボット200について取り得る全ての軌跡12の組み合わせを取得するまでの間(S390のNo)、算出部120は、ステップS310〜ステップS390までの処理を繰り返す。算出部120は、取り得る全ての軌跡12の組み合わせを取得すると(S390のYes)、処理を終了する。
Until the combinations of all the
図14は、実施形態1における決定部130が、干渉ステップ20および干渉エリア21を決定する場合の動作例を示すフローチャートであり、図11におけるステップS400を詳細に説明する図である。
FIG. 14 is a flowchart illustrating an operation example when the
決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。
The
決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。
The
決定部130は、干渉ステップ20またはこれらの干渉エリア21に対して、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する(S430)。
The
以上の構成によるティーチングシステム1の動作は以下のとおりである。まず、ティーチング装置100は、複数のロボット200のうち異なる2つのロボット200の組を単位として制御プログラムを解析し、全ての軌跡12の組み合わせについて、2つのロボット200が干渉する領域を干渉ステップ20または干渉エリア21と設定し、当該干渉ステップ20または干渉エリア21において、優先して動作するロボットを決定する。この場合において、そして、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する。ティーチング装置100は、干渉ステップ20または干渉エリア21において優先して動作するロボット200に基づき、インターロックを設定する。そして、ティーチング装置100は、インターロックの設定に基づいて、複数のロボット200の動作を制御するための制御プログラムを設定する。ティーチング装置100は、複数のロボット200に協働して作業を行わせるための制御プログラムを提供することができる。
The operation of the
以上説明したように、第1の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムを作成することができる。特に、ロボット200の接触を抑制するための制御に利用するインターロックの設定を支援することができる。
As described above, according to the
<第2の実施形態>
第2の実施形態は、決定部130が、干渉ステップ20および/または干渉エリア21が複数ある場合に、複数の干渉ステップ20および/または干渉エリア21を含む領域を、少なくとも1つ以上の分割エリア22に分けて、該分割エリア22において優先して作業させるロボットを決定させる実施形態である。
<Second Embodiment>
In the second embodiment, when the determining
第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
また、第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
決定部130は、予め定められた個数の分割エリア22を設定する。分割エリア22の個数が1つの場合は“1系統”、2つの場合は“2系統”、N個の場合は“N系統”と記載してもよい。1系統の場合は、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)を1組用いる。すなわち、1系統の場合は、1つの信号の組み合わせにより、インターロックを設定する。また、2系統の場合は、2つの信号の組み合わせにより、インターロックを設定する。
The
なお、分割エリア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
図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
決定部130は、複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長である場合を含むパターンを、実際に用いるパターンとして決定する。分割エリア22間のロボット200の移動時間が最長の場合を含むパターンは、ロボット200が自由に動作または移動できる領域が大きいこと、すなわちインターロックによるロボット200の停止時間が少ないことを意味する。そこで、決定部130は、インターロックによるロボット200の停止時間が少ないパターンを選択する。
When there are a plurality of patterns, the
図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
上記のとおり、決定部130は、分割エリア22の設定に関して複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長の場合を含むパターンを、実際に使用するパターンとして選択する。
As described above, the
次に、決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定する。この場合において、設定部140は、決定部130の決定結果に基づいて、インターロックの設定を行う。設定部140は、例えば、優先して作業させるロボット200(優先情報を持つロボット200)に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを、待機させるロボット200(優先情報を持たないロボット200)に送信する旨を設定してもよいし、そのような制御を行うための制御プログラムを設定してもよい。
Next, the
図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
また、設定部140は、第1のロボットに対して、“第1のロボット200のステップ12において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
Further, the
上記のとおり、決定部130が分割エリア22を決定することにより、設定部140は、インターロックに関する信号を設定するステップを求めることが可能となる。
As described above, when the
図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
また、設定部140は、第2のロボット200のステップ11において、第2のロボットが「退避後信号」(干渉外信号)を、第1のロボットに対して送信する旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
The
ここで、図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
この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路Aまたは経路Bのいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路Aまたは経路Bのいずれかを選択する。この場合において、決定部130は、例えば、ダイクストラ法(最短経路法)を用いて、いずれかの経路を選択してもよい。
In this case, the
その後、設定部140は、上述したように、決定部130の決定した経路に基づいて、インターロックの設定を行う。例えば、設定部140は、決定部130が経路Aを選択した場合には、図16(a)に示すインターロックに関する信号の設定を行う。
Thereafter, as described above, the
上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。
As described above, the
図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
図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
決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路1〜経路4のいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路1〜経路4のいずれかを選択する。
The
設定部140は、決定部130が選択した経路に基づいて、インターロックの設定を行う。設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ1において、「進入前信号」(待機信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第2のロボット200はステップ2の工程に進まず、分割エリア22Aにおいて第1のロボット200が優先して作業可能となる。
The
また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第1のロボット200のステップ8において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22A内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
For example, when the
設定部140は、例えば決定部130が経路2を選択した場合、第2のロボットに対して、“第1のロボット200のステップ9において、「進入前信号」(待機信号)を第1のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ9の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第1のロボット200はステップ9の工程に進まず、分割エリア22Bにおいて第2のロボット200が優先して作業可能となる。
For example, when the
また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ11において、「退避後信号」(干渉外信号)を第1のロボットに送信する”旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22B内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ10の工程に進むことができる。
For example, when the
上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。
As described above, the
図18は、実施形態2における決定部130の動作例を示すフローチャートである。
FIG. 18 is a flowchart illustrating an operation example of the
決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。
The
決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。
The
決定部130は、干渉ステップ20および干渉エリア21が複数ある場合に、少なくとも1つ以上の分割エリア22を設定する(S430)。決定部130は、例えば、予め定められた個数の分割エリア22を設定する。
The
決定部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
決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定することにより、複数の経路を計算する(S460)。そして、決定部130は、複数の経路のうち、作業全体が完了するまでに必要な時間が最短となる経路を、実際に用いる経路として決定する(S470)。その後、設定部140は、図11に示すS500やS600において、決定部130が決定した経路に基づいて、インターロックの設定を行う。
The
以上説明したように、第2の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムの作成を支援することができる。特に、ロボット200の衝突または接触を抑制するための制御に利用するインターロックの設定を支援することができる。
As described above, according to the
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 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
上記の説明では、通知部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
1 システム
12 軌跡
14 干渉領域
20 干渉ステップ
21 干渉エリア
22 分割エリア
100 ティーチング装置
110 特定部
120 算出部
130 決定部
140 設定部
150 通知部
160 取得部
170 記憶部
200 ロボット
202 ワーク
204 駆動部
DESCRIPTION OF
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に記載の作業支援装置。 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.
ことを特徴とする請求項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.
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)
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)
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 |
-
2016
- 2016-08-04 JP JP2016154060A patent/JP6665056B2/en active Active
Patent Citations (5)
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)
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 |