(57)【要約】【課題】  シミュレーションの高速化を図る。【解決手段】  本シミュレーション装置は、３次元ポリゴンデータが表す各ポリゴンの深度値が格納されるデプスバッファを有するグラフィックボードを備える。このグラフィックボードにおいて、カメラパラメータ及び３次元ポリゴンデータに基づき各ポリゴンの深度値が算出され、当該算出値で、デプスバッファ内の深度値が逐次更新される。この深度値に基づきセンサデータが生成、出力される。【選択図】図２
2007066045.tif 000002
【特許請求の範囲】
【請求項１】
センサの測定に関するセンサ仕様情報及びセンサの位置及び姿勢を示すセンサ位置・姿勢パラメータに基づき、３次元ＣＧにおけるカメラパラメータを作成するカメラパラメータ作成手段と、
３次元ポリゴンデータが表す各ポリゴンの深度値が格納されるデプスバッファを有し、前記カメラパラメータ及び前記３次元ポリゴンデータに基づき前記各ポリゴンの深度値を算出して、当該算出値で、前記デプスバッファ内の前記深度値を逐次更新するグラフィックボードと、
前記深度値をセンサデータに変換して出力するセンサデータ出力手段と、
を有することを特徴とするシミュレーション装置。
【請求項２】
請求項１記載のシミュレーション装置であって、
前記グラフィックボードは、前記カメラパラメータ、前記センサの測定誤差を表す誤差モデル、及び、前記３次元ポリゴンデータに基づき、前記各ポリゴンの深度値を算出することを特徴とするシミュレーション装置。
【請求項３】
請求項１記載のシミュレーション装置であって、
グラフィックスボードは、さらにフレームバッファを有し、
当該シミュレーション装置は、
前記算出された深度値が前記デプスバッファ内の深度値よりも小さい場合、対応するポリゴンの色をピクセル色とする表示画像を生成するピクセル色更新手段を備えることを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット、自動車等の移動体の自律走行を支援する走行支援システムに係り、特に、ハードウェアを用いたセンサシミュレーション装置に関する。
【背景技術】
【０００２】
移動体（走行移動ロボット、自走車等）の自律走行制御においては、周辺の障害物及び壁面等との位置関係の認識が必要となる。このため、移動体には、カメラ等の視覚センサ、周辺の障害物との間の距離を計測するレーザセンサ、赤外線レーザ等の各種センサが必要に応じて移動体に搭載されている。このセンサのセンシングデータの解析により、例えば、未知の進路上の三次元環境が認識される。
【０００３】
実機による実験では、セッティングに時間を要する等、容易には動作検証を行うことができない。このため、一般に、事前にコンピュータでシミュレーションを行い、その結果に基づき、障害物の位置及び角度等が検討される。例えば、このようなシミュレーションに関連する技術として、特許文献１記載の技術が知られている。この技術によれば、自律走行する移動体の自己位置同定処理及び誘導制御処理において、移動体の近傍領域における位置分解能の向上、及び、シミュレーションの高速化が図られる。
【０００４】
【特許文献１】特開２００３-１５７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の技術においては、ソフトウエアのアルゴリズムの工夫によって処理の高速化が図られている。ところが、ソフトウエアのアルゴリズムの工夫によるシミュレーション高速化には限界がある。
【０００６】
そこで、本発明は、より高速なシミュレーションを実行することができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、汎用のハードウェアを用いてシミュレーション速度を向上させる。具体的には、
センサの測定に関するセンサ仕様及びセンサの位置及び姿勢を示すセンサ位置・姿勢パラメータに基づき、３次元ＣＧにおけるカメラパラメータを作成するカメラパラメータ作成手段と、
前記３次元ポリゴンデータが表す各ポリゴンの深度値が格納されるデプスバッファを有し、前記カメラパラメータ、前記３次元ポリゴンデータ及び前記誤差モデルに基づき前記各ポリゴンの深度値を算出して、当該算出値で、前記デプスバッファ内の前記深度値を逐次更新するグラフィックボードと、
前記深度値をセンサデータに変換して出力するセンサデータ出力手段と、
を有することを特徴とするセンサシミュレーション装置を提供する。
【発明を実施するための最良の形態】
【０００８】
以下、添付の図面を参照しながら、本発明に係る実施の一形態について説明する。
【０００９】
まず、図１により、本実施形態に係るシミュレーションシステムの構成について説明する。
【００１０】
本シミュレーションシステム１０は、（１）メモリ等の主記憶１００、（２）後述のシミュレーション処理を実現するためのプログラムがインストールされるとともに、各種データが格納されるハードディスク等の補助記憶装置２００、（３）補助記憶装置２００から主記憶１００上にロードされたプログラムを実行するＣＰＵ２０、（４）３次元グラフィックス処理を高速実行する専用回路と、イメージデータを保持するためのメモリと、視点からの距離データが画素ごとに格納されるデプスバッファ４０とが搭載されたグラフィックスボード３０、（５）これらを相互に接続するバス５０、等を有している。
【００１１】
このようなハードウェア構成上において、主記憶１００にロードされたプログラムが実行されると、グラフィックボード３０に入力データを与えるための構成が実現される。具体的には、図２に示すように、センサ位置・姿勢パラメータ２１０及びセンサ仕様データ２２０に基づきカメラパラメータ２４０を算出するカメラデータ作成部１１０、デプスバッファ内の距離データとセンサ仕様２２０とに基づきセンサデータ２６０を出力するセンサデータ出力部１２０、が実現される。
【００１２】
このような構成により、センサ位置・姿勢パラメータ２１０及びセンサ仕様２２０がカメラパラメータ２４０に変換され、さらに、グラフィックボード３０が、このカメラパラメータ２４０と３次元ポリゴンデータ２３０とに基づき、カメラからの距離を表す距離画像を生成する。ここで、３次元ポリゴンデータ２３０の各ポリゴンに対する深度値の算出が行われるが、本実施の形態においては、グラフィックスボード３０内のデプスバッファ４０で遠近判定を行い、各画素においてより視点位置より近い値を順次更新格納する。つまり、この処理をハードウェアで直接行うため、計算時間を短縮することができる。そして、デプスバッファ４０に蓄積される深度値と、センサ仕様情報２２０である角度分解能及び視野角とを基に、センサデータ出力部１２０において、各角度における距離データが算出され、センサデータ２６０として出力される。
【００１３】
つぎに、補助記憶装置２００に格納されるデータについて説明する。
【００１４】
補助記憶装置２００には、さらに、シミュレーション処理において用いられる入力データ、シミュレートにより得られるカメラデータ２４０、及び、シミュレート結果であるセンサデータ（各角度における、センサからの距離データ）２６０、センシング対象のポリゴンデータ２３０が格納される。
【００１５】
入力データには、センサ位置・姿勢パラメータ２１０、センサ仕様データ２２０、シミュレーション誤差モデル２５０、が含まれる。
【００１６】
センサ位置・姿勢パラメータには、移動体（自走車、ロボット等）に取り付けたセンサの位置・姿勢を時間ごとに記録したデータが含まれる。具体的センサ位置・姿勢パラメータには、図５に示すように、フレームごとに、フレー番号と、ＸＹＺ座標系におけるセンサの位置座標（Ｘ,Ｙ,Ｚ）と、センサの方向ベクトルとが格納される。なお、センサの傾きを変えながらセンシングを行なう場合には、さらに、センサの傾きを表すデータを追加することが好ましい。
【００１７】
センサ仕様データには、センサの仕様を表すデータが含まれる。図４に、センシング対象を走査しながら所定の角度ごとの離散的なデータを取得することによって最終的に線データを得るレーザセンサのセンサ仕様データの例を示す。このようなレーザセンサのセンサ仕様データには、距離データを取得する角度間隔を表す角度分解能、距離データの分解能を表す距離分解能、距離計測の正確度を表す測定誤差範囲情報、センサで測定可能な範囲を表す測定範囲情報、が含まれている。測定範囲情報には、測定可能な視野角(線データを取得する場合には水平視野角のみ)、センサで測定可能な距離の範囲等が含まれる。なお、センシング方法が異なる他のレーザセンサ（点データが得られるもの、面データが得られるもの）に関するセンサ仕様データには、取得されるデータに応じたデータが含まれる。
【００１８】
誤差モデルデータには、シミュレート時の想定誤差を表すデータが含まれる。例えば、シミュレート時の誤差を正規分布にしたがうと仮定した場合には、図６に示すように、その分散値及び標準偏差を誤差モデルデータとして用いることができる。なお、この誤差モデルデータは、カメラデータを生成する際、実機を用いた計測で得られる実値に含まれる測定誤差を考慮するために利用される。すなわち、距離データは、実値により近くなるように、３次元ポリゴンデータ２３０とカメラパラメータ２４０と誤差モデル２５０とに基づき算出される。
【００１９】
これらの入力データは、所定のフォーマットにしたがってデータが記述されたデータファイルから読み込まれてもよいし、入力装置から手入力されてもよい。シミュレーションシステムに表示装置を設けた場合には、これらの入力データの入力を支援するために、例えば、図７に示すような画面を表示させてもよい。
【００２０】
この画面上には、センサ仕様データに含まれる各データの入力を受け付ける入力フィールド５１、仕様ファイルからのセンサ仕様データの読込み指示を受け付ける参照ボタン５２、センサ位置・姿勢パラメータに含まれる各データの入力を受け付ける入力フィールド５３、動作ファイルからのセンサ位置・姿勢パラメータの読込み指示を受け付ける参照ボタン５４、誤差ファイルからの誤差モデルデータの読込み指示を受け付ける参照ボタン５５、この画面上の設定の登録指示を受け付けるＯＫボタン５６、この画面上の設定の取消指示を受け付けるキャンセルボタン５７が配置されている。
【００２１】
この画面を利用すれば、ユーザは、センサ仕様データ及びセンサ位置・姿勢パラメータを直接手入力することもできるし、指定ファイルから読み出させることもできる。なお、センサ位置・姿勢パラメータのデータ量は、通常、膨大になるため、キーフレームにおけるデータを入力フィールド５３に入力させるようにして、それらのデータを補間することが望ましい。
【００２２】
カメラパラメータには、３次元ＣＧのレンダリング機能を用いたシミュレーションを行うために必要な、カメラに関するデータが含まれる。例えば、図８に示すように、カメラの位置を示す視点座標、カメラの向きを示す注視点座標、フレームごとのカメラの傾き（アニメーションデータ）、水平視野角、垂直視野角、デプスバッファに確保すべき領域の大きさを定める出力画像サイズ、クリッピング領域の範囲、が含まれる。
【００２３】
センサデータには、図９に示すように、フレームごとに、視野角の範囲内において、角度分解能が示す角度おきに算出された距離データが含まれる。具体的には、フレームごとに、フレーム番号、視野角０度からの角度と距離データとの対応情報のリストが格納される。
【００２４】
つぎに、図３により、図２の構成により実行される処理について説明する。なお、以下において、グラフィックスボード３０において行われる処理の実行主体をたんにグラフィックスボード３０ということにする。
【００２５】
まず、グラフィックスボード３０は、センシング対象となる３次元ポリゴンデータ及び誤差モデル２４０を補助記憶装置から読み込み（Ｓ１０００）、センサの初期状態におけるセンサパラメータ(光学中心、光軸、センシング領域)を読み込む（Ｓ１１００）。さらに、パラメータｎに１を設定する（Ｓ１１１０）。
【００２６】
その後、各ポリゴンについて、ぞれぞれ、以下の処理を実行する。
【００２７】
グラフィックスボード３０は、パラメータｎの値とポリゴン数とを比較する（Ｓ１２００）。
【００２８】
その結果、パラメータｎの値がポリゴン数以上であれば、センサデータ出力部１２０が、グラフィックスボードの出力に基づきセンサデータを生成する（Ｓ１７００）。
【００２９】
一方、パラメータｎの値がポリゴン数未満であれば、グラフィックスボード３０は、ｎ番目のポリゴンの深度値を算出する（Ｓ１３００）。
【００３０】
グラフィックスボード３０は、この深度値でポリゴンを透視投影面上に投影したときに対応するピクセルについてデプスデプスバッファに記録された深度値と、ｎ番目のポリゴンの深度値とを比較する（Ｓ１４００）。その結果、ｎ番目ポリゴンの深度値の方が小さい場合にだけ、デプスバッファ内の、対応ピクセルの深度値を更新する（Ｓ１５００）。
【００３１】
その後、つぎのポリゴンについて同様な処理を実行すべく、グラフィックスボードは、ｎの値を＋１だけインクリメントする（Ｓ１５１０）。そして、Ｓ１２００以降の処理が再度実行される。
【００３２】
以上においては、シミュレーションによりセンサデータを生成しているが、センサデータとともに、そのセンサデータの数値を視覚的に把握可能な表示画像を作成してもよい。以下、そのようにする場合について説明する。
【００３３】
図１０に、センサデータとともに表示画像を作成するシミュレーションシステムのハードウェア構成、図１１に、このシミュレーションシステムにより実現される構成を示す。
【００３４】
このシミュレーションシステムは、図１のハードウェア構成に加え、さらに、グラフィックスボード３０に搭載されたフレームバッファ４５、出力画像を表示するための表示装置６０を備えている。そして、補助記憶装置２００には、前述のデータに加えて、さらに、各画素における色データ（ピクセル色データ）、センサデータとともに生成された表示画像２８０が格納される。
【００３５】
また、このシミュレーションシステムは、図２の構成に加え、さらに、各画素における深度値の大小に応じてピクセル色を更新するピクセル色更新部１３０、センサデータの数値を視覚的に把握可能な表示画像２８０を生成する表示画像作成部１４０を実現する。
【００３６】
図１２に、このシミュレーションシステムで実行される処理のフローチャートを示す。
【００３７】
この場合には、前述の場合と異なり、Ｓ１２００の比較処理の結果、パラメータｎの値がポリゴン数以上であれば、表示画像作成部１４０が、各ピクセルの色情報に基づき画像を生成し（Ｓ１８００）、その画像を表示装置６０に表示させる（Ｓ１９００）。ここで、画像の表示を終了する旨の指示を受け付けた場合（Ｓ２０００）には、表示画像作成部１４０は、その指示が、視点の位置変更に起因するものか否かを判断する（Ｓ２１００）。
【００３８】
その結果、画像の表示終了指示が視点の位置変更に起因するものである場合には、センサパラメータが更新され、Ｓ１１００以降の処理が再度実行される。
【００３９】
一方、画像の表示終了指示が視点の位置変更に起因するものでない場合（ここでは、シミュレーション終了の場合）には、全処理が終了したものとして、シミュレーションを終了する。
【００４０】
この場合、最も深度値の低いポリゴン（すなわち最前面のポリゴン）を優先的に表示するため、デプスバッファ４０には最小の深度値が格納されており、Ｓ１４００において、グラフィックスボード３０は、ｎ番目ポリゴンの深度値が、その最小の深度値よりも小さいか否かを判断する。
【００４１】
その結果、ｎ番目ポリゴンの深度値の方が小さいと判断すると、グラフィックスボード３０は、デプスバッファ内の深度値をｎ番目ポリゴンの深度値で置き換えるとともに、ｎ番目ポリゴンの色情報をフレームバッファ４５に格納する（Ｓ１５００）。これにより、デプスバッファ４０の深度値が、より深度値の小さいポリゴンの深度値で更新されるとともに、デプスバッファ４０の深度値が更新されるごとに、より深度値の小さなポリゴンの色情報がフレームバッファ４５に格納されてゆく。
【００４２】
さらに、ピクセル色更新部１３０は、より深度値が小さいポリゴンの色情報がフレームバッファ４５に格納された場合、この色情報をフレームバッファから取り出し、この色情報で、対応ピクセルのピクセル色データ２７０を更新する（Ｓ１６００）。
【００４３】
一方、Ｓ１４００において、ｎ番目ポリゴンの深度値が、デプスデプスバッファに記録された最小の深度値以上であると判断した場合には、グラフィックスボード３０は、デプスバッファの更新及びピクセル色データの更新を行わない。
【００４４】
その後、前述の場合と同様、つぎのポリゴンについて同様な処理を実行すべく、グラフィックスボード３０がｎの値を＋１だけインクリメントし（Ｓ１５１０）、Ｓ１２００以降の処理が再度実行される。
【００４５】
このような処理によれば、センサデータの数値を視覚的に把握可能な表示画像を表示させることができる。
【産業上の利用可能性】
【００４６】
本発明は、未知物体の三次元計測システム、移動体（自走車、ロボット）の自律走行システム等、距離センサを利用するシステムにおいて利用可能である。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態に係るシミュレーションシステムの概略構成を示した図である。
【図２】本発明の第１実施形態に係るシミュレーションシステムの構成図である。
【図３】本発明の第１実施形態に係るシミュレーションシステムで実行される処理のフローチャートである。
【図４】センサ仕様データのデータ構造を示した図である。
【図５】センサ位置・姿勢パラメータのデータ構造を示した図である。
【図６】誤差モデルデータに含まれるデータを示した図である。
【図７】データ入力用のインタフェースを示した図である。
【図８】カメラパラメータのデータ構造を示した図である。
【図９】センサデータのデータ構造を示した図である。
【図１０】本発明の第２の実施形態に係るシミュレーションシステムの概略構成図である。
【図１１】本発明の第２実施形態に係るシミュレーションシステムの構成図である。
【図１２】本発明の第２実施形態に係るシミュレーションシステムで実行される処理のフローチャートである。
【符号の説明】
【００４８】
２０…ＣＰＵ、３０…グラフィックスボード、４０…デプスバッファ、４５…フレームバッファ、５０…バス、６０…表示装置、１１０…カメラパラメータ作成部、１２０…センサデータ出力部、１３０…ピクセル色更新部、１４０…表示画像作成部、２７０…ピクセル色格納部
【図１】
2007066045.tif 000003
【図２】
2007066045.tif 000004
【図３】
2007066045.tif 000005
【図４】
2007066045.tif 000006
【図５】
2007066045.tif 000007
【図６】
2007066045.tif 000008
【図７】
2007066045.tif 000009
【図８】
2007066045.tif 000010
【図９】
2007066045.tif 000011
【図１０】
2007066045.tif 000012
【図１１】
2007066045.tif 000013
【図１２】
2007066045.tif 000014