シミュレーションの管理 - AWS RoboMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

シミュレーションの管理

以下のセクションでは、シミュレーションジョブの作成、表示、キャンセル、複製、再起動を行う方法を説明します。

シミュレーションジョブの作成

任意のシミュレーションプラットフォームを使用して仮想世界でロボットアプリケーションを実行する場合は、シミュレーションジョブを作成します。シミュレーションアプリケーションを指定するときに、ソフトウェアスイート名を選択します。現在、[全般] と [シミュレーションランタイム] のソフトウェアスイートがサポートされています。

シミュレーションジョブを作成するには

以下のいずれかのタブのステップに従ってください。

Using the console
  1. AWS RoboMaker コンソール (https://console.aws.amazon.com/robomaker/) にサインインします。

  2. 左側のナビゲーションペインで、[Simulation run] (シミュレーション実行)、[Simulation jobs] (シミュレーションジョブ) の順に選択します。

  3. [Create simulation job] (シミュレーションジョブの作成) を選択します。

  4. [Simulation configuration] (シミュレーション設定) ページで、[simulation job duration] (シミュレーションジョブの期間) を選択します。5 分から 14 日までの値を選択します。

    重要

    AWS RoboMaker の料金の詳細については、「AWS RoboMaker 料金表」を参照してください。

  5. [Failure behavior] (失敗の動作) を選択します。シミュレーションジョブが失敗した場合にホストインスタンスを終了するには、[失敗] を選択します。ホストインスタンスを保持し、接続および調査できるようにするには、[続行] を選択します。

    以下でオプションの S3 フォルダを指定した場合は、このフォルダにシミュレーションデータが格納されます。このフォルダは、選択した失敗の動作に関係なしに利用できます。

  6. [IAM ロール] でロールを選択するか、[ロールの新規作成] を選択してロールを作成します。AWS RoboMaker では、このロールを使用して自動的にリソースにアクセスします。このロールは、アプリケーションで Amazon Rekognition や Amazon Lex などの AWS リソースにアクセスする場合にも使用します。

  7. オプション: [Compute] (コンピューティング) で、シミュレーション単位制限を選択します。シミュレーションには、指定されたシミュレーション単位制限に比例して CPU とメモリが割り当てられます。シミュレーション単位は 1 vcpu と 2 GB のメモリです。デフォルト値は 15 です。

  8. オプション:[出力先] に、シミュレーションジョブ出力の保存先となる Amazon S3 フォルダの名前を入力します。必要に応じて、[Create new S3 folder] (S3 フォルダの新規作成) を選択して新しい Amazon S3 フォルダを作成します。

  9. オプション: ロボットアプリケーションまたはシミュレーションアプリケーションが Amazon VPC でリソースにアクセスする場合は、[Networking] (ネットワーク) で、VPC、サブネット、セキュリティグループを選択します。使用可能なすべてのサブネットを選択して、すべてのリソース制限が使用可能であることを確認します。詳細については、「VPC とサブネット」を参照してください。

    VPC 外からシミュレーションジョブにアクセスする場合は、[Assign public IP] (パブリック IP の割り当て) を選択します。

  10. 必要に応じて、[Tags] (タグ) で、シミュレーションジョブ用に 1 つ以上のタグを指定します。タグとは、AWS リソースを識別および整理するためのメタデータとして使用される単語やフレーズのことです。各タグは、キーと値から構成されます。シミュレーションジョブのタグは、[Simulation Job details] (シミュレーションジョブの詳細) ページで管理できます。

    タグ付けの詳細については、「AWS Billing and Cost Management」の「コスト配分タグの使用」を参照してください。

  11. [Next] (次へ) を選択します。

  12. [Specify robot application] (ロボットアプリケーションの指定) ページで、[Robot application] (ロボットアプリケーション) の [Create new application] (アプリケーションの新規作成) を選択します。必要に応じて、[Choose existing application] (既存のアプリケーションの選択) を選択し、作成済みのロボットアプリケーションを使用します。

  13. ロボットアプリケーションの名前を入力します。

  14. [コンテナイメージ] で、ロボットアプリケーションコンテナの Amazon ECR リポジトリの場所を指定します。詳細については、「AWS RoboMaker 互換コンテナ要件」を参照してください。

    注記

    $LATEST を使用しても Amazon ECR の変更からユーザーは保護されません。AWS RoboMaker リポジトリにアクセスすると、読み取り専用に設定されます。

    バージョニングの詳細については、バージョニングアプリケーション を参照してください。

  15. [ロボットアプリケーション設定] で、ロボットアプリケーションの [起動コマンド] を指定します。

  16. オプション: ロボットアプリケーションツールを設定するには、[Robot application tools] (ロボットアプリケーションツール) を展開します。[Use default tools] (デフォルトツールを使用する) を選択して既定のツールを使用します。[ツールをカスタマイズする] を選択して、アプリケーションで使用するためのカスタムツールの追加、削除または編集を行います。

    新しいカスタムツールを追加する方法

    1. [Add tool] (ツールの追加) を選択します。

    2. [Add application tool] (アプリケーションツールの追加) で、[Tool name] (ツール名) を指定します。

    3. ツールのコマンドライン引数を指定します。実行可能ツール名を含める必要があります。

    4. [Exit behavior] (終了動作) を選択します。[失敗] を選択すると、ツール終了時にシミュレーションジョブが失敗します。[Restart] (再起動) を選択してツールを再起動します。デフォルトは [Restart] (再起動) です。

    5. UI ストリーミングの有効化または無効化を選択します。UI ストリーミングはデフォルトで無効になっています。

    6. ツールのログを記録する場合は [Send output to CloudWatch] (CloudWatch に出力を送信) を選択します。CloudWatch でそのログを利用できるようになります。デフォルトでは、出力は CloudWatch に送信されません。カスタムツールは、メインの ROS 起動プロセスの開始後にのみ起動されます。

  17. オプション: アプリケーションにグラフィカルユーザーインターフェイスが含まれている場合は、[ストリーミングセッションで実行] を選択します。AWS RoboMaker は、シミュレーションの実行中にアプリケーションを操作できるように接続を設定します。[simulation job detail] (シミュレーションジョブの詳細) ページの [Simulation tools] (シミュレーションツール) で [Robot Application] (ロボットアプリケーション) を選択すると接続できます。

  18. オプション: ロボットアプリケーションで環境変数を使用する場合は、[Name] (名前) と [Value] (値) のペアを指定します。環境変数名は、A~Z またはアンダースコアで始まり、A~Z、0~9、アンダースコアで構成される必要があります。AWS で始まる名前は予約されています。

    他の変数を追加するには、[Add environment variable] (環境変数の追加) を選択します。

    起動ファイル内の環境変数は、roslaunch の 代入引数を使用して読み取ることができます。

  19. オプション: シミュレーションジョブポートからアプリケーションポートへのトラフィック転送を選択します。ロボットアプリケーションとシミュレーションアプリケーションのポートマッピングを指定するには、シミュレーションジョブネットワークを設定する必要があります。

  20. オプション: [Robot application upload configurations] (ロボットアプリケーションのアップロード設定) を 1 つ以上指定します。アップロード設定を指定するには、シミュレーションジョブの出力先を設定する必要があります。各設定で、アップロード動作、Unix glob ファイル一致ルール、および一致するファイルの配置場所を指定します。カスタムアップロードの詳細については、「カスタムアップロード設定の追加」を参照してください。

  21. [Next] (次へ) をクリックします。

  22. [Specify simulation application] (シミュレーションアプリケーションの指定) ページで、[Create new application] (アプリケーションの新規作成) を選択します。必要に応じて、[既存のアプリケーションの選択] を選択し、作成済みのシミュレーションアプリケーションを使用します。

  23. シミュレーションアプリケーションの名前を入力します。

  24. [コンテナイメージ] で、ロボットアプリケーションコンテナの Amazon ECR リポジトリの場所を指定します。詳細については、「」を参照してください。$LATEST を使用しても Amazon ECR の変更からユーザーは保護されません。AWS RoboMaker がリポジトリにアクセスすると、リポジトリは読み取り専用に設定されます。

    バージョニングの詳細については、バージョニングアプリケーション を参照してください。

  25. [シミュレーションアプリケーションの構成] で、ロボットアプリケーションの [起動コマンド] を指定します。

  26. オプション: ロボットアプリケーションツールを設定するには、[Simulation application tools] (シミュレーションアプリケーションツール) を展開します。[Use default tools] (デフォルトツールを使用する) を選択して既定のツールを使用します。[ツールをカスタマイズする] を選択して、アプリケーションで使用するためのカスタムツールの追加、削除または編集を行います。

    新しいカスタムツールを追加する方法

    1. [Add tool] (ツールの追加) を選択します。

    2. [Add application tool] (アプリケーションツールの追加) で、[Tool name] (ツール名) を指定します。

    3. ツールのコマンドライン引数を指定します。実行可能ツール名を含める必要があります。

    4. [Exit behavior] (終了動作) を選択します。[失敗] を選択すると、ツール終了時にシミュレーションジョブが失敗します。[Restart] (再起動) を選択してツールを再起動します。デフォルトは [Restart] (再起動) です。

    5. UI ストリーミングの有効化または無効化を選択します。UI ストリーミングはデフォルトで無効になっています。

    6. ツールのログを記録する場合は [Send output to CloudWatch] (CloudWatch に出力を送信) を選択します。CloudWatch でそのログを利用できるようになります。デフォルトでは、出力は CloudWatch に送信されません。

    カスタムツールは、メインの起動プロセスの開始後にのみ起動されます。

  27. オプション: アプリケーションにグラフィカルユーザーインターフェイスが含まれている場合は、[ストリーミングセッションで実行] を選択します。AWS RoboMaker は、シミュレーションの実行中にアプリケーションを操作できるように接続を設定します。[simulation job detail] (シミュレーションジョブの詳細) ページの [Simulation tools] (シミュレーションツール) で [Simulation Application] (シミュレーションアプリケーション) を選択すると接続できます。

  28. オプション: シミュレーションアプリケーションで環境変数を使用する場合は、[Name] (名前) と [Value] (値) のペアを指定します。他の変数を追加するには、[Add environment variable] (環境変数の追加) を選択します。

  29. オプション: シミュレーションジョブポートからアプリケーションポートへのトラフィック転送を選択します。ロボットアプリケーションとシミュレーションアプリケーションのポートマッピングを指定するには、シミュレーションジョブネットワークを設定する必要があります。

  30. オプション: [Simulation application upload configurations] (シミュレーションアプリケーションのアップロード設定) を 1 つ以上指定します。アップロード設定を指定するには、シミュレーションジョブの出力先を設定する必要があります。各設定で、アップロード動作、Unix glob ファイル一致ルール、および一致するファイルの配置場所を指定します。

    デフォルトのアップロード設定では、過去のシミュレーションジョブの出力設定との下位互換性が維持されます。デフォルト設定は、作成した追加のアップロード設定に追加されます。カスタムアップロードの詳細については、「カスタムアップロード設定の追加」を参照してください。

  31. [Next] (次へ) をクリックします。

  32. [Create] (作成) を選択してシミュレーションジョブを作成します。

Using the AWS CLI

別のタブの、コンソールを使用した「シミュレーションジョブの作成」と同じ処理を AWS CLI コマンドで実行する例は次のとおりです。

aws robomaker create-simulation-job --max-job-duration-in-seconds 3600 --iam-role arn:aws:iam::111111111111:role/MyRole --robot-applications application=arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821,launchConfig="{command=["roslaunch", "hello_world_robot", "rotate.launch"]}" --simulation-applications application=arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605,launchConfig="{command=["roslaunch", "hello_world_simulation", "empty_world.launch"]}" --tags Region=North

シミュレーションジョブの表示

シミュレーションジョブに関する情報を表示できます。ジョブが実行中である場合は、グラフィカルツールまたはターミナルを起動してシミュレーションを操作できます。シミュレーションジョブの詳細を表示し、タグを管理することもできます。

シミュレーションジョブの表示

以下のいずれかのタブのステップに従ってください。

Using the console
  1. AWS RoboMaker コンソール (https://console.aws.amazon.com/robomaker/) にサインインします。

  2. 左側のナビゲーションペインで、[Simulations] (シミュレーション)、[Simulation jobs] (シミュレーションジョブ) の順に選択します。

  3. シミュレーションジョブの [Id] を選択し、ジョブの作成日時やロボットアプリケーション/シミュレーションアプリケーションの起動コマンドなどの詳細を表示します。

Using the AWS CLI

別のタブの、コンソールを使用した「シミュレーションジョブの表示」と同じ処理を AWS CLI コマンドで実行する例は次のとおりです。

aws robomaker list-simulation-jobs aws robomaker describe-simulation-job --job my-simulation-job-arn

シミュレーションジョブのキャンセル

実行中のシミュレーションジョブが不要になった場合は、キャンセルできます。

シミュレーションジョブをキャンセルするには

以下のいずれかのタブのステップに従ってください。

Using the console
  1. AWS RoboMaker コンソール (https://console.aws.amazon.com/robomaker/) にサインインします。

  2. 左側のナビゲーションペインで、[Simulations] (シミュレーション)、[Simulation jobs] (シミュレーションジョブ) の順に選択します。

  3. キャンセルするシミュレーションジョブの [Id] を選択します。

  4. [Simulation job detail] (シミュレーションジョブの詳細) ページで、[Actions] (アクション) の [Cancel] (キャンセル) を選択します。

  5. [Cancel simulation job] (シミュレーションジョブのキャンセル) ページで、[Yes, cancel] (はい、キャンセルする) を選択します。

Using the AWS CLI

AWS CLI コマンドを使用して、コンソールのタブの「シミュレーションジョブのキャンセル」と同じ処理を実行する例は次のとおりです。

aws robomaker list-simulation-jobs aws robomaker cancel-simulation-job --job my-simulation-job-arn

シミュレーションジョブ内からのキャンセルについては、「ROS コンテナに関するよくある質問」を参照してください。

シミュレーションジョブのクローン

AWS Management Console で [シミュレーションジョブの詳細] ページから既存のシミュレーションジョブをクローン化すれば、既存のシミュレーションジョブから新しいシミュレーションジョブを作成できます。

注記

ROS と Gazebo ソフトウェアスイートを使用したシミュレーションジョブはクローンできません。詳細については、「サポートポリシー」を参照してください。

  1. AWS RoboMaker コンソール (https://console.aws.amazon.com/robomaker/) にサインインします。

  2. 左側のナビゲーションペインで、[Simulations] (シミュレーション)、[Simulation jobs] (シミュレーションジョブ) の順に選択します。

  3. 再起動する実行中のシミュレーションジョブの [Id] を選択します。

  4. [Simulation job detail] (シミュレーションジョブの詳細) ページで、[Actions] (アクション) の [Clone] (クローン) を選択します。

  5. [Review and create simulation job] (シミュレーションジョブの確認と作成) で、[Edit] (編集) を選択して変更を行います。

  6. [Create] (作成) を選択してシミュレーションジョブを作成します。

シミュレーションジョブの再起動

実行中のシミュレーションジョブは再起動できます。再起動したシミュレーションジョブでは、Amazon S3 の場所に格納されているロボットアプリケーションおよびシミュレーションアプリケーションのソースファイルと、シミュレーションジョブの作成時に指定した他のすべての構成設定を使用します。

シミュレーションジョブを再起動するには

以下のいずれかのタブのステップに従ってください。

Using the console
  1. AWS RoboMaker コンソール (https://console.aws.amazon.com/robomaker/) にサインインします。

  2. 左側のナビゲーションペインで、[Simulations] (シミュレーション)、[Simulation jobs] (シミュレーションジョブ) の順に選択します。

  3. 再起動する実行中のシミュレーションジョブの [Id] を選択します。

  4. [Simulation job detail] (シミュレーションジョブの詳細) ページで、[Actions] (アクション) の [Restart] (再起動) を選択します。

  5. [Restart simulation job] (シミュレーションジョブの再起動) ページで、[Yes, restart] (はい、再起動する) を選択します。

Using the AWS CLI

別のタブの、コンソールを使用した「シミュレーションジョブの再起動」と同じ処理を AWS CLI コマンドで実行する例は次のとおりです。シミュレーションジョブは実行中であることが必要です。

aws robomaker restart-simulation-job --job my-simulation-job-arn