自動運転において自己位置推定は重要な技術です。しかし、自己位置推定とはその名の通り「自己 (自動運転車両) の位置を知る」技術でしかありませんので、なぜ自動運転に重要かが想像しにくい部分があると思います。本セミナーではまず「なぜ自己位置推定が必要なのか」という基本的なことから説明します。また、自己位置推定がないと自動運転の実装がどうして難しくなるのかといった説明を行います。そして、現在使われている自己位置推定法に関して、その概略・概要をまとめて説明します。
自己位置推定をどの様に行うか、つまり定式化に関する説明を行います。これにより、自己位置推定問題が数学的にどの様な問題として帰着するかを理解して頂きます。そして、この問題を解く具体的な実装方法 (観測モデルのモデル化など) を説明します。 実装方法を理解した後には、「自己位置推定がなぜ難しいのか」という根本的な原因を説明します。この原因は「観測の独立性の仮定」に起因しますが、これを理解していただければ、自己位置推定技術とは単に「位置を知る」という問題を解くのではなく、より抽象的なモデル化の議論として理解することができる様になり、問題の本質が見えてくる様になります。
上述の「なぜ難しいか」を理解していただいた後に、その問題解決を行うことを目的とした講演者の最新研究について紹介します。講演者はこれらの試みを「自己位置推定の高度化」と呼んでいます。これは単に、自己位置推定の精度や頑健性を上げることを目的とせず、「自己位置推定のできないことをできるようにする」ということをモチベーションとしているためです。またこれを実現するにあたり、自己位置推定以外の問題も解きます。そしてその結果自己位置推定の性能が向上するため、自己位置推定の高度化と呼んでいます。 これらを正しく理解するためには数学的知識が必須となりますが、講演では直感的な理解を優先して説明します。なお、これらの説明に関しては、2022年6月発売予定の「LiDARを用いた高度自己位置推定システム~移動ロボットのための自己位置推定の高性能化とその実装例~ (コロナ社) 」に詳細が記載されています。 また、サンプルプログラムは以下にて公開しています。
本セミナーではまず自己位置推定に関する基礎的なこと、および自己位置推定問題の定式化について説明します。その後、自己位置推定を実施するにあたり最も重要な役割を担う「観測モデル」について説明します。そして、この観測モデルを構築する際に用いる「観測の独立性」について解説します。観測の独立性を理解することで、自己位置推定の限界を理解することができます。その後、パーティクルフィルタを用いた自己位置推定であるモンテカルロ自己位置推定 (MCL) の説明を行います。ここまでは一般的な話となります。なお、4で説明するMCLの実装例に関しては、ROSのパッケージとして以下で公開しています。
その後、講演者の最近の研究を基にした「自己位置推定の高度化」という内容に関する説明を行います。5では、MCLと機械学習を用いたEnd – to – End自己位置推定の融合を行うことにより、自己位置推定の失敗からの高速な復帰方法の実現について説明します。6では、動的環境下で頑健に自己位置推定を行うための高度化方法に関して説明します。7では、自己位置推定結果の信頼度を推定する方法に関して説明します。なお、5から7の説明の順序は、わかりやすさを優先した順序となっています。