JP6665056B2 - 作業支援装置、作業支援方法およびプログラム - Google Patents

作業支援装置、作業支援方法およびプログラム Download PDF

Info

Publication number
JP6665056B2
JP6665056B2 JP2016154060A JP2016154060A JP6665056B2 JP 6665056 B2 JP6665056 B2 JP 6665056B2 JP 2016154060 A JP2016154060 A JP 2016154060A JP 2016154060 A JP2016154060 A JP 2016154060A JP 6665056 B2 JP6665056 B2 JP 6665056B2
Authority
JP
Japan
Prior art keywords
robot
interference
area
unit
robots
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016154060A
Other languages
English (en)
Other versions
JP2018020413A (ja
Inventor
淳 藤城
淳 藤城
Original Assignee
株式会社トヨタプロダクションエンジニアリング
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社トヨタプロダクションエンジニアリング filed Critical 株式会社トヨタプロダクションエンジニアリング
Priority to JP2016154060A priority Critical patent/JP6665056B2/ja
Publication of JP2018020413A publication Critical patent/JP2018020413A/ja
Application granted granted Critical
Publication of JP6665056B2 publication Critical patent/JP6665056B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、作業支援装置、作業支援方法およびプログラムに関し、特に複数のロボットに協働して作業を行わせるための作業支援に関する。
自動車等の生産は、ロボットを用いた自動化が実現されている。自動車等の生産においては、複数のロボットが同時に用いられることが一般的であり、そのようなロボット同士が干渉ないし衝突することを防止するために、インターロックが設けられている。特許文献1には、複数のロボットの相互動作を、所定の動作行程または動作時間毎の組み合わせにより干渉の有無を確認し、干渉が発生する箇所にインターロックを設けることが記載されている。
特開2003−103484号公報
しかしながら、特許文献1に記載の技術では、干渉が発生する箇所(干渉領域)の各々にインターロックを設けるだけであるため、各干渉領域において優先して動作するロボットの選択方法によっては、作業全体の処理時間が長くなる恐れがある。
本発明の目的は、上記問題に鑑み、複数のロボットが協働して作業する場合において、作業全体の処理時間を短くすることが可能な作業支援装置、作業支援方法およびプログラムを提供することにある。
本発明の一実施形態における作業支援装置は、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する特定部と、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触の可能性があるステップを、干渉ステップとして算出する算出部と、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する決定部と、当該決定部の決定結果に基づいて、当該衝突または干渉を防止するためのインターロックを設定する設定部と、当該設定したインターロックに関する信号を通知する通知部を備える。
本発明の一実施形態における作業支援方法は、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定し、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出し、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定し、当該決定部の決定結果に基づいて、当該衝突または接触を防止するためのインターロックを設定する設定し、当該設定したインターロックに関する情報を通知することを特徴とする。
本発明の一実施形態におけるプログラムは、所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する機能と、当該特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する機能と、当該干渉ステップが複数ある場合に、当該所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する機能と、当該決定部の決定結果に基づいて、当該衝突または接触を防止するためのインターロックを設定する機能と、当該設定したインターロックに関する情報を通知する機能とをコンピュータに実行させることを特徴とする。
本発明によれば、協働して作業する複数のロボットに対するインターロックの設定を自動的で実行することができる。
図1は、第1の実施形態に係るティーチングシステムの概要を模式的に示す図である。 図2は、第1の実施形態に係るロボット同士の衝突または接触を示す図である。 図3は、第1の実施形態に係る2つのロボットについて、干渉を解析する際の組み合わせの数を説明する図である。 図4は、第1の実施形態に係るティーチング装置の機能構成を模式的に示す図である。 図5は、第1の実施形態に係る記憶部が格納する情報のデータ構造を模式的に示す図である。 図6は、第1の実施形態に係る5つのロボットとその軌跡とを示す図である。 図7は、第1の実施形態に係る2つの異なるロボットの軌跡の一例を示す図である。 図8は、第1の実施形態に係る算出部によるロボット間の衝突または接触の解析を説明する模式図である。 図9は、第1の実施形態に係る干渉ステップを説明するための模式図である。 図10は、第1の実施形態に係る干渉エリアを説明するための模式図である。 図11は、第1の実施形態に係るティーチング装置が実行するプログラム作成支援処理の流れを説明するフローチャートである。 図12は、第1の実施形態に係る取得部が実行する軌跡取得工程の流れを説明するフローチャートである。 図13は、第1の実施形態に係る算出部が実行する解析工程の流れを説明するフローチャートである。 図14は、第1の実施形態に係る決定部が実行する決定工程の流れを説明するフローチャートである。 図15は、第2の実施形態に係る分割エリアを説明するための模式図である。 図16は、第2の実施形態に係る1系統の場合の分割エリアを説明するための模式図である。 図17は、第2の実施形態に係る2系統の場合の分割エリアを説明するための模式図である。 図18は、第2の実施形態に係る決定部が実行する決定工程の流れを説明するフローチャートである。
本発明に係る実施形態について、図面を参照して説明する。なお、実施形態は一例であり、これに限定されるものではない。
<第1の実施形態>
第1の実施形態に記載の内容は、後述する実施形態のいずれにも適用可能である。
図1は、第1の実施形態に係るシステム1の概要を模式的に示す図である。図1に示すように、システム1は、ティーチング装置100と、表示装置102と、ロボット200とを含む。
ロボット200は、他のロボット200と協働して作業するロボットである。ロボット200は、所定の工程を他のロボット200と協働して遂行する。図1に示すように、ロボット200は、例えば、自動車の車体の組み立て等に用いられる産業用ロボットである。なお、ロボット200は、産業用ロボットに限られず、協働して作業するロボットであれば、どのようなロボットでもよい。
ロボット200は、作業を所定の単位ごとに特定したステップごとに、作業を実行する。なお、1つのステップには複数の作業が含まれていてもよいし、1つの作業が含まれていてもよい。
図1に示すように、ロボット200は、例えば、1回の工程において、第1ステップ10aから第7ステップ10gまでの7つのステップを実行する。以下、特に区別する場合を除き、各ステップを「ステップ10」と総称する。ロボット200は、例えば、1回の工程において、各ステップ10を結ぶ領域を移動する。以下、ロボット200が移動する領域を「軌跡12」と記載する。なお、軌跡12は3次元空間上の線分ではなく、ロボット200が作業空間を移動する際にロボット200が掃く(スウィープ(sweep)する)空間を意味する。
ロボット200は、例えば、当該ロボット200の動作を制御する制御プログラムによる制御の下で動作する。制御プログラムは、ロボット200に対して、当該ロボット200の移動や停止を実行させるためのプログラムである。制御プログラムは、複数のロボット200の各々に対して設定されていてもよいし、複数のロボット200に対して設定されていてもよい。
制御プログラムは、ロボット200が動作する際に参照する、1または複数のステップ情報が含まれる。ステップ情報は、所定の単位ごとに特定したステップを実行するために必要な情報である。ステップ情報は、例えば、ロボット200が作業を実行するために停止または移動する空間上の位置情報である。ステップ情報は、例えば、ロボット200の移動の単位となる情報であってもよい。ステップ情報は、ロボット200が各ステップ10間を移動する際の、速度や移動方向を含んでいてもよい。
位置情報は、例えば、ロボット200の基準位置からの相対的な位置座標である。位置情報は、例えば、ロボット200が有するアームの先端部の位置座標である。位置情報は、基準位置からの相対的な位置座標に限らず、予め定められた座標におけるロボット200の位置を示すものであってもよい。また、位置情報は、例えば、緯度や経度などの絶対的な位置座標であってもよい。その他、ロボット200の停止や移動を決定可能であれば、どのような座標であってもよい。
なお、制御プログラムは、例えば、一のロボット200が、後述するインターロック領域に進入する際に、他のロボット200に対して発信する「進入前信号」(待機信号)の発信命令を含んでいてもよい。また、制御プログラムは、ロボット200がインターロック領域を脱出した後に、他のロボットに対して発信する「待避後信号」(干渉外信号)の発信命令を含んでいてもよい。
ティーチング装置100は、ロボット200に対して、制御プログラムを設定する装置である。また、ティーチング装置100は、複数のロボット200の制御プログラムに基づいて、必要となるインターロックを設定する装置である。なお、インターロックは、ロボット200同士の衝突や接触を防止するための制御や指令である。
また、ティーチング装置100は、さらに、探索したインターロックの前後においてロボット200が適切に待避動作をするためのプログラムが実装されているか否かを確認してもよい。これにより、ティーチング装置100は、ユーザが制御プログラムを作成することを支援することができる。このように、ティーチング装置100は、ロボットの制御プログラムの作成支援装置として機能してもよい。
ティーチング装置100は、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。
表示装置102は、ティーチング装置100の計算結果等の情報をユーザに通知するための装置である。表示装置102は、例えば、液晶モニタや有機ELモニタ等で実現できる。
図2は、ロボット200同士の衝突または接触を示す図である。図2に示す例では、第1ロボット200aおよび第2ロボット200bと、各ロボット200の軌跡である第1軌跡12aおよび第2軌跡12bとが示されている。図2において、第1ロボット200aの第1ステップ10aと、第2ロボット200bの第7ステップ10dとの距離がLであり、Lが所定の距離L未満であることを示している。
ここで、所定の「距離L」とは、ある二つのロボット200が干渉する可能性があるか否かを判定するための基準閾値となる距離である。一のロボット200が通るステップ10と、他のロボット200が通るステップ10との距離Lが距離L未満の場合、ティーチング装置100はそれらのロボット200が干渉する可能性があると判断する。干渉は、ロボットどうしが衝突または接触することである。接触距離Lは、作業に用いるロボット200の大きさや軌跡12の複雑さ、製品の形状等を考慮して、例えば、シミュレーションや実験により定めることができる。
図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次元空間となる場合もある。
第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で衝突しない。
しかし、第1ロボット200aが干渉領域14を移動中に何らかの理由で停止したり、速度が低下したりすることも起こりうる。この様な場合には、干渉領域14において第1ロボット200aと第2ロボット200bとが衝突または接触してしまう可能性がある。そこで、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮せずに、異なる2つのロボットが通りうる2つの軌跡12が交差する場合には、当該交差する領域を干渉領域14としてもよい。なお、ティーチング装置100は、ロボット200が軌跡12において各ステップ10を通る時刻を考慮して、干渉領域14を設定してもよい。
ロボット200の各々は、干渉領域14に進入する前に「侵入前信号」(待機信号)を対となるロボット200に送信し、干渉領域14を脱出した後に「待避後信号」(干渉外信号)を対となるロボット200に送信する。例えば、図2において、第1ロボット200aが第1ステップ10aにあるときに、「進入前信号」(待機信号)を第2ロボット200bに送信する。その後、第1ロボット200aは、干渉領域14を脱出して第2ステップ10bに到達すると、「待避後信号」(干渉外信号)を第2ロボット200bに送信する。
第2ロボット200bは、第1ロボット200aから進入前信号を受信した後は、「待避後信号」(干渉外信号)を受信するまでは、第6ステップ10c以降のステップには進まずに待機する。なお、第2ロボット200bが第6ステップより前のステップにいるときは、第1ロボット200aとの衝突の恐れはないため、作業を継続する。第2ロボット200bは、第1ロボット200aから「待避後信号」(干渉外信号)を受信した後に、第7ステップ10dに進む。これにより、第1ロボット200aと第2ロボット200bとが干渉領域14で衝突または接触することを抑制できる。
なお、ティーチング装置100は、第1ロボット200aと第2ロボット200bとのどちらが先に干渉領域14に進入するかについて、予め設定する。ティーチング装置100は、第1ロボット200aおよび第2ロボット200bのいずれか一方に対して、先に干渉領域14に進入可能であることを示す情報である「優先情報」を通知する。すなわち、優先情報をもつロボット200が、優先情報を持たないロボット200に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを送信するように、制御プログラムが組まれる。
続いて、実施の形態に係るティーチング装置100による、制御プログラムのインターロックの設定支援処理について説明する。
ティーチング装置100は、協働して作業する複数のロボット200のうち、異なる2つのロボット200の組み合わせ全てについて、干渉および接触を解析する。ひとつのロボット200が複数の制御プログラムで実行される場合には、それによってロボット200が動きうる軌跡の全ての組み合わせについて、ティーチング装置100は衝突または接触を解析する。
例えば、各ロボット200には管理用の制御プログラムが存在する。管理用のプログラムとは、例えばロボット200の基準位置を設定するための「原点プログラム」、ロボット200を待避させるための「保全プログラム」、ロボット200自体または一部の部品を交換するために移動させる「交換プログラム」である。また、ひとつの生産ラインで複数種類の製品を生産する場合には、製品の種類に応じた制御プログラムが存在する。仮に、ひとつの生産ラインで4種類の製品を生産する場合には、4種類の生産用制御プログラムが存在することになる。この場合、ひとつのロボット200は、計7つの制御プログラムによって動作し、7種類の軌跡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)中考え得る組み合わせは「○」で示している。
いま、生産ライン上に12台のロボット200が存在すると仮定すると、12台のロボット200の中から2つの異なるロボット200を選ぶ組み合わせは12×11/2=66通りとなる。このため、全ての制御プログラムの組み合わせは、37×66=2442通りとなる。さらに、製品を生産するための工程が5工程あったと仮定すると、同一工程における制御プログラムの組み合わせは2442×5=12210通りとなる。
図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通りとなる。
同一工程における制御プログラムの組み合わせ数と工程間における制御プログラムの組み合わせ数とは合計で2.5万通りの組み合わせとなる。仮に1つの制御プログラムの組み合わせについて計算機による衝突または接触の解析が仮に10秒で終了したとしても、全ての組み合わせを解析するためにはおよそ70時間を要し現実的ではない。このため実施の形態に係るティーチング装置100は、衝突または接触を解析するために高速化の工夫を実装している。以下、ティーチング装置100についてより詳細に説明する。
図4は、実施の形態に係るティーチング装置100の機能構成を模式的に示す図である。ティーチング装置100は、特定部110、算出部120、決定部130、設定部140、通知部150、取得部160、記憶部170、を備える。
図4は、実施の形態に係るティーチング装置100が実行するインターロックの設定支援処理を実現するための機能構成を示しており、他の構成は省略している。図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メインメモリ、その他のLSI(Large Scale Integration)で構成することができる。またソフトウェア的には、メインメモリにロードされた設定支援プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。限定はしないが、一例として、ティーチング装置100は、PC(Personal Computer)、メインフレーム、ワークステーション、クラウドコンピューティングシステム等、種々の計算リソースを用いて実現できる。
図4に示すティーチング装置100の各機能部をソフトウェアにより実現する場合、ティーチング装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行することで実現される。このプログラムを格納する記録媒体は、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、このプログラムは、当該検索プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記検索プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
記憶部170は、ティーチング装置100が解析の対象とする複数のロボット200それぞれについて、ロボット200の外形を表す形状データとそのロボット200を動作させる制御プログラムとを記憶する。
図5は、記憶部170が格納する情報のデータ構造を模式的に示す図である。図5に示すように、ティーチング装置100が解析の対象とする複数のロボット200の各々は、ロボット200を一意に特定するためのロボット識別子が割り当てられている。ロボット識別子の割り当ては、例えば複数のロボット200にあらかじめ通し番号を付与することで実現できる。図5に示すように、ロボット識別子と、そのロボット識別子で識別されるロボット200の形状データ、およびそのロボット200の動作制御に用いる1以上の制御プログラムが対応づけられて格納されている。
特定部110は、所定の工程を協働して遂行する複数のロボット200の各々の作業を、所定の単位ごとにステップとして特定する。
まず、特定部110は、解析の対象とする複数のロボット200各々について、作業において移動する軌跡を取得する。より具体的には、特定部110は、複数のロボット200のうちひとつのロボット200を特定するためのロボット識別子を選択する。続いて特定部110は、選択したロボット識別子で特定されるロボット200の動作を制御するための制御プログラムを、記憶部170から読み出す。
次に、特定部110は、読み出した制御プログラムをもとにシミュレーションを実行し、各制御プログラムを実行した場合にロボット200が移動するステップ10の位置座標を取得する。これにより、特定部110は、全てのロボット200について、各ロボット200に割り当てられた制御プログラムを実行した場合に移動しうる軌跡を、ステップ10の単位で離散的に取得する。
図6は、5つのロボット200とその軌跡12とを示す図である。より具体的には、図6は、第1ロボット200aから第5ロボット200eまでの5つのロボット200と、それぞれ対応する第1軌跡12aから第5軌跡12eとを示している。なお、第1軌跡12aから第5軌跡12eの各軌跡12は破線で示している。煩雑となることを避けるため図中符号を付していないが、各軌跡12上に存在する黒丸は、特定部110が取得したステップ10の位置を示している。
算出部120は、特定部110が特定したステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する。
まず、算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する。算出部120は、特定部110が取得した軌跡12をもとに、組となる2つのロボットがそれぞれ取り得る軌跡の中から、1対の軌跡12の組を取得する。同一のロボット200であっても、制御プログラムが異なれば異なる軌跡を描くため、算出部120は制御プログラム毎に解析を実行する。
次に、算出部120は、取得した1対の軌跡12の組に含まれるステップ10同士が、上述した距離L未満にあるか否かを比較する。これの比較は、シミュレーション空間上に離散的に存在する2点間の距離求めて距離Lと比較する処理であるため、計算量は少ない。このため、算出部120はこの比較処理を高速に実行することができる。以下本明細書において、算出部120が実行するステップ10同士と距離Lとの比較処理を、点の位置(ポジション;position)をもとにする確認処理であるため、「ポジションチェック」と記載することがある。
図7は、2つの異なるロボット200の軌跡の一例を示す図であり、より具体的には、図6における第3ロボット200cの軌跡12cと、第5ロボット200eの軌跡12dとを示す図である。図7に示すように、軌跡12cと軌跡12dとは離れており、これらの軌跡12の間には干渉領域14は存在しない。算出部120は、全てのロボット200の組み合わせにおける全ての制御プログラムの組み合わせを解析し、軌跡12のポジションチェックを総当たりで実行する。これにより、算出部120は干渉しないことが明らかな軌跡12の組み合わせを迅速に除去することができる。ゆえに、算出部120は、ロボット200間の衝突または接触の解析の高速化、解析時間の短縮化を実現できる。
算出部120は、複数のロボット200のそれぞれについてポジションチェックを実行し、ロボット200が描く軌跡12のうちステップ10同士の距離が距離L未満となる場合、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が、距離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について、単位時間毎に衝突があるか否かを解析する。
図8(b)は、第1軌跡12aと第2軌跡12bとにおける、単位時間毎の解析箇所を示す模式図である。ここで「単位時間」とは、算出部120が接触判定のあった軌跡12の組を詳細に解析する際のサンプリングレートである。単位時間はロボット200の数や工程数、軌跡12の距離等を考慮して実験により定めればよいが、例えば0.02秒である。
上述したように、制御プログラムが有するステップ情報には、ロボット200が各ステップ10間を移動する際の速度や移動方向等の補助情報も含まれる。算出部120は、この補助情報とサンプリングレートとを用いて、単位時間毎にロボット200の存在位置を計算により取得する。図8(b)において、白い丸は第1軌跡12aにおける単位時間毎のロボット200の位置を示し、斜線で示す丸は第2軌跡12bにおける単位時間毎のロボット200の位置を示す。図8(b)より、算出部120は第1軌跡12aと第2軌跡12bとが交差すること、すなわちロボット200同士が衝突する可能性があることが判定できる。以下本明細書において、算出部120による補助情報とサンプリングレートとを用いた軌跡12の解析を、軌跡チェックと記載することがある。
このように、算出部120は離散的なポジションチェックを実行することで交差しないことが明白な軌跡12の組み合わせを迅速に除去し、接触している軌跡12の組についてのみ詳細な軌跡チェックを実行する。これにより、算出部120は衝突解析の迅速化と精度向上とを達成することができる。
決定部130は、算出部120が算出した干渉ステップにおいて、優先して作業させるロボット200を決定する。決定部130は、干渉ステップが複数ある場合に、所定の工程を完了させるために必要な時間が短くなるように、複数の干渉ステップの各々において優先して作業させるロボット200を決定する。所定の工程は、例えば、複数のロボット200が協働して実行する作業全体のことである。
設定部140は、決定部130の決定結果をもとに、少なくとも2つのロボット200同士の衝突または接触を防止するためのインターロックを設定する。設定部140は、決定部130が干渉エリアとして複数の組み合わせを設定した場合、当該複数の組み合わせのうち、所定の工程を完了させるために必要な時間が短くなる組み合わせに基づいて、衝突または接触を防止するためのインターロックを設定してもよい。
通知部150は、設定部140が設定したインターロックの設定に関する情報を通知する。通知部150は、例えば、複数のロボット200の各々に対して、インターロックの設定に関する信号を通知する。複数のロボット200の各々は、通知されたインターロックの設定に関する信号に基づいて動作する。また、通知部150は、例えば、ユーザに対して、設定部140が設定したインターロックを示す領域を図示するための情報を通知してもよい。
図9は、実施形態1における干渉ステップ20を説明するための模式図である。図9に示す画像は、組とする2つのロボット200のうち一方のロボット200のステップ情報を第1座標軸、第1座標軸と非平行であり他方のロボット200のステップ情報を第2座標軸とするグラフに、インターロックを示すインターロック領域をマッピングした図である。
より具体的に、図9に示すグラフは、第1ロボット200aを制御する制御プログラム001によるステップ情報を横軸、第2ロボット200bを制御する制御プログラム003のステップ情報を縦軸とするマトリクスに、干渉ステップ20をマッピングして示している。なお、干渉ステップ20は、インターロックの設定を行うインターロック領域でもある。
図9に示す例では、第1ロボット200aの第2ステップと、第2ロボット200bの第2ステップとが干渉ステップとなる。同様にして、図9に示すマトリクスのうち斜線でしめす領域が、干渉ステップであることを示している。
設定部140は、図9のマトリクス上に示される干渉ステップの各々に対して、インターロックの設定を行う。なお、設定部140は、干渉ステップ20の周囲を含めて、インターロックの設定をおこなってもよい。
本発明の実施形態1において、決定部130は、干渉ステップ20が複数ある場合に、複数の干渉ステップ20のうちの少なくとも2つの干渉ステップ20を干渉エリア21として設定し、設定した干渉エリア21において優先して作業させるロボットを決定させる。
決定部130は、複数の干渉ステップ20を1つの干渉エリア21として設定し、設定した干渉エリア21において優先して作業させるロボットを決定する。なお、その場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア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に含めることができる。
決定部130は、干渉ステップ20または干渉エリア21に対して、優先して作業させるロボットを決定する。この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、干渉ステップ20または干渉エリア21において優先して作業させるロボットを決定する。図10に示すように、干渉ステップ20および干渉エリア21が複数ある場合、干渉ステップ20および干渉エリア21ごとに優先して作業させるロボットを決定するため、複数の組み合わせが考えられる。この場合において、決定部130は、複数の組み合わせのうち、作業全体が完了するまでに必要な時間が短くなる組み合わせを採用する。決定部130は、例えば、複数の組み合わせの各々について、作業全体が完了するまでに必要な時間を計算し、当該必要な時間が最も短い組み合わせを選択する。
第1ロボット200aを制御する制御プログラム001と第2ロボット200bを制御する制御プログラム003とに、干渉ステップ20および干渉エリア21におけるインターロックを設定する。
図11は、実施の形態に係るティーチング装置100が実行するプログラム作成支援処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えばティーチング装置100が起動したときに開始する。
特定部110は、記憶部170を参照して、複数のロボット200がそれぞれ取り得る軌跡12を全て取得する(S100)。
算出部120は、複数のロボット200のうち異なる2つのロボット200の組を取得する(S200)。
算出部120は、組となる2つのロボット200がそれぞれ取り得る軌跡12をもとに、当該2つのロボットが衝突または接触するか否かを解析する(S300)。
決定部130は、算出部120により衝突または接触すると解析された領域を、干渉ステップ20および干渉エリア21と決定する(S400)。
設定部140は、決定部130が決定した干渉ステップ20および干渉エリア21に対して、組となる2つのロボットの衝突または接触を防止するためのインターロックを設定する(S500)。
その後、設定部140は、インターロックの設定に基づいて、複数のロボット200を制御するための制御プログラムを設定する(S600)。
図12は、実施の形態に係る特定部110が実行する特定機能の流れを説明するフローチャートであり、図11におけるステップS100をより詳細に説明する図である。
特定部110は、複数のロボット200のうちから1つのロボット200を選択する(S110)。
続いて、特定部110は、選択したロボット200の動作を制御するための制御プログラムを全て読み出す(S120)。
特定部110は、読み出した制御プログラムそれぞれで制御された場合における、選択したロボット200が動く軌跡12を取得する(S140)。
特定部110は、全てのロボット200について選択するまでの間(ステップS150のNo)、ステップ110からステップ140までの処理を継続する。
特定部110は、全てのロボット200について選択が終了すると(S150のYes)、処理を終了する。
図13は、実施の形態に係る算出部120が実行する算出機能の流れを説明するフローチャートであり、図11におけるステップS300をより詳細に説明する図である。
算出部120は、複数のロボット200の中から異なる2つのロボット200の組を取得する(S310)。算出部120は、組を構成する2つのロボット200それぞれが取り得る軌跡12の中から、1対の軌跡12の組を取得する(S320)。
算出部120は、軌跡12の組に含まれるステップ10間の距離が、所定の距離L未満であるか否かの比較、すなわち上述したポジションチェックを実行する(S330)。軌跡12の組に含まれるステップ10間の距離が、所定の距離L以上の場合(S340のNo)、算出部120は取得した1対の軌跡12は接触しないと判定し、ステップS310に戻って処理を継続する。
軌跡12の組に含まれるステップ10間の距離が、所定の距離L未満の場合(S340のYes)、算出部120はステップ10とその前後いずれかのまたは両方のステップ10を結ぶ軌跡12が交差するか否かを解析、すなわち上述した軌跡チェックを実行する(S350)。
軌跡12が交差する場合(S360のYes)、算出部120は、組とした2つのロボット200が衝突すると判定する(S370)。一方、軌跡12が交差しない場合(S360のNo)、算出部120は、組とした2つのロボット200は接触すると判定する(S380)。
複数のロボット200について取り得る全ての軌跡12の組み合わせを取得するまでの間(S390のNo)、算出部120は、ステップS310〜ステップS390までの処理を繰り返す。算出部120は、取り得る全ての軌跡12の組み合わせを取得すると(S390のYes)、処理を終了する。
図14は、実施形態1における決定部130が、干渉ステップ20および干渉エリア21を決定する場合の動作例を示すフローチャートであり、図11におけるステップS400を詳細に説明する図である。
決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。
決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。
決定部130は、干渉ステップ20またはこれらの干渉エリア21に対して、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する(S430)。
以上の構成によるティーチングシステム1の動作は以下のとおりである。まず、ティーチング装置100は、複数のロボット200のうち異なる2つのロボット200の組を単位として制御プログラムを解析し、全ての軌跡12の組み合わせについて、2つのロボット200が干渉する領域を干渉ステップ20または干渉エリア21と設定し、当該干渉ステップ20または干渉エリア21において、優先して動作するロボットを決定する。この場合において、そして、作業全体が完了するまでに必要な時間を考慮して、優先して作業させるロボットを決定する。ティーチング装置100は、干渉ステップ20または干渉エリア21において優先して動作するロボット200に基づき、インターロックを設定する。そして、ティーチング装置100は、インターロックの設定に基づいて、複数のロボット200の動作を制御するための制御プログラムを設定する。ティーチング装置100は、複数のロボット200に協働して作業を行わせるための制御プログラムを提供することができる。
以上説明したように、第1の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムを作成することができる。特に、ロボット200の接触を抑制するための制御に利用するインターロックの設定を支援することができる。
<第2の実施形態>
第2の実施形態は、決定部130が、干渉ステップ20および/または干渉エリア21が複数ある場合に、複数の干渉ステップ20および/または干渉エリア21を含む領域を、少なくとも1つ以上の分割エリア22に分けて、該分割エリア22において優先して作業させるロボットを決定させる実施形態である。
第2の実施形態に記載の内容は、第1の実施形態にも適用可能である。
なお、システム1やロボット200、ティーチング装置100の構成例は、第1の実施形態で説明したシステム1やロボット200、ティーチング装置100と同様であるため、詳細な説明は省略される。
また、第2の実施形態における決定部130は、干渉ステップ20や干渉エリア21が複数ある場合に、該複数の干渉ステップ20や干渉エリア21を少なくとも1つ以上の分割エリア22として設定可能である。決定部130は、設定した分割エリア22において優先して作業させるロボットを決定する。
決定部130は、予め定められた個数の分割エリア22を設定する。分割エリア22の個数が1つの場合は“1系統”、2つの場合は“2系統”、N個の場合は“N系統”と記載してもよい。1系統の場合は、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)を1組用いる。すなわち、1系統の場合は、1つの信号の組み合わせにより、インターロックを設定する。また、2系統の場合は、2つの信号の組み合わせにより、インターロックを設定する。
なお、分割エリア22の個数は、予め定められている必要はなく、決定部130が決定してもよいし、ユーザが都度設定してもよい。決定部130が決定する場合、該決定部130は、例えば、干渉ステップ20や干渉エリア21の数や大きさに基づいて、分割エリア22の数を決定してもよい。また、決定部130は、作業全体が完了するまでに必要な時間を考慮して、分割エリア22の数を決定してもよい。例えば、決定部130は、作業全体が完了するまでに必要な時間が最小となるように、分割エリア22の数を決定してもよい。
図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とするパターンである。
決定部130は、図15(a)のパターンと、図15(b)のパターンとを計算し、いずれのパターンを用いるかを決定する。決定部130は、分割エリア22の設定に関して複数のパターンがある場合に、分割エリア22間のロボット200の移動時間に基づいて、どのパターンを用いるか決定する。
決定部130は、複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長である場合を含むパターンを、実際に用いるパターンとして決定する。分割エリア22間のロボット200の移動時間が最長の場合を含むパターンは、ロボット200が自由に動作または移動できる領域が大きいこと、すなわちインターロックによるロボット200の停止時間が少ないことを意味する。そこで、決定部130は、インターロックによるロボット200の停止時間が少ないパターンを選択する。
図15(a)において、分割エリア22間のロボット200の移動時間は、“Δt1”と“Δt2”とがある。また、図15(b)において、分割エリア22間のロボット200の移動時間は、“Δt3”と“Δt4”とがある。決定部130は、“Δt1”〜“Δt4”のうち最も長い時間を含むパターンを選択する。例えば“Δt1”が最も長い時間である場合には、決定部130は、“Δt1”を含む図15(a)のパターンを、実際に使用するパターンとして選択する。
上記のとおり、決定部130は、分割エリア22の設定に関して複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長の場合を含むパターンを、実際に使用するパターンとして選択する。
次に、決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定する。この場合において、設定部140は、決定部130の決定結果に基づいて、インターロックの設定を行う。設定部140は、例えば、優先して作業させるロボット200(優先情報を持つロボット200)に対して、「進入前信号」(待機信号)と「待避後信号」(干渉外信号)とを、待機させるロボット200(優先情報を持たないロボット200)に送信する旨を設定してもよいし、そのような制御を行うための制御プログラムを設定してもよい。
図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が優先して作業可能となる。
また、設定部140は、第1のロボットに対して、“第1のロボット200のステップ12において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
上記のとおり、決定部130が分割エリア22を決定することにより、設定部140は、インターロックに関する信号を設定するステップを求めることが可能となる。
図16(b)は、分割エリア22において、ロボット2が優先して作業する場合の例である。図16(b)に示すように、分割エリア22において第2のロボット200が優先して作業する場合、設定部140は、第1のロボット200のステップ1において、第2のロボットが「進入前信号」(待機信号)を第1のロボットに対して送信する旨を設定する。その結果、第1のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第1のロボット200はステップ2の工程に進まず、分割エリア22において第2のロボット200が優先して作業可能となる。
また、設定部140は、第2のロボット200のステップ11において、第2のロボットが「退避後信号」(干渉外信号)を、第1のロボットに対して送信する旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
ここで、図16に示すように、1系統の場合、分割エリア22において優先して作業するロボット200が第1のロボット200の場合と第2のロボット200の場合とで、2通りの経路(組み合わせ)が考えられる。例えば、図16(a)のように、分割エリア22において、第1ロボット200を優先して動作するロボット200として決定する場合(経路A)と、図15(b)のように、第2ロボット200を優先して動作するロボット200として決定する場合(経路B)の2通りが考えられる。
この場合において、決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路Aまたは経路Bのいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路Aまたは経路Bのいずれかを選択する。この場合において、決定部130は、例えば、ダイクストラ法(最短経路法)を用いて、いずれかの経路を選択してもよい。
その後、設定部140は、上述したように、決定部130の決定した経路に基づいて、インターロックの設定を行う。例えば、設定部140は、決定部130が経路Aを選択した場合には、図16(a)に示すインターロックに関する信号の設定を行う。
上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。
図17は、2系統の場合の分割エリア22における経路を説明するための模式図である。図17において説明したように、決定部130は、分割エリア22の設定のパターンが複数ある場合には、分割エリア22間のロボット200の移動時間に基づいて、どのパターンを用いるか決定すする。決定部130は、例えば、複数のパターンがある場合に、分割エリア22間のロボット200の移動時間が最長である場合を含むパターンを、実際に用いるパターンとして決定する。
図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とする場合の経路である。
決定部130は、作業全体が完了するまでに必要な時間を考慮して、経路1〜経路4のいずれかを選択する。例えば、決定部130は、作業全体が完了するまでに必要な時間が最短となるように、経路1〜経路4のいずれかを選択する。
設定部140は、決定部130が選択した経路に基づいて、インターロックの設定を行う。設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ1において、「進入前信号」(待機信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ1の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第2のロボット200はステップ2の工程に進まず、分割エリア22Aにおいて第1のロボット200が優先して作業可能となる。
また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第1のロボット200のステップ8において、「退避後信号」(干渉外信号)を第2のロボットに送信する”旨を設定する。その結果、第2のロボット200は、第1のロボット200が分割エリア22A内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ2の工程に進むことができる。
設定部140は、例えば決定部130が経路2を選択した場合、第2のロボットに対して、“第1のロボット200のステップ9において、「進入前信号」(待機信号)を第1のロボットに送信する”旨を設定する。その結果、第2のロボット200は、ステップ9の工程を実行している際に、「進入前信号」(待機信号)を受信する。これにより、第1のロボット200はステップ9の工程に進まず、分割エリア22Bにおいて第2のロボット200が優先して作業可能となる。
また、設定部140は、例えば決定部130が経路2を選択した場合、第1のロボットに対して、“第2のロボット200のステップ11において、「退避後信号」(干渉外信号)を第1のロボットに送信する”旨を設定する。その結果、第1のロボット200は、第2のロボット200が分割エリア22B内のステップを完了した後に、「退避後信号」(干渉外信号)を受信し、ステップ10の工程に進むことができる。
上記のとおり、決定部130が分割エリア22を決定するとともに、複数の経路のうちのいずれかを選択することにより、設定部140は、どのステップにおいてインターロックに関する信号を設定すればよいか求めることができる。そして、決定部130が、作業全体が完了するまでに必要な時間が最短となる経路を選択するため、ティーチング装置100は、複数のロボット200が最も効率よく協働して作業可能な制御プログラムを提供することができる。
図18は、実施形態2における決定部130の動作例を示すフローチャートである。
決定部130は、組とした2つのロボット200の干渉ステップ20を特定する(S410)。
決定部130は、特定した干渉ステップ20のうち、干渉エリア21として設定可能な領域を特定する(S420)。この場合において、決定部130は、干渉ステップ20ではない領域を含んだエリアを、干渉エリア21として設定してもよい。
決定部130は、干渉ステップ20および干渉エリア21が複数ある場合に、少なくとも1つ以上の分割エリア22を設定する(S430)。決定部130は、例えば、予め定められた個数の分割エリア22を設定する。
決定部130は、分割エリア22の設定に関して複数のパターンが計算可能な場合(S440のYES)、分割エリア22間のロボット200の移動時間に基づいて、いずれのパターンを用いるかを決定する(S450)。一方、決定部130は、設定可能な分割エリア22が1つの場合には(S440のNO)、S460に進む。
決定部130は、分割エリア22の各々に対して、優先して作業させるロボット200を決定することにより、複数の経路を計算する(S460)。そして、決定部130は、複数の経路のうち、作業全体が完了するまでに必要な時間が最短となる経路を、実際に用いる経路として決定する(S470)。その後、設定部140は、図11に示すS500やS600において、決定部130が決定した経路に基づいて、インターロックの設定を行う。
以上説明したように、第2の実施形態に係るシステム1によれば、複数のロボット200に協働して作業を行わせるための制御プログラムの作成を支援することができる。特に、ロボット200の衝突または接触を抑制するための制御に利用するインターロックの設定を支援することができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記の説明では、ティーチング装置100はPCやワークステーション等で実現する場合につて説明した。これに代えて、ティーチング装置100を分散並列処理が実行可能なスーパーコンピュータを用いて実現してもよい。これにより、ロボット200間の衝突または接触の解析をさらに高速化することができる。
上記の説明では、通知部150は、干渉ステップ、干渉エリア21を示すマトリクスをユーザに通知する場合について説明した。これに加えて、マトリクス上の各領域をユーザが選択すると、それぞれのロボット200の動きをシミュレーションした結果をユーザに提示するようにしてもよい。より具体的には、ユーザがマウス等のポインティングデバイスを用いてマトリクスの所望の領域を選択すると、算出部120は、制御プログラムを用いてそのマトリクスに対応するステップまでロボット200を動作させるシミュレーションを実行する。その結果を既知の3次元レンダリング技術を用いて画像化することによりユーザに提示すればよい。これにより、ユーザはどの位置に置いてロボット200の衝突または接触が発生しているかを視覚的に確認することができる。
1 システム
12 軌跡
14 干渉領域
20 干渉ステップ
21 干渉エリア
22 分割エリア
100 ティーチング装置
110 特定部
120 算出部
130 決定部
140 設定部
150 通知部
160 取得部
170 記憶部
200 ロボット
202 ワーク
204 駆動部

Claims (8)

  1. 所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する特定部と、
    前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触の可能性があるステップを、干渉ステップとして算出する算出部と、
    前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する決定部と、
    前記決定部の決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する設定部と、
    前記設定したインターロックに関する信号を通知する通知部を備え
    前記決定部は、
    前記干渉ステップが複数ある場合に、前記複数の干渉ステップを少なくとも1つの干渉エリアとして設定し、前記所定の工程の完了に必要な時間が短くなるように、前記設定した干渉エリアにおいて優先して作業させるロボットを決定し、
    前記干渉ステップおよび前記干渉エリアが複数ある場合に、前記複数の干渉ステップおよび干渉エリアを少なくとも1つの分割エリアとして設定し、前記設定した分割エリアにおいて優先して作業させるロボットを決定し、
    複数の分割エリアを設定する場合であって、当該分割エリアの設定のパターンが複数存在する場合に、当該複数の分割エリア間における前記ロボットの移動時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択する
    ことを特徴とする作業支援装置。
  2. 前記決定部は、前記干渉ステップ以外のステップを含む前記干渉エリアを設定可能であることを特徴とする請求項1に記載の作業支援装置。
  3. 前記決定部は、前記分割エリアの設定のパターンが複数存在する場合に、当該複数のパターンの分割エリアのうち、前記複数のロボットが衝突または接触せずに動作可能な時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択する
    ことを特徴とする請求項1または2に記載の作業支援装置。
  4. 前記決定部は、前記所定の工程の完了に必要な時間が短くなるように、前記分割エリアにおいて優先して作業させるロボットを決定する
    ことを特徴とする請求項1乃至3のいずれかに記載の作業支援装置。
  5. 前記通知部は、前記複数のロボットの各々に対して、前記インターロックに関する信号を通知する
    ことを特徴とする請求項1乃至のいずれかに記載の作業支援装置。
  6. 前記通知部は、さらに、前記複数のロボットの各々のステップに関する情報を座標軸とするグラフに、前記インターロックを示す領域をマッピングして通知する
    ことを特徴とする請求項1乃至のいずれかに記載の作業支援装置。
  7. 所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定し、
    前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出し、
    前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定し、
    前記ロボットの決定における決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する設定し、
    前記設定したインターロックに関する情報を通知する
    前記ロボットの決定において、
    前記干渉ステップが複数ある場合に、前記複数の干渉ステップを少なくとも1つの干渉エリアとして設定し、前記所定の工程の完了に必要な時間が短くなるように、前記設定した干渉エリアにおいて優先して作業させるロボットを決定し、
    前記干渉ステップおよび前記干渉エリアが複数ある場合に、前記複数の干渉ステップおよび干渉エリアを少なくとも1つの分割エリアとして設定し、前記設定した分割エリアにおいて優先して作業させるロボットを決定し、
    複数の分割エリアを設定する場合であって、当該分割エリアの設定のパターンが複数存在する場合に、当該複数の分割エリア間における前記ロボットの移動時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択する
    ことを特徴とする作業支援方法。
  8. 所定の工程を協働して遂行する複数のロボットの各々の作業を、所定の単位ごとにステップとして特定する機能と、
    前記特定されたステップのうち、少なくとも2つのロボット同士の衝突または接触があるステップを、干渉ステップとして算出する機能と、
    前記干渉ステップが複数ある場合に、前記所定の工程の完了に必要な時間が短くなるように、複数の当該干渉ステップの各々において優先して作業させるロボットを決定する機能と、
    前記ロボットの決定における決定結果に基づいて、前記衝突または接触を防止するためのインターロックを設定する機能と、
    前記設定したインターロックに関する情報を通知する機能とを備え、
    前記ロボットの決定において、
    前記干渉ステップが複数ある場合に、前記複数の干渉ステップを少なくとも1つの干渉エリアとして設定し、前記所定の工程の完了に必要な時間が短くなるように、前記設定した干渉エリアにおいて優先して作業させるロボットを決定し、
    前記干渉ステップおよび前記干渉エリアが複数ある場合に、前記複数の干渉ステップおよび干渉エリアを少なくとも1つの分割エリアとして設定し、前記設定した分割エリアにおいて優先して作業させるロボットを決定し、
    複数の分割エリアを設定する場合であって、当該分割エリアの設定のパターンが複数存在する場合に、当該複数の分割エリア間における前記ロボットの移動時間が相対的に長い分割エリアを、実際に使用する分割エリアとして選択することをコンピュータに実行させる
    ことを特徴とするプログラム。
JP2016154060A 2016-08-04 2016-08-04 作業支援装置、作業支援方法およびプログラム Active JP6665056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016154060A JP6665056B2 (ja) 2016-08-04 2016-08-04 作業支援装置、作業支援方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016154060A JP6665056B2 (ja) 2016-08-04 2016-08-04 作業支援装置、作業支援方法およびプログラム

Publications (2)

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

Family

ID=61164145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016154060A Active JP6665056B2 (ja) 2016-08-04 2016-08-04 作業支援装置、作業支援方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6665056B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016120763B4 (de) * 2016-10-31 2019-03-14 Pilz Gmbh & Co. Kg Verfahren zur kollisionsfreien Bewegungsplanung
IT201800004698A1 (it) 2018-04-19 2019-10-19 Procedimento per il ripristino dello stato funzionale di una macchina automatica per la produzione di articoli dell’industria del tabacco
JP7070107B2 (ja) * 2018-06-05 2022-05-18 富士通株式会社 情報処理装置、作業計画プログラム及び作業計画方法
WO2020031333A1 (ja) * 2018-08-09 2020-02-13 株式会社Fuji シミュレーション方法およびシミュレーションシステム
JP7178900B2 (ja) * 2018-12-28 2022-11-28 川崎重工業株式会社 ロボットの作業計画作成方法および作業計画作成装置
JP7143776B2 (ja) 2019-01-31 2022-09-29 オムロン株式会社 制御システム、及び、制御システムの制御方法
CN110561429B (zh) * 2019-08-30 2021-10-15 北京北方华创微电子装备有限公司 机械手碰撞保护检测方法、***及下位机
JP7502135B2 (ja) 2020-09-29 2024-06-18 ファナック株式会社 ロボットプログラム調整装置
KR102573870B1 (ko) * 2023-01-30 2023-09-01 주식회사 마키나락스 복수의 작업 수행 로봇들 간 충돌을 방지하기 위한 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2984218B2 (ja) * 1996-07-23 1999-11-29 川崎重工業株式会社 複数台ロボットの作業計画方法
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP2002116816A (ja) * 2000-10-11 2002-04-19 Nkk Corp 制御装置および制御方法
JP2003103484A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットのインターロック設定方法
DE102004027944B4 (de) * 2004-06-08 2012-02-16 Kuka Laboratories Gmbh Verfahren zum Schützen eines Roboters gegen Kollisionen

Also Published As

Publication number Publication date
JP2018020413A (ja) 2018-02-08

Similar Documents

Publication Publication Date Title
JP6665056B2 (ja) 作業支援装置、作業支援方法およびプログラム
EP3794314B1 (en) Robot coordination in a shared workspace
EP1769891B1 (en) Offline teaching apparatus for robot
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
JP2017185577A (ja) シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
US10260890B2 (en) Aisle-based roadmap generation
US10540626B2 (en) Manufacturing process management system, manufacturing process management method, and non-transitory computer-readable recording medium recording manufacturing process management program
EP2923805A2 (en) Object manipulation driven robot offline programming for multiple robot system
WO2021139819A1 (zh) 动态选择网络连接点的方法、设备及存储介质
JP2016190315A (ja) プログラム作成支援方法およびプログラム作成支援装置ならびにプログラム
CN110849366A (zh) 一种基于视觉和激光雷达融合的导航方法及***
JP6998228B2 (ja) ロボット作業プログラム作成支援装置、ロボット作業プログラム作成支援方法、及びロボット作業支援プログラム
KR20210065865A (ko) 제어 시스템, 컨트롤러 및 제어 방법
CN115461199A (zh) 用于自主机器人操作的面向任务的3d重构
US10761523B2 (en) Method for controlling an automation system
JP7014289B2 (ja) 移動体制御装置、移動体、移動体制御システム、移動体制御方法および移動体制御プログラム
US20230195138A1 (en) Travel control system of automated guided vehicle
JP2018012159A (ja) ロボットシステム、ロボットシステムの制御方法、プログラム
CN116755416B (zh) 半导体生产制造的生产***虚拟调试方法、装置和产品
CN113741297A (zh) 用于多个机器人的任务处理方法、装置及***、机器人
JP7331616B2 (ja) 回避軌道生成装置、方法、及びプログラム
JP7500947B2 (ja) 干渉評価装置、方法、及びプログラム
JP2019081204A (ja) ロボット制御方法、制御端末、およびロボットシステム
Weng et al. Quantitative assessment at task-level for performance of robotic configurations and task plans
US20220004175A1 (en) Apparatus and Method for Computer-Implemented Determination of Sensor Positions in a Simulated Process of an Automation System

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