M2の湯浅です。ホームページをご覧いただきありがとうございます。現在取り組んでいる研究について、軽く紹介したいと思います。
システム構成図は、以下のような感じです。
ロボットが走行環境に対して、適した行動モデルに切り替えて走行するシステムです。そのために事前に(例えば、屋内環境、都市環境、公園環境などの)複数のそれぞれの環境においてロボットが走行できるように強化学習を行い、それぞれの行動モデルを作成しておきます。
そして、別に作成しておいた環境分類モデルにて走行環境を識別して、識別した環境の行動モデルに切り替えて走行するシステムを作成しました。
まず、行動モデルについて説明します。行動モデルとは、強化学習を行うことで作成され、それを読み込むことでロボットが走行可能になる知能のことです。 強化学習を行うために、学習条件の入力データ・出力データを決めます。
入力データは、情報みたいなものです。今回は、ロボットから目的地までの相対的な距離・角度、2D-LiDARにより得られるロボット周囲の距離情報20個を入力データとしています。イメージとしては、ロボットから目的地までの相対的な距離・角度を入力データとすることで、ロボットが目的地の場所を把握することができます。また、2D-LiDARにより得られるロボット周囲の距離情報を入力とすることで、ロボットが周囲の壁や障害物を把握することができます。
出力データは、行動です。今回は、ロボットの速度・角速度です。先程、設定した入力データの情報を元に、ロボットの速度・角速度を学習します。まず、ロボットから目的地までの相対的な距離・角度を入力データとしたため、ロボットが目的地に向かうような速度・角速度を学習することができます。また、2D-LiDARにより得られるロボット周囲の距離情報を入力としたため、壁や障害物を避ける学習をすることができます。これらにより、ロボットが壁や障害物にぶつからずに目的地に到達できるような速度・角速度を学習しています。
そして、シミュレータ環境で作成した屋内、都市、公園のそれぞれの環境において、以上で説明した強化学習を行い、それぞれの環境でロボットが障害物にぶつからずに目的地に到達できるように行動モデルを作成しました。
次に、環境分類モデルについて説明します。環境分類モデルは、ロボットが走行中に環境を識別するための知能です。今回は、ロボットが走行中に屋内か都市か公園かを識別できる環境分類モデルを作成しました。シミュレータ環境で作成した屋内、都市、公園のそれぞれの環境において、ロボット視点の画像を2000枚ずつ取得してきて、それを元にCNN(Convolutional Neural Network)を用いて、作成しました。分類結果としては、98.6%で分類が成功しています。
実際にロボットが走行する際には、走行中のロボット視点の画像を取得してきて、先程作成した環境分類モデルに読み込み、環境を識別して、リアルタイムで識別した環境の行動モデルに切り替えるようにしました。そのシステムで走行した結果が以下になります。環境に応じて行動モデルを切り替えて走行したことで、多環境が混ざった環境での目的地到達率は上がった気がします。まだまだ多くの課題があるため、それに取り組んでいこうと思います。
ありがとうございました!!!