[レポート] ROB302: ロボットアプリケーションをAWSで容易に構築&デプロイする #reinvent

re:Invent 2018ので発表になったAWS RoboMakerについてのチョークトークセッションROB302: "Build and Deploy Robot Applications Easily with AWS"についてのレポートです。
2018.11.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

re:Invent 2018で発表になったAWS RoboMakerについてのセッションROB302: "Build and Deploy Robot Applications Easily with AWS"についてのレポートです。

公式ページのセッション概要を引用します。

We’ll use an object detection robot as an example to show how AWS RoboMaker can help you build the robot of your dreams. We’ll do a deep dive into the architecture of our robot application. You’ll learn how it uses various AWS services to detect and react to objects. Along the way, we’ll show you how AWS RoboMaker makes it easy to develop and test such applications. Finally, we’ll dive into how AWS RoboMaker deploys your application to a fleet of robots.

本セッションはチョークトークで、登壇者を取り囲むように座席が配置され、プレゼンの後には参加者との質疑が行われました。通常のセッションとは違い、登壇者と参加者がとても近いです。

プレゼン

ロボットアプリケーションのライフサイクル

プラットフォームの選択、開発、シミュレーションとテスト、デプロイ、さらに開発の繰り返し。この開発プロセスをAWSがサポートします。

探索ロボットの構成要素

通常の意味のOSの上に、ROS (Robot OS)のレイヤがある。その上に、画像取り込み、認識、音声認識、ナビゲーション、そしてモニタリングやログ、ファームアップデートなどの必要な機能要素が配置される。

ROSのコンセプト

  • ROSは、ロボットソフトウェアのフレームワーク
  • ノードがさまざまな処理を行う
    • ノード間をトピックやメッセージにより、publish/subscribeモデルで通信する
    • サービスは、リクエスト/リプライによって通信する。

AWSのサービスによる探索ロボット

  • Amazon Rekognitionによる画像認識
  • Amazon Lexによる音声認識
  • Amazon Pollyによる音声生成
  • Amazon Kinesis Video Streamによる動画ストリーム
  • Amazon CloudWatchによるログとモニタリング

シミュレーション

実際のロボットを使っての開発はいろいろな意味で高くつく。

シミュレーションを利用することにより、

  • 開発とテストを迅速化できる
  • 実世界では実現が難しいシナリオが可能
  • 回帰テストはシミュレーションであれば容易
  • 強化学習に使うことができる

Gazebo

  • ROSとともに広く使われているシミュレーションツール
  • Open Dynamic Engine (物理シミュレーション)
  • OGRE (グラフィックスレンダリングエンジン)

サンプルアプリの画面例

ロボット開発の面倒な点

  • ツールのインストールとセットアップ
  • モデリングの依存性、繰り返し
  • 大規模シミュレーションのインフラ、回帰テスト
  • 実物ロボットへのデプロイ、モニタリング

これらの点にAWS RoboMakerはフォーカスしている。

AWS RoboMakerのアーキテクチャ

AWS RoboMaker Simulationのアーキテクチャ

  • ツール:Gazebo、rqt、rviz、Terminal
  • Simulation Instance:VPCの内部に作成される
  • Cloud Extension for ROS
  • Application's S3 バケット
    • シミュレーションアプリ, ロボットアプリ
  • Logs S3 バケット
    • ロボットログ、シミュレーションログ

Fleet Management

  • AWS Greengrassによるデプロイ
  • lambdaでバージョンを判定
  • S3からデバイスにダウンロード

Q&A

  • realworld usecases:Showcaseにて展示があるよ。
  • offline mode:現在はなし
  • rekognition latency:数秒

おわりに

re:Inventにて発表されたばかりなのにもかかわらず、熱心に質問が飛んでいました。 クラウドとロボットをインテグレートするソリューションが公式に提供されたのは効果が大きいのではないかと感じました。まだ実例がほとんど無い状態のようですが、これからの展開が楽しみですね。