JP2019171498A - ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム - Google Patents
ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム Download PDFInfo
- Publication number
- JP2019171498A JP2019171498A JP2018060173A JP2018060173A JP2019171498A JP 2019171498 A JP2019171498 A JP 2019171498A JP 2018060173 A JP2018060173 A JP 2018060173A JP 2018060173 A JP2018060173 A JP 2018060173A JP 2019171498 A JP2019171498 A JP 2019171498A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- task
- program
- identification information
- work
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 9
- 230000033001 locomotion Effects 0.000 claims abstract description 146
- 238000004088 simulation Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 35
- 238000013459 approach Methods 0.000 description 29
- 230000010365 information processing Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 101000579646 Penaeus vannamei Penaeidin-1 Proteins 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 101150077194 CAP1 gene Proteins 0.000 description 3
- 101150014715 CAP2 gene Proteins 0.000 description 3
- 101710169754 CD-NTase-associated protein 12 Proteins 0.000 description 3
- 101100245221 Mus musculus Prss8 gene Proteins 0.000 description 3
- 101100260872 Mus musculus Tmprss4 gene Proteins 0.000 description 3
- 101000579647 Penaeus vannamei Penaeidin-2a Proteins 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- -1 ... Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】ロボットのティーチングを行うときに、ロボットの具体的な動きに対する教示を容易にする。【解決手段】本発明の一実施形態は、ロボットの作業対象であるワークに対する前記ロボットの要素作業に関する情報と、前記要素作業に含まれるロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数の識別情報と、を対応付けて表示装置に表示する表示制御部と、前記複数のモーションの各々をロボットに動作させる複数のロボットプログラムを記憶する記憶部と、表示装置に表示される複数の識別情報のうちいずれかの識別情報を選択するオペレータの操作入力に応じて、選択された識別情報に対応するモーションのロボットプログラムを実行するプログラム実行部と、を備えたロボットプログラム実行装置である。【選択図】図9
Description
本発明は、ロボットプログラム実行装置、ロボットプログラム実行方法、および、プログラムに関する。
ロボットを工場のライン等で動作させるためには、利用者は、ロボットに対して動作を教示(ティーチング)する必要がある。このティーチングには、ロボットの動作させるときの目標となる3次元座標における点の情報(以下、「教示点」という。)を含むプログラムを作成することが含まれる。例えば特許文献1には、ロボットの教示目標点の移動軌跡を表示させるようにしたロボットシステムが記載されている。
ところで、教示対象となるロボットが行う一連の作業には、複数の要素作業が含まれる。「要素作業」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。ティーチング作業においては、ロボットにより行われる各要素作業に含まれるロボットの具体的な動きに対する教示を容易にすることが望まれている。
そこで、本発明は、ロボットのティーチングを行うときに、ロボットの具体的な動きに対する教示を容易にすることを目的とする。
本願の例示的な第1発明は、ロボットの作業対象であるワークに対する前記ロボットの要素作業に関する情報と、前記要素作業に含まれる前記ロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数の識別情報と、を対応付けて表示装置に表示する表示制御部と、前記複数のモーションの各々を前記ロボットに動作させる複数のロボットプログラムを記憶する記憶部と、前記表示装置に表示される前記複数の識別情報のうちいずれかの識別情報を選択する前記オペレータの操作入力に応じて、前記選択された識別情報に対応するモーションのロボットプログラムを実行するプログラム実行部と、を備えたロボットプログラム実行装置である。
本発明によれば、ロボットのティーチングを行うときに、ロボットの具体的な動きに対する教示を容易にすることができる。
以下、本発明のロボットプログラム実行装置の実施形態について説明する。
以下の説明において、ロボットの要素作業を「タスク」という。ロボットの要素作業とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「部品」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、工場内のワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
ロボットの「基準点」は、後述するロボットのアプローチ点、目標点、デパーチャ点等のロボットの教示点の基準となるロボットの位置を意味し、例えばロボットの作用点(TCP:Tool Center Point)である。
以下の説明において、ロボットの要素作業を「タスク」という。ロボットの要素作業とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「部品」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、工場内のワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
ロボットの「基準点」は、後述するロボットのアプローチ点、目標点、デパーチャ点等のロボットの教示点の基準となるロボットの位置を意味し、例えばロボットの作用点(TCP:Tool Center Point)である。
以下では、実施形態のロボットプログラム実行装置によって、ロボットの実機に接続しないオフラインティーチングを支援する場合について説明するが、その限りではない。本実施形態のロボットプログラム実行装置は、オンラインティーチングを支援するように構成することができる。
(1)本実施形態に係るロボットプログラム実行装置の構成
以下、本実施形態のロボットプログラム実行装置1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボットプログラム実行装置1の全体構成について示す図である。図2は、本実施形態のロボットプログラム実行装置1に含まれる各装置のハードウェア構成を示す図である。
以下、本実施形態のロボットプログラム実行装置1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボットプログラム実行装置1の全体構成について示す図である。図2は、本実施形態のロボットプログラム実行装置1に含まれる各装置のハードウェア構成を示す図である。
図1に示すように、ロボットプログラム実行装置1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えばイーサネット(登録商標)ケーブルECにより通信可能に接続される。
情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
ロボット制御装置3は、情報処理装置2から送信されるロボットプログラムを実行する。本実施形態ではロボット制御装置3はロボットと接続されないが、ロボットと接続された場合には、ロボットプログラムの実行結果に応じた制御パルスをロボットに送り、ロボットを動作させることが可能である。そのため、ロボット制御装置3は、好ましくはロボットの実機の近傍に配置される。
図2に示すように、情報処理装置2は、制御部21と、ストレージ22と、入力装置23と、表示装置24と、通信インタフェース部25とを備える。
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)を含む。ROMには、3次元CADアプリケーションプログラムと教示ソフトウェアが記憶されている。CPUは、ROM上の3次元CADアプリケーションソフトウェア(以下、適宜「CADソフトウェア」という。)と教示ソフトウェアをRAMに展開して実行する。教示ソフトウェアとCADソフトウェアは、API(Application Program Interface)を介して協調して処理を実行する。
制御部21は、CADソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)を含む。ROMには、3次元CADアプリケーションプログラムと教示ソフトウェアが記憶されている。CPUは、ROM上の3次元CADアプリケーションソフトウェア(以下、適宜「CADソフトウェア」という。)と教示ソフトウェアをRAMに展開して実行する。教示ソフトウェアとCADソフトウェアは、API(Application Program Interface)を介して協調して処理を実行する。
制御部21は、CADソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。後述するように、ストレージ22には、ロボットプログラム221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224が格納される。
3次元モデルデータベース223には、CADソフトウェアを実行するときに参照される3次元モデルのデータが含まれる。本実施形態の例では、3次元モデルデータベース223には、ロボットおよび部品(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが含まれる。
実行ログデータベース224には、ロボット制御装置3から取得した実行ログデータが含まれる。実行ログデータは、ロボットプログラムの実行結果と、後述するロボット状態データとを含む。ロボット状態データは、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用される。
3次元モデルデータベース223には、CADソフトウェアを実行するときに参照される3次元モデルのデータが含まれる。本実施形態の例では、3次元モデルデータベース223には、ロボットおよび部品(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが含まれる。
実行ログデータベース224には、ロボット制御装置3から取得した実行ログデータが含まれる。実行ログデータは、ロボットプログラムの実行結果と、後述するロボット状態データとを含む。ロボット状態データは、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用される。
入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でイーサネット通信を行うための通信回路を含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でイーサネット通信を行うための通信回路を含む。
ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等のデータ)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等のデータ)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットのマニピュレータのモデルのデータの他に、情報処理装置2から送信されるロボットプログラムと、実行ログデータとが格納される。
通信インタフェース部33は、情報処理装置2との間でイーサネット通信を行うための通信回路を含む。
通信インタフェース部33は、情報処理装置2との間でイーサネット通信を行うための通信回路を含む。
(2)オフラインティーチングにおけるユーザインタフェース
ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブルTLの上に、ロボットRと、ペントレイ11と、キャップトレイ12と、治具13と、製品トレイ14とが、仮想空間に配置された状態の画像(以下、適宜「CAD画像」という。)が表示されている。
図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である部品の例である。また、ペンにキャップが嵌められた製品も部品の例である。
各ペン、各キャップ、ペンにキャップが嵌められた製品は、それぞれワークの一例である。
各ペン、各キャップ、ペンにキャップが嵌められた製品は、それぞれワークの一例である。
(2−1)階層型リスト
図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、部品の階層関係を示す階層型リストである。
図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、部品の階層関係を示す階層型リストである。
教示ソフトウェアは、CADソフトウェアと連携して階層型リストを作成することができる。階層型リストとして木構造のデータフォーマットが教示ソフトウェアによって用意される。オペレータは、CAD用ウィンドウと教示用ウィンドウを表示させた状態で、CAD画像内のロボットRおよび部品をポインティングデバイスで選択した状態で上記木構造のデータフォーマットの所望のノードまでドラッグする操作を行う。この操作を、ロボットRの教示を行うのに必要となるすべての部品に対して順に行うことで、階層型リストを完成させることができる。階層型リストに表示される各ノードの名称は、元となる3次元モデルの名称がそのまま適用されてもよいが、後で名称を変更できるようにしてもよい。
以下の説明では、CAD画像内のロボットR、部品を階層型リストのいずれかのノードに含めるようにすることを、ロボットR又は部品を「階層型リストに登録する」という。図3では、ロボットが1体である場合のCAD画像を例示しているが、ロボットが2体以上存在する場合には、当該2体以上のロボットを階層型リストに登録することができる。
図4に示す階層型リストにおいて、ロボットR(Robot_R)のノードの下層には、ハンドに関連する3個のノードが設けられている。ハンドに対して複数のノードを設けているのは、ハンドに想定される作業状態を考慮するためである。すなわち、ノード61〜63は、以下の内容を意味する。
・ノード61(Pen)…ペンを把持する作業に対応したハンド
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
ノード61〜63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。
ハンドシーケンスは、ロボットRのハンド52が把持する部品に依存するため、ハンド52が把持する部品ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
ハンドシーケンスは、ロボットRのハンド52が把持する部品に依存するため、ハンド52が把持する部品ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
部品の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具
・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具
・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具
ペントレイ(PenTray)のノードの下位には、ペンPen1, Pen2,…,Pen12に対応する各ノードが設けられる。キャップトレイ(CapTray)のノードの下位には、キャップCap1, Cap2,…,Cap12に対応する各ノードが設けられる。製品トレイ(ProductTray)のノードの下位には、製品PenProduct1, PenProduct2,…,PenProduct12に対応する各ノードが設けられる。
階層型リストの中のロボットR(図4のRobot_R)、および部品(治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12)の各ノードは、各々に対応する3次元モデルのデータと関連付けられた状態となっている。そのため、階層型リストを作成後に階層型リスト内のロボットRおよび部品の3次元モデルに変更があった場合であっても、階層型リストに再度登録する必要はない。
(2−2)ジョブおよびタスクについて
次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
ジョブとは、ロボットRが行う一連の作業である。タスクとは、前述したように一連の作業の中でロボットRが行う最小単位の作業である要素作業を意味する。従って、図5に示すように、ジョブ(JOB)に相当する期間には、複数のタスクT1,T2,…,Tn−1,Tnに対応する期間と、ロボットRのタスク間の移動(以下、適宜「タスク間移動」という。)と、が含まれる。図5に示すように、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。
各タスクには、複数のモーション(「ロボットRの動き」を意味する。)M1〜Mnが含まれる。タスクには、モーションの他、ハンドシーケンス(HS)が含まれてもよい。ハンドシーケンスは、ロボットRのハンド52による部品の把持についての一連の処理である。隣接するモーションの間には、後述するインターロック等による待機時間WTが設定される場合がある。
図6において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、タスクの目標点TPに到達する前の通過点であるアプローチ点AP1,AP2と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2とを含む。目標点TPは、タスクの対象である部品の位置を示している。
図6に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、タスク間の移動(つまり、前のタスクと図6に示すタスクとの間の移動)に相当する。デパーチャ点DP2から後のロボットRの動作が、タスク間の移動(つまり、図6に示すタスクと次のタスクとの間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つのタスクに対応し、当該タスク内において隣接する点間のロボットRの動きが1つのモーションに相当する。
タスクを実行させるロボットプログラムには、タスクの内容に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報が含まれうる。
タスクを実行させるロボットプログラムには、タスクの内容に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報が含まれうる。
図6では、アプローチ点AP1,AP2においてそれぞれインターロックIL1,IL2が設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、所定の信号が入力されるまで、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
(2−3)タスクに対応するロボットプログラムの作成
次に、階層型リストを用いたタスクに対応するロボットプログラム(以下、適宜「タスクプログラム」という。)の作成方法について、図4および図7を参照して説明する。図7は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクプログラムを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61〜63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクにおけるロボットRのハンドの把持対象から選択される。
次に、階層型リストを用いたタスクに対応するロボットプログラム(以下、適宜「タスクプログラム」という。)の作成方法について、図4および図7を参照して説明する。図7は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクプログラムを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61〜63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクにおけるロボットRのハンドの把持対象から選択される。
「タスク作成」が選択されると、図7のタスクプログラム作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、タスクの種別(Function)、タスクの目標物(Target)の各項目が表示される。ここで、階層型リストのパーツ領域PAの中からいずれかの部品に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された部品が入力される。タスクの種別(Function)の欄には、予め設定された複数の種類のタスクの種別(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかのタスクの種別を選択できるように構成されている。
次いで、階層型リストのパーツ領域PAの中から作業対象となる部品をポインティングデバイスで選択して左クリック操作を行うことにより、教示用ウィンドウW3の目標物(Target)の項目に、選択された部品が入力される。
タスクの種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
タスクの種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
例えば、ロボットRのハンドが何も把持していない状態において、「ペントレイからペンPen1を取る」というタスクを作成するには、図4に示す階層型リストのロボット領域RA内のノード61を、オペレータはポインティングデバイスで右クリックしてから「タスク作成」を選択する。次いで、階層型リストのパーツ領域PAの中からペントレイ(PenTray)に対応するノード67を対象としてポインティングデバイスで左クリック操作を行うことで教示用ウィンドウW3の目標物(Target)の項目に、ペントレイ(PenTray)が入力される。タスクの種別(Function)の欄では、複数のタスクの種別の候補の中から「取る(Pick up)」を選択する。そして、階層型リストのパーツ領域PAの中から作業対象となるペンPen1に対応するノード68を対象としてポインティングデバイスで左クリック操作を行うことで、図7に示す教示用ウィンドウW3が表示される。
以上の操作の結果、「ペントレイからペンPen1を取る」というタスクに対応して、“Pickup_Pen1_From_PenTray”という名称のタスクプログラムが作成される。
本実施形態では、要素作業の対象となる部品(ここでは「ペンPen1」)と、要素作業の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクプログラムを作成することができる。また、タスクプログラムの名称は、タスクの作業内容(例えば「Pickup」)と、タスクの作業対象(例えば「ペンPen1」)と、タスクの始点となる部品(例えば「ペントレイ」)、又は終点となる部品とを含むように自動的に作成されるため、タスクプログラムの名称からタスクの内容が直ちに分かるようになっている。
本実施形態では、要素作業の対象となる部品(ここでは「ペンPen1」)と、要素作業の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクプログラムを作成することができる。また、タスクプログラムの名称は、タスクの作業内容(例えば「Pickup」)と、タスクの作業対象(例えば「ペンPen1」)と、タスクの始点となる部品(例えば「ペントレイ」)、又は終点となる部品とを含むように自動的に作成されるため、タスクプログラムの名称からタスクの内容が直ちに分かるようになっている。
タスクプログラムを作成する際に、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成されてもよい。あるいは、オペレータが教示用ウィンドウW3のボタンb1(「詳細設定」)を操作し、1又は複数のアプローチ点及び/又はデパーチャ点を設定してもよい。自動的にアプローチ点AP、目標点TP、および、デパーチャ点DPを作成する場合、部品の重心を目標点TPとして設定し、部品の重心を基準とした部品のローカル座標系において所定の軸上(例えばZ軸上)にアプローチ点APおよびデパーチャ点DPを設定してもよい。
図7を参照すると、教示用ウィンドウW3のボタンb1(「詳細設定」)を操作することで、オペレータは、「アプローチ点、デパーチャ点設定」のほか、「モーションパラメータ設定」および「インターロック設定」のいずれかを選択することができる。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
図7の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
(2−4)タスクに基づくプログラムの作成
例えば、図6に示すタスクに対応するタスクプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラム(以下、適宜「モーションプログラム」という。)によって記述されている。
なお、以下のmove(AP1)は、タスク間の移動として別に定義されてもよい。
例えば、図6に示すタスクに対応するタスクプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラム(以下、適宜「モーションプログラム」という。)によって記述されている。
なお、以下のmove(AP1)は、タスク間の移動として別に定義されてもよい。
・move(AP1) …アプローチ点AP1までの移動
・interlock(IL1)…アプローチ点AP1でインターロック(IL1)による待機
・move(AP2)…アプローチ点AP2までの移動
・interlock(IL2)…アプローチ点AP2でインターロック(IL2)による待機
・move(TP)…目標点TPまでの移動
・handSequence()…ハンドシーケンス処理
・move(DP1)…デパーチャ点DP1までの移動
・move(DP2)…デパーチャ点DP2までの移動
なお、interlock(IL1)およびinterlock(IL2)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。
・interlock(IL1)…アプローチ点AP1でインターロック(IL1)による待機
・move(AP2)…アプローチ点AP2までの移動
・interlock(IL2)…アプローチ点AP2でインターロック(IL2)による待機
・move(TP)…目標点TPまでの移動
・handSequence()…ハンドシーケンス処理
・move(DP1)…デパーチャ点DP1までの移動
・move(DP2)…デパーチャ点DP2までの移動
なお、interlock(IL1)およびinterlock(IL2)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。
(2−5)タスクリスト
タスクリストとは、ロボットRが行うジョブに含まれる複数のタスクを含む情報であり、複数のタスクの各々に対応するタスクプログラムの名称の一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって定義されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクの実行順序を示していることが、ジョブを管理する上で好ましい。
タスクリストとは、ロボットRが行うジョブに含まれる複数のタスクを含む情報であり、複数のタスクの各々に対応するタスクプログラムの名称の一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって定義されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクの実行順序を示していることが、ジョブを管理する上で好ましい。
図8の教示用ウィンドウW4は、「ペンにキャップを嵌めて製品を組み立てる」という一連の作業であるジョブ(「Pen Assembly」)に対応するタスクリストの一例を表示する。このタスクリストの一例は、以下の(i)〜(vi)の6個のタスクを含む。この場合、タスクプログラム作成のための教示用ウィンドウW3によって、括弧内に表された名称のタスクプログラムが作成された場合を示している。
(i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)
(ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)
(iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)
(iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)
(v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)
(vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)
(i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)
(ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)
(iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)
(iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)
(v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)
(vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)
オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。
図8に示すように、タスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。
オペレータの操作に応じてタスクプログラムが変更され、追加され、あるいは削除される。
オペレータの操作に応じてタスクプログラムが変更され、追加され、あるいは削除される。
図8に示すように、タスクリスト中の各タスクには、各タスクに含まれる複数のモーションを表示するための展開アイコンEIが対応付けられている。いずれかの展開アイコンEIを操作することで、操作された展開アイコンEIに対応するタスクに含まれる複数のモーションが表示される。例えば、図8のタスクリストにおいてタスクT2に対応する展開アイコンEIが操作されると、図9に示す教示用ウィンドウW5が表示される。
図9に示す例では、タスクT2には、タスクT2に含まれる以下の複数のモーションを特定する名称であるモーション名称M21〜M25が対応付けられて表示される。
・モーション名称M21… アプローチ点AP2までの動作 (Approach_point-2)
・モーション名称M22… アプローチ点AP1までの動作 (Approach_point-1)
・モーション名称M23… 目標点TPまでの動作 (Target_point)
・モーション名称M24… ハンドの動作 (Hand-Open)
・モーション名称M25… デパーチャ点DP1までの動作 (Departure_point-1)
・モーション名称M21… アプローチ点AP2までの動作 (Approach_point-2)
・モーション名称M22… アプローチ点AP1までの動作 (Approach_point-1)
・モーション名称M23… 目標点TPまでの動作 (Target_point)
・モーション名称M24… ハンドの動作 (Hand-Open)
・モーション名称M25… デパーチャ点DP1までの動作 (Departure_point-1)
図9に示す教示用ウィンドウW5では、展開アイコンEIに代えて折畳みアイコンFIがタスクT2に対応付けられるとともに、タスクT2に含まれるモーション名称M21〜M25が表示される。なお、折畳みアイコンFIが操作されると、モーション名称M21〜M25が非表示となり、再度図8に示す教示用ウィンドウW4が表示される。
(2−6)ロボット動作のシミュレーション
図8の教示用ウィンドウW4に示すように、タスクリストに対応して以下のボタンが設けられている。
・ボタンb3(「RUN」)…選択されている項目(タスクまたはモーション)からロボットを動作させるボタンb4(「STOP」)… ロボット動作を停止させるためのボタン
・ボタンb5(「Next」)… タスクリストにおいて選択されている項目から次の項目までロボットを動作させるボタン
・ボタンb6(「Back」)… タスクリストにおいて選択されている項目から前の項目までロボットを動作させるボタン
・ボタンb7(「教示点保存」)… 複数のモーションのうち目標点(Target_point)が選択されている場合、現在のロボットの基準点の座標を新たなターゲットポイントとして保存させるボタン
・ボタンb8(「位置補正」)…複数のモーションのうちアプローチ点(Approach_point)、目標点(Target_point)、またはデパーチャ点(Departure_point)のいずれかの点が選択されている場合、選択されている点を現在のロボットの基準点の座標に書き換えるボタン
図8の教示用ウィンドウW4に示すように、タスクリストに対応して以下のボタンが設けられている。
・ボタンb3(「RUN」)…選択されている項目(タスクまたはモーション)からロボットを動作させるボタンb4(「STOP」)… ロボット動作を停止させるためのボタン
・ボタンb5(「Next」)… タスクリストにおいて選択されている項目から次の項目までロボットを動作させるボタン
・ボタンb6(「Back」)… タスクリストにおいて選択されている項目から前の項目までロボットを動作させるボタン
・ボタンb7(「教示点保存」)… 複数のモーションのうち目標点(Target_point)が選択されている場合、現在のロボットの基準点の座標を新たなターゲットポイントとして保存させるボタン
・ボタンb8(「位置補正」)…複数のモーションのうちアプローチ点(Approach_point)、目標点(Target_point)、またはデパーチャ点(Departure_point)のいずれかの点が選択されている場合、選択されている点を現在のロボットの基準点の座標に書き換えるボタン
図10に示すように、好ましくは、タスクリストの中で選択されている項目(タスクまたはモーション)は、選択されていない項目と異なる態様で表示される。図10では、モーション名称M22が選択されている教示用ウィンドウW6が例示される。
オペレータがタスクリストの中で少なくとも1つの項目を選択し、教示用ウィンドウW5のボタンb3(「RUN」)、ボタンb5(「Next」)、およびボタンb6(「Back」)のいずれかの操作を行うことで、タスク単位あるいはモーション単位でロボットプログラムを実行することができる。好ましくは、ロボットプログラムの実行結果に基づいて、CADソフトウェアは、仮想空間内でのロボットRの動きの動画(アニメーション)表示が行われる。
本実施形態では、タスク単位あるいはモーション単位でロボットプログラムを実行し、動画表示させることができる。
オペレータがタスクリストの中で少なくとも1つの項目を選択し、教示用ウィンドウW5のボタンb3(「RUN」)、ボタンb5(「Next」)、およびボタンb6(「Back」)のいずれかの操作を行うことで、タスク単位あるいはモーション単位でロボットプログラムを実行することができる。好ましくは、ロボットプログラムの実行結果に基づいて、CADソフトウェアは、仮想空間内でのロボットRの動きの動画(アニメーション)表示が行われる。
本実施形態では、タスク単位あるいはモーション単位でロボットプログラムを実行し、動画表示させることができる。
(3)ロボットプログラム実行装置1の機能
次に、本実施形態のロボットプログラム実行装置1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットプログラム実行装置1の機能ブロック図である。
図11に示すように、ロボットプログラム実行装置1は、表示制御部101、プログラム作成部102、プログラム実行部103、状態情報算出部104、シミュレーション実行部105、および、インターロック設定部106を備える。
ロボットプログラム実行装置1はさらに、ロボットプログラム221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
次に、本実施形態のロボットプログラム実行装置1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットプログラム実行装置1の機能ブロック図である。
図11に示すように、ロボットプログラム実行装置1は、表示制御部101、プログラム作成部102、プログラム実行部103、状態情報算出部104、シミュレーション実行部105、および、インターロック設定部106を備える。
ロボットプログラム実行装置1はさらに、ロボットプログラム221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。
表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。
表示制御部101は、ロボットの作業対象であるワークに対するロボットのタスクについてのタスクプログラム名称と、前記タスクに含まれるロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数のモーションプログラム名称と、を対応付けて表示装置24に表示する機能を備える。
プログラム作成部102は、ロボットにタスクを行わせるためのタスクプログラムと、タスクに含まれる複数のモーションをロボットに行わせるためのモーションプログラムとを作成する機能を備える。
プログラム作成部102は、ロボットにタスクを行わせるためのタスクプログラムと、タスクに含まれる複数のモーションをロボットに行わせるためのモーションプログラムとを作成する機能を備える。
図9に示した例では、タスクに関する情報の一例としてタスクT2のタスクプログラム名称(Place_to_PenJ_in_PenProduct)と、タスクT2に含まれるモーションを特定するモーション名称とが対応付けられて表示される。モーション名称は、複数のモーションの各々の識別情報の一例である。
プログラム作成部102の機能は以下のようにして実現される。
情報処理装置2のストレージ22には、タスクの種別(Function)ごとに、テンプレートとなるプログラムコードがタスクの関数として記録されている。オペレータによりタスクの種別(Function)、タスクの目標物(Target)、アプローチ点、デパーチャ点、モーションパラメータ等が設定されると(図7参照)、情報処理装置2の制御部21は、設定されたタスクの種別に対応するプログラムコードのテンプレートに、設定された情報を埋め込むことで、ロボットプログラムのコードを作成する。
また、タスクの種別ごとのテンプレートとなるプログラムコードには、当該タスクに含まれる複数のモーションの各々に対応するプログラムコードが含まれている。そのため、上記設定された情報をテンプレートに埋め込むことで、モーションプログラムのコードが自動的に生成されることになる。
情報処理装置2のストレージ22には、タスクの種別(Function)ごとに、テンプレートとなるプログラムコードがタスクの関数として記録されている。オペレータによりタスクの種別(Function)、タスクの目標物(Target)、アプローチ点、デパーチャ点、モーションパラメータ等が設定されると(図7参照)、情報処理装置2の制御部21は、設定されたタスクの種別に対応するプログラムコードのテンプレートに、設定された情報を埋め込むことで、ロボットプログラムのコードを作成する。
また、タスクの種別ごとのテンプレートとなるプログラムコードには、当該タスクに含まれる複数のモーションの各々に対応するプログラムコードが含まれている。そのため、上記設定された情報をテンプレートに埋め込むことで、モーションプログラムのコードが自動的に生成されることになる。
例えば、タスクの種別として「取る(Pick up)」が設定された場合、「取る(Pick up)」に対応するプログラムコードのテンプレートには、アプローチ点AP1まで移動させる関数move(AP1)やアプローチ点AP2まで移動させる関数move(AP2)等が含まれており、設定されたアプローチ点AP1,AP2の具体的な座標値を埋め込むことで、モーションプログラムである関数move(AP1),move(AP2)が作成される。「取る(Pick up)」に含まれるすべてのモーションプログラムが作成されると、結果的に「取る(Pick up)」に対応するタスクプログラムが作成される。
タスクプログラムの名称およびモーションプログラムの名称として、テンプレートに応じた名称が自動的に設定される。情報処理装置2の制御部21は、生成されたタスクプログラムおよびモーションプログラムをそれぞれの名称と関連付けてストレージ22に記録する。
ストレージ22は、複数のモーションの各々をロボットに動作させる複数のロボットプログラムを記憶する記憶部の一例である。
タスクプログラムの名称およびモーションプログラムの名称として、テンプレートに応じた名称が自動的に設定される。情報処理装置2の制御部21は、生成されたタスクプログラムおよびモーションプログラムをそれぞれの名称と関連付けてストレージ22に記録する。
ストレージ22は、複数のモーションの各々をロボットに動作させる複数のロボットプログラムを記憶する記憶部の一例である。
ロボットが行うジョブは、複数のタスクを含む。オペレータがタスク間の動作を設定し(例えば、モーションパラメータを設定し)、および/または、2以上のタスクの中からいずれかのタスクを条件分岐によって実行させる場合に当該条件を設定することにより、ジョブに対応する全体のロボットプログラムが作成される。
上記表示制御部101の機能を実現するために、制御部21は、ストレージ22からタスクプログラムと当該プログラムに含まれる関数としての複数のモーションプログラムを読み出し、各プログラムの名称に基づいてタスクリストを構成して表示装置24に表示する。
表示制御部101は、図10に示したように、タスクリストにおいて、複数のモーションプログラム名称(識別情報の一例)のうち選択されたモーションプログラム名称を、選択されていないモーションプログラム名称と異なる態様で表示装置24に表示する機能を備えてもよい。それによって、ティーチング作業を行うオペレータに対して、動作確認を行おうとしているモーションを明確に認識させることができる。異なる態様で表示させる表示態様は、図10に示した態様に限られず、様々な態様を採ることができる。例えば、選択されたモーションプログラム名称を、他と異なる色や輝度で表示してもよい。
表示制御部101は、オペレータによるタスクを選択する操作入力に基づいて、選択されたタスクに含まれる複数のモーションに対応する複数のモーション名称を表示し、あるいは非表示とする機能を備えてもよい。例えば、図8に示すようにタスクT2に対応付けられる複数のモーション名称を非表示とし、あるいは、図9に示すようにタスクT2に対応付けられる複数のモーション名称を表示してもよい。図8および図9の例では、展開アイコンEIと折畳みアイコンFIの操作に応じて表示と非表示とが切り替えられる。複数のモーション名称の表示と非表示とを切り替えられることでオペレータは、限られた表示画面の中で、注目したいタスクに含まれるモーションのみを表示させることができるため、ティーチング作業の効率化を図ることができる。
プログラム実行部103は、表示装置24に表示される複数のモーション名称のうちいずれかのモーション名称を選択するオペレータの操作入力に応じて、選択されたモーション名称に対応するモーションプログラムを実行する機能を備える。
プログラム実行部103の機能を実現するために、情報処理装置2の制御部21は、図8のボタンb3(「RUN」)、ボタンb5(「Next」)、およびボタンb6(「Back」)のいずれかの操作に応じて、選択されている項目(タスクまたはモーション)に対応する範囲のロボットプログラムを、通信インタフェース部25を介してロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、ロボットプログラムを実行する。
プログラム実行部103の機能を実現するために、情報処理装置2の制御部21は、図8のボタンb3(「RUN」)、ボタンb5(「Next」)、およびボタンb6(「Back」)のいずれかの操作に応じて、選択されている項目(タスクまたはモーション)に対応する範囲のロボットプログラムを、通信インタフェース部25を介してロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、ロボットプログラムを実行する。
状態情報算出部104は、プログラム実行部103による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データを演算する機能を備える。
状態情報算出部104の機能を実現するために、ロボット制御装置3の制御部31は、情報処理装置2からロボットプログラムを実行し、ロボットプログラムの実行結果として、ロボット状態データを演算して順次、ストレージ32に記録する。
ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。
ロボット状態データは、各タスクおよび各モーションに対応付けられている。そのため、ジョブに含まれる特定のタスク、あるいは、各タスクに含まれる特定のモーションが選択されたときに、選択されたタスクあるいはモーションに対応する期間のデータが抽出可能となるように構成されている。
ロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、時間軸に沿った所定の基準時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データ(ロボットプログラムの実行結果の一例)を含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。
ロボット状態データは、各タスクおよび各モーションに対応付けられている。そのため、ジョブに含まれる特定のタスク、あるいは、各タスクに含まれる特定のモーションが選択されたときに、選択されたタスクあるいはモーションに対応する期間のデータが抽出可能となるように構成されている。
ロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、時間軸に沿った所定の基準時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データ(ロボットプログラムの実行結果の一例)を含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
情報処理装置2の制御部21は、ロボット制御装置3からロボット状態データを含む実行ログデータを取得すると、実行ログデータを実行ログデータベース224に記録する。
表示制御部101は、ロボットおよびワークの3次元モデルを仮想空間内に配置して表示装置24に表示する機能を備えてもよい。
当該機能を実現するために、ストレージ22は、仮想空間におけるロボットの3次元モデルと、部品の3次元モデルと、を含む3次元モデルデータベース223を記憶する。CADソフトウェアは、3次元モデルデータベース223からロボットと部品の3次元モデルを3次元モデルデータベース223から読み出して仮想空間内に配置し、オペレータによって指定される視点からの画像を表示装置24に表示する。
当該機能を実現するために、ストレージ22は、仮想空間におけるロボットの3次元モデルと、部品の3次元モデルと、を含む3次元モデルデータベース223を記憶する。CADソフトウェアは、3次元モデルデータベース223からロボットと部品の3次元モデルを3次元モデルデータベース223から読み出して仮想空間内に配置し、オペレータによって指定される視点からの画像を表示装置24に表示する。
シミュレーション実行部105は、プログラム実行部103によるロボットプログラムの実行結果に基づいて、ロボットおよびワークの3次元モデルを仮想空間内で動作させる機能を備える。
シミュレーション実行部105の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出す。CADソフトウェアは、実行ログデータベース224に記録した実行ログデータに含まれるロボット状態データ(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)に基づき、仮想空間におけるロボットおよび部品の3次元モデルを動作させて表示する。
これによって、オペレータは、タスク単位あるいはモーション単位でロボットの動作を視覚的に確認することができるため、各タスクおよび各モーションの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や部品の配置を検討することが容易となる。
シミュレーション実行部105の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出す。CADソフトウェアは、実行ログデータベース224に記録した実行ログデータに含まれるロボット状態データ(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)に基づき、仮想空間におけるロボットおよび部品の3次元モデルを動作させて表示する。
これによって、オペレータは、タスク単位あるいはモーション単位でロボットの動作を視覚的に確認することができるため、各タスクおよび各モーションの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や部品の配置を検討することが容易となる。
プログラム実行部103は、オペレータによる複数のモーション名称のうちいずれかのモーション名称を選択する操作入力に基づいて、選択されたモーション名称に対応するモーションからの順方向の1若しくは複数のモーション、または、選択されたモーション名称に対応するモーションからの逆方向の1若しくは複数のモーションに対応するロボットプログラムを実行する機能を備えてもよい。それによって、オペレータは、ロボットの動きについて様々な観点から検討することができる。
本実施形態の例では、「順方向の1若しくは複数のモーションに対応するロボットプログラムを実行」は、図9のモーション名称M21〜M25の中から少なくとも1つのモーション名称を選択した状態でボタンb5(「Next」)が操作された場合に行われる。「逆方向の1若しくは複数のモーションに対応するロボットプログラムを実行」は、図9のモーション名称M21〜M25の中から少なくとも1つのモーション名称を選択した状態でボタンb6(「Back」)が操作された場合に行われる。
本実施形態の例では、ボタンb5(「Next」)が操作されたときに、1つ後の項目までのロボット動作が表示されるが、2以上の後の項目までのロボット動作が表示されるようにしてもよい。
同様に、本実施形態の例では、ボタンb6(「Back」)が操作されたときに、1つ前の項目までのロボット動作が表示されるが、2以上の前の項目までのロボット動作が表示されるようにしてもよい。
同様に、本実施形態の例では、ボタンb6(「Back」)が操作されたときに、1つ前の項目までのロボット動作が表示されるが、2以上の前の項目までのロボット動作が表示されるようにしてもよい。
CADによる動画表示は、図9のボタンb3(「RUN」)、ボタンb5(「Next」)、およびボタンb6(「Back」)のいずれかの選択結果と、当該選択が行われたときのタスクリストの表示状態とによって異なる。
ボタンb3(「RUN」)が操作された場合、CADソフトウェアは、ロボット状態データに基づき、選択されている項目(タスクまたはモーション)の最初から時間の進行に従って、ロボットおよび部品の3次元モデルを動作させて表示する。
ボタンb3(「RUN」)が操作された場合、CADソフトウェアは、ロボット状態データに基づき、選択されている項目(タスクまたはモーション)の最初から時間の進行に従って、ロボットおよび部品の3次元モデルを動作させて表示する。
ボタンb5(「Next」)が操作された場合、CADソフトウェアは、ロボット状態データに基づき、時間の進行に従って、選択されている項目(タスクまたはモーション)から次の項目までの期間のロボットおよび部品の3次元モデルを動作させて表示する。
ボタンb6(「Back」)が操作された場合、CADソフトウェアは、ロボット状態データに基づき、時間の進行が逆方向となるようにして、選択されている項目(タスクまたはモーション)から前の項目までの期間のロボットおよび部品の3次元モデルを動作させて表示する。
ロボットおよび部品の3次元モデルが動作して表示されているときにボタンb4(「STOP」)が操作された場合、CADソフトウェアは、ロボットの3次元モデルの動作を停止させる。
インターロック設定部106は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
インターロック設定部106の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図7の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、ロボットプログラム221の各タスクプログラムに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部106により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を要素作業ごとにオペレータが容易に設定することができる。
インターロック設定部106の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図7の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、ロボットプログラム221の各タスクプログラムに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部106により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を要素作業ごとにオペレータが容易に設定することができる。
なお、シミュレーション実行部105は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。
(4)ロボットのシミュレーションフロー
次に、図12を参照して、ロボットプログラム実行装置1によるロボットのシミュレーションフローの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットプログラム実行装置1のシーケンスチャートの一例である。
次に、図12を参照して、ロボットプログラム実行装置1によるロボットのシミュレーションフローの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットプログラム実行装置1のシーケンスチャートの一例である。
情報処理装置2のストレージ22に格納されるロボットプログラムは、ロボットのジョブに含まれる複数のタスクプログラムを有し、各タスクプログラムは、複数の関数に相当する複数のモーションプログラムは含む。各タスクプログラムおよび各モーションプログラムは、それぞれタスク名称およびモーション名称と関連付けられている。
情報処理装置2の制御部21は、教示プログラムを実行するとストレージ22からロボットプログラムを読み出し(ステップS10)、ロボットプログラムに含まれる各プログラムに関連付けられた名称に基づいて、タスクリストを階層的に構成して表示装置24に表示させる(ステップS12)。
情報処理装置2の制御部21は、教示プログラムを実行するとストレージ22からロボットプログラムを読み出し(ステップS10)、ロボットプログラムに含まれる各プログラムに関連付けられた名称に基づいて、タスクリストを階層的に構成して表示装置24に表示させる(ステップS12)。
例えば図9のタスクリストにおいて、制御部21は、タスク名称またはモーション名称が選択された状態で、オペレータによるボタンb3,b5,またはb6のいずれかのボタンに対する操作入力(シミュレーションの実行指示)を受け付ける(ステップS14:YES)。すると、制御部21は通信インタフェース部25を介して、選択されたタスク名称またはモーション名称に対応する範囲のロボットプログラムをロボット制御装置3へ送信する(ステップS16)。
ロボット制御装置3の制御部31は、ステップS16で受信したロボットプログラムを実行する(ステップS18)。制御部31は、ロボットプログラムの実行結果としてロボット状態データを演算して順次、ストレージ32に記録する。ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、所定の基準時間(例えば1ms)ごとの関節角、基準点の座標位置等)のデータである。
なお、ロボット状態データは、各タスクおよび各モーションに対応付けられている。そのため、ジョブに含まれる特定のタスク、あるいは、各タスクに含まれる特定のモーションが選択されたときに、選択されたタスクあるいはモーションに対応する期間のデータが抽出可能となるように構成されている。
なお、ロボット状態データは、各タスクおよび各モーションに対応付けられている。そのため、ジョブに含まれる特定のタスク、あるいは、各タスクに含まれる特定のモーションが選択されたときに、選択されたタスクあるいはモーションに対応する期間のデータが抽出可能となるように構成されている。
ロボットプログラムの実行が終了すると、制御部31は、ストレージ32からロボット状態データを読み出し、読み出したロボット状態データを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する(ステップS20)。情報処理装置2のCADソフトウェアは、実行ログデータに含まれるロボット状態データに基づき、仮想空間におけるロボットおよび部品の3次元モデルを動作させて表示する(ステップS22)。
既に述べたように、ステップS22における表示内容は、ステップS14で選択されたボタンと、ボタンが選択されたときに選択されているタスクリスト内の項目(タスクまたはモーション)とによって異なる。
既に述べたように、ステップS22における表示内容は、ステップS14で選択されたボタンと、ボタンが選択されたときに選択されているタスクリスト内の項目(タスクまたはモーション)とによって異なる。
ステップS22において仮想空間におけるロボットおよび部品の3次元モデルを動作させて表示するときには、教示用ウィンドウのタスクリストに表示されている複数のモーションのうち、動作中のモーションがオペレータに認識できるようにすることが好ましい。例えば、図10の教示用ウィンドウW6において、3次元モデルのロボットが実行中のモーションに対応するタスクリスト中のモーションが、実行中でないモーションと異なる態様(例えば、異なる色、輝度、あるいは異なる背景)で表示される。例えば、ロボットの3次元モデルが図10の教示用ウィンドウW6のタスクT2の動作を行うときには、当該動作中に行われる各モーションに同期して、タスクリスト中のモーション名称M21〜M25の各々が順に異なる色で表示される。
このような表示とすることで、3次元モデルによるシミュレーション中においてロボットが実行しているモーションをオペレータが認識することができるようになる。
このような表示とすることで、3次元モデルによるシミュレーション中においてロボットが実行しているモーションをオペレータが認識することができるようになる。
以上説明したように、本実施形態のロボットプログラム実行装置1は、ロボットが行う最小単位の作業に含まれるロボットの個々の動き(モーション)の単位でプログラムを実行することができる。そのため、オペレータがロボットのティーチングを行うときに、ロボットの具体的な動きに対する教示を容易にすることができる。
以上、本発明のロボットプログラム実行装置の複数の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
例えば、上述した実施形態では、オフラインティーチングを行う場合について説明したが、ロボット制御装置3をロボットの実機と接続することによってオンラインティーチングに適用することもできる。その場合、ロボット制御装置3は、ロボットプログラムを実行して得られたロボット状態データに基づいて、ロボットRのマニピュレータを動作させる各関節のモータに対する所定の基準時間(例えば1ms)ごとの制御パルスを生成して、ロボットRへ送信する。
例えば、上述した実施形態では、オフラインティーチングを行う場合について説明したが、ロボット制御装置3をロボットの実機と接続することによってオンラインティーチングに適用することもできる。その場合、ロボット制御装置3は、ロボットプログラムを実行して得られたロボット状態データに基づいて、ロボットRのマニピュレータを動作させる各関節のモータに対する所定の基準時間(例えば1ms)ごとの制御パルスを生成して、ロボットRへ送信する。
上述した説明により、図11の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。
1…ロボットプログラム実行装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1〜A12…製品、EC…イーサネットケーブル、WC…ケーブル、R…ロボット、51…アーム、52…ハンド、61〜68…ノード、101…表示制御部、102…プログラム作成部、103…プログラム実行部、104…状態情報算出部、105…シミュレーション実行部、106…インターロック設定部、221…ロボットプログラム、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…パーツ領域、W1〜W6…ウィンドウ、b1〜b8…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、TL…テーブル、T…タスク、M…モーション名称
Claims (7)
- ロボットの作業対象であるワークに対する前記ロボットの要素作業に関する情報と、前記要素作業に含まれる前記ロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数の識別情報と、を対応付けて表示装置に表示する表示制御部と、
前記複数のモーションの各々を前記ロボットに動作させる複数のロボットプログラムを記憶する記憶部と、
前記表示装置に表示される前記複数の識別情報のうちいずれかの識別情報を選択する前記オペレータの操作入力に応じて、前記選択された識別情報に対応するモーションのロボットプログラムを実行するプログラム実行部と、
を備えたロボットプログラム実行装置。 - 前記表示制御部は、前記複数の識別情報のうち前記選択された識別情報を、選択されていない識別情報と異なる態様で表示する、
請求項1に記載されたロボットプログラム実行装置。 - 前記表示制御部は、前記オペレータによる要素作業を選択する操作入力に基づいて、前記選択された要素作業に含まれる複数のモーションに対応する複数の識別情報を表示し、あるいは非表示とする、
請求項1または2に記載されたロボットプログラム実行装置。 - 前記プログラム実行部は、前記オペレータによる前記複数の識別情報のうちいずれかの識別情報
を選択する操作入力に基づいて、前記選択された識別情報に対応するモーションからの順方向の1若しくは複数のモーション、または、前記選択された識別情報に対応するモーションからの逆方向の1若しくは複数のモーションに対応するロボットプログラムを実行する、
請求項1から3のいずれか1項に記載されたロボットプログラム実行装置。 - 前記ロボットおよび前記ワークの3次元モデルを仮想空間内に配置して前記表示装置に表示する第2表示制御部と、
前記プログラム実行部による前記ロボットプログラムの実行結果に基づいて、前記ロボットおよび前記ワークの3次元モデルを前記仮想空間内で動作させるシミュレーション実行部と、
をさらに備えた、請求項1から4のいずれか1項に記載されたロボットプログラム実行装置。 - ロボットの作業対象であるワークに対する前記ロボットの要素作業に関する情報と、前記要素作業に含まれる前記ロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数の識別情報と、を対応付けて表示装置に表示し、
前記表示装置に表示される前記複数の識別情報のうちいずれかの識別情報を選択する前記オペレータの操作入力に応じて、前記複数のモーションの各々を前記ロボットに動作させる複数のロボットプログラムの中から、前記選択された識別情報に対応するモーションのロボットプログラムを実行する、
ロボットプログラム実行方法。 - コンピュータに、
ロボットの作業対象であるワークに対する前記ロボットの要素作業に関する情報と、前記要素作業に含まれる前記ロボットの順序付けられた複数のモーションの各々をオペレータに識別可能とする複数の識別情報と、を対応付けて表示装置に表示する手順、
前記表示装置に表示される前記複数の識別情報のうちいずれかの識別情報を選択する前記オペレータの操作入力に応じて、前記複数のモーションの各々を前記ロボットに動作させる複数のロボットプログラムの中から、前記選択された識別情報に対応するモーションのロボットプログラムを実行する手順、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060173A JP2019171498A (ja) | 2018-03-27 | 2018-03-27 | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018060173A JP2019171498A (ja) | 2018-03-27 | 2018-03-27 | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019171498A true JP2019171498A (ja) | 2019-10-10 |
Family
ID=68166194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018060173A Pending JP2019171498A (ja) | 2018-03-27 | 2018-03-27 | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019171498A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021106517A1 (ja) * | 2019-11-29 | 2021-06-03 | オムロン株式会社 | 情報提示装置、情報提示方法、及び情報提示プログラム |
CN114227716A (zh) * | 2021-12-30 | 2022-03-25 | 重庆特斯联智慧科技股份有限公司 | 支持控制逻辑云调用的机器人系统及其方法 |
JP2022063692A (ja) * | 2020-10-12 | 2022-04-22 | 伊東電機株式会社 | 搬送装置の製造方法 |
WO2022215253A1 (ja) * | 2021-04-09 | 2022-10-13 | ファナック株式会社 | ロボットプログラミング装置 |
JP2022179051A (ja) * | 2021-05-21 | 2022-12-02 | オムロン株式会社 | 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体 |
JPWO2023026490A1 (ja) * | 2021-08-27 | 2023-03-02 | ||
WO2023171722A1 (ja) * | 2022-03-08 | 2023-09-14 | 株式会社安川電機 | プログラム生成装置、及びプログラム生成方法 |
WO2025009384A1 (ja) * | 2023-07-05 | 2025-01-09 | パナソニックIpマネジメント株式会社 | ロボット制御プログラム作成方法およびロボット制御プログラム作成装置 |
-
2018
- 2018-03-27 JP JP2018060173A patent/JP2019171498A/ja active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021106517A1 (ja) * | 2019-11-29 | 2021-06-03 | オムロン株式会社 | 情報提示装置、情報提示方法、及び情報提示プログラム |
JP2021084218A (ja) * | 2019-11-29 | 2021-06-03 | オムロン株式会社 | 情報提示装置、情報提示方法、及び情報提示プログラム |
JP7347169B2 (ja) | 2019-11-29 | 2023-09-20 | オムロン株式会社 | 情報提示装置、情報提示方法、及び情報提示プログラム |
JP2022063692A (ja) * | 2020-10-12 | 2022-04-22 | 伊東電機株式会社 | 搬送装置の製造方法 |
US12304745B2 (en) | 2020-10-12 | 2025-05-20 | Itoh Denki Co., Ltd. | Method for manufacturing conveyance device |
WO2022215253A1 (ja) * | 2021-04-09 | 2022-10-13 | ファナック株式会社 | ロボットプログラミング装置 |
JPWO2022215253A1 (ja) * | 2021-04-09 | 2022-10-13 | ||
JP7583152B2 (ja) | 2021-04-09 | 2024-11-13 | ファナック株式会社 | ロボットプログラミング装置 |
JP2022179051A (ja) * | 2021-05-21 | 2022-12-02 | オムロン株式会社 | 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体 |
JP7673490B2 (ja) | 2021-05-21 | 2025-05-09 | オムロン株式会社 | 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体 |
JPWO2023026490A1 (ja) * | 2021-08-27 | 2023-03-02 | ||
CN114227716A (zh) * | 2021-12-30 | 2022-03-25 | 重庆特斯联智慧科技股份有限公司 | 支持控制逻辑云调用的机器人系统及其方法 |
CN114227716B (zh) * | 2021-12-30 | 2024-06-04 | 重庆特斯联智慧科技股份有限公司 | 支持控制逻辑云调用的机器人系统及其方法 |
WO2023171722A1 (ja) * | 2022-03-08 | 2023-09-14 | 株式会社安川電機 | プログラム生成装置、及びプログラム生成方法 |
WO2025009384A1 (ja) * | 2023-07-05 | 2025-01-09 | パナソニックIpマネジメント株式会社 | ロボット制御プログラム作成方法およびロボット制御プログラム作成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
EP1310844B1 (en) | Simulation device | |
JP6350037B2 (ja) | ロボットシミュレータおよびロボットシミュレータのファイル生成方法 | |
WO2019064916A1 (ja) | ロボットシミュレータ | |
JP2019171501A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
CN104002297B (zh) | 示教系统、示教方法及机器人系统 | |
CN109834698B (zh) | 对机器人进行示教操作的示教装置 | |
JP7151713B2 (ja) | ロボットシミュレータ | |
JP7259860B2 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
WO2021246416A1 (ja) | プログラミング装置 | |
JPWO2019064919A1 (ja) | ロボット教示装置 | |
WO2020059342A1 (ja) | ロボットシミュレータ | |
JP7167925B2 (ja) | ロボット教示装置 | |
US20220281103A1 (en) | Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium | |
JP2019171499A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
JP2019171500A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
WO2022269927A1 (ja) | プログラム作成装置 | |
JP7099470B2 (ja) | ロボット教示装置 | |
JP7024795B2 (ja) | ロボット教示装置 | |
CN118715492A (zh) | 示教辅助装置、作业系统、示教辅助方法及示教辅助程序 | |
WO2020066947A1 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
US20250214234A1 (en) | Information processing apparatus, system, information processing method, method of manufacturing products, and recording medium | |
CN114800482B (zh) | 创建机器人的控制程序的方法、及其系统、以及记录介质 | |
US20230286153A1 (en) | Path generation for manual robot teaching | |
JP2024011847A (ja) | 情報処理方法、情報処理装置、ロボットシステム、物品の製造方法、プログラム及び記録媒体。 |