AWS初心者がAWS RoboMaker触ってみた!

この記事は、大変遅ればせながらAWS初心者 Advent Calendar 2018(https://qiita.com/advent-calendar/2018/aws_beginner )の21日目の記事です。

# AWS RoboMakerって？
**AWS re:Invent 2018　**で発表された新サービス。
>知能ロボット工学アプリケーションを大規模かつ簡単に開発、テスト、デプロイできるサービス
(公式サイトより引用:https://aws.amazon.com/jp/robomaker/)

簡単に言うと、仮想のロボットを操作し、シュミレートすることが出来るというもの。
自分だけのロボットをシュミレート出来るなんて夢が広がリング！ってことでやってみました。(ところで夢が広がリングって死語ですか？)

# 参考
クラメソさんのこちらのブログを参考にさせていただきました。ありがとうございます。
https://dev.classmethod.jp/cloud/aws/aws-robomaker-helloworld-reinvent2018/

#　以下、手順

まず、コンソールからAWS RoboMakerに遷移します。
以前はマネージドコンソールからは遷移出来なかったそうですが、今は出来るようになっていました。
![スクリーンショット 2019-01-07 23.20.41.png](https://qiita-image-store.s3.amazonaws.com/0/123008/bfb4314d-20b4-9adc-5f0f-749fe074eb4d.png)
現在、リージョンは[バージニア北部][オレゴン][アイルランド]の３つが選択できます。今回はバージニア北部にしてみました。
次に、[Try sample application]を押下します。
![スクリーンショット_2019-01-07_22_08_55.png](https://qiita-image-store.s3.amazonaws.com/0/123008/e0a617ad-2605-b3de-a21b-ec2322890345.png)
今回は一番上の[Hello World]を選択しました。まだ日本語訳版は出ていないみたいなので、ブラウザの翻訳機能で日本語にしています。
![スクリーンショット_2019-01-07_22_09_42.png](https://qiita-image-store.s3.amazonaws.com/0/123008/3b8fea37-c75e-faa9-cbc7-6805fc5012ee.png)
注意書きを読んで、[シミュレーションジョブを起動]を押下します。
注意書きに書かれている通り、起動してから１時間経過するとシュミレータは自動で停止します。
![スクリーンショット_2019-01-07_22_09_58.png](https://qiita-image-store.s3.amazonaws.com/0/123008/0fb550a4-7e97-a1fe-6f9a-788522716414.png)
画面上部に進捗が表示されるので、そのまま待ちましょう。
![スクリーンショット_2019-01-07_18_11_28.png](https://qiita-image-store.s3.amazonaws.com/0/123008/f4677ae2-ab01-20a7-93d3-7e3b0c2b9d30.png)
そのまま待ち続けていると、自動で画面が遷移します。
状態が[running]になるまで待ちましょう。ちなみにこの部分は１時間経つと[complete]に変わり、シミュレータはストップします。
![スクリーンショット_2019-01-07_18_13_16.png](https://qiita-image-store.s3.amazonaws.com/0/123008/591b6341-4683-63c3-2c47-3a5658360deb.png)
こんな感じで1時間経つと[completed]に変わります。ちなみにsimulation jobsを消す方法が探しても見つからないんですが、これは消えないんですかね？ログみたいなものなのだろうか…？
![スクリーンショット_2019-01-07_21_44_49.png](https://qiita-image-store.s3.amazonaws.com/0/123008/3a4d885d-fe41-5b22-b371-5458a9124f97.png)
そうこうしている内にStatusが[running]に変わりました！
早速Simulation toolsを使ってみます！
![スクリーンショット_2019-01-07_22_16_46.png](https://qiita-image-store.s3.amazonaws.com/0/123008/0bb6fa36-a284-6e67-fa52-abe57b33c78c.png)
Simulation Toolsは全部で**[Gazebo]**と**[rqt]**と**[rviz]**と**[Terminal]**の4つです。
今回はGazeboとrqtを試してみました。
まず、Gazeboのアイコンを押下します。別窓でGazeboが起き上がってきます。
Gazeboというのは、GUIで触れるロボットの3Dシミュレータらしいです。
以下の画像がデフォルトの状態です。中央のロボットがゆっくり時計回りで回っています。
![スクリーンショット_2019-01-07_22_17_55.png](https://qiita-image-store.s3.amazonaws.com/0/123008/390811eb-293d-6b33-58ed-2fc3987076ae.png)
[Insert]で色々な部品を追加することが出来ます。ただし、調子に乗って色々追加すると、かなり重たくなって動作しづらくなります。。。
大きさや場所の移動も出来ました！
ちなみにロボットの進行場所にオブジェクトを置くと、ロボットがちょっとずれたりします。物理演算もちゃんとしてるみたいです！
![https___qiita-image-store_s3_amazonaws_com_0_123008_54773b62-a414-ac96-f121-870ba25f3881.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123008/0cb99d4a-6110-82e6-37ad-376d741a4789.jpeg)

↑これは出し過ぎ
次に、rqtを使います。rqtの使い方は手探りで調べたので、間違ってたらすみません。。。
![スクリーンショット_2019-01-07_22_16_46.png](https://qiita-image-store.s3.amazonaws.com/0/123008/0157ca3c-9459-e90c-ea6b-2caa33c227a3.png)
[Plugins]>[Robot Tools]>[Robot Steering]を押下します。
![スクリーンショット_2019-01-07_22_37_50.png](https://qiita-image-store.s3.amazonaws.com/0/123008/45aa3ba9-11c8-6223-f4ba-1e37a9bf2d2a.png)
これでラジコンのように操作出来ました！
![スクリーンショット_2019-01-07_22_38_23.png](https://qiita-image-store.s3.amazonaws.com/0/123008/b2634f3f-99f0-c9a5-f547-88c692f4c566.png)
わーい！！！！
……と思っていたら、ロボットがどこかへ行ってしまいました。
回収も出来なかったので、ここで終了したいと思います。。。。
![スクリーンショット_2019-01-07_22_53_18.png](https://qiita-image-store.s3.amazonaws.com/0/123008/aa876243-deb8-0f20-4116-eb0f652e05ee.png)

# お片づけ
クラメソさんの記事を参考にお片づけしました！各自手動で消す必要があるようです。
- Iam Role
- S3 bucket
- CloudFormation
- Cloud9(ただ、自分の環境ではいつの間にか消えていた…？)

# 最後に
あやふやになってしまいましたが、以上AWS初心者がAWS RoboMaker触ってみた！でした。
追記：simulation jobsからcompletedになったjobを消す方法を知っている方がいらっしゃれば教えてください😭