Help us understand the problem. What is going on with this article?

AWS RoboMaker を試してみる

More than 1 year has passed since last update.

この記事は株式会社ナレッジコミュニケーションが運営するAmazon AI by ナレコム Advent Calendar 2018の15日目の記事になります。

AWS RoboMakerとは

2018年11月25日〜11月30日にかけて、AWSのカンファレンスイベントである、AWS re:Inventがラスベガスで開催されました。その中の1つの目玉として発表されたのがAWS Robomakerです。

AWS Robomakerの説明を公式サイトから引用すると、

AWS RoboMaker is a service that makes it easy to develop, test, and deploy intelligent robotics applications at scale. RoboMaker extends the most widely used open-source robotics software framework, Robot Operating System (ROS), with connectivity to cloud services. This includes AWS machine learning services, monitoring services, and analytics services that enable a robot to stream data, navigate, communicate, comprehend, and learn. RoboMaker provides a robotics development environment for application development, a robotics simulation service to accelerate application testing, and a robotics fleet management service for remote application deployment, update, and management.

となっています。

AWS RoboMakerを使うことで、インテリジェントなロボットアプリケーションの開発、テスト、デプロイと管理をクラウド上の開発環境で行えるとの事です。世界で広く使用されているオープンソースのロボット用のソフトウェアプラットフォームであるRobot Operating System(ROS)をAWSの各クラウドサービスへ接続することにより、より大規模かつ簡単に開発が行えるようになります。
また、クラウドサービスにはAmazon LexやPollyなどといった、AWSの提供する機械学習サービス、モニタリングサービス、分析サービスが含まれているため、これらを用いることでロボットの監視・移動・意思疎通・学習などを可能にします。

試してみる

公式ドキュメントまたは、こちらを参考にしながら進めていきます。

サービスを開く
11.png
東京リージョンは近日対応予定との事で、今回はバージニア北部で試しています。12/15時点ではバージニア北部の他にオレゴンとアイルランドリージョンが対応しています。
22.png
サービスを開くと、このような画面が現れます。画面左下にあるSample applicationsを開きます。
33.png
44.png
4つのサンプルアプリケーションが表示されます。
Hello World
- 空のシミュレーション環境にあるロボットを含む基本プロジェクトテンプレート。
Robbot Monitoring
- Amazon CloudWatchとAmazon CloudWatchを利用して、シミュレートされた書店内のロボットの監視を行う。
Navigation and person recognition
- KinesisやPollyを利用した、ロボットナビゲーション、ビデオストリーミング、顔認識、テキスト読み上げについて学ぶ。
Voice commands
- Amazon Lexを利用して、シミュレートされた書店内で自然言語のテキストと音声でロボットに指示を行う。

ここでは、Hello Worldを選択して、Launch simulation jobを押します。
55.png
赤枠内のStatusがrunningになったのを確認後、画面下に行くと、Simulation toolsが表示されます。
55.png
Gazebo
- ROSによって動作するロボットのための3Dモデルバーチャルシミュレータ
rqt
- ROS用GUI開発のためのフレームワーク
rviz
- ROSにおける3D可視化ツール
Terminal
- ターミナル

55.png

それぞれ開くと、このようなシミュレート画面が表示されます。
左上に表示されているロボットがGazeboです。

最後に、アプリケーションを引き続き使用しない場合は、アプリケーションおよび実行環境を削除します。
AWS RobomakerはAWS上の様々なサービスと連携して動作するため、アプリケーション以外の削除も必要になります。

  • RoboMaker上でのアプリケーション削除
  • S3のバケットを削除
  • CloudFormationのスタックを削除
  • IAMロールの削除
  • Cloud9の環境を削除

以上が、Hello World サンプルの実行でした。

(補足)Cloud9上での環境構築

実際の開発を行う際はDevelopment environmentsからCloud9上で環境構築を行います。
AWS上のサービスから「AWS RoboMaker」にアクセスします。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3239393435352f37333662613264632d663436612d333838372d323862372d3930623362396536633937622e706e67.png

アクセスすると以下のような画面が表示されるので、Development environments → Create simulation jobをクリックします。
1.png

開発環境の設定画面が出るので、任意の名前・インスタンス・VPC・Subsetsを指定します。インスタンスはデフォルトでm4.largeが設定されているので、それ以外のものを設定します。IAM roleは固定されており、変更ができないようになっています。
1.png

設定後、CreateでCloud9上で開発環境が構築されます。
右上のOpen environmentでCloud9が開かれます。
1.png

このような画面になります。

2.png
上記の画面からサンプルの実行および、GitHubリポジトリからファイルをインポートする事でも実行が可能です。

AWS Roboticsからは以下がサンプルとして公開されています。

aws-robomaker-sample-application-objecttracker
aws-robomaker-sample-application-voiceinteraction
aws-robomaker-sample-application-cloudwatch
aws-robomaker-sample-application-helloworld
aws-robomaker-sample-application-persondetection
aws-robomaker-sample-application-deepracer

まとめ

クラウド上で簡単にROSベースのロボットアプリケーションの開発が行える、RoboMakerの紹介でした。実際に開発するとなると、それなりの知識が必要になり、またシミュレーションの動作も安定しているとは言えないので、これから伸びていくサービスだと思います。
サンプルだけの実行であれば、数分で完了します。AWSアカウントをお持ちの方はぜひ試してみてください。

参考

AWS RoboMaker
https://aws.amazon.com/jp/robomaker/
ROS公式ドキュメント
http://wiki.ros.org/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away