AWS RoboMaker は、新規のお客様にはご利用いただけなくなりました。AWS RoboMaker の既存のお客様は、AWS RoboMaker のサポートが終了する 2025 年 9 月 10 日までサービスをご利用いただけます。このブログは、AWS RoboMaker からの移行に役立ちます。
シミュレーション
Q: AWS RoboMaker Simulation とは何ですか?
A: AWS RoboMaker Simulation は、インフラストラクチャのプロビジョニングや管理を行わずにシミュレーションワールドを簡単に作成してシミュレーションジョブを実行できる、フルマネージドサービスです。
Q: RoboMaker Simulation ではどのようなことができますか?
A: RoboMaker Simulation にはユースケースがいくつもあります。RoboMaker Simulation を使用して、ロボット工学アプリケーションのテストを自動化し、反復的な開発をスピードアップできます。これを使用して、アルゴリズム開発用の合成画像または LIDAR データを生成できます。RoboMaker Simulation を使用して、強化学習を用いた機械学習モデルのトレーニングを行うこともできます。
Q: RoboMaker Simulation には主にどのような機能がありますか?
A: RoboMaker Simulation は、フルマネージドコンピューティングインフラストラクチャを提供し、あらゆる規模でシミュレーションを実行できます。RoboMaker Simulation WorldForge を使用すると、エンジニアリングへの投資や世界規模の生成インフラストラクチャの管理を行うことなく、現実世界の状況をレプリケートした数百の事前定義されたランダム化シミュレーションワールドを自動的に作成できます。
Q: RoboMaker Simulation 実行はどのようなシミュレーションエンジンをサポートしていますか?
A: RoboMaker Simulation は、お客様が選択されたシミュレーションエンジンに対応しています。コンテナベースのシミュレーションアプリケーションを RoboMaker に接続することで、インフラストラクチャのプロビジョニングや設定、管理をすることなくシミュレーションを実行することができます。本サービスでは、WorldForge による Gazebo 互換のワールド形式でのシミュレーションワールド作成をサポートしています。
Q: RoboMaker のロボットアプリケーションとは?
A: RoboMaker のロボットアプリケーションは、物理ロボット上で実行するロボットミドルウェア (ROS など) ベースのアプリケーションを指します。RoboMaker Simulation を使用するには、ロボットアプリケーションのソースコードを X86 アーキテクチャに構築する必要があります。
Q: RoboMaker のシミュレーションアプリケーションとは何ですか?
A: シミュレーションアプリケーションには、3D シミュレーションワールドと、シミュレーションワールドにおけるロボットの動きを制御するシミュレータープラグインがあります。ロボットアプリケーションと同様、RoboMaker Simulation を使用するには、シミュレーションアプリケーションのソースコードを X86 アーキテクチャに構築する必要があります。
Q: RoboMaker Simulation 実行を開始するにはどうすればよいですか?
A: RoboMaker Simulation 実行を開始するには、ロボットアプリケーションやシミュレーションアプリケーションを作成します。アプリケーションは、Amazon S3 バケットに保存されているコードにリンクします。次に、シミュレーションジョブを作成して、RoboMaker のフルマネージドインフラストラクチャでシミュレーションアプリケーションとロボットアプリケーションを実行できます。
Q: シミュレーションジョブとは?
A: シミュレーションジョブは、RoboMaker Simulation 実行のメインサービスリソースです。RoboMaker でシミュレーションワークロードを実行するには、コンピューティングインフラストラクチャを自動的にプロビジョニングして管理するシミュレーションジョブを作成します。シミュレーションジョブの作成の詳細については、ドキュメントをご覧ください。
Q: シミュレーションジョブバッチとは?
A: シミュレーションジョブバッチは、シミュレーションジョブリクエストの集合です。AWS RoboMaker の API を使用して、新しいシミュレーションジョブバッチを作成できます。シミュレーションジョブバッチにより、1 つの API 呼び出しで複数のシミュレーションジョブリクエストを送信でき、送信されたすべてのリクエストにキュー機能を提供します。
Q: ロボットアプリケーションとシミュレーションアプリケーションを構築するには、どのツールを使用しますか?
A: すでに使い慣れたコンテナツールを使って、コードを構築し、OCI (Open Container Initiative) に準拠しているイメージにパッケージ化して、ECR (Amazon Elastic Conatiner Registry) に保存することができます。そのイメージを使って、RoboMaker ロボットアプリケーションやシミュレーションアプリケーションを作ることができます。
Q: アプリケーションのバージョニングとは何ですか?
A: RoboMaker にはロボットアプリケーションとシミュレーションアプリケーションのバージョニング機能があり、ロボットならびにシミュレーションでどのバージョンを実装するかを管理できます。バージョンとは、開発ワークフローのさまざまな部分 (開発段階、ベータのデプロイメント、本番稼働など) のために作成できる、ロボットアプリケーションまたはシミュレーションアプリケーションの番号付きスナップショットです。
Q: ロボットアプリケーションまたはシミュレーションアプリケーションの特定のバージョンを削除できますか?
A: はい、アプリケーションの特定のバージョンまたはすべてのバージョンを削除できます。
Q: RoboMaker には作成したロボットアプリケーションとシミュレーションアプリケーションが保存されますか?
A: いいえ、RoboMaker は作成したロボットアプリケーションやシミュレーションアプリケーションをサービスに保存しません。アプリケーションを S3 バケットにアップロードし、ロボットアプリケーションおよびシミュレーションアプリケーションの作成時にその S3 オブジェクトパスを参照します。
Q: シミュレーションジョブの失敗動作とは何ですか?
A: シミュレーションジョブの失敗動作は、中断または続行するように設定できます。中断モードでは、ジョブの実行中に障害が発生すると、そのジョブは中断され、基礎となるインフラストラクチャは解放されます。継続モードでは、ジョブの実行中に障害が発生しても、そのジョブは中断されますが、基礎となるインフラストラクチャは維持されます。継続モードでは、コマンドラインツールを使用して、さらにシミュレーションジョブの障害についてトラブルシューティングを実行できます。継続モードでは、RoboMaker Simulation の料金は、ジョブを終了するまで発生し続けます。
Q: シミュレーションジョブはいつ再開されますか?
A: シミュレーションジョブの再開は、迅速な反復開発に活用できます。シミュレーションジョブの再開は、シミュレーションジョブの新規作成よりも高速です。これは、バックグラウンドでリソースのプロビジョニングと設定を行う必要がないためです。ロボットアプリケーションの開発段階では、シミュレーションジョブの再開機能を使用して、コード変更を繰り返しながら迅速にコードをテストできます。
Q: シミュレーションジョブの再開は、シミュレーションジョブのクローン作成とどのように異なりますか?
A: シミュレーションジョブの再開は迅速な反復テストのために使用されるもので、更新されたシミュレーションジョブは、RoboMaker によってプロビジョニングおよび管理される同一のインフラストラクチャリソース上で実行されます。シミュレーションジョブのクローン作成では、既存のジョブと同じ構成を使用して新しいジョブが作成されます。これによりバックグラウンドでインフラストラクチャリソースのプロビジョニングと構成が実行され、この処理に数分かかる場合があります。
Q: シミュレーションジョブで AWS Identity and Access Management (IAM) ロールを指定する必要があるのはなぜですか?
A: IAM ロールによって、RoboMaker Simulation にシミュレーションジョブで指定したリソースへのアクセスを提供します。たとえば、RoboMaker がシミュレーションログを書き込むための S3 バケットです。
Q: シミュレーション期間とは何ですか?
A: シミュレーション期間は、シミュレーションジョブが終了するまでの時間です。この期間は、ウォールクロック時間とシミュレーション時間に基づいています。
Q: シミュレーションジョブはリアルタイムで実行されますか?
A: RoboMaker Simulation は、シミュレーションジョブをできるだけ速く実行します。Gazebo ワールドの設定で [リアルタイム更新率] と[最大ステップサイズ] の設定を使って、シミュレーションジョブの実行速度を制御することもできます。詳細については、料金ページをご覧ください。
Q: RoboMaker Simulation の請求方法を教えてください。
A: 生成およびエクスポートしたシミュレーションワールドの数に基づいて、シミュレーション WorldForge に対して課金されます。 シミュレーションジョブの期間とシミュレーションジョブで使用する CPU/メモリリソースに基づいて、シミュレーション実行に対して請求されます。詳細については、料金ページをご覧ください。
Q: RoboMaker Simulation 実行は、ウォールクロック時間またはシミュレーション時間のどちらに基づいて課金されますか?
A: シミュレーションジョブは、リアルタイム、またはリアルタイムより高速や低速で実行できます。RoboMaker Simulation はウォールクロック時間に基づいて課金されるため、シミュレーション時間の速度は課金方法に影響しません。詳細については、料金ページをご覧ください。
Simulation WorldForge
Q: シミュレーションワールドとは何ですか?
A: シミュレーションワールドは、家などの環境の仮想モデルです。シミュレーション実行にはシミュレーションワールドが必要です。シミュレーションワールドには、モデル化された環境のジオメトリ、ビジュアル、および物理情報が含まれます。
Q: なぜ WorldForge が必要なのですか?
A: シミュレーションワールドを構築することは困難で、コストと時間がかかる可能性があり、3D モデリングとシミュレーションエンジンの専門的なスキルも必要です。少数の企業が 1 つのシミュレーションワールドを作成する時間とリソースを持っていますが、回帰テストや強化学習などのワークロードのシミュレーションを効果的にスケーリングするのに十分な世界を構築することは、非常に困難で多大なコストがかかります。
RoboMaker WorldForge を使用すると、エンジニアリングへの投資、特殊な設計スキルや世界規模の生成インフラストラクチャの管理を行うことなく、現実世界の状況をレプリケートした数百の事前定義されたランダム化シミュレーションワールドを自動的に作成できます。
Q: シミュレーション WorldForge を開始するにはどうすればよいですか?
A: 最初から、または RoboMaker が提供するサンプルテンプレートの 1 つからワールドテンプレートを作成することにより、シミュレーション WorldForge を開始できます。ワールドテンプレートを使用すると、ワールド生成ジョブを作成して、1 つ以上のシミュレーションワールドを生成できます。 生成された世界を RoboMaker Simulation のジョブやローカル環境で使用するには、ワールドエクスポートジョブを作成します。ワールドエクスポートジョブは、指定された世界を ROS パッケージとして.zip 形式で Simple Storage Service (Amazon S3) バケットにエクスポートします。
Q: シミュレーションワールドテンプレートとは?
A: シミュレーションワールドテンプレートは、シミュレーションワールドの仕様を定義します。たとえば、世界テンプレートでフロアプラン、部屋、家具を定義して、屋内の住宅世界のセットを生成できます。ワールドテンプレートは、1 つのシミュレーションワールドを正確に定義するものではありません。ワールドテンプレートはむしろ、ランダムな部屋のサイズや家具などの特定のランダム性を持つ複数のシミュレーションワールドを生成できます。ワールドテンプレートの仕様は、そのようなランダム性の境界を定義します。
Q: ワールド生成ジョブとは?
A: ワールド生成ジョブは、ワールドテンプレートから 1 つ以上のシミュレーションワールドを生成します。ワールド生成ジョブを作成するとき、2 つの次元 (フロアプランとインテリア) にまたがる世界のバリエーションの数を指定できます。たとえば、フロアプランごとに 2 つの内部バリエーションを持つ 2 つのフロアプランでは、4 (2 * 2) つの固有の世界が生成されます。
Q: ワールドエクスポートジョブとは?
A: ワールドエクスポートジョブは、生成された世界を ROS パッケージとして、.zip 形式で Simple Storage Service (Amazon S3) バケットにエクスポートします。生成された世界をローカル環境で使用したり、生成された世界を RoboMaker Simulation で実行する必要がある場合は、ワールドエクスポートジョブを作成します。