今回ダウンロードしたのは「Turtlebot3 Burger」というロボットのトレーニング用アプリケーションです。AWS RoboMakerには数多くのサンプルアプリケーションが用意されていますが、Turtlebot3 Burgerはその中でもロボットのトレーニング用に開発されたものとなっています。
アプリケーションはAWS RoboMakerのクラウドシミュレーター上で動作します。シミュレーション環境は壁で囲われた迷路のような部屋です。Turtlebot3 Burgerはここに配置されて、壁にぶつからずにゴールまでたどり着く方法を学習することになります。このロボットには自身の周囲360度にある障害物との距離を捉えて距離を測定できる「LiDAR(Light Detection and Ranging)センサー」が設定上、搭載されています。
ロボットを自律走行させる方法はさまざまです。ROSには何度も改善が図られているナビゲーションスタックという自律走行用のパッケージ群もあります。しかし、今回これは使わずに、機械学習の学習モデルだけを使って自律走行を試みます。LiDARの情報を入力値として、機械学習のモデルにロボットをどの方向に進めるかを判断させるのです。
なお前述の通り、機械学習の手法としては「強化学習」という手法を用います。強化学習は、エージェントに「報酬」を与えることで学習させるという方法です。エージェントが仮想環境に対して特定の「アクション」を行うと、その行動の評価に応じて一定の「報酬」が算出されます。エージェントはアクションの試行錯誤を通じて、より多く報酬を受け取ることができる「アクション」を「より正しいアクション」だと学習していきます。なお、今回使うサンプルアプリケーションにおいては、エージェントはロボット、アクションはロボットハンドルとアクセルの操作、仮想環境は迷路の世界をそれぞれ指すことになります。
それでは、実際にアプリケーションを試してみましょう。開発環境のメニューか[Run]→[Launch Simulation]→[MeiroRunner Training]を選択すると、シミュレーションが開始されます。
しばらくすると開発環境のメニューから[Simulation]→[View Simulation Job Details]が選択可能になります。これを選び、開始したシミュレーション(シミュレーションジョブ)の詳細画面を開き、「ステータス」の表示が「実行中」に変わるのを待ちます。
「実行中」状態になると、各ツールを開くためのアイコンが表示されます。ここでは[Gazebo]から[Connect]をクリックしましょう。Gazaboはシミュレーターの名前で、先ほど構築したアプリケーションはこの中で実行されます。
Copyright © ITmedia, Inc. All Rights Reserved.