JPWO2019064917A1 - ロボットシミュレータ - Google Patents

ロボットシミュレータ Download PDF

Info

Publication number
JPWO2019064917A1
JPWO2019064917A1 JP2019544369A JP2019544369A JPWO2019064917A1 JP WO2019064917 A1 JPWO2019064917 A1 JP WO2019064917A1 JP 2019544369 A JP2019544369 A JP 2019544369A JP 2019544369 A JP2019544369 A JP 2019544369A JP WO2019064917 A1 JPWO2019064917 A1 JP WO2019064917A1
Authority
JP
Japan
Prior art keywords
robot
timing chart
task
state information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019544369A
Other languages
English (en)
Other versions
JP7151713B2 (ja
Inventor
小菅 昌克
昌克 小菅
ナット タン ドアン
ナット タン ドアン
常田 晴弘
晴弘 常田
吉田 昌弘
昌弘 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nidec America Corp
Original Assignee
Nidec America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec America Corp filed Critical Nidec America Corp
Publication of JPWO2019064917A1 publication Critical patent/JPWO2019064917A1/ja
Application granted granted Critical
Publication of JP7151713B2 publication Critical patent/JP7151713B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援する。【解決手段】本発明の一実施形態は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、プログラム実行部による実行結果に基づいてロボットに対する制御信号を生成し、当該制御信号によって動作するロボットの時間の経過に応じた状態を示す情報である状態情報を、ロボットから取得する状態情報取得部と、状態情報取得部により得られた状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部とである。【選択図】図15

Description

本発明は、ロボットシミュレータに関する。
ロボットの動作をティーチング(教示)するとともに、ロボットの3次元モデルによりロボットにティーチングした動作をシミュレーションすることが知られている。例えば特許文献1には、アームに研削加工ツールを装着したロボットの動作のシミュレートすることが記載されている。
特許第4961447号公報
ところで、教示対象となるロボットが行う一連の作業に複数の作業要素が含まれる場合に、当該一連の作業のロボットの実行結果に対して、複数の作業要素の各々について確認したいという要請がある。ここで、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。作業要素ごとのロボットの状態に着目することで、ロボットによる一連の作業のティーチング、及び/又は、ロボットと作業の対象物の配置の改善を図ることができる。
そこで、本発明は、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することを目的とする。
本願の例示的な第1発明は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、を備えた、ロボットシミュレータである。
本発明によれば、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することができる。
図1は、第1の実施形態のロボットシミュレータの全体構成について示す図である。 図2は、第1の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。 図3は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。 図4は、第1の実施形態の一例に係る教示用ウィンドウを示す図である。 図5は、ジョブを概念的に説明するための図である。 図6は、タスクを概念的に説明するための図である。 図7は、第1の実施形態の一例に係る教示用ウィンドウの遷移を示す図である。 図8は、タスクリストの一例を示す図である。 図9は、第1の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。 図10は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。 図11は、第1の実施形態に係るロボットシミュレータの機能ブロック図である。 図12は、第1の実施形態に係るロボットシミュレータの処理を示すシーケンスチャートの例である。 図13は、第2の実施形態のロボットシミュレータの全体構成について示す図である。 図14は、第2の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。 図15は、第2の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。 図16は、第2の実施形態に係るロボットシミュレータの機能ブロック図である。 図17は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。 図18は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。
以下、本発明のロボットシミュレータの実施形態について説明する。
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
(1)第1の実施形態
第1の実施形態のロボットシミュレータは、ロボットの実機に接続することなく、ロボットの実機の動作をシミュレートし、ロボットの状態をタイミングチャートに表示する。
(1−1)本実施形態に係るロボットシミュレータの構成
以下、本実施形態のロボットシミュレータ1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボットシミュレータ1の全体構成について示す図である。図2は、本実施形態のロボットシミュレータ1に含まれる各装置のハードウェア構成を示す図である。
図1に示すように、ロボットシミュレータ1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えば通信ネットワークケーブルECにより通信可能に接続される。
情報処理装置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ソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。後述するように、ストレージ22には、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224が格納される。
ストレージ22には、CADソフトウェアを実行するときに参照される3次元モデルのデータが格納される。本実施形態の例では、ストレージ22には、ロボットおよび対象物(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが格納される。
ストレージ22には、ロボット制御装置3から取得した実行ログデータが格納される。実行ログデータには、ロボットプログラムの実行結果と、後述するロボット状態データとが含まれる。
ロボット状態データは、後述するタイミングチャートの作成に使用される。ロボット状態データはまた、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用されてもよい。
入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。
ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度、ハンド52の位置等)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットのマニピュレータのモデルのデータの他に、ロボットプログラムおよび実行ログデータが格納される。
通信インタフェース部33は、情報処理装置2との間でネットワーク通信を行うための通信回路を含む。
(1−2)オフラインティーチングにおけるユーザインタフェース
ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブルTの上に、ロボットRと、ペントレイ11と、キャップトレイ12と、治具13と、製品トレイ14とが、仮想空間に配置された状態の画像(以下、適宜「CAD画像」という。)が表示されている。
図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である対象物の例である。また、ペンにキャップが嵌められた製品も対象物の例である。
(1−2−1)階層型リスト
図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)…キャップが嵌められたペンを把持する作業に対応したハンド
ノード61〜63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。
ハンドシーケンスは、ロボットRのハンド52が把持する対象物に依存するため、ハンド52が把持する対象物ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具
・ノード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次元モデルに変更があった場合であっても、階層型リストに再度登録する必要はない。
(1−2−2)ジョブおよびタスクについて
次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
ジョブとは、ロボットRが行う一連の作業である。タスクとは、一連の作業の中でロボットRが行う最小単位の作業である作業要素に関する情報である。従って、図5に示すように、ジョブ(JOB)に相当する期間には、複数のタスクT,T,…,Tn−1,Tに対応する複数の作業要素の期間と、ロボットRの作業要素間の移動(つまり、「タスク間移動」)とが含まれる。図5に示すように、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。
各タスクには、複数のモーション(「ロボットRの動き」を意味する。)M〜Mが含まれる。タスクには、モーションの他、ハンドシーケンス(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つの作業要素および1つのタスクに対応し、当該作業要素内において隣接する点間のロボットRの動きが1つのモーションに相当する。
すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。
図6では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、所定の信号が入力されるまで、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
(1−2−3)タスクの作成
次に、階層型リストを用いたタスクの作成方法について、図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)が自動的に決定されて表示される。
例えば、ロボットRのハンドが何も把持していない状態において、「ペントレイからペンPen1を取る」という作業要素に対応するタスクを作成するには、ロボット領域RA内のノード61を、オペレータはポインティングデバイスで右クリックしてから「タスク作成」を選択する。次いで、階層型リストの対象物領域PAの中からペントレイ(PenTray)に対応するノード67を対象としてポインティングデバイスで左クリック操作を行うことで教示用ウィンドウW3の目標物(Target)の項目に、ペントレイ(PenTray)が入力される。作業要素の種別(Function)の欄では、複数の種類の作業要素の候補の中から「取る(Pick up)」を選択する。そして、階層型リストの対象物領域PAの中から作業対象となるペンPen1に対応するノード68を対象としてポインティングデバイスで左クリック操作を行うことで、図7に示す教示用ウィンドウW3が表示される。
以上の操作の結果、「ペントレイからペンPen1を取る」という作業要素に関する情報として、“Pickup_Pen1_From_PenTray”という名称のタスクが作成される。
本実施形態では、作業要素の対象物(ここでは「ペン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の姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
図7の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
(1−2−4)タスクに基づくプログラムの作成
例えば、図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)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。
(1−2−5)タスクリスト
タスクリストとは、ロボット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)
オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。
図8に示すように、タスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。
図8において、教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行い、「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。
(1−2−6)ジョブのシミュレーション
図8の教示用ウィンドウW4においてボタンb3が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。
ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。
本実施形態では、情報処理装置2においてロボットプログラムが作成され、ロボット制御装置3において当該ロボットプログラムが実行される。本実施形態では、上記シミュレーション用プログラムが実行される。
本実施形態では、ロボット制御装置3にロボットの実機が接続されていないため、ロボット制御装置3の制御部31は、ストレージ32に記録されているロボットRのマニピュレータのモデルのデータに基づいて、マニピュレータを構成する各部の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度等)を、ロボット状態データとして演算する。
ジョブの実行結果とロボット状態データを含む実行ログデータは、ロボット制御装置3から情報処理装置2へ送信される。情報処理装置2は、ロボット状態データに基づいて、タイミングチャートを作成して表示する。本実施形態では、実機のロボットRがロボット制御装置3に接続されていない状態でジョブのシミュレーションが行われるため、情報処理装置2によって作成されるタイミングチャートを適宜、「オフラインタイミングチャート」ともいう。オフラインタイミングチャートは、第2タイミングチャートの一例である。
図9に、情報処理装置2の表示装置24において表示されるタイミングチャートの一例を示す。
図9に例示するタイミングチャートは、図8の教示用ウィンドウW4において例示したジョブ(「Pen Assembly」)の中の「ペントレイからペンを取る (Pickup_Pen1_From_PenTray)」という名称のタスクに対応するタイミングチャートを示している。
図9のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部と、を含み、最上部には、ジョブの開始時刻からの時間が表示されている。図9に示す例では、カーソルCU1〜CU3が設けられている。ポインティングデバイスによって各カーソルを左右に移動させることができる。カーソルCU1は、ジョブの開始時刻からの時間を示しており、カーソルCU2,CU3はそれぞれ、カーソルCU1が示す時刻を0としたときの時間を示している。
図9のA部には、ロボットRの以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。なお、ロボットRの位置とは、例えば、マニピュレータの先端フランジの位置である。
・ロボットRのX座標(ワールド座標系)の位置の指令値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の指令値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の指令値(“posZ”)
・アーム51の関節角の角速度の指令値(“Angular Velocity”)
なお、図9のA部に表示されているグラフは、複数の種別のロボット状態データの一部の種別のデータに過ぎない。オペレータは、複数の種別のロボット状態データの中から、表示させるロボット状態データの種別を選択できる。
図9のB部では、タスク名称(“Task Function”)とモーション状態(“Motion status”)が表示される。タスク名称(“Task Function”)は、上述したように“Pickup_Pen1_From_PenTray”であり、図9からジョブに含まれる当該タスクの期間(開始時刻および終了時刻)がわかる。
モーション状態(“Motion status”)はタスクに含まれるモーションに対応している。すなわち、モーション状態(“Motion status”)では、以下の3種類のモーション(ここでは、ハンドシーケンスも含む。)の期間(開始時刻および終了時刻)がわかる。各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。
・Move(PTP)…円弧移動。主に、アプローチ点AP間の移動、および、デパーチャ点DP間の移動のうちのいずれかの移動に用いられる。
・Move(Line)…直線移動。主に、アプローチ点APから目標点TPまでの移動、および、目標点TPからデパーチャ点DPまでの移動のうちのいずれかの移動に用いられる。
・HandSequence()…ハンドシーケンス処理
ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図8の教示用ウィンドウW4のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
好ましくは、本実施形態では、情報処理装置2は、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。それによって、オペレータは、ジョブのシミュレーションの結果をCAD用ウィンドウで確認することができる。
図10は、ジョブのシミュレーションの結果を動画再生するためのCAD用ウィンドウW5の一例を示している。CAD用ウィンドウW5に示す例では、オペレータによる操作対象として、ボタンb4〜b8が提供される。
ボタンb4は、図9に示すタイミングチャートと同じロボット状態データの変化となるように(つまり、通常速度により)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb5は、通常速度の倍の速度でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb6は、通常速度より低速でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb7は、仮想空間において動作中のロボットRおよび対象物を一時的に停止させるための操作ボタンである。ボタンb8は、時間の進行が逆方向となるようにしてロボット状態データを変化させて(つまり、逆再生して)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。
(1−3)ロボットシミュレータ1の機能
次に、本実施形態のロボットシミュレータ1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットシミュレータ1の機能ブロック図である。
図11に示すように、ロボットシミュレータ1は、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報算出部105、シミュレーション部107、および、インターロック設定部108を備える。
ロボットシミュレータ1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。
表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。
タスク作成部102は、オペレータの操作入力に基づいて、対象物に対するロボットの作業要素に関する情報であるタスクを作成する機能を備える。
タスク作成部102の機能を実現するために、情報処理装置2の制御部21は、入力装置23からオペレータの操作入力を受け付けると、当該操作入力に基づき、図7の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。
表示制御部101は、ロボットの構成要素と、対象物の構成要素とが階層的に記述された階層型データを表示装置24に表示する。
情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。
好ましくは、タスク作成部102は、階層型データのロボットの構成要素および対象物の構成要素を指定するオペレータの操作入力に基づいて、タスクを作成する機能を備える。当該機能を実現するために、情報処理装置2の制御部21は、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを階層型リストから選択するオペレータの操作入力に基づいて、タスクを作成する。階層型リストを使用することで、オペレータが作業要素の内容に応じて直感的にタスクを作成することができる。
プログラム作成部103は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
プログラム作成部103の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部103は、タスクに含まれる情報を参照し、ストレージ22に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。
プログラム実行部104は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行する機能を備える。
プログラム実行部104の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラム(シミュレーション用プログラム)を、ロボット制御装置3へ送信する。
前述したように、1つのジョブには、タスクによって記述される複数の作業要素と作業要素間の移動とが含まれる。1つのタスクには、複数のモーションと必要に応じてハンドシーケンスとが含まれ、タスクに対応する作業要素を実行するためのプログラムは、複数の関数によって定義される。ロボットの作業要素間の移動は、予め決められたデフォルトのモーションパラメータを含むプログラムによって記述された関数で定義される。
ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、各モーションおよびハンドシーケンスに対応する複数の関数を順に実行することで、1つのジョブに対するロボットプログラムを実行する。
状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。そして、表示制御部101は、状態情報算出部105により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オフラインタイミングチャート)を表示装置24に表示する。
状態情報算出部105の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを演算して順次、ストレージ32に記録する。
ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、ハンドの位置等)のデータである。
ジョブ全体のロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
情報処理装置2の制御部21は、ロボット制御装置3からロボット状態データを含む実行ログデータを取得すると、実行ログデータを実行ログデータベース224に記録する。
制御部21は、取得した参照時間ごとのロボット状態データに基づいて、所定の形式のオフラインタイミングチャートを含む画像を生成して表示装置24に表示する。当該タイミングチャートは、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能となるように構成される。
ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オフラインタイミングチャートを表示装置24に表示してもよい。それによって、オペレータは、自身が確認したい種別のロボット状態データをオフラインタイミングチャートに表示させることができる。ロボット状態データの種別の選択方法は問わないが、例えば、オペレータによる操作によってロボット状態データの種別を選択可能とするメニューを含めるようにしてタイミングチャートの表示画面が構成されていることが好ましい。
ストレージ22(記憶部の例)は、仮想空間におけるロボットの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
シミュレーション部107は、状態情報算出部105によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
シミュレーション部107の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出し、当該実行ログデータに含まれるロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
シミュレーション部107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。それによって、オペレータは、シミュレーションの結果を、オペレータの所望の速度で、あるいは逆再生により再現することができる。
この場合、情報処理装置2の制御部21は、図10に例示したように、CAD用ウィンドウのボタンに対するオペレータによる操作に応じて、通常速度よりも高速あるいは低速にしてロボットおよび対象物の3次元モデルを動画再生し、又は、当該3次元モデルを逆再生して表示装置24に表示する。実行ログデータベース224には、例えば1msの参照時間ごとのロボット状態データが記録されているため、制御部21は、オペレータの操作に応じた再生用のフレームを作成する。
インターロック設定部108は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
インターロック設定部108の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図7の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部108により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。
なお、シミュレーション部107は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。
(1−4)ジョブのシミュレーションの実行処理
次に、図12を参照して、ロボットシミュレータ1によるジョブのシミュレーションの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットシミュレータのジョブの実行処理を示すシーケンスチャートの例である。
図8の教示用ウィンドウW4においてオペレータによるボタンb3に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS10:YES)、プログラム作成部103は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS12)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。
作成されたロボットプログラムは、情報処理装置2からロボット制御装置3へ送信されて(ステップS14)、ロボット制御装置3において実行される。すなわち、プログラム実行部104は、タスク単位でロボットプログラムを実行する(ステップS16)。状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS18)。ステップS16,S18の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
すべてのタスクについての処理が終了すると(ステップS20:YES)、ロボット制御装置3は、実行ログデータを情報処理装置2に送信する(ステップS22)。実行ログデータには、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データと、ロボットプログラムの実行結果とが含まれる。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
次いで、表示制御部101は、ステップS22で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部105によって得られたロボット状態データ)に基づいて所定のフォーマットとしたタイミングチャート(オフラインタイミングチャート)を表示装置24に表示する(ステップS24)。シミュレーション部107は、ロボット状態データに基づいて3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS26)。
以上説明したように、本実施形態のロボットシミュレータ1は、ジョブに対応するロボットプログラムの実行結果に基づいてロボット状態データを演算し、当該ロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオフラインタイミングチャートを表示する。そのため、ロボットの一連の作業についてのシミュレーションの結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。
(2)第2の実施形態
次に、本発明の第2の実施形態について説明する。
(2−1)本実施形態に係るロボットシミュレータの構成
以下、本実施形態のロボットシミュレータ1Aの構成について、図13および図14を参照して説明する。図13は、本実施形態のロボットシミュレータ1Aの全体構成について示す図である。図14は、本実施形態のロボットシミュレータ1Aに含まれる各装置のハードウェア構成を示す図である。
なお、第1の実施形態のロボットシミュレータ1と同様の構成要素については、同一の符号を付して重複説明を省略する。
図13に示すように、ロボットシミュレータ1Aは、情報処理装置2およびロボット制御装置3Aを備える。情報処理装置2とロボット制御装置3Aとは、例えば通信ネットワークケーブルECにより通信可能に接続される。
ロボット制御装置3Aは、情報処理装置2から送信されるロボットプログラムを実行する点では第1の実施形態のロボット制御装置3と共通するが、ロボットRとケーブルWCにより接続されている点でロボット制御装置3と異なる。好ましくは、ロボット制御装置3Aは、ロボットの実機の近傍に配置される。
図14に示すように、ロボット制御装置3Aは、制御部31Aと、ストレージ32と、通信インタフェース部33とを含む。
ロボット制御装置3Aの制御部31Aは、ロボットプログラムを実行してロボットRに対する制御信号を生成する。ロボットRに対する制御信号は、ロボットRに対する指令値を示す信号(例えば、パルス信号)である。ロボットRに対する指令値は、例えばロボットRの位置、速度、加速度等の目標値である。
制御部31Aは、ロボットRから、ロボットRの状態を示すデータであるロボット状態データを取得する。本実施形態において、制御部31Aが取得するロボット状態データは、演算値ではなくロボットRから取得する点で、第1の実施形態とは異なる。また、本実施形態のロボット状態データには、ロボットRに対する入出力信号が含まれる。制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出し、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを情報処理装置2へ送信する。
図14に示すように、ロボットRは、ロボット本体となるマニピュレータ50と、制御装置55と、センサ群56と、入出力部57とを備える。
マニピュレータ50は、ロボットRの本体部であり、アーム51およびハンド52と、アーム51およびハンド52の位置、角度を制御する複数のモータと、を含む。
制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するサーボ機構を備える。
センサ群56は、マニピュレータ50の位置、速度、加速度、および、各関節の角度,角速度等を検出する複数のセンサを含んでもよい。
制御装置55がロボット制御装置3Aへ送信するロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量であってもよいし、モータに対する制御電流値等から推定可能な物理量であってもよい。例えば、アーム51の関節角の角速度のデータは、アーム51の関節角の角速度センサが設けられている場合には当該角速度センサの検出値であってもよいし、マニピュレータ50のモータを制御するサーボ機構における制御電流値であってもよい。
入出力部57は、ロボットRの外部のシステムとの入出力インタフェースである。例えば、入力信号の例としては、外部のシステムからのインターロック信号や、後述するようにロボットRがラインに配置されている場合には、対象物の位置についての補正のための信号が挙げられる。
(2−2)本実施形態のタイミングチャート
本実施形態では、実機のロボットRがロボット制御装置3Aに接続され、ロボットRから取得したロボット状態データに基づいて、情報処理装置2においてタイミングチャートが作成される。以下の説明では、本実施形態において作成されるタイミングチャートを適宜、「オンラインタイミングチャート」ともいう。オンラインタイミングチャートは、第1タイミングチャートの一例である。
図15に、本実施形態のタイミングチャートの一例を示す。図15のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部とに加えて、入出力信号を表示する部分であるC部を含む。すなわち、オンラインタイミングチャートに含まれるロボット状態データには、ロボットにおける入出力信号の状態が含まれてもよい。オンラインタイミングチャートに表示される入出力信号は、ロボットRに対して設けられた入出力信号の中からオペレータの操作入力により選択可能であることが好ましい。
A部には、ロボットRから取得した以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。
・ロボットRのX座標(ワールド座標系)の位置の取得値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の取得値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の取得値(“posZ”)
・アーム51の関節角の角速度の取得値(“Angular Velocity”)
B部において、第1の実施形態のオフラインタイミングチャートと同様に、各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。
図15のC部では、I/O(入出力信号)の状態(ON(Hレベル)又はOFF(Lレベル))が表示される。[]の中の数字は、予め定められたI/O番号であり、[]に続く文字は、I/Oの内容を示している。なお、C部に含まれる入出力信号が不定を示す場合がある。
図15に示す例では、以下の内容のI/Oを示している。
・[09] Pen Set … 実機のロボットRの作業環境にカメラが設けられており、当該カメラがペントレイを認識したときにONとなる。ペントレイが固定して配置されている場合には常にONであるが、ペントレイがラインで運ばれてくる場合には、カメラがペントレイのペンを認識したときにOFFからONに切り替わる。
・[10] Vision lockon … 実機のロボットRの作業環境に設置されているカメラによって認識されたペントレイの位置に基づいて、ロボットRに対する指令値に対する補正を行う補正タイミングを示している。補正タイミングに達したときにONとなる。補正タイミングは、タスクに対して予め設定されている。
・[16] Hand1 grasp … ハンドがペンを把持したときにONとなる。ONのタイミングはハンドシーケンスによって異なる。
・[17] Hand1 release … ハンドがペンを離したときにONとなる。実機のロボットRでは、対象物を取る(pick up)作業中にONとなった場合、対象物を掴み損ねて落下させたことがわかる。
図15に示すように、オンラインタイミングチャートにおいても、第1の実施形態のオフラインタイミングチャートと同様に、ロボットRのジョブに含まれる各タスクの期間(開始時刻および終了時刻)と、各タスクに含まれるモーションの期間(開始時刻および終了時刻)とがわかる。
図15のオンラインタイミングチャートの例では、ロボットRに対する指令値の補正タイミングである時刻t3が、当該指令値に対応するモーションの開始時刻である時刻t2よりも後になっており、問題が発生していることがわかる。
(2−3)ロボットシミュレータ1Aの機能
次に、本実施形態のロボットシミュレータ1Aの機能について、図16を参照して説明する。図16は、実施形態に係るロボットシミュレータ1Aの機能ブロック図である。
図16に示すように、ロボットシミュレータ1Aは、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報取得部106、シミュレーション部107、および、インターロック設定部108を備える。すなわち、本実施形態のロボットシミュレータ1Aは、状態情報算出部105ではなく状態情報取得部106を備えている点で、第1の実施形態のロボットシミュレータ1とは異なる。
本実施形態のプログラム実行部104を実現するために、情報処理装置2の制御部21は、例えば教示用ウィンドウW3(図8)のボタンb3に対する操作入力を認識すると、ロボットプログラム(実機用プログラム)を作成し、当該ロボットプログラムをロボット制御装置3Aへ送信する。ロボット制御装置3Aの制御部31Aは、受信した実機用プログラムを実行する。
状態情報取得部106は、プログラム実行部104による実行結果に基づいてロボットに対する制御信号を生成し、当該制御信号によって動作するロボットの時間の経過に応じた状態を示す情報であるロボット状態データを、ロボットから取得する機能を備える。
本実施形態では、表示制御部101は、状態情報取得部106により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オンラインタイミングチャート)を表示装置24に表示する。
状態情報取得部106の機能を実現するために、ロボット制御装置3Aの制御部31Aは、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31Aは、ロボットプログラムに含まれる関数を実行する度に、ロボットRに対する指令値を含む制御信号を生成し、ロボットRへ送信する。
ロボットRの制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するとともに、ロボット状態データをロボット制御装置3Aに送信する。ロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量、あるいはマニピュレータ50の物理量の推定値(例えば制御電流値等)である。ロボット制御装置3Aの制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32に累積されるロボット状態データを所定の参照時間(例えば1ms)ごとに読み出し、読み出した所定の参照時間ごとのロボット状態データを含む実行ログデータを情報処理装置2へ送信する。
情報処理装置2の制御部21は、受信した実行ログデータを実行ログデータベース224に記録する。さらに、制御部21は、第1の実施形態と同様に、実行ログデータに含まれるロボット状態データに基づいて、所定の形式のタイミングチャート(オンラインタイミングチャート)を含む画像を生成して表示装置24に表示する。当該タイミングチャートにより、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能とすることができる。
第1の実施形態と同様に、ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オンラインタイミングチャートを表示装置24に表示してもよい。
本実施形態では、シミュレーション部107は、状態情報取得部106によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備えてもよい。その際、シミュレーション部 107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。
本実施形態では、情報処理装置2の制御部21は、ロボットRから取得した参照時間ごとのロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
本実施形態において、オンラインタイミングチャートを表示し、3次元モデルの動画を再生する処理は、図12に示したフローチャートの処理と概ね共通するが、ステップS18において、ロボットRからロボット状態データを取得して記録する点が異なる。
以上説明したように、本実施形態のロボットシミュレータ1Aは、ジョブに対応するロボットプログラムの実行結果に基づいてロボットに対して指令値を送信し、ロボットからロボット状態データを取得する。そして、ロボットシミュレータ1Aは、取得したロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオンラインタイミングチャートを表示する。そのため、実機のロボットの一連の作業についての結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。
(3)第3の実施形態
次に、第3の実施形態について説明する。
本実施形態のロボットシミュレータは、第1の実施形態のロボットシミュレータ1の機能と、第2の実施形態のロボットシミュレータ1Aの機能とを備え、オフラインタイミングチャートとオンラインタイミングチャートの両方を表示装置24に表示する。すなわち、本実施形態では、表示制御部101は、オフラインタイミングチャート(第2タイミングチャートの例)とオンラインタイミングチャート(第1タイミングチャートの例)を、タスクの作業要素に相当する期間のロボットの状態が比較可能となるように、表示装置24に表示する。かかる表示によって、同一のジョブに対してロボットに接続した場合と接続しない場合とでのロボット状態データを、ジョブに含まれる作業要素ごとに比較し、検討することができる。
本実施形態の情報処理装置2の実行ログデータベース224には、同一のジョブに対して作成されたロボットプログラムを実行することで得られたロボット状態データ(演算されたロボット状態データ、および、ロボットから取得したロボット状態データ)が記録される。そして、情報処理装置2の制御部21は、演算されたロボット状態データに基づくオフラインタイミングチャートと、ロボットから取得したロボット状態データに基づくオンラインタイミングチャートとを、比較可能となる表示装置24に表示する。
オフラインタイミングチャートとオンラインタイミングチャートとを比較可能となるような表示態様は限定するものではなく、例えば、表示画面の上側にオフラインタイミングチャートを表示し、表示画面の下側にオンラインタイミングチャートを表示してもよい。
好ましくは、表示制御部101は、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示するか、又は、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示装置24に表示する。かかる表示態様とすることで、オフラインタイミングチャートとオンラインタイミングチャートを比較することが容易となる。
図17に、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示した例を示す。図17に示す例では、図15に示したオンラインタイミングチャートに、図9に示したオフラインタイミングチャートが共通の時間軸において重ね合わせて表示されている。
図18に、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示した例を示す。図18に示す例では、最上部に、オフラインタイミングチャートに対応する「結果#1(ロボット非接続)」という名称のタブと、オンラインタイミングチャートに対応する「結果#2(ロボット接続)」という名称のタブとが切り替え可能に設けられる。図18は、「結果#1(ロボット非接続)」という名称のタブが選択された場合を示しており、図9のオフラインタイミングチャートと同一の表示内容となっている。
(4)変形例
以下、上述した各実施形態の変形例について述べる。
(4−1)変形例1
表示制御部101は、異なる作業要素同士におけるロボットの状態が比較可能となるように、オフラインタイミングチャート又はオンラインタイミングチャートを表示装置24に表示してもよい。それによって、ロボットのジョブに含まれる複数の作業要素のうち異なる作業要素間においてロボットの状態を比較することができる。
本変形例を実現するために、例えば、情報処理装置2の制御部21は、ジョブに含まれる複数のタスクのうち2つのタスクを選択するオペレータの操作入力に基づいて、情報処理装置2の制御部21は、選択された2つのタスクの期間が並列に構成されたタイミングチャートを作成する。好ましくは、選択された2つのタスクの期間の開始時刻が一致するようにしてタイミングチャートが作成される。
(4−2)変形例2
シミュレーション部107は、オフラインタイミングチャート又はオンラインタイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間におけるロボット状態データに基づいて、3次元モデルを動作させて表示装置24に表示してもよい。それによって、ジョブの全期間のうちオペレータが注目したい期間のロボットの動作を確認することができる。
本変形例を実現するために、オフラインタイミングチャート又はオンラインタイミングチャートに、図10に例示したようなボタンb4(通常速度によりロボットおよび対象物の動作させるための操作ボタン)が設けられる。情報処理装置2の制御部21は、当該ボタンb4の操作入力に基づいて、オフラインタイミングチャート又はオンラインタイミングチャートに対応する動画を再生する。このとき、タイミングチャートに設けられたカーソルCU1〜CU3を操作することで、動画の再生対象とする期間を、タイミングチャートに表示されている期間のうち一部の期間に指定できるようにする。
(4−3)変形例3
第2の実施形態において、表示制御部101は、同一の作業要素であっても異なる実行結果におけるロボットの状態が比較可能となるように、オンラインタイミングチャートを表示装置24に表示してもよい。それによって、同一のタスクを複数回試行したときのロボットの状態のばらつきを把握することができる。 本変形例を実現するために、情報処理装置2の制御部21は、ロボットプログラムを複数回実行することで取得した複数のロボット状態データをジョブの開始時刻が一致するようにして重ねてプロットしたタイミングチャートを作成する。
以上、本発明のロボットシミュレータの複数の実施形態について詳述したが、本発明は上記の各実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。例えば、各実施形態について言及した技術的事項は、技術的矛盾が生じない限り、異なる実施形態の間で適宜組み合わせてもよい。
上述した第1および第2の実施形態において、情報処理装置2は、ロボット制御装置3から取得したロボット状態データに基づいて有用な情報を提供するようにしてもよい。
例えば、ジョブ内の作業要素間の移動距離および移動回数を統計処理した情報を提供することで、ラインにおける対象物の供給及び/又は排出の場所、向き等の検討を支援することができる。
また、ジョブ内のロボットの動作時間と待機時間の時間比率を算出して提示してもよい。それによって、ジョブ内の作業順序の改善、あるいは不要な高速動作を低速化する等の検討を支援することができる。
上述した実施形態に係るロボットシミュレータは、図11又は図16の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
上述した実施形態では、ロボットシミュレータは、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
上述した実施形態では、ジョブに含まれるタスクリストを、階層型リストを基に作成する例を説明したが、その限りではない。ジョブに含まれる複数の作業要素が特定される限り、階層型リストを基にジョブに含まれるタスクを定義する必要はない。
上述した説明により、図11および図16の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。
1,1A…ロボットシミュレータ、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3,3A…ロボット制御装置、31,31A…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1〜A12…製品、EC…通信ネットワークケーブル、WC…ケーブル、R…ロボット、50…マニピュレータ、51…アーム、52…ハンド、55…制御装置、56…センサ群、57…入出力部、61〜68…ノード、101…表示制御部、102…タスク作成部、103…プログラム作成部、104…プログラム実行部、105…状態情報算出部、106…状態情報取得部、107…シミュレーション部、108…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1〜W6…ウィンドウ、b1〜b8…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル

Claims (10)

  1. ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、
    前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、
    前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、
    を備えた、ロボットシミュレータ。
  2. 仮想空間における前記ロボットの3次元モデルの情報を記憶する記憶部と、
    前記状態情報取得部によって得られた状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示するシミュレーション部と、
    をさらに備えた、請求項1に記載されたロボットシミュレータ。
  3. 前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部、をさらに備え、
    前記表示制御部は、前記状態情報算出部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第2タイミングチャートを前記表示装置に表示する、
    請求項1又は2に記載されたロボットシミュレータ。
  4. 前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートを、前記タスクの作業要素に相当する期間の前記ロボットの状態が比較可能となるように、前記表示装置に表示する、
    請求項3に記載されたロボットシミュレータ。
  5. 前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートとを切り替え可能に表示するか、又は、前記第1タイミングチャートと前記第2タイミングチャートとを共通の時間軸において重ね合わせて表示する、
    請求項4に記載されたロボットシミュレータ。
  6. 前記表示制御部は、異なる作業要素同士における前記ロボットの状態が比較可能となるように、または、同一の作業要素であっても異なる前記実行結果における前記ロボットの状態が比較可能となるように、前記第1タイミングチャートを前記表示装置に表示する、
    請求項1に記載されたロボットシミュレータ。
  7. 前記状態情報は、前記ロボットは複数の種別の情報を含み、
    前記表示制御部は、前記状態情報のうち、オペレータの操作入力によって前記複数の種別の中から選択された一部の種別の情報に基づいて、前記第1タイミングチャートを前記表示装置に表示する、請求項1又は6に記載されたロボットシミュレータ。
  8. 前記状態情報には、前記ロボットにおける入出力信号の状態が含まれる、請求項1から6のいずれか1項に記載されたロボットシミュレータ。
  9. 前記シミュレーション部は、前記第1タイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間における前記状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。
  10. 前記シミュレーション部は、前記3次元モデルの動作を、前記状態情報に基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。
JP2019544369A 2017-09-26 2018-08-02 ロボットシミュレータ Active JP7151713B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017184664 2017-09-26
JP2017184664 2017-09-26
PCT/JP2018/028994 WO2019064917A1 (ja) 2017-09-26 2018-08-02 ロボットシミュレータ

Publications (2)

Publication Number Publication Date
JPWO2019064917A1 true JPWO2019064917A1 (ja) 2020-10-15
JP7151713B2 JP7151713B2 (ja) 2022-10-12

Family

ID=65902389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544369A Active JP7151713B2 (ja) 2017-09-26 2018-08-02 ロボットシミュレータ

Country Status (2)

Country Link
JP (1) JP7151713B2 (ja)
WO (1) WO2019064917A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021122898A (ja) * 2020-02-05 2021-08-30 芝浦機械株式会社 ロボットシステムおよび操作装置
WO2021220446A1 (ja) * 2020-04-29 2021-11-04 株式会社Fuji ワーク加工装置
CN113232018B (zh) * 2021-04-27 2022-05-10 成都飞机工业(集团)有限责任公司 一种机器人姿态快速复位的方法
WO2024019107A1 (ja) * 2022-07-22 2024-01-25 ソニーグループ株式会社 複数のロボットの制御方法、複数のロボットの制御装置および複数のロボットの制御システム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188507A (ja) * 1989-12-18 1991-08-16 Fanuc Ltd 加工表示方式
JP2002132311A (ja) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd 加工プログラムのグラフ表示方法及びそのための装置
JP2004148428A (ja) * 2002-10-30 2004-05-27 Honda Motor Co Ltd シミュレーション装置
JP2004174662A (ja) * 2002-11-27 2004-06-24 Fanuc Ltd ロボットの動作状態解析装置
JP2004209641A (ja) * 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2009297877A (ja) * 2008-06-17 2009-12-24 Yamatake Corp ロボット教示プログラム作成装置及び作成方法
JP2011022688A (ja) * 2009-07-14 2011-02-03 Fanuc Ltd 工作機械の工具軌跡表示装置
JP2016018539A (ja) * 2014-07-11 2016-02-01 三菱電機株式会社 シミュレーション画像表示装置
JP2017126199A (ja) * 2016-01-14 2017-07-20 ファナック株式会社 ブロック時間表示手段を有する数値制御装置
JP2017138827A (ja) * 2016-02-04 2017-08-10 ファナック株式会社 加工時間予測装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188507A (ja) * 1989-12-18 1991-08-16 Fanuc Ltd 加工表示方式
JP2002132311A (ja) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd 加工プログラムのグラフ表示方法及びそのための装置
JP2004148428A (ja) * 2002-10-30 2004-05-27 Honda Motor Co Ltd シミュレーション装置
JP2004174662A (ja) * 2002-11-27 2004-06-24 Fanuc Ltd ロボットの動作状態解析装置
JP2004209641A (ja) * 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2009297877A (ja) * 2008-06-17 2009-12-24 Yamatake Corp ロボット教示プログラム作成装置及び作成方法
JP2011022688A (ja) * 2009-07-14 2011-02-03 Fanuc Ltd 工作機械の工具軌跡表示装置
JP2016018539A (ja) * 2014-07-11 2016-02-01 三菱電機株式会社 シミュレーション画像表示装置
JP2017126199A (ja) * 2016-01-14 2017-07-20 ファナック株式会社 ブロック時間表示手段を有する数値制御装置
JP2017138827A (ja) * 2016-02-04 2017-08-10 ファナック株式会社 加工時間予測装置

Also Published As

Publication number Publication date
JP7151713B2 (ja) 2022-10-12
WO2019064917A1 (ja) 2019-04-04

Similar Documents

Publication Publication Date Title
JPWO2019064916A1 (ja) ロボットシミュレータ
JP7151713B2 (ja) ロボットシミュレータ
JP6810093B2 (ja) ロボットのシミュレーション装置
US20200117168A1 (en) Runtime Controller for Robotic Manufacturing System
US5511147A (en) Graphical interface for robot
US9984178B2 (en) Robot simulator, robot teaching apparatus and robot teaching method
EP1310844B1 (en) Simulation device
CN104002297B (zh) 示教系统、示教方法及机器人系统
JP2019171501A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
KR20160002329A (ko) 로봇 시뮬레이터 및 로봇 시뮬레이터의 파일 생성 방법
JP2019171498A (ja) ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム
JP2019018272A (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
JPWO2020066949A1 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
WO2021246416A1 (ja) プログラミング装置
CN110000753B (zh) 用户交互方法、控制设备及存储介质
CN109807898B (zh) 运动控制方法、控制设备及存储介质
JP7167925B2 (ja) ロボット教示装置
US6798416B2 (en) Generating animation data using multiple interpolation procedures
JP7370755B2 (ja) 情報処理装置、情報処理方法、プログラム、記録媒体、および物品の製造方法
CN113021329B (zh) 一种机器人运动控制方法、装置、可读存储介质及机器人
WO2020059342A1 (ja) ロボットシミュレータ
US20220281103A1 (en) Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium
JP2019171499A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
JP7099470B2 (ja) ロボット教示装置
JPWO2019064914A1 (ja) ロボット教示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R151 Written notification of patent or utility model registration

Ref document number: 7151713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151