(57)【要約】【課題】シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能なロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラムを提供する。【解決手段】仮想ロボットを軌道に沿って動かすロボットシミュレーション装置であって、前記仮想ロボットの軌道をサンプリング時間Ｔｐだけサンプリングするプロセスである軌道計算プロセスＰ１を割り込み間隔Ｔｉで行う軌道計算部と、前記サンプリング時間Ｔｐが前記割り込み間隔Ｔｉ以下となる範囲で前記サンプリング時間Ｔｐと前記割り込み間隔Ｔｉとの双方を各別に可変にする時間可変部とを備える。【選択図】図５
2012135821.tif 000002
【特許請求の範囲】
【請求項１】
仮想ロボットを軌道に沿って動かすロボットシミュレーション装置であって、
前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算部と、
前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変部と
を備えるロボットシミュレーション装置。
【請求項２】
前記時間可変部は、
前記サンプリング時間が前記割り込み間隔の半分以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にするとともに、
前記軌道計算部は、
前記割り込み間隔で行う前記軌道計算プロセスの回数と、前記割り込み間隔を前記サンプリング時間で除算した値の整数部とを同じにする
請求項１に記載のロボットシミュレーション装置。
【請求項３】
前記時間可変部は、
前記割り込み間隔が前記サンプリング時間の整数倍となるように前記サンプリング時間と前記割り込み間隔とを可変にする
請求項２に記載のロボットシミュレーション装置。
【請求項４】
前記仮想ロボットは、
前記軌道計算プロセスの対象であるロボット本体部と、該ロボット本体部の周辺を構成するロボット周辺部とから構成され、
前記ロボット周辺部に対する状態の把握をイベントとして処理するイベントプロセスを前記軌道計算プロセスごとに該軌道計算プロセスに続いて行うイベント処理部をさらに備える
請求項１〜３のいずれか一項に記載のロボットシミュレーション装置。
【請求項５】
前記ロボット本体部が、関節にて連結された複数のアームであり、
前記ロボット周辺部が、前記ロボット本体部の先端に連結されたロボットハンドと、前記ロボットハンドを撮像するカメラと、前記ロボットハンドの位置を検出するセンサーとから構成されている
請求項４に記載のロボットシミュレーション装置。
【請求項６】
仮想ロボットを軌道に沿って動かすロボットシミュレーション方法であって、
前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算工程と、
前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変工程と
を備えるロボットシミュレーション方法。
【請求項７】
仮想ロボットを軌道に沿って動かすコンピュータを、
前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算部、
前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変部
として機能させるロボットシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動きをシミュレーションする装置、特に、オペレーティングシステムを用いてロボットの動きをシミュレーションするロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラムに関する。
【背景技術】
【０００２】
従来から、特許文献１に記載のように、ロボットの動きをシミュレーションするロボットシミュレーション装置が知られている。図７は、ロボットシミュレーション装置の構成の一例をその機能に基づいて階層ごとに示す構成図である。図８は、ロボットシミュレーション装置が行うシミュレーションの一例をシミュレーションの対象であるロボットの構造とともに示す図である。また、図９は、こうしたロボットシミュレーション装置にて実行なわれるプロセスの推移を示すタイムチャートである。
【０００３】
図７に示されるように、ロボットシミュレーション装置５０の装置本体５０ａには、プロセッサー５１、メモリー５２、ＯＳ６１、及びアプリケーションプログラム７１が搭載されている。また、装置本体５０ａには、表示部５３と入力部５４とが接続されている。
【０００４】
プロセッサー５１には、プロセスのタイミングを定めるシステムタイマー５１ａが内蔵され、また、メモリー５２には、仮想ロボットを画像で表現するためのロボットデータ５２ａが格納されている。プロセッサー５１は、アプリケーションプログラム７１の一つであるロボットシミュレーションプログラム７１ａを読み出して解釈するとともに、ＯＳ６１の環境下にて、ロボットコントローラのメモリーアドレスをロボットシミュレーション装置５０のメモリーアドレスに変換する。これによって、仮想ロボットコントローラが、ロボットシミュレーション装置５０にて起動する。仮想ロボットコントローラは、仮想ロボットの構造、アクチュエーターの種別、仮想ロボットが行う動作の始点、及び仮想ロボットが行う動作の終点、これらを示すロボットデータ５２ａから読み出すとともに、上述した始点と終点とを結ぶ最適な全体軌道を計算する。そして、仮想ロボットコントローラは、システムタイマー５１ａの時間間隔で下記二つのプロセス、すなわち、軌道計算プロセスとイベントプロセスとを順に行う。
【０００５】
軌道計算プロセスでは、まず、所定のサンプリング時間が経過したときのロボットの目標位置が上述した最適な全体軌道上に定められる。そして、仮想ロボットの現在位置と仮想ロボットの目標位置とをつなぐ最適な軌道が、現在位置からの目標軌道として計算される。すなわち、仮想ロボットコントローラでは、軌道計算プロセスが行われるたびに、現在位置からの微小な軌道が計算されて、こうした軌道の集合として最適な軌道が取り扱われる。その結果、最適な軌道がどの様な形状であっても、その最適な軌道に近い軌道に沿ってロボットが動くこととなる。
【０００６】
イベントプロセスでは、まず、仮想空間におけるワークが仮想ロボットのハンドにセットされること、仮想ロボットが所定の位置に到達することなど、これら仮想ロボットの周辺部における非定常的及び偶発的な状態がイベントとして取り扱われる。そして、上記軌道計算プロセスが行われた直後にこうしたイベントが補足されるとともに、補足されたイベントに基づいて、イベント駆動のプロセスが続けて行われる。その結果、仮想ロボットの周辺部における非定常的及び偶発的な状態に合わせて仮想ロボットが軌道に沿って動くこととなる。
【０００７】
例えば、ロボットシミュレーション装置５０にてシミュレーションが行われると、図８に示されるように、ロボットシミュレーション装置５０の表示部５３には、動作表示画面５３ａが表示される。この動作表示画面５３ａには、シミュレーションの対象となる仮想ロボットＲ、仮想ロボットＲの先端部を仮想空間で撮像するカメラＣａ、仮想ロボットＲの位置を仮想空間で検出するロボットセンサーＳｅが表示される。なお、シミュレーションの対象となる仮想ロボットＲは、垂直多関節ロボットやスカラーロボットであって、このような仮想ロボットＲは、基端部であるロボット本体部Ｒａと先端部であるロボットハンドＲｂとから構成されている。
【０００８】
そして、仮想ロボットコントローラは、ロボット本体部Ｒａに対して、上述した始点と終点とを用い、これら始点と終点とを結ぶ最適な軌道を計算する。次いで、仮想ロボットコントローラは、所定の時間間隔で上記軌道計算プロセスを行い、これによってロボット本体部Ｒａの軌道を逐次更新する。また、仮想ロボットコントローラは、上記軌道計算プロセスを行うたびに、上記イベントプロセスを行い、ロボットハンドＲｂ、カメラＣａ、ロボットセンサーＳｅなど、ロボット周辺部におけるイベントを補足する。そして、仮想ロボットコントローラは、ロボット本体部Ｒａが終点に到達するまで、軌道計算プロセスとイベントプロセスとを繰り返して行い、これらの結果に基づいて、動作表示画面５３ａにおける仮想ロボットＲの画像を更新し続ける。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−３００１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、上述したロボットシミュレーション装置５０では、軌道計算プロセスとイベントプロセスとを行うための割り込みが、軌道計算プロセスを監視するシステムコールによって発生する。そして、ＯＳ６１の環境下では、こうしたシステム割り込みの間隔が、通常、システムタイマー５１ａによる最小割り込み間隔となる。この際、システムタイマー５１ａによる最小割り込み間隔は、上述したプロセッサー５１やメモリー５２などのハードウェア資源のアーキテクチャーによって一義的に定められる。そのため、軌道計算プロセスの行われる割り込みの間隔は、例えば、一つの装置において２ミリ秒である一方、他の装置では１０ミリ秒を超えるという場合もある。結局のところ、こうした最少割り込みの間隔は、ロボットシミュレーションプログラムの搭載されるハードウェア資源ごとに互いに異なることとなる。
【００１１】
これに対して、軌道計算プロセスにて用いられるサンプリング時間とは、ロボットシミュレーションプログラムに固有の時間であって、上述したハードウェア資源のアーキテクチャーには寄らない時間である。すなわち、軌道計算プロセスの行われる割り込みの間隔が、ハードウェア資源ごとに異なる一方、軌道計算プロセスにてサンプリングする時間は、ハードウェア資源間にて共通するものとなる。それゆえに、ハードウェア資源の性能によっては、上述した最小割り込み間隔とサンプリング時間との間に大きな時間差が生じ、その結果、ロボットシミュレーションの結果が以下のようなものとなる虞がある。
【００１２】
例えば、図９に示されるように、ハードウェア資源の性能が低く、最小割り込み間隔Ｔｓがサンプリング時間Ｔｐよりも大幅に大きくなる場合には、実際の時間軸にて最小割り込み間隔Ｔｓが経過する間に、仮想ロボットコントローラ内の時間軸では、サンプリング時間Ｔｐだけしか進まないことになる。その結果、シミュレーションそのものに必要とされる時間が長くなるうえ、表示部５３に表示される仮想ロボットＲの動きまでもが遅くなってしまう。ひいては、実際のロボットコントローラによって制御されたロボットの動き
と仮想ロボットの動きとが大きく異なってしまう。
【００１３】
本発明は、上記問題を解決するためになされたものであり、その目的は、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能なロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
この発明は、仮想ロボットを軌道に沿って動かすロボットシミュレーション装置であって、前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算部と、前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変部とを備える。
【００１５】
上述した軌道計算プロセスが所定の割り込み間隔で行われるとき、実際の時間軸では、割り込み間隔に相当する時間が経過するとともに、仮想ロボットの時間軸では、サンプリング時間が経過する。そのため、ハードウェア資源に基づく最小割り込み間隔で軌道計算プロセスが行われるとなれば、ハードウェア資源ごとに、割り込み間隔とサンプリング時間との時間差が互いに異なることとなる。そして、ハードウェア資源に基づく最小割り込み間隔が非常に大きなものとなれば、割り込みが発生するたび、割り込み間隔（Ｔｉ）とサンプリング時間（Ｔｐ）との差分（Ｔｉ−Ｔｐ）ずつ、仮想ロボットの時間が実際の時間よりも遅れることとなる。その結果、シミュレーションそのものに必要とされる時間が長くなるうえ、シミュレーションの結果であるロボットの動きまでもが遅くなってしまう。
【００１６】
この発明によれば、サンプリング時間（Ｔｐ）が割り込み間隔（Ｔｉ）以下となる範囲でサンプリング時間（Ｔｐ）と割り込み間隔（Ｔｉ）とが可変となる。それゆえに、例えば、ハードウェア資源による最小割り込み間隔が相対的に長い場合には、割り込み間隔を長くするとともに、該割り込み間隔に合わせてサンプリング時間を長くすることが可能である。これによれば、割り込み間隔とサンプリング時間との差分（Ｔｉ−Ｔｐ）を短くすることが可能である。
【００１７】
また、軌道計算プロセスに必要とされるプロセス時間も、上述した最小割り込み間隔と同じく、ハードウェア資源ごとに互いに異なるものである。それゆえに、例えば、ハードウェア資源による軌道計算の速度が相対的に低い場合には、サンプリング時間を相対的に長くするとともに、最小割り込み間隔とは異なる長い割り込み間隔をサンプリング時間に合わせて設定することが可能でもある。
【００１８】
その結果、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能なロボットシミュレーション装置を提供することが可能である。
【００１９】
この発明では、前記時間可変部は、前記サンプリング時間が前記割り込み間隔の半分以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にするとともに、前記軌道計算部は、前記割り込み間隔で行う前記軌道計算プロセスの回数と、前記割り込み間隔を前記サンプリング時間で除算した値の整数部とを同じにすることが好ましい。
【００２０】
この発明によれば、割り込みが発生するたびに、複数回の軌道計算プロセスが行われる
。そして、割り込み間隔で行われる軌道計算プロセスの回数と、割り込み間隔をサンプリング時間で除算した値の整数部とが同じになる。それゆえに、実際の時間軸では、割り込み間隔が経過する一方、仮想ロボットの時間軸では、サンプリング時間が複数回にわたって加算されることとなる。これによれば、実際の時間軸における経過時間と仮想ロボットの時間軸における経過時間との差分が、サンプリング時間よりも確実に小さくなる。そのため、シミュレーションそのものに必要とされる時間が長くなること、シミュレーションの結果である仮想ロボットの動きが遅くなること、これらを確実に抑えることが可能である。
【００２１】
この発明では、前記時間可変部は、前記割り込み間隔が前記サンプリング時間の整数倍となるように前記サンプリング時間と前記割り込み間隔とを可変にすることが好ましい。
この発明によれば、割り込みが発生するたびに、実際の時間軸では、割り込み間隔に相当する時間が経過し、また、仮想ロボットの時間軸では、サンプリング時間が複数回にわたって加算されることとなる。この際、割り込み間隔（Ｔｉ）がサンプリング時間（Ｔｐ）の整数倍（Ｋ倍）であるため、これら実際の時間軸における経過時間（Ｔｉ）と仮想ロボットの時間軸における経過時間（Ｔｐ×Ｋ）とが同じになる。それゆえに、シミュレーションそのものに必要とされる時間が長くなること、シミュレーションの結果である仮想ロボットの動きが遅くなること、これらをより確実に抑えることが可能である。
【００２２】
この発明では、前記仮想ロボットは、前記軌道計算プロセスの対象であるロボット本体部と、該ロボット本体部の周辺を構成するロボット周辺部とから構成され、前記ロボット周辺部に対する状態の把握をイベントとして処理するイベントプロセスを前記軌道計算プロセスごとに該軌道計算プロセスに続いて行うイベント処理部をさらに備えることが好ましい。
【００２３】
上述した時間可変部にて割り込み間隔とサンプリング時間とが同じもの（Ｔｉ＝Ｔｐ）となれば、少なくとも実際の時間軸と仮想ロボットの時間軸とを一致させることは可能であって、シミュレーションの結果がハードウェア資源によって互いに異なることを抑えることは可能である。ただし、割り込み間隔とサンプリング時間とを同じもの（Ｔｉ＝Ｔｐ）とすると、割り込み間隔（Ｔｉ）が大きい場合には、軌道計算プロセスに必要なプロセス時間とサンプリング時間（Ｔｐ（＝Ｔｉ））との時間差も大きくなる。その結果、軌道計算プロセスのプロセス時間が経過してから該軌道計算プロセスのサンプリング時間（Ｔｐ）が経過するまでの時間も大きくなり、この間に発生するイベント数も多くなる。そして、こうしたイベントを補足することが困難となってしまう。
【００２４】
この点、この発明によれば、軌道計算プロセスが行われるごとに、該軌道計算プロセスに続いてイベントプロセスが行われる。そのため、サンプリング時間（Ｔｐ）が長くなる場合であっても、該サンプリング時間にて発生したイベントをその後のイベントプロセスにて補足することが可能になる。また、一度の割り込みで複数回の軌道計算プロセスが行われる構成であれば、軌道計算プロセスが行われる回数分だけ、該軌道計算プロセスのサンプリング時間も小さくなる。そのため、軌道計算プロセスのプロセス時間が経過してからサンプリング時間が経過するまでの時間を短くすること、また、この時間に発生するイベントを少なくすることが可能ともなる。それゆえに、軌道計算プロセス後のイベントプロセスにて、イベントを補足することがより確実なものとなる。
【００２５】
この発明は、前記ロボット本体部が、関節にて連結された複数のアームであり、前記ロボット周辺部が、前記ロボット本体部の先端に連結されたロボットハンドと、前記ロボットハンドを撮像するカメラと、前記ロボットハンドの位置を検出するセンサーとから構成されていることが好ましい。
【００２６】
この発明によれば、ロボットハンド、カメラ、センサーから補足されるイベントを確実に補足しつつ、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えることが可能である。
【００２７】
この発明は、仮想ロボットを軌道に沿って動かすロボットシミュレーション方法であって、前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算工程と、前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変工程とを備える。
【００２８】
この発明によれば、サンプリング時間（Ｔｐ）が割り込み間隔（Ｔｉ）以下となる範囲でサンプリング時間（Ｔｐ）と割り込み間隔（Ｔｉ）とが可変となる。それゆえに、例えば、ハードウェア資源による最小割り込み間隔が相対的に長い場合には、割り込み間隔を長くするとともに、該割り込み間隔に合わせてサンプリング時間を長くすることが可能である。これによれば、割り込み間隔とサンプリング時間との差分を短くすることが可能である。
【００２９】
また、軌道計算プロセスに必要とされるプロセス時間も、上述した最小割り込み間隔と同じく、ハードウェア資源ごとに互いに異なるものである。それゆえに、例えば、ハードウェア資源による軌道計算の速度が相対的に低い場合には、サンプリング時間を相対的に長くするとともに、最小割り込み間隔とは異なる長い割り込み間隔をサンプリング時間に合わせて設定することが可能でもある。
【００３０】
その結果、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能なロボットシミュレーション方法を提供することが可能である。
【００３１】
この発明は、仮想ロボットを軌道に沿って動かすコンピュータを、前記仮想ロボットのサンプリング時間後の軌道を計算する軌道計算プロセスを割り込み間隔で行う軌道計算部、前記サンプリング時間が前記割り込み間隔以下となる範囲で前記サンプリング時間と前記割り込み間隔との双方を各別に可変にする時間可変部として機能させるロボットシミュレーションプログラムである。
【００３２】
この発明によれば、サンプリング時間（Ｔｐ）が割り込み間隔（Ｔｉ）以下となる範囲でサンプリング時間（Ｔｐ）と割り込み間隔（Ｔｉ）とが可変となる。それゆえに、例えば、ハードウェア資源による最小割り込み間隔が相対的に長い場合には、割り込み間隔を長くするとともに、該割り込み間隔に合わせてサンプリング時間を長くすることが可能である。これによれば、割り込み間隔とサンプリング時間との差分（Ｔｉ−Ｔｐ）を短くすることが可能である。
【００３３】
また、軌道計算プロセスに必要とされるプロセス時間も、上述した最小割り込み間隔と同じく、ハードウェア資源ごとに互いに異なるものである。それゆえに、例えば、ハードウェア資源による軌道計算の速度が相対的に低い場合には、サンプリング時間を相対的に長くするとともに、最小割り込み間隔とは異なる長い割り込み間隔をサンプリング時間に合わせて設定することが可能でもある。
【００３４】
その結果、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能なロボットシミュレーションプログラムを提供することが可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態におけるロボットシミュレーション装置の構成を機能に基づいて階層ごとに示す構成図。
【図２】同実施形態のロボットシミュレーション装置における条件入力画面を示す図。
【図３】同実施形態のロボットシミュレーション方法にて行われるプロセスの順序を示すフローチャート。
【図４】同実施形態の動作表示プロセスにて行われるプロセスの順序を示すフローチャート。
【図５】同実施形態のロボットシミュレーション方法にて行われるプロセスの推移を示すタイムチャート。
【図６】変形例のロボットシミュレーション方法にて行われるプロセスの推移を示すタイムチャート。
【図７】従来例のロボットシミュレーション装置の構成を機能に基づいて階層ごとに示す構成図。
【図８】ロボットシミュレーション装置の外観をロボットの構造とともに示す構成図。
【図９】従来例のロボットシミュレーション装置にて行われるプロセスの推移を示すタイムチャート。
【発明を実施するための形態】
【００３６】
以下、本発明のロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラムを具体化した一実施の形態について図１〜図５を参照して説明する。
【００３７】
なお、本実施の形態におけるロボットシミュレーション装置の外観は、先の図８に示される外観と同様であって、また、シミュレーションの対象となるロボットの構成も、先の図８に示すロボットと同様の垂直多関節ロボットである。そのため、以下では、これらロボットシミュレーション装置の外観、及びシミュレーションの対象となるロボットの構成に関する説明を割愛する。
【００３８】
［ロボットシミュレーション装置］
まず、ロボットシミュレーション装置の構成について図１を参照して説明する。
図１に示されるように、ロボットシミュレーション装置は、プロセッサー１１、メモリー１２、ＯＳ２１、アプリケーションプログラム３１が搭載された装置本体１０に入力部１４と表示部１３とが接続されたコンピュータである。
【００３９】
プロセッサー１１には、システムタイマー１１ａと、割り込みを発生させる割り込み発生部１１ｂと、プロセスが行われた回数をカウントするプロセスカウンター１１ｃとが搭載されている。そして、プロセッサー１１は、アプリケーションプログラム３１の一つであるロボットシミュレーションプログラム３１ａを読み出して解釈するととともに、ＯＳ２１の環境下にて、ロボットコントローラのメモリーアドレスをロボットシミュレーション装置のメモリーアドレスに変換する。これによって、仮想ロボットコントローラが、ロボットシミュレーション装置にて起動する。
【００４０】
入力部１４には、シミュレーションを開始するための割り込み指令が入力される。また、入力部１４には、割り込み間隔Ｔｉ、サンプリング時間Ｔｐ、ロボットデータ１２ａなどの各種のデータが入力される。
【００４１】
割り込み間隔Ｔｉとは、システムタイマー１１ａによる最小割り込み間隔以上の時間間隔であって、入力部１４は、この条件が満たされる割り込み間隔Ｔｉを装置本体１０に入力する。サンプリング時間Ｔｐとは、割り込み間隔Ｔｉ以下の時間であって、入力部１４は、この条件が満たされるサンプリング時間Ｔｐを装置本体１０に入力する。
【００４２】
ロボットデータ１２ａは、例えば、仮想ロボットＲの機械的な構造、仮想ロボットＲを構成するアクチュエーターの種別、仮想ロボットＲを構成する減速機の減速比、ロボット本体部Ｒａの動作の始点と終点などから構成されている。仮想ロボットコントローラは、仮想ロボットＲの姿勢や仮想ロボットＲの動きを仮想空間で表現するときに、このロボットデータ１２ａを用いる。
【００４３】
表示部１３は、ロボットデータ１２ａを入力するためのデータ入力画面、割り込み間隔Ｔｉやサンプリング時間Ｔｐを入力するための条件入力画面１３ａ（図２参照）、これらを表示する。また、表示部１３は、ロボットデータ１２ａに基づく仮想ロボットＲの静止画像を表示したり、ロボットシミュレーションの結果である仮想ロボットＲの動きを動画像で表示したりする。
【００４４】
プロセッサー１１のレジスタには、条件入力画面にて入力された割り込み間隔Ｔｉと、同じく条件入力画面にて入力されたサンプリング時間Ｔｐとが格納されている。さらに、プロセッサー１１のレジスタには、割り込み間隔Ｔｉをサンプリング時間Ｔｐで除算した除算結果の整数部が、プロセスの行われる回数の設定値である設定回数Ｋとして格納されている。一方、メモリー１２には、データ入力画面にて入力されたロボットデータ１２ａが格納されている。
【００４５】
そして、プロセッサー１１は、メモリー１２に格納されたロボットデータ１２ａを読み出すとともに、ロボット本体部Ｒａの動作の始点とロボット本体部Ｒａの動作の終点とをつなぐ最適な全体軌道を計算する。また、プロセッサー１１は、表示部１３に仮想ロボットＲの画像を表示するとともに、割り込み間隔Ｔｉごとの割り込みを割り込み発生部１１ｂに発生させる。また、割り込み発生部１１ｂにて割り込みが発生するたびに、プロセッサー１１は、ロボットシミュレーションプログラム３１ａに従って、軌道計算プロセスとイベントプロセスとを順に行う。さらに、割り込み発生部１１ｂにて割り込みが発生するたびに、プロセッサー１１は、プロセスカウンター１１ｃのカウントした値をリセットするとともに、軌道計算プロセスとイベントプロセスとが行われるたびに、プロセスカウンター１１ｃのカウントした値をインクリメントする。
【００４６】
上述したように、軌道計算プロセスでは、まず、所定のサンプリング時間Ｔｐが経過したときのロボット本体部Ｒａの目標位置が、上述した最適な全体軌道上に定められる。そして、軌道計算プロセスが開始されるときのロボット本体部Ｒａの位置である開始位置と該ロボット本体部Ｒａの目標位置とをつなぐ最適な軌道が、今回の軌道計算プロセスにおける目標軌道として計算される。すなわち、仮想ロボットコントローラでは、軌道計算プロセスが行われるたびに、該軌道計算プロセスの開始位置からの微小な軌道が計算されて、こうした軌道の集合として上述した最適な軌道が取り扱われる。
【００４７】
また、上述したように、イベントプロセスでは、まず、ワークＷがロボットハンドＲｂにセットされること、ロボット本体部Ｒａが所定の位置に到達することなど、これら仮想ロボットＲの周辺部における非定常的及び偶発的な状態がイベントとして取り扱われる。そして、軌道計算プロセスが行われた直後にイベントが補足されるとともに、補足されたイベントに基づいて、イベント駆動のプロセスが続けて行われる。
【００４８】
［ロボットシミュレーション方法］
次に、上述したロボットシミュレーション装置の作用をロボットシミュレーション装置にて行われるロボットシミュレーション方法とともに図３と図４とを参照して説明する。まず、ロボットシミュレーション方法の全体におけるプロセスの順序を説明し、次いで、ロボットシミュレーション方法にてシミュレーションの結果を表示する際のプロセスの順序を説明する。
【００４９】
ロボットシミュレーションを行うための割り込み指令が入力部１４から装置本体１０に入力されると、図３に示されるように、プロセッサー１１は、割り込み間隔Ｔｉとサンプリング時間Ｔｐとを設定する（ステップＳ１１：時間可変工程）。すなわち、プロセッサー１１は、ロボットシミュレーションプログラム３１ａを構成する割り込み間隔設定プログラムを読み出して解釈する。続いて、プロセッサー１１は、割り込み間隔Ｔｉとサンプリング時間Ｔｐとを入力部１４が入力するための条件入力画面１３ａを表示部１３に表示する。これによって、割り込み間隔Ｔｉとサンプリング時間Ｔｐとの双方が互いに関わり合うことなく各別に初期値から可変となる。
【００５０】
その後、条件入力画面１３ａに基づいて、入力部１４が、割り込み間隔Ｔｉとサンプリング時間Ｔｐとを装置本体１０に入力する。そして、プロセッサー１１は、入力された割り込み間隔Ｔｉと同じく入力されたサンプリング時間Ｔｐとをレジスタに格納し、これによって、これら割り込み間隔Ｔｉとサンプリング時間Ｔｐとの設定を終了する。
【００５１】
次いで、プロセッサー１１は、ロボットシミュレーションプログラム３１ａを構成するコントローラ起動プログラムを読み出して解釈する。そして、プロセッサー１１は、ロボットコントローラのメモリーアドレスをロボットシミュレーション装置のメモリーアドレスに変換する。これによって、仮想ロボットコントローラが、ロボットシミュレーション装置にて起動する（ステップＳ１２）。
【００５２】
続いて、プロセッサー１１は、ロボットシミュレーションプログラム３１ａを構成するロボットデータ設定プログラムを読み出して解釈する。そして、プロセッサー１１は、ロボットデータ１２ａを入力部１４に入力するためのデータ入力画面を表示部１３に表示する。その後、データ入力画面にてロボットデータ１２ａが入力されると、プロセッサー１１は、ロボットコントローラのメモリーアドレスに対応するメモリーアドレスにロボットデータ１２ａを格納してロボットデータ１２ａの設定を終了する（ステップＳ１３）。
【００５３】
このようにして、割り込み間隔Ｔｉ、サンプリング時間Ｔｐ、及びロボットデータ１２ａが設定されると、プロセッサー１１は、設定されたロボットデータ１２ａに基づいて、ロボット本体部Ｒａの画像とロボット周辺部の画像とを仮想空間となる表示部１３に表示する（ステップＳ１４）。そして、仮想ロボットＲの動作を表示するための割り込み指令が入力部１４から入力されると、プロセッサー１１は、ロボットシミュレーションプログラム３１ａを構成する動作表示プログラムを読み出して解釈し、これを実行する（ステップＳ１５）。
【００５４】
次に、上述した動作表示プログラムにおけるプロセスの順序について以下に説明する。
図４に示されるように、動作表示プログラムでは、まず、プロセッサー１１は、プログラムカウンターなどを参照し、実行するべき命令があるか否かを判断する（ステップＳ２１）。そして、実行するべき命令が無い場合には（ステップＳ２１にてＮＯ）、プロセッサー１１は、動作表示プログラムを終了し、これに伴ってロボットシミュレーションを終了する。一方、実行するべき命令がある場合には（ステップＳ２１にてＹＥＳ）、プロセッサー１１は、ロボット本体部Ｒａの動作の始点とロボット本体部Ｒａの動作の終点とをロボットデータ１２ａから読み出し、始点に位置するロボット本体部Ｒａが終点に到達するまでの最適な軌道を計算する（ステップＳ２２）。なお、この際、プロセッサー１１は
、ロボット本体部Ｒａが最短の軌道を移動するという条件、ロボット本体部Ｒａの軌道が所定の曲率以上であるという条件など、予め設定された各種の条件に基づいて、始点から終点までの最適な軌道を計算する。そして、プロセッサー１１は、割り込み発生部１１ｂにて割り込みが発生するまで待機する（ステップＳ２３にてＮＯ）。
【００５５】
次いで、割り込み発生部１１ｂにて割り込みが発生すると（ステップＳ２３にてＹＥＳ）、プロセッサー１１は、プロセスカウンター１１ｃのカウントした値をリセットする。続いて、プロセッサー１１は、仮想ロボットコントローラの時間軸を基準としたプロセス時間にサンプリング時間Ｔｐを加算する（ステップＳ２４）。そして、プロセッサー１１は、軌道計算プロセスとイベントプロセスとを続けて実行する。
【００５６】
すなわち、プロセッサー１１は、サンプリング時間Ｔｐが経過したときのロボット本体部Ｒａの位置を上述した最適な軌道上に定める。そして、プロセッサー１１は、このように定められた位置を今回の軌道計算プロセスにおける目標位置として取り扱う。続いて、プロセッサー１１は、今回の軌道計算プロセスが開始されるときのロボット本体部Ｒａの位置である開始位置を取得する。そして、プロセッサー１１は、上述したロボット本体部Ｒａの目標位置と開始位置とをつなぐ最適な軌道を今回の軌道計算プロセスにおける目標軌道として計算する（ステップＳ２５：軌道計算工程）。また、プロセッサー１１は、ロボット周辺部の状態をイベントに基づいて把握し、補足されたイベントに基づいてイベント駆動のプロセスを行う（ステップＳ２６）。
【００５７】
そして、上記軌道計算プロセスと上記イベントプロセスとが１回ずつ行われると、プロセッサー１１は、プロセスカウンター１１ｃのカウントする値をインクリメントする。次いで、プロセッサー１１は、プロセスカウンター１１ｃのカウントする値が設定回数Ｋに到達するまで、上述したサンプリング時間Ｔｐの加算プロセス（ステップＳ２４）、軌道計算プロセス（ステップＳ２５）、イベントプロセス（ステップＳ２６）を順に繰り返す（ステップＳ２７にてＮＯ）。
【００５８】
続いて、プロセスカウンター１１ｃのカウントする値が設定回数Ｋに到達すると（ステップＳ２７にてＹＥＳ）、プロセッサー１１は、各軌道計算プロセスにて計算した目標軌道に基づいて仮想ロボットＲの画像を表示部１３にて更新する（ステップＳ２８）。そして、プロセッサー１１は、ロボット本体部Ｒａが終点に到達したか否かを判断するとともに、ロボット本体部Ｒａが終点に到達していない場合には、次の割り込みが発生するまで待機する（ステップＳ２９にてＮＯ、ステップＳ２３）。一方、ロボット本体部Ｒａが終点に到達した場合には、再び、実行すべき命令があるか否かを判断する（ステップＳ２９にてＹＥＳ、ステップＳ２１）。
【００５９】
［プロセスの推移］
次に、上述したロボットシミュレーション方法にて行われるプロセスの推移について図５を参照して説明する。なお、ロボットシミュレーション方法にて行われるプロセスの推移のうち、１つの割り込み間隔にて行われる軌道計算プロセスとイベントプロセスとの推移を特に説明するため、図５では、割り込み間隔Ｔｉ及びサンプリング時間Ｔｐが下記の式（１）及び式（２）を満たす場合が例示されている。
・Ｔｉ＝２×Ｔｓ＝１６ミリ秒        …式（１）
・Ｔｉ＝Ｋ×Ｔｐ  （Ｋ＝４）        …式（２）
すなわち、図５には、システムタイマー１１ａの最小割り込み間隔Ｔｓが８ミリ秒であって、割り込み間隔Ｔｉが最小割り込み間隔Ｔｓの２倍である１６ミリ秒となる形態が例示されている。また、図５には、設定回数Ｋが４回であって、この設定回数Ｋとサンプリング時間Ｔｐとを乗算した値が上記割り込み間隔Ｔｉとなる形態、すなわちサンプリング時間Ｔｐが４ミリ秒となる形態が例示されている。
【００６０】
図５に示されるように、割り込み発生部１１ｂにて割り込みが発生すると、仮想ロボットコントローラでは、それの時間軸であるプロセス時間にサンプリング時間Ｔｐである４ミリ秒が加算されるとともに、１回目の軌道計算プロセスＰ１と１回目のイベントプロセスＰ２とが続けて行われる。すなわち、軌道計算プロセスＰ１では、サンプリング時間Ｔｐである４ミリ秒後の目標軌道が計算されるとともに、実際の時間軸にてサンプリング時間Ｔｐが経過する間に、軌道計算プロセスＰ１とイベントプロセスＰ２とが行われる。そして、実際の時間軸にてサンプリング時間Ｔｐが経過すると、仮想ロボットコントローラでは、プロセス時間にサンプリング時間Ｔｐがさらに加算されるとともに、２回目の軌道計算プロセスＰ１と２回目のイベントプロセスＰ２とが続けて実行される。以降、サンプリング時間Ｔｐが経過する都度、仮想ロボットコントローラでは、プロセス時間にサンプリング時間Ｔｐが加算されるとともに、軌道計算プロセスＰ１とイベントプロセスＰ２とが続けて実行される。
【００６１】
ここで、従来のロボットシミュレーション装置のように、最小割り込み間隔Ｔｓ（８ミリ秒）ごとに、１回の軌道計算プロセスＰ１が行われるとする。この場合、実際の時間軸にて最小割り込み間隔Ｔｓが経過する間に、仮想ロボットコントローラ内の時間軸では、サンプリング時間Ｔｐだけしか進まないことになる。すなわち、割り込み処理が発生するたびに、仮想ロボットコントローラ内の時間は、実際の時間よりも４ミリ秒ずつ遅れることとなる。そのため、シミュレーションそのものに必要とされる時間が長くなるうえ、表示部１３に表示される仮想ロボットＲの動きまでもが遅くなってしまう。ひいては、実際のロボットコントローラによって制御されたロボットの動きとシミュレーションの結果とが大きく異なってしまう。
【００６２】
この点、上述したロボットシミュレーション装置では、割り込みが発生するたびに、設定回数Ｋの軌道計算プロセスＰ１が行われる。このような構成であれば、割り込み間隔Ｔｉ（１６ミリ秒）が経過する間に、仮想ロボットコントローラ内の時間軸では、サンプリング時間Ｔｐ（４ミリ秒）が設定回数Ｋ（４回）だけ加算される。すなわち、実際の時間軸にて１６ミリ秒が経過する間に、仮想ロボットコントローラ内の時間軸でも、同じく１６ミリ秒が経過することになる。それゆえに、シミュレーションそのものに必要とされる時間が長くなること、表示部１３に表示される仮想ロボットＲの動きが遅くなること、これらを抑えることが可能である。ひいては、実際のロボットコントローラによって制御されたロボットの動きとシミュレーションの結果とを近づけることが可能となる。
【００６３】
しかも、このロボットシミュレーション装置では、上述のようなシミュレーションが、最小割り込み間隔Ｔｓ（８ミリ秒）とは互い異なる割り込み間隔Ｔｉ（１６ミリ秒）で行われる。それゆえに、例えば、他のハードウェア資源による最小割り込み間隔Ｔｓが８ミリ秒よりも長くなる場合であっても、割り込み間隔Ｔｉをそれよりも長くするとともに、該割り込み間隔Ｔｉに合わせてサンプリング時間Ｔｐを長くすることが可能である。また、例えば、他のハードウェア資源による軌道計算の速度が相対的に低い場合には、サンプリング時間Ｔｐを相対的に長くするとともに、最小割り込み間隔Ｔｓとは異なる割り込み間隔Ｔｉをサンプリング時間Ｔｐに合わせてさらに長く設定することが可能でもある。そして、これらによれば、割り込みあたりに必要とされるサンプリング時間Ｔｐの合計と割り込み間隔Ｔｉとの差分を小さくすることが可能である。それゆえに、最小割り込み間隔Ｔｓが８ミリ秒よりも大きくなるハードウェア資源であれ、また、最小割り込み間隔Ｔｓが８ミリ秒よりも小さくなるハードウェア資源であれ、さらには計算の速度が低いハードウェア資源であれ、上述した効果に準じた効果を得ることが可能でもある。
【００６４】
以後、軌道計算プロセスＰ１とイベントプロセスＰ２とがそれぞれ設定回数Ｋである４回ずつ行われると、割り込み間隔Ｔｉである１６ミリ秒が経過して、割り込み発生部１１
ｂにて次回の割り込みが発生する。そして、割り込み発生部１１ｂにて割り込みが発生すると、仮想ロボットコントローラでは、再び、プロセス時間にサンプリング時間Ｔｐが加算されるとともに、１回目の軌道計算プロセスＰ１と１回目のイベントプロセスＰ２とが続けて実行される。
【００６５】
以上説明したように、本実施の形態のロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラムによれば、以下に列記する効果が得られる。
【００６６】
（１）プロセッサー１１は、仮想ロボットＲの軌道をサンプリング時間Ｔｐだけサンプリングする。そして、プロセッサー１１は、こうした軌道計算プロセスＰ１を割り込み間隔Ｔｉで行う軌道計算部として機能する。また、装置本体１０は、サンプリング時間Ｔｐが割り込み間隔Ｔｉ以下となる範囲でサンプリング時間Ｔｐと割り込み間隔Ｔｉとの双方を各別に可変にする時間可変部として機能する。
【００６７】
このような構成によれば、例えば、他のハードウェア資源による最小割り込み間隔Ｔｓが相対的に長くなる場合には、その最小割り込み間隔Ｔｓ以上に、可変となった割り込み間隔Ｔｉを長くするとともに、該割り込み間隔Ｔｉに合わせて、同じく可変となったサンプリング時間Ｔｐを長くすることが可能である。これによれば、割り込み間隔Ｔｉとサンプリング時間Ｔｐとの差分（Ｔｉ―Ｔｐ）を短くすることが可能である。
【００６８】
（２）また、例えば、他のハードウェア資源による計算の速度が相対的に低くなる場合には、軌道計算が可能な程度にまで可変となったサンプリング時間Ｔｐを長くするとともに、そのサンプリング時間Ｔｐ以上に、同じく可変となった割り込み間隔Ｔｉを設定することが可能である。
【００６９】
これらの結果、シミュレーションを行うハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることの可能となる。
【００７０】
（３）プロセッサー１１では、割り込みが発生するたびに、設定回数Ｋの軌道計算プロセスＰ１が行われる。この際、割り込み間隔Ｔｉで行われる軌道計算プロセスＰ１の回数と、割り込み間隔Ｔｉをサンプリング時間Ｔｐで除算した値の整数部（設定回数Ｋ）とが同じになるように、軌道計算プロセスＰ１が行われる。それゆえに、実際の時間軸では、割り込み間隔Ｔｉが経過するとともに、仮想ロボットＲの時間軸では、サンプリング時間Ｔｐが設定回数Ｋだけ加算されることとなる。これによれば、実際の時間軸における経過時間と仮想ロボットの時間軸における経過時間との差分が、サンプリング時間Ｔｐよりも確実に小さくなる。そのため、シミュレーションそのものに必要とされる時間が長くなること、シミュレーションの結果である仮想ロボットＲの動きが遅くなること、これらを確実に抑えることが可能である。
【００７１】
（４）上述したロボットシミュレーション装置では、割り込みが発生するたびに、実際の時間軸では、割り込み間隔に相当する時間が経過し、また、仮想ロボットＲの時間軸では、サンプリング時間Ｔｐが設定回数にわたって加算されることとなる。
【００７２】
この際、割り込み間隔Ｔｉがサンプリング時間Ｔｐの整数倍（設定回数Ｋ倍）であるため、これら実際の時間軸における経過時間と仮想ロボットＲの時間軸における経過時間とが同じとなる。それゆえに、シミュレーションそのものに必要とされる時間が長くなること、シミュレーションの結果である仮想ロボットＲの動きが遅くなること、これらをより確実に抑えることが可能である。
【００７３】
（５）プロセッサー１１は、ロボット周辺部に対する状態の把握をイベントとして軌道計算プロセスＰ１ごとに処理する。そして、プロセッサー１１は、こうしたイベントプロセスＰ２を該軌道計算プロセスＰ１に続いて行うイベント処理部として機能する。そのため、サンプリング時間Ｔｐが長くなる場合であっても、該サンプリング時間Ｔｐにて発生したイベントをその後のイベントプロセスＰ２にて補足することが可能になる。
【００７４】
また、一度の割り込みで設定回数Ｋの軌道計算プロセスＰ１が行われるため、軌道計算プロセスＰ１が行われる設定回数Ｋの分だけ、該軌道計算プロセスＰ１のサンプリング時間Ｔｐを小さくすることが可能である。そのため、軌道計算プロセスＰ１のプロセス時間が経過してからサンプリング時間Ｔｐが経過するまでの時間を短くすること、また、この時間に発生するイベントを少なくすることが可能ともなる。それゆえに、軌道計算プロセスＰ１直後のイベントプロセスＰ２にて、イベントを補足することがより確実なものとなる。
【００７５】
なお、上記実施の形態は、以下のような態様によって実施することも可能である。
・上記実施の形態では、設定回数Ｋが「４」である場合を例示した。これに限られず、設定回数Ｋは、「４」以外の整数であってもよい。図６は、上記実施の形態にて説明した図５に対応するタイミングチャートであって、設定回数Ｋが「１」である場合を示す。
【００７６】
図６に示されるように、設定回数Ｋが「１」である場合であっても、割り込み間隔Ｔｉに合わせてサンプリング時間Ｔｐを長くすることが可能である。また、最小割り込み間隔Ｔｓとは異なる長い割り込み間隔Ｔｉと、その割り込み間隔Ｔｉに合わせたサンプリング時間Ｔｐとを設定することが可能である。このような構成によれば、軌道計算プロセスごとの目標軌道が長くなるものの、ハードウェア資源によってシミュレーションの結果が互いに異なることを抑えてハードウェア資源間でのシミュレーションの結果の差異を少なくすることは可能である。
【００７７】
なお、上述した構成では、割り込み間隔Ｔｉが大きくなると、軌道計算プロセスＰ１に必要なプロセス時間とサンプリング時間Ｔｐ（＝Ｔｉ）との時間差も大きくなる。その結果、軌道計算プロセスＰ１のプロセス時間が経過してから該軌道計算プロセスＰ１のサンプリング時間Ｔｐが経過するまでの時間Ｔｅも大きくなり、この間に発生するイベント数も多くなる。そのため、軌道計算プロセスＰ１を行った後に複数回のイベント処理を行う構成が好ましい。
【００７８】
・ロボットシミュレーション装置及びプログラムは、入力部１４の入力する割り込み間隔Ｔｉを最小割り込み間隔Ｔｓ以上の値にする構成であれはよい。また、ロボットシミュレーション装置及びプログラムは、入力部１４の入力するサンプリング時間Ｔｐを割り込み間隔Ｔｉ以上の値にする構成であればよい。
【００７９】
・割り込み間隔Ｔｉは、設定回数Ｋが可変になることによって、サンプリング時間Ｔｐとは各別に可変になる構成であってもよい。例えば、割り込み間隔Ｔｉは、サンプリング時間Ｔｐと設定回数Ｋとに基づいてプロセッサー１１にて演算される演算値であってもよい。この際、サンプリング時間Ｔｐと設定回数Ｋとが各別に入力部１４から入力されるとともに、プロセッサー１１が、入力値であるサンプリング時間Ｔｐと入力値である設定回数Ｋとを乗算して、その乗算結果を割り込み間隔Ｔｉとしてレジスタに格納する構成であってもよい。
【００８０】
・サンプリング時間Ｔｐは、設定回数Ｋが可変になることによって、割り込み間隔Ｔｉとは各別に可変になる構成であってもよい。例えば、サンプリング時間Ｔｐは、割り込み
間隔Ｔｉと設定回数Ｋとに基づいてプロセッサー１１にて演算される演算値であってもよい。この際、サンプリング時間Ｔｐと設定回数Ｋとが入力部１４から入力されるとともに、プロセッサー１１が、入力値である割り込み間隔Ｔｉを入力値である設定回数Ｋによって除算して、その除算結果をサンプリング時間Ｔｐとしてレジスタに格納する構成であってもよい。
【００８１】
・ロボットシミュレーション装置及びプログラムは、入力部１４の入力する割り込み間隔Ｔｉが、入力部１４の入力するサンプリング時間Ｔｐの整数倍でない場合には、割り込み間隔Ｔｉをサンプリング時間Ｔｐで除算した商の整数部が、設定回数Ｋとしてプロセッサー１１に格納されるという構成であってもよい。また、ロボットシミュレーション装置及びプログラムは、該整数部よりも小さい整数が設定回数Ｋとして格納されるという構成であってもよい。
【００８２】
・イベントプロセスＰ２は、複数の軌道計算プロセスＰ１が行われるたびに、プロセッサー１１により行われる構成であってもよい。あるいは、イベントプロセスＰ２は、軌道計算プロセスＰ１が行われるか否かに関わらず、所定の時間間隔でプロセッサー１１により行われる構成であってもよい。さらには、ロボットシミュレーション装置及びプログラムは、イベントプロセスＰ２を行わない構成であってもよい。
【００８３】
・ロボット本体部Ｒａは、例えば、関節にて連結されたアームの他、ロボットハンドＲｂを有する構成であってもよく、仮想ロボットＲのうち、軌道計算の対象となる部分であればよい。また、ロボット周辺部は、例えば、仮想ロボットＲの設置される設備において扉の開閉を監視するセンサーであってもよく、仮想ロボットＲのうち、ロボット本体部Ｒａの周辺にてロボット本体部Ｒａの動きに関わる情報を出力する部分であればよい。
【００８４】
・サンプリング時間Ｔｐが割り込み間隔Ｔｉ以下となる範囲でサンプリング時間Ｔｐと割り込み間隔Ｔｉとを各別に可変にするという専用の論理回路が着脱可能なチップとしてロボットシミュレーション装置に搭載される構成であってもよい。すなわち、ロボットシミュレーション装置は、ロボットシミュレーションプログラムが有する上述した機能がハードウェアとして具体化される構成であってもよい。
【符号の説明】
【００８５】
Ｃａ…カメラ、Ｋ…設定回数、Ｐ１…軌道計算プロセス、Ｐ２…イベントプロセス、Ｒ…仮想ロボット、Ｒａ…ロボット本体部、Ｒｂ…ロボットハンド、Ｓｅ…ロボットセンサー、Ｔｉ…割り込み間隔、Ｔｐ…サンプリング時間、Ｗ…ワーク、１０，５０ａ…装置本体１０，５１…プロセッサー、１１ａ，５１ａ…システムタイマー、１１ｂ…割り込み発生部、１１ｃ…プロセスカウンター、１２，５２…メモリー、１２ａ，５２ａ…ロボットデータ、１３，５３…表示部、１３ａ…条件入力画面、１４，５４…入力部、２１，６１…ＯＳ、３１，７１…アプリケーションプログラム、３１ａ，７１ａ…ロボットシミュレーションプログラム、５０…ロボットシミュレーション装置、５３ａ…動作表示画面。
【図２】
2012135821.tif 000003
【図３】
2012135821.tif 000004
【図４】
2012135821.tif 000005
【図５】
2012135821.tif 000006
【図６】
2012135821.tif 000007
【図８】
2012135821.tif 000008
【図９】
2012135821.tif 000009
【図１】
2012135821.tif 000010
【図７】
2012135821.tif 000011