JP3913666B2 - Simulation device - Google Patents

Simulation device Download PDF

Info

Publication number
JP3913666B2
JP3913666B2 JP2002316009A JP2002316009A JP3913666B2 JP 3913666 B2 JP3913666 B2 JP 3913666B2 JP 2002316009 A JP2002316009 A JP 2002316009A JP 2002316009 A JP2002316009 A JP 2002316009A JP 3913666 B2 JP3913666 B2 JP 3913666B2
Authority
JP
Japan
Prior art keywords
simulation
robot
data
pseudo
viewer
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.)
Expired - Fee Related
Application number
JP2002316009A
Other languages
Japanese (ja)
Other versions
JP2004151976A (en
Inventor
裕樹 橋本
伸治 今井
克己 武石
博志 一ノ宮
Original Assignee
本田技研工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 本田技研工業株式会社 filed Critical 本田技研工業株式会社
Priority to 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
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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】
さらに、前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、前記追従遅れ時間を考慮して前記シミュレーションデータを生成すると、より正確なシミュレーションを行うことができる。
【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]
BACKGROUND OF THE INVENTION
The present invention relates to a simulation apparatus for verifying the operation of a system having an articulated robot, and in particular, a system having a robot controller for controlling the operation of the robot and a sequencer connected to the robot controller via communication means. The present invention relates to a simulation apparatus that performs operation verification.
[0002]
[Prior art]
Articulated robots are used in the joining process of press parts of automobiles. For such robot operation teaching, off-line teaching, that is, so-called off-line teaching, which does not require an actual robot by using three-dimensional CAD or the like is performed.
[0003]
In practice, the robot does not operate alone. For example, in the case of the system 500 configured as shown in FIG. 10, the robot controller 512 that controls the robot 502 and operations such as starting and stopping the robot operation are performed. And a sequencer (also referred to as 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 by a network 510 for FA. Further, the sequencer 508 is connected to a transfer line (not shown) or the like for 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 by the operation 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 teaching operation by offline teaching, it is necessary to perform a simulation in order to verify the operation. However, this simulation requires a high positional accuracy and execution time accuracy for the actual machine. .
[0006]
As a simulation method, a model on a simulation apparatus and an actual machine are simultaneously operated to mutually check the operation of the model and an actual robot (for example, refer to Patent Document 1), or a plurality of types having different robot languages. For this robot, a method for confirming the consistency of motion at each teaching point has been proposed (for example, see Patent Document 2).
[0007]
[Patent Document 1]
JP-A-8-87316 (FIG. 1)
[Patent Document 2]
JP 2002-36156 A (paragraphs [0027] to [0038])
[0008]
[Problems to be solved by the invention]
By the way, when a simulation of the system 500 (see FIG. 10) including the robot 502 is performed, an error may occur in comparison with the actual operation time for the following reason.
[0009]
That is, in the system 500 in which the robots 502 are arranged at high density, the communication time by the network 510 between the robot controller 512 and the sequencer 508 is not taken into consideration, and an error based on this communication time occurs. Furthermore, 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 within one computer.
[0010]
Moreover, in the method disclosed in Patent Document 1 among the above-described prior arts, since the operation verification is performed by moving an actual robot, the off-line teaching feature that an actual machine is unnecessary for teaching processing is not utilized.
[0011]
In the method disclosed in Patent Document 2, the simulation process is interrupted at the teaching point in order to verify the operation for each teaching point, and an error occurs when the robot performs a complex operation continuously. . In other words, in order to check the operation for each teaching point, it is impossible to perform a prefetching operation of the teaching point in which a calculation that precedes in time is performed. Furthermore, since simulation is performed while teaching data is output from the robot simulator to the robot controller, the accuracy and time of the simulation depend on the ability of the robot simulator.
[0012]
Furthermore, in the methods disclosed in Patent Documents 1 and 2, since the actions of the sequencer and the communication means are not taken into consideration, errors due to these sequencers and the communication means occur.
[0013]
The present invention has been made in consideration of such problems, and an object of the present invention is to provide a simulation apparatus that enables simulation of robot operation based on teaching data created by off-line teaching in a highly accurate operation time. And
[0014]
[Means for Solving the Problems]
The simulation apparatus according to the present invention is a simulation apparatus for performing an operation verification of a system having an articulated robot. Teaching data for the robot is stored, and based on the teaching data, operation control of the virtual robot indicating the robot is performed. And a pseudo controller that generates simulation data indicating the movement amount of each joint of the virtual robot in real time , main Via a communication means, a sequencer that controls at least the pseudo controller, a pseudo operation panel that transmits / receives operation signals to / from the sequencer, and a viewer that displays information related to the posture of the virtual robot based on the simulation data. And a sub-communication means for connecting the pseudo controller and the viewer, wherein the pseudo controller supplies the simulation data to the viewer via the sub-communication means.
[0015]
By selecting devices similar or identical to the devices in the actual system for the pseudo controller, pseudo operation panel, sequencer, and main communication means, the difference with the actual machine configuration is reduced, and the robot data based on teaching data created by offline teaching is reduced. The operation can be simulated with a highly accurate operation time.
[0016]
Further, since the simulation data is supplied to the viewer via the sub-communication means, the simulation status can be monitored and verified in real time by the viewer.
[0017]
In this case, the viewer can easily grasp the operation state when the virtual robot is three-dimensionally displayed.
[0018]
Further, the pseudo controller supplies input / output information related to 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]
Furthermore, the pseudo controller has a function for estimating a tracking delay time with respect to an operation command value for the virtual robot. When the simulation data is generated in consideration of the tracking delay time, a more accurate simulation can be performed. .
[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 more accurate simulation can be performed. .
[0022]
If the simulated operation panel or the viewer has a time measurement function unit that measures the simulation execution time, the simulation time can be accurately measured and recorded.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EXEMPLARY EMBODIMENTS A simulation apparatus according to the present invention will be described below with reference to FIGS.
[0024]
As shown in FIGS. 1 and 2, the simulation apparatus 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 sequence processing, a pseudo operation panel 16, a viewer 18 that displays a simulation result, and an offline teaching computer 20 that creates teaching data of the robot R. The teaching data created by the off-line teaching computer 20 is composed of the operation program itself of the robot R and a plurality of teaching point data indicating the operation path.
[0026]
The pseudo operation panel 16, the viewer 18, and the offline teaching computer 20 include monitor screens 16a, 18a, and 20a, respectively.
[0027]
The simulation apparatus 10 also includes an FA network (main communication means) 26 and a general-purpose network (sub communication means) 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 pseudo operation panel 16 and the sequencer 14 are connected by dedicated communication means 25. The pseudo 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, the sequencer 14, the pseudo operation panel 16, and the FA network 26 correspond to the actual robot controller 512, the sequencer 508, the operation panel 518, and the network 510 in FIG.
[0029]
The robot R and the robot 502 are industrial articulated robots as shown in FIG. 3, for example. The robot R and the robot 502 are a base unit 30, a first arm 32, and a second arm in order from the base unit 30 toward the tip of the robot. The arm 34 and the third arm 36, and a welding gun 38 provided at the tip of the third arm 36 are provided. The first arm 32 can be rotated by axes J1 and J2 that can be rotated horizontally and vertically with respect to the base portion 30. The second arm 34 is connected to the first arm 32 so as to be rotatable about the axis J3. The second arm 34 can be rotated by an axis J4. The third arm 36 is connected to the second arm 34 so as to be rotatable about an axis 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 seventh shaft (not shown) that is rotatable or telescopic 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 welding robots, but may be assembly robots or painting robots.
[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 includes 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 uses 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 the values of the opening degrees of the axes J1 to J6 of the robot R and the welding gun 38.
[0033]
The control processing unit 56 has a prefetch function unit 60. The prefetch 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 functions of the prefetch function unit 60 are the same as the functions that the actual robot controller 512 has.
[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 as simulation data to the viewer 18 via the program execution unit 50 and the input / output unit 54.
[0036]
The simulated motion unit 52 includes a robot simulated motion unit 64 that estimates the motion of each axis J1 to J6 of the robot R, and an additional axis simulated motion unit 66 that estimates the motion 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 these, the data θ1 to θ6 are angles (motion amounts) of the axes J1 to J6 of the robot R, and are obtained by the robot simulated operation unit 64. Data θ7 is the amount of movement of the additional axis, and is obtained by the additional axis pseudo-motion unit 66.
[0038]
The robot simulated operation unit 64 estimates a robot follow-up delay time estimation unit 70 that estimates the mechanical follow-up delay time of each axis J1 to J6 with respect to the command value, and estimates the arrival time delay with respect to the scheduled operation time based on the teaching data. A robot arrival delay time estimation unit 72.
[0039]
The additional axis pseudo operation unit 66 includes an additional axis tracking delay time estimation unit 74 that estimates a mechanical tracking delay time of the additional axis, and an addition that estimates a delay in arrival time of the additional axis with respect to a scheduled operation time based on teaching data. A shaft arrival delay time estimation unit 76 and an additional shaft torque arrival delay time estimation unit 78 that detects a current value of the additional shaft and estimates a torque delay time are included. The additional shaft torque arrival delay time estimation unit 78 includes a deflection time estimation unit 80 that estimates a mechanical deflection time of the additional shaft, and a torque stabilization time estimation unit 82 that estimates a time until the torque is stabilized.
[0040]
The robot simulated operation unit 64 is not provided with a function corresponding to the additional axis torque arrival delay time estimation unit 78, but the pre-reading function unit 60 similarly estimates the joints other than the additional axis, that is, the axes J1 to J6. Is possible.
[0041]
The input / output unit 54 is connected to the viewer 18 via the general-purpose network 28 and the information acquisition function unit 84 that detects input / output signals to the FA network 26 and signals between the program execution unit 50 and the pseudo operation unit 52. A simulation data sending unit 86 for sending simulation data and input / output data (input / output information);
[0042]
Examples of the input / output data include data transmitted / received to / from the welding gun 38 or the additional shaft, 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 that is an interface with the general-purpose network 28 and a second port 90 that is an interface with the FA network 26.
[0044]
The second port 90 and the program execution unit 50 in the pseudo controller 12 are configured to 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 sequence processing, 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 an externally supplied ladder program into an executable sequence program are described, a processing time setting unit 94 for setting the cycle time of the sequence program, And an operation processing function unit 96 for executing the generated sequence program.
[0047]
The processing time setting unit 94 includes an input / output processing time setting unit 98 and an internal processing time setting unit 100, and wait times and the like are set so that the cycle time is the same as that of the actual sequencer 508. In addition, the sequencer 14 has an input / output unit 27 that performs input / output with respect to the FA network 26.
[0048]
The sequence program executed by the sequencer 14 is basically the same as the sequencer 508. Therefore, for example, the sequencer 14 can control the actual robot controller 512.
[0049]
The sequencer 14 transmits and receives predetermined control signals from the pseudo controller 12 to the robot R via the FA network 26.
[0050]
The pseudo operation panel 16 performs screen setting of the monitor screen 16a based on the screen generation setting file 102 supplied from the outside, and the pseudo operation processing unit 104 substitutes the action of the actual operation panel 518 (see FIG. 10). . The pseudo operation processing unit 104 includes an input / display function unit 106 that performs input and display, and a time measurement function unit 108 that measures the time from the start to the end of the simulation. A general-purpose keyboard, mouse, and monitor can be used for the input / display function unit 106. The monitor screen 16a of the pseudo operation panel 16 may be a touch panel type. The time measurement function unit 108 can use a timer function provided 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 simulated operation panel 16. The pseudo operation panel 16 can transmit a simulation start signal (operation signal) to the sequencer 14 by a predetermined operation.
[0051]
On the monitor screen 16a of the pseudo operation panel 16, a window-type operation screen 109 that can be operated with a mouse is displayed as shown in FIG. In this operation screen 109, the indicator 109a is an area indicating the actual situation of simulation based on input / output data. The cycle time display table 109b is an area for displaying the simulation time measured by the time measurement function unit. The simulation time displayed in 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 explanation. The first mode selection switch unit 109e and the second mode selection switch unit 109f are regions for selecting an operation mode of simulation.
[0052]
Since the sequencer 14 is generally provided with a time measuring function, the simulation time measured by this time measuring 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 change in a symbol or a color.
[0054]
Returning to FIG. 2, the viewer 18 is a computer that displays simulation results 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 position 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 as 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 the input / output data supplied from the pseudo controller 12. The I / O information image conversion function unit 116 has a function of displaying the supplied input / output data in a list format and changing the display color of the solid model based on a predetermined signal of 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 location 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 the three-dimensional CAD, for example, functions such as changing the viewpoint position and enlarging / reducing display.
[0058]
The offline teaching computer 20 creates teaching data of the robot R offline. The off-line 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 is not necessarily connected to the general-purpose network 28. Teaching data created by the off-line teaching computer 20 may be loaded into the pseudo controller 12 via other communication means or a general-purpose recording medium.
[0060]
Next, a method for performing a simulation using the simulation apparatus 10 configured as described above will be described with reference to FIG.
[0061]
First, in step S1, after the teaching data of the robot R is created in the off-line teaching computer 20, this 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 while referring to the program generation file 92. Applicable viewer data 110 is supplied to the viewer 18. A screen generation setting file 102 is supplied to the pseudo operation panel 16.
[0062]
Next, in step S2, an initial process for executing a simulation is performed. In the initial process in the sequencer 14, the operation period is set by the processing time setting unit 94 for the generated sequence program.
[0063]
In the initial process in the simulated operation panel 16, the monitor screen 16a and the input / output conditions are set by the supplied screen generation setting file 102.
[0064]
In the initial processing in the viewer 18, data relating to the robot R and peripheral equipment is recognized from 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]
In addition, a production model is selected by a model combo box 109c on the operation screen 109. Information regarding the production model is transmitted to the pseudo controller 12.
[0067]
The program execution unit 50 of the pseudo controller 12 starts operation simultaneously 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 S <b> 5, when the process 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 pseudo operation panel 16 and the pseudo controller 12 end the processing corresponding to the simulation, and the time measurement function unit 108 of the pseudo operation panel 16 indicates the time required for the simulation in the cycle time display table 109b (FIG. 5)).
[0071]
Next, processing of the pseudo controller 12 during simulation execution will be described with reference to FIGS.
[0072]
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. To do.
[0073]
At this time, due to the action of the prefetch function unit 60, for example, as shown in FIG. 8, the robot R moves along an operation path 152 set at a location where a large number of teaching points T are close to avoid the obstacle 150. As in the case of the actual machine, the robot R does not stop at each teaching point T or does not become discontinuous and can reach the welding point P smoothly.
[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. Since the amount of this delay can be estimated by the robot simulated operation unit 64, the actual robot 502 (see FIG. 10) is operated. A similar posture 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 simulation data to the viewer 18 via the input / output unit 54 at predetermined minute intervals. These simulation data may be directly supplied from the pseudo operation unit 52 to the input / output unit 54.
[0076]
In addition, the program execution unit 50 supplies input / output data such as a control signal, a signal to the welding gun 38, and an error signal transmitted / received to / from the sequencer 14 via the FA network 26 every predetermined minute period.
[0077]
At this time, the program execution unit 50 continues the simulation process regardless of whether the viewer 18 has received simulation data or input / output data. Therefore, even if it takes a long time to transmit simulation data or input / output data, the simulation operation time is not affected by this.
[0078]
The program execution unit 50 stores data to be transmitted to the viewer 18, that is, simulation data and input / output data in the storage unit 58 as log data.
[0079]
In step S104, it is determined whether or not the operation of the robot R based on the teaching data is completed. When the simulation operation ends, 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 is ended. Further, the stored log data is transmitted to the viewer 18 or the offline teaching computer 20 as necessary. This log data can be used for simulation operation analysis.
[0081]
Next, processing contents of the viewer 18 that is executing the simulation will be described with reference to FIG.
[0082]
In step S201 of FIG. 9, the viewer 18 receives 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 by a solid model. The display format may be a wire frame format, information display using a numerical string, 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]
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 is finished. 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 represents the state of the robot R in time series, such as the operation from the start to the end of the simulation, welding, standby by a predetermined condition, and error occurrence. 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 very short time, information based on the posture of the robot R and input / output data is displayed in real time on the monitor screen 18a.
[0089]
The processing in the pseudo controller 12 and the processing in the viewer 18 do not have to be executed in the order shown in FIGS. 7 and 9. For example, a plurality of processing may be performed in parallel by multitask processing. . Further, for example, a predetermined step may be executed in an interrupt format as soon as a predetermined signal is detected.
[0090]
As described above, in the simulation apparatus 10 according to the present embodiment, the simulation is performed using the pseudo controller 12 having a function similar to that of the actual robot controller 512, the sequencer 14, and the FA network 26. Yes. Since the sequencer 14 and the FA network 26 have 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, the operation according to the actual machine can be grasped.
[0091]
Further, since 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, the operation time can be verified more accurately. Furthermore, since the pseudo controller 12 has the prefetch function unit 60 as with the robot controller 512, it can simulate a smooth operation similar to the actual operation, and the simulation has high position accuracy and execution time accuracy.
[0092]
The pseudo controller 12 estimates and corrects the amount of motion deviation between the command value and the actual posture of the robot R by the action of the robot pseudo motion unit 64, and then supplies it to the viewer 18, so that the posture of the robot R can be more accurately determined. Can be sought. Further, the operation time of the robot R can be realized more accurately.
[0093]
The viewer 18 displays information based on the posture of the robot R and input / output data on the monitor screen 18a, and does not need to perform any other processing (for example, analysis or execution of teaching data or interlock determination), so that it is a simple system. Can be. In addition, the simulation accuracy in the pseudo controller 12 and the sequencer 14 is not affected by the ability of the viewer 18.
[0094]
Furthermore, the simulation apparatus 10 according to the present embodiment does not require an actual robot 502 (see FIG. 10), a driving power amplifier, or the like, and can make use of the characteristics of offline teaching. Therefore, when introducing the robot 502 or 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, and it is needless to say that various configurations can be adopted without departing from the gist of the present invention.
[0097]
【The invention's effect】
As described above, according to the simulation apparatus of the present invention, it is possible to achieve an effect of simulating a robot operation based on teaching data created by offline teaching in a highly accurate operation time. Thereby, the processing time of the production process in an actual system can be verified accurately.
[Brief description of the drawings]
FIG. 1 is a connection diagram of devices constituting a simulation apparatus according to an embodiment.
FIG. 2 is a block diagram of a simulation apparatus 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 the monitor screen of the simulated 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 showing an operation path on which the 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]
10 ... Simulation device 12 ... Pseudo controller
14, 508 ... Sequencer 16 ... Simulated operation panel
18 ... Viewer
20 ... Offline teaching computer
26 ... FA network 28 ... General-purpose network
50 ... Program execution unit 52 ... Pseudo operation unit
54 ... Input / output unit 56 ... Control processing unit
60: Pre-reading function unit 64 ... Robot simulated operation unit
84 ... Information acquisition function part 86 ... Simulation data sending part
88, 90 ... Port 94 ... Processing time setting section
96: Operation processing function unit 98 ... Input / output processing time setting unit
100 ... Internal processing time setting unit 102 ... Setting file for screen generation
104 ... Simulated operation processing unit 106 ... Input / display function unit
108 ... Time measurement function part 110 ... Viewer data
112 ... Image conversion unit 114 ... Joint angle image conversion function unit
116: I / O information image conversion function unit 502, R: Robot

Claims (6)

  1. 多関節型のロボットを有するシステムの動作検証を行うシミュレーション装置において、
    ロボット用のティーチングデータが格納され、該ティーチングデータに基づき、前記ロボットを示す仮想ロボットの動作制御を行うとともに、前記仮想ロボットの各関節の動作量を示すシミュレーションデータをリアルタイムに生成する擬似コントローラと、
    通信手段を介して、少なくとも前記擬似コントローラを制御するシーケンサと、
    少なくとも前記シーケンサに対して操作信号の送受信を行う擬似操作盤と、
    前記シミュレーションデータに基づいて前記仮想ロボットの姿勢に関する情報を表示するビューワと、
    前記擬似コントローラと前記ビューワとを接続する副通信手段と、
    を有し、
    前記擬似コントローラは、前記副通信手段を介して前記シミュレーションデータを前記ビューワへ供給することを特徴とするシミュレーション装置。
    In a simulation apparatus for verifying the operation of a system having an articulated robot,
    A pseudo controller that stores teaching data for the robot, controls the operation of the virtual robot indicating the robot based on the teaching data, and generates simulation data indicating the operation amount of each joint of the virtual robot in real time;
    A sequencer for controlling at least the pseudo controller via a main communication means;
    A pseudo operation panel that transmits and receives 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;
    Have
    The simulation apparatus, wherein the pseudo controller supplies the simulation data to the viewer via the sub-communication means.
  2. 請求項1記載のシミュレーション装置において、
    前記ビューワは、前記仮想ロボットを3次元表示することを特徴とするシミュレーション装置。
    The simulation apparatus according to claim 1,
    The viewer displays the virtual robot three-dimensionally.
  3. 請求項1または2記載のシミュレーション装置において、
    前記擬似コントローラは、前記ティーチングデータに基づく出力データまたは入力データに関する入出力情報を、前記副通信手段を介して前記ビューワにリアルタイムに供給し、
    前記ビューワは、前記入出力情報を表示することを特徴とするシミュレーション装置。
    The simulation apparatus according to claim 1 or 2,
    The pseudo controller supplies input / output information related to output data or input data based on the teaching data to the viewer in real time via the sub-communication means,
    The simulation device, wherein the viewer displays the input / output information.
  4. 請求項1〜3のいずれか1項に記載のシミュレーション装置において、
    前記擬似コントローラは、前記仮想ロボットに対する動作指令値に対する追従遅れ時間の推定機能部を有し、
    前記追従遅れ時間を考慮して前記シミュレーションデータを生成することを特徴とするシミュレーション装置。
    The simulation apparatus according to any one of claims 1 to 3,
    The pseudo controller has a follow-up delay time estimation function unit for an operation command value for the virtual robot,
    The simulation apparatus generating the simulation data in consideration of the follow-up delay time.
  5. 請求項1〜のいずれか1項に記載のシミュレーション装置において、
    前記シーケンサは、該シーケンサの動作周期を設定する処理時間設定機能部を有することを特徴とするシミュレーション装置。
    In the simulation apparatus according to any one of claims 1 to 4 ,
    The sequencer includes a processing time setting function unit for setting an operation cycle of the sequencer.
  6. 請求項1〜のいずれか1項に記載のシミュレーション装置において、
    前記模擬操作盤または前記ビューワは、シミュレーションの実行時間を計測する時間計測機能部を有することを特徴とするシミュレーション装置。
    In the simulation device according to any one of claims 1 to 5 ,
    The simulation apparatus, wherein the simulated operation panel or the viewer has a time measurement function unit for measuring 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 JP2004151976A (en) 2004-05-27
JP3913666B2 true 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)

Families Citing this family (5)

* 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
JP5804042B2 (en) * 2013-12-26 2015-11-04 セイコーエプソン株式会社 Robot control system and robot control method
CN104750023A (en) * 2015-02-13 2015-07-01 河北联合大学 Model based welding robot offline training data acquisition method
JP6348141B2 (en) * 2016-04-28 2018-06-27 ファナック株式会社 Robot control device displaying operation program including additional axis status
JP6392817B2 (en) * 2016-08-04 2018-09-19 ファナック株式会社 Simulation device

Also Published As

Publication number Publication date
JP2004151976A (en) 2004-05-27

Similar Documents

Publication Publication Date Title
EP1921526B1 (en) Method of evaluating and correcting robot program and device for evaluating and correcting robot program
US6928337B2 (en) Robot simulation apparatus
US9731419B2 (en) System and method for programming robots
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
JP3834307B2 (en) Robot system
US7149602B2 (en) Correction data checking system for rebots
JP2004259112A (en) Evaluation system, evaluation method, and motion controller
JP3913666B2 (en) Simulation device
US20180154519A1 (en) Robot teaching system and control method thereof
JP2005216213A (en) System and method for failure diagnosis
JP3927482B2 (en) Simulation device
WO2013145952A1 (en) Simulation device, simulation method and simulation program
JP2007272309A (en) Off-line teaching device for working robot
JP2006281330A (en) Robot simulation device
JPH10143221A (en) System and method for supporting development of equipment control program
JP2004148428A (en) Simulation device
JP2008100315A (en) Control simulation system
JPH07200019A (en) Robot controller
JP5272447B2 (en) Numerical control machine operation simulator
KR101474778B1 (en) Control device using motion recognition in artculated robot and method thereof
JP2005301334A (en) Motion controller
JP3040906B2 (en) Robot operation time evaluation method and apparatus
JPH0648006U (en) Robot motion control inspection device
Olsson et al. Integration of Simulation and Execution in Industrial Robot Systems
JPH0887316A (en) Controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225

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 or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees