サポート終了通知: 2025 年 9 月 10 日、 AWS は のサポートを中止します AWS RoboMaker。2025 年 9 月 10 日以降、 AWS RoboMaker コンソールまたは AWS RoboMaker リソースにアクセスできなくなります。コンテナ化されたシミュレーションの実行に役立つ AWS Batch への移行の詳細については、このブログ記事
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
シミュレーションの実行
シミュレーションの実行を開始するには、以下の AWS CLI コマンドを使用してアプリケーションを記述します。これらのコマンドには出力があるので、シミュレーションジョブの作成に進む準備ができているかどうかを確認できます。
以下のコマンドは、ロボットアプリケーションに関連するデータを取得します。
aws robomaker describe-robot-application --application
YOUR-ROBOT-APP-ARN
describe-robot-application
の出力には、以下のデータが含まれています。
{
"arn": "YOUR-ROBOT-APP-ARN
",
"name": "YOUR-ROBOT-APP-NAME
",
... # Removed extra data for clarity
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-ROBOT-APP-ECR-URI
"
}
}
以下のコマンドは、シミュレーションアプリケーションに関連するデータを取得します。
aws robomaker describe-simulation-application --application
YOUR-SIM-APP-ARN
describe-simulation-application
の出力には以下のデータが含まれます。
{
"arn": "YOUR-SIM-APP-ARN
",
"name": "YOUR-SIM-APP-NAME
",
... # Removed extra data for clarity
"simulationSoftwareSuite": {
"name": "SimulationRuntime"
},
"robotSoftwareSuite": {
"name": "General"
},
... # Removed extra data for clarity
"environment": {
"uri": "YOUR-SIM-APP-ECR-URI
"
}
}
YOUR-ROBOT-APP-ARN
および YOUR-SIM-APP-ARN
の戻り値を保存します。シミュレーションジョブの送信には、この両方の値が必要です。WorldForge のアセットをシミュレーションジョブにインポートする必要がある場合は、DataSource API を使用してください。こうすることで、ワールドのエクスポートジョブのAmazon S3 の出力ディレクトリにあるワールドアセットを、シミュレーションジョブコンテナ内の好きなインポート先へインポートすることができます。詳細については、「シミュレーションでのエクスポートしたワールドの使用」を参照してください。
シミュレーションジョブを送信するには、create_simulation_job.json
という名前の作業ディレクトリに JSON ファイルを作成します。YOUR-IAM-ROLE-ARN
、YOUR-ROBOT-APP-ARN
、YOUR-SIM-APP-ARN
を含む赤色の斜体テキストで表示されている文字列をコピーして貼り付け、編集します。以下の roslaunch
コマンド、TurtleBot
環境変数、ツール設定は、hello world サンプルアプリケーション
{ "maxJobDurationInSeconds": 3600, "iamRole": "
IAM-ROLE-ARN
", "robotApplications": [ { "application": "YOUR-ROBOT-APP-ARN
", "applicationVersion": "$LATEST", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_ROBOT_APP_IP
", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP
:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP
:11345" }, "streamUI": false, "command": [ "/bin/bash", "-c", "roslaunch hello_world_robot rotate.launch" ] }, "tools": [ { "streamUI": true, "name": "robot-terminal", "command": "/entrypoint.sh && xfce4-terminal", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ], "simulationApplications": [ { "application": "YOUR-SIM-APP-ARN
", "launchConfig": { "environmentVariables": { "ROS_IP": "ROBOMAKER_SIM_APP_IP
", "ROS_MASTER_URI": "http://ROBOMAKER_ROBOT_APP_IP
:11311", "GAZEBO_MASTER_URI": "http://ROBOMAKER_SIM_APP_IP
:11345", "TURTLEBOT3_MODEL":"waffle_pi" }, "streamUI": true, "command": [ "/bin/bash", "-c", "roslaunch hello_world_simulation empty_world.launch --wait" ] }, "tools": [ { "streamUI": true, "name": "gzclient", "command": "/entrypoint.sh && gzclient", "streamOutputToCloudWatch": true, "exitBehavior": "RESTART" } ] } ] }
注記
ロボットとシミュレーションアプリケーションの launchConfig
オブジェクトにある ROS_
と GAZEBO_
に固有の環境変数設定については、特に注意してください。ROBOMAKER_*
文字列値とポート番号は、ロボットアプリケーションコンテナがシミュレーションアプリケーションコンテナと通信できるようにするために必要なものです。
ジョブの設定を確認したら、以下のコマンドを使用してジョブを送信できます。
aws robomaker create-simulation-job --cli-input-json file://create_simulation_job.json
AWS RoboMaker でシミュレーションが実行されていることを確認するには、AWS RoboMaker コンソール