(57)【要約】　　　（修正有）【課題】ロボットの動作シミュレーションモデルの画面表示を省略せずに連続的に表示させることが可能なロボットの動作シミュレーションモデルの作成装置を提供する。【解決手段】各教示点における教示情報１７を読み込み、この教示情報１７に基づいてロボットの動作経路上に互いに隣接する教示点間のサンプリング時間毎の各通過点における各軸値を生成し、これら各通過点の各軸値及び各教示点の各軸値をサンプリング時間毎に逐次出力するロボット動作生成器１０と、ロボットの動作シミュレーションモデルを表示する表示部３と、ロボット動作生成器１０が出力した各軸値を一時的に記憶する姿勢情報バッファ７と、を具備するロボットシミュレータ１と、を有するロボットの動作シミュレーションモデルの作成装置とした。姿勢情報バッファ７にロボット動作生成器１０から入力された各軸値が一時的に記憶されるので、動作を省略せずに連続的に表示させることが可能になった。【選択図】　図２
2004082313.tif 000002
【特許請求の範囲】
【請求項１】
各教示点におけるロボットの姿勢としての各軸値と移動速度とを含む教示情報を読み込み、該教示情報に基づいてロボットの動作経路上に互いに隣接する教示点間のサンプリング時間毎の各通過点における各軸値を生成し、該サンプリング時間毎の各通過点における各軸値及び前記各教示点における各軸値をサンプリング時間毎に逐次出力するロボット動作生成器と、
ロボットの動作シミュレーションモデルを表示する表示部と、前記ロボット動作生成器が出力した各軸値を一時的に記憶する姿勢情報バッファと、を具備するロボットシミュレータと、
を有するロボットの動作シミュレーションモデルの作成装置であって、
前記ロボットシミュレータは、前記ロボット動作生成器がサンプリング時間毎に逐次出力した各軸値を入力し、これをサンプリング時間順に前記姿勢情報バッファに一旦格納し、
前記表示部は、前記姿勢情報バッファに格納された順に前記姿勢情報バッファから各軸値を取得し、これに基づいてロボットの動作シミュレーションモデルを表示するようにしたことを特徴とするロボットの動作シミュレーションモデルの作成装置。
【請求項２】
請求項１において、前記表示部は、前記姿勢情報バッファに格納された順に前記姿勢情報バッファから各軸値を取得する代わりに、前記ロボット動作生成器がサンプリング時間毎に逐次出力した各軸値を直接入力することも選択的に可能にしたことを特徴とするロボットの動作シミュレーションモデルの作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの動作を教示する技術に関し、特に、ロボットおよびその周辺装置をモデル化してロボットの教示情報を作成し、ロボットの模擬動作モデルを作成するロボットの動作シミュレーションモデルの作成装置に関する。
【０００２】
【従来の技術】
従来から、ロボットによる部品の加工や組立の際のロボットの教示や動作を、コンピュータのディスプレイ上で模倣するためのシミュレーション装置が使用されている（例えば、特開２００２−３６１５６号公報参照）。こうしたシミュレーション装置は、ロボットの実物を使用せずにロボットの教示情報を作成するために使用され、図６に示すように、ロボット動作の制御モデルを内蔵する装置のディスプレイ上で、ロボットが周辺装置と干渉しないか、あるいは要求されるサイクルタイム以内で一連の動作が行えるか、といったことなどを確認しながら、教示情報を作成・修正し、シミュレーションを行っている。
【０００３】
【発明が解決しようとする課題】
しかし、このようなシミュレーション装置では、ロボットシミュレータが行うロボットの動作シミュレーションモデルのディスプレイ上への表示は３次元モデルを使用して行われるため、一般に各軸値（ロボットの各動作軸の位置）の生成速度に比して表示処理における処理負荷が大きい。そのため、実際に計算された一連の各軸値を全て表示に使用するのではなく、画面表示の更新が完了する度にそれら各軸値の組の一部を取り出し、言わば画面表示データを間引いて表示に使用する手法が用いられている。しかし、この手法では、実際のロボットを使用した場合に比べて、画面に表示されるロボットの動作シミュレーションモデルは、その動作軌跡の一部が省略されたものとなるので、ロボットの動作経路の連続性がつかみにくくなる。したがって、ロボットの操作者にとっては、ロボットと周辺装置等との間の干渉の有無を判断したり、動作の流れを視覚的に把握することが困難になるという問題がある。
【０００４】
本発明は、前述した従来技術の問題点を解決するためになされたものであり、ロボットの動作シミュレーションモデルの画面表示について、これを省略せずに連続的に表示させることが可能な、ロボットの動作シミュレーションモデルの作成装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
前述した目的を達成するために、請求項１に係る発明では、各教示点におけるロボットの姿勢としての各軸値と移動速度とを含む教示情報を読み込み、この教示情報に基づいてロボットの動作経路上に互いに隣接する教示点間のサンプリング時間毎の各通過点における各軸値を生成し、このサンプリング時間毎の各通過点における各軸値及び前記各教示点における各軸値をサンプリング時間毎に逐次出力するロボット動作生成器と、ロボットの動作シミュレーションモデルを表示する表示部と、ロボット動作生成器が出力した各軸値を一時的に記憶する姿勢情報バッファと、を具備するロボットシミュレータと、を有するロボットの動作シミュレーションモデルの作成装置であって、前記ロボットシミュレータは、前記ロボット動作生成器がサンプリング時間毎に逐次出力した各軸値を入力し、これをサンプリング時間順に姿勢情報バッファに一旦格納し、前記表示部は、姿勢情報バッファに格納された順に姿勢情報バッファから各軸値を取得し、これに基づいてロボットの動作シミュレーションモデルを表示するようにしたことを特徴とするロボットの動作シミュレーションモデルの作成装置を提供した。
【０００６】
ここで、請求項１に係る構成について解説を行う。各教示点における各軸値とは、多関節ロボットを構成する各駆動軸毎の位置（角度）であり、この各軸値により多関節ロボットの姿勢が決定する。任意の教示点における教示情報には、前述した各軸値と、この教示点からこの教示点に対してロボットの動作経路上に隣接する次の教示点へ移動する際の移動速度が含まれている。ところで、教示点のみの各軸値に基づいてロボットの動作シミュレーションモデルを表示させたのでは、表示される動作に連続性がなくなってしまい、見づらいものとなってしまう。そこで、ロボット動作生成器では、ロボットの動作経路上に互いに隣接する教示点間において、所定のサンプリング時間、前述した移動速度、及びロボット動作生成器が内蔵する制御アルゴリズムに基づいて決定される通過点を設け、これら各通過点について各軸値を生成するようにする。そして、ロボット動作生成器は、このサンプリング時間毎の各通過点における各軸値及び各教示点における各軸値をサンプリング時間毎に逐次出力する。この逐次出力された各軸値に基づいてロボットの動作シミュレーションモデルを表示させれば、動作に連続性がある見やすいものとなる。
【０００７】
ところで、ロボットシミュレータでは、ロボット動作生成器がサンプリング時間毎に逐次出力したサンプリング時間毎の各通過点における各軸値及び各教示点における各軸値に基づいてロボットの動作シミュレーションモデルを表示させることになるが、前述したように３次元モデルを使用した表示は処理負荷が大きいので、サンプリング時間毎に逐次入力される各軸値のデータを直接処理すると、前述した従来技術の問題点が生ずることになる。
【０００８】
そこで、請求項１に係る発明では、ロボットシミュレータ内にバッファ（姿勢情報バッファ）を設け、この姿勢情報バッファへサンプリング時間毎に逐次入力される各軸値のデータを一旦格納することにした。すなわち、ロボット動作生成器は、ロボットシミュレータ内にある表示部における画面表示更新処理の完了を待たずに、各軸値のデータを出力し続けることになる。そして、ロボットシミュレータ内にある表示部は、姿勢情報バッファに格納されている各軸値のデータを格納された順に逐次取り出し、この取り出した各軸値のデータに基づいてロボットの動作シミュレーションモデルを表示させることにしている。すなわち、ロボットシミュレータ内にある表示部は、姿勢情報バッファに格納されている各軸値のデータを格納された順に一つ取り出し、この各軸値のデータに基づいて表示を行い、この表示が完了した時点で次の各軸値のデータを姿勢情報バッファから取り出すようにしている。このロボットシミュレータが表示部にロボットシミュレーションモデルを表示するサイクルと、サンプリング時間毎に各軸値のデータを姿勢情報バッファに蓄積するサイクルとは制御上分離しているので、ロボット動作生成器における各軸値のデータの出力ペースや、ロボットシミュレータにおける表示処理速度の如何にかかわらず、ロボットの動作シミュレーションモデルの画面表示について、これを省略せずに連続的に表示させることが可能となる。
【０００９】
また、請求項２に係る発明では、請求項１に係る発明において、表示部は、姿勢情報バッファに格納された順に姿勢情報バッファから各軸値を取得する代わりに、ロボット動作生成器がサンプリング時間毎に逐次出力した各軸値を直接入力することも選択的に可能にした。すなわち、姿勢情報バッファを使用するか否かを選択的に可能にした。係る構成としたことにより、ロボットのたどる軌跡の詳細な再現を優先させたい場合には姿勢情報バッファを利用する方を選択し、一方、サイクルタイムの検討などのために、途中の経路は省略させてでも実時間軸に沿ったロボットの姿勢表示の同期性を優先させたい場合には、姿勢情報バッファを利用しない方を選択したりすることが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照して説明する。図１は、本発明の一実施形態を示すロボットの動作シミュレーションモデルの作成装置の全体構成図である。また、図２は、図１に示したロボットの動作シミュレーションモデルの作成装置のブロック図である。
【００１１】
１はロボットシミュレータであり、このロボットシミュレータ１はロボットの動作シミュレーションモデルを表示するための表示部３を装備している。１０は所定のサンプリング時間毎にロボットの各軸値を生成するロボット動作生成器であり、本実施形態では実際にロボットを制御することが可能なロボットコントローラをロボット動作生成器としている。これらロボットシミュレータ１とロボットコントローラ１０はイーサネット（登録商標）９にて接続されている。
【００１２】
より詳細には、図２に示すように、ロボットシミュレータ１は、中央演算処理装置２を中心に、表示部３、及びキーボードやマウスからなる入力部５を備えている。また、ＲＡＭ、ＲＯＭからなる記憶装置８も備えており、ＲＡＭには画面を表示させるための画面表示プログラム６や、サンプリング時間毎のロボットの各軸値を蓄積するための姿勢情報バッファ７などが格納されている。
【００１３】
一方、ロボットコントローラ１０は中央処演算処理装置１１を中心に、表示部１２、及びロボットの操作及び設定を行うようにされた入力装置１３を備えたティーチペンダント１４を装備している。また、ＲＡＭ、ＲＯＭからなる記憶装置１５も備えており、ＲＯＭにはロボット制御用のプログラム１６が、ＲＡＭにはロボットの教示情報１７が記録されている。なお、この教示情報１７は、少なくとも、各教示点におけるロボットの姿勢としての各軸値と、教示点からロボットの動作経路上に隣接する次の教示点へ移動する際の移動速度とが含まれており、この情報は予めロボットコントローラ１０に接続されたティーチペンダント（教示操作盤）等で設定しておく。
【００１４】
これらロボットシミュレータ１とロボットコントローラ１０とはイーサネット（登録商標）９にて接続され、各々にＩＰ（Ｉｎｔｅｒｎｅｔ　　Ｐｒｏｔｏｃｏｌ）アドレスが割り振られ、ＵＤＰ（Ｕｓｅｒ　　Ｄａｔａｇｒａｍ　　Ｐｒｏｔｏｃｏｌ）を用いて通信が行われる。
【００１５】
次に、図３に示すフローチャートに基づいて、前述したロボットの動作シミュレーションモデルの作成装置について、その処理の流れについて説明する。ロボットコントローラ１０ではループＡ（図３のＡ）、ロボットシミュレータ１ではループＢ、Ｃ（図３のＢ、Ｃ）の処理が実行される。なお、これらのループＡ、Ｂ、Ｃの各処理は互いに独立して行われる。
【００１６】
まず、図３Ａにおいて、ロボットコントローラ１０が、例えば図４に示す教示点Ｐｎ　、Ｐｎ＋１　といったロボットの動作経路上に互いに隣接する教示点における教示情報１７を、内蔵のメモリ１５から読み込む（ステップ１）。そして、ロボットコントローラ１０は、メモリ１５に内蔵しているロボット制御プログラム１６及び前述の教示情報１７に基づいて、図４に示した教示点間すなわち教示点Ｐｎ　から教示点Ｐｎ＋１　までの経路上の各通過点での各軸値を計算する（ステップ２）。なお、このときの通過点は、サンプリング時間、教示点Ｐｎ　から教示点Ｐｎ＋１　への移動速度、及びロボットコントローラ１０が内蔵する制御アルゴリズムに基づいて決定される。このとき算出される各軸値は、例えば、６軸の多関節ロボットの場合は、各軸値のデータは１つあたり（Ｊ１、Ｊ２、…、Ｊ６）のように関節数分の軸値で表現される。算出された各軸値は、イーサネット（登録商標）９を通して、所定のサンプリング時間毎に順次ロボットシミュレータ１へ送信される（ステップ３）。
【００１７】
次に、図３Ｂにおいて、ロボットシミュレータ１はロボットコントローラ１０が送信した各軸値を受信し（ステップ４）、受信した各軸値を図５に示すように姿勢情報バッファ７へ蓄積する（ステップ５）。すなわち、ロボットシミュレータ１が受信した順番に、言い換えればロボットコントローラ１０がサンプリング時間毎に送信した順番に、各軸値が姿勢情報バッファ７のインデックスの昇順（１、２、・・・）に格納される。なお、姿勢情報バッファ７のサイズは対象となる教示プログラム全体を通しての姿勢情報を格納するために十分なサイズとしておく。具体的には、例えば教示プログラム全体の実行に１分（６０秒）かかり、各軸値が１秒間あたり１０回生成されるような場合、姿勢情報バッファ７のサイズは６０［秒］×１０［回／秒］＝６００以上としておくのことが好ましい。なお、格納先インデックスが姿勢情報バッファ７の最後尾（ＭＡＸ）を指し示した場合は、姿勢情報バッファ７への格納処理はその時点で停止することになる。
【００１８】
次に、図３Ｃにおいて、ロボットシミュレータ１は姿勢情報バッファ７から各軸値を取り出し（ステップ６）、それに基づいて表示部３にロボットシミュレーションモデルを表示するための処理すなわち画面表示プログラム６の実行が開始される（ステップ７）。各軸値は姿勢情報バッファ７に格納された順番に、すなわちインデンックスの昇順（１、２、・・・）で取り出される。なお、姿勢情報バッファ７が最大限使い切られている場合、すなわち読み込みインデックスが時間の経過とともに最終的にＭＡＸとなった場合は、以後は姿勢情報バッファ７から読み込む各軸値がなくなるので、自動的に姿勢情報バッファ７を使わない方式、すなわち画面表示の度毎にロボットコントローラ１０から受信したその時点での各軸値が、ロボットシミュレータ１の画面表示プログラム６へ直接渡される方式に切り替わるようにしてもよい。
【００１９】
ところで、係る切り替え自体はロボットシミュレータ１の操作者が明示的に行うことも可能である。すなわち、前述したように姿勢情報バッファ７を使用する方法と、姿勢情報バッファ７を使用せずに、表示の度にその時点での各軸値をロボットコントローラ１０から都度取得して使用する方法とを、操作者が自由に切り替え可能にしてもよい。係る構成とすれば、ロボットのたどる軌跡の詳細な再現を優先させたい場合には姿勢情報バッファ７を利用する方を選択し、一方、サイクルタイムの検討などのために、途中の動作経路は省略させてでも実時間軸に沿ったロボットの姿勢表示の同期性を優先させたい場合には、姿勢情報バッファ７を利用しない方を選択したりすることが可能となる。
【００２０】
なお、ロボットシミュレータ１の表示処理中も、ロボットコントローラ１０は図３Ａのループを繰り返し、各軸値のデータをロボットシミュレータ１側へ送信し続けることになるので、仮にロボットシミュレータ１の処理が遅延するようなことがあっても、ロボットコントローラ１０の処理がその影響を受けることはない。
【００２１】
このように本実施形態によれば、ロボットが教示点間で実現するサンプリング時間毎の位置データ（ロボットの各軸値）が、画面表示の更新処理の完了を待たずに逐次ロボットシミュレータ１の持つ姿勢情報バッファ７に蓄積されていくことになる。そのため、ロボットの動作シミュレーションモデルの表示処理を、各軸値の生成、保存サイクルとは独立させて行い、１回の表示処理が完了すれば、姿勢情報バッファ７に格納されている次の各軸値を取り出して次の表示処理に使用される。したがって、画面表示処理の計算負荷が大きいためにロボットシミュレータ１の画面更新処理が遅れても、次回以降の表示に必要な各軸値があらかじめ姿勢情報バッファ７に蓄積されているので、これを使用することによりロボットが通る動作経路を省略することなく連続して画面表示を行うことができ、ロボットの操作者が周辺装置等との干渉の有無を調べることが容易になる。
【００２２】
以上、本発明の一実施形態について説明した。本実施形態では実際にロボットを制御することが可能なロボットコントローラをロボット動作生成器としていたが、本発明はこれに限定されるものではない。すなわち、ロボット動作生成器としては、サンプリング時間毎にロボットの各軸値を生成する機能を有していればよく、例えば、ロボットコントローラ内部の制御処理を擬似的に模倣したシミュレーションソフトウェアなどであってもよい。
【００２３】
また、シミュレーションの対象となるロボットが複数台ある場合は、台数分のロボット動作生成器をロボットシミュレータに接続すればよい。この場合は、ロボットシミュレータ内には各ロボットに対応した姿勢情報バッファを用意することになる。
【００２４】
【発明の効果】
本発明に係るロボットの動作シミュレーションモデルの作成装置によれば、ロボットシミュレータ内にバッファ（姿勢情報バッファ）を設け、この姿勢情報バッファへサンプリング時間毎に逐次入力される各軸値のデータを一旦格納することにし、ロボットシミュレータ内にある表示部は、姿勢情報バッファに格納されている各軸値のデータを格納された順に逐次取り出し、この取り出した各軸値のデータに基づいてロボットの動作シミュレーションモデルを表示させることにした。そのため、ロボット動作生成器における各軸値のデータの出力ペースや、ロボットシミュレータにおける表示処理速度の如何にかかわらず、ロボットの動作シミュレーションモデルの画面表示について、これを省略せずに連続的に表示させることが可能となった。そして、これにより、ロボットの操作者にとっては、ロボットと周辺装置等との間の干渉の有無を判断したり、動作の流れを視覚的に把握することが容易なものとなった。
【図面の簡単な説明】
【図１】本発明の一実施形態における、ロボットの動作シミュレーションモデルの作成装置の全体構成図である。
【図２】図１に示したロボットの動作シミュレーションモデルの作成装置のブロック図である。
【図３】図１に示したロボットの動作シミュレーションモデルの作成装置の動作を示すフローチャートである。
【図４】２つの教示点とその経路上にある通過点を示す図である。
【図５】姿勢情報バッファ７に格納される各軸値の蓄積状況を示した図である。
【図６】従来のシミュレーション装置を示す図である。
【符号の説明】
１　　ロボットシミュレータ
２　　ロボットシミュレータ１の中央演算処理装置
３　　ロボットシミュレータ１の表示部
４　　ロボットシミュレータ１のインターフェース
５　　ロボットシミュレータ１の入力部
６　　ロボットシミュレータ１の画面表示プログラム
７　　ロボットシミュレータ１の姿勢情報バッファ
８　　ロボットシミュレータ１の記憶装置
９　　イーサネット（登録商標）
１０　　ロボットコントローラ（ロボット動作生成器）
１１　　ロボットコントローラ１０の中央演算処理装置
１２　　ロボットコントローラ１０の表示部
１３　　ロボットコントローラ１０の入力部
１４　　ロボットコントローラ１０のティーチペンダント
１５　　ロボットコントローラ１０の記憶装置
１６　　ロボットコントローラ１０のロボット制御プログラム
１７　　ロボットコントローラ１０の記憶している教示情報
【図１】
2004082313.tif 000003
【図２】
2004082313.tif 000004
【図３】
2004082313.tif 000005
【図４】
2004082313.tif 000006
【図５】
2004082313.tif 000007
【図６】
2004082313.tif 000008