IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特開-シミュレーションシステム 図1
  • 特開-シミュレーションシステム 図2
  • 特開-シミュレーションシステム 図3
  • 特開-シミュレーションシステム 図4
  • 特開-シミュレーションシステム 図5
  • 特開-シミュレーションシステム 図6
  • 特開-シミュレーションシステム 図7
  • 特開-シミュレーションシステム 図8
  • 特開-シミュレーションシステム 図9
  • 特開-シミュレーションシステム 図10
  • 特開-シミュレーションシステム 図11
  • 特開-シミュレーションシステム 図12
  • 特開-シミュレーションシステム 図13
  • 特開-シミュレーションシステム 図14
  • 特開-シミュレーションシステム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024064572
(43)【公開日】2024-05-14
(54)【発明の名称】シミュレーションシステム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240507BHJP
   G08G 1/16 20060101ALI20240507BHJP
   G01S 17/89 20200101ALI20240507BHJP
【FI】
G05D1/02 H
G08G1/16 C
G01S17/89
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022173260
(22)【出願日】2022-10-28
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】佐治 恒士郎
(72)【発明者】
【氏名】港 智史
(72)【発明者】
【氏名】田島 将太
【テーマコード(参考)】
5H181
5H301
5J084
【Fターム(参考)】
5H181AA01
5H181BB20
5H181CC03
5H181CC14
5H181LL01
5H181LL02
5H301AA01
5H301AA10
5H301BB07
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD06
5H301DD07
5H301DD16
5H301FF11
5H301GG07
5H301GG08
5H301GG09
5H301GG10
5H301HH01
5J084AA04
5J084AA05
5J084AB16
5J084AB17
5J084AC02
5J084AD01
5J084BA03
5J084BA11
5J084BA48
5J084CA31
5J084EA40
(57)【要約】
【課題】仮想空間モデルの作成にかかる工数を削減することができるシミュレーションシステムを提供する。
【解決手段】シミュレーションシステム20は、シミュレーション対象の実環境に存在する物体7の点群を構成する複数の反射点Pの位置座標を含む点群データを取得する点群取得部25と、移動体2に対応する仮想移動体2Aを仮想的に走行させながら、レーザセンサ3に対応する仮想レーザセンサ3Aから対象となる点群PGに向けて3次元の規定領域Rsを有する仮想レーザL0を出射したときに、3次元の規定領域Rs内に存在する複数の反射点Pの位置座標を抽出する反射点抽出部26とを備える。
【選択図】図6
【特許請求の範囲】
【請求項1】
移動体の走行に使用されるセンサのシミュレーションを行うシミュレーションシステムであって、
シミュレーション対象の実環境に存在する物体の点群を構成する複数の反射点の位置座標を含む点群データを取得する点群データ取得部と、
前記移動体に対応する仮想移動体を仮想的に走行させながら、前記センサに対応する仮想センサから対象となる点群に向けて3次元の規定領域を有する仮想信号を出射したときに、前記3次元の規定領域内に存在する複数の反射点の位置座標を抽出する反射点抽出部とを備えるシミュレーションシステム。
【請求項2】
前記規定領域は、前記仮想信号の中心線を中心とした領域であり、前記仮想センサからの距離が長くなるに従って前記中心線に垂直に切った面の面積が大きくなるように設定される請求項1記載のシミュレーションシステム。
【請求項3】
前記反射点抽出部により抽出された前記複数の反射点の位置座標に基づいて、前記仮想センサから前記対象となる点群の位置までの距離を演算する距離演算部を更に備える請求項1記載のシミュレーションシステム。
【請求項4】
前記距離演算部は、前記複数の反射点の位置座標の平均値を前記対象となる点群の位置の推定座標として算出し、前記推定座標に基づいて前記仮想センサから前記対象となる点群の位置までの距離を演算する請求項3記載のシミュレーションシステム。
【請求項5】
前記規定領域は、前記仮想信号の中心線を中心とした領域であり、
前記距離演算部は、前記仮想信号の中心線と前記複数の反射点の位置座標との最短距離をそれぞれ算出し、前記中心線と前記反射点の位置座標との最短距離に応じた重み付けを行って、前記仮想センサから前記対象となる点群の位置までの距離を演算する請求項3記載のシミュレーションシステム。
【請求項6】
前記点群データは、前記複数の反射点の反射強度を更に含み、
前記距離演算部は、前記複数の反射点の位置座標及び反射強度に基づいて、前記仮想センサから前記対象となる点群の位置までの距離を演算する請求項3記載のシミュレーションシステム。
【請求項7】
前記点群データ取得部により取得された前記複数の反射点の位置座標と前記反射点抽出部により抽出された前記複数の反射点の位置座標とを照合する照合部を更に備える請求項1記載のシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションシステムに関する。
【背景技術】
【0002】
例えば特許文献1には、LiDARセンサの仮想画像を用いて自動車の自動運転走行システムにおける画像認識機能モジュールの機械学習及びテストを行うシミュレーションシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-60512号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、例えば自動走行を行う移動体のシミュレーションには、移動体を仮想的に走行させるための仮想空間モデルが必要である。昨今、乗用車向けの一般道及び都市部の仮想空間モデルの公開が始まってはいるが、フォークリフトやトーイングトラクター等の産業車両が走行する構内(例えば工場内や空港内)の仮想空間モデルとしては、利用可能なものがない。現状では、ユーザの環境を再現するために、ユーザの構内においてLiDAR等の測距センサにより点群データを取得した後、手作業により3DのCGデータを配置することで、仮想空間モデルを作成している。このため、仮想空間モデルの作成にかかる工数が増大する。
【0005】
本発明の目的は、仮想空間モデルの作成にかかる工数を削減することができるシミュレーションシステムを提供することである。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、移動体の走行に使用されるセンサのシミュレーションを行うシミュレーションシステムであって、シミュレーション対象の実環境に存在する物体の点群を構成する複数の反射点の位置座標を含む点群データを取得する点群データ取得部と、移動体に対応する仮想移動体を仮想的に走行させながら、センサに対応する仮想センサから対象となる点群に向けて3次元の規定領域を有する仮想信号を出射したときに、3次元の規定領域内に存在する複数の反射点の位置座標を抽出する反射点抽出部とを備える。
【0007】
このようなシミュレーションシステムにおいては、まずシミュレーション対象の実環境に存在する物体の点群を構成する複数の反射点の位置座標を含む点群データが取得される。そして、移動体に対応する仮想移動体を仮想的に走行させながら、移動体の走行に使用されるセンサに対応する仮想センサから対象となる点群に向けて3次元の規定領域を有する仮想信号を出射したときに、3次元の規定領域内に存在する複数の反射点の位置座標が抽出される。このようにシミュレーション対象の実環境の点群データをそのまま使用してセンサのシミュレーションが行われるため、手作業により3DのCGデータを配置しなくて済む。これにより、仮想空間モデルの作成にかかる工数が削減される。
【0008】
また、例えば仮想センサから対象となる点群に向けて1次元の仮想信号が出射される場合には、1次元の仮想信号が反射点間を通過することがある。そこで、仮想センサは、3次元の規定領域を有する仮想信号を出射する。そして、仮想センサから仮想信号を出射したときに、3次元の規定領域内に存在する複数の反射点の位置座標が抽出される。このため、仮想信号が何れかの反射点に当たらずに反射点間を通過しても、規定領域内に存在する他の反射点が抽出される。従って、点群データをそのまま使用してシミュレーションを行う場合であっても、3DのCGデータが配置された仮想空間モデルを使用してシミュレーションを行う場合と同様に、複数の反射点の位置座標を抽出することが可能となる。
【0009】
(2)上記の(1)において、規定領域は、仮想信号の中心線を中心とした領域であり、仮想センサからの距離が長くなるに従って中心線に垂直に切った面の面積が大きくなるように設定されてもよい。このような構成では、点群が仮想センサから遠く離れても、規定領域内に複数の反射点が存在するようになるため、その後の処理に使用される反射点が十分に確保される。
【0010】
(3)上記の(1)または(2)において、シミュレーションシステムは、反射点抽出部により抽出された複数の反射点の位置座標に基づいて、仮想センサから対象となる点群の位置までの距離を演算する距離演算部を更に備えてもよい。このような構成では、仮想センサから対象となる点群の位置までの距離を演算することにより、仮想移動体の自己位置推定精度の判定及び仮想移動体の周囲に存在する障害物の検知精度の判定を容易に行うことができる。
【0011】
(4)上記の(3)において、距離演算部は、複数の反射点の位置座標の平均値を対象の推定座標として算出し、推定座標に基づいて仮想センサから対象となる点群の位置までの距離を演算してもよい。このような構成では、複数の反射点の位置座標の平均値を算出することにより、仮想センサから対象となる点群の位置までの距離を単純な計算式により求めることができる。
【0012】
(5)上記の(3)において、規定領域は、仮想信号の中心線を中心とした領域であり、距離演算部は、仮想信号の中心線と複数の反射点の位置座標との最短距離をそれぞれ算出し、中心線と反射点の位置座標との最短距離に応じた重み付けを行って、仮想センサから対象となる点群の位置までの距離を演算してもよい。このような構成では、仮想信号の中心線と規定領域内に存在する複数の反射点の位置座標との最短距離に応じた重みが考慮されるため、仮想センサから対象となる点群の位置までの距離を高精度に求めることができる。
【0013】
(6)上記の(3)~(5)の何れかにおいて、点群データは、複数の反射点の反射強度を更に含み、距離演算部は、複数の反射点の位置座標及び反射強度に基づいて、仮想センサから対象となる点群の位置までの距離を演算してもよい。このような構成では、規定領域内に存在する複数の反射点の位置座標だけでなく、各反射点の反射強度も考慮されるため、仮想センサから対象となる点群の位置までの距離を高精度に求めることができる。
【0014】
(7)上記の(1)または(2)において、点群データ取得部により取得された複数の反射点の位置座標と反射点抽出部により抽出された複数の反射点の位置座標とを照合する照合部を更に備えてもよい。このような構成では、点群データ取得部により取得された反射点の位置座標と反射点抽出部により抽出された反射点の位置座標とを照合することにより、仮想移動体の自己位置推定精度の判定及び仮想移動体の周囲に存在する障害物の検知精度の判定を容易に行うことができる。
【発明の効果】
【0015】
本発明によれば、仮想空間モデルの作成にかかる工数を削減することができる。
【図面の簡単な説明】
【0016】
図1】本発明の一実施形態に係るシミュレーションシステムに関連する走行制御装置の構成を概略的に示すブロック図である。
図2図1に示されたレーザセンサにより移動体の周囲にレーザを照射する様子を示す平面図である。
図3】本発明の一実施形態に係るシミュレーションシステムに関連する点群取得装置の構成を概略的に示すブロック図である。
図4】レーザセンサにより移動体の周囲に存在する物体までの距離を検出する原理を示す概念図である。
図5図3に示された点群取得装置により点群データを取得する様子を示す平面図である。
図6】本発明の一実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図である。
図7】仮想レーザセンサから照射される仮想レーザを仮想レーザの中心線を中心とした規定領域と共に示す概念図である。
図8図6に示された演算処理ユニットにより実行される演算処理の手順を示すフローチャートである。
図9】仮想レーザセンサから仮想レーザが照射されたときに、規定領域内に存在する複数の反射点の位置座標を抽出する様子を示す概念図である。
図10】従来において自動運転のシミュレーションを実施する方法を示すフローチャートである。
図11図6に示されたシミュレーションシステムを用いて自動運転のシミュレーションを実施する方法を示すフローチャートである。
図12】LiDARのレイ照射方向ベクトル上に存在する反射点の位置座標を取得する様子を示す概念図である。
図13】本発明の他の実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図である。
図14図13に示された演算処理ユニットにより実行される演算処理の手順を示すフローチャートである。
図15】本発明の更に他の実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して詳細に説明する。図中、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
【0018】
図1は、本発明の一実施形態に係るシミュレーションシステムに関連する走行制御装置の構成を概略的に示すブロック図である。図1において、走行制御装置1は、例えばフォークリフト等の移動体2の自己位置を推定しながら、移動体2を走行経路Sに沿って自動走行させる自動運転を行う装置である(図2参照)。走行制御装置1は、移動体2に搭載されている。
【0019】
走行制御装置1は、レーザセンサ3と、環境マップ記憶部4と、自動運転用コントローラ5と、駆動部6とを備えている。
【0020】
レーザセンサ3は、図2に示されるように、レーザセンサ3の検出エリアAd内において移動体2の周囲にレーザLを照射し、レーザLの反射光を受光することにより、移動体2の周囲に存在する物体7を検出する。レーザセンサ3は、測距用信号であるレーザLを出射して、移動体2の周囲に存在する物体7までの距離を検出する測距センサである。物体7は、例えば建造物7Aや柱7B等の静止物体である。レーザセンサ3の検出エリアAdは、所定の角度範囲(例えば270度)でもよいし、360度全周でもよい。なお、図2では、レーザセンサ3の検出エリアAdが便宜的に示されている。
【0021】
レーザセンサ3としては、例えば3D(3次元)のレーザスキャナやレーザレンジファインダ等が使用される。ここでは、レーザセンサ3として、レーザスキャナであるLiDAR(Light Detectionand Ranging)が使用される。レーザセンサ3は、円錐状のレーザLを照射する。レーザセンサ3は、有限の検出エリアAd内においてレーザLを走査させて照射することで、移動体2の周囲に存在する物体7を検出する。
【0022】
環境マップ記憶部4は、移動体2が走行する環境の地図データを記憶する。地図データには、物体7の位置座標等が含まれている。
【0023】
自動運転用コントローラ5は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。自動運転用コントローラ5は、自己位置推定部8と、走行制御部9とを有している。
【0024】
自己位置推定部8は、レーザセンサ3の検出データと環境マップ記憶部4に記憶された地図データとを用いて、移動体2の現在の自己位置を推定する。自己位置推定部8は、レーザSLAM(simultaneous localization and mapping)手法を用いて、移動体2の自己位置を推定する。SLAMは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。
【0025】
具体的には、自己位置推定部8は、レーザセンサ3の検出データと地図データをマッチングさせて、移動体2の自己位置の推定演算を行う。なお、移動体2の自己位置は、3次元座標(XYZ座標)で表される。
【0026】
走行制御部9は、自己位置推定部8により推定された移動体2の自己位置に基づいて、移動体2を目的地に向けて自律走行させるように駆動部6を制御する。駆動部6は、例えば図示はしないが、移動体2を走行させる走行モータと、移動体2を操舵する操舵モータとを有している。
【0027】
図3は、本発明の一実施形態に係るシミュレーションシステムに関連する点群取得装置の構成を概略的に示すブロック図である。図3において、点群取得装置10は、後述するシミュレーションシステム20により自動運転のシミュレーションを実施する際に使用される点群データを取得する装置である。
【0028】
点群取得装置10は、移動体2に搭載されている。点群取得装置10は、図2に示されるように、手動運転により移動体2を走行経路Sに沿って低速で走行させながら、移動体2の周囲に存在する物体7の点群データを取得する。
【0029】
点群取得装置10は、上記のレーザセンサ3と、点群取得用コントローラ11と、点群データメモリ12とを備えている。
【0030】
レーザセンサ3は、上述したように、移動体2の周囲にレーザLを照射し、レーザLの反射光を受光することにより、移動体2の周囲に存在する物体7までの距離を検出する。具体的には、レーザセンサ3は、図4に示されるように、レーザパルスLPを発光してから物体7で反射されたレーザパルスLP(反射パルス)を受光するまでの時間Δtから、物体7までの距離を計測する。具体的には、物体7までの距離は、光速×時間Δtにより算出される。なお、反射パルスを受光したか否かの判断は、予め決められた閾値Aと比較して行われる。
【0031】
点群取得用コントローラ11は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。点群取得用コントローラ11は、点群データ処理部13と、点群データ保存部14とを有している。
【0032】
点群データ処理部13は、図5に示されるように、レーザセンサ3の検出データに基づいて、移動体2の周囲に存在する物体7の点群PGを構成する複数の反射点Pの位置座標を求める。反射点Pは、レーザセンサ3から照射されたレーザLが物体7の表面に当たって反射する点である。点群PGは、反射点Pの集まりであり、物体7の表面を表している。反射点Pの位置座標は、3次元座標で表わされる。
【0033】
点群データ保存部14は、点群データ処理部13により得られた点群PGを構成する複数の反射点Pの位置座標を含む点群データを点群データメモリ12に保存する。点群データメモリ12は、例えばUSBメモリ等のような持ち運び可能なメモリである。
【0034】
図6は、本発明の一実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図である。図6において、本実施形態のシミュレーションシステム20は、移動体2の自動運転のシミュレーションを行うシステムである。移動体2の自動運転のシミュレーションは、レーザセンサ3のシミュレーションを含んでいる。レーザセンサ3は、移動体2の走行に使用されるセンサである。
【0035】
シミュレーションシステム20は、図7に示されるように、点群データメモリ12に記憶された点群データを用いて、移動体2に対応する仮想移動体2Aの自己位置推定精度を判定し、最終的に仮想移動体2Aの走行可否の判定を行う。
【0036】
シミュレーションシステム20は、仮想空間内において仮想移動体2Aを仮想走行経路S0に沿って仮想的に走行させながら、レーザセンサ3に対応する仮想レーザセンサ3Aから対象となる点群PGに向けて3次元の仮想レーザL0を仮想的に照射して、対象となる点群PGの位置までの距離を演算することで、仮想移動体2Aの自己位置推定精度を判定する。
【0037】
仮想移動体2Aは、仮想レーザセンサ3Aを備えている。このため、仮想レーザセンサ3Aは、仮想移動体2Aの移動に伴って移動する。なお、仮想空間は、点群PGからなっている。対象となる点群PGは、仮想レーザセンサ3Aから仮想的に照射される有限の仮想レーザL0の照射範囲内において、仮想レーザセンサ3Aからの距離の演算が行われる点群PGであり、仮想移動体2Aの仮想走行に伴って移動する。
【0038】
シミュレーションシステム20は、パソコン21と、上記の点群データメモリ12とを備えている。
【0039】
パソコン21は、入力器22と、表示器23と、入力器22、表示器23及び点群データメモリ12と接続された演算処理ユニット24とを有している。
【0040】
入力器22は、ユーザが自動運転のシミュレーションに関するデータ及び情報等を入力したり、自動運転のシミュレーションの開始等を指示するための機器である。表示器23は、自動運転のシミュレーションによる判定結果等を表示する機器である。
【0041】
演算処理ユニット24は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。演算処理ユニット24は、点群取得部25と、反射点抽出部26と、距離演算部27と、判定部28と、出力部29とを有している。
【0042】
点群取得部25は、入力器22によって自動運転のシミュレーションの開始が指示入力されると、点群データメモリ12に記憶された点群データを取得する。点群取得部25は、点群データメモリ12と協働して、シミュレーション対象の実環境に存在する物体7の点群PGを構成する複数の反射点Pの位置座標を含む点群データを取得する点群データ取得部を構成している。
【0043】
反射点抽出部26は、図7に示されるように、仮想移動体2Aを仮想的に走行させながら、仮想レーザセンサ3Aから対象となる点群PGに向けて3次元の規定領域Rsを有する仮想レーザL0を出射したときに、規定領域Rs内に存在する複数の反射点Pの位置座標を抽出する。反射点抽出部26は、例えば点群取得部25により取得された点群データに基づいて決定された所定の仮想走行経路S0に沿って仮想移動体2Aを仮想的に走行させる。
【0044】
仮想レーザセンサ3Aは、円錐状の仮想レーザL0を照射する仮想センサである。仮想レーザL0は、仮想レーザセンサ3Aから出射される仮想信号である。仮想レーザL0は、レーザセンサ3から出射される測距用信号であるレーザLに対応する信号である。規定領域Rsは、仮想レーザL0の中心線CLを中心とした3次元の領域である。反射点抽出部26は、仮想移動体2Aの仮想走行に従って順次実行される。
【0045】
距離演算部27は、反射点抽出部26により抽出された複数の反射点Pの位置座標に基づいて、仮想レーザセンサ3Aから対象となる点群PGの位置(対象点群位置Fという)までの距離を演算する。距離演算部27は、仮想移動体2Aの仮想走行に従って順次実行される。
【0046】
判定部28は、距離演算部27により演算された仮想レーザセンサ3Aから対象点群位置Fまでの距離に基づいて、仮想移動体2Aの自己位置推定精度の判定を行うことで、仮想移動体2Aの走行可否の判定を行う。
【0047】
判定部28は、例えば上述した自己位置推定部8と同様の自己位置推定機能を有してる。また、演算処理ユニット24には、上述した環境マップ記憶部4と同様の記憶部が設けられている。そして、判定部28は、仮想移動体2Aの自己位置を推定し、その推定値と仮想走行経路S0とを比較して、仮想移動体2Aの自己位置推定精度を判定する。なお、自己位置推定機能は、判定部28とは別に自己位置推定部として演算処理ユニット24に設けられていてもよい。また、自己位置推定部及び記憶部は、演算処理ユニット24とは別のユニットに設けられていてもよい。
【0048】
出力部29は、判定部28による自己位置推定精度及び走行可否の判定結果を表示器23に表示させる。
【0049】
図8は、演算処理ユニット24により実行される演算処理の手順を示すフローチャートである。本処理は、入力器22によって自動運転のシミュレーションの開始が指示入力されると実行される。
【0050】
図8において、演算処理ユニット24は、まず点群データメモリ12に記憶された点群データを取得する(手順S101)。続いて、演算処理ユニット24は、点群PGを構成する複数の反射点Pの位置座標に基づいて決定された仮想走行経路S0に沿って仮想移動体2Aを仮想的に走行させる(手順S102)。仮想走行経路S0は、例えば異なる物体7を表す点群PG間の中間部分である。
【0051】
続いて、演算処理ユニット24は、図7に示されるように、仮想レーザセンサ3Aから対象点群位置Fに向けて規定領域Rsを有する仮想レーザL0を照射する(手順S103)。規定領域Rsは、上述したように仮想レーザL0の中心線CLを中心とした3次元の領域である。規定領域Rsは、仮想レーザセンサ3Aから照射される仮想レーザL0全体であってもよいし、仮想レーザセンサ3Aの照射方向に沿った仮想レーザL0の一部の領域であってもよい。仮想レーザL0は、仮想レーザセンサ3Aから仮想移動体2Aの周囲に向けて仮想的に走査して照射される。
【0052】
規定領域Rsは、仮想レーザセンサ3Aからの距離が長くなるに従って、仮想レーザL0の中心線CLに垂直に切った面Mの面積が連続的に大きくなるように設定されている。具体的には、規定領域Rsは、仮想レーザセンサ3Aの任意点を頂点とした円錐形状を呈している。このため、規定領域Rsの断面形状(仮想レーザL0の中心線CLに垂直に切った面Mの断面形状)は、円形である。なお、規定領域Rsの断面形状は、特に円形状には限られず、多角形状であってもよい。つまり、規定領域Rsは、仮想レーザセンサ3Aの任意点を頂点とした角錐形状を呈していてもよい。
【0053】
続いて、演算処理ユニット24は、図9に示されるように、規定領域Rs内に存在する複数の反射点Pの位置座標を抽出する(手順S104)。ここでは、例えばゲームエンジンのレイキャストによるトレース機能を使用して、規定領域Rs内に含まれる複数の反射点Pが抽出される。この場合、LiDARのレイ照射方向ベクトルが仮想レーザL0の中心線CLに相当する。
【0054】
演算処理ユニット24は、有限の仮想レーザL0の照射距離(中心線CLの長さに相当)の全域で中心線CLに沿って連続的に規定領域Rs内に存在する複数の反射点Pの位置座標を抽出する。
【0055】
具体的には、図9(a)に示されるように、仮想レーザセンサ3Aから照射された仮想レーザL0が、物体7Pに対応する点群PGのみに当たり、仮想レーザセンサ3Aと物体7Pに対応する点群PGとの間に配置された物体7Q,7Rに対応する点群PGに当たらない場合は、物体7Pに対応する点群PGのうち規定領域Rs内に存在する複数の反射点Pのみが取得され、物体7Q,7Rに対応する点群PGの反射点Pは取得されない。なお、図9において、黒丸は、取得された反射点Pを表し、白丸は、取得されない反射点Pを表している。
【0056】
また、図9(b)に示されるように、仮想レーザセンサ3Aから照射された仮想レーザL0が、物体7Pに対応する点群PGと、仮想レーザセンサ3Aと物体7Pに対応する点群PGとの間に配置された物体7Sに対応する点群PGとに当たる場合は、物体7P,7Sに対応する点群PGのうち規定領域Rs内に存在する複数の反射点Pが取得される。このとき、物体7Pに対応する点群PGのうち物体7Sに対応する点群PGで遮蔽される反射点Pは取得されない。
【0057】
続いて、演算処理ユニット24は、規定領域Rs内に存在する複数の反射点Pの位置座標の平均値を算出し、各反射点Pの位置座標の平均値を対象点群位置Fの推定座標とする(手順S105)。
【0058】
具体的には、図9に示されるように、仮想レーザセンサ3Aの任意点の座標を(x,y,z)とし、規定領域Rs内に存在する複数の反射点Pの座標を(x,y,z)~(x,y,z)とし、各反射点Pの座標の平均値である対象点群位置の推定座標を(x^,y^,z^)とすると、対象点群位置Fの推定座標のX座標値は、下記式で表される。
【数1】
【0059】
なお、ここでは省略するが、対象点群位置Fの推定座標のY座標値及びZ座標値についても、同様に算出される。
【0060】
続いて、演算処理ユニット24は、対象点群位置Fの推定座標に基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を計算する(手順S106)。具体的には、仮想レーザセンサ3Aの任意点の座標を(x,y,z)とし、対象点群位置の推定座標を(x^,y^,z^)とすると、仮想レーザセンサ3Aから対象点群位置Fまでの距離Dは、下記式で表される。
【数2】
【0061】
続いて、演算処理ユニット24は、目的地までの仮想移動体2Aの仮想走行が完了したかどうかを判断する(手順S107)。演算処理ユニット24は、目的地までの仮想移動体2Aの仮想走行が完了していないと判断したときは、上記の手順S102~S106を再度実行する。
【0062】
演算処理ユニット24は、目的地までの仮想移動体2Aの仮想走行が完了したと判断したときは、仮想走行経路S0上における仮想レーザセンサ3Aから対象点群位置Fまでの距離に基づいて、仮想移動体2Aの自己位置の推定精度を判定することで、仮想移動体2Aの走行可否を判定する(手順S108)。
【0063】
仮想レーザセンサ3Aは、有限の測定距離を持つ実物のレーザセンサ3を模して造られている。このため、例えば、仮想移動体2Aの周囲に存在する物体7に対応する点群PGが少なく、仮想レーザセンサ3Aにより取得される対象点群位置Fの数が少ない環境では、仮想移動体2Aの自己位置の推定精度が不安定になりやすく、仮想移動体2Aが走行不能になる可能性がある。
【0064】
そして、演算処理ユニット24は、判定結果を表示器23に出力する(手順S109)。これにより、判定結果が表示器23に表示される。演算処理ユニット24は、例えば点群PGにおける仮想移動体2Aの自己位置の推定精度が不安定になりやすい箇所等を、仮想移動体2Aの走行可否と共に表示器23に表示させる。
【0065】
以上において、点群取得部25は、手順S101を実行する。反射点抽出部26は、手順S102~S104を実行する。距離演算部27は、手順S105,S106を実行する。判定部28は、手順S107,S108を実行する。出力部29は、手順S109を実行する。
【0066】
図10は、従来において自動運転のシミュレーションを実施する方法を示すフローチャートである。図10において、まず作業者が現地に出向いて、点群取得装置10を用いてレーザセンサ3により点群データを取得する(工程S111)。
【0067】
その後、作業者は、現地から戻ってきて、パソコン21の表示器23に点群データを表示させた状態で、表示器23の画面を見ながら手作業により3DのCGデータを配置して、ユーザ環境を再現した仮想空間モデルを作成する(工程S112)。
【0068】
そして、作業者は、レーザセンサモデルと仮想空間モデルとを用いて、自動運転のシミュレーションを実施する(工程S113)。シミュレーションの判定結果は、表示器23に表示される。
【0069】
そして、作業者は、表示器23の判定結果を見て、フィードバックを行う(工程S114)。例えば、仮想移動体2Aの自己位置の推定精度が不安定になりやすい場所が存在すると判定された場合には、現地における該当する場所に反射板等の特徴物を設置するといった対策を講ずることが可能となる。
【0070】
このように従来では、レーザセンサ3により点群データを取得した後、手作業により3DのCGデータを配置することにより、仮想空間モデルを作成している。従って、仮想空間モデルの作成にかかる工数が大きくなってしまう。
【0071】
そのような課題に対し、本実施形態では、所定の仮想走行経路S0に沿って仮想移動体2Aを仮想的に走行させながら、仮想レーザセンサ3Aから対象となる点群PGに向けて仮想レーザL0を照射することで、仮想レーザセンサ3Aから対象点群位置Fまでの距離が演算される。そして、仮想レーザセンサ3Aから対象点群位置Fまでの距離に基づいて、仮想移動体2Aの自己位置推定精度の判定が行われる。
【0072】
このように点群データをそのまま使用してレーザセンサモデルを演算し、自動運転のシミュレーションを実施することにより、図11に示されるように、手作業により行われる3DのCGデータを配置するという工程(図10におけるS112)が不要となる。
【0073】
しかし、図12に示されるように、LiDARのレイ照射方向ベクトルV上に存在する反射点Pの位置座標を取得して、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算する場合には、レイ照射方向ベクトルVが点群PGにおける反射点P間を通過すると、反射点Pの位置座標を正確に取得することができない。
【0074】
そこで、本実施形態では、まずシミュレーション対象の実環境に存在する物体7の点群PGを構成する複数の反射点Pの位置座標を含む点群データが取得される。そして、移動体2に対応する仮想移動体2Aを仮想的に走行させながら、レーザセンサ3に対応する仮想レーザセンサ3Aから対象となる点群PGに向けて3次元の規定領域Rsを有する仮想レーザL0を出射したときに、3次元の規定領域Rs内に存在する複数の反射点Pの位置座標が抽出される。そして、規定領域Rs内に存在する複数の反射点Pの位置座標に基づいて、仮想レーザセンサ3Aから対象となる点群PGの位置(対象点群位置F)までの距離が演算される。このようにシミュレーション対象の実環境の点群データをそのまま使用して自動運転のシミュレーションが行われるため、手作業により3DのCGデータを配置しなくて済む。これにより、仮想空間モデルの作成にかかる工数が削減される。
【0075】
また、例えば仮想レーザセンサ3Aから対象となる点群PGに向けて1次元(直線状)の仮想レーザL0が出射される場合には、1次元の仮想レーザL0が反射点P間を通過することがある。そこで、本実施形態では、仮想レーザセンサ3Aは、3次元の規定領域Rsを有する仮想レーザL0を出射する。そして、仮想レーザセンサ3Aから仮想レーザL0を出射したときに、3次元の規定領域Rs内に存在する複数の反射点Pの位置座標が抽出されて、仮想レーザセンサ3Aから対象点群位置Fまでの距離が演算される。このため、仮想レーザL0が何れかの反射点Pに当たらずに反射点P間を通過しても、規定領域Rs内に存在する他の反射点Pが抽出されることで、仮想レーザセンサ3Aから対象点群位置Fまでの距離の演算に使用される反射点Pが確保されることになる。従って、点群データをそのまま使用してシミュレーションを行う場合であっても、3DのCGデータが配置された仮想空間モデルを使用してシミュレーションを行う場合と同様に、複数の反射点Pの位置座標を抽出して、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算することが可能となる。
【0076】
また、本実施形態では、点群データをそのまま使用するので、自動運転のシミュレーションを迅速に行うことができる。その結果、移動体2を走行経路Sに沿って自律走行させる走行制御装置の導入の検討及び走行経路Sの変更の検討にかかるリードタイムを短縮することが可能となり、ユーザ環境への自動運転車両等の導入の促進につながる。
【0077】
また、ドローンやフォトグラメトリ等の技術進展によって、点群データの取得が容易になってきており、点群データから面情報を自動生成する手法も開発されているが、面の欠損や不必要な面の生成など品質面で課題がある。本実施形態では、点群データをそのまま使用してシミュレーションを実施するので、点群データから面情報を自動生成する必要が無い。
【0078】
また、本実施形態では、規定領域Rsは、仮想レーザセンサ3Aからの距離が長くなるに従って仮想レーザL0の中心線CLに垂直に切った面Mの面積が大きくなるように設定される。このため、点群PGが仮想レーザセンサ3Aから遠く離れても、規定領域Rs内に複数の反射点Pが存在するようになるため、仮想レーザセンサ3Aから対象点群位置Fまでの距離の演算に使用される反射点Pが十分に確保される。
【0079】
また、本実施形態では、規定領域Rs内に存在する複数の反射点Pの位置座標に基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算することにより、仮想移動体2Aの自己位置推定精度の判定を容易に行うことができる。
【0080】
また、本実施形態では、規定領域Rs内に存在する複数の反射点Pの位置座標の平均値を算出することにより、仮想レーザセンサ3Aから対象点群位置Fまでの距離を単純な計算式により求めることができる。
【0081】
なお、変形例として、対象点群位置Fの推定座標を算出する際に、規定領域Rs内に存在する複数の反射点Pの位置座標の平均値を用いる代わりに、仮想レーザセンサ3Aから照射される仮想レーザL0の中心線CLと規定領域Rs内に存在する複数の反射点Pの位置座標との最短距離をそれぞれ算出し、仮想レーザL0の中心線CLと各反射点Pの位置座標との最短距離に応じた重み付けを行って、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算してもよい。例えば、仮想レーザL0の中心線CLと反射点Pの位置座標との最短距離が短くなるほど、重み係数を大きく設定する。
【0082】
この場合、仮想レーザセンサ3Aの座標を(x,y,z)とし、規定領域Rs内に存在する複数の反射点Pの座標を(x,y,z)~(x,y,z)とし、規定領域Rs内に存在する複数の反射点Pの重み係数をw~wとし、対象点群位置Fの推定座標を(x^,y^,z^)とすると、対象点群位置Fの推定座標のX座標値は、下記式で表される。
【数3】
【0083】
なお、ここでは省略するが、対象点群位置Fの推定座標のY座標値及びZ座標値についても、同様にして算出される。
【0084】
このような変形例では、仮想レーザL0の中心線CLと規定領域Rs内に存在する複数の反射点Pの位置座標との最短距離に応じた重みが考慮されるため、仮想レーザセンサ3Aから対象点群位置Fまでの距離を高精度に求めることができる。
【0085】
図13は、本発明の他の実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図であり、図6に対応している。
【0086】
図13において、本実施形態のシミュレーションシステム20では、点群データメモリ12に記憶される点群データは、点群PGを構成する複数の反射点Pの位置座標だけでなく、複数の反射点Pの反射強度を更に含んでいる。反射点Pの反射強度は、レーザセンサ3から照射されたレーザLが物体7の表面で反射する際のレーザLの反射強度であり、レーザセンサ3により検出可能である。
【0087】
また、シミュレーションシステム20は、上述した実施形態における演算処理ユニット24に代えて、演算処理ユニット24Aを備えている。演算処理ユニット24Aは、上記の点群取得部25と、上記の反射点抽出部26と、距離演算部27Aと、上記の判定部28と、上記の出力部29とを有している。
【0088】
距離演算部27Aは、規定領域Rs内に存在する複数の反射点Pの位置座標及び反射強度に基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算する。複数の反射点Pの反射強度は、点群取得部25により取得された全ての反射点Pの反射強度の中から、反射点抽出部26により抽出された反射点Pの反射強度のみが選択される。
【0089】
図14は、演算処理ユニット24Aにより実行される演算処理の手順を示すフローチャートであり、図8に対応している。
【0090】
図14において、演算処理ユニット24Aは、上述した実施形態と同様に、上記の手順S101~104を実行した後、点群取得部25により取得された点群PGを構成する全ての反射点Pの反射強度の中から、規定領域Rs内に存在する複数の反射点Pの反射強度を選択する(手順105A)。
【0091】
続いて、演算処理ユニット24Aは、規定領域Rs内に存在する複数の反射点Pの位置座標及び反射強度に基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を計算する(手順S106A)。
【0092】
例えば、演算処理ユニット24Aは、上述したように仮想レーザL0の中心線CLと規定領域Rs内に存在する複数の反射点Pの位置座標との最短距離に応じた重み付けを行うと共に、規定領域Rs内に存在する複数の反射点Pの反射強度に応じた重み付けを行うことで、仮想レーザセンサ3Aから対象点群位置Fまでの距離を計算する。
【0093】
このとき、演算処理ユニット24Aは、上述したように、仮想レーザL0の中心線CLと反射点Pの位置座標との最短距離が短くなるほど重み係数を大きく設定する。また、演算処理ユニット24Aは、反射強度が高くなるほど重み係数を大きく設定する。
【0094】
続いて、演算処理ユニット24Aは、上述した実施形態と同様に上記の手順S107~S109を実行する。
【0095】
以上において、距離演算部27Aは、手順S105A,S106Aを実行する。他の機能は、上述した実施形態と同様である。
【0096】
このように本実施形態においては、規定領域Rs内に存在する複数の反射点Pの位置座標だけでなく、各反射点Pの反射強度も考慮されるため、仮想レーザセンサ3Aから対象点群位置Fまでの距離を更に高精度に求めることができる。
【0097】
なお、本実施形態では、仮想レーザL0の中心線CLと規定領域Rs内に存在する複数の反射点Pの位置座標との最短距離に応じた重み係数と、規定領域Rs内に存在する複数の反射点Pの反射強度に応じた重み係数とを設定して、仮想レーザセンサ3Aから対象点群位置Fまでの距離が計算されているが、特にそのような形態には限られない。例えば、上述した実施形態と同様に、規定領域Rs内に存在する複数の反射点Pの位置座標の平均値を対象点群位置Fの推定座標として算出し、対象点群位置Fの推定座標と規定領域Rs内に存在する複数の反射点Pの反射強度に応じた重み係数とに基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算してもよい。
【0098】
また、レーザセンサ3によりレーザLの色(RGB等)が検出される場合、点群データメモリ12に記憶される点群データには、複数の反射点Pで反射されたレーザLの反射強度に加え、複数の反射点Pで反射されたレーザLの色情報が含まれていてもよい。この場合には、規定領域Rs内に存在する複数の反射点Pの位置座標、反射強度及び色情報に基づいて、仮想レーザセンサ3Aから対象点群位置Fまでの距離を演算してもよい。
【0099】
図15は、本発明の更に他の実施形態に係るシミュレーションシステムの構成を概略的に示すブロック図であり、図6に対応している。
【0100】
図15において、本実施形態のシミュレーションシステム20は、上述した実施形態における演算処理ユニット24に代えて、演算処理ユニット24Bを備えている。演算処理ユニット24Bは、上記の点群取得部25と、上記の反射点抽出部26と、照合部30と、判定部28Bと、上記の出力部29とを有している。
【0101】
照合部30は、点群取得部25により取得された点群データと反射点抽出部26により抽出された複数の反射点Pの位置座標とを照合する。具体的には、照合部30は、点群取得部25により取得された点群PGを構成する全ての反射点Pの位置座標と反射点抽出部26により抽出された複数の反射点Pの位置座標とを比較することで、対象となる点群PGの3次元形状を抽出して、仮想レーザセンサ3Aに対する対象となる点群PGの位置及び姿勢を求める。なお、反射点抽出部26により抽出された反射点Pの位置座標は、仮想レーザセンサ3Aの所定位置を原点としたときの反射点Pの位置座標である。
【0102】
判定部28Bは、照合部30による照合結果に基づいて、仮想移動体2Aの自己位置推定精度の判定を行うことで、仮想移動体2Aの走行可否の判定を行う。具体的には、判定部28Bは、照合部30により求められた対象となる点群PGの相対的な位置及び姿勢を仮想移動体2Aの自己位置推定値とし、その仮想移動体2Aの自己位置推定値を所定の仮想走行経路S0と比較することで、仮想移動体2Aの自己位置推定精度の判定を行う。
【0103】
このような本実施形態では、点群取得部25により取得された反射点Pの位置座標と反射点抽出部26により抽出された反射点Pの位置座標とを照合することにより、上記の実施形態と同様に、仮想移動体2Aの自己位置推定精度の判定を容易に行うことができる。
【0104】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、規定領域Rsは、仮想レーザセンサ3Aからの距離が長くなるに従って仮想レーザL0の中心線CLに垂直に切った面Mの面積が連続的に大きくなるように設定されているが、特にそのような形態には限られない。規定領域Rsは、仮想レーザセンサ3Aからの距離が長くなるに従って仮想レーザL0の中心線CLに垂直に切った面Mの面積が段階的に大きくなるように設定されていてもよい。つまり、規定領域Rsは、仮想レーザセンサ3Aからの距離が長くなるに従って体積が段階的に大きくなる円柱形状または角柱形状を有していてもよい。
【0105】
また、規定領域Rsは、仮想レーザセンサ3Aからの距離に関わらず、仮想レーザL0の中心線CLに垂直に切った面Mの面積が一定になるように設定されていてもよい。つまり、規定領域Rsは、体積が一定である円柱形状または角柱形状を呈していてもよい。
【0106】
また、上記実施形態では、反射点抽出部26は、点群取得部25により取得された点群データに基づいて決定された所定の仮想走行経路S0に沿って仮想移動体2Aを仮想的に走行させているが、仮想走行経路S0を決める方法としては、特に点群取得部25により取得された点群データを用いることには限られない。例えば、反射点抽出部26は、予め入手された点群データから仮想走行経路S0を決定してもよいし、或いは点群データを用いずに仮想走行経路S0を決定してもよい。
【0107】
また、上記実施形態では、移動体2に搭載された点群取得装置10を用いて、手動運転により移動体2を走行させながら、移動体2の周囲に存在する物体7の点群データを取得しているが、特にそのような形態には限られない。例えば、台車にレーザセンサ3及び点群取得用コントローラ11を載せた状態で、作業者が台車を押して移動させながら、台車の周囲に存在する物体7の点群データを取得してもよい。また、ユーザ以外の人が計測して取得されたシミュレーション対象の実環境に存在する物体の点群データがある場合には、その点群データをユーザが入手してもよい。
【0108】
また、上記実施形態では、レーザセンサ3により移動体2の周囲にレーザLを照射し、レーザLの反射光を受光することにより、移動体2の周囲に存在する物体7までの距離が検出されているが、移動体の走行に使用されるセンサとしては、特にレーザセンサ3には限られず、超音波センサやカメラ等を使用してもよい。超音波センサを使用する場合は、超音波が測距用信号として移動体2の周囲に向けて出射される。例えばカメラとしてToFカメラを使用する場合は、赤外光が測距用信号として移動体2の周囲に向けて出射される。
【0109】
また、上記実施形態のシミュレーションシステム20は、レーザセンサ3を用いて移動体2の自己位置を推定して移動体2を自動走行させる自動運転のシミュレーションを行うシステムであるが、本発明は、移動体2の走行に使用されるセンサのシミュレーションであれば、自己位置推定以外でも適用可能である。
【0110】
本発明は、例えば仮想移動体2Aの周囲に存在する障害物の検知を行うシミュレーションにも適用可能である。例えば、図15に示されるシミュレーションシステム20において、演算処理ユニット24Bの判定部28Bは、照合部30により求められた対象となる点群PGの相対的な位置及び姿勢から仮想移動体2Aと障害物との距離を推定し、所定の仮想走行経路S0と障害物の距離とを比較することで、障害物検知精度の判定を行う。なお、点群取得部25により取得された点群PGは、障害物の点群である。この場合には、点群取得部25により取得された反射点Pの位置座標と反射点抽出部26により抽出された反射点Pの位置座標とを照合することにより、仮想移動体2Aの周囲に存在する障害物の検知精度の判定を容易に行うことができる。
【0111】
また、本発明は、自動運転のシミュレーションに限られず、手動運転のシミュレーションにも適用可能である。
【符号の説明】
【0112】
2…移動体、2A…仮想移動体、3…レーザセンサ(センサ)、3A…仮想レーザセンサ(仮想センサ)、7…物体、12…点群データメモリ(点群データ取得部)、20…シミュレーションシステム、25…点群取得部(点群データ取得部)、26…反射点抽出部、27,27A…距離演算部、30…照合部、F…対象点群位置、L…レーザ、L0…仮想レーザ(仮想信号)、CL…中心線、M…面、P…反射点、PG…点群、Rs…規定領域。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15