処理部と、描画処理を行う描画部と、を含み、前記描画部は、衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると前記処理部が判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とする衝突検出システム。請求項1において、前記処理部は、前記第3の描画処理で描画された前記他のオブジェクトの処理対象ピクセルの深度値が、前記前面深度値と前記背面深度値の間の深度値であると判定した場合に、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記他のオブジェクトが存在すると判定して、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とする衝突検出システム。請求項2において、前記描画部により描画データが書き込まれる描画バッファーを含み、前記描画部は、前記第3の描画処理において、前記処理対象ピクセルの深度値が、前記前面深度値よりも前記所定の視点から見て後方側の深度値であり、且つ、前記背面深度値よりも前記所定の視点から見て前方側の深度値である場合に、前記処理対象ピクセルの前記描画データを前記描画バッファーに書き込み、前記処理部は、前記描画バッファーへの前記描画データの書き込み結果に基づいて、前記衝突検出対象オブジェクトの衝突判定を行うことを特徴とする衝突検出システム。請求項2において、前記描画部により描画データが書き込まれる描画バッファーを含み、前記描画部は、前記第3の描画処理において、前方物体を描画し後方物体を隠面消去する描画モードに設定して、前記背面深度値を参照して前記他のオブジェクトを第1の描画データで前記描画バッファーに描画し、後方物体を描画し前方物体を隠面消去する描画モードに設定して、前記前面深度値を第2の描画データとして前記描画バッファーに上書きで描画し、前記処理部は、前記描画バッファーに前記第1の描画データが上書きされずに残存している場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とする衝突検出システム。請求項1乃至4のいずれかにおいて、深度情報を記憶する深度バッファーを含み、前記深度バッファーは、前記前面深度値と前記背面深度値を記憶することを特徴とする衝突検出システム。請求項1乃至5のいずれかにおいて、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在しないと判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突しなかったと判定することを特徴とする衝突検出システム。請求項1乃至6のいずれかにおいて、前記描画部は、無限遠の前記視点での平行投影で前記第1の描画処理、前記第2の描画処理、前記第3の描画処理を行うことを特徴とする衝突検出システム。請求項1乃至7のいずれかにおいて、第1~第Nの深度値記憶部を有し、第1~第Nの深度値記憶部のうちの第mの深度値記憶部1≦m≦Nは、第mの前面深度値を記憶する第mの前面深度値記憶部と、前記第mの前面深度値と組となる第mの背面深度値を記憶する第mの背面深度値記憶部を有し、前記処理部は、前記第mの前面深度値記憶部の前記第mの前面深度値と、前記第mの背面深度値記憶部の前記第mの背面深度値とに基づいて、前記衝突検出対象オブジェクトの前記第mの前面深度値に対応する前面と前記第mの背面深度値に対応する背面の間に、前記第3の描画処理で描画された前記他のオブジェクトが存在すると判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とする衝突検出システム。請求項8において、前記所定の視点から見た場合における、前記衝突検出対象オブジェクトについての重なり状態を検出する重なり状態検出部を含み、前記重なり状態検出部で検出された重なり状態の最大重なり数がMである場合に、N≧Mであることを特徴とする衝突検出システム。請求項8又は9において、前記衝突検出対象オブジェクトについての処理対象ピクセルの深度値が、第1~第Nの前面深度値記憶部のうちの第iの前面深度値記憶部1≦i≦Nの深度値よりも、前記所定の視点から見て前方側の深度値である場合には、第i~第N-1の前面深度値記憶部の深度値を第i1~第Nの前面深度値記憶部に順次移動し、前記第iの前面深度値記憶部の深度値を、前記処理対象ピクセルの深度値に更新する前面処理部と、前記衝突検出対象オブジェクトについての前記処理対象ピクセルの深度値が、第1~第Nの背面深度値記憶部のうちの第iの背面深度値記憶部の深度値よりも、前記所定の視点から見て後方側の深度値である場合には、第2~第iの背面深度値記憶部の深度値を第1~第i-1の背面深度値記憶部に順次移動し、前記第iの背面深度値記憶部の深度値を、前記処理対象ピクセルの深度値に更新する背面処理部を含むことを特徴とする衝突検出システム。請求項8乃至10のいずれかにおいて、前記処理部は、前記第mの背面深度値記憶部の前記第mの背面深度値よりも、第m1の前面深度値記憶部の第m1の前面深度値の方が、前記所定の視点から見て前方側の深度値であると判定された場合に、前記衝突検出対象オブジェクトの自己衝突が発生したと判定することを特徴とする衝突検出システム。請求項1乃至11のいずれかにおいて、前記衝突検出対象オブジェクトは、ロボットをモデル化したオブジェクトであることを特徴とする衝突検出システム。請求項1乃至12のいずれかに記載の衝突検出システムを含むことを特徴とするロボットシステム。衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とする衝突検出方法。処理部と、描画処理を行う描画部として、コンピューターを機能させ、前記描画部は、衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると前記処理部が判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定することを特徴とするプログラム。しかしながら特許文献1の従来技術では、深度値の更新が、物体を描画する順番に依存するため、衝突の検出漏れが発生する可能性がある。例えば、前方側手前側に配置された物体を描画した後で、その後方側奥側において別の物体間で衝突が起こったとしても、深度値は既に前方側のオブジェクトの値に更新されているために、それを検出することはできないことになる。また特許文献2の従来技術では、非凸であるポリゴンの衝突を正確に取り扱うのが困難であるという問題がある。即ち、原点から面までの距離を単一のキューブマップに記憶しているため、ある方向において、そのポリゴンの面が複数ある場合、つまりそのような非凸のポリゴンの場合においては、それを単一のキューブマップとしては表現できないことになる。本発明の幾つかの態様によれば、衝突検出対象オブジェクトの正確な衝突判定を実現できる衝突検出システム、ロボットシステム、衝突検出方法及びプログラム等を提供できる。本発明の一態様は、処理部と、描画処理を行う描画部とを含み、前記描画部は、衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると前記処理部が判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定する衝突検出システムに関係する。本発明の一態様によれば、衝突検出対象オブジェクトの前面を描画する第1の描画処理が行われて、前面深度値が生成され、衝突検出対象オブジェクトの背面を描画する第2の描画処理が行われて、背面深度値が生成される。また衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理が行われる。そして、生成された前面深度値と背面深度値とに基づいて、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトが存在すると判断されると、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定される。このようにすれば、衝突検出対象オブジェクトの前面、背面を描画することで生成された前面深度値、背面深度値を利用して、衝突検出対象オブジェクトの衝突判定が行われるようになり、衝突検出対象オブジェクトの正確な衝突判定を実現できるようになる。また本発明の一態様では、前記処理部は、前記第3の描画処理で描画された前記他のオブジェクトの処理対象ピクセルの深度値が、前記前面深度値と前記背面深度値の間の深度値であると判定した場合に、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記他のオブジェクトが存在すると判定して、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定してもよい。このようにすれば、他のオブジェクトの処理対象ピクセルの深度値が、前面深度値と背面深度値の間の深度値であるか否かを判定することで、衝突検出対象オブジェクトと他のオブジェクトの衝突判定を行うことが可能になる。従って、深度値の判定処理を有効利用した衝突判定を実現できるようになる。また本発明の一態様では、前記描画部により描画データが書き込まれる描画バッファーを含み、前記描画部は、前記第3の描画処理において、前記処理対象ピクセルの深度値が、前記前面深度値よりも前記所定の視点から見て後方側の深度値であり、且つ、前記背面深度値よりも前記所定の視点から見て前方側の深度値である場合に、前記処理対象ピクセルの前記描画データを前記描画バッファーに書き込み、前記処理部は、前記描画バッファーへの前記描画データの書き込み結果に基づいて、前記衝突検出対象オブジェクトの衝突判定を行ってもよい。このようにすれば、処理対象ピクセルの深度値が前面深度値よりも後方側であり且つ背面深度値よりも前方側の深度値である場合に書き込まれる描画データの書き込み結果に基づいて、衝突検出対象オブジェクトの衝突判定を行うことが可能になる。従って、深度値の判定処理により描画された描画データを有効利用した衝突判定を実現できるようになる。また本発明の一態様では、前記描画部により描画データが書き込まれる描画バッファーを含み、前記描画部は、前記第3の描画処理において、前方物体を描画し後方物体を隠面消去する描画モードに設定して、前記背面深度値を参照して前記他のオブジェクトを第1の描画データで前記描画バッファーに描画し、後方物体を描画し前方物体を隠面消去する描画モードに設定して、前記前面深度値を第2の描画データとして前記描画バッファーに上書きで描画し、前記処理部は、前記描画バッファーに前記第1の描画データが上書きされずに残存している場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定してもよい。このようにすれば、前方物体描画モードで描画された第1の描画データが、描画バッファーに上書きされずに残存しているか否かを判定して、衝突検出対象オブジェクトの衝突判定を行うことが可能になる。従って、描画バッファーに第1、第2の描画データを描画するという簡素な描画処理で、衝突判定を実現できるようになる。また本発明の一態様では、深度情報を記憶する深度バッファーを含み、前記深度バッファーは、前記前面深度値と前記背面深度値を記憶してもよい。このようにすれば深度バッファーを有効利用した衝突判定を実現できるようになる。また本発明の一態様では、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在しないと判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突しなかったと判定してもよい。このようにすれば、前面深度値と背面深度値とにより、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトが存在しないと判定される場合に、衝突検出対象オブジェクトと他のオブジェクトの衝突が発生していないと判定できるようになる。また本発明の一態様では、前記描画部は、無限遠の前記視点での平行投影で前記第1の描画処理、前記第2の描画処理、前記第3の描画処理を行ってもよい。このように、一般的な三次元画像の描画処理とは異なり、平行投影で描画処理を行うことで、より正確な衝突判定を実現できるようになる。また本発明の一態様では、第1~第Nの深度値記憶部を有し、第1~第Nの深度値記憶部のうちの第mの深度値記憶部1≦m≦Nは、第mの前面深度値を記憶する第mの前面深度値記憶部と、前記第mの前面深度値と組となる第mの背面深度値を記憶する第mの背面深度値記憶部を有し、前記処理部は、前記第mの前面深度値記憶部の前記第mの前面深度値と、前記第mの背面深度値記憶部の前記第mの背面深度値とに基づいて、前記衝突検出対象オブジェクトの前記第mの前面深度値に対応する前面と前記第mの背面深度値に対応する背面の間に、前記第3の描画処理で描画された前記他のオブジェクトが存在すると判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定してもよい。このようにすれば、衝突検出対象オブジェクトの第mの前面深度値に対応する前面と第mの背面深度値に対応する背面の間に、他のオブジェクトが存在するか否かを判定して、衝突検出対象オブジェクトの衝突判定を行うことが可能になる。従って、例えば所定の視点から見て衝突検出対象オブジェクトに重なりが存在する場合にも、正確な衝突判定を実現できるようになる。また本発明の一態様では、前記所定の視点から見た場合における、前記衝突検出対象オブジェクトについての重なり状態を検出する重なり状態検出部を含み、前記重なり状態検出部で検出された重なり状態の最大重なり数がMである場合に、N≧Mであってもよい。このようにすれば、所定の視点から見て、衝突検出対象オブジェクトに最大でM重の重なり状態が存在する場合にも、正確な衝突判定を実現できるようになる。また本発明の一態様では、前記衝突検出対象オブジェクトについての処理対象ピクセルの深度値が、第1~第Nの前面深度値記憶部のうちの第iの前面深度値記憶部1≦i≦Nの深度値よりも、前記所定の視点から見て前方側の深度値である場合には、第i~第N-1の前面深度値記憶部の深度値を第i1~第Nの前面深度値記憶部に順次移動し、前記第iの前面深度値記憶部の深度値を、前記処理対象ピクセルの深度値に更新する前面処理部と、前記衝突検出対象オブジェクトについての前記処理対象ピクセルの深度値が、第1~第Nの背面深度値記憶部のうちの第iの背面深度値記憶部の深度値よりも、前記所定の視点から見て後方側の深度値である場合には、第2~第iの背面深度値記憶部の深度値を第1~第i-1の背面深度値記憶部に順次移動し、前記第iの背面深度値記憶部の深度値を、前記処理対象ピクセルの深度値に更新する背面処理部を含んでもよい。このようにすれば、前面処理を行うことで、第1~第Nの前面深度値記憶部に第1~第Nの前面深度値を適正に設定し、背面処理を行うことで、第1~第Nの背面深度値記憶部に第1~第Nの背面深度値を適正に設定することが可能になる。また本発明の一態様では、前記処理部は、前記第mの背面深度値記憶部の前記第mの背面深度値よりも、第m1の前面深度値記憶部の第m1の前面深度値の方が、前記所定の視点から見て前方側の深度値であると判定された場合に、前記衝突検出対象オブジェクトの自己衝突が発生したと判定してもよい。このようにすれば、衝突検出対象オブジェクトの自己衝突についても適正に判定して検出できるようになる。また本発明の一態様では、前記衝突検出対象オブジェクトは、ロボットをモデル化したオブジェクトであってもよい。また本発明の他の態様は、上記のいずれかに記載の衝突検出システムを含むロボットシステムに関係する。本発明の他の態様は、衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定する衝突検出方法に関係する。本発明の他の態様は、処理部と、描画処理を行う描画部として、コンピューターを機能させ、前記描画部は、衝突検出対象オブジェクトの所定の視点から見たときの前面を描画する第1の描画処理を行って、深度情報として前面深度値を生成し、前記衝突検出対象オブジェクトの前記所定の視点から見たときの背面を描画する第2の描画処理を行って、前記深度情報として背面深度値を生成し、前記衝突検出対象オブジェクト以外の他のオブジェクトを描画する第3の描画処理を行い、前記処理部は、前記前面深度値と前記背面深度値とに基づいて、前記所定の視点から見たときの前記衝突検出対象オブジェクトの前面と背面の間に、前記第3の描画処理により描画された前記他のオブジェクトが存在すると前記処理部が判定した場合に、前記衝突検出対象オブジェクトが前記他のオブジェクトに衝突したと判定するプログラムに関係する。以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。1.深度バッファー処理ロボットマニピュレーターの動作においては、周辺構造物や周辺機器への衝突や、自己衝突や、他のロボットへの衝突は非常に大きな問題となる。本実施形態の衝突検出手法では、このような衝突をシミュレーションにより事前に検出する。このような本実施形態の衝突検出手法が用いられる形態としては、大別して、オフラインでの使用事前確認と、ラインタイムでの使用予測、先読みが考えられる。オフラインの使用では、周辺環境などが既知且つ静的であり、ロボットの動作が既知である場合に、システムの作成時に、その衝突を検証する。一方、ラインタイムの使用では、周辺環境などが動的に変化する場合例えば周囲に複数のロボットが存在したり、作業者が存在する場合に、ロボットの実際の動作に先行して、シミュレーションにより衝突を検出する。従来では、このようなロボットにおける衝突検出手法として、CPUCentralProcessingUnitの処理に適したアルゴリズムを使用する場合が殆どであった。ここでCPU処理に適したアルゴリズムとは、比較的に複雑な単位処理を、比較的に少数数十から数百程度の並列度で処理するようなアルゴリズムである。しかしながら、近年では、消費電力の問題等に起因して、CPUの動作周波数の伸びは止まっている。このため、最近のCPUの性能向上は、マルチコア化などの処理の並列度の向上によって実現されている。別の言い方をすれば、並列度を上げることができないアルゴリズムでは、処理性能を向上できなくなっている。一方、GPUGraphicsProcessingUnitは、CPUに比べて非常に大きな並列度を有する。例えば現在のGPUは、ALU算術演算ユニットを数百から千数百持ち、数万から数百万の処理を並列に実行できる能力を有する。そこで本実施形態では、衝突検出のアルゴリズムとして、CPU処理よりはGPU処理に適したアルゴリズムを採用することで、従来に比べて高性能な衝突検出を実現する。具体的には、GPUが有するハードウェアー機能であるROPレンダリングアウトプットパイプラインの機能を最大限に利用する。即ち、このようなROP機能を用い、深度テスト機能と深度バッファーを有効活用して衝突検出を実現する。ここで深度バッファーは、CGComputerGraphicsにおいては主に隠面消去のために用いられ、オブジェクトの深度情報を記憶するものである。具体的にはピクセル単位で深度値Z値を記憶する。なお深度値とは、奥行き方向での深さを表す値であり例えばZバッファー法におけるZ値である。また、深度情報とは、ピクセル毎の深度値に係る情報である。以下、深度バッファーを用いた深度バッファー処理Zバッファー処理について説明する。深度バッファー処理では、ある点を描画する際に、その点の深度値と、深度バッファーに記憶されている深度値を比較する。そして、その点の深度値が大きければ右手系の場合、その点のカラー値でカラーバッファーの値を上書きすると共に、その点の深度値で深度バッファーの値を更新する。例えばオブジェクトOBA、OBB、OBCが図1A、図1Bに示すように配置されていたとする。図1AはオブジェクトOBA、OBB、OBCを上方の視点から見た場合の図であり、図1Bは前方斜め上の視点から見た場合の図である。ここでオブジェクトは、現実世界の物体をモデル化したものであり、例えば複数のプリミティブ面により構成される。プリミティブ面は、オブジェクトの構成要素であるプリミティブとなる面であり、例えばポリゴン、自由曲面、或いはサブディビジョンサーフェスなどである。図1Cに示すように、深度バッファーを用いた描画処理では、各ピクセルのカラー値RGBの色情報が描画バッファーカラーバッファーに書き込まれ、深度値Z値が深度バッファーZバッファーに書き込まれる。具体的には図2Aでは深度バッファーの深度値が初期値である最背面値に設定される。そして図2BではオブジェクトOBAが描画されている。この場合に図2BのJ1に示す領域でのオブジェクトOBAの各ピクセルの深度値は、図2Aでの深度バッファーの深度値よりも前方側手前側の深度値となっている。従って、J1に示す領域では、オブジェクトOBAのカラー値が描画バッファーに書き込まれると共に、オブジェクトOBAの深度値が深度バッファーに書き込まれて深度値が更新される。なお、最背面値は、深度値の最も後方側奥側の値である。また最前面値は、深度値の最も前方側手前側の値である。図2CではオブジェクトOBBが描画されている。この場合に図2CのJ2に示す領域でのオブジェクトOBBの各ピクセルの深度値は、深度バッファーの深度値よりも後方側奥側の深度値となっている。従って、J2に示す領域では、オブジェクトOBBは隠面消去されたと判断され、オブジェクトOBBのカラー値は描画バッファーには書き込まれず、図2DのJ3に示すように深度バッファーの深度値も更新されない。一方、J4に示す領域でのオブジェクトOBBの各ピクセルの深度値は、深度バッファーの深度値よりも前方側の深度値となっている。従って、J4に示す領域では、オブジェクトOBBのカラー値が描画バッファーに書き込まれると共に、図2DのJ5に示すようにオブジェクトOBBの深度値が深度バッファーに書き込まれて深度値が更新される。そして、図2DでオブジェクトOBCが描画されると、上記と同様の手法により、J6の領域ではカラー値の書き込みや深度値の更新が行われず、J7の領域ではカラー値の書き込みと深度値の更新が行われる。以上のような深度バッファー処理を行うことで、描画の順番に依存せずに、奥行き方向での順番が正しく判定され、図1Cに示すように適切な隠面消去が行われた画像が生成されるようになる。さて、前述した特許文献1の従来技術においても、深度バッファーを利用して衝突判定を行っている。例えば、他のオブジェクトの描画により、深度バッファーの深度値が図3Aに示すようになっていたとする。この場合に図3BのH1に示すように、オブジェクトOBA1では、その深度値がZバッファーの深度値とは異なるため、OBA1は他のオブジェクトと衝突していないと判定される。一方、H2、H3に示すように、オブジェクトOBA2では、その深度値が深度バッファーの深度値と同一になっている。従って、オブジェクトOBA2は、この深度バッファーの深度値を持った他のオブジェクトと衝突していると判定される。しかしながら、この特許文献1の従来技術では図3Cに示すような問題点がある。図3Cでは、他のオブジェクトOBDの描画により深度バッファーの深度値がH4に示すようになっている。この場合に、H5に示すようにオブジェクトOBA3はオブジェクトOBDと衝突しているのにも関わらず、オブジェクトOBA3の深度値は深度バッファーの深度値と一致していないため、衝突していないと判定されてしまう。またH6に示すように深度値が内挿された場合には、オブジェクトOBA4はオブジェクトOBDと衝突していないのに、衝突していると判定されてしまう。また、他の手法として、仮想的な視点を、地面等を表す平面状のオブジェクトの背面に設定し、背面から見て、表面にあるはずのオブジェクトが描画されれば、そのオブジェクトが平面と衝突していると判定する手法も考えられる。しかしながら、この手法では、単純な平面が仮定されているが、それが平面ではなく複雑な構造を持つオブジェクト例えば非凸である場合には、片方の面との衝突が、別の面によって遮蔽される可能性があり、このような場合には衝突を検出できなくなる。2.構成以上のような問題を解決できる本実施形態の衝突検出システムの構成例を図4に示す。なお本実施形態の衝突検出システムの構成は図4の構成には限定されず、その一部の構成要素例えば操作部、外部I/F部等を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。この衝突検出システムは、処理部10と、描画処理を行う描画部30と、記憶部50深度バッファーを含む。また操作部70、外部I/Fインターフェース部80、情報記憶媒体90を含むことができる。処理部10は、各種の判定処理や制御処理などを行うものであり、例えばCPU等の各種のプロセッサー、専用回路ASICなどのハードウェアーや、プロセッサー上で実行されるプログラムなどにより実現できる。処理部10は、オブジェクト空間設定部12、衝突判定部14を含む。オブジェクト空間設定部12は、複数のオブジェクトをオブジェクト空間に配置設定する処理等を行う。具体的には、ワールド座標系でのオブジェクトの位置や回転角度を決定し、その位置にその回転角度でオブジェクトを配置する。ここでオブジェクトは、ロボット等の衝突検出対象物や、周辺構造物や周辺機器などの被衝突検出対象物を、モデル化したものであり、ポリゴンや自由曲面などのプリミティブ面で構成される。衝突判定部14は、衝突検出対象オブジェクトと他のオブジェクト被衝突検出対象オブジェクトとの間の衝突判定処理を行うものである。描画部30は、描画処理を行うものであり、例えばGPU等の各種のプロセッサー、専用回路ASICなどのハードウェアーや、プロセッサー上で実行されるプログラムなどにより実現できる。この描画部30での描画処理は、頂点シェーダープログラムにより実現される頂点シェーダーや、ピクセルシェーダープログラムにより実現されるピクセルシェーダーにより実現してもよい。頂点シェーダーでは、頂点の移動処理、座標変換処理、クリッピング処理などが行われる。そして頂点処理後の頂点データに基づいてラスタライズ処理が行われる。またピクセルシェーダーでは、ラスタライズ処理後に、画像を構成するピクセルフラグメント単位での処理であるピクセル処理フラグメント処理が行われる。即ち、シェーディング言語によって記述されたシェーダープログラムによって、プログラマブルシェーダー処理が実現される。記憶部50は、処理部10や描画部30などのワーク領域となるもので、RAMSRAM、DRAM等などのメモリーにより実現できる。この記憶部50は、オブジェクトデータ記憶部52、描画バッファー54、深度バッファー56を含む。深度バッファー56は前面深度値記憶部62、背面深度値記憶部64を有する。オブジェクトデータ記憶部52は、オブジェクトの位置データや回転角度データや形状データなどのオブジェクトデータを記憶する。描画バッファー54カラーバッファー、フレームバッファーは画像情報描画データを記憶するものであり、具体的には、ピクセル単位でカラー値やα値などの画像情報を記憶する。深度バッファー56Zバッファーは、深度情報を記憶するものであり、具体的にはピクセル単位で深度値Z値を記憶する。これらの描画バッファー54、深度バッファー56は、記憶部50を構成するメモリー上に記憶領域として確保される。操作部70は、使用者が各種の操作情報を入力するためのものである。外部I/F部80は、外部との間で有線や無線で情報の通信処理等を行うものである。情報記憶媒体90はコンピューターにより読み取り可能な媒体は、プログラムやデータなどを格納するものであり、その機能は、光ディスク、HDD、或いはメモリーなどにより実現できる。処理部10は、情報記憶媒体90に格納されるプログラムデータに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体90には、本実施形態の各部としてコンピューター操作部、処理部、記憶部、出力部を備える装置を機能させるためのプログラム各部の処理をコンピューターに実行させるためのプログラムが記憶される。そして本実施形態の衝突検出システムでは、描画部30は、衝突検出対象オブジェクトの前面を描画する第1の描画処理を行って、深度バッファー56に記憶される深度情報として前面深度値を生成する。例えば深度バッファー56の深度値を初期化した後に、後述する図6BのA1、A2、A3に示すように、全ての衝突検出対象オブジェクトの前面を描画することで、深度バッファー56に、衝突検出対象オブジェクトの前面深度値DPFのプレーン前面深度分布を生成する。また描画部30は、衝突検出対象オブジェクトの背面を描画する第2の描画処理を行って、深度バッファー56に記憶される深度情報として背面深度値を生成する。例えば深度バッファー56の深度値を最前面値で初期化した後に、後述する図7AのB1、B2、B3に示すように、全ての衝突検出対象オブジェクトの背面を描画することで、深度バッファー56に、衝突検出対象オブジェクトの背面深度値DPBのプレーン背面深度分布を生成する。なお、衝突検出対象オブジェクトの前面は、所定の視点描画処理での視点で見たときの前面であり、衝突検出対象オブジェクトの背面は、所定の視点描画処理での視点で見たときの背面である。また第1の描画処理で生成される前面深度値は、例えば、衝突検出対象オブジェクトの描画領域では、衝突検出対象オブジェクトの前面の深度値が設定され、それ以外の領域では初期値が設定される深度値のプレーンである。また第2の描画処理で生成される背面深度値は、例えば、衝突検出対象オブジェクトの描画領域では、衝突検出対象オブジェクトの背面の深度値が設定され、それ以外の領域では初期値が設定される深度値のプレーンである。これらの前面深度値第1の深度値、背面深度値第2の深度値は、各々、深度バッファー56の前面深度値記憶部62、背面深度値記憶部64に記憶される。また描画部30は、衝突検出対象オブジェクト以外の他のオブジェクト被衝突検出対象オブジェクトを描画する第3の描画処理を行う。例えば他のオブジェクトを所与の描画データで描画する。なお描画部30は、無限遠の視点広義には所定の視点での平行投影で、これらの第1、第2、第3の描画処理を行うそして処理部10は、生成された前面深度値と背面深度値とに基づいて、所定の視点描画処理での視点から見たときの衝突検出対象オブジェクトの前面と背面の間に、第3の描画処理により描画された他のオブジェクトが存在すると判定した場合に、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定する。例えば処理部10は、上述の第3の描画処理で描画された他のオブジェクトの処理対象ピクセルの深度値が、前面深度値と背面深度値の間の深度値であると判定した場合に、所定の視点から見たときの衝突検出対象オブジェクトの前面と背面の間に、他のオブジェクトが存在すると判定する。そして、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定する。この衝突判定は処理部10の衝突判定部14が行う。例えば後述する図7BのC1では、衝突検出対象オブジェクトPB1の前面と背面の間には、他のオブジェクトが存在しないと判定される。具体的には、他のオブジェクトの処理対象ピクセルの深度値が、前面深度値DPFと背面深度値DPBの間の深度値ではないと判定される。この場合には衝突検出対象オブジェクトPB1は他のオブジェクトと衝突していないと判定される。一方、図7BのC2では、衝突検出対象オブジェクトPB2の前面と背面の間に、他のオブジェクトOB3他のオブジェクトの面が存在していると判定される。具体的には、他のオブジェクトの処理対象ピクセルの深度値が、前面深度値DPFと背面深度値DPBの間の深度値であると判定される。この場合には、衝突検出対象オブジェクトPB2は他のオブジェクトOB3と衝突していると判定される。また図7BのC3においても、衝突検出対象オブジェクトPB3の前面と背面の間に、他のオブジェクトOB3が存在していると判定される。従って、衝突検出対象オブジェクトPB3は他のオブジェクトOB3と衝突していると判定される。更に具体的には本実施形態の衝突検出システムは、描画部30により描画データが書き込まれる描画バッファー54を含む。そして描画部30は、上述の他のオブジェクトを描画する第3の描画処理において、処理対象ピクセルの深度値が、前面深度値よりも所定の視点から見て後方側奥側の深度値であり、且つ、背面深度値よりも所定の視点から見て前方側手前側の深度値である場合に、処理対象ピクセルの描画データ例えば所定色を表すデータを描画バッファー54に書き込む。そして処理部10は、描画バッファー54への描画データの書き込み結果に基づいて、衝突検出対象オブジェクトの衝突判定を行う。例えば他のオブジェクトの描画データが書き込まれていた場合に、衝突検出対象オブジェクトが他のオブジェクトと衝突したと判定する。例えば図7BのC1では他のオブジェクトの描画データは書き込まれないため、衝突検出対象オブジェクトは他のオブジェクトと衝突していないと判定される。一方、図7BのC2、C3では他のオブジェクトの描画データが書き込まれているため、衝突検出対象オブジェクトが他のオブジェクトと衝突していると判定される。或いは描画部30は、他のオブジェクトを描画する第3の描画処理において、前方物体を描画し後方物体を隠面消去する描画モードに設定する。そして背面深度値を参照して、他のオブジェクトを第1の描画データ例えば所定色のデータで描画バッファー54に描画する。例えば背面深度値を参照して、深度テストを行って深度テストを有効にして、他のオブジェクトを描画バッファー54に描画する。例えば後述する図8のステップS10、S11に示すような描画処理を行う。また描画部30は、後方物体を描画し前方物体を隠面消去する描画モードに設定して、前面深度値を第2の描画データとして描画バッファー54に上書きで描画する。具体的には前面深度値を形状データのように扱って、第2の描画データ形状データとして、描画バッファー54に書き込む。例えば後述する図8のステップS12、S13に示すような描画処理を行う。そして処理部10は、図8のステップS14、S16に示すように、描画バッファー54に第1の描画データが上書きされずに残存している場合に、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定する。例えば第1の描画データに対応する所定色例えば白が描画バッファー54に消されずに残っていた場合に、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定する。なお、衝突検出対象オブジェクトは、他のオブジェクトとの衝突検出対象となるオブジェクトであり、例えばロボットをモデル化したオブジェクトなどである。また、プリミティブ面がポリゴンである場合を例にとると、三角形を構成する3頂点が、視点から見て例えば反時計回りに見える面が表面frontsurfacefrontfacingsurfaceになり、視点から見て例えば時計回りに見える面が裏面backsurfacebackfacingsurfaceになる。閉じたオブジェクトの表面が外を向いていることを前提にすると、表面を前面、裏面を背面と記述することができる。以上のように本実施形態では、衝突検出対象オブジェクトの前面を描画することで、前面深度値が生成され、衝突検出対象オブジェクトの背面を描画することで、背面深度値が生成される。そして、これらの前面深度値と背面深度値に基づいて、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトが存在すると判定されると、衝突が発生したと判定される。即ち、本実施形態の手法は、衝突検出対象オブジェクトの前面と背面の間に、他のオブジェクトの面が描画されれば、それは衝突が発生したことを意味するという原理に基づいている。例えば図7BのC2、C3では、衝突検出対象オブジェクトPB2、PB3の前面と背面の間に他のオブジェクトOB3の面が描画されているため、衝突が発生したと判定できることになる。以上のように本実施形態によれば、深度バッファー処理を有効活用した高速正確な衝突判定近接判定を実現できる。即ち、衝突近接の問題を、最新の描画ハードウェアー処理に適した遮蔽処理に置き換えることで、非常に高速に、衝突判定近接判定を行うことが可能になる。なお本実施形態のオブジェクトの描画処理では、描画部30は無限遠の視点広義には所定の視点での平行投影で描画処理第1、第2、第3の描画処理を行っている。即ち、通常の3DCGにおいては、パースのついた画像を生成するために透視投影で描画処理を行うのが一般的である。この点、本実施形態では、3DCGの画像生成のためではなく、衝突判定のために深度バッファー処理を利用している。そして透視投影で描画処理を行うと、正確な衝突判定を実現できなくなるおそれがあり、本実施形態では、この点に着目して平行投影で描画処理を行っている。図5に本実施形態の衝突検出システムを含むロボットシステムの例を示す。このロボットシステムは、制御装置300情報処理装置とロボット310とを含む。制御装置300はロボット310の制御処理を行う。具体的には、動作シーケンス情報シナリオ情報に基づいてロボット310を動作させる制御を行う。ロボット310は、アーム320及びハンド把持部330を有する。そして制御装置300からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動するなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボットの姿勢やワークの位置などの情報が検出され、検出された情報が制御装置300に送られる。本実施形態の衝突検出システムは例えば図5の制御装置300に設けられ、例えば制御装置300のハードウェアーやプログラムにより衝突検出システムが実現される。そして、ラインタイムの使用では、周辺環境などが動的に変化する場合に、ロボット310の実際の動作に先行して、本実施形態の衝突検出システムがシミュレーションにより衝突の判定処理を行う。そして制御装置300は、ロボット310が周辺構造物や周辺機器などに衝突しないように、判定処理の結果に基づいてロボット310の制御を行う。一方、オフラインの使用では、本実施形態の衝突検出システムにより、動作シーケンス情報等の作成時にシミュレーションにより衝突を検証する。そして制御装置300は、衝突が起こらないように作成された動作シーケンス情報シナリオ情報に基づいて、ロボット310を制御する。3.本実施形態の手法次に本実施形態の手法について図面を用いて更に詳細に説明する。3.1第1の衝突検出手法オブジェクト物体が凸であり、且つ、仮定した視点描画視点から見て、衝突検出対象オブジェクトの重なりがない場合には、以下に説明する第1の衝突検出手法により衝突を判定できる。具体的には、仮定した視点から見て衝突検出対象オブジェクトの前面を描画することで、前面深度値第1の深度値を得る。なお、衝突検出対象オブジェクトがない領域での前面深度値は、初期値例えば最背面値に設定されるまた、仮定した視点から見て衝突検出対象オブジェクトの背面を描画することで、背面深度値第2の深度値を得る。なお、衝突検出対象オブジェクトがない領域での背面深度値は、初期値例えば最背面値、或いは最前面値に設定される。そして、衝突検出対象オブジェクト以外の他のオブジェクトである被衝突検出対象オブジェクトを描画する。但し、上述の前面深度値よりも後方所定の視点から見て後方であり、背面深度値よりも前方所定の視点から見て前方のみを描画する。そして、被衝突検出対象オブジェクトが描画されれば、衝突が発生したと判定する。そうでなければ衝突なしと判定する。更に具体的には、図4に示すように深度バッファー56には、前面深度値記憶部62及び背面深度値記憶部64が設けられる。なお、これらの記憶部は等価的に同等の機能が実現されるものあれば、何でもよい。そして、図8の詳細な処理で説明するように、深度バッファー56の深度値を最背面値で初期化し、描画モードを前方物体描画モードに設定する。そして全ての衝突検出対象オブジェクトの前面を例えば黒で描画することで、前面深度値が得られる。この前面深度値は、例えば前面平面データとして保存される。次に、深度バッファー56の深度値を最前面値で初期化し、描画モードを後方物体描画モードに設定して、全ての衝突検出対象オブジェクトの背面を例えば黒で描画することで、背面深度値が得られる。そして、この背面深度値を保持して参照して、描画モードを前方物体描画モードに切り替えて、全ての被衝突検出対象オブジェクト他のオブジェクトの両面前面及び背面を、例えば白のデータ広義には第1の描画データで描画する。次に、描画モードを後方物体描画モードに切り替えて、保存された前面平面データ前面深度値を、例えば黒のデータ広義には第2の描画データで描画する。そして、画像内描画バッファーの画像に、白のデータ第1の描画データが残っていれば、その部分で衝突が発生したと判定する。一方、白のデータが残っていなければ、衝突が発生しなかったと判定する。次に図6A~図7Bを用いて本実施形態の第1の衝突検出手法について更に詳細に説明する。例えば図6Aにおいて、PB1、PB2、PB3は、衝突検出対象オブジェクトであり、OB1、OB2、OB3は、衝突検出対象オブジェクト以外の他のオブジェクト被衝突検出対象オブジェクトである。ロボットシステムに用いられる衝突検出システムを例にとれば、PB1、PB2、PB3は、現実世界のロボットをモデル化したロボットオブジェクト、或いはロボットオブジェクトを構成するパーツオブジェクトである。またOB1、OB2、OB3は、周辺構造物や周辺機器をモデル化したオブジェクト、或いはそのパーツオブジェクトである。そして図6Aでは、衝突検出対象であるオブジェクトPB1は、他のオブジェクトであるOB1、OB2、OB3と衝突していないが、衝突検出対象であるオブジェクトPB2、PB3は、他のオブジェクトであるOB3と衝突している。なおパーツオブジェクトは、衝突検出対象オブジェクトなどのモデルオブジェクトを構成する部分となるオブジェクトである。例えば衝突検出対象オブジェクトなどのモデルオブジェクトは、複数のパーツオブジェクトと、パーツオブジェクト間を接続する関節部分などにより構成される。図6Bでは、衝突検出対象オブジェクトPB1、PB2、PB3の前面を描画する第1の描画処理が行われて、前面深度値DPF前面深度分布が生成されている。この前面深度値DPFは、例えば図4の前面深度値記憶部62に記憶される。初期状態では、前面深度値DPFは例えば最背面値に設定初期化される。そして図6BのA1、A2、A3に示すように、衝突検出対象オブジェクトPB1、PB2、PB3の前面を描画する第1の描画処理により、前面深度値DPFは、PB1、PB2、PB3の前面が存在する領域では、PB1、PB2、PB3の前面の深度値に設定更新される。図7Aでは、衝突検出対象オブジェクトPB1、PB2、PB3の背面を描画する第2の描画処理が行われて、背面深度値DPB背面深度分布が生成されている。この背面深度値DPBは、例えば図4の背面深度値記憶部64に記憶される。初期状態では、背面深度値DPBは例えば最背面値に設定初期化される。なお後述する図8のステップS6のように最前面値に設定してもよい。そして図7AのB1、B2、B3に示すように、衝突検出対象オブジェクトPB1、PB2、PB3の背面を描画する第2の描画処理により、背面深度値DPBは、PB1、PB2、PB3の背面が存在する領域では、PB1、PB2、PB3の背面の深度値に設定更新される。次に図7Bでは、図6B、図7Aで生成された前面深度値DPFと背面深度値DPBに基づいて、衝突検出対象オブジェクトPB1、PB2、PB3と他のオブジェクトOB1、OB2、OB3の間の衝突判定が行われる。具体的には、他のオブジェクトOB1、OB2、OB3を描画する第3の描画処理が行われる。そして第3の描画処理で描画された他のオブジェクトOB1、OB2、OB3の面前面又は背面が、衝突検出対象オブジェクトPB1、PB2、PB3の前面と背面の間に存在すると判定された場合には、衝突が発生したと判定する。例えば図7BのC1では、衝突検出対象オブジェクトPB1の前面と背面の間に、他のオブジェクトの面は存在しないため、衝突が発生していないと判定する。一方、図7BのC2では、衝突検出対象オブジェクトPB2の前面と背面の間に、他のオブジェクトOB3の面背面が存在するため、衝突が発生したと判定される。同様にC3では、衝突検出対象オブジェクトPB3の前面と背面の間に、他のオブジェクトOB3の面前面が存在するため、衝突が発生したと判定する。これらの衝突判定処理は、図6B、図7Aで生成された前面深度値DPFと背面深度値DPBに基づいて行われる。具体的には、第3の描画処理で描画された他のオブジェクトについての処理対象ピクセルの深度値が、前面深度値DPFと背面深度値DPBの間の深度値であると判定した場合に、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトの面が存在すると判定して、衝突が発生したと判定する。一方、他のオブジェクトについての処理対象ピクセルの深度値が、前面深度値DPFと背面深度値DPBの間の深度値ではないと判定した場合に、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトの面が存在しないと判定して、衝突が発生しなかったと判定する。図8は、本実施形態の第1の衝突検出手法の詳細な処理例を示すフローチャートである。まず深度バッファー56の深度値を最背面値で初期化するステップS1。そして、前方物体を描画するモードに設定するステップS2。即ち前方物体を優先的に描画し、後方物体を隠面消去する描画モードに設定する。そして描画バッファー54の全画面全画面分の画素を、黒黒データで初期化するステップS3。次に、全ての衝突検出対象オブジェクトの前面を黒で描画バッファー54に描画して、深度バッファー56に前面深度値を生成するステップS4。即ち、衝突検出対象オブジェクトの前面を黒で描画する第1の描画処理を行うことで、図6Bに示すような前面深度値DPFを生成する。そして、生成された深度バッファー56の前面深度値前面深度プレーンを、前面平面データとして保存するステップS5。即ち、前面深度値を前面平面の形状データのように見なして記憶部50に保存する。次に、深度バッファー56の深度値を、最前面値で初期化するステップS6。そして、後方物体を描画するモードに設定するステップS7。即ち後方物体を優先的に描画し、前方物体を隠面消去する描画モードに設定する。そして、描画バッファー54の全画面を、黒で初期化するステップS8。次に、全ての検出対象オブジェクトの背面を黒で描画バッファーに描画して、深度バッファー56に背面深度値を生成するステップS9。即ち、衝突検出対象オブジェクトの背面を黒で描画する第2の描画処理を行うことで、図7Aに示すような背面深度値DPBを生成する。次に、前方物体を描画するモードに設定するステップS10。そして、全ての被衝突検出対象オブジェクトの前面及び背面を白第1の描画データで描画バッファー54に描画するステップS11。即ち、他のオブジェクトである被衝突検出対象オブジェクトを描画する第3の描画処理を行う。次に、後方物体を描画するモードに設定するステップS12。そして、ステップS5で保存された前面平面データ前面深度値を、黒第2の描画データで描画バッファー54に上書きするステップS13。そして、ステップS10で描画された白第1の描画データは残っているか否かを判断するステップS14。即ち描画バッファー54上に白の描画領域が残っているか否かを判断する。そして、残っていない場合には、衝突なしと判定して処理を終了するステップS15。一方、残っていた場合には、衝突ありと判定して、処理を終了するステップS16。図9A、図9Bは図8の処理を説明する図である。図9A、図9BにおいてPL1、PL2、PL3は、衝突検出対象オブジェクト以外の他のオブジェクトである被衝突検出対象オブジェクトの面ポリゴンを表している。図8のステップS4の第1の描画処理により、図9Aに示すような前面深度値DPFが生成され、ステップS5で、生成された前面深度値DPFが前面平面データとして保存される。またステップS9の第2の描画処理により、図9Aに示すような背面深度値DPBが生成される。そしてステップS10で前方物体を描画し後方物体を隠面消去する描画モードに設定され、ステップS9で生成された背面深度値DPBを参照しながら、被衝突検出対象オブジェクトの面PL1、PL2、PL3が白のデータ第1の描画データで描画バッファー54に描画される。このように前面物体描画モードに設定されることで、図9Aの被衝突検出対象オブジェクトの面PL1のJ1に示す部分については、背面深度値DPBに対して後方物体になるため、隠面消去される。これによりJ1に示す部分については、描画バッファー54に白のデータ第1の描画データが残存しないようになる。一方、被衝突検出対象オブジェクトの面PL1のJ2、J3や、面PL2のJ4、J5、J6や、面PL3のJ7、J8、J9に示す部分については、背面深度値DPBに対して前方物体になるため、隠面消去されない。従って、J2~J9に示す部分については、描画バッファー64に白のデータ第1の描画データが残存するようになる。次に、図9Bに示すように、図8のステップS12で後方物体を描画し前方物体を隠面消去する描画モードに設定され、ステップS5で保存された前面深度値DPFが前面平面データ第2の描画データとして描画バッファー54に描画される。このように後方物体描画モードに設定されて、前面深度値DPFである前面平面データが描画されると、被衝突検出対象オブジェクトの面PL1のH2、H3や、面PL2のH4、H6や、面PL3のH7、H8、H9に示す部分については、前面深度値DPFに対して前方物体になるため、隠面消去される。これにより、H2~H4、H6~H9に示す部分については、描画バッファー54に白のデータ第1の描画データが残存しないようになる。一方、被衝突検出対象オブジェクトの面PL2のH5に示す部分については、前面深度値DPFに対して後方物体になるため、隠面消去されず、描画バッファー64に白のデータが残存するようになる。そして図9Bの面PL1のH1に示す部分については、図9AのJ1に示すように隠面消去されて白のデータが残存しない。従って、結局、H5に示す部分にだけ、描画バッファー54に白のデータ第1の描画データが残存するようになる。従って、図8のステップS14で、H5に示す部分について描画バッファー54に白のデータが残存している場合には、衝突検出対象オブジェクトの前面と背面の間に、被衝突検出対象オブジェクトの面PL2のH5に示す部分が存在していると判断され、ステップS16に示すように衝突が発生したと判定されるようになる。なお本実施形態の第1の衝突検出手法は図8~図9Bで説明した手法には限定されない。例えばピクセルシェーダー等を利用する場合には、第3の描画処理において、処理対象ピクセルの深度値が、前面深度値よりも後方側であり、且つ、背面深度値よりも前方側の深度値である場合に、処理対象ピクセルの描画データを描画バッファー54に書き込むというシェーダープログラムを記述する。そして、描画バッファー54への描画データの書き込み結果に基づいて、衝突検出対象オブジェクトの衝突判定を行う。即ち、図7BのC2やC3では、描画データが描画バッファー54に書き込まれるため、衝突検出対象オブジェクトと他のオブジェクトが衝突したと判定できるようになる。3.2第2の衝突検出手法次に本実施形態の第2の衝突検出手法について説明する。オブジェクト物体が凸でない場合を含み、また、仮定した視点描画視点から見て、衝突検出対象オブジェクトに重なりがある場合には、以下に説明する第2の衝突検出手法により衝突を判定できる。まず、描画モードを単純加算とし、全ての衝突検出対象オブジェクトの色データを1として、衝突検出対象オブジェクトの前面のみを描画する。そして、生成された描画画像の全画面を調べ、衝突検出対象オブジェクトの重なり状態を検出する。例えば全画面中の最大値が、重なり数自己多重度の最大値Mになる。そして、M=1ならば、上述した第1の衝突検出手法により衝突検出を行う。一方、M≧1ならば、2個で1組の深度値記憶部を少なくもM組用意する。即ち前面深度値記憶部前面深度バッファーと背面深度値記憶部背面深度バッファーで1組となる深度値記憶部の組を少なくともM組用意する。次に、全ての前面深度値記憶部の深度値を最背面値で初期化し、全ての背面深度値記憶部の深度値を最前面値で初期化する。そして、後述する図15、図16のフローチャートに示す処理により、各組が前面深度値記憶部及び背面深度値記憶部からなるN組の深度値記憶部の深度値を設定する。次に、これらの深度値記憶部の各組を用いて、全ての被衝突検出対象オブジェクト他のオブジェクトを描画する。この場合に、各組の深度値記憶部の前面深度値よりも後方で、且つ、各組の深度値記憶部の背面深度値よりも前方のみを描画する。そして、被衝突検出対象オブジェクトが描画されれば、衝突が発生したと判定し、そうでなければ衝突が発生しなかったと判定する。図10は、本実施形態の第2の衝突検出手法を実現する衝突検出システムの構成例である。図10では、図4の構成に対して、更に、処理部10が重なり状態検出部16、前面処理部18、背面処理部20を含む。また、深度バッファー56は、第1~第Nの深度値記憶部601~60Nを有する。具体的には、深度バッファー56の第1の深度値記憶部601は、第1の前面深度値記憶部621、第1の背面深度値記憶部641を有し、第2の深度値記憶部602は、第2の前面深度値記憶部622、第2の背面深度値記憶部642を有する。同様に、第Nの深度値記憶部60Nは、第Nの前面深度値記憶部62N、第Nの背面深度値記憶部64Nを有する。即ち、第1~第Nの深度値記憶部601~60Nのうちの第mの深度値記憶部1≦m≦Nは、第mの前面深度値を記憶する第mの前面深度値記憶部と、第mの前面深度値と組となる第mの背面深度値を記憶する第mの背面深度値記憶部を有する。処理部10は、後述する図19のステップS96、S98に示すように、第mの前面深度値記憶部の第mの前面深度値と、第mの背面深度値記憶部の第mの背面深度値とに基づいて、衝突検出対象オブジェクトの第mの前面深度値に対応する前面と、第mの背面深度値に対応する背面の間に、第3の描画処理で描画された他のオブジェクトが存在するか否かを判断する。そして、存在すると判断した場合に、衝突検出対象オブジェクトが他のオブジェクトに衝突したと判定する。例えば第1の前面深度値記憶部621の第1の前面深度値と、第1の背面深度値記憶部641の第1の背面深度値に基づいて、衝突検出対象オブジェクトの第1の前面深度値に対応する前面と、第1の背面深度値に対応する背面の間に、他のオブジェクトが存在するか否かを判断する。そして、衝突検出対象オブジェクトの前面と背面の間に他のオブジェクトが存在すると判断した場合に、衝突が発生したと判定する。以上の判定処理を、残りの第2~第Nの深度値記憶部602~60Nの第2~第Nの前面深度値記憶部622~62N、第2~第Nの背面深度値記憶部642~64Nについて行う。また、重なり状態検出部16は、所定の視点描画視点。無限遠の視点から見た場合における、衝突検出対象オブジェクトについての重なり状態を検出する。即ち、複数の衝突検出対象オブジェクト間の重なりや、衝突検出対象オブジェクトの自己重なりを検出する。そして重なり状態検出部16で検出された重なり状態の最大重なり数をMとすると、N≧Mとなり、望ましくはN=Mとなる。即ち、深度バッファー56には、前面深度値記憶部と背面深度値記憶部の組が、少なくともM組だけ設けられることになる。前面処理部18は、第1~第Nの前面深度値記憶部621~62Nへの前面深度値の設定処理を行う。具体的には、衝突検出対象オブジェクトについての処理対象ピクセルの深度値が、第1~第Nの前面深度値記憶部621~62Nのうちの第iの前面深度値記憶部1≦i≦Nの深度値よりも、所定の視点描画視点から見て前方側の深度値であったとする。すると前面処理部18は、後述する図15のステップS40に示すように、第i~第N-1の前面深度値記憶部62i~62の深度値を、第i1~第Nの前面深度値記憶部62~62Nに順次移動する対応するピクセル位置に移動する。例えば第iの前面深度値記憶部62iの深度値を、第i1の前面深度値記憶部62に移動し、第i1の前面深度値記憶部62の深度値を、第i2の前面深度値記憶部62に移動する。第i2の前面深度値記憶部62~第N-1の前面深度値記憶部62の深度値についても同様に移動する。そして前面処理部18は、図15のステップS41に示すように、第iの前面深度値記憶部62iの深度値を、処理対象ピクセルの深度値に更新する。即ち処理対象ピクセルの深度値に書き換える。一方、第Nの前面深度値記憶部62Nの深度値については例えば破棄する。また背面処理部20は、第1~第Nの背面深度値記憶部641~64Nへの背面深度値の設定処理を行う。具体的には、衝突検出対象オブジェクトについての処理対象ピクセルの深度値が、第1~第Nの背面深度値記憶部641~64Nのうちの第iの背面深度値記憶部64iの深度値よりも、所定の視点描画視点から見て後方側の深度値であったとする。すると背面処理部20は、後述する図16のステップS60に示すように、第2~第iの背面深度値記憶部642~64iの深度値を、第1~第i-1の背面深度値記憶部641~64に順次移動する対応するピクセル位置に移動する。例えば第2の背面深度値記憶部642の深度値を、第1の背面深度値記憶部641に移動し、第3の背面深度値記憶部643の深度値を、第2の背面深度値記憶部642に移動する。第4の背面深度値記憶部643~第iの背面深度値64iについても同様に移動する。そして背面処理部20は、図16のステップS61に示すように、第iの背面深度値記憶部64iの深度値を、処理対象ピクセルの深度値に更新する。即ち処理対象ピクセルの深度値に書き換える。一方、第1の背面深度値記憶部641の深度値については例えば破棄する。以上のようにすることで、各組が前面深度値及び背面深度値からなるN組の深度値の組を生成して設定できるようになる。また、第mの背面深度値記憶部64mの第mの背面深度値よりも、第m1の前面深度値記憶部62の第m1の前面深度値の方が、所定の視点から見て前方側の深度値であると判断されたとする。例えば第1の背面深度値記憶部641の第1の背面深度値よりも、第2の前面深度値記憶部622の第2の前面深度値の方が、所定の視点から見て前方側の深度値であると判断されたとする。この場合には処理部10は、後述する図17のステップS76、S78に示すように、衝突検出対象オブジェクトの自己衝突が発生したと判定する。即ち、この場合には、例えば第1の衝突検出対象オブジェクトの背面の方が、第1の衝突検出対象オブジェクトの後方側にあるべき第2の衝突検出対象オブジェクトの前面よりも前方側であると判断されたため、第1の衝突検出対象オブジェクトと第2の衝突検出対象オブジェクトの自己衝突或いは衝突検出対象オブジェクトの内部的な自己衝突が発生したと判定できる。次に図11A~図13を用いて本実施形態の第2の衝突検出手法について更に詳細に説明する。例えば図11Aにおいて、PB1、PB2、PB3は、衝突検出対象オブジェクトであり、OB1、OB2は、衝突検出対象オブジェクト以外の他のオブジェクト被衝突検出対象オブジェクトである。そして図11Aでは、衝突検出対象であるオブジェクトPB2は、他のオブジェクトであるOB2と衝突している。また衝突検出対象オブジェクトPB1とPB2や、PB3とPB4は、描画処理の視点所定の視点から見て重なりが生じている。例えば衝突検出対象オブジェクトPB1~PB4がロボットのパーツオブジェクトである場合に、パーツオブジェクトPB1とPB2の間や、パーツオブジェクトPB3とPB4の間に、描画処理の視点から見て重なりが生じている。図11Bは、衝突検出対象オブジェクトの重なり状態の検出についての説明図である。重なり状態の検出のためには、例えば単純加算モードで衝突検出対象オブジェクトPB1~PB4を描画する。具体的には1の色データ描画データで衝突検出対象オブジェクトPB1~PB4を描画する。そして図11BのD1では、描画処理の視点から見た場合に1つの衝突検出対象オブジェクトPB1だけが存在するため、重なり数重なりの多重度=1になる。またD2では、描画処理の視点から見た場合に、2つの衝突検出対象オブジェクトPB1、PB2が存在するため、重なり数=2になる。またD3では、描画処理の視点から見た場合に、2つの衝突検出対象オブジェクトPB3、PB4が存在すると共にPB4には自己重なりが生じているため、重なり数=3になる。従って、図11Bでは、最大重なり数はM=3になるため、少なくともN=3組N≧M=3の前面深度値及び背面深度値の組を設定することになる。図12A、図12B、図13は、3組の前面深度値及び背面深度値の例である。例えば図12AのDPF1、DPB1は、第1の前面深度値、第1の背面深度値の組の例であり、図12BのDPF2、DPB2は、第2の前面深度値、第2の背面深度値の組の例である。また図13のDPF3、DPB3は、第3の前面深度値、第3の背面深度値の組の例である。DPF1、DPB1が第1深度値の組になり、DPF2、DPB2が第2の深度値の組になり、DPF3、DPB3が第3の深度値の組となる。そして、図12AのE1では、描画処理の視点から見た場合に衝突検出対象オブジェクトの前面と背面の組が1組になるため、重なり数は1になる。そしてE1では、衝突検出対象オブジェクトPB1の前面、背面の深度値が、第1の前面深度値DPF1、第1の背面深度値DPB1として設定されている。また図12AのF1では、描画処理の視点から見た場合に衝突検出対象オブジェクトの前面と背面の組が2組になるため、重なり数が2になる。そして図12AのF1では、衝突検出対象オブジェクトPB1の前面、背面の深度値が、第1の前面深度値DPF1、第1の背面深度値DPB1として設定されている。また図12BのF2では、更に、衝突検出対象オブジェクトPB2の前面、背面の深度値が、第2の前面深度値DPF2、第2の背面深度値DPB2として設定されている。また図12AのG1では、描画処理の視点から見た場合に衝突検出対象オブジェクトの前面と背面の組が3組になるため、重なり数が3になる。即ちG1では、衝突検出対象オブジェクトPB4の凸部分である第1の部分と第2の部分の間に自己重なりが生じていると共に、衝突検出対象オブジェクトPB3との重なりも生じている。そして図12AのG1では、衝突検出対象オブジェクトPB4の第1の部分の前面、背面の深度値が、第1の前面深度値DPF1、第1の背面深度値DPB1として設定されている。また図12BのG2では、衝突検出対象オブジェクトPB3の前面、背面の深度値が、第2の前面深度値DPF2、第2の背面深度値DPB2として設定されている。また図13のG3では、衝突検出対象オブジェクトPB4の第2の部分の前面、背面の深度値が、第3の前面深度値DPF3、第3の背面深度値DPB3として設定されている。そして本実施形態では、図12Aにおいては、第3の描画処理で描画される他のオブジェクトOB1、OB2の処理対象ピクセルの深度値が、第1の前面深度値DPF1と第1の背面深度値DPB1の間にあるか否かを判断することで、衝突判定が行われる。また図12Bにおいては、他のオブジェクトOB1、OB2の処理対象ピクセルの深度値が、第2の前面深度値DPF2と第2の背面深度値DPB2の間にあるか否かを判断することで、衝突判定が行われる。また図13においては、他のオブジェクトOB1、OB2の処理対象ピクセルの深度値が、第3の前面深度値DPF3と第3の背面深度値DPB3の間にあるか否かを判断することで、衝突判定が行われる。図14~図19は、本実施形態の第2の衝突検出手法の詳細な処理例を示すフローチャートである。図14は全体的な処理を示すフローチャートである。まず、全ての前面深度値記憶部の深度値を最背面値に初期化するステップS21。また、全ての背面深度値記憶部の深度値を最前面値に初期化するステップS22。即ち図10の第1~第Nの前面深度値記憶部621~62Nの深度値を最背面値に初期化し、第1~第Nの背面深度値記憶部641~64Nの深度値を最前面値に初期化する。次に、全ての衝突検出対象オブジェクトの前面処理を行ったか否かを判断するステップS23。そして、前面処理が未処理の衝突検出対象オブジェクトがある場合には、未処理の衝突検出対象オブジェクトの前面処理を行うステップS24。一方、全ての衝突検出対象オブジェクトの前面処理を行った場合には、全ての衝突検出対象オブジェクトの背面処理を行ったか否かを判断するステップS25。そして、背面処理が未処理の衝突検出対象オブジェクトがある場合には、未処理の衝突検出対象オブジェクトの背面処理を行うステップS26。全ての衝突検出対象オブジェクトの背面処理を行った場合には、前面背面の重なり検出処理を行うステップS27。そして、重なりが検出された場合には、自己衝突ありとして、処理を終了し、重なりが検出された場合には、他との衝突検出処理を行うステップS28、S29、S30。図15は、図14のステップS24の前面処理の詳細を示すフローチャートである。まず、全ての処理対象ピクセルを処理したか否かを判断するステップS31。そして、未処理の処理対象ピクセルがある場合には、未処理の処理対象ピクセルを1つ選択するステップS32。一方、全ての処理対象ピクセルを処理した場合には、前面処理を終了するステップS33。未処理の処理対象ピクセルが選択されると、選択した処理対象ピクセルの深度値が、第1の前面深度値記憶部の深度値よりも前方か否かを判断するステップS34。そして、前方である場合には、iを1に設定してステップS35、ステップS40に移行する。一方、選択した処理対象ピクセルの深度値が第1の前面深度値記憶部の深度値よりも前方ではない場合には、処理対象ピクセルの深度値が第2の前面深度値記憶部の深度値よりも前方か否かを判断するするステップS36。そして、前方である場合には、iを2に設定してステップS37、ステップS40に移行する。同様の処理を順次実行して行き、選択した処理対象ピクセルの深度値が第Nの前面深度値記憶部の深度値よりも前方である場合には、iをNに設定するステップS38、S39。一方、前方ではない場合にはステップS31に戻る。ステップS35、S37、S39でiの値が設定されると、第i~第N-1の前面深度値記憶部の深度値を、第i1~第Nの前面深度値記憶部へ、順次移動させるステップS40。この時、第Nの前面深度値記憶部の元の深度値は廃棄する。そして、第iの前面深度値記憶部の深度値を、処理対象ピクセルの深度値に書き換える更新を行ってステップS41、ステップS31に戻る。以上のような前面処理を行うことで、例えばN=3の場合には、図12A~図13に示すような第1~第3の前面深度値DPF1~DPF3が生成されて、深度バッファー56に設定されるようになる。図16は、図14のステップS26の背面処理の詳細を示すフローチャートである。まず、全ての処理対象ピクセルを処理したか否かを判断するステップS51。そして、未処理の処理対象ピクセルがある場合には、未処理の処理対象ピクセルを1つ選択するステップS52。一方、全ての処理対象ピクセルを処理した場合には、背面処理を終了するステップS53。未処理の処理対象ピクセルが選択されると、選択した処理対象ピクセルの深度値が、第Nの背面深度値記憶部の深度値よりも後方か否かを判断するステップS54。そして、後方である場合には、iをNに設定してステップS55、ステップS60に移行する。同様の処理を順次実行して行き、処理対象ピクセルの深度値が、第2の背面深度値記憶部の深度値よりも後方である場合には、iを2に設定してステップS56、S57、ステップS60に移行する。一方、後方ではない場合には、処理対象ピクセルの深度値が、第1の背面深度値記憶部の深度値よりも後方か否かを判断しステップS58、後方である場合にはiを1に設定してステップS59、ステップS60に移行する。一方、後方でない場合にはステップS51に戻る。ステップS55、S57、S59でiの値が設定されると、第2~第iの背面深度値記憶部の深度値を、第1~第i-1の背面深度値記憶部へ、順次移動させるステップS60。この時、第1の背面深度値記憶部の元の深度値は廃棄する。そして、第iの背面深度値記憶部の深度値を、処理対象ピクセルの深度値に書き換える更新を行ってステップS61、ステップS51に戻る。以上のような背面処理を行うことで、例えばN=3の場合には、図12A~図13に示すような第1~第3の背面深度値DPB1~DPB3が生成されて、深度バッファー56に設定されるようになる。図20A~図20Dは、図15、図16の前面処理、背面処理の説明図である。図20A~図20Dにおいて、DSF1~DSF3は第1~第3の前面深度値記憶部を表し、DSB1~DSB3は第1~第3の背面深度値記憶部を表す。またDPXは処理対象ピクセルを表す。例えば図15のステップS34で、図20Aに示すように処理対象ピクセルDPXの深度値が第1の前面深度値記憶部DSF1の深度値よりも前方と判断され、ステップS35でi=1に設定されたとする。するとステップS40、図20Aに示すように、第1、第2の前面深度値記憶部第i~第N-1の前面深度値記憶部DSF1、DSF2の深度値は、各々、第2、第3の前面深度値記憶部第i1~第Nの前面深度値記憶部DSF2、DSF3に順次移動し、第3の前面深度値記憶部第Nの前面深度値記憶部DSF3の元の深度値は破棄される。そしてステップS41、図20Aに示すように、第1の前面深度値記憶部第iの前面深度値記憶部DSF1の深度値が、処理対象ピクセルDPXの深度値に書き換えられて更新される。また図15のステップS36で、図20Bに示すように処理対象ピクセルDPXの深度値が第2の前面深度値記憶部DSF2の深度値よりも前方且つDSF1の後方と判断され、ステップS35でi=2に設定されたとする。するとステップS40、図20Bに示すように、第2の前面深度値記憶部DSF2の深度値は第3の前面深度値記憶部DSF3に移動し、第3の前面深度値記憶部DSF3の元の深度値は破棄される。そしてステップS41、図20Bに示すように、第2の前面深度値記憶部DSF2の深度値が、処理対象ピクセルDPXの深度値に書き換えられて更新される。また図16のステップS54で、図20Cに示すように処理対象ピクセルDPXの深度値が第3の背面深度値記憶部DSB3の深度値よりも後方と判断され、ステップS55でi=N=3に設定されたとする。するとステップS60、図20Cに示すように、第2、第3の背面深度値記憶部第2~第iの背面深度値記憶部DSB2、DSB3の深度値は、各々、第1、第2の背面深度値記憶部第1~第i-1の背面深度値記憶部DSB1、DSB2に順次移動し、第1の背面深度値記憶部DSB1の元の深度値は破棄される。そしてステップS61、図20Cに示すように、第3の背面深度値記憶部第iの背面深度値記憶部DSB3の深度値が、処理対象ピクセルDPXの深度値に書き換えられて更新される。また図16のステップS56で、図20Dに示すように処理対象ピクセルDPXの深度値が第2の背面深度値記憶部DSB2の深度値よりも後方且つDSB3の前方と判断され、ステップS57でi=2に設定されたとする。するとステップS60、図20Dに示すように、第2の背面深度値記憶部DSB2の深度値は第1の背面深度値記憶部DSB1に移動し、第1の背面深度値記憶部DSB1の元の深度値は破棄される。そしてステップS61、図20Dに示すように、第2の背面深度値記憶部DSB2の深度値が、処理対象ピクセルDPXの深度値に書き換えられて更新される。以上のようにすれば、処理対象ピクセルの深度値の判定処理を行って、深度値の移動処理等を行うだけで、図12A~図13に示すような第1~第3の前面深度値DSF1~DSF3、第1~第3の背面深度値DSB1~DSB3を自動的に生成して深度バッファー56に設定できるようになる。図17は、図14のステップS27の前面背面の重なり検出処理の詳細を示すフローチャートである。まず、全ての処理対象ピクセルを処理したか否かを判断するステップS71。そして、重なりが検出されることなく全ての処理対象ピクセルの処理を完了した場合には、重なりなしとして、処理を終了するステップS72。一方、未処理の処理対象ピクセルがある場合には、未処理の処理対象ピクセルを1つ選択して、mを1に設定するステップS73、S74。次にN-1番目までの深度値記憶部を処理したか否かを判断しステップS75、処理した場合にはステップS71に戻る。一方、処理していない場合には、第mの背面深度値記憶部の深度値よりも、第m1の前面深度値記憶部の深度値は前方か否かを判断するステップS76。そして、前方ではない場合には、mを1だけインクリメントしてステップS77、ステップS75に戻る。一方、第mの背面深度値記憶部の深度値よりも、第m1の前面深度値記憶部の深度値の方が前方である場合には、重なりありとして、処理を終了するステップS78。この場合には図14のステップS28において重なりが検出されたと判断され、ステップS29に示すように、自己衝突ありとして処理を終了する。即ちこの場合には、衝突検出対象オブジェクトの自己衝突が発生したとして処理を終了する。図18は、図14のステップS30の他との衝突検出処理の詳細を示すフローチャートである。まず、全ての被衝突検出対象オブジェクト他のオブジェクトの前面及び背面の処理両面の描画処理を行ったか否かを判断するステップS81。そして、衝突が検出されることなく全ての被衝突検出対象オブジェクトの前面及び背面の処理が完了した場合には、衝突なしとして、処理を終了するステップS82。一方、処理が終了していない被衝突検出対象オブジェクトがある場合には、未処理の被衝突検出対象オブジェクトと衝突検出対象オブジェクトとの衝突検出処理を行うステップS83。そして、衝突は検出されたか否かを判断しステップS84、検出されなかった場合にはステップS81に戻り、検出された場合には、衝突ありとして、処理を終了するステップS85。図19は、図18のステップS83の衝突検出処理の詳細を示すフローチャートである。まず、全ての処理対象ピクセルを処理したか否かを判断するステップS91。そして、衝突が検出されることなく、全ての処理対象ピクセルの処理が完了した場合には、衝突なしとして、処理を終了するステップS92。一方、未処理の処理対象ピクセルがある場合には、未処理の処理対象ピクセルを1つ選択して、mを1に設定するステップS93、S94。次に、N番目までの深度値記憶部を処理したか否かを判断しステップS95、処理した場合にはステップS91に戻る。一方、処理していない場合には、処理対象ピクセルの深度値が、第mの前面深度値記憶部の深度値と第mの背面深度値記憶部の深度値の間にあるか否かを判断するステップS96。そして、これらの深度値の間にない場合には、mを1だけインクリメントしてステップS97、ステップS95に戻る。一方、これらの深度値の間にある場合には、衝突ありとして、処理を終了するステップS98。即ち図12Aの深度値DPF1、DPB1の間や、図12Bの深度値DPF2、DPB2の間や、図13の深度値DPF3、DPB4の間に、被衝突検出対象オブジェクト他のオブジェクトについての処理対象ピクセルの深度値がある場合には、衝突検出対象オブジェクトと被衝突検出対象オブジェクトの衝突が発生したと判断して、処理を終了する。なお図19の衝突検出処理は、図8と同様の処理に置き換えることが可能である。即ち、第mの背面深度値記憶部の深度値を通常の深度値とし、第mlの前面深度値記憶部の深度値を有する平面を描画し、実際に描画されるかどうかを判断する処理に置き換え可能である。なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また衝突検出システム、ロボットシステムの構成動作や、前面深度値背面深度値の生成手法や、衝突検出対象オブジェクト他のオブジェクトの描画手法や、衝突判定手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。