JP3948329B2 - Robot controller simulation device - Google Patents

Robot controller simulation device Download PDF

Info

Publication number
JP3948329B2
JP3948329B2 JP2002105935A JP2002105935A JP3948329B2 JP 3948329 B2 JP3948329 B2 JP 3948329B2 JP 2002105935 A JP2002105935 A JP 2002105935A JP 2002105935 A JP2002105935 A JP 2002105935A JP 3948329 B2 JP3948329 B2 JP 3948329B2
Authority
JP
Japan
Prior art keywords
robot controller
unit
computer
software
robot
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
JP2002105935A
Other languages
Japanese (ja)
Other versions
JP2003300185A (en
Inventor
由美恵 久保田
恭彦 野口
健治 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2002105935A priority Critical patent/JP3948329B2/en
Priority to PCT/JP2003/004306 priority patent/WO2003084720A1/en
Publication of JP2003300185A publication Critical patent/JP2003300185A/en
Application granted granted Critical
Publication of JP3948329B2 publication Critical patent/JP3948329B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、計算機にロボットコントローラのソフトウェアを搭載したロボットコントローラシミュレーション装置に関する。
【0002】
【従来の技術】
一般に生産ラインを構築する場合には、作業を行わせる対象物の大きさからロボット機種の選定、目標とするサイクルタイムからロボットの配置数、周辺外部機器との制御時間タイミングなどを想定する必要がある。また、ロボットの軌跡精度向上のシミュレーションとして、RRS(Realistic RobotSimulation)の規格を設けて、軌跡精度向上を図っている。これらの課題を解決するためのロボットシミュレーション装置が特開2001−150373で開示されている。これを図12を用いて説明する。図において、ロボットコントローラ100はネットワーク等の通信手段101によって計算機105に接続されている。計算機105は例えばワークステーションが使用され、ディスプレイ102、本体103およびキーボード104から構成される。ロボットコントローラ100は、プロセッサを中心に構成され、基本ソフトウェアおよびロボットプログラムに基づいてロボット動作を制御する。そのロボット動作制御の指令信号は本来ならばロボットに送られるが、ここでは通信手段101を経由して計算機105に転送される。計算機105はその指令信号に基づいてロボット動作のシミュレーションを行う。
【0003】
【発明が解決しようとする課題】
ところが、従来の技術であるRRS規格では、ロボットの動作にのみ関する精度は向上しても、外部周辺機器を含む生産ライン全体のシミュレーションはできなかった。
また、特開2001−150373に開示されているように、ロボットコントローラからデータを受け取ってシミュレーションを行うため、ロボットコントローラの制御をそのまま使用するため高精度のシミュレーションは可能である。しかし、サーボ等の実機ロボットを動作させるための機能が付随しているため、コストとスペースの問題が発生し、生産ラインを検討する上では、現実的ではないという問題があった。
本発明は、上記問題を解決するために、マニピュレータを駆動するロボットコントローラを接続することなく、マニピュレータを駆動するロボットコントローラに搭載された機能ソフトウェアを使用し、ロボットコントローラを高精度でシミュレーションするロボットコントローラシミュレーション装置を提供するものである。
【0004】
【課題を解決するための手段】
本発明の請求項1記載のロボットシミュレーション装置は、マニピュレータを駆動するロボットコントローラの機能を記憶メモリとオペレーティングシステムを含んだ計算機単体にてシミュレーションするロボットコントローラシミュレーション装置において、前記計算機は、前記ロボットコントローラに搭載される機能ソフトウェアと同一種の機能ソフトウェアを搭載するとともに、前記機能ソフトウェアが指令するシステムコールを前記計算機のオペレーティングシステムに対するシステムコールへと変換して前記オペレーティングシステムへと指令するオペレーティングシステム接続部と、前記機能ソフトウェアがアクセスしようとするメモリアドレスを前記記憶メモリのアドレスへと変換するメモリアドレス変換部とを備え、前記記憶メモリに前記ロボットコントローラに搭載されるものと同一種のジョブを備えることを特徴とするものである。また、本発明の請求項2記載のロボットシミュレーション装置は、前記計算機は、前記ロボットコントローラに接続されるプログラミングペンダントと同一種のプログラミングペンダントを接続し、前記プログラミングペンダントと前記機能ソフトウェアとの通信を仲介するペンダント通信処理部を備えることを特徴とするものである。また、本発明の請求項3記載のロボットシミュレーション装置は、前記計算機は、前記ロボットコントローラと前記計算機との処理速度の差を調整する処理速度調整部を備え、前記処理速度調整部は、前記計算機における前記機能ソフトウェアの命令実行を遅延させることを特徴とするものである。また、本発明の請求項4記載のロボットシミュレーション装置は、前記計算機は、前記ロボットコントローラに備えられているサーボ制御装置の遅れ時間を予め設定して入力するサーボ遅れ入力部と、前記サーボ遅れ入力部に入力された値をもとに前記サーボ制御装置をシミュレーションするサーボシミュレーション部とを備え、前記サーボシミュレーション部は前記機能ソフトウェアからの指令に対し、前記サーボ遅れ入力部に予め入力された前記遅れ時間の値に基づき応答を遅延させることを特徴とするものである。また、本発明の請求項5記載のロボットシミュレーション装置は、前記計算機は、外部機器を接続する外部機器接続部と、前記ロボットコントローラの前記外部機器に対するスキャン時間を入力する外部機器制御時間入力部と、前記外部機器制御時間入力部に入力された値に基づき前記外部機器接続部に接続された前記外部機器にアクセスする外部接続機能部とを備えることを特徴とするものである。また、本発明の請求項6記載のロボットシミュレーション装置は、前記計算機は、ディスプレイを備えたユーザインターフェース機器を接続し前記ユーザインターフェース機器と前記機能ソフトウェアとの通信を仲介する機能リソースアクセス部を備え、前記機能リソースアクセス部は、前記ユーザインターフェース機器に対するユーザの操作に従って前記機能ソフトウェアに対し前記マニピュレータの動作に関する指令を送信するとともに、前記機能ソフトウェアが保持するデータにアクセスし前記ユーザインターフェース機器に送信することを特徴とするものである。また、本発明の請求項7記載のロボットシミュレーション装置は、前記計算機は、前記機能リソースアクセス部を介して接続された前記ディスプレイに前記機能ソフトウェアによって求めた前記マニピュレータの動作状況を表示することを特徴とするものである。
【0005】
【発明の実施の形態】
以下、本発明の実施の形態を、図を参照して説明する。図1は、本発明の概要図である。計算機1は、記憶メモリ10とオペレーティングシステム11を含んでいる。オペレーティングシステム11は、計算機1のハードウェアを直接制御するソフトウェアである。マニピュレータを駆動するロボットコントローラに搭載する機能ソフトウェア2は、ロボットの位置、速度等のロボット動作を行う命令や、外部機器との通信を行う命令などを実行するソフトウェアである。機能ソフトウェア2は、オペレーティングシステム接続部3を通じて、オペレーティングシステム11をアクセスし、最終的には計算機1のハードウェアを制御する。また、機能ソフトウェア2に指示されているマニピュレータを駆動するロボットコントローラのアドレスについては、メモリアドレス変換部を通じて、計算機1に含まれるの記憶メモリ10をアクセスする。
【0006】
図2に、マニピュレータを駆動するロボットコントローラに搭載するソフトウェアの構成図を示す。通常、マニピュレータを駆動するロボットコントローラは、サーボモータ等を駆動するためにリアルタイム性が必要である。このため、図2に示すようにロボット制御用のオペレーティングシステム20と機能ソフトウェア2の2つのソフトウェアから構成されている。マニピュレータを駆動するロボットコントローラの機能ソフトウェア2には、ロボット制御用のオペレーティングシステム20に対するシステムコールが含まれる。システムコールとは、一般にオペレーティングシステムを呼出す処理の総称である。図3を用いて、機能ソフトウェア2がシステムコールを実行するフローを説明する。ステップ1は、機能ソフトウェア2が、ロボット制御用のオペレーティングシステム20のシステムコールを指令したものである。ステップ2では、この指令をオペレーティングシステム接続部3が受け取る。予め、計算機1のオペレーティングシステム11のシステムコールとロボット制御用のオペレーティングシステム20のシステムコールとを対応させたシステムコール対応テーブル12がある。ステップ3では、このテーブル12を用いて、計算機1のオペレーティングシステム11に対して処理を指令する。
【0007】
また、機能ソフトウェア2には、マニピュレータを駆動するロボットコントローラ内のメモリにアクセスする指令が含まれている。図4を用いて、機能ソフトウェア2が計算機1の記憶メモリ10をアクセスする処理フローを説明する。ステップ1では、機能ソフトウェア2が、実際のロボットコントローラ内のメモリをアクセスするように指令する。ステップ2では、この指令をメモリアドレス変換部4が受け取る。予め、計算機1のメモリアドレスとマニピュレータを駆動するロボットコントローラ内のメモリアドレスとを対応させたメモリアドレス対応テーブル13がある。ステップ3では、このテーブル13を用いて、計算機1のメモリをアクセスする。
【0008】
次に、ロボット移動させるジョブ21のシミュレーションを図5に示す。ジョブ21には、ロボット移動命令であるMOV命令がある。機能ソフトウェア2は、ジョブ21を読み込む処理を指令する。このとき、機能ソフトウェア2は、ジョブ21が存在しているマニピュレータを駆動するロボットコントローラ内のメモリアドレス1000番地から100バイトを読み出すように、メモリアドレス変換部4に指令する。メモリアドレス変換部4は、メモリアドレス対応テーブル13を読み出す。マニピュレータを駆動するロボットコントローラ内のメモリアドレス1000番地に対応した計算機1のメモリアドレス11000番地を求める。そして、計算機1のメモリアドレス11000番地から100バイトを読み出す。ジョブ21が読み出され、機能ソフトウェア2は、命令を解釈する。命令を解釈する方法としては、命令を中間コードとして一度変換し、その中間コードに対応した処理関数に、CPUの制御を遷移させる。ここで、MOV命令については、機能ソフトウェア2のロボット演算部において、一定周期毎の指令位置が作成される。通常、マニピュレータを駆動するロボットコントローラでは、この作成された指令位置をサーボ制御部に送信し、サーボモータを駆動させている。機能ソフトウェア2は、位置指令をマニピュレータを駆動するロボットコントローラ内のサーボ制御装置との通信部のアドレス2000番地に書き込む。メモリアドレス変換部4は、メモリアドレス対応テーブル13から、計算機1のメモリアドレス30000番地を求める。このアドレスは、実際に物理的には、外部に接続されていないため、サーボ制御装置を制御するものではない。
【0009】
また、通常の一般的なロボットコントローラでは、一定周期毎に指令を作成し、次の周期が到来する前に次のMOV命令の指令位置を演算する。これは、先読みと呼ばれており、タスクという概念でプログラムされている。つまり、最終的にサーボ制御装置に位置指令を払い出すためには、この先読みが完了していなければならない。この場合、この先読みが完了しているかどうかをロボット制御用のオペレーティングシステム20のシステムコールであるメールによって判断している。図3を使ってこの処理を説明する。機能ソフトウェア2は、システムコールであるメールを利用するようにオペレーティングシステム接続部3に指令する。オペレーティングシステム接続部3は、システムコール対応テーブル12を用いて、計算機1のオペレーティングシステム11のシステムコールを指令する。こうすることで、機能ソフトウェア2は、システムコールであるメールを作成することが可能となる。
上記に記載したとおり本実施例では、マニピュレータを駆動するロボットコントローラの機能ソフトウェアを使用することで、計算機を用いたロボットコントローラシミュレーション装置で正確に、そして、安価に実現することができる。
【0010】
本発明の第2の実施の形態について、図7をもとに説明する。プログラミングペンダント5は、マニピュレータを駆動するロボットコントローラに使用しているものである。プログラミングペンダント5とデータ通信を行うペンダント通信処理部6は、機能ソフトウェア2とプログラミングペンダント5とを接続するものである。通常、ロボットコントローラ内の基板とプログラミングペンダントは、シリアル伝送処理方法などのデータ通信を使用している。この基板には、通信回路素子およびプログラムが搭載されている。この実施例では、ペンダント通信処理部6は、この基板を想定している。また、プログラミングペンダント5との通信が、計算機1の外部機器接続部に予め用意された機能を使用できる場合には、ペンダント通信処理部6は、ソフトウェアのみとなる。例えば、プログラミングペンダント5に設置されている(X+)キー51が押下された場合、マニピュレータを駆動するロボットコントローラでは、ロボットをベース座標系(ロボットが持っている固有の座標系)のX軸に対してプラスの方向にロボットの制御点を移動させる。本実施例では、(X+)キー51が押下されると、そのキー情報がペンダント通信処理部6に送信される。この送信されたキー情報は、メモリアドレス変換4を通じて、機能ソフトウェア2が指定しているキー情報格納領域に格納される。また、実際のプログラミングペンダントの応答時間、言い換えれば、キーを一回押すことにより、そのキーを機能ソフトウェア2が認識するまでの時間、を予めペンダント通信処理部6に指定しておくことで、計算機1の処理速度を遅延させ、実機と同等の応答感覚を実現することができる。以上のように、本実施例では、マニピュレータを駆動するロボットコントローラに使用するプログラミングペンダントを利用することができるため、ロボットコントローラを実際に同じ感覚でシミュレーションすることができる。
【0011】
本発明の第3の実施の形態について、図8をもとに説明する。計算機1に搭載された機能ソフトウェア2の処理速度は、計算機1のCPUの処理速度に依存する。つまり、マニピュレータを駆動するロボットコントローラのCPU処理速度と計算機1とのCPUの処理速度には、差が発生する。この差により、命令の処理速度が精度に影響するような処理(例えば、移動命令の軌跡補間)等の場合に、問題となる。これを解決するために、本実施例では、処理速度調整部7により、ロボットコントローラシミュレーション装置のCPUの処理を遅延させるものである。たとえば、マニピュレータを駆動するロボットコントローラのCPUの処理速度に対して、計算機1のCPU処理速度が、2倍であったとする。計算機1は、その命令を実行するために、1msec必要であった場合、命令終了後に1msecのCPUの実行を停止する。命令実行開始から2msecとなったところで、この命令を完了するものである。
この実施例では、マニピュレータを駆動するロボットコントローラと命令単位で同じ処理速度になるので、軌跡精度が、マニピュレータを駆動するロボットコントローラと同じになる。
【0012】
本発明の第4の実施の形態について、図9をもとに説明する。予め、サーボ遅れ入力部8に、サーボ遅れ時間を設定する。これは、マニピュレータを駆動するロボットコントローラがサーボ制御装置に指令を与え、その指令にもとづいて、ロボットが移動するまでの遅れ時間を設定するものである。機能ソフトウェア2は、指令として、パルスをサーボシミュレーション部9に払いだす。サーボシミュレーション部9は、サーボ遅れ入力部8で設定された値をもとに、その時間だけ応答を遅延させる。サーボシミュレーション部9は、設定された時間経過後、フィードバックパルスを想定して、機能ソフトウェア2に返す。このフィードバックパルスは、単なる指令をそのままフィードバックパルスとする方法、指令に乱数分加算してフィードバックパルスとする方法、ロボットの機構から計算できる負荷イナーシャや重力を考慮したものをフィードバックパルスとする方法などがある。この実施例によれば、実際のロボットの動作を正確に把握し、軌跡精度やタクトタイムを正確にシミュレーションすることができる。
【0013】
本発明の第5の実施の形態について、図10を用いて説明する。計算機1は、外部機器30と外部機器接続部31を介して接続されている。この外部機器接続部31は、計算機1の内外のどちらでもよい。外部機器との接続は、フィールドバスなどの産業用ネットワークである。機能ソフトウェア2は、外部機器とI/Oまたはネットワークで接続されている。マニピュレータを駆動するロボットコントローラのI/Oスキャン時間を外部機器制御時間入力部32に入力する。この時間毎に、外部接続機能部33は、外部機器のI/Oのスキャンを実行する。機能ソフトウェア2は、メモリアドレス変換部、外部接続機能部33を通じてI/Oデータにアクセスする。本実施例によれば、実機と同じタイミングで、外部機器とのシミュレーションをすることができ、外部機器とのインターロックを確認することが非常に簡単にできる。
【0014】
本発明の第6の実施の形態について、図11を用いて説明する。計算機1には、ディスプレイが接続されている。このディスプレイに操作パネル72が表示されている。操作パネル72には、非常停止、サーボ電源ON、スタート、ホールド等のロボットの起動・停止に関する操作ボタンが表示されている。このディスプレイは、タッチパネルであり、このボタンタッチすることで、ロボットに対して指令を行うことができる。また、モードは、教示モード、プレイモードを選択するものである。操作パネル72の指令は、機能リソースアクセス部34を通じて、機能ソフトウェア2にアクセスする。その後、機能ソフトウェア2は、ロボット軌跡演算を行い、その結果を逐次、データ表示パネル73と動作表示パネル74に返す。データ表示パネルには、現在位置、サイクルタイム、ロボット動作時間など、ユーザが所望するデータを表示する。また、ロボットの位置を一定周期毎取得し、動作表示パネル74にて、ロボットモデルを表示することができる。これにより、実際のロボットの動作をシミュレータ装置にて確認することができる。本実施例によれば、機能リソースアクセス部を通じて、ユーザが所望のデータ表示やシミュレーションをすることができるようになる。
【0015】
また、その他の実施例として、ネットワークを介して、他の計算機からロボットシミュレーション装置に指令を与えること、及びデータを取得することはネットワークドライバを用いることで容易に行える。同様に、複数のロボットの設置を検討する場合に、複数のロボットコントローラシミュレーション装置をネットワークを介して通信することも可能となる。
【0016】
【発明の効果】
本発明の装置によれば、マニピュレータを駆動するロボットコントローラに搭載する機能ソフトウェアをそのまま使用するため、マニピュレータを駆動するロボットコントローラを正確にシミュレーションすることができる。
また、実際にロボットコントローラに接続され使用するプログラミングペンダントを備えることで、操作性を実機と同じようにすることができる。
また、マニピュレータを駆動するロボットコントローラと計算機の処理速度を調整することができるため、ユーザは、一般に市販されている計算機を使用でき、安価に実現できるという特別の効果を奏するものである。ユーザは、機能リソースアクセス手段を用いて、ソフトウェアを作成する際に、一般の計算機を使用できるため、ユーザが好むソフトウェア開発環境(コンパイラ、アセンブラ等)を用いることができる。
【図面の簡単な説明】
【図1】本発明の概要図
【図2】マニピュレータを駆動するロボットコントローラのソフトウェア構成図
【図3】システムコールのフロー
【図4】アドレスアクセスのフロー
【図5】ジョブ実行のフロー
【図6】移動命令のフロー
【図7】第2の実施の形態の概要図
【図8】第3の実施の形態の概要図
【図9】第4の実施の形態の概要図
【図10】第5の実施の形態の概要図
【図11】第6の実施の形態の概要図
【図12】従来技術の概要図
【符号の説明】
1:計算機
2:機能ソフトウェア
3:オペレーティングシステム接続部
4:メモリアドレス変換部
5:プログラミングペンダント
6:ペンダント通信処理部
7:処理速度調整部
8:サーボ遅れ入力部
9:サーボシミュレーション部
11:オペレーティングシステム
12:システムコール対応テーブル
13:メモリアドレス対応テーブル
20:ロボット制御用オペレーティングシステム
30:外部機器
31:外部機器接続部
32:外部機器制御時間入力部
33:外部接続機能部
34:機能リソースアクセス部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot controller simulation apparatus in which a robot controller software is installed in a computer.
[0002]
[Prior art]
In general, when constructing a production line, it is necessary to assume the selection of the robot model from the size of the object to be worked on, the number of robots to be arranged from the target cycle time, the control time timing with peripheral external devices, etc. is there. Further, as a simulation for improving the robot's trajectory accuracy, RRS (Realistic Robot Simulation) standard is provided to improve the trajectory accuracy. A robot simulation apparatus for solving these problems is disclosed in Japanese Patent Application Laid-Open No. 2001-150373. This will be described with reference to FIG. In the figure, the robot controller 100 is connected to a computer 105 by communication means 101 such as a network. For example, a workstation is used as the computer 105, and includes a display 102, a main body 103, and a keyboard 104. The robot controller 100 is configured around a processor and controls the robot operation based on basic software and a robot program. The robot operation control command signal is originally sent to the robot, but here is transferred to the computer 105 via the communication means 101. The computer 105 simulates the robot operation based on the command signal.
[0003]
[Problems to be solved by the invention]
However, according to the RRS standard, which is a conventional technique, even if the accuracy related only to the operation of the robot is improved, the entire production line including the external peripheral device cannot be simulated.
Further, as disclosed in Japanese Patent Laid-Open No. 2001-150373, since simulation is performed by receiving data from the robot controller, high-precision simulation is possible because the control of the robot controller is used as it is. However, since a function for operating an actual robot such as a servo is attached, there is a problem of cost and space, and there is a problem that it is not realistic in considering a production line.
In order to solve the above problem, the present invention uses a functional software installed in a robot controller that drives a manipulator without connecting a robot controller that drives the manipulator, and simulates the robot controller with high accuracy. A simulation apparatus is provided.
[0004]
[Means for Solving the Problems]
The robot simulation apparatus according to claim 1 of the present invention is a robot controller simulation apparatus that simulates the function of a robot controller that drives a manipulator by a single computer including a storage memory and an operating system, and the computer is connected to the robot controller. An operating system connection unit that installs the same type of function software as the installed function software , converts a system call commanded by the function software into a system call for the operating system of the computer, and commands the operating system A memory address conversion unit that converts a memory address to be accessed by the functional software into an address of the storage memory, and It is characterized in further comprising a same type of job as to be mounted on the robot controller to the memory. In the robot simulation apparatus according to claim 2 of the present invention, the computer connects a programming pendant of the same type as the programming pendant connected to the robot controller , and mediates communication between the programming pendant and the functional software. And a pendant communication processing unit. In the robot simulation apparatus according to claim 3 of the present invention, the computer includes a processing speed adjustment unit that adjusts a difference in processing speed between the robot controller and the computer, and the processing speed adjustment unit includes the computer The execution of the function software instruction is delayed. According to a fourth aspect of the present invention, in the robot simulation apparatus according to the present invention, the computer has a servo delay input unit configured to input a delay time of a servo control device provided in the robot controller in advance, and the servo delay input. wherein based on the value entered in the section and a servo simulation unit for simulating the servo controller, said servo simulation unit to the instruction from the functional software, the delay said predetermined input to the servo delay input The response is delayed based on the time value . In the robot simulation apparatus according to claim 5 of the present invention, the computer includes an external device connection unit that connects an external device, and an external device control time input unit that inputs a scan time for the external device of the robot controller. And an external connection function unit that accesses the external device connected to the external device connection unit based on a value input to the external device control time input unit. Further, in the robot simulation apparatus according to claim 6 of the present invention, the computer includes a function resource access unit that connects a user interface device having a display and mediates communication between the user interface device and the function software. The functional resource access unit transmits a command regarding the operation of the manipulator to the functional software according to a user operation on the user interface device, and accesses and transmits data held by the functional software to the user interface device. It is characterized by. The robot simulation apparatus according to claim 7 of the present invention, the computer, characterized in that to display the operating status of the manipulator determined by the function software to the display connected via the functional resource access unit It is what.
[0005]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a schematic diagram of the present invention. The computer 1 includes a storage memory 10 and an operating system 11. The operating system 11 is software that directly controls the hardware of the computer 1. The function software 2 installed in the robot controller that drives the manipulator is software that executes commands for performing robot operations such as the position and speed of the robot, commands for communicating with external devices, and the like. The function software 2 accesses the operating system 11 through the operating system connection unit 3 and finally controls the hardware of the computer 1. For the address of the robot controller that drives the manipulator designated by the function software 2, the storage memory 10 included in the computer 1 is accessed through the memory address conversion unit.
[0006]
FIG. 2 shows a configuration diagram of software installed in the robot controller that drives the manipulator. Usually, a robot controller that drives a manipulator needs real-time characteristics to drive a servo motor or the like. For this reason, as shown in FIG. 2, it is composed of two pieces of software, that is, an operating system 20 for robot control and function software 2. The function software 2 of the robot controller that drives the manipulator includes a system call for the operating system 20 for robot control. The system call is a general term for processing for calling an operating system. A flow in which the function software 2 executes a system call will be described with reference to FIG. In step 1, the function software 2 commands a system call of the operating system 20 for robot control. In step 2, the operating system connection unit 3 receives this command. There is a system call correspondence table 12 in which system calls of the operating system 11 of the computer 1 are associated with system calls of the operating system 20 for robot control in advance. In step 3, processing is instructed to the operating system 11 of the computer 1 using this table 12.
[0007]
In addition, the function software 2 includes a command for accessing the memory in the robot controller that drives the manipulator. A processing flow in which the function software 2 accesses the storage memory 10 of the computer 1 will be described with reference to FIG. In step 1, the function software 2 commands to access the memory in the actual robot controller . In step 2, the command is received by the memory address conversion unit 4. There is a memory address correspondence table 13 in which the memory address of the computer 1 is associated with the memory address in the robot controller that drives the manipulator in advance. In step 3, the memory of the computer 1 is accessed using this table 13.
[0008]
Next, FIG. 5 shows a simulation of the job 21 to be moved by the robot. The job 21 includes a MOV command that is a robot movement command. The function software 2 commands processing for reading the job 21. At this time, the function software 2 instructs the memory address conversion unit 4 to read 100 bytes from the memory address 1000 in the robot controller that drives the manipulator in which the job 21 exists. The memory address conversion unit 4 reads the memory address correspondence table 13. The memory address 11000 of the computer 1 corresponding to the memory address 1000 in the robot controller that drives the manipulator is obtained. Then, 100 bytes are read from the memory address 11000 of the computer 1. The job 21 is read, and the function software 2 interprets the command. As a method of interpreting the instruction, the instruction is once converted as an intermediate code, and the control of the CPU is shifted to a processing function corresponding to the intermediate code. Here, for the MOV instruction, a command position is generated at a constant cycle in the robot calculation unit of the function software 2. Usually, in a robot controller that drives a manipulator, the created command position is transmitted to a servo control unit to drive a servo motor. The function software 2 writes the position command at address 2000 of the communication unit with the servo controller in the robot controller that drives the manipulator. The memory address conversion unit 4 obtains the memory address 30000 of the computer 1 from the memory address correspondence table 13. Since this address is not actually physically connected to the outside, it does not control the servo control device.
[0009]
Further, in a normal general robot controller, a command is generated at regular intervals, and the command position of the next MOV command is calculated before the next cycle arrives. This is called look-ahead and is programmed with the concept of tasks. That is, in order to finally issue a position command to the servo control device, this prefetching must be completed. In this case, whether or not the prefetching is completed is determined by mail which is a system call of the robot control operating system 20. This process will be described with reference to FIG. The function software 2 instructs the operating system connection unit 3 to use mail that is a system call. The operating system connection unit 3 instructs a system call of the operating system 11 of the computer 1 using the system call correspondence table 12. In this way, the function software 2 can create a mail that is a system call.
As described above, in this embodiment, by using the function software of the robot controller that drives the manipulator, the robot controller simulation apparatus using a computer can be realized accurately and inexpensively.
[0010]
A second embodiment of the present invention will be described with reference to FIG. The programming pendant 5 is used for a robot controller that drives a manipulator. The pendant communication processing unit 6 that performs data communication with the programming pendant 5 connects the function software 2 and the programming pendant 5. In general, the substrate and the programming pendant in the robot controller use data communication such as a serial transmission processing method. On this substrate, communication circuit elements and programs are mounted. In this embodiment, the pendant communication processing unit 6 assumes this substrate. When the communication with the programming pendant 5 can use a function prepared in advance in the external device connection unit of the computer 1, the pendant communication processing unit 6 is only software. For example, when the (X +) key 51 installed on the programming pendant 5 is pressed, the robot controller that drives the manipulator moves the robot relative to the X axis of the base coordinate system (the unique coordinate system possessed by the robot). Move the robot control point in the positive direction. In this embodiment, when the (X +) key 51 is pressed, the key information is transmitted to the pendant communication processing unit 6. The transmitted key information is stored in the key information storage area designated by the function software 2 through the memory address conversion 4. Further, the response time of the actual programming pendant, in other words, the time until the function software 2 recognizes the key by pressing the key once is designated in advance in the pendant communication processing unit 6, thereby calculating the computer. The processing speed of 1 can be delayed, and a response sensation equivalent to that of an actual machine can be realized. As described above, in this embodiment, since the programming pendant used for the robot controller that drives the manipulator can be used, the robot controller can be actually simulated with the same feeling.
[0011]
A third embodiment of the present invention will be described with reference to FIG. The processing speed of the function software 2 installed in the computer 1 depends on the processing speed of the CPU of the computer 1. That is, there is a difference between the CPU processing speed of the robot controller that drives the manipulator and the CPU processing speed of the computer 1. Due to this difference, there is a problem in a case where the processing speed of the command affects the accuracy (for example, trajectory interpolation of a movement command). In order to solve this, in the present embodiment, the processing speed adjustment unit 7 delays the processing of the CPU of the robot controller simulation apparatus. For example, it is assumed that the CPU processing speed of the computer 1 is twice the processing speed of the CPU of the robot controller that drives the manipulator. If 1 msec is required to execute the instruction, the computer 1 stops the execution of the CPU for 1 msec after the instruction is completed. This instruction is completed when 2 msec from the start of the instruction execution.
In this embodiment, since the processing speed is the same as that of the robot controller that drives the manipulator, the trajectory accuracy is the same as that of the robot controller that drives the manipulator.
[0012]
A fourth embodiment of the present invention will be described with reference to FIG. The servo delay time is set in advance in the servo delay input unit 8. In this method, a robot controller that drives the manipulator gives a command to the servo control device, and based on the command, a delay time until the robot moves is set. The function software 2 issues a pulse to the servo simulation unit 9 as a command . The servo simulation unit 9 delays the response by that time based on the value set by the servo delay input unit 8. After the set time has elapsed, the servo simulation unit 9 assumes a feedback pulse and returns it to the function software 2. For this feedback pulse, there are a method in which a simple command is directly used as a feedback pulse, a method in which a random number is added to a command to be used as a feedback pulse, a method in which load inertia that can be calculated from the mechanism of the robot and gravity is taken into consideration, and a method in which a feedback pulse is used. is there. According to this embodiment, it is possible to accurately grasp the actual operation of the robot and accurately simulate the trajectory accuracy and the tact time.
[0013]
A fifth embodiment of the present invention will be described with reference to FIG. The computer 1 is connected to an external device 30 via an external device connection unit 31. The external device connection unit 31 may be either inside or outside the computer 1. The connection with the external device is an industrial network such as a fieldbus. The function software 2 is connected to an external device via I / O or a network. The I / O scan time of the robot controller that drives the manipulator is input to the external device control time input unit 32. At each time, the external connection function unit 33 executes an I / O scan of the external device. The function software 2 accesses the I / O data through the memory address conversion unit and the external connection function unit 33. According to the present embodiment, the simulation with the external device can be performed at the same timing as the actual machine, and the interlock with the external device can be confirmed very easily.
[0014]
A sixth embodiment of the present invention will be described with reference to FIG. A display is connected to the computer 1 . An operation panel 72 is displayed on this display. On the operation panel 72, operation buttons relating to the start / stop of the robot such as emergency stop, servo power ON, start, hold and the like are displayed. This display is a touch panel, and a command can be given to the robot by touching this button. The mode is for selecting a teaching mode or a play mode. The command on the operation panel 72 accesses the function software 2 through the function resource access unit 34. Thereafter, the function software 2 performs a robot trajectory calculation and sequentially returns the results to the data display panel 73 and the operation display panel 74. The data display panel displays data desired by the user, such as the current position, cycle time, and robot operation time. Further, the position of the robot can be acquired at regular intervals, and the robot model can be displayed on the operation display panel 74. Thereby, the operation of the actual robot can be confirmed by the simulator device. According to the present embodiment, the user can perform desired data display and simulation through the functional resource access unit.
[0015]
As another embodiment, it is possible to easily give a command to the robot simulation apparatus from another computer and acquire data via a network by using a network driver. Similarly, when considering the installation of a plurality of robots, a plurality of robot controller simulation apparatuses can be communicated via a network.
[0016]
【The invention's effect】
According to the apparatus of the present invention, since the function software installed in the robot controller that drives the manipulator is used as it is, the robot controller that drives the manipulator can be accurately simulated.
Further, by providing a programming pendant that is actually connected to the robot controller, the operability can be made the same as that of the actual machine.
Further, since the processing speed of the robot controller that drives the manipulator and the computer can be adjusted, the user can use a commercially available computer and has a special effect that can be realized at low cost. Since the user can use a general computer when creating software using the functional resource access means, a software development environment (compiler, assembler, etc.) preferred by the user can be used.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of the present invention. FIG. 2 is a software configuration diagram of a robot controller that drives a manipulator. FIG. 3 is a system call flow. FIG. 4 is an address access flow. FIG. 7 is a schematic diagram of the second embodiment. FIG. 8 is a schematic diagram of the third embodiment. FIG. 9 is a schematic diagram of the fourth embodiment. FIG. 11 is a schematic diagram of the sixth embodiment. FIG. 12 is a schematic diagram of the prior art.
1: computer 2: function software 3: operating system connection unit 4: memory address conversion unit 5: programming pendant 6: pendant communication processing unit 7: processing speed adjustment unit 8: servo delay input unit 9: servo simulation unit 11: operating system 12: System call correspondence table 13: Memory address correspondence table 20: Robot control operating system 30: External device 31: External device connection unit 32: External device control time input unit 33: External connection function unit 34: Function resource access unit

Claims (7)

マニピュレータを駆動するロボットコントローラの機能を記憶メモリとオペレーティングシステムを含んだ計算機単体にてシミュレーションするロボットコントローラシミュレーション装置において、
前記計算機は、前記ロボットコントローラに搭載される機能ソフトウェアと同一種の機能ソフトウェアを搭載するとともに、
前記機能ソフトウェアが指令するシステムコールを前記計算機のオペレーティングシステムに対するシステムコールへと変換して前記オペレーティングシステムへと指令するオペレーティングシステム接続部と、
前記機能ソフトウェアがアクセスしようとするメモリアドレスを前記記憶メモリのアドレスへと変換するメモリアドレス変換部とを備え、
前記記憶メモリに前記ロボットコントローラに搭載されるものと同一種のジョブを備えることを特徴とするロボットコントローラシミュレーション装置。
In a robot controller simulation device for simulating the function of a robot controller that drives a manipulator with a single computer including a storage memory and an operating system,
The computer is equipped with the same type of function software as the function software installed in the robot controller ,
An operating system connection unit that converts a system call commanded by the functional software into a system call for the operating system of the computer and commands the operating system;
A memory address conversion unit that converts a memory address to be accessed by the functional software into an address of the storage memory;
A robot controller simulation apparatus comprising: the same type of job as that installed in the robot controller in the storage memory.
前記計算機は、前記ロボットコントローラに接続されるプログラミングペンダントと同一種のプログラミングペンダントを接続し、前記プログラミングペンダントと前記機能ソフトウェアとの通信を仲介するペンダント通信処理部を備えることを特徴とする請求項1のロボットコントローラシミュレーション装置。The computer includes a pendant communication processing unit that connects a programming pendant of the same type as the programming pendant connected to the robot controller and mediates communication between the programming pendant and the functional software. Robot controller simulation device. 前記計算機は、前記ロボットコントローラと前記計算機との処理速度の差を調整する処理速度調整部を備え、
前記処理速度調整部は、前記計算機における前記機能ソフトウェアの命令実行を遅延させることを特徴とする請求項1乃至2記載のロボットコントローラシミュレーション装置。
The computer includes a processing speed adjustment unit that adjusts a difference in processing speed between the robot controller and the computer,
The robot controller simulation apparatus according to claim 1, wherein the processing speed adjustment unit delays execution of instructions of the functional software in the computer.
前記計算機は、前記ロボットコントローラに備えられているサーボ制御装置の遅れ時間を予め設定して入力するサーボ遅れ入力部と、
前記サーボ遅れ入力部に入力された値をもとに前記サーボ制御装置をシミュレーションするサーボシミュレーション部とを備え、
前記サーボシミュレーション部は前記機能ソフトウェアからの指令に対し、前記サーボ遅れ入力部に予め入力された前記遅れ時間の値に基づき応答を遅延させることを特徴とする請求項1乃至3記載のロボットコントローラシミュレーション装置。
The computer includes a servo delay input unit that presets and inputs a delay time of a servo control device provided in the robot controller;
A servo simulation unit that simulates the servo control device based on the value input to the servo delay input unit;
4. The robot controller simulation according to claim 1, wherein the servo simulation unit delays a response based on a value of the delay time input in advance to the servo delay input unit in response to a command from the function software. apparatus.
前記計算機は、外部機器を接続する外部機器接続部と、
前記ロボットコントローラの前記外部機器に対するスキャン時間を入力する外部機器制御時間入力部と、
前記外部機器制御時間入力部に入力された値に基づき前記外部機器接続部に接続された前記外部機器にアクセスする外部接続機能部とを備えることを特徴とする請求項1乃至4記載のロボットコントローラシミュレーション装置。
The computer includes an external device connection unit for connecting an external device;
An external device control time input unit for inputting a scan time for the external device of the robot controller;
5. The robot controller according to claim 1, further comprising an external connection function unit that accesses the external device connected to the external device connection unit based on a value input to the external device control time input unit. Simulation device.
前記計算機は、ディスプレイを備えたユーザインターフェース機器を接続し前記ユーザインターフェース機器と前記機能ソフトウェアとの通信を仲介する機能リソースアクセス部を備え、
前記機能リソースアクセス部は、前記ユーザインターフェース機器に対するユーザの操作に従って前記機能ソフトウェアに対し前記マニピュレータの動作に関する指令を送信するとともに、前記機能ソフトウェアが保持するデータにアクセスし前記ユーザインターフェース機器に送信することを特徴とする請求項1乃至5記載のロボットコントローラシミュレーション装置。
The computer includes a functional resource access unit that connects a user interface device having a display and mediates communication between the user interface device and the functional software,
The functional resource access unit transmits a command regarding the operation of the manipulator to the functional software according to a user operation on the user interface device, and accesses and transmits data held by the functional software to the user interface device. The robot controller simulation apparatus according to claim 1, wherein
前記計算機は、前記機能リソースアクセス部を介して接続された前記ディスプレイに前記機能ソフトウェアによって求めた前記マニピュレータの動作状況を表示することを特徴とする請求項6記載のロボットコントローラシミュレーション装置。Wherein the computer, the robot controller simulation apparatus according to claim 6, wherein the displaying the operation status of the manipulator determined by the function software to the display connected via the functional resource access unit.
JP2002105935A 2002-04-09 2002-04-09 Robot controller simulation device Expired - Fee Related JP3948329B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002105935A JP3948329B2 (en) 2002-04-09 2002-04-09 Robot controller simulation device
PCT/JP2003/004306 WO2003084720A1 (en) 2002-04-09 2003-04-03 Robot controller simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002105935A JP3948329B2 (en) 2002-04-09 2002-04-09 Robot controller simulation device

Publications (2)

Publication Number Publication Date
JP2003300185A JP2003300185A (en) 2003-10-21
JP3948329B2 true JP3948329B2 (en) 2007-07-25

Family

ID=28786405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002105935A Expired - Fee Related JP3948329B2 (en) 2002-04-09 2002-04-09 Robot controller simulation device

Country Status (2)

Country Link
JP (1) JP3948329B2 (en)
WO (1) WO2003084720A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012135821A (en) * 2010-12-24 2012-07-19 Seiko Epson Corp Apparatus, method and program for robot simulation
JP6350037B2 (en) * 2014-06-30 2018-07-04 株式会社安川電機 Robot simulator and robot simulator file generation method
JP6444908B2 (en) * 2016-02-17 2018-12-26 ファナック株式会社 Robot simulation device for calculating sweep space
JP7260405B2 (en) 2019-06-07 2023-04-18 ファナック株式会社 Offline programming devices, robot controllers and augmented reality systems
CN110223579A (en) * 2019-06-26 2019-09-10 商飞信息科技(上海)有限公司 One kind to drag DC servo motor control simulated teaching platform
CN113903200A (en) * 2021-09-23 2022-01-07 南京轩世琪源软件科技有限公司 Industrial robot software development simulation experiment control workbench

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137005A (en) * 1988-11-18 1990-05-25 Komatsu Ltd Learning control method
JP2827239B2 (en) * 1988-12-28 1998-11-25 トヨタ自動車株式会社 Operation state display device, operation instruction control device, and control device
JPH03113605A (en) * 1989-09-28 1991-05-15 Yokogawa Electric Corp Robot simulator display device
JPH05324022A (en) * 1992-05-19 1993-12-07 Fanuc Ltd Computer connection type robot controller
JPH0699375A (en) * 1992-09-18 1994-04-12 Kawasaki Heavy Ind Ltd Robot operation training device
JPH0816220A (en) * 1994-06-30 1996-01-19 Komatsu Ltd Programmable sequence controller
JPH09261618A (en) * 1996-03-21 1997-10-03 Toshiba Corp Remote controller
JPH10143218A (en) * 1996-11-08 1998-05-29 Nissan Motor Co Ltd Cycle time prediction device for robot
JP2000172317A (en) * 1998-12-09 2000-06-23 Mitsubishi Electric Corp Programmable machine controller built in numerical controller and network system for numerical controller

Also Published As

Publication number Publication date
WO2003084720A1 (en) 2003-10-16
JP2003300185A (en) 2003-10-21

Similar Documents

Publication Publication Date Title
EP1310844B1 (en) Simulation device
US6445964B1 (en) Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
EP2962814A2 (en) Robot simulator and file generation method for robot simulator
WO2011114825A1 (en) Controller support device, simulation method of control program, support program of controller and computer-readable storage medium storing support program of controller
CN102004485A (en) Off-line robot teaching method
JP2007054942A (en) Method of evaluating and correcting robot program and device for evaluating and correcting robot program
JP3785349B2 (en) Simulation device
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP3948329B2 (en) Robot controller simulation device
US20040030418A1 (en) Simulation system for machine simulation and data output of control data for an automation system
JP3913666B2 (en) Simulation device
JPH10143221A (en) System and method for supporting development of equipment control program
JPH05324022A (en) Computer connection type robot controller
JP3991077B2 (en) Robot teaching method and robot teaching apparatus
JP3927482B2 (en) Simulation device
JPH0736516A (en) Simulating device
Niesen et al. Virtual dynamic prototyping for operator interface design
JP2889429B2 (en) Offline teaching method for robots
JPH04123108A (en) Robot simulator device
JPH11272307A (en) Motion controller
JPH0938876A (en) Simulation device
KR100246672B1 (en) Calibration method for robot layout
Dolejší et al. MiniDelta-Educational robot with parallel kinematic structure
JP2001150373A (en) Robot simulation device and robot control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061013

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

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees