Auto

完全自動運転の実現

今日、自動運転車が公道を走行するなど自動運転の実用化に向けた発展は急速に進んでいる。日本でも高速道路などの限定的な状況下では、自動運転を利用できる車種も登場している。しかし、完全な自動運転への実用化には至っておらず、安全性の問題やイレギュラーな状況への対応など様々な問題が山積みになっている。そこで私たちは、自己位置推定やセンシング、物体検知に加えミドルウェアのROS2といった技術に着目することで完全自動運転に向けた研究を行っている。

自動運転技術の"目"の役割となる重要な分野である。環境を認識するために多くのセンサが利用されており、LiDAR、カメラ、IMU,レーダー等を用いてセンシングが行われている。各センサにはそれぞれ利点と欠点が存在し、ロバスト(環境に対して頑強)な自動運転を実現するためには、各種センサのデータ処理アルゴリズムの改良や、複数のセンサを利用し相互に欠点を補い合うことが必要である。

LiDAR

「Light Detection and Ranging」の略。カメラと違い、レーザーを用いて物体との距離を測定することで、周辺環境を3次元に捉えることができる。また、レーダーと比較すると波長が短く、小さな物体も検知することができる。欠点としては、悪天候時に検知能力が低下することや、データ処理負荷が大きい傾向にあることが挙げられる。

LiDARを用いた物体検出

LiDARは高精度に物体の形状を見ることができるが、カメラと異なり色上h上を取得できないため、物体形状から深層学習を用いて分類を行う。しかし点群は1フレームで何万点と情報量が膨大であるため、処理手法や学習アルゴリズムが重要である。一例として、代表的な手法である"pointpillars"では、点群を縦柱(pillar)に見立てて特徴量を抽出し、擬似的な2D画像を生成して深層学習を用いて物体分類を行うことで、軽量かつ高精度に物体検出を行っている。

自己位置推定は、センシングした情報をもとに自分のいる場所を推定する技術である。位置推定の正確さは、安全性や車両制御、物体検知など多くのタスクに影響を与える重要な要素であり、高速で移動する自動運転車はその精度も高く求められている。LiDARベースの車両では自己位置推定にGNSS、IMUに加えて、LiDARを利用したスキャンマッチングという手法が用いられている。

スキャンマッチング

スキャンマッチングは事前に作成された地図とLiDARのようなレーザー式のセンサから得た点群を比較することで自己位置推定を行う技術である。自動運転に利用される3次元LiDARのスキャンマッチングは精度が良いといった利点がある一方で、特徴が無いような環境では精度が低下する、点群数が多いため計算コストが高い等の問題点がある。

雨や降雪などの悪天候化では自動運転に必要不可欠なセンサであるLiDARにノイズが生じる。これにより物体検出や自己位置推定といった自動運転システムの下流タスクの精度が低下する問題がある。当研究室では悪天候で生じるノイズの除去について研究を行っている。

降雪によって生じるノイズの特徴

降雪下で収集されたLiDARデータセットを利用して降雪ノイズを分析した。その結果、降雪ノイズには以下の3つの特徴があることがわかった。

これらの特徴を利用することで、既存手法よりも高精度かつ高速な除去が実現できた。

物体検出への有用性

降雪ノイズの除去前後のデータに対して車両の検出を行った。その結果、除去前では降雪ノイズに埋もれて検出できていない車両があるが、本手法を適用して除去することで適切に検出できていることがわかる。

ROS(Robot Operating System)は開発者のロボット・アプリケーション作成を支援するライブラリとツールを提供している。具体的にはハードウェア抽象化、デバイスドライバ、ライブラリ、視覚化ツール、メッセージ通信、パッケージ管理などである。

ROS2とは、ROSで保証されていないリアルタイム性の確保や組み込みシステムへの適用、QoS(Quality of Service)の補償といった問題を解決するために、開発された新たなロボットソフトウェアである。ExecutorはROS2の中でコールバックのスケジューリングを行ったり、リアルタイム性をサポートしている部分である。

時間的に変わる処理負荷への対応

センサの入力データは周辺の環境などによって変化し、センサデータを処理するノードの実行時間をヒストグラムで表現すると多峰分布となる。しかし、ROS2は既定のスケジューリングアルゴリズムに従って動作するため、データが一定量を超えると各ノードの処理負荷が増加しタイムアウトなどの問題が発生する可能性がある。そこで、異なるセンサに対してそれぞれ閾値を提案し、走行中に周囲の状況によって最適なスケジューリングアルゴリズムを動的に切り替えることで、変化する処理負荷に対応できる手法を研究している。