皆さんこんにちは、ティアフォーでSimulationチームに所属している織田です。
先日、「Unity for Industry」と言うウェビナーで、人生初の大勢の前(?)で話す実績を解除しました。
今回のTech Blogでは、その際にお話した事と紹介しきれなかった部分を書こうかと思います。
Unityだから出来た自動運転車両の設計を加速させた話
Unity for Industryではこのタイトルでお話をしました。
お話をかいつまみますと
- 自動運転で使用するセンサの構成の検証が大変。
- 検証が可能な場所の用意や、取れるデータを推測しながら構成しなければならなかった。
- 上記の点を調整して、目的のデータが取れなければ再度構成の見直しを行う。
- Unity/LGSVL-Simulatorを使用すれば、場所もデータ取りもシミュレーション可能になる。
- 作ってみた。Unityだったので割と早めに実現できた。
- センサ構成を検討する際に、このシミュレータを使用する事で事前に構成の検証が出来る様になった。
- 良かったね。
上の様なお話をいたしました。
ウェビナーで紹介しきれなかった部分
下記の様な環境をシミュレーターで検証しました。
10m/30m/50m/100m先に人が立っていている場合、LiDARはどの様に人が立っているのを検知出来るか?
100m先まで人がいる状態
この時の50m地点の人のLiDARの当たり具合
同様に、この時の30m地点の人々
やはり100m先を見通せる広くて平らな環境と言うのは現実環境ではすぐに用意できないのでこの環境の様な検証はシミュレーターが向いていますね。
30m先の人々と50m先の人々を比較してみると、50m先の人々の方がLiDARのスキャンの間隔が開いてしまい、検知可能な点が少なくなってしまう事が判別できます。
10%の勾配で30〜35m先の坂の上に立っている人はLiDARでどの様に検知されるか?
30〜34m付近にいる人々
こちらのケースも、実世界では10%勾配に見事にマッチする環境を探すのは難しいですが、シミュレーターでは勾配を変更した場合のケースも値を変更することですぐに用意できます。
30〜34m先の人々には勾配の先にいると言う事もあってか、先の平地での30m先の人に比べると全くと言って良い程LiDARのスキャンが届かない様に見えます。
LiDARを車両のどの位置に、どの様な角度で設置するとどの範囲を測定できるのか?
ここでは、追加で作成したLiDARが測位する範囲を可視化させた物を設定する事で測定範囲を可視化しています。緑、黄、青の範囲の外側だと、車両が停止している場合に計測できない領域となる箇所が一目瞭然ですね。
課題
ゲームエンジン/センサシミュレーションでもまだ解決出来ない問題はあるのです。
悪天候
雨/霧等、ゲームエンジンでは画面上のビジュアルに向けた実装は多いですが、センサで取れるデータと言うものに関しての考慮はやはりされていないので、どの様に実装するのかは現状の課題になっています。
とは言え、何も手が無い訳ではなくて例えばUber Advanced Technology GroupがLiDARsimと言う形で、現実的なセンサのデータに近付けるといった研究をされていたりします*1。
こちらを応用したりすれば、解決していける課題になっていくのではないかと今は考えてます。
データを効率良く捌く
センサシミュレーションで取るデータは現状
- LiDARによる点群計測
が主なのですが、計測する為の点群のデータ量はかなり膨大で、且つ高頻度で効率良く処理する方法も課題となっています。
まとめ
現実では用意が難しい環境でもシミュレータによって検証出来るようになり、事前にどの様なデータが取れそうか?等が容易に検証できる様になりました。
この辺はゲームエンジンの面目躍如です。
又、新たなセンサの構成を検証する際にもリアルタイム且つ柔軟にセンサの確認が出来るのもゲームエンジンだから可能になったと言えるでしょう。
ティアフォーでは、自動運転の安心・安全を確保し「自動運転の民主化」をともに実現してくため、様々なエンジニア・リサーチャーを募集しています。もしご興味があればカジュアル面談も可能ですので以下のページからコンタクトいただければと思います。
又、2020年1月29日(金)の夕方にはTech Meetupを開催する予定ですので、もしお時間が合う方はご参加下さい。