【技術調査】AWS RoboMakerについてサクッと調べてみた

いつも記事を読んでいただきありがとうございます！
モブエンジニア（[@mob-engineer](https://qiita.com/mob_engineer))です！

AWSコンソールを眺めていたら、興味深いサービス（AWS RoboMaker）を見つけたので、知識キャッチアップの一環で記事を執筆しました。

初学者でもサクッと読めるように平易な表現で執筆しておりますので、お気軽に読んでいただければ幸いです。

:::note info
個人向けサービスではないためハンズオンは特にございません。
:::

:::note warn
本サービスは2025年09月10日でサービス終了します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/937db024-38c6-bda8-af59-51373e445523.png)

https://aws.amazon.com/jp/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/
:::

# 目次
- AWS RoboMaker
    - 概要
    - 利用可能リージョン
    - 利用料金
- コンソール画面
- まとめ

## AWS RoboMaker

サービストップページを見ると以下の通り示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/14de86cf-dc50-251a-2cb0-6e311432ca94.png)

>AWS RoboMaker は、インフラストラクチャを管理することなくロボティクス開発者がシミュレーションを実行、スケール、自動化できるクラウドベースのシミュレーションサービスです。

ざっくり言えば、**ロボティクス技術を活用している工場向けのサービス**と言った印象を持ちました。

### 概要

公式ドキュメントを見ると以下の通り説明されていました。

#### 公式ドキュメント

https://docs.aws.amazon.com/ja_jp/robomaker/latest/dg/chapter-welcome.html

>AWS RoboMaker は、ロボティクス開発者がインフラストラクチャを管理せずにシミュレーションを実行、スケーリング、自動化するために使用するクラウドベースのシミュレーションサービスです。AWS RoboMaker を使用すると、ロボット開発者はシミュレーションワークロードを費用対効果の高い方法でスケーリングおよび自動化したり、1 回の API 呼び出しで大規模かつ並列のシミュレーションを実行したり、ユーザー定義のランダム化された 3D 仮想環境を作成したりすることができます。シミュレーションサービスを使用すると、アプリケーションのテストを加速し、定義したテンプレートから数百の新しいワールドを作成できます。

イメージとしては、**VR環境のような場所で設計したロボットの挙動を確認するためのサービス**とつかむことが出来ました。

そのうえで、**AWS RoboMaker**を利用するために押さえておく概念がいくつか示されていたのでご紹介します。

#### AWS RoboMaker概念

https://docs.aws.amazon.com/ja_jp/robomaker/latest/dg/gettingstarted-concepts.html

- コンテナ
>コンテナイメージは Amazon ECR に保存されます。コンテナは、サービスによって実行されるときにイメージから作成されます。一般的なシミュレーションではロボットオペレーティングシステム (ROS) を使用し、1 つのコンテナは Gazebo の環境をシミュレートし、もう 1 つのコンテナはロボットをシミュレートします。詳細については、Amazon ECR ユーザーガイドの「Amazon ECR とは」を参照してください。

- シミュレーションジョブ
>1 つのシミュレーションジョブで 1 つまたは 2 つのアプリケーションが実行されます。一般的なシミュレーションジョブには、ロボットアプリケーション（環境データに応答するカスタムロジック）と環境（ロボットが活動する世界のモデル）を組み合わせたものが含まれます。シミュレーションジョブは結果とメトリクスを提供します。詳細については、「AWS RoboMaker によるシミュレーション」を参照してください。

AWS RoboMaker特有の概念といえそうですね。

- Simulation WorldForge
>Simulation WorldForge を使用すると、定義したテンプレートからシミュレーションワールドをより簡単かつ迅速に生成することができます。さらに、Simulation WorldForge は、ドメインのランダム化を含む多数のシミュレーションワールドが必要となるシミュレーションワークロードを管理するのに役立ちます。詳細については、「Simulation WorldForge でのワールドの作成」を参照してください。

設計したロボットを動かす環境を意味しているように見えますね。

- 環境
>アプリケーションで、環境の設定と環境内で実行するツールを指定します。環境内で実行されるツールは、同じファイルシステム、環境変数、ネットワーキングを共有します。環境内で実行されるアプリケーションとツールには、環境内のファイルへの変更が反映され、環境は使用可能なツールを提供する必要があります。環境にコンテナイメージを提供する必要があります。詳細については、「イメージを使用した AWS RoboMaker アプリケーションの開発」を参照してください。

コンテナ利用時の環境変数を示しているように見えますね。

- アプリケーション
>シミュレーションジョブを作成する前に、AWS RoboMaker でロボットアプリケーションまたはシミュレーションアプリケーションを作成する必要があります。ロボットアプリケーションには、ナビゲーションと認識のためのロボットコードが含まれています。シミュレーションアプリケーションには、環境をシミュレートするのに必要なすべてのアセットとロジックが含まれています。AWS RoboMaker では、ロボットアプリケーションとシミュレーションアプリケーションの複数のバージョンの作成をサポートしています。詳細については、「バージョニングアプリケーション」を参照してください。

シミュレーションを行うために必要なアプリケーションを意味しているのかなぁと思いました。

説明だけ見ると、**VR世界の歩き方**と似ている印象を持ちました。

:::note info
サービスサイトの**リソース**にイメージ画像がまとめられていたのでわかりやすいかと思います。
https://aws.amazon.com/jp/robomaker/resources/
:::

### 利用可能リージョン

コンソール上で選択可能なリージョンとして以下の通りでした。
- 米国東部（バージニア北部）
- 米国東部（オハイオ）
- 米国西部（オレゴン）
- アジアパシフィック（シンガポール）
- アジアパシフィック（東京）
- 欧州（フランクフルト）
- 欧州（アイルランド）

### 利用料金

各リージョンの利用料金についてサービスサイトにまとめられていました。

https://aws.amazon.com/jp/robomaker/pricing/

#### バージニア北部

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/f6c6408a-8e5e-324d-8f5d-6923ec7b9a47.png)

#### オハイオ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/3c6668b4-b8e0-be16-38d4-dac948d5bd79.png)

#### オレゴン

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/5f4037b5-35c0-f0bb-d630-8ba3bb493051.png)

:::note info
料金を見てみるとGovCloudでも利用可能な用ですね。（機能に関しては少し少ないですが）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/6118b9a8-bde9-cff2-7ceb-15bbd14c59a1.png)
:::

#### シンガポール

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/da90ff6a-7c7d-e539-21c2-899426e5d008.png)


#### 東京

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/a00e61a6-af9f-88dc-235f-3ed74937af3f.png)

他リージョンと比べて、東京リージョンの方が高くつく感じですね。

#### フランクフルト

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/14b0392e-60ab-624f-d701-3b586f607e3a.png)


#### アイルランド

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/51d92d1f-5df6-bced-d600-69b0ba948e7f.png)


無料利用枠があるといえ、他サービスと比べて割高な印象を持ちました。
（個人利用は難しい印象を持ちました）

## コンソール画面

コンソール画面は以下の通りでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/7b40b83c-28b2-e62d-98f1-d368390f22ca.png)

**アクセス権限がありません**と言ったメッセージが表示されています。
もしかしたら、サービス終了するため、新規ユーザの利用は出来ないのかもしれません。

## まとめ

ざっくりですが、AWS RoboMakerについてまとめてみました。
今後終了予定のサービスのため、ビジネス視点での活用は難しいかと思いますが、
**アーキテクチャの考え方**は活用できるかと思いますので、キャッチしておくと良いのかなぁと思いました。

## 参考ブログ

https://qiita.com/namiwavess/items/56ed68aaea4afed89640

https://aws.amazon.com/jp/blogs/news/utilizing-aws-services-to-quickly-build-solutions-for-robotics-use-cases/

最後まで読んでいただきありがとうございました。