知っ得ハンズオン はじめての迷路脱出 ~AWS RoboMakerと強化学習~に参加してきました #AWSLoft

こんにちはCX事業本部のさかじです。 2019/10/8にAWS LOFT TOKYOで行われた"知っ得ハンズオン はじめての迷路脱出 ~AWS RoboMakerと強化学習~"のレポートになります。

Amazon EC2 やAmazon RDS、Amazon Elastic Load Balancing、Amazon S3などの AWS 主要サービス、以外のホットなサービスを中心に、ハンズオンをお届けするシリーズです。今まで【はじめての Serverless 】・【はじめての AI サービス 】【はじめての xR サービス】【はじめてのレコメンド】をお送りしてきましたが、 今回は【はじめての迷路脱出です】

このハンズオンでは強化学習を活用したロボットアプリケーションを作成します。ロボットは疑似環境の中で迷路を脱出するための走行ルールを強化学習を用いて学習します。ロボットアプリケーションの開発には Robot Operating System(ROS)の開発環境を提供するAWS RoboMakerを用います。内容を通して強化学習とAWS RoboMaker の概要を理解することができます。ROSや強化学習の知識をお持ちでなくてもトライすることができる内容になっています。

DeepRacerも同様の仕組みで自動運転を行うモデルを作成しましたが、このハンズオンでは異なる視点でさらに強化学習を学ぶことができますので、是非お越しください。

ハンズオン準備

  • 本日行うハンズオンの資料とソーソコード類をダウンロード
  • AWS RoboMakerの初期設定が20分程度かかるため事前に実施

座学セッション

ロボティクスを取り巻くトレンド

  • 現在は変革期
  • 機械学習のテクノロジーをロボットへ適用するのが発展してきている

  • 2023年までに倉庫のものを運ぶのを自立走行ロボットになるのでは

  • そのほかに農業など色々使える
  • 自立ロボットを使うためには幅広い知識が必要
    • ロボティクス
    • 機械学習
  • 開発環境をどれだけ簡単に立ち上げられるか?
  • シミュレーション環境をどう用意するか?
  • ロボットへどうやってインストールする?
  • 様々な問題がある

  • 上記をクリアするためのサービス RoboMaker

  • 開発者向け

ロボティクスソフトウェア開発の一般的な流れ

  1. ロボティクスソフトウェアフレームワークの選択
  2. ロボティクスアプリケーションの開発
  3. アプリケーションのテストとシミュレーション
  4. アプリケーションのデプロイと管理

ROSとは

  • Robot Operating System
  • AWSはこれに注目している
  • ROS2 TSCへ投資

RoboMakereサービススイート

  • ROSのクラウド拡張
    • LEX
    • POLLY
    • KENESIS VIDEO STREAMS
    • REKOGNITION
    • CLOUDWATCH これらを使って、シミュレート、音声認識による口頭のコマンド認識など実現する
  • 開発環境
    • セットアップ工数を省いてアプリケーションの開発ができる
    • 数クリックでRoboMakere開発環境ができる
    • プリインストールされたRoboMakereクラウド拡張、サンプルロボディクスアプリケーションを含む
    • OS, 開発ソフト, ROSを自動的にダウンロード、コンパイル、設定を実施
  • シミュレーション
    • プレビルドですぐに使える仮想3DワールドとBring Your Ownの選択肢
    • 複数のシミュレーションを並列実行可能
    • シミュレーションの複雑性に応じてオートスケール
    • リソース使った分だけ請求
    • 自身が作成した仮想3Dワールドをインポートできる
  • フリート管理
    • AWS Greengrassと統合
    • ロボットレジストリ、セキュリティ、フォールトトレランとがビルドイン済み
    • AWS管理管理コンソールから数クリックでOTAデプロイ

今回のハンズオンターゲット

  • 開発環境を使ってみる
  • シミュレーション環境を使ってみる
  • 事前に用意されている迷路脱出
  • DeepRacerとの違い
    • RoboMakar経験バッファをSageMakerへ送りモデル学習をSageMakerで行う
    • RoboMakereのモデル学習はRoboMakere内で行う

ハンズオン

  • 配布された資料を使って各自黙々と進めるスタイルで行われました。
  • 事前準備された迷路を使って学習させます

  • ビルド、バインドの方法
  • シミュレーション画面の使い方
  • LiDARのが捉える障害物の表示画面の使い方
  • ソース構成の説明
  • 追加課題1 迷路を変える
  • 追加課題2 アクションペース(速度)を変えてコマンドでビルド、バインド実施

AWS RoboMakerを搭載した実機

参考サイト

https://robomaker.splashthat.com

最後に

はじめてAWS RoboMakerを使ってみました。シミュレーション動画をみることで、走る距離が伸びたりして、よちよち歩きの子供を見ているようでした。 強化学習についてはまだまだわかっていないですし、ロジックで組んだ方が早そうだなとか思っていましたが、迷路探索が最適解ではないかもしれないですが、題材としては楽しいものだと思いました。
簡単な操作で自分3Dワールドが作れ、シミュレーションできることは、非常に魅力的なツールだと思います。今回のハンズオンではちょっと使ってみただけでしたので良いモデルを作り、将来は実機を走らしてみたいですね。