JPWO2019064917A1 - ロボットシミュレータ - Google Patents
ロボットシミュレータ Download PDFInfo
- 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
Links
- 238000004088 simulation Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 abstract description 29
- 230000033001 locomotion Effects 0.000 description 66
- 230000010365 information processing Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 47
- 238000013459 approach Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 11
- 101000579646 Penaeus vannamei Penaeidin-1 Proteins 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- -1 ... Proteins 0.000 description 3
- 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
- 238000000547 structure data Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 108700037326 eHAND helix-loop-helix Proteins 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 101150000808 hand1 gene Proteins 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/406—Numerical 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/4069—Simulating 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
Description
以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
第1の実施形態のロボットシミュレータは、ロボットの実機に接続することなく、ロボットの実機の動作をシミュレートし、ロボットの状態をタイミングチャートに表示する。
以下、本実施形態のロボットシミュレータ1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボットシミュレータ1の全体構成について示す図である。図2は、本実施形態のロボットシミュレータ1に含まれる各装置のハードウェア構成を示す図である。
情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
制御部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には、CADソフトウェアを実行するときに参照される3次元モデルのデータが格納される。本実施形態の例では、ストレージ22には、ロボットおよび対象物(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが格納される。
ストレージ22には、ロボット制御装置3から取得した実行ログデータが格納される。実行ログデータには、ロボットプログラムの実行結果と、後述するロボット状態データとが含まれる。
ロボット状態データは、後述するタイミングチャートの作成に使用される。ロボット状態データはまた、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用されてもよい。
表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。
制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度、ハンド52の位置等)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
通信インタフェース部33は、情報処理装置2との間でネットワーク通信を行うための通信回路を含む。
ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、対象物の階層関係を示す階層型リストである。
・ノード62(Cap)…キャップを把持する作業に対応したハンド
・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
ハンドシーケンスは、ロボットRのハンド52が把持する対象物に依存するため、ハンド52が把持する対象物ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具
次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。
タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
次に、階層型リストを用いたタスクの作成方法について、図4および図7を参照して説明する。図7は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61〜63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。
作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
本実施形態では、作業要素の対象物(ここでは「ペンPen1」)と、作業要素の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクを作成することができる。また、タスクの名称は、作業要素の作業内容(例えば「Pickup」)と、作業対象(例えば「ペンPen1」)と、作業要素の始点となる対象物(例えば「ペントレイ」)、又は終点となる対象物とを含むように自動的に作成されるため、タスクの名称からタスクの内容が直ちに分かるようになっている。
モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
例えば、図6に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラムによって記述されている。
なお、以下のmove(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)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。
タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウ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の教示用ウィンドウW4においてボタンb3が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。
ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。
本実施形態では、ロボット制御装置3にロボットの実機が接続されていないため、ロボット制御装置3の制御部31は、ストレージ32に記録されているロボットRのマニピュレータのモデルのデータに基づいて、マニピュレータを構成する各部の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度等)を、ロボット状態データとして演算する。
図9に例示するタイミングチャートは、図8の教示用ウィンドウW4において例示したジョブ(「Pen Assembly」)の中の「ペントレイからペンを取る (Pickup_Pen1_From_PenTray)」という名称のタスクに対応するタイミングチャートを示している。
図9のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部と、を含み、最上部には、ジョブの開始時刻からの時間が表示されている。図9に示す例では、カーソルCU1〜CU3が設けられている。ポインティングデバイスによって各カーソルを左右に移動させることができる。カーソルCU1は、ジョブの開始時刻からの時間を示しており、カーソルCU2,CU3はそれぞれ、カーソルCU1が示す時刻を0としたときの時間を示している。
・ロボットRのX座標(ワールド座標系)の位置の指令値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の指令値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の指令値(“posZ”)
・アーム51の関節角の角速度の指令値(“Angular Velocity”)
モーション状態(“Motion status”)はタスクに含まれるモーションに対応している。すなわち、モーション状態(“Motion status”)では、以下の3種類のモーション(ここでは、ハンドシーケンスも含む。)の期間(開始時刻および終了時刻)がわかる。各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。
・Move(Line)…直線移動。主に、アプローチ点APから目標点TPまでの移動、および、目標点TPからデパーチャ点DPまでの移動のうちのいずれかの移動に用いられる。
・HandSequence()…ハンドシーケンス処理
ボタンb4は、図9に示すタイミングチャートと同じロボット状態データの変化となるように(つまり、通常速度により)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb5は、通常速度の倍の速度でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb6は、通常速度より低速でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb7は、仮想空間において動作中のロボットRおよび対象物を一時的に停止させるための操作ボタンである。ボタンb8は、時間の進行が逆方向となるようにしてロボット状態データを変化させて(つまり、逆再生して)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。
次に、本実施形態のロボットシミュレータ1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットシミュレータ1の機能ブロック図である。
図11に示すように、ロボットシミュレータ1は、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報算出部105、シミュレーション部107、および、インターロック設定部108を備える。
ロボットシミュレータ1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
タスク作成部102の機能を実現するために、情報処理装置2の制御部21は、入力装置23からオペレータの操作入力を受け付けると、当該操作入力に基づき、図7の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。
情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。
プログラム作成部103の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部103は、タスクに含まれる情報を参照し、ストレージ22に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。
プログラム実行部104の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラム(シミュレーション用プログラム)を、ロボット制御装置3へ送信する。
前述したように、1つのジョブには、タスクによって記述される複数の作業要素と作業要素間の移動とが含まれる。1つのタスクには、複数のモーションと必要に応じてハンドシーケンスとが含まれ、タスクに対応する作業要素を実行するためのプログラムは、複数の関数によって定義される。ロボットの作業要素間の移動は、予め決められたデフォルトのモーションパラメータを含むプログラムによって記述された関数で定義される。
ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、各モーションおよびハンドシーケンスに対応する複数の関数を順に実行することで、1つのジョブに対するロボットプログラムを実行する。
ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、ハンドの位置等)のデータである。
ジョブ全体のロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
制御部21は、取得した参照時間ごとのロボット状態データに基づいて、所定の形式のオフラインタイミングチャートを含む画像を生成して表示装置24に表示する。当該タイミングチャートは、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能となるように構成される。
シミュレーション部107は、状態情報算出部105によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
シミュレーション部107の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出し、当該実行ログデータに含まれるロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
この場合、情報処理装置2の制御部21は、図10に例示したように、CAD用ウィンドウのボタンに対するオペレータによる操作に応じて、通常速度よりも高速あるいは低速にしてロボットおよび対象物の3次元モデルを動画再生し、又は、当該3次元モデルを逆再生して表示装置24に表示する。実行ログデータベース224には、例えば1msの参照時間ごとのロボット状態データが記録されているため、制御部21は、オペレータの操作に応じた再生用のフレームを作成する。
インターロック設定部108の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図7の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
インターロック設定部108により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。
次に、図12を参照して、ロボットシミュレータ1によるジョブのシミュレーションの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットシミュレータのジョブの実行処理を示すシーケンスチャートの例である。
すべてのタスクについての処理が終了すると(ステップS20:YES)、ロボット制御装置3は、実行ログデータを情報処理装置2に送信する(ステップS22)。実行ログデータには、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データと、ロボットプログラムの実行結果とが含まれる。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
次いで、表示制御部101は、ステップS22で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部105によって得られたロボット状態データ)に基づいて所定のフォーマットとしたタイミングチャート(オフラインタイミングチャート)を表示装置24に表示する(ステップS24)。シミュレーション部107は、ロボット状態データに基づいて3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS26)。
次に、本発明の第2の実施形態について説明する。
以下、本実施形態のロボットシミュレータ1Aの構成について、図13および図14を参照して説明する。図13は、本実施形態のロボットシミュレータ1Aの全体構成について示す図である。図14は、本実施形態のロボットシミュレータ1Aに含まれる各装置のハードウェア構成を示す図である。
なお、第1の実施形態のロボットシミュレータ1と同様の構成要素については、同一の符号を付して重複説明を省略する。
ロボット制御装置3Aは、情報処理装置2から送信されるロボットプログラムを実行する点では第1の実施形態のロボット制御装置3と共通するが、ロボットRとケーブルWCにより接続されている点でロボット制御装置3と異なる。好ましくは、ロボット制御装置3Aは、ロボットの実機の近傍に配置される。
ロボット制御装置3Aの制御部31Aは、ロボットプログラムを実行してロボットRに対する制御信号を生成する。ロボットRに対する制御信号は、ロボットRに対する指令値を示す信号(例えば、パルス信号)である。ロボットRに対する指令値は、例えばロボットRの位置、速度、加速度等の目標値である。
制御部31Aは、ロボットRから、ロボットRの状態を示すデータであるロボット状態データを取得する。本実施形態において、制御部31Aが取得するロボット状態データは、演算値ではなくロボットRから取得する点で、第1の実施形態とは異なる。また、本実施形態のロボット状態データには、ロボットRに対する入出力信号が含まれる。制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出し、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを情報処理装置2へ送信する。
マニピュレータ50は、ロボットRの本体部であり、アーム51およびハンド52と、アーム51およびハンド52の位置、角度を制御する複数のモータと、を含む。
制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するサーボ機構を備える。
センサ群56は、マニピュレータ50の位置、速度、加速度、および、各関節の角度,角速度等を検出する複数のセンサを含んでもよい。
本実施形態では、実機のロボットRがロボット制御装置3Aに接続され、ロボットRから取得したロボット状態データに基づいて、情報処理装置2においてタイミングチャートが作成される。以下の説明では、本実施形態において作成されるタイミングチャートを適宜、「オンラインタイミングチャート」ともいう。オンラインタイミングチャートは、第1タイミングチャートの一例である。
・ロボットRのX座標(ワールド座標系)の位置の取得値(“posX”)
・ロボットRのY座標(ワールド座標系)の位置の取得値(“posY”)
・ロボットRのZ座標(ワールド座標系)の位置の取得値(“posZ”)
・アーム51の関節角の角速度の取得値(“Angular Velocity”)
図15に示す例では、以下の内容のI/Oを示している。
・[10] Vision lockon … 実機のロボットRの作業環境に設置されているカメラによって認識されたペントレイの位置に基づいて、ロボットRに対する指令値に対する補正を行う補正タイミングを示している。補正タイミングに達したときにONとなる。補正タイミングは、タスクに対して予め設定されている。
・[16] Hand1 grasp … ハンドがペンを把持したときにONとなる。ONのタイミングはハンドシーケンスによって異なる。
・[17] Hand1 release … ハンドがペンを離したときにONとなる。実機のロボットRでは、対象物を取る(pick up)作業中にONとなった場合、対象物を掴み損ねて落下させたことがわかる。
図15のオンラインタイミングチャートの例では、ロボットRに対する指令値の補正タイミングである時刻t3が、当該指令値に対応するモーションの開始時刻である時刻t2よりも後になっており、問題が発生していることがわかる。
次に、本実施形態のロボットシミュレータ1Aの機能について、図16を参照して説明する。図16は、実施形態に係るロボットシミュレータ1Aの機能ブロック図である。
図16に示すように、ロボットシミュレータ1Aは、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報取得部106、シミュレーション部107、および、インターロック設定部108を備える。すなわち、本実施形態のロボットシミュレータ1Aは、状態情報算出部105ではなく状態情報取得部106を備えている点で、第1の実施形態のロボットシミュレータ1とは異なる。
本実施形態では、表示制御部101は、状態情報取得部106により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オンラインタイミングチャート)を表示装置24に表示する。
ロボットRの制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するとともに、ロボット状態データをロボット制御装置3Aに送信する。ロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量、あるいはマニピュレータ50の物理量の推定値(例えば制御電流値等)である。ロボット制御装置3Aの制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
制御部31Aは、ストレージ32に累積されるロボット状態データを所定の参照時間(例えば1ms)ごとに読み出し、読み出した所定の参照時間ごとのロボット状態データを含む実行ログデータを情報処理装置2へ送信する。
情報処理装置2の制御部21は、受信した実行ログデータを実行ログデータベース224に記録する。さらに、制御部21は、第1の実施形態と同様に、実行ログデータに含まれるロボット状態データに基づいて、所定の形式のタイミングチャート(オンラインタイミングチャート)を含む画像を生成して表示装置24に表示する。当該タイミングチャートにより、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能とすることができる。
本実施形態では、情報処理装置2の制御部21は、ロボットRから取得した参照時間ごとのロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
次に、第3の実施形態について説明する。
本実施形態のロボットシミュレータは、第1の実施形態のロボットシミュレータ1の機能と、第2の実施形態のロボットシミュレータ1Aの機能とを備え、オフラインタイミングチャートとオンラインタイミングチャートの両方を表示装置24に表示する。すなわち、本実施形態では、表示制御部101は、オフラインタイミングチャート(第2タイミングチャートの例)とオンラインタイミングチャート(第1タイミングチャートの例)を、タスクの作業要素に相当する期間のロボットの状態が比較可能となるように、表示装置24に表示する。かかる表示によって、同一のジョブに対してロボットに接続した場合と接続しない場合とでのロボット状態データを、ジョブに含まれる作業要素ごとに比較し、検討することができる。
好ましくは、表示制御部101は、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示するか、又は、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示装置24に表示する。かかる表示態様とすることで、オフラインタイミングチャートとオンラインタイミングチャートを比較することが容易となる。
以下、上述した各実施形態の変形例について述べる。
表示制御部101は、異なる作業要素同士におけるロボットの状態が比較可能となるように、オフラインタイミングチャート又はオンラインタイミングチャートを表示装置24に表示してもよい。それによって、ロボットのジョブに含まれる複数の作業要素のうち異なる作業要素間においてロボットの状態を比較することができる。
本変形例を実現するために、例えば、情報処理装置2の制御部21は、ジョブに含まれる複数のタスクのうち2つのタスクを選択するオペレータの操作入力に基づいて、情報処理装置2の制御部21は、選択された2つのタスクの期間が並列に構成されたタイミングチャートを作成する。好ましくは、選択された2つのタスクの期間の開始時刻が一致するようにしてタイミングチャートが作成される。
シミュレーション部107は、オフラインタイミングチャート又はオンラインタイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間におけるロボット状態データに基づいて、3次元モデルを動作させて表示装置24に表示してもよい。それによって、ジョブの全期間のうちオペレータが注目したい期間のロボットの動作を確認することができる。
本変形例を実現するために、オフラインタイミングチャート又はオンラインタイミングチャートに、図10に例示したようなボタンb4(通常速度によりロボットおよび対象物の動作させるための操作ボタン)が設けられる。情報処理装置2の制御部21は、当該ボタンb4の操作入力に基づいて、オフラインタイミングチャート又はオンラインタイミングチャートに対応する動画を再生する。このとき、タイミングチャートに設けられたカーソルCU1〜CU3を操作することで、動画の再生対象とする期間を、タイミングチャートに表示されている期間のうち一部の期間に指定できるようにする。
第2の実施形態において、表示制御部101は、同一の作業要素であっても異なる実行結果におけるロボットの状態が比較可能となるように、オンラインタイミングチャートを表示装置24に表示してもよい。それによって、同一のタスクを複数回試行したときのロボットの状態のばらつきを把握することができる。 本変形例を実現するために、情報処理装置2の制御部21は、ロボットプログラムを複数回実行することで取得した複数のロボット状態データをジョブの開始時刻が一致するようにして重ねてプロットしたタイミングチャートを作成する。
例えば、ジョブ内の作業要素間の移動距離および移動回数を統計処理した情報を提供することで、ラインにおける対象物の供給及び/又は排出の場所、向き等の検討を支援することができる。
また、ジョブ内のロボットの動作時間と待機時間の時間比率を算出して提示してもよい。それによって、ジョブ内の作業順序の改善、あるいは不要な高速動作を低速化する等の検討を支援することができる。
上述した実施形態では、ロボットシミュレータは、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
上述した実施形態では、ジョブに含まれるタスクリストを、階層型リストを基に作成する例を説明したが、その限りではない。ジョブに含まれる複数の作業要素が特定される限り、階層型リストを基にジョブに含まれるタスクを定義する必要はない。
Claims (10)
- ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、
前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、
前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、
を備えた、ロボットシミュレータ。 - 仮想空間における前記ロボットの3次元モデルの情報を記憶する記憶部と、
前記状態情報取得部によって得られた状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示するシミュレーション部と、
をさらに備えた、請求項1に記載されたロボットシミュレータ。 - 前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部、をさらに備え、
前記表示制御部は、前記状態情報算出部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第2タイミングチャートを前記表示装置に表示する、
請求項1又は2に記載されたロボットシミュレータ。 - 前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートを、前記タスクの作業要素に相当する期間の前記ロボットの状態が比較可能となるように、前記表示装置に表示する、
請求項3に記載されたロボットシミュレータ。 - 前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートとを切り替え可能に表示するか、又は、前記第1タイミングチャートと前記第2タイミングチャートとを共通の時間軸において重ね合わせて表示する、
請求項4に記載されたロボットシミュレータ。 - 前記表示制御部は、異なる作業要素同士における前記ロボットの状態が比較可能となるように、または、同一の作業要素であっても異なる前記実行結果における前記ロボットの状態が比較可能となるように、前記第1タイミングチャートを前記表示装置に表示する、
請求項1に記載されたロボットシミュレータ。 - 前記状態情報は、前記ロボットは複数の種別の情報を含み、
前記表示制御部は、前記状態情報のうち、オペレータの操作入力によって前記複数の種別の中から選択された一部の種別の情報に基づいて、前記第1タイミングチャートを前記表示装置に表示する、請求項1又は6に記載されたロボットシミュレータ。 - 前記状態情報には、前記ロボットにおける入出力信号の状態が含まれる、請求項1から6のいずれか1項に記載されたロボットシミュレータ。
- 前記シミュレーション部は、前記第1タイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間における前記状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。
- 前記シミュレーション部は、前記3次元モデルの動作を、前記状態情報に基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。
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)
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)
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 | ファナック株式会社 | 加工時間予測装置 |
-
2018
- 2018-08-02 WO PCT/JP2018/028994 patent/WO2019064917A1/ja active Application Filing
- 2018-08-02 JP JP2019544369A patent/JP7151713B2/ja active Active
Patent Citations (10)
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 |