JP2004151976A - Simulation device - Google Patents

Simulation device Download PDF

Info

Publication number
JP2004151976A
JP2004151976A JP2002316009A JP2002316009A JP2004151976A JP 2004151976 A JP2004151976 A JP 2004151976A JP 2002316009 A JP2002316009 A JP 2002316009A JP 2002316009 A JP2002316009 A JP 2002316009A JP 2004151976 A JP2004151976 A JP 2004151976A
Authority
JP
Japan
Prior art keywords
simulation
robot
viewer
pseudo
data
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
JP2002316009A
Other languages
Japanese (ja)
Other versions
JP3913666B2 (en
Inventor
Hiroki Hashimoto
裕樹 橋本
Shinji Imai
伸治 今井
Katsumi Takeishi
克己 武石
Hiroshi Ichinomiya
博志 一ノ宮
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2002316009A priority Critical patent/JP3913666B2/en
Publication of JP2004151976A publication Critical patent/JP2004151976A/en
Application granted granted Critical
Publication of JP3913666B2 publication Critical patent/JP3913666B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To carry out the simulation of the operation of a robot based on teaching data prepared by off-line teaching in a highly precise operating time. <P>SOLUTION: A simulation device 10 is provided with a pseudo controller 12, a sequencer 14, a pseudo control board 16, a viewer 18 for displaying a robot based on simulation data, a network 26 for FA and a general network 28. The pseudo controller 12 is connected through the general network 28 to the viewer 18. The sequencer 14 is connected through a network 26 for FA to the pseudo controller 12. The pseudo controller 12 generates simulation data indicating the operation value of each node of a virtual robot based on teaching data, and supplies the simulation data through the general network 28 to the viewer 18. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置に関し、特に、ロボットの動作制御を行うロボットコントローラと、該ロボットコントローラに通信手段を介して接続されたシーケンサを有するシステムの動作検証を行うシミュレーション装置に関する。
【0002】
【従来の技術】
自動車のプレス部品の接合工程等において、多関節型のロボットが利用されている。このようなロボットの動作教示は、3次元CAD等を用いることにより実機のロボットを不要とするオフラインによる教示、所謂オフラインティーチングが行われている。
【0003】
また、実際上、ロボットは単体で動作する訳ではなく、例えば、図10に示すような構成のシステム500の場合、ロボット502を制御するロボットコントローラ512と、ロボットの動作の開始および停止等の操作を行う操作盤518と、ロボットコントローラ512と操作盤518との間に設けられるシーケンサ(プログラマブルロジックコントローラとも呼ばれる)508とを有する。シーケンサ508とロボットコントローラ512はFA用のネットワーク510で接続されている。また、シーケンサ508は搬送ライン(図示せず)等にも接続されて制御を行っている。システム500の基本的な動作は操作盤518によって作業員が操作できるようになっている。
【0004】
ロボット502には、例えば、6つの関節の動作により、6自由度を有する多関節型の産業用ロボットが用いられる。ロボット502の先端部には溶接ガン520が設けられており、この溶接ガン520によってワーク524の溶接を行うことができる。
【0005】
ところで、オフラインティーチングによる教示動作を行った後に、動作の検証を行うためにシミュレーションを行う必要があるが、このシミュレーションは実機に対して動作の位置精度と実行時間の精度が高いことが必要である。
【0006】
シミュレーションを行う方法として、シミュレーション装置上のモデルと実機とを同時に動作させて該モデルと実際のロボットとの動作を相互に確認する方法(例えば、特許文献1参照)や、ロボット言語の異なる複数種類のロボットに対して、各教示点において動作の整合性を確認する方法(例えば、特許文献2参照)が提案されている。
【0007】
【特許文献1】
特開平8−87316号公報(図1)
【特許文献2】
特開2002−36156号公報(段落[0027]〜[0038])
【0008】
【発明が解決しようとする課題】
ところで、ロボット502を含むシステム500(図10参照)のシミュレーションを行うと、以下の理由により実際の動作時間と比較して誤差が発生することがある。
【0009】
すなわち、ロボット502を高密度に配置したシステム500では、ロボットコントローラ512とシーケンサ508との間のネットワーク510による通信時間は考慮されていないために、この通信時間に基づく誤差が発生する。さらに、シーケンサ508は種類によって処理速度が異なるので、シーケンサ508を含めたシステム500のシミュレーションを1台のコンピュータ内で精度よく行うことは困難である。
【0010】
また、前記の従来技術のうち特許文献1に開示された方法では、実際のロボットを動かすことにより動作検証を行うので、教示処理に実機が不要であるというオフラインティーチングの特徴が活かされない。
【0011】
前記の特許文献2に開示された方法では、各教示点毎に動作の検証を行うために教示点でシミュレーション処理が途切れることになり、ロボットが複雑な動作を連続的に行う場合に誤差が生じる。つまり、各教示点毎に動作確認を行うために、時間的に先行した計算を行うという、教示点の先読み動作ができない。さらに、ロボットシミュレータから教示データをロボットコントローラに出力しながらシミュレーションを行うので、シミュレーションの精度および時間はロボットシミュレータの能力に依存する。
【0012】
さらに、特許文献1および2に開示された方法では、シーケンサや通信手段の作用は考慮されていないので、これらのシーケンサおよび通信手段に起因する誤差が発生する。
【0013】
本発明はこのような課題を考慮してなされたものであり、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションすることを可能にするシミュレーション装置を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明に係るシミュレーション装置は、多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置において、ロボット用のティーチングデータが格納され、該ティーチングデータに基づき、前記ロボットを示す仮想ロボットの動作制御を行うとともに、前記仮想ロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成する擬似コントローラと、前記シーケンサと前記擬似コントローラとを接続する主通信手段と、前記主通信手段を介して、少なくとも前記擬似コントローラを制御するシーケンサと、少なくとも前記シーケンサに対して操作信号の送受信を行う擬似操作盤と、前記シミュレーションデータに基づいて前記仮想ロボットの姿勢に関する情報を表示するビューワと、前記擬似コントローラと前記ビューワとを接続する副通信手段と、を有し、前記擬似コントローラは、前記副通信手段を介して前記シミュレーションデータを前記ビューワへ供給することを特徴とする。
【0015】
擬似コントローラ、擬似操作盤、シーケンサおよび主通信手段を実際のシステムにおける機器と類似または同一の機器を選定することにより、実機の構成との差異が小さくなり、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションすることができる。
【0016】
また、シミュレーションデータは、副通信手段を介してビューワに供給されるので、該ビューワによりリアルタイムでシミュレーション状況を監視および検証することができる。
【0017】
この場合、前記ビューワは、前記仮想ロボットを3次元表示すると、動作状態を把握しやすい。
【0018】
また、前記擬似コントローラは、前記ティーチングデータに基づく出力データまたは入力データに関する入出力情報を、前記副通信手段を介して前記ビューワにリアルタイムに供給し、前記ビューワは、前記入出力情報を表示するようにしてもよい。
【0019】
さらに、前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、前記追従遅れ時間を考慮して前記シミュレーションデータを生成すると、より正確なシミュレーションを行うことができる。
【0020】
前記擬似コントローラは、前記仮想ロボットの付加軸の動作時間を推定する付加軸動作推定機能部を有し、前記付加軸動作推定機能部を用いて前記付加軸の状態に関する情報を前記ビューワに供給し、前記ビューワは、前記付加軸に関する情報を表示するようにしてもよい。
【0021】
さらにまた、前記シーケンサは、該シーケンサの動作周期を設定する処理時間設定機能部を有すると、実際に使用されるシーケンサと同じ動作周期に設定することができ、より正確なシミュレーションを行うことができる。
【0022】
前記模擬操作盤または前記ビューワは、シミュレーションの実行時間を計測する時間計測機能部を有すると、シミュレーション時間を正確に計測および記録することができる。
【0023】
【発明の実施の形態】
以下、本発明に係るシミュレーション装置について好適な実施の形態を挙げ、添付の図1〜図10を参照しながら説明する。
【0024】
図1および図2に示すように、本実施の形態に係るシミュレーション装置10は、例えば、システム500(図10参照)におけるロボット502の動作を仮想空間上でシミュレーションするものであり、実際のロボットコントローラ512の代わりに擬似コントローラ12が仮想のロボットR(図3参照)を制御する。
【0025】
シミュレーション装置10は、擬似コントローラ12と、シーケンス処理を行うシーケンサ14と、擬似操作盤16と、シミュレーションの結果を表示するビューワ18と、ロボットRのティーチングデータを作成するオフラインティーチングコンピュータ20とを有する。オフラインティーチングコンピュータ20で作成するティーチングデータは、ロボットRの動作プログラム自体と、動作経路を示す複数の教示点データとから構成される。
【0026】
擬似操作盤16、ビューワ18、オフラインティーチングコンピュータ20はそれぞれモニタ画面16a、18a、20aを備える。
【0027】
また、シミュレーション装置10は、FA用ネットワーク(主通信手段)26と、汎用ネットワーク(副通信手段)28とを有する。FA用ネットワーク26は、擬似コントローラ12と、シーケンサ14とを接続しており、これらの機器間のデータ通信を行う。汎用ネットワーク28は、擬似コントローラ12と、シーケンサ14と、擬似操作盤16と、ビューワ18と、オフラインティーチングコンピュータ20と、オブジェクトコンピュータ24とが接続されており、これらの機器間のデータ通信を行う。擬似操作盤16とシーケンサ14とは専用の通信手段25で接続されている。擬似操作盤16とシーケンサ14とは、FA用ネットワーク26または汎用ネットワーク28により通信を行うようにしてもよい。
【0028】
擬似コントローラ12、シーケンサ14、擬似操作盤16およびFA用ネットワーク26は、図10における実際のロボットコントローラ512、シーケンサ508、操作盤518およびネットワーク510にそれぞれ相当する。
【0029】
ロボットRおよびロボット502は、例えば、図3に示すような産業用の多関節ロボットであり、ベース部30と、ベース部30を基準にしてロボットの先端に向かって順に第1アーム32、第2アーム34および第3アーム36と、第3アーム36の先端に設けられた溶接ガン38とを有する。第1アーム32は、ベース部30に対して水平および垂直に回動可能な軸J1、J2によって回動可能である。第2アーム34は第1アーム32と軸J3で回動可能に連結されている。第2アーム34は軸J4によって捻れ回転が可能になっている。第3アーム36は第2アーム34と軸J5で回動可能に連結されている。第3アーム36は軸J6によって捻れ回転が可能になっている。また、作業内容によっては、ロボットRには付加軸が設けられることがある。例えば、第3アーム36の先端と溶接ガン38との間に回転または伸縮自在な第7の軸(図示せず)を設ける場合がある。
【0030】
なお、ロボットRおよびロボット502は、溶接用ロボットに限らず、組み立て用ロボットや塗装用ロボット等でもよい。
【0031】
図4に示すように、擬似コントローラ12は、プログラム実行部50と、擬似動作部52と、入出力部54とを有しており、ロボットコントローラ512(図10参照)と類似の作用をする。
【0032】
プログラム実行部50は、制御処理部56と記憶部58とを有し、オフラインティーチングコンピュータ20から供給されるティーチングデータを記憶部58に記憶し、制御処理部56がティーチングデータに基づいてロボットRおよび溶接ガン38の移動指令値を生成する。生成した移動指令値は、ロボットRの各軸J1〜J6および溶接ガン38の開度の値として擬似動作部52に供給される。
【0033】
制御処理部56は、先読み機能部60を有する。先読み機能部60は、ティーチングデータに含まれる教示点T(図8参照)が空間上で近接する箇所については、ロボットRの動作に先行して移動指令値の生成を行う。これにより、ロボットRは滑らかな動作が可能になる。
【0034】
先読み機能部60の機能は、実際のロボットコントローラ512が備えている機能と同じものである。
【0035】
擬似動作部52は、プログラム実行部50から供給された各軸J1〜J6の移動指令値および溶接ガン38の移動指令値に基づいてロボットRの姿勢を推定する。推定によって求めた結果は、シミュレーションデータとしてプログラム実行部50および入出力部54を経由してビューワ18に供給される。
【0036】
擬似動作部52は、ロボットRの各軸J1〜J6の動作を推定するロボット擬似動作部64と、付加軸の動作を推定する付加軸擬似動作部66とを有する。
【0037】
シミュレーションデータは、1組のデータ列M=(θ1、θ2、θ3、θ4、θ5、θ6、θ7)で表される。このうち、データθ1〜θ6は、ロボットRの各軸J1〜J6の角度(動作量)であり、ロボット擬似動作部64によって求められる。データθ7は付加軸の動作量であり、付加軸擬似動作部66によって求められる。
【0038】
ロボット擬似動作部64は、指令値に対する各軸J1〜J6の機械的な追従遅れ時間を推定するロボット追従遅れ時間推定部70と、ティーチングデータにより予定された動作時間に対する到着時間の遅れを推定するロボット到着遅れ時間推定部72とを有する。
【0039】
付加軸擬似動作部66は、付加軸の機械的な追従遅れ時間を推定する付加軸追従遅れ時間推定部74と、ティーチングデータによる予定された動作時間に対する付加軸の到着時間の遅れを推定する付加軸到着遅れ時間推定部76と、付加軸の電流値を検出してトルクの遅れ時間を推定する付加軸トルク到着遅れ時間推定部78とを有する。付加軸トルク到着遅れ時間推定部78は、付加軸の機械的な撓み時間を推定する撓み時間推定部80と、トルクが安定するまでの時間を推定するトルク安定時間推定部82とを有する。
【0040】
ロボット擬似動作部64には、付加軸トルク到着遅れ時間推定部78に相当する機能が設けられていないが、付加軸以外の関節部、つまり軸J1〜J6については先読み機能部60により同様の推定が可能である。
【0041】
入出力部54は、FA用ネットワーク26に対する入出力の信号や、プログラム実行部50と擬似動作部52との間の信号を検出する情報取得機能部84と、汎用ネットワーク28を介してビューワ18にシミュレーションデータと入出力データ(入出力情報)とを送信するシミュレーションデータ送出部86とを有する。
【0042】
入出力データには、例えば、溶接ガン38または付加軸との間で送受信されるデータや、エラー信号や、サーボオン信号、サーボオフ信号等が挙げられる。入出力データを構成する各信号は、オン・オフで表される1ビットの信号である。
従って、例えば、入出力データを構成する信号が128点(16バイト)程度であれば汎用ネットワーク28により高速に伝送可能である。
【0043】
入出力部54は、汎用ネットワーク28とのインターフェースである第1ポート88、FA用ネットワーク26とのインターフェースである第2ポート90に接続されている。
【0044】
擬似コントローラ12における第2ポート90や、プログラム実行部50は実際のロボットコントローラ512におけるポートやプログラム実行部と略同仕様に構成されている。
【0045】
図2に戻り、シーケンサ14は、シーケンス処理により擬似コントローラ12の動作を制御するものであり、実際のシーケンサ508と同仕様のハードウェアが使用される。
【0046】
シーケンサ14は、外部から供給されたラダープログラムを実行可能なシーケンスプログラムに変換するための条件が記述されたプログラム生成用ファイル92と、シーケンスプログラムのサイクル時間の設定を行う処理時間設定部94と、生成されたシーケンスプログラムを実行する動作処理機能部96とを有する。
【0047】
処理時間設定部94は、入出力処理時間設定部98と内部処理時間設定部100とを有し、サイクル時間を実際のシーケンサ508と同じとなるようにウェイト時間等が設定される。また、シーケンサ14はFA用ネットワーク26に対して入出力を行う入出力部27を有する。
【0048】
シーケンサ14で実行されるシーケンスプログラムはシーケンサ508と基本的に同一のものが用いられている。従って、例えば、シーケンサ14は実際のロボットコントローラ512を制御することも可能である。
【0049】
シーケンサ14は、FA用ネットワーク26を介して擬似コントローラ12からロボットRに対して所定の制御信号の送受信を行う。
【0050】
擬似操作盤16は、外部から供給される画面生成用設定ファイル102に基づいてモニタ画面16aの画面設定を行い、擬似操作処理部104が実際の操作盤518(図10参照)の作用を代替する。擬似操作処理部104は、入力および表示を行う入力・表示機能部106と、シミュレーションの開始から終了までの時間を計測する時間測定機能部108とを有する。入力・表示機能部106には、汎用のキーボード、マウスおよびモニタを用いることができる。擬似操作盤16のモニタ画面16aはタッチパネル式でもよい。時間測定機能部108は、オペレーティングシステムが備えるタイマ機能を用いることができる。実際の操作盤518が移動可能である場合には、操作盤518自体を汎用ネットワーク28に接続して擬似操作盤16として用いてもよい。また、擬似操作盤16は、所定の操作によってシミュレーションのスタート信号(操作信号)をシーケンサ14に送信することができる。
【0051】
擬似操作盤16のモニタ画面16aには、図5に示すように、マウスにより操作可能なウィンドウ形式の操作画面109が表示される。この操作画面109において、インディケータ109aは入出力データに基づいてシミュレーションの実況状況を示す領域である。サイクルタイム表示テーブル109bは時間測定機能部108により計測したシミュレーション時間を表示する領域である。サイクルタイム表示テーブル109bに表示されるシミュレーション時間は所定の記録部に記録される。機種コンボボックス109cはロボットRの機種を選定および表示する領域である。タグパネル109dはアラームおよびその説明を表示する領域である。第1モード選択スイッチ部109eおよび第2モード選択スイッチ部109fはそれぞれシミュレーションの動作モードを選択する領域である。
【0052】
なお、シーケンサ14には、一般的に計時機能が設けられているので、この計時機能によって計測したシミュレーション時間をサイクルタイム表示テーブル109bに表示するようにしてもよい。
【0053】
また、操作画面109における表示は、他の適当な方法で行ってもよいことはもちろんであり、例えば、文字列で表示される情報をシンボルや色の変化によって示すようにしてもよい。
【0054】
図2に戻り、ビューワ18は、シミュレーションの結果をリアルタイムに表示するコンピュータであり、ビューワデータ110と画像変換部112とを有する。ビューワデータ110は、ロボットRの関節構成や寸法および設置位置等の情報である。ビューワデータ110は、外部から供給可能であり、書き換え可能である。
【0055】
画像変換部112は、関節角度画像変換機能部114とI・O情報画像変換機能部116とを有する。関節角度画像変換機能部114は、擬似コントローラ12から供給されるシミュレーションデータとビューワデータ110とに基づいてロボットRをソリッドモデルによって3次元表示する。
【0056】
I・O情報画像変換機能部116は、擬似コントローラ12から供給される入出力データの内容を表示する。また、I・O情報画像変換機能部116は、供給された入出力データを一覧形式で表示したり、入出力データのうち所定の信号に基づいてソリッドモデルの表示色を変更する機能をもつ。例えば、エラー信号やサーボオン信号が発生したときには、対応するロボットRまたは対応する箇所の色を変更または点滅表示させる。
【0057】
ビューワ18は、シミュレーションの結果表示を行うものであり、またロボットRの動作プログラムの実行または解析等を行うことがないので汎用の3次元CADシステムを適用することができる。ビューワ18は、3次元CADの一般的な機能、例えば、視点位置の変更、拡大・縮小表示等の機能が利用可能である。
【0058】
オフラインティーチングコンピュータ20は、ロボットRのティーチングデータをオフラインで作成するものである。オフラインティーチングコンピュータ20は、ロボットRを3次元表示させながら、一連の動作を順番に教示点データとして設定することができる。
【0059】
オフラインティーチングコンピュータ20は、必ずしも汎用ネットワーク28に接続されている必要はない。オフラインティーチングコンピュータ20で作成されたティーチングデータは、他の通信手段または汎用の記録媒体を介して擬似コントローラ12にロードしてもよい。
【0060】
次に、このように構成されるシミュレーション装置10を用いてシミュレーションを行う方法について図6を参照しながら説明する。
【0061】
まず、ステップS1において、オフラインティーチングコンピュータ20においてロボットRのティーチングデータを作成した後、このティーチングデータを擬似コントローラ12へロードする。また、シーケンサ14には対応するラダープログラムを供給し、プログラム生成用ファイル92を参照しながらシーケンスプログラムを生成する。ビューワ18には、適応するビューワデータ110を供給する。擬似操作盤16には、画面生成用設定ファイル102を供給する。
【0062】
次に、ステップS2において、シミュレーションを実行するための初期処理を行う。シーケンサ14における初期処理では、生成したシーケンスプログラムに対して処理時間設定部94により動作周期の設定を行う。
【0063】
擬似操作盤16における初期処理では、供給された画面生成用設定ファイル102によりモニタ画面16aの設定と入出力条件の設定とを行う。
【0064】
ビューワ18における初期処理では、供給されたビューワデータ110によりロボットRおよび周辺設備に関するデータを認識し、3次元描画の設定を行う。
【0065】
次に、ステップS3において、擬似操作盤16の操作画面109(図5参照)を操作して、シミュレーション動作の開始指示命令を擬似コントローラ12およびシーケンサ14に送信する。このとき、擬似操作盤16の時間測定機能部108(図2参照)は、シミュレーション時間の計測を開始する。
【0066】
また、操作画面109の機種コンボボックス109cで生産機種を選定する。
この生産機種に関する情報は擬似コントローラ12に送信される。
【0067】
擬似コントローラ12のプログラム実行部50は、記憶部58に格納したティーチングデータのうち、指定の生産機種に対応したデータに従って同時に動作を開始する。また、シーケンサ14は格納したシーケンスプログラムを実行する。
【0068】
次に、ステップS4において、シーケンサ14、擬似コントローラ12およびビューワ18がそれぞれ連動しながらシミュレーション動作を行う。
【0069】
次に、ステップS5において、擬似コントローラ12は、格納したティーチングデータに基づいた処理が終了すると、シーケンサ14に終了を示す信号を送信する。シーケンサ14は、擬似コントローラ12から終了信号を受信した後、擬似操作盤16およびビューワ18にシミュレーションの終了を示す信号(操作信号)を送信する。
【0070】
この信号により、擬似操作盤16および擬似コントローラ12はシミュレーションに対応した処理を終了し、擬似操作盤16の時間測定機能部108はシミュレーションに要した時間を操作画面109のサイクルタイム表示テーブル109b(図5参照)に表示する。
【0071】
次に、シミュレーション実行中における擬似コントローラ12の処理について図7および図8を参照しながら説明する。
【0072】
図7のステップS101において、擬似コントローラ12のプログラム実行部50は、記憶部58に格納されたティーチングデータに基づいてロボットRの各軸J1〜J6に対する指令値を生成して擬似動作部52に供給する。
【0073】
このとき、先読み機能部60の作用によって、例えば、図8に示すように、障害物150を回避するために多数の教示点Tが近接する箇所に設定されている動作経路152に沿ってロボットRが動作する場合に、実機の場合と同様に、各教示点TにおいてロボットRが停止したり動作が不連続になることがなく、溶接点Pにスムーズに到達することができる。
【0074】
ステップS102において、擬似動作部52では、ロボットRの姿勢を推定し、シミュレーションデータつまりデータ列Mを算出する。このとき、ロボットRの動作は、指令値に対して多少の遅れが生じるが、この遅れの量はロボット擬似動作部64によって推定できるので、実際のロボット502(図10参照)を動作させる場合と同様の姿勢が算出可能である。
【0075】
次に、ステップS103において、算出したシミュレーションデータをプログラム実行部50に供給する。プログラム実行部50は、シミュレーションデータを入出力部54を介してビューワ18に所定の微小周期毎に供給する。これらのシミュレーションデータは、擬似動作部52から入出力部54へ直接的に供給してもよい。
【0076】
また、プログラム実行部50は、シーケンサ14との間においてFA用ネットワーク26を介して送受信される制御信号や溶接ガン38に対する信号およびエラー信号等の入出力データを所定の微小周期毎に供給する。
【0077】
このとき、プログラム実行部50は、ビューワ18がシミュレーションデータまたは入出力データを受信したか否かに拘わらずにシミュレーション処理を継続する。従って、仮にシミュレーションデータまたは入出力データの送信に長時間を要した場合でも、このことによってシミュレーションの動作時間が影響を受けることがない。
【0078】
また、プログラム実行部50は、ビューワ18に送信するデータ、つまり、シミュレーションデータおよび入出力データをログデータとして記憶部58に記憶させる。
【0079】
ステップS104においては、ティーチングデータに基づくロボットRの動作が終了したか否かを判断し、シミュレーション動作終了時にはステップS105へ移り、未終了時にはステップS101へ戻る。
【0080】
ステップS105においては、シーケンサ14に終了信号を送出した後に、シミュレーション動作を終了する。また、必要に応じて、記憶したログデータをビューワ18またはオフラインティーチングコンピュータ20に送信する。このログデータは、シミュレーションの動作解析に用いることができる。
【0081】
次に、シミュレーションを実行中のビューワ18の処理内容について図9を参照しながら説明する。
【0082】
図9のステップS201において、ビューワ18は、擬似コントローラ12からシミュレーションデータを受信し、このシミュレーションデータとビューワデータ110とに基づいて、関節角度画像変換機能部114によりロボットRの姿勢を演算する。受信したシミュレーションデータは時系列形式に記憶する。
【0083】
次に、ステップS202において、ロボットRの姿勢をモニタ画面18a上にソリッドモデルにより3次元表示する。表示の形式は、ワイヤフレーム形式や、数値列による情報表示等でもよい。
【0084】
次に、ステップS203において、擬似コントローラ12から入出力データを受信して、時系列形式に記憶する。
【0085】
次に、ステップS204において、入出力データに基づく情報をモニタ画面18a上にグラフィック形式または文字情報形式で表示する。
【0086】
次いで、ステップS205において、シミュレーションが終了したか否かを判断する。すなわち、擬似操作盤16から終了信号を受信した場合には、次のステップS206へ移り、終了信号が検出されない場合にはステップS201に戻る。
【0087】
ステップS206においては、記憶したシミュレーションデータおよび入出力データに基づいてロボットRの動作のタイミングチャートを生成する。このタイミングチャートは、シミュレーションの開始から終了までの間における動作、溶接、所定の条件による待機、エラー発生等のロボットRの状態を時系列的に表す。生成したタイミングチャートは、モニタ画面18a上に表示するとともに所定の記憶部に記憶する。
【0088】
このステップS201〜S205で形成されるループは、微小時間で実行されるので、モニタ画面18aには、ロボットRの姿勢および入出力データに基づく情報がリアルタイムで表示される。
【0089】
擬似コントローラ12における処理およびビューワ18における処理は、図7および図9に示すような順番で実行される必要はなく、例えば、マルチタスク処理によって複数の処理を同時並列的に行うようにしてもよい。また、例えば、所定の信号を検出し次第、所定のステップを割り込み形式で実行してもよい。
【0090】
上述したように、本実施の形態に係るシミュレーション装置10では、実際のロボットコントローラ512と類似の機能をもつ擬似コントローラ12と、シーケンサ14と、FA用ネットワーク26とを用いてシミュレーションを行うようにしている。シーケンサ14およびFA用ネットワーク26は実際のシステム500(図10参照)におけるシーケンサ508およびネットワーク510と同仕様のものを使用しているので、ロボットRの動作を高い位置精度、動作時間精度で実現することができる。従って、システム500の工程における処理時間を正確に検証することができる。ビューワ18のモニタ画面18aに表示される画像は、3次元表示でしかもリアルタイムの表示であることから、実機に則した動作を把握することができる。
【0091】
また、シーケンサ14は、実際のシーケンサ508と同じサイクル時間となるように処理時間設定部94によって設定されているので、動作時間をより正確に検証できる。さらに、擬似コントローラ12は、ロボットコントローラ512と同様に先読み機能部60を有するので、実際の動作と同様な滑らかな動作をシミュレートすることができ、シミュレーションの位置精度および実行時間精度が高い。
【0092】
擬似コントローラ12は、ロボット擬似動作部64の作用によって指令値と実際のロボットRの姿勢との動作のずれ量を推定して補正した後にビューワ18に供給するので、ロボットRの姿勢をより正確に求めることができる。また、ロボットRの動作時間をより正確に実現することができる。
【0093】
ビューワ18は、ロボットRの姿勢や入出力データに基づく情報をモニタ画面18aに表示し、それ以外の処理(例えば、ティーチングデータの解析や実行またはインターロック判断)を行う必要がないので簡便なシステムにすることができる。また、擬似コントローラ12やシーケンサ14におけるシミュレーションの精度がビューワ18の能力によって影響を受けることがない。
【0094】
さらに、本実施の形態に係るシミュレーション装置10では、実際のロボット502(図10参照)および駆動用のパワーアンプ等が不要であり、オフラインティーチングの特徴を活かすことができる。従って、ロボット502を導入する際またはロボット502の配置を変更する場合等において、事前にシミュレーションを行うことにより動作検証を行うことができる。
【0095】
擬似操作盤16およびビューワ18は、互いの機能の一部または全部を共通にしてもよい。
【0096】
本発明に係るシミュレーション装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0097】
【発明の効果】
以上説明したように、本発明に係るシミュレーション装置によれば、オフラインティーチングによって作成したティーチングデータによるロボットの動作を高精度の動作時間でシミュレーションするという効果を達成することができる。これにより、実際のシステムにおける生産工程の処理時間を正確に検証することができる。
【図面の簡単な説明】
【図1】本実施の形態に係るシミュレーション装置を構成する機器の接続図である。
【図2】本実施の形態に係るシミュレーション装置のブロック図である。
【図3】シミュレーション対象のロボットの斜視図である。
【図4】擬似コントローラの内部ブロック図である。
【図5】擬似操作盤のモニタ画面上に表示される操作画面である。
【図6】シミュレーションの手順を示すフローチャートである。
【図7】擬似コントローラの処理内容を示すフローチャートである。
【図8】ロボットがティーチングデータに基づいて動作する動作経路を示す模式図である。
【図9】ビューワの処理内容を示すフローチャートである。
【図10】実際のシステムの概略ブロック図である。
【符号の説明】
10…シミュレーション装置 12…擬似コントローラ
14、508…シーケンサ 16…擬似操作盤
18…ビューワ
20…オフラインティーチングコンピュータ
26…FA用ネットワーク 28…汎用ネットワーク
50…プログラム実行部 52…擬似動作部
54…入出力部 56…制御処理部
60…先読み機能部 64…ロボット擬似動作部
84…情報取得機能部 86…シミュレーションデータ送出部
88、90…ポート 94…処理時間設定部
96…動作処理機能部 98…入出力処理時間設定部
100…内部処理時間設定部 102…画面生成用設定ファイル
104…擬似操作処理部 106…入力・表示機能部
108…時間測定機能部 110…ビューワデータ
112…画像変換部 114…関節角度画像変換機能部
116…I・O情報画像変換機能部 502、R…ロボット
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a simulation device for verifying the operation of a system having an articulated robot, and more particularly, to a system having a robot controller for controlling the operation of a robot and a sequencer connected to the robot controller via communication means. The present invention relates to a simulation device for performing operation verification.
[0002]
[Prior art]
2. Description of the Related Art Articulated robots are used in a process of joining pressed parts of an automobile and the like. The teaching of the operation of such a robot is performed by using a three-dimensional CAD or the like to perform off-line teaching that eliminates the need for an actual robot, so-called off-line teaching.
[0003]
In practice, the robot does not operate alone. For example, in the case of a system 500 having a configuration as shown in FIG. 10, a robot controller 512 that controls the robot 502 and operations such as start and stop of the operation of the robot And a sequencer (also called a programmable logic controller) 508 provided between the robot controller 512 and the operation panel 518. The sequencer 508 and the robot controller 512 are connected via a network 510 for FA. The sequencer 508 is also connected to a transport line (not shown) or the like to perform control. The basic operation of the system 500 can be operated by an operator through an operation panel 518.
[0004]
As the robot 502, for example, an articulated industrial robot having six degrees of freedom due to the movement of six joints is used. A welding gun 520 is provided at the tip of the robot 502, and the workpiece 524 can be welded by the welding gun 520.
[0005]
By the way, after performing the teaching operation by the offline teaching, it is necessary to perform a simulation in order to verify the operation. However, this simulation requires that the position accuracy and the execution time of the operation be high with respect to the actual machine. .
[0006]
As a method for performing a simulation, a method in which a model on a simulation device and an actual machine are simultaneously operated to mutually confirm the operation between the model and an actual robot (for example, see Patent Literature 1), or a plurality of types having different robot languages A method of confirming the consistency of the operation at each teaching point for the robot (for example, see Patent Document 2) has been proposed.
[0007]
[Patent Document 1]
JP-A-8-87316 (FIG. 1)
[Patent Document 2]
JP-A-2002-36156 (paragraphs [0027] to [0038])
[0008]
[Problems to be solved by the invention]
By the way, when a simulation of the system 500 including the robot 502 (see FIG. 10) is performed, an error may occur in comparison with the actual operation time for the following reasons.
[0009]
That is, in the system 500 in which the robots 502 are densely arranged, an error based on the communication time occurs because the communication time of the network 510 between the robot controller 512 and the sequencer 508 is not considered. Further, since the processing speed of the sequencer 508 differs depending on the type, it is difficult to accurately simulate the system 500 including the sequencer 508 in one computer.
[0010]
In addition, in the method disclosed in Patent Document 1 among the above-described conventional techniques, the operation verification is performed by moving an actual robot, so that the feature of off-line teaching that an actual machine is unnecessary for the teaching process is not utilized.
[0011]
In the method disclosed in Patent Document 2 described above, since the operation is verified for each teaching point, the simulation process is interrupted at the teaching point, and an error occurs when the robot performs a complicated operation continuously. . In other words, in order to confirm the operation for each teaching point, a pre-reading operation of the teaching point, that is, performing a calculation preceding in time, cannot be performed. Further, since the simulation is performed while outputting the teaching data from the robot simulator to the robot controller, the accuracy and time of the simulation depend on the capability of the robot simulator.
[0012]
Furthermore, in the methods disclosed in Patent Literatures 1 and 2, the effects of the sequencer and the communication unit are not taken into account, so that an error occurs due to the sequencer and the communication unit.
[0013]
The present invention has been made in view of such a problem, and an object of the present invention is to provide a simulation device that can simulate the operation of a robot with highly accurate operation time using teaching data created by offline teaching. And
[0014]
[Means for Solving the Problems]
A simulation device according to the present invention is a simulation device for verifying the operation of a system having an articulated robot, in which teaching data for a robot is stored, and based on the teaching data, controls the operation of a virtual robot indicating the robot. A virtual controller that generates simulation data indicating the amount of motion of each joint of the virtual robot in real time, a main communication unit that connects the sequencer and the pseudo controller, and at least the main communication unit A sequencer for controlling a pseudo controller, a pseudo operation panel for transmitting and receiving operation signals to at least the sequencer, a viewer for displaying information on the posture of the virtual robot based on the simulation data, and a pseudo controller Said has a sub-communication unit for connecting the viewer, and the pseudo controller, and supplying said to the simulation data via the auxiliary communication means the viewer.
[0015]
By selecting a device similar or the same as the device in the actual system for the pseudo controller, the pseudo operation panel, the sequencer and the main communication means, the difference from the configuration of the actual device is reduced, and the robot using the teaching data created by offline teaching is used. The operation can be simulated with a highly accurate operation time.
[0016]
Also, the simulation data is supplied to the viewer via the sub-communication means, so that the viewer can monitor and verify the simulation status in real time.
[0017]
In this case, if the viewer displays the virtual robot three-dimensionally, it is easy to grasp the operation state.
[0018]
Further, the pseudo controller supplies input / output information on output data or input data based on the teaching data to the viewer in real time via the sub-communication means, and the viewer displays the input / output information. It may be.
[0019]
Further, the pseudo controller has a function of estimating a tracking delay time for an operation command value for the virtual robot. If the simulation data is generated in consideration of the tracking delay time, a more accurate simulation can be performed. .
[0020]
The pseudo controller has an additional axis operation estimation function unit for estimating the operation time of the additional axis of the virtual robot, and supplies information on the state of the additional axis to the viewer using the additional axis operation estimation function unit. The viewer may display information on the additional axis.
[0021]
Furthermore, if the sequencer has a processing time setting function unit for setting the operation cycle of the sequencer, the sequencer can be set to the same operation cycle as the sequencer actually used, and a more accurate simulation can be performed. .
[0022]
When the simulation operation panel or the viewer has a time measurement function unit that measures a simulation execution time, the simulation time can be accurately measured and recorded.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a simulation apparatus according to the present invention will be described with reference to the accompanying drawings FIGS.
[0024]
As shown in FIGS. 1 and 2, a simulation device 10 according to the present embodiment simulates the operation of a robot 502 in a system 500 (see FIG. 10) in a virtual space. Instead of 512, the pseudo controller 12 controls the virtual robot R (see FIG. 3).
[0025]
The simulation apparatus 10 includes a pseudo controller 12, a sequencer 14 that performs a sequence process, a pseudo operation panel 16, a viewer 18 that displays a result of the simulation, and an offline teaching computer 20 that creates teaching data of the robot R. The teaching data created by the offline teaching computer 20 includes the operation program of the robot R and a plurality of teaching point data indicating the operation path.
[0026]
The simulation operation panel 16, the viewer 18, and the offline teaching computer 20 have monitor screens 16a, 18a, and 20a, respectively.
[0027]
Further, the simulation apparatus 10 has an FA network (main communication unit) 26 and a general-purpose network (sub communication unit) 28. The FA network 26 connects the pseudo controller 12 and the sequencer 14, and performs data communication between these devices. The general-purpose network 28 is connected to the pseudo controller 12, the sequencer 14, the pseudo operation panel 16, the viewer 18, the offline teaching computer 20, and the object computer 24, and performs data communication between these devices. The simulation operation panel 16 and the sequencer 14 are connected by dedicated communication means 25. The simulated operation panel 16 and the sequencer 14 may communicate with each other via the FA network 26 or the general-purpose network 28.
[0028]
The pseudo controller 12, sequencer 14, pseudo operation panel 16 and FA network 26 correspond to the actual robot controller 512, sequencer 508, operation panel 518 and network 510 in FIG.
[0029]
The robot R and the robot 502 are, for example, industrial articulated robots as shown in FIG. 3, and include a base 30, a first arm 32, a second arm 32, and a second arm 32. It has an arm 34 and a third arm 36, and a welding gun 38 provided at the tip of the third arm 36. The first arm 32 is rotatable about axes J1 and J2 that can be rotated horizontally and vertically with respect to the base 30. The second arm 34 is rotatably connected to the first arm 32 about a shaft J3. The second arm 34 can be twisted and rotated by the axis J4. The third arm 36 is rotatably connected to the second arm 34 about a shaft J5. The third arm 36 can be twisted and rotated by the axis J6. Further, depending on the work content, the robot R may be provided with an additional axis. For example, a rotatable or telescopic seventh shaft (not shown) may be provided between the tip of the third arm 36 and the welding gun 38.
[0030]
The robot R and the robot 502 are not limited to the welding robot, but may be an assembly robot or a painting robot.
[0031]
As shown in FIG. 4, the pseudo controller 12 includes a program execution unit 50, a pseudo operation unit 52, and an input / output unit 54, and operates similarly to the robot controller 512 (see FIG. 10).
[0032]
The program execution unit 50 has a control processing unit 56 and a storage unit 58, stores the teaching data supplied from the offline teaching computer 20 in the storage unit 58, and the control processing unit 56 controls the robot R and the robot R based on the teaching data. A movement command value for the welding gun 38 is generated. The generated movement command value is supplied to the pseudo operation unit 52 as a value of each of the axes J1 to J6 of the robot R and the opening degree of the welding gun 38.
[0033]
The control processing unit 56 has a prefetch function unit 60. The pre-reading function unit 60 generates a movement command value prior to the operation of the robot R at a location where the teaching point T (see FIG. 8) included in the teaching data is close in space. Thereby, the robot R can perform a smooth operation.
[0034]
The function of the prefetch function unit 60 is the same as the function of the actual robot controller 512.
[0035]
The pseudo operation unit 52 estimates the posture of the robot R based on the movement command values of the axes J1 to J6 and the movement command value of the welding gun 38 supplied from the program execution unit 50. The result obtained by the estimation is supplied to the viewer 18 via the program execution unit 50 and the input / output unit 54 as simulation data.
[0036]
The pseudo operation unit 52 includes a robot pseudo operation unit 64 for estimating the operation of each axis J1 to J6 of the robot R, and an additional axis pseudo operation unit 66 for estimating the operation of the additional axis.
[0037]
The simulation data is represented by a set of data strings M = (θ1, θ2, θ3, θ4, θ5, θ6, θ7). Among them, the data θ1 to θ6 are angles (movement amounts) of the axes J1 to J6 of the robot R, and are obtained by the robot pseudo operation unit 64. The data θ7 is the operation amount of the additional axis, and is obtained by the additional axis pseudo operation unit 66.
[0038]
The robot pseudo operation unit 64 estimates a mechanical following delay time of each of the axes J1 to J6 with respect to the command value, and a robot following delay estimating unit 70, and estimates a delay of the arrival time with respect to the operation time scheduled based on the teaching data. And a robot arrival delay time estimating unit 72.
[0039]
The additional axis pseudo operation unit 66 includes an additional axis follow-up delay time estimating unit 74 for estimating the mechanical follow-up delay time of the additional axis, and an additional unit for estimating the delay of the arrival time of the additional axis with respect to the scheduled operation time based on the teaching data. It has an axis arrival delay time estimating unit 76 and an additional axis torque arrival delay time estimating unit 78 that detects the current value of the additional axis and estimates the torque delay time. The additional shaft torque arrival delay time estimating unit 78 has a bending time estimating unit 80 for estimating the mechanical bending time of the additional shaft, and a torque stabilizing time estimating unit 82 for estimating the time until the torque is stabilized.
[0040]
The robot pseudo operation unit 64 does not have a function corresponding to the additional axis torque arrival delay time estimating unit 78, but the joints other than the additional axis, that is, the axes J1 to J6 are similarly estimated by the prefetching function unit 60. Is possible.
[0041]
The input / output unit 54 is provided to the viewer 18 via the general-purpose network 28 and an information acquisition function unit 84 for detecting a signal input / output to / from the FA network 26 and a signal between the program execution unit 50 and the pseudo operation unit 52. It has a simulation data sending unit 86 that sends simulation data and input / output data (input / output information).
[0042]
The input / output data includes, for example, data transmitted and received between the welding gun 38 and the additional axis, an error signal, a servo-on signal, a servo-off signal, and the like. Each signal constituting the input / output data is a 1-bit signal represented by ON / OFF.
Therefore, for example, if the signal constituting the input / output data is about 128 points (16 bytes), it can be transmitted at high speed by the general-purpose network 28.
[0043]
The input / output unit 54 is connected to a first port 88 serving as an interface with the general-purpose network 28 and a second port 90 serving as an interface with the FA network 26.
[0044]
The second port 90 and the program execution unit 50 in the pseudo controller 12 have substantially the same specifications as the ports and the program execution unit in the actual robot controller 512.
[0045]
Returning to FIG. 2, the sequencer 14 controls the operation of the pseudo controller 12 by a sequence process, and hardware having the same specifications as the actual sequencer 508 is used.
[0046]
The sequencer 14 includes a program generation file 92 in which conditions for converting a ladder program supplied from the outside into an executable sequence program are described, a processing time setting unit 94 for setting a cycle time of the sequence program, An operation processing function unit 96 for executing the generated sequence program.
[0047]
The processing time setting unit 94 has an input / output processing time setting unit 98 and an internal processing time setting unit 100, and wait time and the like are set so that the cycle time is the same as that of the actual sequencer 508. The sequencer 14 has an input / output unit 27 for inputting / outputting data to / from the FA network 26.
[0048]
The sequence program executed by the sequencer 14 is basically the same as the sequence program 508. Therefore, for example, the sequencer 14 can also control the actual robot controller 512.
[0049]
The sequencer 14 transmits and receives a predetermined control signal from the pseudo controller 12 to the robot R via the FA network 26.
[0050]
The simulated operation panel 16 sets the screen of the monitor screen 16a based on the screen generation setting file 102 supplied from the outside, and the simulated operation processing unit 104 substitutes the operation of the actual operation panel 518 (see FIG. 10). . The pseudo operation processing unit 104 includes an input / display function unit 106 for performing input and display, and a time measurement function unit 108 for measuring the time from the start to the end of the simulation. For the input / display function unit 106, a general-purpose keyboard, mouse, and monitor can be used. The monitor screen 16a of the simulated operation panel 16 may be a touch panel type. The time measurement function unit 108 can use a timer function included in the operating system. When the actual operation panel 518 is movable, the operation panel 518 itself may be connected to the general-purpose network 28 and used as the pseudo operation panel 16. In addition, the pseudo operation panel 16 can transmit a simulation start signal (operation signal) to the sequencer 14 by a predetermined operation.
[0051]
As shown in FIG. 5, a window-type operation screen 109 operable with a mouse is displayed on the monitor screen 16 a of the simulated operation panel 16. In the operation screen 109, the indicator 109a is an area indicating the actual situation of the simulation based on the input / output data. The cycle time display table 109b is an area for displaying the simulation time measured by the time measurement function unit 108. The simulation time displayed on the cycle time display table 109b is recorded in a predetermined recording unit. The model combo box 109c is an area for selecting and displaying the model of the robot R. The tag panel 109d is an area for displaying an alarm and its description. The first mode selection switch unit 109e and the second mode selection switch unit 109f are regions for selecting an operation mode of the simulation.
[0052]
Since the sequencer 14 is generally provided with a timekeeping function, the simulation time measured by the timekeeping function may be displayed on the cycle time display table 109b.
[0053]
The display on the operation screen 109 may be performed by other appropriate methods. For example, information displayed as a character string may be indicated by a symbol or a change in color.
[0054]
Returning to FIG. 2, the viewer 18 is a computer that displays the result of the simulation in real time, and includes viewer data 110 and an image conversion unit 112. The viewer data 110 is information such as the joint configuration, dimensions, and installation positions of the robot R. The viewer data 110 can be supplied from the outside and can be rewritten.
[0055]
The image conversion unit 112 includes a joint angle image conversion function unit 114 and an I / O information image conversion function unit 116. The joint angle image conversion function unit 114 three-dimensionally displays the robot R with a solid model based on the simulation data supplied from the pseudo controller 12 and the viewer data 110.
[0056]
The I / O information image conversion function unit 116 displays the contents of input / output data supplied from the pseudo controller 12. Further, the I / O information image conversion function unit 116 has a function of displaying supplied input / output data in a list format, and changing a display color of the solid model based on a predetermined signal in the input / output data. For example, when an error signal or a servo-on signal is generated, the color of the corresponding robot R or the corresponding portion is changed or blinked.
[0057]
The viewer 18 displays the result of the simulation, and does not execute or analyze the operation program of the robot R, so that a general-purpose three-dimensional CAD system can be applied. The viewer 18 can use general functions of three-dimensional CAD, for example, functions such as changing a viewpoint position and displaying enlarged / reduced images.
[0058]
The offline teaching computer 20 creates teaching data of the robot R offline. The offline teaching computer 20 can sequentially set a series of operations as teaching point data while displaying the robot R three-dimensionally.
[0059]
The offline teaching computer 20 does not necessarily need to be connected to the general-purpose network 28. The teaching data created by the offline teaching computer 20 may be loaded into the pseudo controller 12 via another communication means or a general-purpose recording medium.
[0060]
Next, a method of performing a simulation using the simulation apparatus 10 configured as described above will be described with reference to FIG.
[0061]
First, in step S1, the teaching data of the robot R is created in the offline teaching computer 20, and then the teaching data is loaded into the pseudo controller 12. Further, a corresponding ladder program is supplied to the sequencer 14, and a sequence program is generated with reference to the program generation file 92. The viewer 18 is supplied with adapted viewer data 110. The simulation operation panel 16 is supplied with the screen generation setting file 102.
[0062]
Next, in step S2, an initial process for executing a simulation is performed. In the initial processing in the sequencer 14, an operation cycle is set for the generated sequence program by the processing time setting unit 94.
[0063]
In the initial processing in the simulated operation panel 16, the setting of the monitor screen 16a and the setting of input / output conditions are performed by the supplied screen generation setting file 102.
[0064]
In the initial processing in the viewer 18, data on the robot R and peripheral equipment is recognized based on the supplied viewer data 110, and three-dimensional drawing is set.
[0065]
Next, in step S3, the operation screen 109 (see FIG. 5) of the pseudo operation panel 16 is operated to transmit a simulation operation start instruction command to the pseudo controller 12 and the sequencer 14. At this time, the time measurement function unit 108 (see FIG. 2) of the simulated operation panel 16 starts measuring the simulation time.
[0066]
Also, a production model is selected in the model combo box 109c on the operation screen 109.
Information on the production model is transmitted to the pseudo controller 12.
[0067]
The program execution unit 50 of the pseudo controller 12 starts the operation at the same time according to the data corresponding to the designated production model among the teaching data stored in the storage unit 58. The sequencer 14 executes the stored sequence program.
[0068]
Next, in step S4, the sequencer 14, the pseudo controller 12, and the viewer 18 perform a simulation operation in conjunction with each other.
[0069]
Next, in Step S5, when the processing based on the stored teaching data ends, the pseudo controller 12 transmits a signal indicating the end to the sequencer 14. After receiving the end signal from the pseudo controller 12, the sequencer 14 transmits a signal (operation signal) indicating the end of the simulation to the pseudo operation panel 16 and the viewer 18.
[0070]
With this signal, the simulated operation panel 16 and the simulated controller 12 end the processing corresponding to the simulation, and the time measurement function unit 108 of the simulated operation panel 16 calculates the time required for the simulation by using the cycle time display table 109b (see FIG. 5).
[0071]
Next, the processing of the pseudo controller 12 during the execution of the simulation will be described with reference to FIGS.
[0072]
In step S101 of FIG. 7, the program execution unit 50 of the pseudo controller 12 generates command values for the axes J1 to J6 of the robot R based on the teaching data stored in the storage unit 58 and supplies the command values to the pseudo operation unit 52. I do.
[0073]
At this time, by the action of the pre-reading function unit 60, for example, as shown in FIG. 8, the robot R moves along the operation path 152 set at a position where a number of teaching points T are close to avoid the obstacle 150. Operates, the robot R can reach the welding point P smoothly without stopping or discontinuing the operation at each teaching point T as in the case of the actual machine.
[0074]
In step S102, the pseudo operation unit 52 estimates the posture of the robot R and calculates simulation data, that is, a data string M. At this time, the operation of the robot R has a slight delay with respect to the command value. However, since the amount of this delay can be estimated by the robot pseudo operation unit 64, there is a case where the actual robot 502 (see FIG. 10) is operated. A similar attitude can be calculated.
[0075]
Next, in step S103, the calculated simulation data is supplied to the program execution unit 50. The program execution unit 50 supplies the simulation data to the viewer 18 via the input / output unit 54 every predetermined minute cycle. These simulation data may be directly supplied from the pseudo operation unit 52 to the input / output unit 54.
[0076]
Further, the program execution unit 50 supplies input / output data such as a control signal transmitted to and received from the sequencer 14 via the FA network 26, a signal to the welding gun 38, an error signal, and the like every predetermined minute cycle.
[0077]
At this time, the program execution unit 50 continues the simulation process regardless of whether the viewer 18 has received the simulation data or the input / output data. Therefore, even if it takes a long time to transmit the simulation data or the input / output data, this does not affect the operation time of the simulation.
[0078]
Further, the program execution unit 50 causes the storage unit 58 to store data to be transmitted to the viewer 18, that is, simulation data and input / output data as log data.
[0079]
In step S104, it is determined whether or not the operation of the robot R based on the teaching data has been completed. When the simulation operation is completed, the process proceeds to step S105, and when not completed, the process returns to step S101.
[0080]
In step S105, after sending an end signal to the sequencer 14, the simulation operation ends. Further, as necessary, the stored log data is transmitted to the viewer 18 or the offline teaching computer 20. This log data can be used for simulation operation analysis.
[0081]
Next, processing contents of the viewer 18 during execution of a simulation will be described with reference to FIG.
[0082]
In step S201 of FIG. 9, the viewer 18 receives the simulation data from the pseudo controller 12, and calculates the posture of the robot R by the joint angle image conversion function unit 114 based on the simulation data and the viewer data 110. The received simulation data is stored in a time-series format.
[0083]
Next, in step S202, the posture of the robot R is three-dimensionally displayed on the monitor screen 18a using a solid model. The display format may be a wire frame format, information display using a numerical sequence, or the like.
[0084]
Next, in step S203, input / output data is received from the pseudo controller 12, and stored in a time-series format.
[0085]
Next, in step S204, information based on the input / output data is displayed on the monitor screen 18a in a graphic format or a character information format.
[0086]
Next, in step S205, it is determined whether the simulation has been completed. That is, when the end signal is received from the pseudo operation panel 16, the process proceeds to the next step S206, and when the end signal is not detected, the process returns to step S201.
[0087]
In step S206, a timing chart of the operation of the robot R is generated based on the stored simulation data and input / output data. This timing chart shows, in chronological order, states of the robot R such as operation, welding, standby under predetermined conditions, occurrence of an error, and the like from the start to the end of the simulation. The generated timing chart is displayed on the monitor screen 18a and stored in a predetermined storage unit.
[0088]
Since the loop formed in steps S201 to S205 is executed in a short time, information based on the posture and input / output data of the robot R is displayed on the monitor screen 18a in real time.
[0089]
The processing in the pseudo controller 12 and the processing in the viewer 18 do not need to be performed in the order shown in FIGS. 7 and 9. For example, a plurality of processings may be performed in parallel by multitask processing. . Further, for example, as soon as a predetermined signal is detected, a predetermined step may be executed in an interrupt format.
[0090]
As described above, in the simulation device 10 according to the present embodiment, the simulation is performed using the pseudo controller 12 having a function similar to the actual robot controller 512, the sequencer 14, and the FA network 26. I have. Since the sequencer 14 and the FA network 26 use the same specifications as the sequencer 508 and the network 510 in the actual system 500 (see FIG. 10), the operation of the robot R is realized with high position accuracy and operation time accuracy. be able to. Therefore, the processing time in the process of the system 500 can be accurately verified. Since the image displayed on the monitor screen 18a of the viewer 18 is a three-dimensional display and a real-time display, it is possible to grasp the operation according to the actual device.
[0091]
Further, the sequencer 14 is set by the processing time setting unit 94 so as to have the same cycle time as the actual sequencer 508, so that the operation time can be verified more accurately. Further, since the pseudo controller 12 has the look-ahead function unit 60 like the robot controller 512, it can simulate a smooth operation similar to the actual operation, and the position accuracy and execution time accuracy of the simulation are high.
[0092]
The pseudo controller 12 estimates and corrects the difference between the operation of the command value and the actual posture of the robot R by the operation of the robot pseudo operation unit 64, and supplies the corrected value to the viewer 18, so that the posture of the robot R can be more accurately determined. You can ask. Further, the operation time of the robot R can be more accurately realized.
[0093]
The viewer 18 displays information based on the posture and input / output data of the robot R on the monitor screen 18a and does not need to perform any other processing (for example, analysis and execution of teaching data or determination of interlock), so that a simple system is used. Can be Further, the accuracy of the simulation in the pseudo controller 12 and the sequencer 14 is not affected by the capability of the viewer 18.
[0094]
Furthermore, the simulation device 10 according to the present embodiment does not require the actual robot 502 (see FIG. 10), the power amplifier for driving, and the like, and can make use of the features of the offline teaching. Therefore, when introducing the robot 502 or when changing the arrangement of the robot 502, the operation can be verified by performing a simulation in advance.
[0095]
The simulated operation panel 16 and the viewer 18 may share some or all of their functions.
[0096]
The simulation apparatus according to the present invention is not limited to the above-described embodiment, but may adopt various configurations without departing from the gist of the present invention.
[0097]
【The invention's effect】
As described above, according to the simulation device of the present invention, it is possible to achieve the effect of simulating the operation of the robot using the teaching data created by the offline teaching in a highly accurate operation time. This makes it possible to accurately verify the processing time of the production process in the actual system.
[Brief description of the drawings]
FIG. 1 is a connection diagram of devices constituting a simulation device according to the present embodiment.
FIG. 2 is a block diagram of a simulation device according to the present embodiment.
FIG. 3 is a perspective view of a robot to be simulated;
FIG. 4 is an internal block diagram of a pseudo controller.
FIG. 5 is an operation screen displayed on a monitor screen of a pseudo operation panel.
FIG. 6 is a flowchart showing a simulation procedure.
FIG. 7 is a flowchart showing processing contents of a pseudo controller.
FIG. 8 is a schematic diagram illustrating an operation path in which a robot operates based on teaching data.
FIG. 9 is a flowchart showing processing contents of a viewer.
FIG. 10 is a schematic block diagram of an actual system.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Simulation apparatus 12 ... Pseudo controller 14,508 ... Sequencer 16 ... Pseudo operation panel 18 ... Viewer 20 ... Offline teaching computer 26 ... FA network 28 ... General purpose network 50 ... Program execution part 52 ... Pseudo operation part 54 ... Input / output part 56: control processing unit 60: read-ahead function unit 64: robot pseudo operation unit 84: information acquisition function unit 86: simulation data transmission units 88 and 90: port 94: processing time setting unit 96: operation processing function unit 98: input / output processing Time setting unit 100 Internal processing time setting unit 102 Screen setting file 104 Simulation operation processing unit 106 Input / display function unit 108 Time measurement function unit 110 Viewer data 112 Image conversion unit 114 Joint angle image Conversion function unit 116: I / O information image converter Nobe 502, R… Robot

Claims (7)

多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置において、
ロボット用のティーチングデータが格納され、該ティーチングデータに基づき、前記ロボットを示す仮想ロボットの動作制御を行うとともに、前記仮想ロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成する擬似コントローラと、
前記シーケンサと前記擬似コントローラとを接続する主通信手段と、
前記主通信手段を介して、少なくとも前記擬似コントローラを制御するシーケンサと、
少なくとも前記シーケンサに対して操作信号の送受信を行う擬似操作盤と、
前記シミュレーションデータに基づいて前記仮想ロボットの姿勢に関する情報を表示するビューワと、
前記擬似コントローラと前記ビューワとを接続する副通信手段と、
を有し、
前記擬似コントローラは、前記副通信手段を介して前記シミュレーションデータを前記ビューワへ供給することを特徴とするシミュレーション装置。
In a simulation device for verifying the operation of a system having an articulated robot,
Teaching data for a robot is stored, and based on the teaching data, performs a motion control of a virtual robot indicating the robot, and generates a simulation controller indicating a motion amount of each joint of the virtual robot in real time, a pseudo controller,
Main communication means for connecting the sequencer and the pseudo controller;
A sequencer that controls at least the pseudo controller via the main communication unit;
A pseudo operation panel for transmitting and receiving operation signals to at least the sequencer;
A viewer that displays information about the posture of the virtual robot based on the simulation data;
Sub communication means for connecting the pseudo controller and the viewer,
Has,
The simulation apparatus, wherein the pseudo controller supplies the simulation data to the viewer via the sub communication unit.
請求項1記載のシミュレーション装置において、
前記ビューワは、前記仮想ロボットを3次元表示することを特徴とするシミュレーション装置。
The simulation device according to claim 1,
The simulation device, wherein the viewer displays the virtual robot three-dimensionally.
請求項1または2記載のシミュレーション装置において、
前記擬似コントローラは、前記ティーチングデータに基づく出力データまたは入力データに関する入出力情報を、前記副通信手段を介して前記ビューワにリアルタイムに供給し、
前記ビューワは、前記入出力情報を表示することを特徴とするシミュレーション装置。
The simulation device according to claim 1 or 2,
The pseudo controller supplies input / output information on output data or input data based on the teaching data to the viewer in real time via the sub-communication means,
The simulation device according to claim 1, wherein the viewer displays the input / output information.
請求項1〜3のいずれか1項に記載のシミュレーション装置において、
前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、
前記追従遅れ時間を考慮して前記シミュレーションデータを生成することを特徴とするシミュレーション装置。
The simulation device according to any one of claims 1 to 3,
The pseudo controller has an estimation function unit for following a delay time for an operation command value for the virtual robot,
A simulation apparatus that generates the simulation data in consideration of the following delay time.
請求項1〜4のいずれか1項に記載のシミュレーション装置において、
前記擬似コントローラは、前記仮想ロボットの付加軸の動作時間を推定する付加軸動作推定機能部を有し、前記付加軸動作推定機能部を用いて前記付加軸の状態に関する情報を前記ビューワに供給し、
前記ビューワは、前記付加軸に関する情報を表示することを特徴とするシミュレーション装置。
The simulation device according to any one of claims 1 to 4,
The pseudo controller has an additional axis operation estimation function unit for estimating the operation time of the additional axis of the virtual robot, and supplies information on the state of the additional axis to the viewer using the additional axis operation estimation function unit. ,
The simulation device, wherein the viewer displays information on the additional axis.
請求項1〜5のいずれか1項に記載のシミュレーション装置において、
前記シーケンサは、該シーケンサの動作周期を設定する処理時間設定機能部を有することを特徴とするシミュレーション装置。
The simulation device according to any one of claims 1 to 5,
The simulation device according to claim 1, wherein the sequencer has a processing time setting function unit for setting an operation cycle of the sequencer.
請求項1〜6のいずれか1項に記載のシミュレーション装置において、
前記模擬操作盤または前記ビューワは、シミュレーションの実行時間を計測する時間計測機能部を有することを特徴とするシミュレーション装置。
The simulation device according to any one of claims 1 to 6,
The simulation apparatus according to claim 1, wherein the simulation operation panel or the viewer includes a time measurement function unit that measures a simulation execution time.
JP2002316009A 2002-10-30 2002-10-30 Simulation device Expired - Fee Related JP3913666B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002316009A JP3913666B2 (en) 2002-10-30 2002-10-30 Simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002316009A JP3913666B2 (en) 2002-10-30 2002-10-30 Simulation device

Publications (2)

Publication Number Publication Date
JP2004151976A true JP2004151976A (en) 2004-05-27
JP3913666B2 JP3913666B2 (en) 2007-05-09

Family

ID=32459843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002316009A Expired - Fee Related JP3913666B2 (en) 2002-10-30 2002-10-30 Simulation device

Country Status (1)

Country Link
JP (1) JP3913666B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007061983A (en) * 2005-09-01 2007-03-15 Fanuc Ltd Robot monitoring system
JP2014073576A (en) * 2013-12-26 2014-04-24 Seiko Epson Corp Robot control system and robot control method
CN104750023A (en) * 2015-02-13 2015-07-01 河北联合大学 Model based welding robot offline training data acquisition method
JP2017196722A (en) * 2016-04-28 2017-11-02 ファナック株式会社 Robot control apparatus for displaying operation program including state of additional axis
CN107685326A (en) * 2016-08-04 2018-02-13 发那科株式会社 Analogue means
CN109507953A (en) * 2017-09-14 2019-03-22 大隈株式会社 Machining simulation machine
CN112543695A (en) * 2018-08-09 2021-03-23 株式会社富士 Simulation method and simulation system
CN113394779A (en) * 2021-07-20 2021-09-14 国网江苏省电力有限公司宿迁供电分公司 Virtual power distribution terminal model based on in-place FA logic
CN114603552A (en) * 2020-12-08 2022-06-10 北京配天技术有限公司 Robot simulation method, electronic device and storage medium
WO2023019732A1 (en) * 2021-08-16 2023-02-23 深圳市优必选科技股份有限公司 Method and apparatus for determining configuration information of robot joint, and terminal device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007061983A (en) * 2005-09-01 2007-03-15 Fanuc Ltd Robot monitoring system
JP2014073576A (en) * 2013-12-26 2014-04-24 Seiko Epson Corp Robot control system and robot control method
CN104750023A (en) * 2015-02-13 2015-07-01 河北联合大学 Model based welding robot offline training data acquisition method
US10315305B2 (en) 2016-04-28 2019-06-11 Fanuc Corporation Robot control apparatus which displays operation program including state of additional axis
JP2017196722A (en) * 2016-04-28 2017-11-02 ファナック株式会社 Robot control apparatus for displaying operation program including state of additional axis
CN107685326A (en) * 2016-08-04 2018-02-13 发那科株式会社 Analogue means
CN107685326B (en) * 2016-08-04 2019-02-15 发那科株式会社 Simulator
CN109507953A (en) * 2017-09-14 2019-03-22 大隈株式会社 Machining simulation machine
CN112543695A (en) * 2018-08-09 2021-03-23 株式会社富士 Simulation method and simulation system
CN114603552A (en) * 2020-12-08 2022-06-10 北京配天技术有限公司 Robot simulation method, electronic device and storage medium
CN114603552B (en) * 2020-12-08 2024-05-10 北京配天技术有限公司 Robot simulation method, electronic equipment and storage medium
CN113394779A (en) * 2021-07-20 2021-09-14 国网江苏省电力有限公司宿迁供电分公司 Virtual power distribution terminal model based on in-place FA logic
WO2023019732A1 (en) * 2021-08-16 2023-02-23 深圳市优必选科技股份有限公司 Method and apparatus for determining configuration information of robot joint, and terminal device

Also Published As

Publication number Publication date
JP3913666B2 (en) 2007-05-09

Similar Documents

Publication Publication Date Title
EP1310844B1 (en) Simulation device
US6928337B2 (en) Robot simulation apparatus
EP1921526B1 (en) Method of evaluating and correcting robot program and device for evaluating and correcting robot program
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
US9731419B2 (en) System and method for programming robots
US7945349B2 (en) Method and a system for facilitating calibration of an off-line programmed robot cell
JP7052250B2 (en) Information processing equipment, information processing methods, and information processing programs
JP3913666B2 (en) Simulation device
JP2004259112A (en) Evaluation system, evaluation method, and motion controller
JP2006281330A (en) Robot simulation device
JP3927482B2 (en) Simulation device
JPH10143221A (en) System and method for supporting development of equipment control program
JPH07200019A (en) Robot controller
JP2009070181A (en) Operation program creation support system
JPH05324022A (en) Computer connection type robot controller
JP2004148428A (en) Simulation device
WO2023171722A1 (en) Program generation device and program generation method
JP2001042907A (en) Sequence controller
JPH0938876A (en) Simulation device
CN116619394B (en) Industrial robot simulation method, device, equipment and storage medium
JP7485705B2 (en) ROBOT SYSTEM, TASK GENERATION DEVICE, AND CONTROL METHOD
JPH02137674A (en) Automatic welding system
JP2001150373A (en) Robot simulation device and robot control device
KR102403568B1 (en) Robot teaching apparatus and method for teaching robot using the same
JP7276359B2 (en) Motion command generation device, mechanism control system, computer program, motion command generation method, and mechanism control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20041201

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20061020

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Effective date: 20061225

Free format text: JAPANESE INTERMEDIATE CODE: A523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070131

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20100209

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20110209

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20110209

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20130209

LAPS Cancellation because of no payment of annual fees